MKS SERVO4257D 闭环步进电机_系列8 CAN通讯示例

张开发
2026/4/16 20:29:09 15 分钟阅读

分享文章

MKS SERVO4257D 闭环步进电机_系列8 CAN通讯示例
第1部分 产品介绍MKS SERVO 28D/35D/42D/57D 系列闭环步进电机是创客基地为满足市场需求而自主研发的一款产品。具备脉冲接口和RS485/CAN串行接口支持MODBUS-RTU通讯协议内置高效FOC矢量算法采用高精度编码器通过位置反馈有效防止电机丢步。适合小型机械臂3D打印机雕刻机写字机自动化产品以及电子竞赛等应用。硬件开源性价比高第2部分 相关资料下载2.1 Cangaroo百度网盘https://pan.baidu.com/s/1tBCuDIfBAIRMms82FlLdag?pwdmks1MKS闭环步进驱动资料 - 通用工具软件第3部分 参数配置3.1 电机参数配置选择控制模式 菜单 → Mode → SR_vFOC设置波特率 菜单 → CanRate → 500K设置从机地址 菜单 → CanID → 013.2 Cangaroo设置双击“cangaroo.exe”,运行上位机软件在cangaroo窗口选择菜单“Measurement”-“Start Measurement”,如下图所示。在弹出的Measurement Setup窗口点击“candle0”,如下图所示使用默认参数不做任何修改点击“ok”,如下图所示Timestamps 选择“absolute”不选择“aggregate by ID”,如下图所示选择菜单“File”-“Save Workspace”,选择保存路径和名称保存配置。保存完成后如下图所示第4部分 读取/设置电机参数4.1 读取参数指令以“读取累加制多圈编码器值”为例发送 31 32返回 31 00 00 00 00 3E 39 A9即编码器值为 0x000000003E39如下图所示4.2 设置参数指令以设置电流参数为例对应屏幕上的“Ma”选项发送 83 06 FD 87 设置电流为1789mA (0x6FD 1789)返回 83 01 85 表示设置完成如下图所示电机屏幕菜单选项“Ma”,可以查看刚设置的电流值如下图4.3 读取IO端口状态端口状态定义如下注28D/35D/42D只能读取到IN_1端口发送 34 35读取IN_1,IN_2,OUT_1,OUT_2端口状态返回 34 0F 44 (0x0F 的低4位对应4个端口的状态即4个端口均为高电平)如下图所示第5部分 电机限位归零运行57D电机的拨码开关PIN3,PIN2拨到ON状态。57D电机建议把电流设置为3200mA限位触发电平限位方向限位速度可通过屏幕菜单“HmTrig、HmDir、HmSpeed”设置也可通过串行指令设置(功能码0x90)。本文使用默认参数。发送 91 92返回 91 01 93电机开始归零运行屏幕显示“Home…”此时将IN_1端口置低电平可以用地线触碰IN_1端口电机完成归零屏幕显示“Home Ok”电机屏幕显示过程如下图第6部分 电机速度模式运行注意57D电机建议把电流设置为3200mA6.1 速度模式运行和停止1. 控制电机以速度300RPM, 加速度2运行发送指令F6 01 2C 02 26返回指令F6 01 F8如下图1,2所示2. 控制电机以加速度200停止发送指令F6 00 00 C8 BF开始停止F6 01 F8完成停止F6 02 F9如下图3,4,5所示6.2 速度模式参数保存速度模式保存即让电机每次上电时以保存的速度和加速度自动运行。1. 控制电机以速度300RPM, 加速度2运行发送指令F6 01 2C 02 26返回指令F6 01 F8如下图1,2所示2. 保存速度模式参数发送指令 FF C8 C8返回指令1FF 01 01 保存成功返回指令2F6 02 F9 电机停止保存成功后电机会停止运行。如下图3,4,5所示6.3 速度模式参数擦除速度模式参数擦除后电机不再上电时自动运行。发送指令 FF CA CA返回指令 FF 01 01如下图所示第7部分 电机位置模式1 按脉冲数相对运行注意57D电机建议把电流设置为3200mA7.1 按脉冲数相对运行注1.8度电机16细分时3200脉冲电机转1圈先将当前坐标设置为0方便观察电机运行发送指令92 93返回指令92 01 94此时电机屏幕显示角度值0.0误差0.00err脉冲数0clk如下图框1所示电机以速度100RPM加速度2正转一圈3200脉冲发送指令FD 80 64 02 00 0C 80 70开始运行 FD 01 FF完成运行 FD 02 00此时电机屏幕显示角度值360.0误差0.00err脉冲数3.2Kclk如下图框2所示7.2 中断电机运行电机以速度100RPM加速度2正转100圈320000脉冲发送指令FD 80 64 02 04 E2 00 CA开始运行FD 01 FF如下图框1所示电机以加速度200停止发送指令FD 80 00 C8 00 00 00 46开始停止 FD 01 FF完成停止FD 02 00如下图框2所示第8部分 电机位置模式2 按坐标值相对运行注11.8度电机16细分时3200脉冲电机转1圈注2电机转1圈坐标值变化0x4000即16384注3坐标值会有正负15左右误差注意57D电机建议把电流设置为3200mA8.1 按坐标值相对运行先将当前坐标设置为0方便观察电机运行发送指令92 93返回指令92 01 94此时电机屏幕显示角度值0.0误差0.00err脉冲数0clk如下图1所示电机以速度300RPM加速度200相对运行坐标0x28000即转10圈发送指令F4 01 2C C8 02 80 00 6C开始运行F4 01 F6完成运行F4 02 F7此时电机屏幕显示角度值3.6K误差0.00err脉冲数32.0Kclk如下图2所示读取当前坐标值发送指令31 32返回指令31 00 00 00 02 80 00 B4即当前坐标值为0x000000028000和预定目标一致。如下图3所示再次让电机以速度300RPM加速度200相对运行坐标0x28000即再转10圈发送指令F4 01 2C C8 02 80 00 6C开始运行F4 01 F6完成运行F4 02 F7此时电机屏幕显示角度值7.2K误差0.00err脉冲数64.0Kclk如下图4所示再次读取当前坐标值发送指令31 32返回指令31 00 00 00 05 00 00 37即当前坐标值为0x000000050000和预定目标一致。如下图5所示8.2 中断电机运行让电机以速度300RPM加速度200相对运行坐标0x7A0000发送指令F4 01 2C C8 7A 00 00 64开始运行F4 01 F6如下图框1所示让电机立即停止 (即加速为0)发送指令F4 00 00 00 00 00 00 F5开始停止F4 01 F6完成停止F4 02 F7如下图框2所示第9部分 电机位置模式3 按坐标值绝对运行注11.8度电机16细分时3200脉冲电机转1圈注2电机转1圈坐标值变化0x4000即16384注3坐标值会有正负15左右误差注意57D电机建议把电流设置为3200mA9.1 按坐标值绝对运行先将当前坐标设置为0方便观察电机运行发送指令92 93返回指令92 01 94此时电机屏幕显示角度值0.0误差0.00err脉冲数0clk如下图1所示电机以速度300RPM加速度200绝对运行到坐标0x28000发送指令F5 01 2C C8 02 80 00 6D开始运行 F5 01 F7完成运行F5 02 F8此时电机屏幕显示角度值3.6K误差0.00err脉冲数32.0Kclk如下图2所示读取当前坐标值发送指令31 32返回指令31 00 00 00 02 80 00 B4即当前坐标值为0x00000002800和预定目标一致。如下图3所示再次让电机以速度300RPM加速度200绝对运行到坐标0x28000因坐标已经是0x28000所以电机不动发送指令F5 01 2C C8 02 80 00 6D开始运行F5 01 F7完成运行F5 02 F8此时电机屏幕仍显示角度值3.6K误差0.00err脉冲数32.0Kclk如下图4所示再次读取当前坐标值发送指令31 32返回指令31 00 00 00 02 7F FF AD当前坐标值为0x000000028001 (误差1)即电机没有运行和预定目标一致。如下图5所示再次让电机以速度300RPM加速度200绝对运行到坐标0发送指令F5 01 2C C8 00 00 00 EB开始运行F5 01 F7完成运行F5 02 F8此时电机屏幕显示角度值0.0误差0.00err脉冲数0clk即电机回到坐标0点如下图6所示再次读取当前坐标值发送指令31 32返回指令31 00 00 00 00 00 01 33当前坐标为1(误差1)和预定目标一致。如下图7所示9.2 中断电机运行让电机以速度300RPM加速度200绝对运行坐标0x7A0000发送指令F5 01 2C C8 7A 00 00 65开始运行F5 01 F7如下图框1所示让电机立即停止 (即加速为0)发送指令F5 00 00 00 00 00 00 F6开始停止F5 01 F7完成停止F5 02 F8如下图框2所示注本文同样适合后续产品MKS SERVO28D/35D闭环步进电机下一篇《MKS SERVO4257D 闭环步进电机_系列9 上位机通讯示例》欢迎选择 创客基地 电机点此处欢迎观看 创客基地 教程点此处欢迎获取 创客基地 资源点此处

更多文章