makerbase吧 关注:597贴子:787
  • 0回复贴,共1

MKS SBASE V1.2舵机连接教程

取消只看楼主收藏回复

研究了不少调平的方案,比较下来还是用舵机加机械的微动开关重复精度最好。其他诸如电感或电容接近开关或多或少会受到温度和湿度影响,或者就是因为热床的表面材料造成检测距离非常短。
用Marlin固件的舵机连接教程网上已经有不少了,现在发一个MKS SBASE V1.2基于Smoothie固件的教程。其实Smoothie固件使用和配置比Marlin简单多了。
舵机可以用MG90或者MG90S,尺寸几乎一样。
要用舵机,你需要连接3根线:5V供电,GND接地,PWM信号。前两个很好找,SBASE板子上有6个限位开关的接口,一般不会都用掉,所以供电和接地可以插在空闲的限位开关位置上,记得把限位开关的供电电压设置为5V(板子发来时默认是3.3V,在限位开关接口最下方有个跳线帽可以设置),见下图。

舵机的信号线要接带PWM的Pin口,按照Smoothie官网的资料,PWM有2.0,2.1,2.2,2.3,2.4,2.5,1.18,1.20,1.21,1.23,1.24,1.26,3.25,3.26。但是根据我在MKS SBASE上实际测试,只有1.23,3.25和3.26是PWM。其中3.25和3.26都在EXP2接口上,所以如果你要使用12864或者2004显示屏的,EXP1和EXP2接口都将被占用,就只剩下1.23可以用了。1.23在板子的TF卡槽边上,具体位置见下图。

如果你购买的SBASE是早期版本,没有左上角J8这6个针脚,你就只能使用TFT触摸屏,然后把舵机接到3.25或者3.26上了。
线接好后,在Config.txt配置文件中加入下面的配置参数:
# 舵机控制开关代码
switch.servo.enable true # 设为true启用该舵机控制模块
switch.servo.input_on_command M280 # M280为舵机启动命令
switch.servo.input_off_command M281 # M281为舵机关闭命令,效果同M280 S0
switch.servo.output_pin 1.23 # 定义PWM Pin口
switch.servo.output_type hwpwm # 将上面的Pin口类型定义为Hardware PWM
#switch.servo.pwm_period_ms 20 # 脉冲频率20ms
保存后重启主板。在Pronterface里使用M280命令调试,这个需要自己试验几次找到自己需要的转动停止角度。以我自己的舵机为例:M280 S4.6是将舵机摇臂收起;M280 S8.6是将舵机摇臂放下。
关于自动调平操作的一系列命令,可以保存为一个gcode文件,然后用Smoothie的Player模块在每次开机的时候调用。记得第一次调平要在热床的工作温度下进行,否则会有热胀冷缩造成的误差,找出热床冷时和热时的高度差后写入gcode文件,以后启动时执行便不会有问题。


IP属地:美国1楼2016-01-31 12:46回复