以下关于自动调平功能的解析由MakerLab所做,感谢其无私的分享。
硬件准备1、一个小舵机,大家可以看到我用的舵机是9G型号。理论来说用什么型号都可以,但是小了不会占用太多空间;
2、一个小限位(机械式),小限位开关即可(鼠标按键),带柄不带柄都可以,我用的不带柄的;
3、固定舵机在加热头运动部件上的小零件,我是自己打印的,不太合适,最后用502粘上的;
4、固定限位开关的触碰柄,我也是打印的,这个基本上是标准的可以在这里下载:thingiverse ;
5、支持舵机接口的打印机控制板,这里以MakerLab的Mega controller为例; 硬件安装 由于每个人的打印机都不同,就不说了。总之就是保证尽可能少的影响其它部件的情况下,固定舵机,并且限位开关的柄可以收放自如,并且收起后,打印头的高度要低于限位的高度,即打印时限位开关舵机等零件不能妨碍打印的进程。
注意:安装限位开关触碰柄的时候,注意舵机的极限角度的位置(0度和180度),因为咱们用舵机主要两个位置最关键,一个是收起限位时,一个是放下限位时,这两个位置都不要太靠近舵机的0和180度位置(即舵机的极限位置),极限位置的舵机不稳定,并且可能容易烧舵机。 大家注意。
下图是舵机即固定舵机的部分:
下图是限位开关收起后的位置,不会妨碍打印及其它部分的运动:
下图是限位开关放下后的效果,放下后,限位开关当然要比打印头的位置更低才可以,否则打印头都撞车了,限位开关还没触发:
接线Mega Controller已经引出了四路舵机接口,都是标准的接口,所以将舵机线连接到图片所示位置,标记为30的位置即可,主要舵机线中黄色的为信号线,对应控制板子上的S标记。如果:
舵机角度确定由于舵机是用于做调平,调平的准确性直接影响了打印的效果。所以舵机的角度控制就至关重要,而这个角度参数(两个角度,收起和放下时舵机分别所处角度)非常重要,需要用于固件的配置。 修改固件默认的Marlin固件并没有添加对舵机的支持(可以剩下RAM和ROM空间)。所以首先打开你的Marlin固件,找到Configuration.h文件,索“NUM_SERVOS”关键词(670行左右),来到 c
//#define NUM_SERVOS 1 // Servo index starts with 0 for M280 command
然后将最前面的//删除,并将后面的数字改为1,默认该数字可能是3.
修改完成后,其它参数不变,上传新固件到控制板。完成后,打开你用的最顺手的上位机软件,我以printrun为例,选择串口和波特率,连接。连接成功后,就可以测试舵机是否可以控制了。在发送命令区域,输入命令M280 P0 S100,其中M280是用于控制舵机的G代码,P0标识第一个舵机,如果你有其它舵机,可以用P1、P2等来分别控制,S后面的数字表示舵机运动的角度,输入命令后,点击Send(发送)或回车。
此时,如果一切都配置得当,你应该看到了舵机会动,如果不动再试一下其它的角度即更换S后面的数字,如果其它角度依然不动,请检查接线即固件是否正确。(注意,Ramps用户直接接在舵机接口位置是不能用的,因为舵机接口默认是不供电的,需要将Ramps复位按键旁边的两个电源接在一起才可以,标记为VCC和5V,将这两个端子连接,就可以为舵机供电了。) 测试角度 由于舵机角度不能通过其它方式获得,只能需要你自己进行实际的测试,所以通过发送上面的命令,不断修改S后面的角度值,来得到两个比较完美的角度分别对应收起和放下时的位置。记在旁边备用。
我通过测试,找到的角度为:
放下角度为:125度;
收起角度为:42度;
你的配置不太可能跟我的一样,所以一定要自己测试一下。 处于放下状态时,输入M280 P0 S42命令后的效果是这样的: 处于收起状态时,输入M280 P0 S125命令后的效果是这样的: 如果得到的角度你很满意,即不影响其它部分运动,也可以在放下时进行正常调平,那么就可以进入下一环节了。
|