产品说明书
MD系列电机是一款集成了伺服驱动器和编码器的一体化关节电机。
可以实现力矩控制、速度控制、位置控制等功能。
| 参数 | 说明 |
|---|---|
| 输入电压 | 10~30VDC |
| 输入电流 | 0.1A~2A 取决于电机实际运行工况 |
| 输出额定电流 | 1Arms |
| 输出峰值电流 | 2Ap |
| 编码器接口 | 板载磁编芯片 |
| 驱动器控制接口 | 1、RS485(Modbus RTU) 2、CAN |
| 额定功率 | 10W S3工作制 |
| 额定电压 | 24V |
| 额定扭矩 | 0.05Nm |
| 峰值扭矩 | 0.1Nm |
| 额定转速 | 2000rpm |
| 使用温度 | 0℃~40℃ |
驱动器接口包含电源接口、RS485通讯接口、CAN通讯接口及编码器接口,详见产品外形尺寸图。
外形尺寸图请参见随附的尺寸图文件:MD35ST30_尺寸图.pdf
初次使用或更改电机参数时,请按照以下步骤进行:
暂只支持RS485,故需要一个 USB 转RS485 模块。上位机主要有两个功能:设置参数和调试。
当站号设置为255时,可以和任何站号的驱动器连接,驱动器默认站号为1。打开完成后,左下角状态条变成绿色,并提示"刷新中...",这时驱动器的数据已经实时更新到软件界面中。
电机型号:自己设置电机参数时,把电机型号设置为0
反馈类型:0:无编码器 1:增量式编码器 4:多摩川通讯式编码器 8:板载编码器芯片
编码器分辨率:如果是增量式编码器应该设置成"线数×4"(1000线编码器设置为4000)
电机极对数:根据电机实际极对数设置
励磁模式:0:电机抖动几下找磁场位置(增量式编码器需要用这个模式) 1:通讯式编码器根据单圈绝对位置找磁场位置
励磁电流:抖动找磁场位置时的电流,一般设置为电机额定电流
编码器方向:可以设置为-1或1,和编码器实际安装方向有关
速度方向:可以设置为-1或1,若使能找完磁场位置后电机以最快速度往一个方向运行,则把这个参数设置为相反的值
驱动器支持多种工作模式,通过Modbus地址60或CAN对象0x6060进行设置:
| 模式值 | 模式名称 | 说明 |
|---|---|---|
| 0 | 开环拖动 | 内部使用 |
| 1 | 轨迹位置模式 | 电流环+速度环+位置环,带加减速规划 |
| 2 | 速度模式 | 电流环+速度环 |
| 3 | 轨迹速度模式 | 电流环+速度环+位置环,带加减速规划 |
| 4 | 力矩模式 | 电流环 |
| 7 | 位置模式 | 电流环+速度环+位置环 |
速度模式运行时电流环和速度环起作用。
| 参数 | 地址 | 说明 | 读写 |
|---|---|---|---|
| 实时电流 | 40 | 驱动器输出的q轴电流,单位是0.001A | 只读 |
| 实际速度 | 42 | 电机实时速度,单位0.001转/秒 | 只读 |
| 实际位置 | 44 | 电机实际位置,单位是count | 只读 |
| 错误状态 | 50 | Bit1/3/4/5/6/8/9/10/11/12 各错误位 | 只读 |
| 工作模式 | 60 | 0/1/2/3/4/7 | 读写/存储 |
| 控制字 | 62 | 6:松轴 / F:锁轴 / 86:清错 | 读写/存储 |
| 目标速度 | 66 | 目标速度,单位0.001转/秒,生效工作模式:2、3 | 读写/存储 |
轨迹速度模式运行时电流环、速度环、位置环都起作用,且带有加减速规划。
| 参数 | 地址 | 说明 | 读写 |
|---|---|---|---|
| 实时电流 | 40 | 驱动器输出的q轴电流,单位是0.001A | 只读 |
| 实际速度 | 42 | 电机实时速度,单位0.001转/秒 | 只读 |
| 实际位置 | 44 | 电机实际位置,单位是count | 只读 |
| 错误状态 | 50 | Bit1/3/4/5/6/8/9/10/11/12 各错误位 | 只读 |
| 工作模式 | 60 | 0/1/2/3/4/7 | 读写/存储 |
| 控制字 | 62 | 6:松轴 / F:锁轴 / 86:清错 | 读写/存储 |
| 目标速度 | 66 | 目标速度,单位0.001转/秒,生效工作模式:2、3 | 读写/存储 |
| 轨迹加速度 | 224 | 轨迹模式运行时的加速度,单位0.001转/秒/秒,生效工作模式:1、3 | 读写/存储 |
| 轨迹减速度 | 226 | 轨迹模式运行时的减速度,单位0.001转/秒/秒,生效工作模式:1、3 | 读写/存储 |
位置模式运行时电流环、速度环、位置环都起作用。
| 参数 | 地址 | 说明 | 读写 |
|---|---|---|---|
| 实时电流 | 40 | 驱动器输出的q轴电流,单位是0.001A | 只读 |
| 实际速度 | 42 | 电机实时速度,单位0.001转/秒 | 只读 |
| 实际位置 | 44 | 电机实际位置,单位是count | 只读 |
| 错误状态 | 50 | Bit1/3/4/5/6/8/9/10/11/12 各错误位 | 只读 |
| 工作模式 | 60 | 0/1/2/3/4/7 | 读写/存储 |
| 控制字 | 62 | 6:松轴 / F:锁轴 / 86:清错 | 读写/存储 |
| 目标位置 | 68 | 目标位置,单位count,生效工作模式:1、7 | 读写/存储 |
轨迹位置模式运行时电流环、速度环、位置环都起作用,且带有加减速规划。
| 参数 | 地址 | 说明 | 读写 |
|---|---|---|---|
| 实时电流 | 40 | 驱动器输出的q轴电流,单位是0.001A | 只读 |
| 实际速度 | 42 | 电机实时速度,单位0.001转/秒 | 只读 |
| 实际位置 | 44 | 电机实际位置,单位是count | 只读 |
| 错误状态 | 50 | Bit1/3/4/5/6/8/9/10/11/12 各错误位 | 只读 |
| 工作模式 | 60 | 0/1/2/3/4/7 | 读写/存储 |
| 控制字 | 62 | 6:松轴 / F:锁轴 / 86:清错 | 读写/存储 |
| 目标位置 | 68 | 目标位置,单位count,生效工作模式:1、7 | 读写/存储 |
| 轨迹速度 | 222 | 轨迹模式运行时的最大速度,单位0.001转/秒,生效工作模式:1、3 | 读写/存储 |
| 轨迹加速度 | 224 | 轨迹模式运行时的加速度,单位0.001转/秒/秒,生效工作模式:1、3 | 读写/存储 |
| 轨迹减速度 | 226 | 轨迹模式运行时的减速度,单位0.001转/秒/秒,生效工作模式:1、3 | 读写/存储 |
力矩模式运行时电流环起作用。
| 参数 | 地址 | 说明 | 读写 |
|---|---|---|---|
| 实时电流 | 40 | 驱动器输出的q轴电流,单位是0.001A | 只读 |
| 实际速度 | 42 | 电机实时速度,单位0.001转/秒 | 只读 |
| 实际位置 | 44 | 电机实际位置,单位是count | 只读 |
| 错误状态 | 50 | Bit1/3/4/5/6/8/9/10/11/12 各错误位 | 只读 |
| 工作模式 | 60 | 0/1/2/3/4/7 | 读写/存储 |
| 控制字 | 62 | 6:松轴 / F:锁轴 / 86:清错 | 读写/存储 |
| 目标电流 | 64 | q轴目标电流,单位0.001A,生效工作模式:0、4 | 读写/存储 |
主机可以通过Modbus RTU模式读写寄存器来设置驱动器参数以及控制驱动器运行。驱动器支持0x03、0x06、0x10三种功能码。
主机发送:
| 设备站号 | 功能码 | 寄存器地址高 | 寄存器地址低 | 寄存器个数高 | 寄存器个数低 | CRC高 | CRC低 |
|---|---|---|---|---|---|---|---|
| 0x01 | 0x03 | 0x00 | 0x2A | 0x00 | 0x02 | 0xE5 | 0xC3 |
从机应答:
| 设备站号 | 功能码 | 数据长度 | 数据1高 | ... | 数据N低 | CRC高 | CRC低 |
|---|---|---|---|---|---|---|---|
| 0x01 | 0x03 | 0x02 | 0x00 | 0x00 | 0x01 | 0xB3 | 0xF3 |
主机发送 / 从机应答(格式相同):
| 设备站号 | 功能码 | 寄存器地址高 | 寄存器地址低 | 数据高 | 数据低 | CRC高 | CRC低 |
|---|---|---|---|---|---|---|---|
| 0x01 | 0x06 | 0x00 | 0x2A | 0x00 | 0x02 | 0xC8 | 0x07 |
主机发送:
| 站号 | 功能码 | 起始地址高 | 起始地址低 | 寄存器数高 | 寄存器数低 | 字节数 | 数据高 | ... | 数据低 | CRC高 | CRC低 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 0x01 | 0x10 | 0x00 | 0x42 | 0x00 | 0x02 | 0x04 | 0x00 | 0x00 | 0xE8 | 0x76 | 0xF8 |
从机应答:
| 设备站号 | 功能码 | 起始地址高 | 起始地址低 | 寄存器数高 | 寄存器数低 | CRC高 | CRC低 |
|---|---|---|---|---|---|---|---|
| 0x01 | 0x10 | 0x00 | 0x42 | 0x00 | 0x02 | 0xE1 | 0xDC |
| 地址 | 参数名称 | 说明 | 初始值 | 读写 |
|---|---|---|---|---|
| 10 | 存储参数 | 0:空闲 1:存储参数 2:初始化控制参数 3:初始化电机参数 4:初始化所有参数并保存 5:重启 |
— | 读写 |
| 30 | 设备温度 | 单位是0.1℃ | — | 只读 |
| 31 | 总线电压 | 直流总线电压,即输入电压,单位是0.1V | — | 只读 |
| 40 | 实时电流 | 驱动器输出的q轴电流,单位是0.001A | — | 只读 |
| 42 | 实际速度 | 电机实时速度,单位0.001转/秒 | — | 只读 |
| 44 | 实际位置 | 电机实际位置,单位是count | — | 只读 |
| 50 | 错误状态 | Bit1:电流传感器错误 Bit3:编码器错误 Bit4:霍尔信号错误 Bit5:励磁错误 Bit6:跟随超差错误 Bit8:低压错误 Bit9:高压错误 Bit10:过温错误 Bit11:过流错误 Bit12:过载错误 |
— | 只读 |
| 60 | 工作模式 | 0:开环拖动(内部使用) 1:带轨迹位置模式 2:速度模式 3:带轨迹速度模式 4:力矩模式 7:位置模式 |
— | 读写/存储 |
| 62 | 控制字 | 6:松轴 F:锁轴 86:清错 |
— | 读写/存储 |
| 64 | 目标电流 | q轴目标电流,单位0.001A 生效工作模式:0、4 |
— | 读写/存储 |
| 66 | 目标速度 | 目标速度,单位0.001转/秒 生效工作模式:2、3 |
— | 读写/存储 |
| 68 | 目标位置 | 目标位置,单位count 生效工作模式:1、7 |
— | 读写/存储 |
| 74 | 内部电流指令 | 内部q轴电流指令,单位0.001A | — | 只读 |
| 76 | 内部速度指令 | 内部速度指令,单位0.001转/秒 | — | 只读 |
| 78 | 内部位置指令 | 内部位置指令,单位count | — | 只读 |
| 100 | 软件版本 | 转换成十进制一般是日期 | — | 读写/存储 |
| 120 | 485通讯站号 | 485通讯站号 | — | 读写/存储 |
| 121 | 485寄存器地址偏移 | 485寄存器地址偏移 | — | 读写/存储 |
| 122 | 485通讯波特率 | 485通讯波特率,修改后需保存重启才能生效 | 38400 | 读写/存储 |
| 124 | 485通讯协议 | 1:MODBUS RTU | 1 | 读写/存储 |
| 178 | 上电使能 | 上电自动使能锁轴 0:不生效 1:生效 |
0 | 读写/存储 |
| 222 | 轨迹速度 | 轨迹模式运行时的最大速度,单位0.001转/秒 生效工作模式:1、3 |
— | 读写/存储 |
| 224 | 轨迹加速度 | 轨迹模式运行时的加速度,单位0.001转/秒/秒 生效工作模式:1、3 |
— | 读写/存储 |
| 226 | 轨迹减速度 | 轨迹模式运行时的减速度,单位0.001转/秒/秒 生效工作模式:1、3 |
— | 读写/存储 |
以下示例均基于设备站号=1,波特率默认38400,8,N,1。报文为 Hex 字节流,末尾2字节为 CRC 校验(低字节在前)。
主机发送 → 从机返回温度值(单位0.1℃,如0x0100=256 → 25.6℃)
| 站号 | 功能码 | 地址高 | 地址低 | 数量高 | 数量低 | CRC低 | CRC高 |
|---|---|---|---|---|---|---|---|
| 01 | 03 | 00 | 1E | 00 | 01 | E4 | 0C |
→ 01 03 00 1E 00 01 E4 0C
| 站号 | 功能码 | 字节数 | 数据高 | 数据低 | CRC低 | CRC高 |
|---|---|---|---|---|---|---|
| 01 | 03 | 02 | 01 | 00 | B9 | D4 |
← 01 03 02 01 00 B9 D4(温度 = 0x0100 / 10 = 25.6℃)
主机发送 → 从机返回速度值(单位0.001转/秒)
| 站号 | 功能码 | 地址高 | 地址低 | 数量高 | 数量低 | CRC低 | CRC高 |
|---|---|---|---|---|---|---|---|
| 01 | 03 | 00 | 2A | 00 | 02 | E5 | C3 |
→ 01 03 00 2A 00 02 E5 C3
| 站号 | 功能码 | 字节数 | 数据(4字节) | CRC低 | CRC高 | |||
|---|---|---|---|---|---|---|---|---|
| 01 | 03 | 04 | 00 | 0F | 42 | 40 | FB | 60 |
← 01 03 04 00 0F 42 40 FB 60(速度 = 0x000F4240 = 1000000 → 1000转/秒)
主机发送 → 从机返回位置值(单位count)
| 站号 | 功能码 | 地址高 | 地址低 | 数量高 | 数量低 | CRC低 | CRC高 |
|---|---|---|---|---|---|---|---|
| 01 | 03 | 00 | 2C | 00 | 02 | 05 | C2 |
→ 01 03 00 2C 00 02 05 C2
| 站号 | 功能码 | 字节数 | 数据(4字节) | CRC低 | CRC高 | |||
|---|---|---|---|---|---|---|---|---|
| 01 | 03 | 04 | 00 | 01 | 86 | A0 | C9 | EB |
← 01 03 04 00 01 86 A0 C9 EB(位置 = 0x000186A0 = 100000count)
写入 0x0007 = 位置模式(功能码 0x06)
| 站号 | 功能码 | 地址高 | 地址低 | 数据高 | 数据低 | CRC低 | CRC高 |
|---|---|---|---|---|---|---|---|
| 01 | 06 | 00 | 3C | 00 | 07 | 08 | 04 |
→ 01 06 00 3C 00 07 08 04(从机原样返回即表示成功)
| 站号 | 功能码 | 地址高 | 地址低 | 数据高 | 数据低 | CRC低 | CRC高 |
|---|---|---|---|---|---|---|---|
| 01 | 06 | 00 | 3E | 00 | 0F | A8 | 02 |
→ 01 06 00 3E 00 0F A8 02
| 站号 | 功能码 | 地址高 | 地址低 | 数据高 | 数据低 | CRC低 | CRC高 |
|---|---|---|---|---|---|---|---|
| 01 | 06 | 00 | 3E | 00 | 06 | 68 | 04 |
→ 01 06 00 3E 00 06 68 04
| 站号 | 功能码 | 地址高 | 地址低 | 数据高 | 数据低 | CRC低 | CRC高 |
|---|---|---|---|---|---|---|---|
| 01 | 06 | 00 | 3E | 00 | 86 | 69 | A4 |
→ 01 06 00 3E 00 86 69 A4
写入 500转/秒 = 500000counts = 0x0007A120(功能码 0x10)
| 站号 | 功能码 | 地址高 | 地址低 | 数量高 | 数量低 | 字节数 | 数据(4字节) | CRC低 | CRC高 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 01 | 10 | 00 | 42 | 00 | 02 | 04 | 00 | 07 | A1 | 20 | BF | CF |
→ 01 10 00 42 00 02 04 00 07 A1 20 BF CF
| 站号 | 功能码 | 地址高 | 地址低 | 数量高 | 数量低 | CRC低 | CRC高 |
|---|---|---|---|---|---|---|---|
| 01 | 10 | 00 | 42 | 00 | 02 | E1 | DC |
← 01 10 00 42 00 02 E1 DC(确认已写入2个寄存器)
写入 100000counts = 0x000186A0(功能码 0x10)
| 站号 | 功能码 | 地址高 | 地址低 | 数量高 | 数量低 | 字节数 | 数据(4字节) | CRC低 | CRC高 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 01 | 10 | 00 | 44 | 00 | 02 | 04 | 00 | 01 | 86 | A0 | C5 | B4 |
→ 01 10 00 44 00 02 04 00 01 86 A0 C5 B4
| 站号 | 功能码 | 地址高 | 地址低 | 数量高 | 数量低 | CRC低 | CRC高 |
|---|---|---|---|---|---|---|---|
| 01 | 10 | 00 | 44 | 00 | 02 | 01 | DD |
← 01 10 00 44 00 02 01 DD(确认已写入2个寄存器)
主机发送 → 从机返回电压值(单位0.1V,如0x00F0=240 → 24.0V)
| 站号 | 功能码 | 地址高 | 地址低 | 数量高 | 数量低 | CRC低 | CRC高 |
|---|---|---|---|---|---|---|---|
| 01 | 03 | 00 | 1F | 00 | 01 | B5 | CC |
→ 01 03 00 1F 00 01 B5 CC
| 站号 | 功能码 | 字节数 | 数据高 | 数据低 | CRC低 | CRC高 |
|---|---|---|---|---|---|---|
| 01 | 03 | 02 | 00 | F0 | B8 | 00 |
← 01 03 02 00 F0 B8 00(电压 = 0x00F0 / 10 = 24.0V)
位置模式完整控制流程:
① 01 06 00 3C 00 07 08 04 — 设置工作模式=位置模式(7)
② 01 06 00 3E 00 0F A8 02 — 锁轴使能
③ 01 10 00 44 00 02 04 00 01 86 A0 C5 B4 — 设置目标位置 100000count
④ 01 03 00 2C 00 02 05 C2 — 读取实际位置确认到位
⑤ 01 06 00 3E 00 06 68 04 — 松轴
主机发送(报文ID = 0x600 + 站号):
| 报文ID | DLC | DATA0 | DATA1 | DATA2 | DATA3 | DATA4-7 |
|---|---|---|---|---|---|---|
| 0x600+站号 | 8 | 0x40 (读) | 对象索引 (如0x6063) | 子索引 | 0x00 | |
从机应答(报文ID = 0x580 + 站号):
| 报文ID | DLC | DATA0 | DATA1 | DATA2 | DATA3 | DATA4-7 |
|---|---|---|---|---|---|---|
| 0x580+站号 | 8 | 0x60 (应答) | 对象索引 | 子索引 | 回复数据 | |
主机发送(报文ID = 0x600 + 站号):
| 报文ID | DLC | DATA0 | DATA1 | DATA2 | DATA3 | DATA4-7 |
|---|---|---|---|---|---|---|
| 0x600+站号 | 8 | 0x20 (写) | 对象索引 | 子索引 | 写数据 | |
从机应答(报文ID = 0x580 + 站号):
| 报文ID | DLC | DATA0 | DATA1 | DATA2 | DATA3 | DATA4-7 |
|---|---|---|---|---|---|---|
| 0x580+站号 | 8 | 0x60 (应答) | 对象索引 | 子索引 | 回复数据 | |
COBID:0x180 + 驱动器站号
| COBID | DLC | DATA1-2 | DATA3-4 | DATA5-8 |
|---|---|---|---|---|
| 0x181 | 8 | 实际速度(高位在前) | 实际位置(高位在前) | — |
COBID: 0x200 + 站号 — 位置控制
| COBID | DLC | DATA1-2 | DATA3-4 | DATA5-8 |
|---|---|---|---|---|
| 0x201 | 8 | 工作模式 1:轨迹位置 7:插补位置 | 控制字 0x0006:松轴 0x000F:锁轴 0x0086:清错 | 目标位置(高位在前) |
COBID: 0x300 + 站号 — 速度控制
| COBID | DLC | DATA1-2 | DATA3-4 | DATA5-8 |
|---|---|---|---|---|
| 0x301 | 8 | 工作模式 3:轨迹速度(带位置环) 22:轨迹速度(不带位置环) 2:立即/插补速度 | 控制字 0x0006:松轴 0x000F:锁轴 0x0086:清错 | 目标速度(高位在前) |
COBID: 0x400 + 站号 — 力矩控制
| COBID | DLC | DATA1-2 | DATA3-4 | DATA5-8 |
|---|---|---|---|---|
| 0x401 | 8 | 工作模式 4:力矩模式 | 控制字 0x0006:松轴 0x000F:锁轴 0x0086:清错 | 目标电流(高位在前) |
| 索引 | 子索引 | 大小 | 参数名称 | 说明 | 读写 |
|---|---|---|---|---|---|
| 0x1010 | 01 | 2字节 | 存储参数 | 0:空闲 1:存储参数 2:初始化控制参数 3:初始化电机参数 4:初始化所有参数并保存 5:重启 |
读写 |
| 0x2300 | 00 | 4字节 | 错误状态 | Bit1:电流传感器错误 Bit3:编码器错误 Bit4:霍尔信号错误 Bit5:励磁错误 Bit6:跟随超差错误 Bit8:低压错误 Bit9:高压错误 Bit10:过温错误 Bit11:过流错误 Bit12:过载错误 |
只读 |
| 0x2301 | 00 | 2字节 | 设备温度 | 单位是0.1℃ | 只读 |
| 0x6040 | 00 | 2字节 | 控制字 | 6:松轴 F:锁轴 86:清错 |
读写 |
| 0x6041 | 00 | — | 状态字 | 只读 | |
| 0x6060 | 00 | 2字节 | 工作模式 | 0:开环拖动(内部使用) 1:带轨迹位置模式 2:速度模式 3:带轨迹速度模式 4:力矩模式 7:位置模式 |
读写/存储 |
| 0x6061 | 00 | 2字节 | 工作模式(只读) | 目标位置,单位count | 只读 |
| 0x6063 | 00 | 4字节 | 实际位置 | 电机实际位置,单位是count | 只读 |
| 0x6064 | 00 | 4字节 | 实际位置 | 电机实际位置,单位是count | 只读 |
| 0x606C | 00 | 4字节 | 实际速度 | 电机实时速度,单位0.001转/秒 | 只读 |
| 0x6078 | 00 | 4字节 | 实际电流 | 驱动器输出的q轴电流,单位是0.001A | 只读 |
| 0x6079 | 00 | 2字节 | 母线电压 | 直流总线电压,即输入电压,单位是0.1V | 只读 |
| 0x607A | 00 | 4字节 | 目标位置 | 目标位置,单位count | 读写/存储 |
| 0x607C | 00 | 4字节 | 原点偏移 | 单位count | 读写/存储 |
| 0x6081 | 00 | 4字节 | 规划轨迹速度 | 轨迹模式运行时的最大速度,单位0.001转/秒 | 读写/存储 |
| 0x6083 | 00 | 4字节 | 轨迹加速度 | 轨迹模式运行时的加速度,单位0.001转/秒/秒 | 读写/存储 |
| 0x6084 | 00 | 4字节 | 轨迹减速度 | 轨迹模式运行时的减速度,单位0.001转/秒/秒 | 读写/存储 |
| 0x6098 | 00 | 2字节 | 原点模式 | 0:把当前位置设置为0点 1:多圈位置清零 |
读写/存储 |
| 0x6099 | 00 | 4字节 | 原点速度 | 找原点时的运行速度,单位0.001转/秒 | 读写/存储 |
| 0x609A | 00 | 4字节 | 原点加速度 | 找原点时的加速度,单位0.001转/秒/秒 | 读写/存储 |
| 0x60FF | 00 | 4字节 | 目标速度 | 目标速度,单位0.001转/秒 | 读写/存储 |