Skip to main content

电调业务协议

PULSE 方波与 VECTOR FOC 共用本页的业务命令。报文帧、CRC、SEQ 和通用结果码见产品通用协议;这里直接列出电调命令的请求与响应 PAYLOAD。

电调业务命令沿用产品通用报文与分帧。

快速接入​

  1. 用通用 Get Info 确认型号,再读 INFO(0x50) 与 STATUS(0x51)。
  2. 等待 State=STOPPED,发送 UNLOCK(0x52)。
  3. 按控制方式发送 TARGET(0x54);运行中在目标超时前重发。
  4. 发送 LOCK(0x53) 关闭输出;切换控制模式须等待再次进入 STOPPED。

响应 PAYLOAD 首字节始终为 Result;下方“成功返回”只列 Result 后的字段。多字节整数均为小端,有符号值用二进制补码。未实现的命令返回 BAD_COMMAND。

控制模式与状态​

Mode控制方式Value 编码与范围适用
1DUTY 调制比例有符号2字节;0.1%;−100.0% 至 +100.0%PULSE / VECTOR
2CURRENT 转矩电流有符号4字节;0.001 A;−500.000 A 至 +500.000 AVECTOR
3SPEED 电气转速有符号4字节;1 eRPM;−200,000 至 +200,000 eRPMPULSE / VECTOR
4POSITION 单圈位置有符号4字节;0.1°;−179.9° 至 +179.9°VECTOR + 编码器
5MIT 连续阻抗控制20字节;位置、速度、Kp、Kd、前馈力矩VECTOR + 编码器
State含义State含义
0 LOCKED输出关闭1 READY已解锁,等待目标
2 RUNNING驱动或保持位置3 FAULT故障锁存,输出关闭
4 STOPPED已确认停稳5 DETECTING辨识或标定中

切换 Mode:LOCK → 等待 STOPPED → UNLOCK → TARGET。DUTY、CURRENT、SPEED 的零目标停止主动驱动;POSITION、MIT 保持目标直到 LOCK。目标超时默认 3000 ms,超时进入 FAULT。

MIT 连续位置控制​

TARGET(Mode=5) 一次发送 5 个字段,共 21 字节;位置从本次 SET_POSITION_ZERO 起累计,可跨多圈。

字段长度单位 / 范围
Position有符号4字节1 µrad;−2147.483647 至 +2147.483647 rad
Velocity有符号4字节0.001 rad/s;受 MAX_SPEED 限制
Kp无符号4字节0.001 Nm/rad;0 至 500.000 Nm/rad
Kd无符号4字节0.001 Nm·s/rad;0 至 20.000 Nm·s/rad
Torque有符号4字节0.001 Nm;受电流上限与 Kt 限制

顺序:Mode(1)=5 + Position(4) + Velocity(4) + Kp(4) + Kd(4) + Torque(4)。需先建立有效编码器参考与位置零点,并确认 Kt 有效。控制器按 Iq = [Kp×位置误差 + Kd×速度误差 + Torque] / Kt 算出限幅电流;用 MIT_STATUS 读取连续反馈。Position=0x80000000 禁止作为目标。

命令速查 · 0x50–0x5F​

表中的请求和成功返回均为 PAYLOAD;成功返回前自动带 Result(1)。点击带链接的命令可跳到字段定义。

