MKS SmartMotor 伺服电机_CAN使用说明书 v1.0.0
MKS SmartMotor 永磁直流伺服电机是创客基地为满足市场需求,按工业级标准自主研发的一款产品。支持脉冲接口,RS485接口和CAN接口,内置高效FOC矢量算法,采用高精度编码器,定位精度高,响应速度快。适合小型机械臂,医疗器械,雕刻机,自动化产品以及电子竞赛等应用。
文章目录
- 第1部分 产品概述
- 第2部分 接线方法
- 第3部分 CAN报文格式说明
- 第4部分 CAN指令说明
- 第5部分 电机回零说明
- 第6部分 位置控制模式说明
- 第7部分 速度控制模式说明
- 第8部分 转矩控制模式说明
- 第9部分 常见问题和注意事项
- 第10部分 售后和技术支持
- 第11部分 故障代码表
第1部分 产品概述
1.1 产品介绍
MKS SmartMotor 永磁直流伺服电机是创客基地为满足市场需求,按工业级标准自主研发的一款产品。支持脉冲接口,RS485接口和CAN接口,内置高效FOC矢量算法,采用高精度编码器,定位精度高,响应速度快。适合小型机械臂,医疗器械,雕刻机,自动化产品以及电子竞赛等应用。
1.2 技术参数

1. 3 制动模式
SmartMotor60没有外接制动电阻接口,当负载惯量较大时,建议购买专用制动模块,来保证母线电压质量。制动模块接线如下图:
SmartMotor80有外接制动电阻接口,选择合适制动电阻即可,无需制动模块。
1.4 接口说明

1. 5 指示灯状态说明表
状态指示灯分为绿色运行指示灯,和红色故障指示灯,闪烁频率为 0.5HZ
红色故障指示灯状态见:第11部分《故障代码对应表》
第2部分 接线方法
2.1 脉冲控制接线方法
脉冲接口支持 3.3V-24V 输入,最大接收脉冲频率为 100KHZ,占空比尽量1:1,否则可能丢失脉冲,导致定位异常。
PULS/DIR端口带10mA限流,DI1端口带2KΩ限流电阻,可3.3V-24V信号直接输入,无需外部另加限流电阻。
2.1.1 共阳接线方法

2.1.2 共阴接线方法

2.1.3 差分接线方法

2.2 输入端口接线方法
输入端口包含 公共端DIC,输入端口DI1,DI2,DI3,其中DI1 可用作电机使能信号。
输入电压范围DC3.3-24V,输入信号最高频率100Hz。
DI1,DI2,DI3 端口均带2KΩ限流电阻,接线方法一致。
2.2.1 共阳接线方法

2.2.2 共阴接线方法

2.3 输出端口接线方法
共有2个输出端口:DO1+/DO1- ,DO2+/DO2- 。
DO1 最大驱动电流800mA。
DO2最大驱动电流400mA。
如需要驱动更大负载,请用继电器转换。
2.4 CAN接线方法
2.4.1 单机接线方法

2.4.2 多机接线方法

多机连接,如果通信信号噪音大,建议最后一个电机增加一个 120 欧姆终端电阻用来保证信号质量。
第3部分 CAN报文格式说明
报文使用标准帧,数据域最大长度为8字节
- 指令数据和返回数据为大端模式(Big-endian)。
- 地址(ID)范围00~2047,默认地址为01, 广播地址为00。
- 数据长度(DLC)最大值8,指示数据域字节数。
- 功能码(code)执行相应指令,例如0x82设置工作模式。
- 指令数据或返回数据,详见《CAN指令说明》。
- 校验和CRC为 地址和数据域累加,取低8位。
例如读取编码器值指令:
校验和 CRC = (0x01 + 0x31) & 0xFF = 0x32 & 0xFF = 0x32
-
位置控制模式下,位置计数单位有“脉冲单位”和“编码器单位”2种。
脉冲单位:即电机接收1个脉冲,转动的角度值。
-
如从机收到未定义的功能码,返回数据如下:

注意:使用广播地址或分组地址发送命令,从机不应答。
第4部分 CAN指令说明
注1:使用广播地址或分组地址发送命令,从机不应答。
注2: 以下章节,默认从机地址为01。
4.1 只读参数指令
1. 读取绝对位置

记录上电后(使能或不使能),以脉冲单位计数的绝对位置。
单圈值范围可变,和84H指令设置的每圈脉冲数(细分)有关。
比如设置每圈脉冲数3200
计算规则:
电机轴逆时针转一圈,脉冲单位 +3200;
电机轴顺时针转一圈,脉冲单位 -3200;
注:指令绝对位置可通过92H指令清零。
2. 读取编码器绝对位置


记录上电后(使能或不使能),以编码器单位计数的绝对位置。
使用17bit编码器, 单圈值范围 0~0x20000
计算规则:
电机轴逆时针转一圈,编码器值 +0x20000;
电机轴顺时针转一圈,编码器值 -0x20000;
例如:
当前编码器值为0x1492A, 顺时针转一圈后(-0x20000),编码器值为0xFFFFFFFFFFFF492A。
当前编码器值为0x1492A, 逆时针转一圈后(+0x20000),编码器值为0x3492A。
注:编码器绝对位置不可通过92H指令清零。
3. 读取电机实时转速

注:转速单位为RPM, 逆时针转速大于0,顺时针转速小于0。
4. 读取输入累计脉冲数

5. 读取故障代码

注1: 故障代码定义见第11部分《故障代码对应表》
注2:可通过41H指令,复位故障报警
6. 读取实时转矩输出值

注:单位0.1% (100.0%对应电机额定转矩)
7. 读取母线电压和相电流值

注:母线电压单位0.1V, 相电流单位0.01A
8. 读取温度值

注:单位 ℃
9. 读取编码器位置偏差

10. 读取伺服使能状态

注:1:已使能 0:未使能
11. 读取版本信息

