首页 > 行业资讯 >舵机
TECHNICAL SUPPORT

自动投喂器DIY教案:舵机控制从零到成品

发布时间: 2026-04-07

01自动投喂器与舵机控制教案:从零开始制作一个定时定量投喂装置

一、本教案解决什么问题?

不少人于养鱼、养宠物或者要有定时投放颗粒物料之际,会萌生出制作一个自动投喂器的想法。然而在面对舵机控制、程序编写以及机械结构设计之时,常常不知从何处着手。本教案的关键目标仅有一个:教导你运用最为常见的舵机,在两小时以内达成一个能够实际运行的自动投喂器原型

你将会学到:

舵机如何转动到指定角度来释放食物

如何用简单代码控制投喂时间和次数

如何避免食物卡死、投喂量不准等常见问题

二、你需要准备的材料清单

可在电子市场或者在线平台把以下材料购买到,本教案不推举任何品牌,仅仅给出技术规格要求。

部件 规格要求 数量 作用
舵机 角度行程180°或270°,扭矩≥2kg·cm(小型投喂器),扭矩≥5kg·cm(中型投喂器) 1个 驱动投喂拨片或转盘
控制板 支持PWM输出,如 Uno/Nano、、ESP32等 1块 发出控制信号
电源 舵机工作电压:4.8V7.4V(常见小型舵机),注意与控制板共地 1组 为舵机供电
储料容器 透明塑料瓶或亚克力圆筒,底部开孔 1个 存放颗粒饲料
投喂拨片 塑料片或金属片,固定在舵机臂上 1片 推动饲料从出口掉落
连接线 杜邦线(母对母)3条 若干 连接舵机与控制板

关键提示是,舵机的供电电流得足够,常见小型舵机空载电流大概在100至200mA,堵转的时候能达到500至800mA,建议采用5V/1A以上的电源,别从控制板的5V引脚取电去驱动舵机,不然会致使控制板重启

三、舵机控制核心原理(只讲用得上的)

3.1 舵机如何转动角度?

舵机依据接收PWM信号的高电平持续时长来判定转动角度,这属于标准规范,它适用于市面上高达99%的180°舵机

角度 高电平持续时间(周期20ms) 对应数值(以的write()函数为例)
0.5ms 0
45° 1.0ms 45
90° 1.5ms 90
135° 2.0ms 135
180° 2.5ms 180

此数据的源头是,舵机控制信号的标准来源于遥控行业的通用规范,其中PWM信号周期为20ms,脉宽在0.5ms至2.5ms之间对应着0至180°,并且该标准被、树莓派等主流开发平台直接采用。

3.2 自动投喂器的典型动作流程

一次完整的投喂动作分为三步:

1. 待机位置:舵机保持在0°(拨片不接触饲料)

2. 投喂动作:舵机从0°转到90°(拨片推动饲料从出口落下)

3. 复位动作:舵机从90°转回0°(等待下一次投喂)

关键要点在于,舵机转动速度是固定不变的,一般情况下,在0.1 0.2秒的时间内能够转动60°,所以转动90°大概是需要0.15 0.3秒的时间。在代码里面,你要给舵机充足的时间去完成转动,之后再去执行下一个指令。

四、接线与代码(可直接复制使用)

4.1 接线图(以 Uno为例)

舵机线颜色 功能 连接位置
棕色或黑色 地线(GND) 控制板GND + 电源GND
红色 电源线(VCC) 外部电源正极(5V)
橙色或黄色 信号线(PWM) 控制板数字引脚9

关键要点是,舵机的GND,一定要跟控制板的GND连接为一体,也就是处于共同接地状态,不然的话,信号就没办法正常进行传输了。

4.2 完整代码(已验证可运行)

# 
Servo ;
int  = 9;        // 信号线接引脚9
int  = 90;      // 投喂角度(根据实际结构可调60120°)
int  = 0;       // 待机角度
 long  = 0;
 long  = ;  // 24小时 = 毫秒
// 测试时建议改为60000(1分钟)或30000(30秒)
void setup() {
  .();
  .write();  // 初始位置
  delay(500);
}
void loop() {
   long  = ();
  // 到达投喂时间
  if (   >= ) {
    // 执行投喂
    .write();
    delay(500);              // 保持投喂位置0.5秒,确保饲料完全掉落
    .write();
    delay(500);
     = ;
  }
  // 其他代码可放在这里(如按键手动投喂、LED指示等)
  delay(100);
}

4.3 代码参数调节说明

参数 可调范围 调节依据
30°150° 角度越大,拨片推动行程越长。投喂量不足时增大角度,但注意不要超过舵机机械限位
delay(500) 200 停留时间越长,掉落越充分,但转动速度过快可能导致堵转电流增大
按需设定 毫秒=24小时。测试时建议设为30000(30秒)

五、机械结构制作(3种常见方案)

方案A:转盘式投喂器(推荐,最可靠)

结构方面的原理是,舵机会带动一个带有缺口的圆盘进行转动,在这个过程当中,当缺口正好对准储料桶底部的出口时,饲料就会出现掉落的情况。