CMD命令请求成功返回用途 / 条件
0x50INFO空Major(1) + Revision(1)业务版本;VECTOR 的 MIT 功能修订为 7
0x51STATUS空状态与测量数据(28字节)读取状态、目标和测量值
0x52UNLOCK空空STOPPED 且无故障时进入 READY
0x53LOCK空空关闭输出;可中止辨识或标定
0x54TARGETMode(1) + Value空设置目标;切换 Mode 须先停机
0x55GET_PARAMParamID(1)ParamID(1) + Length(1) + Value(N)读取参数
0x56SET_PARAMParamID(1) + Length(1) + Value(N)空停机修改,先写入 RAM
0x57SAVE_PARAM空空将 RAM 参数保存到 Flash
0x58CLEAR_FAULT空空故障原因消失后清除锁存
0x59SET_POSITION_ZERO空空STOPPED 且编码器参考有效
0x5AGET_FAULT空Fault(1)读取锁存故障码
0x5BMOTOR_DETECTAction + 启动参数辨识快照(17字节)无感 FOC 电机参数辨识
0x5CSENSOR_STATUS空编码器状态(13字节)查询信号、标定与参考
0x5DENCODER_CALIBRATEAction + 启动参数标定快照(8字节)编码器方向与电角度标定
0x5EFACTORY_RESET_MOTOR空空STOPPED 时恢复电机配置
0x5FMIT_STATUS空MIT 反馈(32字节)连续位置、速度与转矩
STATUS · 28字节状态数据
字段字节编码
State / Mode1 / 1枚举值见“控制模式与状态”;Mode=0 表示 NONE
Target4有符号;按 Mode 的 Value 单位;MIT 时仅回显 Position 的 µrad 原始值
Voltage2无符号,0.1 V;0.0 至 300.0 V
BusCurrent / MotorCurrent4 / 4有符号,0.001 A;母线电流与电机 Iq 分开返回
ERPM / Degree4 / 4有符号,1 eRPM / 0.1°;Degree 为单圈 −180.0° 至 +179.9°
Temp / MotorTemp2 / 2有符号,0.1 °C;−50.0 至 250.0 °C

字段顺序固定为 State + Mode + Target + Voltage + BusCurrent + MotorCurrent + ERPM + Degree + Temp + MotorTemp。无效测量:4字节有符号值用 0x80000000,温度用 0x7FFF,电压用 0xFFFF;PULSE 型号没有电机电流测量时 MotorCurrent 为不可用。跨圈位置和力矩请读 MIT_STATUS。

MOTOR_DETECT · 无感 FOC 电机辨识

仅 VECTOR、无感控制、HOST 输入、STOPPED 且无故障时启动。设备限流转动,辨识电阻、电感、磁链;成功应用到 RAM,用 GET_PARAM 检查并以 SAVE_PARAM 保存。运行中 LOCK 可中止,TARGET 被拒绝。

Action请求 PAYLOAD含义
000 + MaxDetectCurrent(4)按指定电流启动;单位 0.001 A,最小 0.100 A,受 MAX_IQ 和型号限制
101查询进度与结果
202 + ProfileID(1)按预设电机类型启动;ProfileID 为 0–8

返回数据:

DetectState(1) + Stage(1) + Progress(1) + Error(1) + Applied(1) + MotorR(4) + MotorL(4) + FluxLinkage(4)

DetectState:0 空闲、1 运行、2 成功、3 失败、4 取消;Stage:0 无、1 电阻、2 电感、3 磁链、4 应用;Progress 为 0–100%,255 表示不可估算。Applied=1 才表示结果已应用。电阻单位 0.1 mΩ,电感 0.01 µH,磁链 1 µWb。Error:0 无、1 电阻失败、2 电感失败、3 磁链失败、4 保护、5 超时、6 通信超时、7 用户取消、8 结果无效。建议每 500 ms 查询,3 s 无有效查询或总时长超过 120 s 时设备结束辨识。

查看 ProfileID 预设
ID电机类型损耗功率
0迷你外转子20 W
1小型外转子50 W
2中型外转子120 W
3大型外转子400 W
4小型内转子50 W
5中型内转子140 W
6大型内转子400 W
7直驱轮毂150 W
8小型涵道内转子110 W
SENSOR_STATUS · 编码器状态

返回数据:

RawCount(8) + SignalValid(1) + IndexSeen(1) + CalibrationValid(1) + ReferenceValid(1) + IndexError(1)

RawCount 是本次上电的有符号 A/B 四倍频计数;标志位为 0 或 1。ABZ 的 IndexSeen 表示见到 Z;AB+PWM 时表示绝对角参考有效。闭环启动必须满足 ReferenceValid=1,硬件初始化不能代替信号验证。

ENCODER_CALIBRATE · 编码器自动标定

