⚙️ 步进电机驱动 · 开发实录
📘 30章 从入门到工业实战
📌 风格 · 紧凑目录
01项目全景与硬件选型
步进电机工作原理 · 驱动器分类 · 主控芯片选型 (STM32 vs 国产) · A4988/DRV8825/TMC2209对比
02开发环境搭建
Keil MDK安装 · STM32CubeMX初始化 · HAL/LL库选择 · J-Link/ST-Link配置 · 点灯验证
03GPIO与定时器基础
GPIO推挽/开漏 · 定时器PWM · 频率占空比计算 · PWM控制电机踩坑记录
04步进电机驱动原理
整步/半步/微步 · 电流斩波 · TORQUE与SPEED · 离谱丢步案例
05A4988驱动芯片详解
引脚功能 · MS1/MS2/MS3微步 · ENABLE/SLEEP/RESET · 布线注意事项
06DRV8825驱动芯片详解
与A4988差异 · 衰减模式 · 过流保护 · 弃用A4988项目原因
07TMC2209静音驱动
StealthChop2 · SpreadCycle · StallGuard · CoolStep · 实际效果对比
08基础驱动代码实现
GPIO初始化 · PWM配置 · 方向使能 · 正反转程序 · 早期低级错误
09速度控制算法
梯形加减速 · S形曲线 · 速度规划表 · 代码调参
10位置控制与闭环
开环局限 · 编码器选型 · PID闭环 · 位置环与速度环整定
11多轴联动控制
多电机同步 · 主从跟随 · 电子齿轮 · 龙门同步实例 · 调试教训
12中断与实时性
定时器中断精确延时 · 外部中断限位 · 优先级配置 · 避免嵌套陷阱
13状态机设计
电机状态定义 · 状态转移图 · 代码框架 · 调试技巧
14通信接口-UART
串口基础 · 命令解析协议 · 参数在线调整 · printf重定向 · 调试技巧
15通信接口-I2C
I2C总线 · 外设读写 · 多从机通信 · EEPROM存储 · 波形分析
16通信接口-SPI
SPI模式 · 高速通信 · 编码器通信 · DMA优化 · 时钟极性坑点
17CAN总线应用
CAN协议 · 报文滤波 · 多节点组网 · 远程帧 · 工业现场经验
18传感器融合
限位开关 · 霍尔传感器 · 电流检测 · 温度监测 · 数据融合
19故障检测与保护
过流/过温保护 · 堵转检测 · 失步检测 · 故障恢复 · 安全第一
20低功耗设计
睡眠模式 · 时钟门控 · 外设电源管理 · 电池供电 · 最省电方案
21Bootloader设计
分区规划 · 固件升级协议 · CRC校验 · 双备份 · 远程升级
22参数存储与管理
EEPROM读写 · Flash模拟EEPROM · 参数校验 · 默认配置
23RTOS应用 (FreeRTOS)
任务划分 · 消息队列 · 信号量 · 互斥锁 · 优先级设计 · 案例
24上位机开发 (C#)
串口界面 · 波形显示 · 参数配置 · 指令收发 · 联调
25上位机开发 (Python)
PySerial · PyQt5界面 · Matplotlib可视化 · 自动化测试脚本
26EMC与抗干扰设计
PCB布局 · 电源滤波 · 信号隔离 · 屏蔽设计 · EMC问题处理
27可靠性测试
老化/高低温/振动/ESD测试 · 测试报告模板
28生产与烧录
量产烧录 · 测试工装 · 生产文档 · BOM管理 · 生产坑
29项目实战-3D打印机
需求分析 · 方案设计 · 代码实现 · 调试过程 · 成品展示
30项目实战-工业机械臂
多轴控制 · 轨迹规划 · 力控制 · 安全设计 · 总结与展望