无线电爱好网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

基于 MM32SPIN360C 驱动无感 BLDC 电机的硬件平台及实现方法

2022-7-29 14:10| 发布者: 闪电| 查看: 3| 评论: 0

摘要: 简介基于 MM32SPIN360C 电机开发板驱动无感 BLDC 电机的说明文档,分为硬件平台介绍,原理分析,以及软件架构解析,用于描述 MM32SPIN360C 的电机相关硬件介绍及外设应用参考例程,包含无刷电机相关基础理论单个外设 ...
简介

基于 MM32SPIN360C 电机开发板驱动无感 BLDC 电机的说明文档,分为硬件平台介绍,原理分析,以及软件架构解析,用于描述 MM32SPIN360C 的电机相关硬件介绍及外设应用参考例程,包含无刷电机相关基础理论单个外设的例程,比如 ADC、TIM 等,也包含电机控制应用中需要的外设互连框架设计,比如 ADC、TIM之间的互联。文档内容以外设配置程序逐行解释、电机配置、测试方式和测试结果为主。

Demo 例程中为电机提供的功能有: 顺逆风启动、过流保护、过压保护、恒流运转、恒功率运转、恒速运转、急加速、按键正反转、ppm调速、电位器调速、FG信号输出、电机蜂鸣。
本文档介绍基于 MM32SPIN360C 硬件平台及无感方波理论技术讲解,MM32SPIN360C 软件驱动及电机调参等相关介绍将于下一篇博文讲解。

一 硬件平台

 1.1开发板

      本软件使用的开发板是世平集团基于MM32SPIN360C的低压无刷电机驱动的开发板。

      MM32SPIN360C 是 Arm® Cortex®-M0 为内核的 32 位微控制器,最高工作频率96MHz。

      VCC引脚内置LDO输出电压为5V为MCU提供工作电压。

      128KB Flash。

      12KB  RAM。

      12 位的 ADC,采样速度高达 1Msps。

      5 个通用定时器、2 个针对电机控制的 PWM 高级定时器。

      1 个 I2C 接口、2 个 SPI 接口和 2 个 UART 接口。

      针对电机应用内置 3 个运放,3 个比较器。

      预驱工作电压高达 60V。




























方案链接:https://www.wpgdadatong.com/solution/detail?PID=7090


1.2核心硬件原理图

       我们需要按照红色框内的连接方式来连接跳帽,以实现用 ADC 来采集反电动势过零点,获取转子位置信息。

       


二 BLDC控制原理

2.1机械角与电角度的关系

2.1.1 机械角

        机械角就是电机转一圈的角度,它的范围是 0-360 度。

2.1.2 电角度

        从转子来看, 转子上分布有 N 对磁铁,电角度以一对磁铁为基准,形成电磁场的绕组经过一对磁铁的 N 极、S 极、再回到另一对磁铁的N极时,完成从N、S、再到 N 极一对磁钢的跨越,这就是电角度的一周。从 N 极只到 S 极,则转子只运行了 180°。一台电动机的转子转动一圈有多少电角度,视磁铁磁对数而定,只有一对磁铁时,电角度和机械角度一致,有两对磁铁时,为 2X360°。
        从定子来看,定子电流变化一个完整的周期定义为电角度的 0-360 度,称为一个电周期。一个电周期可以在空间 360° 完成也可以在空间 180° 或者 90° 或者 60° 完成,这和转子的极对数有关。
        如 demo 中的 7 对极电机,电机旋转一圈对应着电角度为 7*360°,相同电角度下,极对极越少,电机转速越快。 BLDC 六步换相完成一轮,电角度对应 360°,每步与上一步的电角度差为 60°。

 2.2 换相时序

2.2.1 正向旋转

       (1) U->V
       (2) U->W
       (3) V->W
       (4) V->U
       (5) W->U
       (6) W->V

2.2.2 反向旋转

       (1) U->W
       (2) U->V
       (3) W->V
       (4) W->U
       (5) V->U
       (6) V->W

       注:换相时机取决于转子的位置,与转速无直接关系。

