🧸 窗帘电机嵌入式
全流程开发指南
📘 30章 · 从需求到量产
⚡ 正反转 · 限位 · 遇阻停
🔋 低功耗 · 静音 · BLE
🧩 FreeRTOS · STM32
📅 2025 · 嵌入式实战
01
项目全景与需求分析
窗帘电机项目背景、功能需求(正反转、限位、遇阻停)、非功能需求(低功耗、静音)、系统架构概览。
📌 全景·需求
02
主控芯片选型与硬件平台
常见MCU对比(STM32、GD32、ESP32)、选型依据(成本、功耗、外设)、最小系统板设计要点。
🔩 芯片·硬件
03
电机驱动原理与选型
直流有刷电机与无刷电机对比、H桥驱动原理(L298N/DRV8833)、PWM调速基础。
⚙️ 电机·驱动
04
霍尔传感器与位置检测
霍尔效应原理、单极/双极霍尔开关选型、磁环安装与脉冲计数方法。
🧲 霍尔·检测
05
限位开关与堵转检测
机械限位 vs 电子限位、电流检测法堵转判断、ADC采样与阈值设定。
🚧 限位·保护
06
电源管理与低功耗设计
电池供电方案(锂电池/干电池)、DC-DC降压(AMS1117/MT3608)、睡眠模式与唤醒策略。
🔋 电源·低功耗
07
通信协议选型
UART、I2C、SPI、蓝牙(BLE)与Wi-Fi对比、本项目推荐方案(串口AT指令+BLE)。
📡 通信·协议
08
RTOS选型与任务划分
FreeRTOS vs RT-Thread vs 裸机、任务划分(电机控制、传感器、通信、UI)、优先级配置。
🧠 RTOS·任务
09
开发环境搭建
Keil MDK / STM32CubeIDE安装、STM32CubeMX配置时钟与GPIO、工程模板建立。
🛠️ 环境·工具
10
GPIO与基础外设驱动
GPIO推挽/开漏输出、外部中断配置、定时器PWM输出(频率与占空比计算)。
⚡ GPIO·PWM
11
电机正反转与PWM控制
H桥逻辑控制(IN1/IN2)、PWM频率选择(20kHz避开人耳)、死区时间设置。
🔄 正反转·PWM
12
霍尔脉冲捕获与速度计算
定时器输入捕获模式、脉冲计数与转速换算(RPM)、滤波去抖算法。
📊 速度·捕获
13
限位逻辑与行程校准
上/下限位触发处理、手动校准流程、EEPROM存储限位位置。
📏 限位·校准
14
遇阻停检测与保护
电流采样电路设计、滑动窗口平均滤波、堵转阈值自适应算法。
🛡️ 遇阻停·保护
15
蓝牙通信模块集成
HC-08/CC2541 AT指令配置、数据包协议定义(帧头/命令/校验)、透传模式实现。
📶 蓝牙·集成
16
手机APP通信协议设计
JSON vs 二进制协议、指令集定义(开/关/停/百分比)、应答与超时重传机制。
📱 APP·协议
17
低功耗模式实现
STM32 Stop模式进入与退出、RTC定时唤醒、蓝牙模块休眠控制。
💤 低功耗·休眠
18
看门狗与异常处理
独立看门狗(IWDG)配置、窗口看门狗(WWDG)应用、HardFault异常捕获与日志。
🐕 看门狗·异常
19
Flash模拟EEPROM
Flash擦写寿命管理、磨损均衡算法、参数存储结构体设计。
💾 Flash·存储
20
状态机与任务调度
电机状态机(空闲/运行/限位/堵转)、RTOS任务间通信(队列/信号量)、事件驱动编程。
⚙️ 状态机·调度
21
按键与LED交互
长按/短按/双击检测、PWM呼吸灯效果、GPIO驱动LED指示灯。
🔘 按键·LED
22
固件升级(OTA)设计
Bootloader与App分区设计、蓝牙传输固件包、CRC校验与回滚机制。
📲 OTA·升级
23
日志与调试接口
SEGGER RTT / 串口打印、日志等级划分(ERROR/WARN/INFO/DEBUG)、调试命令解析。
📋 日志·调试
24
单元测试与模拟
硬件在环(HIL)测试、Python脚本模拟霍尔脉冲、电机模型仿真。
🧪 测试·仿真
25
EMC与可靠性设计
PCB布局要点(大电流回路)、TVS管与磁珠选型、软件去抖与滤波。
🛡️ EMC·可靠性
26
生产测试与校准
产线测试流程(功能/功耗/通信)、自动校准工装设计、序列号与MAC地址烧录。
🏭 生产·测试
27
文档与版本管理
Doxygen注释规范、Git分支管理(master/develop/feature)、Release Notes编写。
📚 文档·Git
28
项目实战:从零搭建原型
面包板搭建最小系统、逐步添加外设、调试常见问题(电机抖动/蓝牙断连)。
🧰 实战·原型
29
性能优化与问题排查
代码尺寸优化(-Os)、执行效率优化(查表法)、常见Bug复现与修复。
🚀 优化·调试
30
总结与展望
项目复盘、智能家居生态对接(HomeKit/米家)、AI预测控制趋势。
🔭 总结·趋势