1. 项目背景与目标
背景:工业传送带双轴步进驱动,上位机经 CAN 总线远程指挥,要求高可靠、可断电恢复
目标(取 require.md 需求锁):双 TMC5160 独立控制,绝对/相对/速度三种运动模式;精度 0.09°/count;最高 600rpm;CAN 500kbps;24V 供电
2. 软件功能
运动控制:3 种模式 + 6 档速度参数组,梯形加减速由驱动芯片内部规划
回零与校准:无机械限位自动回零 + 校准门控(未校准拒动,防跑飞)
闭环与保护:编码器闭环、失步/过温/驱动异常/SPI 故障四类状态上报
安全:急停一键全网断功率、看门狗 5s 兜底复位、越限保护
诊断:运行状态实时回传 + 老化测试数据掉电保存
3. 业务流程
上电 → 两路先后回零 → 接收运动指令(即时 ACK + 异步到位反馈)→ 循环监控;急停 → 断电自由停 → 重新回零恢复
1. 总体架构
硬件拓扑一句话:STM32H750 (480MHz) + 双 TMC5160(SPI 单总线双片选)+ 双编码器 + CAN
软件分层图(文本框图):hal → drv → app(4 任务 FreeRTOS)→ algo,单向依赖
任务模型:任务A(2ms 通讯+执行) / 任务B(1ms 判定) / 遥测 / 喂狗,职责与优先级
2. 难点与解决方法
1. 双电机共享一条 SPI 的实时性/一致性 → 事务级句柄优化 → 读写 8µs/22µs,快照偏差 22µs
2. 多任务并发访问 SPI 撕裂 → 通讯收敛单任务 + 局部缓冲,免锁设计
3. 无机械限位回零 → StallGuard2 碰挡板 + 门控状态机
4. 重载失步(1200rpm 0.8s 失步)→ 边界二分法认证 610rpm 生产档
5. 长跑位置基准漂移 → 断电重建基线 + 在线清零命令
6. 可靠性三坑(看门狗卡死、CAN 配置被工具链覆盖、烧录假成功)→ 逐一实测定案
3. 测试与质量背书
协议全量测试、老化测试、CPU 时序门禁 62%<70%、固件 61KB/128KB