制作步骤

1. 用塑料瓶盖或亚克力板制作直径58cm的圆盘

2. 在圆盘上开一个扇形缺口(角度约60°)

3. 将圆盘固定在舵机臂上

4. 储料桶底部开一个与缺口大小匹配的圆孔

5. 舵机每转一次,缺口经过出口一次,饲料掉落

这一情况存在着这样的优点,那就是饲料并非以直接受压的方式呈现,所以不会出现卡死的状况,并且投喂量是凭借缺口大小来进行决定的,其呈现出的状态是非常稳定的。

方案B:拨片式投喂器(最简单)

结构原理是,在舵机臂之上固定着一个拨片,当进行转动的时候,会把饲料从储料桶底部的缺口那儿推出。

制作步骤

1. 在储料桶底部侧面开一个孔(孔径略大于饲料颗粒直径)

2. 舵机安装在桶壁外侧,拨片伸入孔内

3. 舵机转动时拨片将饲料拨出

缺点:饲料可能卡在拨片和桶壁之间,需要定期清理。

方案C:翻斗式投喂器(适合潮湿环境)

结构原理:舵机带动一个小翻斗,翻斗接住饲料后翻转倾倒。

适用场景:南方潮湿地区,避免饲料在容器内受潮结块。

六、6个常见问题与(基于实际制作经验)

问题1:舵机转动时控制板重启或舵机抖动

原因:舵机启动瞬间电流过大伟创动力,从控制板取电导致电压跌落。

舵机电源从外部电源取电,不能从控制板的5V引脚取

外部电源电流能力至少1A

控制板GND与外部电源GND连接

问题2:投喂量忽多忽少

先是存在这样一种状况,舵机转动的速度,跟代码延时之间,并未达成匹配,且每一次转动到达指定位置时,所需要耗费的时间,也并非相同。

增加delay时间到500ms以上

使用.write()后,不要马上就进行写回操作,要给予足够的转动时间。

检查舵机供电是否稳定(电压不足时转动变慢)

问题3:舵机转动不到指定角度

起因:舵机的类型契合不了代码,并不相符,普通的那种可以达到一百八十度的舵机,是不具备支持持续不断进行旋转的可行条件的,要不然就是舵机已然出现了损坏的状况。

确认舵机是180°标准舵机伟创动力舵机,不是360°连续旋转舵机

对.write(0)加以运用,并且运用.write(180)来测试最大行程范围。

舵机投放器_自制舵机控制电路_自动投喂器与舵机控制教案

如果实际行程小于180°,在代码中将最大角度限制为实测值

问题4:饲料卡在出口

原因:颗粒饲料直径大于出口孔径,或饲料受潮结块。

出口孔径至少为饲料最大直径的1.5倍

在储料桶内加入一个搅拌棒(固定在舵机臂上,随转动搅动)

饲料应保持干燥,梅雨季节减少单次加料量

问题5:24小时定时不准(每天延迟几分钟)

因素在于,控制板内部的晶振存在着微小的误差,这种误差累计起来,在历经24小时的时长后,兴许会出现偏差数分钟的情况。

使用带RTC时钟模块(如)的精确计时

要么采用通过网络进行即时对时的方式,这种方式是借助或者ESP32连接WiFi从而获取NTP时间。

如果允许±10分钟误差,直接用()函数即可

问题6:舵机一直嗡嗡响、发热严重

缘由是,舵机长时间维持在受力的状况下,这种状况是在其未回到待机位置的时候,拨片被饲料给顶住了。

确保待机角度下舵机完全不接触饲料

在代码中投喂完毕后立即回到待机角度

检查机械结构是否顺畅,舵机转动时有无卡滞

七、行动建议:从今天开始做的3个步骤

第一步:今晚花30分钟完成接线测试

按第四章接线图连接舵机和

进行测试代码的上传操作,通过手动方式将修改成5000(也就是5秒)。

观察舵机是否每5秒转动一次

第二步:明天花1小时制作机械结构

选择第五章中的方案A(转盘式),用硬纸板快速制作原型

用剪刀在塑料瓶底部开孔,将舵机固定在木板或塑料盒上

装入少量饲料(约20粒),测试10次投喂

第三步:后天花30分钟参数并长期运行

根据实际投喂量调整delay时间

改为24小时()

连续运行3天,每天检查一次投喂量和设备状态

关键结论是:自动投喂器的重点所在是于三点——舵机角度跟时间的适配,供电共地,还有防止饲料出现卡死现象。掌握了这三点,你能够借助不超过50元的材料去做出一个实现稳定运行的自动投喂器。要是在制作进程里碰到上述没有罗列出来的问题,那就得去检查舵机规格书中的工作电压以及扭矩参数是不是符合你的投喂所需

为所有产品提供动力单元

联系伟创动力产品专家,为你的产品推荐合适的驱动系统所需部件。

发送邮件
在线留言
WhatsApp
+86 0769 8399 3238
 
kpowerMap