固件版本 firmVer[0] = 1 firmVer[1] = 0 firmVer[2] = 0
对应版本V1.0.0
硬件版本对应如下
4.2 设置通用参数指令
注意: 参数设置后,不直接保存,待所有参数设置完成后,使用42H指令统一保存。
1. 设置工作模式

status = 0 设置失败
status = 1 设置成功
2. 设置每圈脉冲数
即设置电机旋转 1 圈需要多少个脉冲输入。
设置指令:
比如:pulsPR = 3200,表示电机旋转 1 圈需要 3200个脉冲
返回数据:

status = 0 设置失败
status = 1 设置成功
3. 设置En 引脚有效电平
设置指令:
00 对应低电平使能(L)(默认值)
01 对应高电平使能(H)
02 对应一直使能(Hold)
注:
使能电平设置为L或H时,DI1自动用作En功能
使能电平设置为Hold时, DI1可用作其他功能
返回数据:
status = 0 设置失败
status = 1 设置成功
注意:该指令仅在非总线控制模式下有效,总线控制模式用F3指令使能电机。
4. 设置电机旋转方向

status = 0 设置失败
status = 1 设置成功
注:该指令需42H指令保存,复位重启后生效。
5. 使能断开停机方式选择

status = 0 设置失败
status = 1 设置成功
6. 设置编码器分频脉冲数
即设置电机旋转1圈,DO 端口输出脉冲数。
status = 0 设置失败
status = 1 设置成功
7. 设置CAN比特率

status = 0 设置失败
status = 1 设置成功
注:该指令需42H指令保存,复位重启后生效。
8. 设置从机地址

status = 0 设置失败
status = 1 设置成功
注:该指令需42H指令保存,复位重启后生效。
9. 设置分组地址

status = 0 设置失败
status = 1 设置成功
发送 01 FD 01 2C 64 00 0C 80 1B 电机1 运行
发送 00 FD 01 2C 64 00 0C 80 1A 电机1-6 运行
发送 50 FD 01 2C 64 00 0C 80 6A 电机1-3 运行
发送 51 FD 01 2C 64 00 0C 80 6B 电机4-6 运行
注意:使用分组地址发送命令,从机不应答。
10. 设置从机应答模式

ackMode = 0 从机无应答模式
ackMode = 1 从机不主动发起数据模式
ackMode = 2 从机主动发起数据模式 (默认值)
应答模式说明:
以单次位置控制运行为例:
主机发送FA 01 FD 00 C8 00 64 00 00 7D 00 CRC
a. 无应答模式(ackMode = 0)
从机不返回任何信息
b. 不主动发起数据模式(ackMode = 1)
从机立即返回 位置控制开始01或失败00
c. 默认模式(ackMode = 2)
从机立即返回 位置控制开始01或失败00
等电机运行完成后,返回02
status = 0 设置失败
status = 1 设置成功
11. 设置用户自定义参数

status = 0 设置失败
status = 1 设置成功
4.3 设置性能参数指令
1. 增益参数
- 位置环增益 Kp
Kp值影响电机对位置误差的响应速度和调节能力。
Kp值较大能使电机对位置误差迅速做出反应,减小位置跟踪误差。
Kp值过大会产生振荡甚至不稳定。
- 速度环增益 Kv
Kv值影响电机对速度误差的响应速度。
Kv值较大能使电机对速度偏差迅速做出反应,调整转速,减小速度误差。
Kv值过大会产生振荡甚至不稳定,速度波动加剧。
- 速度环积分时间常数 Tvi
Tvi是指在速度环控制系统的积分环节中,积分作用的时间尺度参数。
Tvi较小能使电机更快地消除稳态误差,但可能会导致系统超调量增大,甚至引起系统振荡;Tvi较大会使消除稳态误差的过程变慢,但系统的稳定性相对较好,超调量较小。

status = 0 设置失败
status = 1 设置成功
2. 刚性等级选择表
刚性等级指电机在受到外力作用时,维持自身运动状态和位置精度的性能。
位置环增益、速度环增益等参数的调整会改变电机的响应特性和输出力矩,进而影响电机的刚性。
较高的刚性等级有助于提高伺服电机的位置控制精度,但过高的增益可能导致系统不稳定,产生振荡或超调。

status = 0 设置失败
status = 1 设置成功
3. 过载保护增益
电机在运行过程中,可能会出现过载,长时间过载会导致电机过热、损坏。
过载保护增益(OLP)是用于设置过载保护启动灵敏度的参数。
OLP = 100 等于10S启动过载保护。
status = 0 设置失败
status = 1 设置成功
4. 负载转动惯量比
负载转动惯量比(Kj),是指在系统中,负载的转动惯量与电机转子转动惯量的比值,它对电机的控制精度、响应速度和稳定性等都有重要影响。
status = 0 设置失败
status = 1 设置成功
5. 位置滤波时间常数
设置位置指令的低通滤波时间常数。
设置合适参数可以减小电机冲击,参数过大也会导致定位响应延迟增大。
status = 0 设置失败
status = 1 设置成功
6. 位置偏差故障阀值
设置位置模式下位置偏差故障报警阈值。
当电机实际位置与指令位置偏差超过此参数值,将触发故障报警。
使用编码器单位 ,如需使电机偏差1圈时触发报警,
则设置阀值pDeviation = 131072 ꓫ 1 = 131072

status = 0 设置失败
status = 1 设置成功
4.4 IO端口操作指令
电机有3个输入端口(DI),2个输出端口(DO),可以分别设置不同功能选项。
1. 输入端口设置

注1:一个功能选项只能关联一个DI端口。
注2:功能选项“8”,当使用“85H”指令设置En引脚有效电平为L或H时,自动设置DI1为“电机使能”功能。 不可使用“21H”指令设置该功能。

DIx功能 见上《输入端口DI 功能选项表》
Funx 00-08 :对应DI功能选项表功能
Funx FF: 保持原有功能,不做改变
DIx逻辑
Logicx 00: 表示信号导通有效,断开无效 (默认值)
Logicx 01: 表示信号断开有效,导通无效
Logicx FF: 保持原有逻辑,不做改变
注:输入端口出厂默认功能如下
DI1 电机使能
DI2 故障报警复位
DI3 紧急停机
返回数据:

