做一个定时喂食器
淘宝和闲鱼没有找到合适尺寸和固定的喂食器,用闲置的树莓派zero w做了一个。成品如下:


👇 下方的出食孔:

👇 盒子尺寸有点小,布线很乱:

前期准备
1. 确定尺寸
- 进食管:栅栏的间隔距离约为4.5cm,食物最大尺寸2cm,为了防止食物卡住,所以喂食器直径尽可能大,选择外径40mm。
- 物料盒:为了固定进食管,需要一个物料盒,也可以塞进开发板及模块,尺寸定义为120mm x 50mm x 52mm;
很多配件尺寸都特别详细,不用买回来之后再测量了。



❓︎ 如何固定电机?
设计一个外壳,电机固定外壳上,外壳固定在进食管上。
整体尺寸如下:
2. 确定外观
(1) 管状结构。有两种喂食方案:螺旋结构和推拉结构。
- 螺旋结构简单,但是比较容易卡住食物;
- 推拉结构所需的投送管比较长;
确定使用螺旋结构,在进食管上面开一个进食孔,下方开一个出食孔。
(2) 长方体结构。长方体结构需要打印的零件太多,而且不容易观察。所以选管状结构。
花了几个小时入门3D,学会了最基本的图形设计。设计图如下:

3. 确定材质
- 进食管选择无毒、可接触食物的PC材质;透明的管子也可以观察食物是否卡住。
- 3D打印件,选择树脂,无毒、可接触食物。
4. 确定供电方案

最开始时有点草率,走一步看一步。板子(5V)、电机(12V)是独立供电,后面后加了显示屏、风扇,觉得太繁琐,独立供电地线不好处理,就统一使用12V电源,使用降压模块将为5V和3.3V,这样就有12V、5V和3.3V三种电压。
- 12V电压:为电机、风扇提供直接供电;
- 5V电压:为树莓派、OLED显示屏供电;
- 3.3V电压:为继电器模块供电;
❌︎ 为什么不选择12V继电器?
刚开始选择的是12V继电器,买回来之后发现无法触发。询问客服之后才发现高电平触发条件是0-3V,低电平触发条件是9-12V,可用的电压只有树莓派的5V和3.3V,不满足条件。
❌︎ 为什么不选择5V继电器?
为什么要多出一个3.3V,不直接使用5V呢?因为树莓派不使用micro USB 电源接口供电,使用2/4引脚从12V电源降压的5V供电,2/4引脚是短接的,只能同时作为输入或者同时作为输出,无法一个作为输入、一个作为输出。所以5V电源只能作为输入电源。
✅︎ 为什么可以选择3.3V继电器?
3.3V继电器高电平触发条件是0-0.8V,低电平触发条件是2.0-3.3V,完全满足触发条件。
❓︎ 3.3V继电器使用树莓派3.3V针脚供电还是12V转3.3V降压供电?
树莓派如果直接供电,继电器瞬时电流过大,可能会导致供电不稳定。而且显示屏也需要3.3V供电,所以需要从电源直接供电。树莓派的电源只用于板子自身。
5. 确定物料
| 名称 | 规格 | 价格 |
|---|---|---|
| 透明PC管 | 外径40mm,内径37.6mm,长度15cm | 4.80 |
| 降压模块 | 12V -> 5.0V,为树莓派供电 | 2.48 |
| 降压模块 | 12V -> 3.3V,为3.3V继电器供电 | 2.48 |
| 继电器 | 3.3V | 3.50 |
| OLED显示屏 | 0.91寸、4排针、I2C接口,3.3-5V | 8.15 |
| 散热风扇 | 40mm x 40mm x 10mm,12V | 1.00 |
| 供电电源 | 12V/3A电源,为散热风扇直接供电;为降压模块提供电源 | 19.65 |
| 电机 | 12Vm、26转/min | 9.00 |
| 3D打印 | 50.00 | |
| 总计 | 100.56 |
家里有杜邦线、热熔胶枪、绝缘胶带、m3螺丝等,树莓派板子为闲置,未计入物料成本。
❓︎ 为什么需要显示屏?
- 可以确认供电是否正常(通过是否黑屏判断);
- 可以确认系统是否宕机(通过秒数是否走动判断);
- 可以确认联网是否正常(通过右侧图标及「ONLINE/OFFLINE」字样判断);
- 显示温度及正在喂食(显示「FEED」),凑数用;

❓︎ 为什么需要散热风扇?
因为太便宜了,1元包邮。但是降温特别明显,开启风扇后,室内温度28度时,cpu温度从51度降到42度左右。
6. 确定代码环境
-
操作系统:Raspberry Pi OS (32-bit)
-
编程语言:C / C++ / C# / Python / Go 可以选择。树莓派zero w是ARMv6架构,只支持到.net 6,不想额外安装.net 6 sdk;不会C / C++,Go也需要额外安装环境,所以选择了系统自带的Python3。
7. 确定具体功能
- 默认每天13点自动喂食,电机运行10秒;
- 可以修改默认时间;
- 可以手动喂食;
手动喂食动态演示

不足之处
- 第一次做3d,精度把握有问题。比如:瓶盖的尺寸没把握好,导致瓶子拧不进去,后面又用原瓶盖掏孔解决的;
- 树脂过软。虽然把最薄处厚度设置了2mm,还是太软容易变形,不应该用树脂打印螺丝;
学习到了什么
- 入门了一个新技能——3D设计;
- 学会了如何让屏幕局部刷新;