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

文章介绍了灵动微电子的MM32SPIN040CMCU,这是一款针对电机驱动的专用芯片,适用于风机、水泵和筋膜枪等应用。硬件设计包括充电、逆变等部分,软件设计涉及电机控制时序,采用多层结构代码框架,包括板级驱动、电机控制算法和应用层。文章详细阐述了MCU的特性和在电机控制中的关键功能实现。
摘要由CSDN通过智能技术生成

芯片资源介绍

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 指示、反电势检 测等八个部分,如下图:

 软件设计

电机控制时序

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

 代码框架

本项目代码架构主要分为三层,板级驱动层、电机控制算法层、应用层,如图 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:调用如上函数的总接口 ·

4) ADC 中断中执行相电流限幅控制、各个通道采样值的更新和反电势过零点检 测:电机控制层(MTR_CTRL):

1) zero_cross_detect.c:反电势过零检测

2) commutate_isr.c:换相中断执行代码

3) 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 中断中执行相电流限幅控制、各个通道采样值的更新和反电势过零点检 测:

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值