status = 0 设置失败
status = 1 设置成功
注:一个功能选项只能关联一个DI端口,否则会设置失败
2. 输出端口设置

DOx功能见上《输出端口DO 功能选项表》
Funx 00-08 :对应DO功能选项表功能
Funx FF: 保持原有功能,不做改变
DOx逻辑
Logicx 00: 表示信号有效时,光耦导通 (默认值)
Logicx 01: 表示信号有效时,光耦关断
Logicx FF: 保持原有逻辑,不做改变
注:输出端口出厂默认功能如下
DO1 伺服电机准备好
DO2 故障报警输出

status = 0 设置失败
status = 1 设置成功
3. 读取IO端口状态

注:端口有效,对应比特置1;端口无效,对应比特置0
例如DO1有效,其余DO无效,则DO端口状态值为00000001
4. 写输出端口

status = 0 设置失败
status = 1 设置成功
4.5 EEPROM操作指令
1. 保存参数至EEPROM指令
将所有改变的参数,统一保存到EEPROM。
保存指令:
status = 0 保存失败
status = 1 保存成功
status = 2 数据错误
注:如返回“数据错误”,需复位重启后,再次保存。
最好在电机不使能状态保存数据,避免数据错误。
2. 恢复出厂参数指令
保存指令:
status = 0 恢复失败
status = 1 恢复成功
注:恢复出厂参数后,电机会自动重启。
4.6 复位控制指令
复位指令:
status = 0 复位失败
status = 1 复位成功
4.7 读取配置参数指令
如需读取已配置的某个参数值,在该参数对应的功能码前,加上控制字00H即可。
读取指令如下:
param : 对应的参数值
注:param数据格式和设置该参数时的数据格式保持一致。
如该参数不支持读取,则返回数据如下:

比如读取“工作模式(code = 82H)”
读取指令01 00 82 83
返回数据01 82 00 04 87
第5部分 电机回零说明
电机回零方式分为“原点回零” 和“坐标回零” 2类。
注1:电机回零功能只在“位置模式”下有效。
注2:电机回零功能在电机使能时才执行。
5.1 原点回零方式说明
“原点回零”分为“开关原点回零”和“机械限位原点回零” 2种方式。
1. 开关原点回零
需先通过21H指令,设置对应端口的功能和逻辑。
开关可以选择 “外部原点开关”,“正向超程开关”,“反向超程开关” 其中一个。
回零过程如下:
a. 电机首先以设定的“方向”, “高速” 搜索开关;
b. 遇到开关信号上升沿开始“低速”运行脱离开关;
c. 脱离到开关信号下降沿,电机换向,并继续“低速”搜索开关信号上升沿;
d. 遇到开关信号上升沿,再运行到预设的“原点偏移量”位置停止;
e. 标记当前位置为“坐标零点”,原点回零成功。
2. 机械限位原点回零
需预先通过指令94H设置机械限位回零时回零转矩,设置的转矩能够带动负载即可,不可过大,以免损坏设备。
回零过程如下:
a. 电机首先以设定的“方向”, “转矩”, “低速”搜索机械限位位置;
b. 遇到机械限位,挡住堵转,再运行到预设的“原点偏移量”位置停止;
c. 标记当前位置为“坐标零点”,原点回零成功。
5.2 坐标回零方式说明
坐标回零包括“直接坐标回零”和“单圈坐标回零”
1. 直接坐标回零
直接坐标回零,需要先执行“原点回零”功能,确定“坐标零点”。
回零过程如下:
无需搜索过程,直接高速运行到“坐标零点”位置,回零成功。
2. 单圈坐标回零
需预先通过指令92H,设置单圈内的“坐标零点”。
需预先通过指令93H,设置单圈回零方向:“正向”、“反向”、“就近”。
回零过程如下:
a. 电机以设定的回零方向,“高速”回到预先设定的单圈内的“坐标零点”位置;
b. 到达后将当前位置清零,单圈坐标回零成功。
5.3 设置回零相关参数
1. 设置回零模式、方向、触发方式、超时参数
设置指令如下:

HmMode: 设置回零模式
00:外部原点开关回零 (需21H指令配置1个DI端口为功能6)
01:正向超程开关回零 (需21H指令配置1个DI端口为功能4)
02:反向超程开关回零 (需21H指令配置1个DI端口为功能5)
03:机械限位回零
04:单圈回零
FF: 关闭原点回零功能 (默认值)
HmDir: 设置回零方向
00:正向回零 (默认值)
01:反向回零
02:就近回零(仅适用单圈回零)
HmTrig: 设置回零触发方式
00:指令触发回零 (默认值)
01: IO信号触发回零 (需21H指令配置1个DI端口为功能7)
02:上电自动回零
HmTimOut: 设置回零超时时间(默认值 = 60000)
电机在此时间内未到达零点,则报警,故障代码"0801H"。
注意:如需要的DI端口对应功能未配置,执行回零会失败。

status = 0 设置失败
status = 1 设置成功
2. 设置原点偏移量、回零转矩参数
设置指令如下:

HmTorque: 设置机械限位回零时的转矩(范围0~3000,默认值=500)
Orgoffset : 设置回零后的偏移位置 (默认值=0,指令单位)
当 Orgoffset = 0 时,电机回零后,即停止。
当 Orgoffset ≠0 时,电机回零后,会继续运行到偏移位置,才停止。
注:
机械限位回零时,Orgoffset值(正值=正向,负值=反向)与回零方向(正向、反向) 必须匹配(即Orgoffset >=0 HmDir=1 或 Orgoffset<=0 HmDir=0),否则回零会失败。
单圈回零时,Orgoffset值无效。

