摘要:本文设计并实现了一款基于 STM32F103C8T6 与 CAN 总线的低成本智能直流伺服驱动器,通过串级 PID 控制、四倍频编码器反馈、非线性摩擦补偿和 20 kHz 静音 PWM 调制,实现了面向工业自动化、机器人关节及精密定位场景的高精度、低超调、快速响应伺服控制。
系统概述
针对工业自动化、机器人关节及精密定位场景对低成本伺服单元的需求,本文设计并实现了一款基于 STM32F103C8T6 微控制器与 CAN 总线的智能直流伺服驱动器。系统以 JGA25-370 直流减速电机为执行机构,采用 TB6612FNG/AT8236 H 桥实现双极性 PWM 调制,通过 TIM3 四倍频解码获取 4532 pulses/rev 的位置反馈,在 10 ms 周期内执行串级 PID(位置环 + 速度环)运算。算法层引入死区控制(位置误差 < 0.15°)、积分分离(脉冲误差 > 50000)及分段非线性摩擦补偿,有效抑制了 1:103 高减速比齿轮箱在低速段的爬行与卡顿现象;PWM 载波频率设定为 20 kHz,实现电机零啸叫静音运行。通信层基于 CAN 2.0B 协议(1 Mbps),采用 C 语言 Union 类型实现字节流与浮点数的零拷贝转换。系统在 Keil μVision5 环境下编译通过,实测稳态精度 ±0.15°、超调量 < 5%、阶跃响应整定时间约 200 ms,达到工业级伺服单元的性能指标
图1 STM32-CAN智能直流伺服驱动器系统架构图