[具身智能-796]:直流电机的信号死区?并图示 直流电机信号死区控制死区概念控制器输出PWM 控制指令已经不为 0但电机实际转速 / 输出转矩仍然为 0的输入区间属于非线性环节。 ❗区分信号死区控制死区指令‑转速非线性摩擦、压降造成毫秒‑百毫秒级H 桥死区时间 (dead‑time)MOS 管防直通保护微秒级硬件延时二者完全不同。示意图形文本 ASCII 图可直接复制到笔记图 1指令 PWM ➜ 实际转速关系曲线横轴控制器 PWM 输出指令‑255 ~ 255 纵轴电机实际转速plaintext转速 ↑ | ↗ | ↗ | ↗ -----|----┌─┘ 正向死区0 ~ D | │ |────┘ 死区区间[-D‑ , D]指令在这个范围内电机不动 │ └─┐ ↘ ↘ ↘ → PWM指令 -D⁻ 0 D⁺\(D_\)正向启动阈值PWM 大于 \(D_\) 电机才开始正转\(-D_-\)反向启动阈值PWM 小于 \(-D_-\) 电机才开始反转\(\boldsymbol{-D_- \sim D_}\)信号死区此区间内 PWM≠0但转速 0工程上\(|D_| \neq |D_-|\)正负死区往往不对称。图 2时间域现象阶跃小指令落在死区plaintext指令(PWM) ^ | ____ |____| | ------------------ t 实际转速 ^ | | |_________________ t 【指令已经输出但电机完全不动】图 3PID 闭环下死区引发极限环振荡低速来回抖plaintext位置 ^ ╭─╮ ╭─╮ | │ │ │ │ |────┘ └────┘ └────→ t 反复小幅来回震荡无法收敛到目标原理存在位置误差PID 输出小指令落入死区电机不动误差持续存在PID 积分不断累加积分累积到突破死区阈值电机突然转动直接冲过目标位置反向误差产生又重复上述过程形成来回抖动。死区产生根源机械静摩擦主导齿轮箱、轴承静摩擦力必须克服静摩擦才能启动转动后动摩擦变小维持转动的 PWM 可以比启动 PWM 更低。电气压降H 桥 MOS 导通电阻、电机电刷、绕组内阻小 PWM 时有效电压被损耗吃掉。齿轮回差换向时齿轮需要走完间隙输出轴无运动等效换向死区。重要现象启动阈值 维持阈值例PWM140 才转起来转起来之后 PWM60 就可以维持低速转动。死区带来工程问题开环低速段 PWM‑转速严重非线性小指令无响应。闭环定位目标点附近极限环振荡、来回抖动。换向滞后指令已经换向输出轴短暂无动作。启动卡顿要么不动一动就冲出去。常用补偿思路阈值抬升补偿输出落在死区内直接把输出抬到启动阈值。c运行//示例PWM范围‑255~255 #define D_PLUS 140 #define D_MINUS -120 int pwm pid_out; if(pwm0 pwmD_PLUS) pwm D_PLUS; if(pwm0 pwmD_MINUS) pwm D_MINUS;缺点负载变化、温度变化阈值会漂移。积分抗饱和必做输出落在死区区间时关闭积分器防止积分无限累积。前馈查表补偿实测得到 PWM‑转速非线性表对小信号做映射修正。速度斜坡规划启动时 PWM 平滑爬升避免直接给到死区内部。硬件层面缓解使用低 Rdson 驱动芯片AM2857、TB6612避免 L298N 大压降。不要过低供电电压电压越高死区占比相对越小。改善机械润滑减小静摩擦死区只能补偿不能完全消除。指标制约关系减速比越大齿轮级数越多静摩擦越大 →死区越大追求低速高精度必须做死区补偿但补偿值设置过大会引入额外抖动物理层面不能同时实现 “极小死区 大减速比大转矩”需要取舍。