Samovar 7.00: 舵机 11 个位置的修正值在配置器“设备”(«Оборудование»)选项卡上的“舵机修正值(11 个数)”(«Поправки сервопривода (11 чисел)»)字段中设置;配置器会把它们写入 Samovar_ini.h 文件中的 servoDelta 数组。
Samovar 可以按照您编写的取酒程序,把整个运行过程分成 11 份。
注意。
如果不需要分份,或者您自己更换容器,就不需要这个装置。没有它 Samovar 也能工作。
制作时需要一个 Arduino 项目中常用的那种舵机。
(Rc Mini Micro 9g 1.6 kg servo SG90 180° For RC 250 450 for Arduino DIY )
警告!
Samovar 使用旋转角度为 180° 的舵机,其他舵机都无法正确工作(舵机的旋转角度有 90°、180°、360° 或连续旋转几种)。
购买前请仔细挑选舵机。如有疑问,最好放弃,改从明确标注旋转角度的其他卖家购买。
导线定义:红色 — +5 V,棕色 — GND,黄色或橙色 — 控制信号。信号输入接到 ESP32 DevKit 的 GPIO25 或 ESP32-S3 的 GPIO10。
检查舵机旋转角度可以使用一个专门的草图(sketch)。 把该草图放在 与 Samovar 文件相同的目录中 (... Documents\Arduino\...) ,并代替 Samovar 安装到 ESP32 上。安装草图的方法见
用户手册。
草图安装到 ESP32 后,舵机应开始从初始 位置转到极限位置再转回来,循环往复。检查完舵机后,需要把 Samovar 草图重新上传到 ESP32。
为 SG90 舵机设计了一个可 3D 打印的收集转台模型。模型文件 在 3D 目录中,每个 Samovar 发布压缩包里都有。
这些文件是 Samovar_plate.stl 和 Samovar_horn.stl.
。请用耐丙酮和酒精的塑料打印,例如 PLA。
SG90 是最便宜、最常见的舵机之一。有些用户遇到过它工作不稳定的问题。
表现为舵机很难到达所需位置,或者某个时刻摇臂开始“抖动”。经验表明,这与成品输送管的位置不合适、尺寸过大、过硬或者相反过软有关。
SG90 可以换成:
这种舵机比前一种贵,但功率也更大(因此耗电更多),减速齿轮可以是塑料的也可以是金属的(对我们的用途没有区别),附带的配件也更多。
Samovar 使用旋转角度为 180° 的舵机,其他舵机都无法正确工作。
导线定义:红色 — +5 V,棕色、灰色或黑色 — GND,黄色或橙色 — 控制信号。信号输入接到 ESP32 DevKit 的 GPIO25 或 ESP32-S3 的 GPIO10。
也为这些舵机设计了可 3D 打印的收集转台模型。这些文件是 plate_996_servo.stl 和 horn_996_servo.stl。模型文件 在 3D 目录中,该目录在 Samovar 发布压缩包里。请用耐丙酮和酒精的塑料打印。
收集转台的制作和改装示例:
位置修正
每个舵机都有自己的误差,需要针对转台位置单独 调整。
如果收集转台是打印的或按模板制作的,漏斗之间距离相等, 就需要修正旋转角度。
相关各行为:
//舵机旋转角度修正值。
int8_t servoDelta[11] = {0, -2, -3, -4, -3 , -2, 0, 0, 0, 0, -2};
花括号中的值是每个位置的角度修正值,共 11 个。接收漏斗从零号位置开始计数。 修正值以度为单位。每个位置单独修正,与相邻位置的修正无关。
修正时,为 “精馏”(«Ректификация»)模式编写一个测试用的取酒程序
H;450;0.10;0;0.00;45
H;450;0.10;1;0.00;45
H;450;0.10;2;0.00;45
H;450;0.10;3;0.00;45
H;450;0.10;4;0.00;45
H;450;0.10;5;0.00;45
H;450;0.10;6;0.00;45
H;450;0.10;7;0.00;45
H;450;0.10;8;0.00;45
H;450;0.10;9;0.00;45
H;450;0.10;10;0.00;45
复制这段文字,粘贴到 Samovar 网页界面主页“程序”(«Программа»)选项卡上的取酒
程序文本框中,然后保存。
可以先不在舵机上装摇臂,或者装成便于取下的方式。连接舵机并开启 Samovar。启动时 Samovar 会把舵机转到起始位置。安装摇臂,使其指向零号漏斗。
从 Samovar 发出“开启加热”(«Включить нагрев»)命令(加热器必须断开),然后发出“开始取酒”(«Начать отбор»)命令。摇臂停在零号漏斗处。
“下一个程序”(«Следующая программа»)命令把摇臂移到下一个位置——1 号漏斗。如果摇臂位置与穿过舵机转轴中心和接收漏斗中心的假想线重合,那就好,这就是零,不需要修正。再次发出“下一个程序”命令,摇臂移到下一个位置。
如果摇臂没有到达所需位置或者转过了头,就需要修正。以 3 号漏斗为例(记住漏斗编号从零开始)。原版草图中这个漏斗的修正值为 4(负 4)
假设摇臂“转过了头”,停在红线上。测量零位与实际位置之间的弧长(蓝色箭头)。
比如说是 10 mm。
现在需要求出旋转 1 度对应的弧长。在网上找一个
计算器。输入半径值(这里是 120),角度设为 1。
得出旋转 1 ° 时弧长为 2 mm。我们的摇臂离所需位置 10 mm。
10/2=5 度。
摇臂转过了头,需要往回转,所以这是负值。草图中已经有 - 4(负 4)
-4+(-5)= -9
因此 3 号漏斗(即 4 号位置)的旋转角度修正值为负 9°
这适用于特定的舵机和转台,漏斗分布在半径为 120 mm 的圆上。
用同样的方法检查摇臂的所有位置,并修正这一行花括号中的值
int8_t servoDelta[11] = {0, -2, -3, -9, -3 , -2, 0, 0, 0, 0, -2};
修正后,把草图重新上传到 Samovar,设置测试取酒程序,检查摇臂在各位置之间的移动。
自己制作收集转台
漏斗位置固定的收集转台。 见
论坛上的帖子。制作模板也可以在那里下载。
***
几乎不需要修正舵机旋转角度值的收集转台。
要点在于,钻孔的中心是按照摇臂的实际位置来标记的。
漏斗
-
用 3D 打印机制作——漏斗文件在 3D 目录中。
-
可以使用
药瓶盖或医用
注射器。不建议使用小于 5 ml 的注射器——可能会溢出;10 或 20 ml 的更好。
如果接收漏斗溢出,最简单的办法是把接收容器尽量放低,把转台抬高。从漏斗到容器的管中的液柱会给液流增加额外的速度。
排查可能出现的问题。
假设舵机是好的
-
舵机工作时 Samovar 重启 - 可能是 12-5 伏转换器功率不够,或者舵机电机电流太大。可以这样做:
- 作为临时措施,加大电容 C4 的容量。愿意的话 C3 也可以加大。
- 增加第二个 12-5 伏转换器。 连通地线,用它给舵机供 +5(所有 5 伏用电设备都可以由这个转换器供电)
-
即使没有接管子,摇臂在漏斗上方也“抖动” -
摇臂的水平刚度不足。
-
接上供液管后,摇臂在漏斗上方“摆动”。
- 管子太硬,一直把摇臂往回“拉”,舵机则不断试图把它转回原位。
- 管子在转台上方“晃荡”,把摇臂一会儿拉向这边,一会儿拉向那边。
可以选择在舵机减速器转轴的中心处再把管子固定一下。