status = 0 设置失败
status = 1 设置成功
3. 设置回零速度、加速度参数
设置指令如下:
HiSpeed : 设置回零时的“高速”转速(范围0~3000RPM,默认值=100)
LoSpeed : 设置回零时的“低速”转速 (范围0~100RPM,默认值=10)
AccTim: 设置回零时电机0-1000RPM的变速时间(范围0~200ms,默认值=200)
AccTim值越大,加减速越慢。
返回数据:
status = 0 设置失败
status = 1 设置成功
4. 设置当前位置为零点指令

status = 0 设置失败
status = 1 设置成功
5. 执行回零指令

status = 0 回零失败
status = 1 回零开始
status = 2 回零完成
status = 3 回零超时失败
注意:执行91H指令时,电机需先使能(锁轴)。
5.4 开关原点回零配置示例
以“外部原点开关”为例,“正向超程开关”和“反向超程开关”的配置方法类似。
5.4.1 指令触发回零
-
配置DI2功能为“外部原点开关”
01 21 FF FF 06 00 FF FF CRC -
设置93H参数:外部原点开关回零,正向,指令触发,超时60000ms
01 93 00 00 00 EA 60 CRC -
设置94H参数: 回零转矩500,原点偏移量0
01 94 01 90 00 00 00 00 CRC -
设置95H参数: 高速50,低速10,加减速时间200
01 95 00 32 00 0A 00 C8 CRC -
保存参数
01 42 01 CRC
注:以上参数设置一次即可,无需重复设置。 -
执行原点回零
01 91 00 CRC
如原点开关DI2信号未触发(开关断开),电机如下运行:
正向(逆时针)高速运行 → 开关闭合 → 反向(顺时针)低速运行 → 开关断开 → 正向(逆时针)低速运行 → 开关闭合 → 停止。
如原点开关DI2信号已触发(开关闭合),电机如下运行:
反向(顺时针)低速运行 → 开关断开 → 正向(逆时针)低速运行 → 开关闭合 → 停止。
- 执行坐标回零
01 91 01 CRC
需先执行步骤5,确定零点坐标后,才可执行坐标回零。
如电机不在零点位置,则直接高速运行到零点位置。
5.4.2 IO信号触发回零
-
配置DI2功能为“外部原点开关”,DI3功能为“回零使能”
01 21 FF FF 06 00 07 00 CRC -
设置93H参数:外部原点开关回零,正向,IO触发,超时60000ms
01 93 00 00 01 EA 60 CRC -
设置94H参数: 回零转矩500,原点偏移量0
01 94 01 90 00 00 00 00 CRC -
设置95H参数: 高速50,低速10,加减速时间200
01 95 00 32 00 0A 00 C8 CRC -
保存参数
01 42 01 CRC
注:以上参数设置一次即可,无需重复设置。 -
如电机未使能,需使能电机
-
执行原点回零,令DI3信号有效即可
如开关信号DI2未触发(开关断开),电机如下运行:
正向(逆时针)高速运行 → 开关闭合 → 反向(顺时针)低速运行 → 开关断开 → 正向(逆时针)低速运行 → 开关闭合 → 停止。
如开关信号DI2已触发(开关闭合),电机如下运行:
反向(顺时针)低速运行 → 开关断开 → 正向(逆时针)低速运行 → 开关闭合 → 停止。
- 执行坐标回零
再次令DI3信号有效
或执行指令01 91 01 CRC
如电机不在零点位置,则直接高速运行到零点位置。
5.4.3 上电自动回零
-
配置DI2功能为“外部原点开关”
01 21 FF FF 06 00 FF FF CRC -
设置94H参数: 回零转矩500,原点偏移量0
01 94 01 90 00 00 00 00 CRC -
设置95H参数: 高速50,低速10,加减速时间200
01 95 00 32 00 0A 00 C8 CRC -
设置93H参数:外部原点开关回零,正向,上电自动回零,超时60000ms
01 93 00 00 02 EA 60 CRC -
保存参数
01 42 01 CRC
注1:以上参数设置一次即可,无需重复设置。
注2:设置93H参数后,如电机已使能,会自动回零。
- 电机开机,且使能后,即执行自动回零
如原点开关DI2信号未触发(开关断开),电机如下运行:
正向(逆时针)高速运行 → 开关闭合 → 反向(顺时针)低速运行 → 开关断开 → 正向(逆时针)低速运行 → 开关闭合 → 停止。
如原点开关DI2信号已触发(开关闭合),电机如下运行:
反向(顺时针)低速运行 → 开关断开 → 正向(逆时针)低速运行 → 开关闭合 → 停止。
- 执行坐标回零
01 91 01 CRC
如电机不在零点位置,则直接高速运行到零点位置。
5.5 机械限位原点回零配置示例
5.5.1 指令触发回零
-
设置93H参数:机械限位回零,正向,指令触发,超时60000ms
01 93 03 00 00 EA 60 CRC -
设置94H参数: 回零转矩100,原点偏移量0
01 94 00 64 00 00 00 00 CRC -
设置95H参数: 高速50,低速10,加减速时间200
01 95 00 32 00 0A 00 C8 CRC -
保存参数
01 42 01 CRC
注:以上参数设置一次即可,无需重复设置。 -
执行原点回零
01 91 00 CRC
电机如下运行:
正向(逆时针)低速运行 → 到达机械限位→ 停止。 -
执行坐标回零
01 91 01 CRC
需先执行步骤5,确定零点坐标后,才可执行坐标回零。
如电机不在零点位置,则直接高速运行到零点位置。
5.5.2 IO信号触发回零
-
配置DI3功能为“回零使能”
01 21 FF FF FF FF 07 00 CRC -
设置93H参数:机械限位回零,正向,IO触发,超时60000ms
01 93 03 00 01 EA 60 CRC -
设置94H参数: 回零转矩100,原点偏移量0
01 94 00 64 00 00 00 00 CRC -
设置95H参数: 高速50,低速10,加减速时间200
01 95 00 32 00 0A 00 C8 CRC -
保存参数
01 42 01 CRC
注:以上参数设置一次即可,无需重复设置。 -
如电机未使能,需使能电机
-
执行原点回零,令DI3信号有效即可
电机如下运行:
正向(逆时针)低速运行 → 到达机械限位→ 停止。 -
执行坐标回零
再次令DI3信号有效
或执行指令01 91 01 CRC
如电机不在零点位置,则直接高速运行到零点位置。
5.5.3 上电自动回零
-
设置94H参数: 回零转矩100,原点偏移量0
01 94 00 64 00 00 00 00 CRC -
设置95H参数: 高速50,低速10,加减速时间200
01 95 00 32 00 0A 00 C8 CRC -
设置93H参数:机械限位回零,正向,上电自动回零,超时60000ms
01 93 03 00 02 EA 60 CRC -
保存参数
01 42 01 CRC
注1:以上参数设置一次即可,无需重复设置。
注2:设置完93H参数后,如电机已使能,会自动回零。
-
电机开机,且使能后,即自动回零
电机如下运行:
正向(逆时针)低速运行 → 到达机械限位→ 停止。 -
执行坐标回零
01 91 01 CRC
如电机不在零点位置,则直接高速运行到零点位置。
5.6 单圈坐标回零配置示例
5.6.1 指令触发回零
-
把电机轴移动到合适位置,设定零点坐标
01 92 00 CRC -
设置93H参数:单圈回零,就近,指令触发,超时参数60000ms
01 93 04 02 00 EA 60 CRC -
设置95H参数: 高速50,低速10,加减速时间200
01 95 00 32 00 0A 00 C8 CRC -
保存参数
01 42 01 CRC
注:以上参数设置一次即可,无需重复设置。 -
如电机未使能,需使能电机
-
执行单圈坐标回零
01 91 01 CRC
电机如下运行:
高速运行 → 到达零点坐标→ 停止。
5.6.2 IO信号触发回零
-
把电机轴移动到合适位置,设定零点坐标
01 92 00 CRC -
配置DI3功能为“回零使能”
01 21 FF FF FF FF 07 00 CRC -
设置93H参数:单圈回零,就近,IO触发,超时参数60000ms
01 93 04 02 01 EA 60 CRC -
设置95H参数: 高速50,低速10,加减速时间200
01 95 00 32 00 0A 00 C8 CRC -
保存参数
01 42 01 CRC
注:以上参数设置一次即可,无需重复设置。
- 如电机未使能,需使能电机
- 执行单圈回零
令DI3信号有效
或执行指令01 91 01 CRC
电机如下运行:
高速运行 → 到达零点坐标→ 停止。
5.6.3 上电自动回零
-
把电机轴移动到合适位置,设定零点坐标
01 92 00 CRC -
设置93H参数:单圈回零,就近,上电自动回零,超时参数60000ms
01 93 04 02 02 EA 60 CRC -
设置95H参数: 高速50,低速10,加减速时间200
01 95 00 32 00 0A 00 C8 CRC -
保存参数
01 42 01 CRC
注:以上参数设置一次即可,无需重复设置。
- 电机开机,且使能后,即自动回零
或执行指令01 91 01 CRC
电机如下运行:
高速运行 → 到达零点坐标→ 停止。
第6部分 位置控制模式说明
位置控制模式以“脉冲单位”作为位置计数单位。
位置控制模式以坐标位置区分:相对位置和绝对位置。
位置控制模式以运行方式区分:单次运行和循环运行。
6.1 相对位置和绝对位置说明

