单片机/MCU论坛
直播中

汇英同创杨娴

4年用户 161经验值
擅长:控制/MCU EDA/IC设计
私信 关注
[文章]

基于 MM32SPIN040C 的无感方波筋膜枪应用方案

image.png

芯片资源介绍

MM32SPIN040C 是灵动微电子新推出的针对电机驱动领域的专用 MCU,该系 列使用高性能的 Arm® Cortex®-M0 为内核的 32 位微控制器,最高工作频 率可达 48MHz , 内 置 高 速 存 储 器 , 丰 富 的 I/O 端 口 和 多 种 外 设 。 MM32SPIN040C 系列集成了 3P3N 预驱电路,性价比高,特别适用于对布板 空间要求较高的应用场合,比如风机、水泵、筋膜枪等典型应用,芯片资源可以 满足无感方波、精简版的无感 FOC 等电机控制需求。 芯片特色及资源图如下所示: MM32SPIN040C 主要特点 : - Arm® Cortex®-M0 内核,主频可达 48MHz; - 16KB Flash,2KB SRAM; - 包含 12 位的 ADC,采样速度高达 1Msps; - 2 个通用定时器、1 个针对电机控制的 PWM 高级定时器; - 1 个 I2C 接口、2 个 UART 接口; - 针对电机应用内置 2 个运放、1 个比较器; - 3P3N 预驱工作电压高达 36V; - 工作温度范围(环境温度)-40℃ - 105℃; - 多种省电工作模式支持低功耗应用的需求; - 提供 TSSOP28 封装;

适用于多种应用场合 : - 风机 - 水泵 - 筋膜枪

硬件设计

本文档所搭配硬件系统为筋膜枪应用专用开发板。

原理图 .

分为充电、逆变、按键、MCU、电流采样、过流报警、LED 指示、反电势检 测等八个部分,如下图:

image.png

软件设计

电机控制时序

如下图为电机控制高优先级控制时序图,具体介绍如下: SysTick 为向下计数的 24 位计数器,用于对无感六步方波控制中的拍宽计时检 测,时钟和 MCU 主频保持一致。 TIM3 设定为向上计数,是 16 位计数器,TIM3 中断用于电机换相之后续流时段 内的过零检测规避控制和 30°C 延时换相控制,中断优先级设定为最高。由于 TIM3 为 16 位计数器,在应用中配置为主频的 64 分频使用。 TIM1 设定为边沿对齐模式,向上计数,用于生成电机控制上管 PWM 信号和下 管常开、长关信号,该计数器不开启中断。 ADC 模块外部硬件触发源设定为 TIM1_CCR4,使用单周期序列采样,在 ADC 中断中更新反电势信号采样值以及电流、电压等通道的采样值,中断优先级设定 为次高。本应用过零点判定利用同时采集上管开通相和浮空相电压,释放出 PIN 脚资源给系统应用使用。
image.png

代码框架

本项目代码架构主要分为三层,板级驱动层、电机控制算法层、应用层,如图 4- 6 所示。各个层的分支功能如下: ·板级驱动层(HAL_BSP_DRV):

  1. hal_x.c: 我司提供的统一的 HAL 层底层外设 驱动库文件,该库文件也可在我司官网下载
  2. adc.c / interrupt.c / io.c / tim1.c / tim3.c / : 本 应用中对相应外设的具体配置
  3. bsp_led.c:3 个 IO 控制 6 路 LED 例程,专门 为 PIN 脚资料有限的产品而设计
  4. user_param_cfg.c:系统板用户配置函数,涵 盖了用户所有需要设定的参数,并且很多参数 之间的内在关联性已提前考虑,程序支持自动 计算关联参数
  5. peripheral_cfg.c:调用如上函数的总接口 ·
  6. ADC 中断中执行相电流限幅控制、各个通道采样值的更新和反电势过零点检 测:电机控制层(MTR_CTRL):
  7. zero_cross_detect.c:反电势过零检测
  8. commutate_isr.c:换相中断执行代码
  9. zero_cross_detect_isr.c:、

零检测中断执行代码 ·用户层(USER):

  1. main.c:调用如上函数的总接口
  2. state_machine.c:状态机,包含各个状态跳转
  3. vsp_interface.c:调速接口,支持虚拟或实体 按键开关机、切换档位,支持四个档位
  4. commutate.c:执行电机六步换相的子函数
  5. speed_loop.c:速度闭环控制函数
  6. protect.c:堵转检测模块耗时较长,用在超高 速场合时需要针对性调整
  7. filter.c:滑动平均滤波模块

程序架构

  1. Main 主程序中执行 MCU 外设初始化和用户参数初始化
  2. 2mS 无限循环中执行 LED 闪灯控制、慢速状态机、转速闭环控制、按键检测 等
  3. TIM3 中断中执行及时换相、拍宽计算、延时换相时间的计算和电机运行异常 的检测
  4. ADC 中断中执行相电流限幅控制、各个通道采样值的更新和反电势过零点检 测:
    image.png

更多回帖

发帖
×
20
完善资料,
赚取积分