仅 VECTOR + 编码器、HOST 输入、STOPPED 且无故障时启动。设备自行限流转动,测方向和电角度偏移;成功应用到 RAM,SAVE_PARAM 才写入 Flash。失败或取消恢复原配置,LOCK 也可中止;运行中拒绝 TARGET。

Action请求 PAYLOAD含义
000 + MaxCalCurrent(4)启动;电流单位 0.001 A,受 MAX_IQ 和型号限制
101查询进度与结果
202取消

返回数据:

CalState(1) + Stage(1) + Progress(1) + Error(1) + Applied(1) + Direction(1) + ElectricalOffset(2)

CalState:0 空闲、1 运行、2 成功、3 失败、4 取消;Stage:0 无、1 检查信号、2 寻找参考、3 方向、4 偏移、5 应用;Progress 为 0–100%,255 表示不可估算。Applied=1 才表示标定生效。Direction 为 ±1;ElectricalOffset 单位 0.1° 电角度。Error:0 无、1 无 AB 信号、2 找不到参考、3 索引不符、4 方向失败、5 偏移失败、6 保护、7 超时、8 通信超时、9 用户取消、10 结果无效。建议每 500 ms 查询,3 s 无有效查询或总时长超过 120 s 时设备结束标定。

上电后 ABZ 需重新验证 Z,AB+PWM 需重新取得绝对角参考;未取得有效参考时禁止编码器闭环。位置零点也须在本次上电重新设置。

MIT_STATUS · 32字节连续反馈
字段字节单位 / 含义
Position4有符号,1 µrad;连续机械位置
Velocity4有符号,0.001 rad/s
EstimatedTorque4有符号,0.001 Nm;估算转矩
IqCommand4有符号,0.001 A;限幅后的电流指令
Kt4无符号,1 µNm/A;当前转矩常数
PeriodUs / LateCycles4 / 4控制周期 µs / 超过 2000 µs 的累计次数
Flags4位0 ACTIVE;1 REFERENCE;2 ZERO;3 SATURATED;4 MANUAL_KT;5 CONTINUOUS

4字节有符号反馈不可用时为 0x80000000,Kt 不可用为 0xFFFFFFFF。读取反馈不会刷新目标超时。

仅 TARGET 的已定义但设备不支持的 Mode 使用 0x80 UNSUPPORTED_MODE;其他结果码见通用协议。

参数​

用 GET_PARAM(0x55) 读取,用 SET_PARAM(0x56) 修改 RAM,再用 SAVE_PARAM(0x57) 保存。ParamID 占 1 字节;下列分组默认收起,按需展开。