假设电机当前位置在C点
以相对位置运行200后,电机到达E点。
以相对位置运行-200后,电机到达A点。
以绝对位置运行100后,电机到达C点。
以绝对位置运行-100后,电机到达A点。
6.2 单次位置运行和多段位置运行说明

单次位置运行,即电机以设定的速度、加速度,从A点运行到B点,即停止。
多段位置运行时,最多可以配置4段位置参数。
每段可以独立配置位移量,速度,加速度,运行完后等待时间参数。
以4段位置运行为例:
单次多段位置运行时,电机运行顺序为
A→B→C→D→E→停止。
循环多段位置运行时,电机运行顺序为
A→B→C→D→E→A→B→… 一直循环运行。
6.3 通用控制指令
通用控制指令,适用于位置控制模式,速度控制模式和转矩控制模式。
6.3.1 停机指令
停机指令:
stopMode = 0 设置正常停机
stopMode = 1 设置紧急停机
stopMode = 2 解除紧急停机
返回数据:
status = 0 设置失败
status = 1 设置成功
注1:紧急停机成功后,需解除紧急停机,才可再运行电机。
6.3.2 查询电机运行状态指令
查询指令:
返回数据:
status = 0 查询失败
status = 1 电机停止运行
status = 2 电机加速运行
status = 3 电机减速运行
status = 4 电机全速运行
6.3.3 电机使能指令
使能指令:
enable = 1 使能电机
enable = 0 释放电机
返回数据:
status = 0 设置失败
status = 1 设置成功
6.3.4 设置上电自动运行指令
设置指令:
cmd = 00 取消上电自动运行
cmd = 01 设置上电自动运行
返回数据:
status = 0 设置失败
status = 1 设置成功
注1:位置控制模式下,如设置了上电自动回零功能,上电后,先等待回零完成,再执行上电自动运行功能。
注2:如电机正在运行,先F7H指令停止电机运行,然后42H指令保存参数。
6.3.5 设置到达阀值指令
到达阀值(threshold)说明如下:
-
位置控制模式
即定位完成阀值
当电机位置偏差< threshold时,定位完成信号输出有效(DO功能选项3)。
threshold 范围:0~65535 单位:脉冲单位 默认值:100 -
速度控制模式
即速度到达阀值
当电机实际转速>=threshold时,速度到达信号输出有效(DO功能选项5)。
threshold 范围:10~3000 单位:RPM 默认值:1000 -
转矩控制模式
即转矩到达阀值
当电机实际转矩>=threshold时,转矩到达信号输出有效(DO功能选项4)。
threshold 范围:0~3000 单位:0.1%额定转矩 默认值:200
注意:当控制模式改变时,threshold会自动恢复到该控制模式的默认值。
status = 0 设置失败
status = 1 设置成功
6.4 位置控制配置指令

