目录
前言
一、概述
二、驱动原理
编辑
三、(有感)速度闭环控制
四、无感控制(无位置传感器)
四、(无感)速度闭环控制
总结
声明:学习笔记来自正点原子B站教程,仅供学习交流!!
简介:
直流无刷电机(BLDC)是指无电刷和换向器的电机,又称无换向器电机,有刷直流电机与无刷电机的最大结构区别:无刷没有电刷以及换向器;转子与定子反过来了!如下图无刷电机(左)定子是绕组而有刷电机(右)定子是永磁体!
无刷电机的运转过程类似机电传动控制课程的异步电机,利用定子磁场位置的不断变化,“吸着”/“”拖着“永磁铁转子的运动。
分类:
主要参数:
极对数:转子磁铁NS级的对数,此参数和电机旋转速度有关:电子速度 = 电机实际速度 * 极对数
KV值:值越大电机转速越大。电机转速 = KV值*工作电压
额定转速:额定的电流下的空载转速,通常单位用RPM表示
转矩:电机中转子产生的可以带动机械负载的驱动力矩。通常单位为:N-M
应用场景:(前途无量)
无刷电机的应用场景很广泛,如电动车、无人机、风扇、鼓风机、抽油烟机等等。
内转子式BLDC为例:
引脚:
原理分析:
内转子式BLDC简化后如下。u、w、v可+可-,然后两两组合导通,共六种,也称为六步换相
如何实现三相极性切换?
使用三相逆变电路来实现极性的更换。三个半桥,高功率的MOS管来进行开关动作:
上面的方式是直接把电源加载到线圈上,会使电机很快飙到很高的速度。所以一般都是将高低电平用PWM来代替,这样可以方便的控制线圈电流,从而控制转子扭矩及转速:
PWM控制直流无刷电机的常见方法如上右图,实验用的是第四种H_PWM – L_ON: 上桥臂使用PWM调制, 下桥臂使用高低电平直接控制,电机转速,取决于上桥臂PWM的占空比。
如何确定当前转子的位置在哪?
有位置传感器(通过霍尔传感器读取);无传感器(通过反电动势读取)。这里只介绍有感控制,无感控制在下面单独列出!
霍尔传感器检测:
霍尔与绕组得电情况真值表,不同厂家不同,不需要记忆!
驱动板介绍:
具有三相逆变电路、支持三相电流采样、电源电压采样和温度检测、霍尔/编码器/过零信号、过流保护电路等功能。......略
有感驱动配置流程:
①初始化TIM及IO。初始化相关IO,以及初始化定时器,6路通道(3路上桥臂以及3路下桥臂),开启中断。
②霍尔状态读取。编写霍尔传感器状态读取函数。
③六步组合。上下桥臂的导通情况,共6种,也称为6步换向。
④设置无刷参数。设置旋转方向以及脉冲占空比,并编写无刷启停函数。
⑤中断服务函数。在中断里边读取霍尔状态,根据方向以及霍尔状态依次导通上下桥臂。
模拟量采集配置流程:
①电机基本驱动。实现电机的基础驱动函数,启停、6步换向组合等等。
②初始化ADC&DMA。使用DMA进行ADC的数据传输,减少CPU的使用率。
③采集函数。编写数据采集函数。
④中断服务函数。采集电机未开始转时的基准电压,在将旋转后得到的电压进行相减得到实际电压。
有感测速原理:
第一步:可以看出当只有一对级时,旋转一圈霍尔输出一个完整脉冲(一N一S)
第二步:计算其中高电平的持续时间,即:t = C / Ft (其中Ft是计数频率,C为计数次数)
第三步:所以旋转一圈,需要的总时间为T = 2*C/Ft
所得出的结果就为:s/圈 ,倒数就为:圈/s ,转化为RPM即:Ft/(2*C) *60 即可
当转子为2对级时,速度公式为:Ft/(4*C)*60
有感速度闭环控制配置:
①电机基本驱动:实现电机的基础驱动函数,启停、6步换向组合等等。
②PID算法:实现PID算法(增量式/位置式)。
③速度控制:编写速度控制代码。
④上位机通信:编写上位机通信代码,可在上位机上实时显示当前速度与目标速度的波形变化。
⑤中断服务函数:在中断里边计算电机速度,调用PID算法实现PID控制。
以上说的是有霍尔传感器的有感控制,下面介绍下无感控制!
简介:
无感控制不需要位置传感器(霍尔或光电)就能对无刷电机进行驱动,只有黄绿蓝三根粗线(U、V、W),无另外五根与传感器有关的细线。因为没有位置传感器,所以电机体积很小。
有感驱动:通过霍尔信号的组合判断转子当前位置;无感驱动:通过过零信号的组合判断转子当前位置。
控制原理:
在定子绕组换相的过程中,磁场方向不断变化,永磁铁转子转动,这时由楞次定律会产生反电动势。
过零点:反电点势从正变化为负或者从负变化为正的点。反电动势过零点都发生在不通电的那一相。
电机旋转一个电周期中电流和反电动势的波形如下:(其中实线代表电流,虚线代表反电动势,红点为过零点)
分析:第一个60°内,A相电流为正,B相电流为负,C相电流为零,这说明电机AB相通电,电流从A相流入B相,C相为开路, 反电动势的过零点正好出现在C相,因此只要在每个60°内检测不通电那一相的电压,即可检测反电动势过零点。过零点的检测通过上图右侧的比较电路实现(过零点其实就是个跳变点12V+-E反),比较是大于12V还是小于12V,输出1或0判断信号。
注意:1、过零信号的组合确定转子位置;2、过零点发生在换相提前30°的时刻。(结合上左图理解)
结论:准确检测出反电动势的过零点,将其延迟 30°,即为需要换相的时刻。如此就代替了位置传感器判断何时换相。
过零信号组合对应的绕组导通真值表:
无感驱动整体框图:
通过过零信号的组合判断转子当前位置,控制逆变器功率器件的开/关实现绕组的换相。
过零电路解析:
由于相电压过大,需电阻分压网络,进行分压(左图最右侧);(运算放大器)将输出信号和输入信号进行隔离,同时增强了信号的驱动能力(中);7 脚输出加了 RC 低通滤波,主要以去除信号线上的高频毛刺干扰(中);BEMF_M为虚拟中性点,右图极为主要的比较电路,若BEMF_U(V或W)比中性点BEMF_M大输出1,反之输出0,通过ZERO_U(V、W)过零信号的组合判断转子当前位置。
输出三个过零信号后,到达上图左侧的复用芯片,可使用右下角的跳线帽选择是接霍尔信号还是过零信号;然后右侧就是端子了,通过此端子接到电机开发板,跟有感控制一样,只用到了H&Z U(V、W)三个引脚,至于是H还是Z是左侧的复用芯片决定的。
无感驱动配置流程:
①电机基本驱动:实现电机的基础驱动函数,启停、6步换向组合等等。
②定位:固定转子在某一位置,然后以一定的速度按顺序换向旋转。
③检测过零信号:当稳定检查到过零信号时,进入过零控制。
④过零信号处理:过滤尖峰电压,判断过零信号发生改变,延迟计数,当延迟30°之后开始换相。
⑤中断服务函数:定时调用过零控制函数
无感测速原理:
①可以看出当只有一对级时,旋转一圈过零信号输出一个完整脉冲(一高一低)。
②计算其中高电平的持续时间,即:t = C / Ft (其中Ft是过零信号的计数频率,C为计数次数。
③所以旋转一圈,需要的总时间为T = 2*C/Ft。
结论:s/圈 ,倒数就为:圈/s ,转化为RPM即速度=Ft/(2*C) *60 。当转子为2对级时,速度公式为:Ft/(4*C)*60。
无感速度闭环控制配置:
①电机基本驱动:实现电机的基础驱动函数,启停、6步换向组合、过零控制等等。
②PID控制:实现PID算法。
③上位机通信:编写上位机通信代码,可在上位机上实时显示当前速度与目标速度的波形变化。
④中断服务函数:计算电机速度,调用PID算法实现PID控制。
遇到挫折,要有勇往直前的信念,马上行动,坚持到底,决不放弃,成功者决不放弃,放弃者绝不会成功。成功的道路上,肯定会有失败;对于失败,我们要正确地看待和对待,不怕失败者,则必成功;怕失败者,则一无是处,会更失败。
今天的学习分享到此就结束了,我们下次再见!!
往期精彩:
控制理论 PID算法
STM32定时器输入捕获(IC)
STM32定时器输出比较(PWM波)
STM32定时中断
STM32外部中断
STM32GPIO精讲
…