1. 项目背景与核心挑战
在工业自动化与消费电子领域,无刷直流电机(BLDC)和永磁同步电机(PMSM)已成为现代驱动系统的核心部件。这两种电机凭借高效率、长寿命和低噪音等优势,逐步取代传统有刷电机。STM32F1系列微控制器因其丰富的外设资源和实时性能,成为电机驱动开发的理想平台。
BLDC与PMSM虽然都采用永磁体转子,但控制策略存在本质差异:
- BLDC通常采用方波驱动(六步换相),依赖霍尔传感器获取转子位置
- PMSM则需正弦波驱动,依赖高分辨率编码器或传感器less算法
- STM32F1的定时器模块可生成精确的PWM波形,其ADC模块满足电流采样需求
实际开发中面临三大核心挑战:
- 传感器接口的稳定性处理(霍尔信号消抖、编码器噪声过滤)
- 实时控制环路(电流环带宽与PWM频率的匹配)
- 不同电机参数的自动识别(反电动势常数、绕组电阻等)
2. 硬件架构设计与关键器件选型
2.1 主控电路设计
采用STM32F103C8T6作为主控芯片,其关键特性包括:
- 72MHz Cortex-M3内核,满足实时计算需求
- 3个高级定时器(TIM1/2/3),支持互补PWM输出
- 12位ADC采样速率达1MHz,适合电流环控制
- 硬件SPI接口用于连接编码器芯片
电源部分采用两级设计:
- 输入24V通过TPS5430降压至5V(给逻辑电路)
- 再用LD1117稳压至3.3V(MCU供电)
- 栅极驱动电源采用自举电路+隔离DC-DC方案
2.2 功率驱动电路
基于IR2104S的半桥驱动方案具有成本优势:
c复制// 典型半桥配置
MOSFET_TypeDef H_Bridge[3] = {
{ .HighSide = PA8, .LowSide = PB13 }, // U相
{ .HighSide = PA9, .LowSide = PB14 }, // V相
{ .HighSide = PA10, .LowSide = PB15 } // W相
};
关键参数计算:
- 死区时间 = 定时器时钟周期 × (DTG[7:0] + 1)
例如:72MHz时钟下,DTG=0x18对应500ns死区 - PWM频率选择10kHz(开关损耗与电流纹波折中)