runMode :
00 单次位置运行(默认值)
01 单次多段位置运行
02 循环多段位置运行
shiftMode:
00 相对位移(默认值)
01 绝对位移
shiftNum:
01~04 位移段数(默认值01)
remianMode:
00 循环运行暂停,再次启动后,继续运行剩余段数(默认值)
01 循环运行暂停,再次启动后,从第1段开始运行
返回数据:
status = 0 设置失败
status = 1 设置成功
6.5 单次位置运行
6.5.1 单次位置运行指令
运行指令:
Speed : 最高转速 (范围1~3000 , 单位: RPM)
accTime : 加减速时间 (范围1~4095, 单位: 10ms)
pulses : 位移量 (范围-8388608~8388607, 单位:脉冲单位)
注1:accTime 为 0~1000RPM 的加速和 1000~0RPM 的减速时间,下同。
注2:pulses 为正/负数,决定电机运行方向。
例如,设置最高转速300RPM,减速时间10000ms,位移量 80000,指令如下:
01 FD 12 C3 E8 00 1F 40 CRC
返回数据:
status = 0 运行失败
status = 1 运行开始
status = 2 运行完成
注:可以通过指令“8CH”,设置是否返回运行状态。
6.5.2 单次相对位置运行配置示例
-
设置82H参数:位置模式、总线控制
01 82 00 04 CRC -
设置84H参数:3200脉冲/圈
01 84 00 00 0C 80 CRC -
设置96H参数:单次位置运行、 相对位移 、位移段数
01 96 00 00 01 01 CRC -
保存参数
01 42 01 CRC -
坐标清零,方便观察(可选项)
01 92 00 CRC
注:以上参数设置一次即可,无需重复设置。
-
控制电机运行,设置FDH参数
最高转速300RPM,加减速时间1000ms,位移量32000(10圈)
01 FD 12 C0 64 00 7D 00 CRC -
可观察到电机开始运行
-
运行结束后,查看坐标,和设置的位移量一致
01 31 CRC -
运行过程中
01 F7 00 CRC 指令可终止电机运行
01 F1 CRC 指令可查询电机是否到位
如需上电自动运行,再增加如下配置:
-
设置上电自动运行
01 FF 01 CRC -
保存参数
01 42 01 CRC
6.5.3 单次绝对位置运行配置示例
-
设置82H参数:位置模式、总线控制
01 82 00 04 CRC -
设置84H参数:3200脉冲/圈
01 84 00 00 0C 80 CRC -
设置96H参数:单次位置运行、 绝对位移 、位移段数
01 96 00 01 01 01 CRC -
保存参数
01 42 01 CRC -
坐标清零,方便观察
01 92 00 CRC
注:以上参数设置一次即可,无需重复设置。
- 控制电机运行,设置FDH参数
最高转速300RPM,加减速时间1000ms,位移量32000(10圈)
01 FD 12 C0 64 00 7D 00 CRC
-
可观察到电机开始运行
-
运行结束后,查看坐标,和设置的位移量一致
01 31 CRC -
运行过程中
01 F7 00 CRC 指令可终止电机运行
01 F1 CRC 指令可查询电机是否到位
如需上电自动运行,再增加如下配置:
-
设置上电自动运行
01 FF 01 CRC -
保存参数
01 42 01 CRC
6.6 多段位置运行
6.6.1 位段参数配置指令
1. 第1段参数配置指令
配置指令1:
status = 0 设置失败
status = 1 设置成功
配置指令2:
status = 0 设置失败
status = 1 设置成功
注3:运行中可以修改以上参数,下一次运行到本段时参数生效,其他段相同。
2. 第2段参数配置指令
配置指令1:
status = 0 设置失败
status = 1 设置成功
配置指令2:
status = 0 设置失败
status = 1 设置成功
3. 第3段参数配置指令
配置指令1:
status = 0 设置失败
status = 1 设置成功
配置指令2:
status = 0 设置失败
status = 1 设置成功
4. 第4段参数配置指令
配置指令1:
status = 0 设置失败
status = 1 设置成功
配置指令2:
status = 0 设置失败
status = 1 设置成功
6.6.2 多段位置运行指令
运行指令:
status = 0 运行失败
status = 1 运行开始
注:可以通过指令“8CH”,设置是否返回运行状态。
6.6.3 单次多段相对位置运行配置示例
-
设置82H参数:位置模式、总线控制
01 82 00 04 CRC -
设置84H参数:3200脉冲/圈
01 84 00 00 0C 80 CRC -
设置96H参数:单次多段位置运行、 相对位移 、4段位移
01 96 01 00 04 01 CRC -
设置97H参数:第1段参数(200RPM, 1000ms)
01 97 00 C8 03 E8 CRC -
设置98H参数:第1段参数(2000ms, 32000pulses)
01 98 07 D0 00 00 7D 00 CRC -
设置99H参数:第2段参数(300RPM,100ms)
01 99 01 2C 00 64 CRC -
设置9AH参数:第2段参数(2000ms,-32000pulses)
01 9A 07 D0 FF FF 83 00 CRC -
设置9BH参数:第3段参数(600RPM,2000ms)
01 9B 02 58 07 D0 CRC -
设置9CH参数:第3段参数(500ms,128000pulses)
01 9C 01 F4 00 01 F4 00 CRC -
设置9DH参数:第4段参数(1000RPM,100ms)
01 9D 03 E8 00 64 CRC -
设置9EH参数:第4段参数(10ms,-128000pulses)
01 9E 00 0A FF FE 0C 00 CRC -
保存参数
01 42 01 CRC -
坐标清零,方便观察(可选项)
01 92 00 CRC
注:以上参数设置一次即可,无需重复设置。
-
控制电机运行
01 FE 01 CRC -
可观察到电机开始运行
-
运行结束后,查看坐标,和设置的位移量一致
01 31 CRC -
运行过程中
01 F7 00 CRC 指令可终止电机运行
如需上电自动运行,再增加如下配置:
-
设置上电自动运行
01 FF 01 CRC -
保存参数
01 42 01 CRC
6.6.4 单次多段绝对位置运行配置示例
-
设置82H参数:位置模式、总线控制
01 82 00 04 CRC -
设置84H参数:3200脉冲/圈
01 84 00 00 0C 80 CRC -
设置96H参数:单次多段位置运行、 绝对位移 、4段位移
01 96 01 01 04 01 CRC -
设置97H参数:第1段参数(200RPM, 1000ms)
01 97 00 C8 03 E8 CRC -
设置98H参数:第1段参数(2000ms, 32000pulses)
01 98 07 D0 00 00 7D 00 CRC -
设置99H参数:第2段参数(300RPM,100ms)
01 99 01 2C 00 64 CRC -
设置9AH参数:第2段参数(2000ms,-32000pulses)
01 9A 07 D0 FF FF 83 00 CRC -
设置9BH参数:第3段参数(600RPM,2000ms)
01 9B 02 58 07 D0 CRC -
设置9CH参数:第3段参数(500ms,128000pulses)
01 9C 01 F4 00 01 F4 00 CRC -
设置9DH参数:第4段参数(1000RPM,100ms)
01 9D 03 E8 00 64 CRC -
设置9EH参数:第4段参数(10ms,0pulses)
01 9E 00 0A 00 00 00 00 CRC -
保存参数
01 42 01 CRC -
坐标清零,方便观察(可选项)
01 92 00 CRC
注:以上参数设置一次即可,无需重复设置。
-
控制电机运行
01 FE 01 CRC -
可观察到电机开始运行
-
运行结束后,查看坐标,和设置的位移量一致
01 31 CRC -
运行过程中
01 F7 00 CRC 指令可终止电机运行
如需上电自动运行,再增加如下配置:
-
设置上电自动运行
01 FF 01 CRC -
保存参数
01 42 01 CRC
6.6.5 循环多段相对位置运行配置示例
-
设置82H参数:位置模式、总线控制
01 82 00 04 CRC -
设置84H参数:3200脉冲/圈
01 84 00 00 0C 80 CRC -
设置96H参数:循环多段位置运行、 相对位移 、4段位移
01 96 02 00 04 01 CRC -
设置97H参数:第1段参数(200RPM, 1000ms)
01 97 00 C8 03 E8 CRC -
设置98H参数:第1段参数(2000ms, 32000pulses)
01 98 07 D0 00 00 7D 00 CRC -
设置99H参数:第2段参数(300RPM,100ms)
01 99 01 2C 00 64 CRC -
设置9AH参数:第2段参数(2000ms,-32000pulses)
01 9A 07 D0 FF FF 83 00 CRC -
设置9BH参数:第3段参数(600RPM,2000ms)
01 9B 02 58 07 D0 CRC -
设置9CH参数:第3段参数(500ms,128000pulses)
01 9C 01 F4 00 01 F4 00 CRC -
设置9DH参数:第4段参数(1000RPM,100ms)
01 9D 03 E8 00 64 CRC -
设置9EH参数:第4段参数(10ms,-128000pulses)
01 9E 00 0A FF FE 0C 00 CRC -
保存参数
01 42 01 CRC -
坐标清零,方便观察(可选项)
01 92 00 CRC
注:以上参数设置一次即可,无需重复设置。
-
控制电机运行
01 FE 01 CRC -
可观察到电机开始运行
-
运行结束后,查看坐标,和设置的位移量一致
01 31 CRC -
运行过程中
01 F7 00 CRC 指令可终止电机运行
如需上电自动运行,再增加如下配置:
-
设置上电自动运行
01 FF 01 CRC -
保存参数
01 42 01 CRC
6.6.6 循环多段绝对位置运行配置示例
-
设置82H参数:位置模式、总线控制
01 82 00 04 CRC -
设置84H参数:3200脉冲/圈
01 84 00 00 0C 80 CRC -
设置96H参数:循环多段位置运行、 绝对位移 、4段位移
01 96 02 01 04 01 CRC -
设置97H参数:第1段参数(200RPM, 1000ms)
01 97 00 C8 03 E8 CRC -
设置98H参数:第1段参数(2000ms, 32000pulses)
01 98 07 D0 00 00 7D 00 CRC -
设置99H参数:第2段参数(300RPM,100ms)
01 99 01 2C 00 64 CRC -
设置9AH参数:第2段参数(2000ms,-32000pulses)
01 9A 07 D0 FF FF 83 00 CRC -
设置9BH参数:第3段参数(600RPM,2000ms)
01 9B 02 58 07 D0 CRC -
设置9CH参数:第3段参数(500ms,128000pulses)
01 9C 01 F4 00 01 F4 00 CRC -
设置9DH参数:第4段参数(1000RPM,100ms)
01 9D 03 E8 00 64 CRC -
设置9EH参数:第4段参数(10ms,0pulses)
01 9E 00 0A 00 00 00 00 CRC -
保存参数
01 42 01 CRC -
坐标清零,方便观察(可选项)
01 92 00 CRC
注:以上参数设置一次即可,无需重复设置。
-
控制电机运行
01 FE 01 CRC -
可观察到电机开始运行
-
运行结束后,查看坐标,和设置的位移量一致
01 31 CRC -
运行过程中
01 F7 00 CRC 指令可终止电机运行
如需上电自动运行,再增加如下配置:
-
设置上电自动运行
01 FF 01 CRC -
保存参数
01 42 01 CRC
6.7 多机同步位置运行
多机同步运行可以通过多段位置运行实现,举例如下:
假设n个电机(对应地址1,2,…,n),绝对位置同步运行。
-
设置第1个电机96H参数:单次多段位置运行、 绝对位移 、1段位移
01 96 01 01 01 01 CRC -
设置第1个电机97H参数:第1段参数(200,1000)
01 97 00 C8 03 E8 CRC -
设置第1个电机98H参数:第1段参数(2000,32000)
01 98 07 D0 00 00 7D 00 CRC -
设置第2个电机96H参数:单次多段位置运行、 绝对位移 、1段位移
02 96 01 01 01 01 CRC -
设置第2个电机97H参数:第1段参数(200,1000)
02 97 00 C8 03 E8 CRC -
设置第2个电机98H参数:第1段参数(2000,32000)
02 98 07 D0 00 00 7D 00 CRC -
设置第n个电机96H参数:单次多段位置运行、 绝对位移 、1段位移
0n 96 01 01 01 01 CRC -
设置第n个电机97H参数:第1段参数(200,1000)
0n 97 00 C8 03 E8 CRC -
设置第n个电机98H参数:第1段参数(2000,32000)
0n 98 07 D0 00 00 7D 00 CRC -
广播指令控制电机运行
00 FE 01 CRC
可观察到1,2,…,n电机同时运行。
第7部分 速度控制模式说明
速度控制模式分为单速模式和多速模式。
7.1 单速模式和多速模式说明