2.3 导通角,延时 30° 角,超前角,中点电压的关系

2.3.1 导通角

       电机在换相时序过程中,最佳的换相时间。

2.3.2 延时30°角

       假设两次换相之间速度不变,则延时的时间就是两次过零点间隔的一半。

       如:占空比突然加大了,转速也是慢慢加上去,所以相邻两次换相的换相间隔是不会突变的,所以需要记下上一次的换相间隔,然后检测到过零点之后再延时所记下间隔的一半时间再换相。

3.超前角

       提前于导通角多少度(最高为 30°)。

       一般来说:在电机高转速情况下,需要在每个换相点(导通角)前插入一定的超前角(程序中的 Lead Angle)以达到在电机带负载情况下,在工作转速(或范围)下找出电机效率最高(输出功率/输入功率)、电机噪音和震动最小的状态。

2.3.4 中点电压

       电机正常运转时,电机三相输入电压,输入电压/2 处就是过零点。当PWM波的占空比不是 100% 时,这里的输入电压应再乘以占空比的百分数。

                                                                                                          黄色:W 相的反电动势波形过零时,蓝色 U 相导通时电压波形。

       注:在程序中根据转速动态调整'补偿角'和'延时角(角度会转变为时间变量做计算)。

       举例:PWM 基本周期频率 20KHz(50μs),7 极对电机,在转速 2000r/m 时,求角度变化值
       (1):2000r/m*7 = 14000/m (每分钟的电周期)
       (2):14000/60 = 233.33/s (每秒的电周期)


       (3):1/233.33 = 4.28ms (每个电周期需要的时间) 
       (4):4.28ms/6 = 713μs (每 60 度需要的时间) 
       (5):713μs/50μs = 14.2次 (每 60 度内 PWM 周期的次数) 
       (6):60°/14.2=4.2° (每个 PWM 周期增加的角度值)


2.4反电动势,过零点

2.4.1对同一个电机来说,反电动势峰值跟电机转速几乎是固定的比例。


2.4.2如上图所示

        此时的驱动逻辑是 U->V ,可得 Vu=VCC,Vv=0V。EU, EV, EW 为电机三相反电动势电压,Vu, Vv, Vw 为三相半桥中点电压,也就是电机三相输入电压。Ul, Vl, Wl 为电机三相相电感,iu, iv, iw为电机三相输入电流,Ur, Vr, Wr 为电机三相输入电阻(考虑三相电阻相等), Vn 为电机三相中点电压。

       推导过程:
       (1):因电机各相参数一致:                         Ul= Vl= Wl=L, iu=iv= iw=i, Ur,=Vr= Wr=R。
       (2):对于 U 相而言:                                    Vn = Vu-(R*i)-L*(di/dt)- EU
       (3):对于 V 相而言:                                    Vn = Vv+(R*i)+L*(di/dt)- EV
       (4):由上式可得:                                         2Vn =VCC-( EU+ EV)
       (5):因三项反电动势的和始终为零:         EU+ EV+EW=0
       (6):从而得到                                                 Vn = (VCC-( EU+ EV))/2 = (VCC+ EW)/2
       (7):则悬浮相电压与反电动势的关系为: Vw = Vn+EW = (VCC+3EW)/2

       由上可得当 EW=0,也就是反电动势过零时,当 ADC 检测到 Vw=VCC/2 时,就是 W 相的反电动势过零点,那么理论上再经过 1/12 的电周期时间(延时 30° 角),电机就需要进行换向。


2.5如何在合适的时机换相

2.5.1第一种方法

       在开环启动的状态下,转速达到一定后,根据标题三中的举例计算出每 60° 需要的时间,预设换相时间,接下来的换相后设置定时器,检到过零点后,读出时间值,当前时间值再减去基于速度配置中的 30° 延时角与补偿角的差,换相进入闭环。

