DexArm基于全球领先的开源项目Marlin定制开发,固件完全开源,控制指令(Gcode)兼容Marlin。
Gcode指令是数控机床、3D打印机等设置通用控制指令,由ASCII字符串组成,如G1 F2000 X0 Y300 Z0
,Gcode指令通常以\n
作为发送结束符。
在Marlin中,下位机收到Gcode指令后,会回复ok
。上位机收到ok
后方可发送下一条指令。在DexArm的SDK(pydexarm等)中我们将此收发机制做了封装,方便用户调用。
- Baud rate: 115200
- Data bits: 8
- Stop bits: 1
- Parity: None
- Flow control: None
上位机连接机械臂后, 首先需要发送 GoHome M1112
指令,让机械臂进入HOME(X0 Y300 Z0
)位置。
DexArm不同的前端模块偏置尺寸不同,需要通过M888 Pn
设置实际使用的前端模块,设置成功后会保存在固件中,下次启动自动加载保存的前端模块。
- 笔模块:
M888 P0
- 激光模块:
M888 P1
- 气泵模块:
M888 P2
- 3D打印模块:
M888 P3
DexArm的HOME位置,运动坐标均由初始位置解算而来。DexArm出厂前已校正初始位置
如果发现DexArm运动出现错误,需重新校准初始位置。
- 将机械臂摆到最大位置(图)
- 发送
M889
M1111
M1112
DexArm默认为快速模式,此模式下,G0执行快速模式,G1执行直线模式。
`M2001`
M2000模式下,G0与G1均执行直线模式
M2000
M891 Xn Yn
M892
M893
M894 Xn Yn Zn
顺序发送M2002
、M2003
指令会进入Bootloader模式。
M2007
传送带2000mm/min速度正转
M2012 F2000 D0
传送带2000mm/min速度反转
M2012 F2000 D1
传送带停止转动
M2013
发送指令后,将触摸屏连接到DexArm
M5010000
参考运动控制章节
相关指令G0_G1
G2_G3
M201
M202
M203
M204
(链接)
相关指令G4
- 气泵吸气\柔性爪抓取
M1000
- 气泵吹气\柔性爪张开
M1001
- 气泵放气\柔性爪自然状态(泄气气阀打开)
M1002
- 所有气泵气阀停止工作
M1003
- 当气泵长时间不工作时,请发送
M1003
,停止所有气泵气阀
0-360度控制
- 设置旋转关节偏置,并初始化旋转关节
- M888 P6
- 初始化旋转关节
- M2100
- 获取当前位置
- M2101
- 相对旋转, relative
- 顺时针旋转n度,M2101 Rn
- 逆时针旋转n度,M2101 R-n
- n可以大于360,例如顺时针旋转3圈等
- 绝对旋转,position
- M2101 Pn
- 连续旋转,速度0-100
- 顺时针连续旋转,M2101 Sn
- 逆时针连续旋转,M2101 S-n
- 速度S0,对应停止
- 速度S1低速旋转,S100对应的最高速可以适当限速
- 查询当前固件版本号
- M2103,返回Rotary Firmware V1.1.2
相关指令M3
M5
(链接)
参考3D打印章节
相关指令M105
M108
M106
M107
M109
(链接)