-
单速模式
单速模式,电机以设定的速度、加速度一直运行。 -
多速模式

多速模式运行时,最多可以配置4段速度参数。
每段可以独立配置速度,运行时间参数。
以4段速度运行为例:
单次多速运行时,电机运行顺序为
A→B→C→D→E→停止。
循环多速运行时,电机运行顺序为
A→B→C→D→E→A→B→… 一直循环运行。
7.2 单速模式运行

status = 0 运行失败
status = 1 运行开始
注:F7H指令可停止速度模式运行。
7.3 单速模式运行配置示例
-
设置82H参数:速度模式、总线控制
01 82 01 00 CRC -
设置F6H参数:转速200RPM,加速时间1000ms,减速时间1000ms
01 F6 00 C8 03 E8 03 E8 CRC -
观察电机运行
-
停止电机运行
01 F7 00 CRC
如需上电自动运行,再增加如下配置:
-
设置上电自动运行
01 FF 01 CRC -
保存参数
01 42 01 CRC
7.4 多速模式运行
7.4.1 速段参数配置指令
1. 通用配置指令

status = 0 设置失败
status = 1 设置成功
2. 第1段参数配置指令

status = 0 设置失败
status = 1 设置成功
3. 第2段参数配置指令

status = 0 设置失败
status = 1 设置成功
4. 第3段参数配置指令

