舵机机械故障导致GRBL写字机命令失效

  • 内容
  • ....
  • 相关

GRBL的舵机控制

GRBL源码本身是不支持舵机的,查阅多篇技术文章得知,GRBL控制激光雕刻机的主轴,也就是激光器是通过控制PWM信号实现的,于是Github上的出现了修改版的GRBL-Servo控制舵机的版本。详见https://github.com/robottini/grbl-servo。其通过修改源码中 spindle_control.c 文件实现了对舵机的控制,硬件连接使用了Arduino Uno板的PIN D11针脚来发送舵机信号,再使用命令 M3 Sxxx (xxx介于0和255之间)使舵机可以在0度-180度之间进行旋转,命令 M5 可以使舵机回到零度。

故障表现

MG90S金属舵机
MG90S金属舵机

在实际写字机制作的过程中,利旧多年前购买的MG90S做抬笔驱动,但在调试过程中出现了舵机不动作的故障,GRBL源代码写入到Arduino后,在串口监视器中输入“$X”解锁,再输入“M5”舵机不工作,抬笔失败,再输入“$M3 S255”舵机依然无动作。起初怀疑代码有问题,经过各种检查,没有发现代码有任何遗漏和问题。于是,将写入Arduino uno代码更换为单纯的舵机控制代码,详见“舵机控制原理”一文中的代码部分。遗憾的是舵机依然没有任何动作,初步怀疑舵机的硬件问题。

舵机机械故障修复

从舵机原理来说,除非驱动电路损坏,否则舵机是不容易出问题的,于是开始拆机,去除机械齿轮部分后,将舵机电路和电机连接到Arduino,电机转动正常,判定舵机的电路部分没有任何问题,故障应该是机械齿轮转动不畅甚至卡死导致的。这就好办了,上神器WD40,宝宝链接 需要的可去了解下,居家必备!

WD-40除锈润滑剂
WD-40除锈润滑剂

MG90S齿轮组除锈润滑

MG90S金属齿轮组
MG90S金属齿轮组

将上图齿轮拆下来,用一次性塑料杯装好,用WD-40喷上一点(刚好淹住)浸泡几分钟后,逐一取出用纸巾檫干。接着组装过程中用上润滑剂,这里用到了模型车波箱耐高温润滑剂。

ROCK模型车耐高温波箱 差速齿 斜齿 润滑油润滑脂蓝油

舵机组装回去后,再连接Arduino测试,转动顺畅灵活。再刷回GRBL-servo,M5抬笔,M3S255落笔,一切正常,至此故障顺利解决。