2.5.2第二种方法

       在开环启动的状态下,转速达到一定后,检到过零点后就立即换相,这样处理器会省点事,电机照样正常运转,只是可能稍损失一点电源效率,过大的噪声和震动等。


2.6调节转速以及计算转速的方法

2.6.1调节转速

        电机的转速与 KV 值有关,也就是与供电电压基本是成比的,电机某一相通电时,只要调节 MOS 管的导通占空比,相当于调压,也就实现了调速。

2.6.2转速的计算方法

        例:7 对极电机每 1 个 ms 换相一次
        (1):1ms*6=6ms(一个完整的电周期需要的时间) 
        (2):60/6ms=10000/s(每分钟的电周期数)
        (3):10000/7=1,428.75rpm(转每分)


2.7电机启动方法

2.7.1电机工作状态分析

        在电机静止时,无法知道转子当前的实际位置的,从而也无法判断到底该通哪两相电进行驱动。原因就在于反电动势检测只有在电机正常转起来之后才能正常工作。而且在低速状态下,反电动势输出极低,波形也比较乱,从而也无法用反电动势过零检测法进行换相。你必须确保在开环的情况下,使电机运行到一个比较快的速度,等反电动势波形输出正常了,然后才能利用反电动势的过零检测换相使电机正常工作和换相。

2.7.2三段式的驱动方式

        (1):预定位
        刚开始电机在静止情况下,而且开始不知道转子的情况下,可以进行通过对三相电机的其中两相通电,等待一段时间,然后再对电机相邻状态的两相通电,此时转子会转动,并且会转动到当前两相合成磁场的所在的位置。注意预定位中 PWM 频率以及的通电的等待时间,需要根据实际情况选取。

        (2):加速阶段
        PWM从克服带载力矩最小的占空比开始启动,不断地检测过零点及转速。
        加速的三种方法分别:
        ①恒频升压法:PWM 占空比逐渐升高。
        ②换相频率不变恒压升频法:PWM占空比不变,换相频率逐渐升高。
        ③升频升压法:PWM 占空比逐渐升高,换相频率逐渐升高。
        注:升压升频法实现起来相比前面两种方法实现较为复杂。需要调试好电压与频率的递增,换相信号的频率需要根据实际电机的电机极对数以及电机相电阻等其他原生参数确定。换相频率太低,电机加速不起来;换相频率太高,电机运行起来容易失步,导致加速失败。

        (3):开环切入闭环阶段
        当电机加速到预设速度或连续不断的检测到过零点时,可由开环状态切换为闭环。相同 PWM 占空比电机在开环时对应的速度与进入闭环时对应的速度相差越小,切换成功的几率越大,而且切换的也越平滑。


2.8电机的减速方法

2.8.1软减速

        在电机运行状态下逐渐将 PWM 占空比降低,以达到减速。

2.8.2硬刹车

        使 U,V,W 三相短路(上臂同时关断,下臂同时导通),以达到刹车。

三、总结

        本文介绍了如何在灵动微的 MM32SPIN360C 这款 MCU 下, 采用 ADC 检测电机的反电动势,计算出转子位置,实现无速度传感器的无刷电机方波驱动的方法。本文档主要是硬件平台介绍与实现技术分析,关于软件 demo 分析、调参等,详见下篇博文。

四、参考文献

        (1)  SPIN360C Datasheet

        (2) 灵动微官网MM32SPINMCU 无感方波 BLDC 电机驱动原理篇文档简介


路过

雷人

握手

鲜花

鸡蛋

QQ|关于本站|小黑屋|Archiver|手机版|无线电爱好网 ( 粤ICP备15040352号 ) 无线电爱好技术交流5 无线电爱好技术交流1无线电爱好技术交流9开关电源讨论群LED照明应用、电源无线电爱好技术交流4无线电爱好技术交流8无线电爱好技术交流10无线电爱好技术交流11

粤公网安备 44030702001224号

GMT+8, 2022-7-29 15:38 , Processed in 0.140401 second(s), 17 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

返回顶部