status = 0 设置失败
status = 1 设置成功
5. 第4段参数配置指令

status = 0 设置失败
status = 1 设置成功
7.4.2 多速模式运行指令
多速模式运行无需额外指令,使用F3H指令,使能电机即开始运行。
F3H或F7H指令均可停止电机运行。
停机时,电机以87H指令设置的停机模式停止运行。
7.4.3 多速模式运行配置示例
-
设置82H参数:多速模式、总线控制
01 82 01 01 CRC -
设置A0H参数:单次运行, 4段速,加速时间100,减速时间100
01 A0 00 04 00 64 00 64 CRC -
设置A1H参数:第1段参数(50RPM,10000ms)
01 A1 00 32 00 64 CRC -
设置A2H参数:第2段参数(-50RPM,10000ms)
01 A2 FF CE 00 64 CRC -
设置A3H参数:第3段参数(200RPM,10000ms)
01 A3 00 C8 00 64 CRC -
设置A4H参数:第4段参数(-200RPM,10000ms)
01 A4 FF 38 00 64 CRC -
使能电机运行
01 F3 01 CRC -
观察电机运行
如需上电自动运行,再增加如下配置:
-
设置上电自动运行
01 FF 01 CRC -
保存参数
01 42 01 CRC
第8部分 转矩控制模式说明
转矩控制模式下,电机按照设置的输出转矩(torque)方向加速旋转,加速到最高转速限制(MaxSpeed)或输出转矩不足以支持继续加速,电机将停止加速,速度根据负载波动。
当负载等于输出转矩,电机将停止。
当负载大于输出转矩,电机将被拖动反向旋转,成为阻尼力矩。
设置合适的滤波常数(filterTime),可以使运行更平滑稳定,滤波常数过大也会降低电机响应速度。
8.1 转矩模式配置指令
配置指令1:
status = 0 设置失败
status = 1 设置成功
配置指令2:
status = 0 设置失败
status = 1 设置成功
8.2 转矩模式运行指令
转矩控制运行无需额外指令,使用F3H指令,使能电机即开始运行。
F3H或F7H指令均可停止转矩模式电机运行。
转矩模式停机时,电机以87H指令设置的停机模式停止运行。
8.3 转矩模式运行配置示例
-
设置82H参数:转矩模式、总线控制
01 82 02 00 CRC -
设置A6H参数:转矩100,滤波常数80
01 A6 00 64 00 50 CRC -
设置A7H参数:正向最高转速60,负向最高转速30
01 A7 00 3C 00 1E CRC -
使能电机运行
01 F3 01 CRC -
停止电机运行
01 F7 00 CRC
电机以87H指令设置的停机方式停止运行。
如需上电自动运行,再增加如下配置:
-
配置上电自动运行
01 FF 01 CRC -
保存参数
01 42 01 CRC
第9部分 常见问题和注意事项
9.1 注意事项
- 电源输入电压20V-60V;
- 不要带电拔插电源线或信号线,以免损坏驱动板;
9.2 常见问题

第10部分 售后和技术支持
创客基地 博客:https://blog.csdn.net/gjy_skyblue
[创客基地 B站: https://space.bilibili.com/393688975]
[创客基地 淘宝店:https://makerbase.taobao.com/]
创客基地 MKS 闭环步进电机售后群 948665794
第11部分 故障代码表
注:故障代码可通过3B指令读出。

更多推荐



所有评论(0)