基础与控制 ParamID 1–4、12–13
ID参数适用长度取值 / 用途
1POLE_PAIRS通用1字节无符号;1–100 极对
2REVERSE_DIRECTION通用1字节无符号;0 正向,1 反向
3INPUT_SOURCE通用1字节无符号;0 HOST、1 PWM、2 ADC、3 DSHOT
4INPUT_CONTROL_MODE通用1字节无符号;外部输入控制 Mode:1 DUTY、2 CURRENT、3 SPEED
12STOP_CONFIRM_MS通用2字节无符号;1 ms;100–5000,默认 250
13TARGET_TIMEOUT_MS通用2字节无符号;1 ms;100–10,000,默认 3000
输入校准 ParamID 5–9、14–16
ID参数适用长度取值 / 用途
5PWM_MIN_US通用2字节无符号;1 µs;500–2500,须小于 PWM_MID_US
6PWM_MAX_US通用2字节无符号;1 µs;500–2500,须大于 PWM_MID_US
7ADC_MIN_MV通用2字节无符号;1 mV;0–3000,须小于 ADC_MID_MV
8ADC_MAX_MV通用2字节无符号;1 mV;0–3000,须大于 ADC_MID_MV
9INPUT_NEUTRAL_MS通用2字节无符号;1 ms;100–5000,默认 250
14PWM_MID_US通用2字节无符号;1 µs;位于 PWM_MIN_US 与 PWM_MAX_US 之间,默认 1500
15ADC_MID_MV通用2字节无符号;1 mV;位于 ADC_MIN_MV 与 ADC_MAX_MV 之间,默认 1500
16INPUT_DEADBAND通用1字节无符号;0.1% 全量程;0.0%–10.0%,默认 2.0%
输出限制与保护 ParamID 10–11、17、20–41
ID参数适用长度取值 / 用途
10MAX_DUTY通用2字节无符号;0.1%;0.1%–100.0%
11MAX_SPEED通用4字节无符号;1 eRPM;1–200,000
17DUTY_SLEW_RATE通用1字节无符号;0.1%/ms;0 不限速,1–100 限制变化率
20MAX_BUS_CURRENT通用4字节无符号;0.001 A;母线取电上限 0.001–500.000 A
21MAX_REGEN_CURRENT通用4字节无符号;0.001 A;回馈上限 0–500.000 A,0 禁用
30MIN_BUS_VOLTAGE通用2字节无符号;0.1 V;欠压阈值 0–300.0 V,须小于 31
31MAX_BUS_VOLTAGE通用2字节无符号;0.1 V;过压阈值 0–300.0 V,须大于 30
40ESC_TEMP_LIMIT通用2字节有符号;0.1 °C;电调过温阈值
41MOTOR_TEMP_LIMIT通用2字节有符号;0.1 °C;电机过温阈值
PULSE 方波专用 ParamID 100–102
ID参数适用长度取值 / 用途
100COMMUTATION_ADVANCEPULSE2字节无符号;0.1° 电角度;进角 0–30.0°,默认 15.0°
101STARTUP_DUTYPULSE2字节无符号;0.1%;起转上限 0.1%–MAX_DUTY
102STALL_ERPMPULSE4字节无符号;1 eRPM;失速阈值
VECTOR FOC 与 MIT ParamID 150–155
ID参数适用长度取值 / 用途
150MAX_IQVECTOR4字节无符号;0.001 A;电机 Iq 上限 0.001–500.000 A
151MOTOR_RVECTOR4字节无符号;0.1 mΩ;电机相电阻
152MOTOR_LVECTOR4字节无符号;0.01 µH;电机相电感
153FLUX_LINKAGEVECTOR4字节无符号;1 µWb;电机磁链
154MIT_KT_OVERRIDEVECTOR + 编码器4字节无符号;1 µNm/A;0 自动估算,最大 100 Nm/A
155MIT_KTVECTOR + 编码器4字节无符号;1 µNm/A;当前 Kt,只读
编码器与位置 ParamID 200–204
ID参数适用长度取值 / 用途
200POSITION_MAX_SPEEDVECTOR + 编码器4字节无符号;1 eRPM;位置运动速度上限
201POSITION_MAX_ACCELVECTOR + 编码器4字节无符号;1 eRPM/s;位置运动加速度上限
202SENSOR_SOURCEVECTOR + 编码器1字节无符号;0 无感,1 编码器;仅 STOPPED 修改
203ABZ_COUNTS_PER_REVVECTOR + 编码器4字节无符号;计数/机械圈;4–65,536,须为 4 的倍数;1024 PPR 配 4096
204SENSOR_INTERFACEVECTOR + 编码器1字节无符号;0 ABZ,1 AB+PWM;后者固定 1024 计数/圈

ParamID 1–99 通用、100–149 PULSE、150–199 VECTOR、200–255 扩展。MIT_KT(155)只读。编码器的极对数、方向、计数或接口改变后,旧标定与零点失效。当前 VECTOR 型号仅支持 HOST 输入。

故障码​

Fault含义Fault含义
0x00无故障0x01目标超时
0x02过流0x03母线过压
0x04母线欠压0x05电调过温
0x06反馈丢失0x07电机过温
0x08外部输入无效0xFF其他硬件故障

故障时输出关闭并锁存;原因消失后发送 CLEAR_FAULT,设备返回 LOCKED,需重新等待停稳与解锁。

电调业务协议 v1 · 产品通用协议