第1部分 产品介绍
具备脉冲接口和RS485/CAN串行接口,支持MODBUS-RTU通讯协议,内置高效FOC矢量算法。
硬件开源!
第2部分 相关资料下载
2.1 源代码下载
网盘:
08_例程-STM32系列(CAN)
第3部分 参数配置和注意事项
3.1 电机参数配置
- 设置波特率: 菜单 → CanRate → 500K
- 设置从机地址: 菜单 → CanID → 01
3.2 注意事项
- 需要一个TTL转CAN电平模块。
第4部分 读取参数示例
4.1 读取电机实时位置
-
接线说明
-
代码说明
代码功能:STM32 主板通过CAN接口读取电机实时位置信息。
注意事项:工作模式设置为CR_vFOC 或者CR_CLOSE
程序运行后,可观察到:
a. TIMER3 定时器中断生成脉冲信号,控制电机转动;
b. LED灯每秒闪一次,发出查询电机实时位置指令;
c. watch 窗口添加观察变量realTimeLocation,可以观察到位置数据变化;
d. 如此不断循环
-
Watch窗口观察结果
4.2 读取电机实时转速
-
接线说明
-
代码说明
代码功能:STM32 主板CAN接口读取电机实时转速。
注意事项:工作模式设置为CR_vFOC 或者CR_CLOSE
程序运行后,可观察到:
a. TIMER3 定时器中断生成脉冲信号,控制电机转动;
b. LED灯每秒闪一次,发出查询电机实时转速指令;
c. watch 窗口添加观察变量realTimeSpeed,可以观察到转速数据变化;
d. 如此不断循环。
-
Watch窗口输出结果
4.3 读取电机输入脉冲数
-
接线说明
-
代码说明
代码功能:STM32 主板CAN接口读取电机输入脉冲数。
注意事项:工作模式设置为CR_vFOC 或者CR_CLOSE
程序运行后,可观察到:
e. TIMER3 定时器中断生成脉冲信号,控制电机转动;
f. LED灯每秒闪一次,发出查询电机输入脉冲数指令;
g. watch 窗口添加观察变量inputPulses,可以观察到脉冲数据变化;
h. 如此不断循环。
-
Watch窗口输出结果
4.4 读取电机位置误差
-
接线说明
-
代码说明
代码功能:STM32 主板CAN接口读取位置误差。
注意事项:工作模式设置为CR_vFOC 或者CR_CLOSE
程序运行后,可观察到:
a. TIMER3 定时器中断生成脉冲信号,控制电机转动;
b. LED灯每秒闪一次,发出查询电机位置误差指令;
c. watch 窗口添加观察变量PositionError,可以观察到位置误差变化;
d. 如此不断循环
-
Watch窗口输出结果
注意:PositionError = 51200 对应角度值360度
4.5 读取电机IO端口状态
-
接线说明
-
代码说明
代码功能:STM32 主板CAN接口读取IO端口状态。
程序运行后,可观察到:
a. LED灯每秒闪一次,发出查询电机IO端口状态指令;
b. watch 窗口添加观察变量IoStatus,可以观察到IO端口状态变化;
c. IO端口默认为高电平,用地线触碰IN_1,IN_2 可以看到状态变化;
-
Watch窗口输出输出结果
注: 1-高电平; 0-低电平
第5部分 设置参数示例
5.1 设置电机工作模式
-
接线说明
-
代码说明
代码功能:STM32 主板通过CAN接口设置工作模式。
程序运行后,可观察到:
a. LED灯每秒闪一次,即CAN接口发出设置工作模式指令;
b. 如果设置成功,LED灯慢闪,可通过屏幕菜单Mode选项,查看设置的工作模式;
c. 如果设置失败,LED灯快闪。
5.2 设置电机工作电流
- 接线说明
接线图同5.1。 - 代码说明
代码功能:STM32 主板通过CAN接口设置工作电流。
程序运行后,可观察到:
a. LED灯每秒闪一次,即CAN接口发出设置工作电流指令
b. 如果设置成功,LED灯慢闪,可通过屏幕菜单Ma选项,查看设置的电流;
c. 如果设置失败,LED灯快闪。
5.3 设置电机工作细分
- 接线说明
接线图同5.1。 - 代码说明
代码功能:STM32 主板通过CAN接口设置工作细分。
程序运行后,可观察到:
a. LED灯亮,即CAN接口发出设置细分指令;
b. 如果设置成功,LED灯慢闪,可通过屏幕菜单MStep选项,查看设置的细分;
c. 如果设置失败,LED灯快闪。
5.4 恢复出厂参数
- 接线说明
接线图同5.1。 - 代码说明
代码功能:STM32 主板通过CAN接口恢复出厂参数。
程序运行后,可观察到:
a. LED灯亮,即CAN接口发出恢复出厂参数指令;
b. 如果恢复成功,LED灯慢闪,屏幕显示“Reload ok”,“Reboot…”,电机会自动重启,需要重新校准电机;
c. 如果恢复失败,LED灯快闪。
第6部分 电机运行示例
6.1 电机速度模式运行
-
接线说明
-
代码说明
代码功能:STM32 主板通过CAN接口控制电机以速度模式运行。
注意事项:工作模式设置为SR_vFOC 或者SR_CLOSE
程序运行后,可观察到:
a. LED灯亮/灭一次,电机改变一次速度运行,不停循环运行;
b. 如果运行失败,LED灯快闪;
6.2 电机位置模式1-按脉冲数运行
-
接线说明
接线图同6.1。 -
代码说明
代码功能:STM32 主板通过CAN接口控制电机以脉冲数运行。
注意事项:工作模式设置为SR_vFOC 或者SR_CLOSE
程序运行后,可观察到:
a. 电机按设定的脉冲数运行到指定位置(10圈),停止2000ms;
b. 改变方向,再运行到指定位置(10圈),停止2000ms;
c. 不停循环运行;
d. 如果运行失败,LED灯快闪。
6.3 电机位置模式2-按相对坐标运行
-
接线说明
接线图同6.1。 -
代码说明
代码功能:STM32 主板通过CAN接口控制电机按相对坐标运行。
注意事项:工作模式设置为SR_vFOC 或者SR_CLOSE
程序运行后,可观察到:
a. 电机按设定的相对坐标(realAxis)运行到指定位置(10圈),停止2000ms;
b. 相对坐标(realAxis)取反,电机运行到起点位置,停止2000ms;
c. 不停循环运行;
d. 如果运行失败,LED灯快闪。
6.4 电机位置模式3-按绝对坐标运行
-
接线说明
接线图同6.1。 -
代码说明
代码功能:STM32 主板通过CAN接口控制电机按按绝对坐标运行。
注意事项:工作模式设置为SR_vFOC 或者SR_CLOSE
程序运行后,可观察到:
a. 电机运行到绝对坐标(absoluteAxis=0),停止2000ms;
b. 电机运行到绝对坐标(absoluteAxis=163840),停止2000ms;
c. 不停循环运行;
d. 如果运行失败,LED灯快闪。
注:本文同样适合后续产品MKS SERVO28D/35D闭环步进电机
下一篇:《MKS SERVO42&57D 闭环步进电机_系列13 待续》