有必要发一个博客,这几天做实验没啥进展,烦。写东西清理思路,整理思维。
这篇博文为了交流,为两种读者,第一种是做3d打印机想要给机器增加5个挤出机的人,第二种是遇到运动控制任务但不想浪费时间从底层写起的开发者。文章如果出现错误和偏差请留言,我会改正,谢谢。
如果按照我的方式进行配置,基于mega2560+ramps1.4的微控制器将有以下运动控制功能
其一,四轴联动功能,比如通过串口调试助手向板子发送“G1 X10 Y10 Z10 E100 F200” 主控所控制的xyze电机就会同时以一定速度用直线往一个地方走。其中G1的意义为直线插补,在xyz想要走出一条曲线是,总是要用多个直线去拟合为一个曲线,拟合次数越大,分辨率也就越大,相应的G代码的数量也就越多。F后面的数值指定了速度,越大越快。联动功能意味着在笛卡尔坐标系中的任意两点之间可以直线运动,不用浪费时间走直角。
如上图,不同分辨率的插补
其二,E轴切换运动,在代码中E轴如果要挤出1mm,就需要这一句“G1 E1 F200”用200的速度把E轴挤搞到1mm位置上。如此说来,假设有第二个挤出机只要动用“G1 E2 1 F200”是不是就把第二个挤出机挤出1mm了?