虽然无刷直流电机有诸多优点,但是在控制上却有一定难度。无刷直流电机的机械结构简单,这就要求驱动电路要有一定的复杂度,并且需要由 MCU 产生电机所需要的波形来控制电机的转动。
汇英同创针对低压无刷电机,推出基于灵动微 MM32SPIN360C 的无刷电机驱动方案。此方案采用的 MM32SPIN360C 内部集成了一部分驱动电路,所以方案的外围电路比较简单。适用于多种应用场合,比如空气净化器、服务器风机、吊扇、落地扇、电动手工具、吸尘器、无人机电调、小型水泵等。
MM32SPIN360C 无刷电机开发板
- 主控
- 128KB Flash,12KB SRAMB
- 包含 12 位的 ADC,采样速度高达 1Msps
- 5 个通用定时器、2 个针对电机控制的 PWM 高级定时器
- 1 个 I2C 接口、2 个 SPI 接口和 2 个 UART 接口
- 针对电机应用内置 3 个运放,3 个比较器
- 内嵌经出厂调校的 48MHz 高速振荡器
- 内置预驱工作电压 7V ∼ 48V
- 5V LDO 稳压器,输入电压最高 13.5V
- 提供 QFN48 封装
- 128KB Flash,12KB SRAMB
图 2 . 灵动微 MM32SPIN360C 框图
- N-MOSFET
- 电源
- 宽电压输入 Vin:3.6~36V
- 输出电压可调 Vout:1.8V~15V
- 最大输出电流 Iout:800mA
- 低噪音、低损耗电压
- 封装小,最小封装大小为 3*3mm
- 过流/短路保护
- 过热保护
- 工作温度范围:-40~+125℃
- 宽电压输入 Vin:3.6~36V
驱动软件说明:
方案的软件部分采用灵动微的 FOC 软件库架构,整个软件结构清晰易懂。软件采用双环控制(电流环+速度环),矢量控制的框图如下图所示:
图 3 . 电机矢量控制框图
- SVM
代码采用的是七段式。其实现流程大致如下:
① 判断合成矢量所在扇区
② 计算相邻矢量作用时间
③ 计算各桥臂导通时间
④ 得到各相PWM占空比
⑤ 更新相应寄存器值
- Current Sensing
图 4 . 电流采样原理
- SMO+PLL
- 软件架构介绍
① 时序清晰 —— 仅使用一个常用中断,减少可能的时序冲突和 BUG。
② 便于移植 —— 算法层、驱动层、数学库完全独立,软硬件配置完全剥离,互不干扰。
③ 定标统一 —— 统一 Q15 小数定标。
④ 函数模块化 —— 逻辑清晰的状态机,简洁明了的状态切换。
⑤ 配置方便 —— 主要参数配置意义明确,可视化