基于STM32的无位置传感器无刷电机控制系统论文

2025-03-05 11:09:27 来源: 作者:xujingjing
摘要:由于传统端电压检测方式实现的无位置传感器无刷电机控制方案均在开关管的开关中断中进行过零信号的处理,受限于开关频率,难以实现无位置传感器无刷电机高速稳定运行。为此,基于连续采样的原理,考虑了端电压采样硬件电路的相移,提出了一种D MA中断中连续判断过零信息的策略,并在控制系统中验证了这一策略。该控制系统采用STM32微处理器作为主控芯片,利用处理器的DMA功能,持续进行ADC采样无刷电机的端电压,同时采用均值滤波算法对采样的端电压信号进行处理,在主控芯片中处理过零信号,分析了ADC采样电路导致的过零信号的相
摘要:由于传统端电压检测方式实现的无位置传感器无刷电机控制方案均在开关管的开关中断中进行过零信号的处理,受限于开关频率,难以实现无位置传感器无刷电机高速稳定运行。为此,基于连续采样的原理,考虑了端电压采样硬件电路的相移,提出了一种D MA中断中连续判断过零信息的策略,并在控制系统中验证了这一策略。该控制系统采用STM32微处理器作为主控芯片,利用处理器的DMA功能,持续进行ADC采样无刷电机的端电压,同时采用均值滤波算法对采样的端电压信号进行处理,在主控芯片中处理过零信号,分析了ADC采样电路导致的过零信号的相移,给出了换向点校正方法并通过程序对系统进行补偿。实验结果表明,该控制系统驱动电机启动平稳,高转速运行可靠,转矩输出恒定,为无位置传感器的高速无刷电机控制提供了一种可行的解决方案。
关键词:无刷直流电机;端电压;过零信号;无位置传感器控制
0引言
无刷直流电机(Brushless DC Motor,BLDCM)是伴随现代电子技术和现代控制理论发展而衍生出的新型直流电机,具有寿命长、可靠性高且易于维护等优点。传统的无刷直流电机控制通过位置传感器检测转子位置,系统结构复杂且难以在恶劣环境下应用。无位置传感器控制器因其结构简单、可靠性高,可适应于多种恶劣的应用领域[1-5]。
近年来,许多学者以及科研机构对无刷直流电机的无位置传感器控制方法进行了深入研究,主要集中在反电动势检测法、电感法观测器检测法、磁链检测法等方向,取得了很多科研成果。反电动势法原理比较简单、实用性强,但易受开关管的高频信号干扰,并且电机低速下反电动势较小,难以检测,停止状态没有反电动势,无法检测电机位置;电感法适用于交直轴差异明显的电机,电机在停止状态下可以检测出当前的位置信息,并且可以在低速下运行,但是对于电流的检测要求较高;磁链法在理论上可以适用于所有转速段,但计算量较大,需要高性能主控来支持,并且对于参数变化及累积误差的敏感;对于反电动势检测法通常是通过电阻分压的形式采样端电压,端电压中包含反电动势分量,采样端电压就间接的得到了反电动势的信息。文献[2]提出了一种基于端电压平均值的线反电势准滑模观测器,该观测器引入一种具有边界层的饱和函数,并采样端电压的平均值,减小了传统滑模观测器存在的抖振问题。该控制策略以线反电势和相电流间的差值作为系统的状态变量,将得到的三相端电压的平均值作差,得到线电压的平均值,作为系统的输入量,没有滤波电路和相位补偿模块,直接可以得到换向点,但算法中需要构造滑模面以及边界饱和函数,对于一般单片机运算量过高。文献[3]分析了H_ PWM-L_ PWM调制方式下端电压偏差与位置信号相位误差的关系,得到端电压偏差能够准确反应位置信号相位误差的结论,并提出了以端电压偏差为反馈量,通过PI调节器实时调整过零点延时角度,从而达到校正位置信号相位的目的,这种算法适用于H _ PWM-L_ PWM控制方式。文献[4]提出了基于线反电动势过零法控制系统,建立了无刷直流电机(BLDC)数学模,并在MATLAB中进行了仿真验证,但是对于实际应用中由于开关管所造成的高频噪声以及由于采样端电压造成的相位延迟,没有给出解决方案。文献[5]针对基于无位置传感器的无刷直流电动机端电压检测法,分析了使用软件计算和利用硬件电路获取反电动势过零点的两种检测手段,并分别结合三段式起动法和电压脉冲注入法进行转子初始位置精确定位,实现了无刷直流电动机无位置传感器的可靠起动和正常运行,脉冲注入法适用于凸极特性比较明显的电机,对于表贴式电机则不适用。文献[6]提出了一种基于虚拟中性点的无传感器转子位置检测方法,通过3个阻值相同的电阻引入三相端电压,将这3个电阻星形连接构造虚拟中性点,通过分析了无刷直流电机虚拟中性点电压与换相时刻的对应关系,得出了虚拟中性点电压通过直流母线中点的时刻即为反电动势过零时刻的结论,并通过实验进一步验证了这一方案。文献[7]在预定位阶段采用施加短时检测脉冲来确定转子初始位置,在同步加速阶段针对不同负载情况计算换向点的方法,并分析了加速过程中换相的准确性。文献[8-9]在转子预定位阶段,通过电压矢量脉冲注入将电机转子的位置精度控制在一定范围内,在加速阶段,通过特定的算法,完成闭环启动。文献[10]提出一种施加脉冲电流并检测绕组电感变化量的方法来确定初始转子位置,并配合FOC算法控制BLDC电机平稳高效运行。文献[11-16]从不同角度分析了过零检测的方法,并进一步给出了检测过程中高频噪声以及换相延时的处理方法。文献[17-19]从原理上分析了端电压检测的原理,在过零检测中采取不同的控制方法,得到正确的过零信号,实现无刷电机反电动势无感运行。
本文针对无位置传感器的无刷直流电机稳定性和高速运行需求的不断提高,设计了一款基于STM32F103微处理器的控制系统。该系统采样的端电压通过电阻分压的形式实现单片机可接受的电压范围,通过低通滤波器滤除开关管的高频噪声,以ADC采样的形式间接的得到反电动势的信息,在程序中处理过零信号替代硬件比较器的过零检测电路,分析了AD采样电路导致的过零信号的相移,再通过软件补偿的方式解决了由于使用低通滤波器造成的相移偏差。
1无位置传感器系统原理设计
1.1无刷电机的数学模型
无刷直流电机系统原理如图1所示。对于无刷直流电机的三相六拍驱动方式,三相逆变器的输出在每一时刻都有一相处于断开状态。对于这一断开的绕组,其相电压等于感应电动势,而这种感应电动势是由气隙磁场产生的。
无刷直流电机的气隙合成磁场包括转子励磁磁场和电枢反应磁场,其中电枢反应磁场的影响很小,因此可以将绕组中的感应电动势视作反电动势。基于无刷直流电机的数学建模,可以得到绕组电压的平衡公式为:
式中:u A、u B、u C为三相绕组端电压;R为电机相电阻;L为绕组自感;M为绕组互感;i A、i B、i C为三相绕组相电流;e A、e B、e C为三相绕组反电动势;u N为三相绕组中性点电压。
1.2过零检测原理
电机控制采用三相六拍的两两导通方式,上桥PWM,下桥恒导通的方式,以A、B相导通为例,此时Q1和Q6导通,此时三相电流的关系为:
由于A相与B相电流大小相等方向相反,C相电流为零,由式(1)和式(2)可得:
进一步计算可得C相的反电动势检测方程为:
同理可得到A,B相的反电动势检测方程:
图2所示为无刷电机理想反电动势波形与过零点以及换向点的关系,每一个电周期内有6次换相的需求,换相点无法直接检测到,但换相点跟反电动势过零点位置相关,从物理空间来看是有30°的电角度差别,而反电动势过零点可以通过三相端电压的信号判断出过零信号的时刻,根据图示的关系以及式(4)~(6)可以从原理上判断出过零信号出现的时刻,此时转子所处的位置即为反电动势过零点的位置。
图2中,Em表示反电动势的幅值,ZCP代表检测到的反电动势过零点信号,CP表示换相点,检测到反电动势过零点之后,延迟30°即为换向点,这种方法简单、方便。在实际应用中是将端电压分压,并经一阶低通滤波后得到位置检测信号,为了滤除噪声而设计的低通滤波器必然产生相移,使位置检测不准确,需要在程序中进行补偿。
端电压采样电路如图3所示,图中,R1=R3=R5,R2=R4=R6,C1=C2=C3,通过合理设置分压得到ua0,u b0,uc0,使之可以直接接入控制芯片的AD采样模块,满足芯片ADC的测量范围要求。电容的目的是构成低通滤波器,滤除由于开关噪声导致的干扰信号。
同时根据图3可以比较容易地求出相端电压由于检测电路导致的相移[5]:
式中:α为相移角度;f为电机反电动势的频率;γ为检测到过零信号之后需要延迟换相的角度值。
由式(7)可知,由于电路设计确定后,R1、R1、C1均是固定的值,所以端电压的相移与电机的反电动势频率成正比,现有的微处理器可以比较容易计算出上述公式中的相位延迟角度,如果微处理器处理速度比较慢,可以在离线下计算得到相移角度值,以表格的形式存储在在单片机存储区。控制器可以实时检测到转速与反电动势角频率的关系,根据实测的转速信息查表得到需要延迟的角度值,这样就可以确定检测到过零信号之后需要延迟多少角度值。在实际应用中,需要根据实际测试的数据进行修正,一般需要超前换相,这样电机运行在最佳状态。
2无位置传感器系统设计
2.1硬件设计
本文以STM32 F103为控制核心,该芯片主频为72 MHz,丰富的外设接口为控制系统的开发提供了强大的硬件支持。针对电机驱动的三相桥控制,本文采用上桥PWM互补调制方式,下桥ON的调制方式,由STM32F103的高级定时器TIMER生成互补导通控制各个MOSFET的控制PWM波。控制系统硬件框图如图4所示。三相桥驱动电路由6个MOSFET管RU6888M组成三相全桥,实现了将直流电压逆变为为控制电机运行的各相绕组的能量来源;功率驱动电路三相全桥预驱动6288实现6个M OSFET的开关[20],根据M CU的输出信号高低实现相应开关管的开通与关断,外部配以自举电路,由二极管和自举电容构成。端电压通过电阻分压以及滤波之后接入单片机的ADC外设,从而实现端电压采样。电流采样通过直流母线上的采样电阻经运放之后接入ADC,以采样电阻间接实现电流信号的采样。
2.2软件设计
2.2.1整体结构
图5所示为系统软件主程序流程。首先对STM32F103的外设进行初始化,主要完成对GPIO、高级定时器、ADC、DMA以及串口的底层配置。本文使用ADC的7个通道,其中3个通道用于实现电机三相的端电压采样,另外4个通道配置为母线电压采样,温度采样,电流采样,以及速度指令采样。配置为同步规则模式,DMA连续转换,低位保存ADC1,高位保存ADC2,软件触发,DMA传输完成以及半传输均可触发中断,半传输中断以及传输完成中断均有有效的三相端电压信号的采样。过零信息的处理在DMA中断中进行。
图6所示为无位置传感器三段式启动子函数,在电机处于静止状态下,没有反电动势产生,所以无法用反电动势的方法来确定电机转子的初始位置,本文采用的三段式起动算法[21]。在启动的初始阶段,给电机的其中两相通电压逐渐增大的矢量,当达到预设的矢量值时,停止增加,此时以固定的电压矢量定位,这样做的目的是为了避免突增的电压矢量过大导致预定位出现震荡,待预定位完成后,转子就会固定在一个确定的位置;第二阶段,以当前位置为初始状态,给电机以升压升频的方式驱动电机异步升速运行;第三个阶段,当反电动势的幅值足以检测到转子位置的时候,切换至通过反电动势检测的方式同步运行。
2.2.2过零信号处理
在同步运行阶段,过零信号的处理均在DMA中断中进行,如图7所示,进入D MA中断后,会判断是那种类型的中断,根据不同的中断类型确定得到的ADC对应的关系,两种中断均有有效的端电压值采样,经过多次采样求取平均值,判断出是否有过零信号,当有过零信号出现时,计算理论换相延迟时间,查表得到实际需要的延迟时间,记录当前的时间点,根据换向表,设置下一步需要换相的索引,将延迟换相的时间设置至定时器,开启定时器换相中断,DMA中断结束。当定时器中断触发的时候换相,开启下一步的过零检测。
3实验结果
本实验使用的电机型号为EC2845空心杯电机,额定电压为12 V,相电阻为0.65Ω,相电感为0.05 mH,一对极,最高空载转速22 500 r/min。电机的实验平台由基于STM32F103的电机控制板、GPS-3303C开关电源、测试电机、DSO-X3024A示波器、Jlink仿真器构成,如图8所示。
3.1空载条件下的启动测试
测试工况为:在空载条件下,设置目标转速为全速22 500 r/min,电机零速启动。
由于无刷电机初始状态为静止状态,电机绕组中没有反电动势产生,所以是通过三段式启动方式将电机异步拖动至反电动势可以检测的状态,而后同步闭环运行。图9显示了无刷电机三段式启动的全过程,从初始的预定位,到接下来的开环加速,再到切入闭环加速至目标转速的过程,从图中可以看出,此控制算法启动稳定、可靠,控制算法由开环至闭环平滑,没有波动。
3.2负载条件下的带载测试
测试工况为:电机全速运行,加载固定的50 mN·m负载。
图10显示了在电机实际运行中的负载特性,由图可以看出,在50 mN·m负载下,电机运行的转速为20 000 r/min,转速波动小,电流稳定,由端电压的波形可以看出,在此负载下,无刷电机换相准确可靠。
4结束语
本文分析了以反电动势检测方式实现的无位置传感器无刷电机控制算法,在建立的数学模型的基础上,研究了以三相端电压来间接的检测反电动势的机理,确定了采用STM32微处理器作为主控芯片的控制方案。设计的端电压采样电路虽然存在原理性的相移,但是通过软件补偿的方式一样可以实现电机的无相移准确换相。设计的控制系统通过ADC采样无刷电机的端电压,在程序中通过端电压得到过零信号,替代了传统的硬件比较器过零检测电路。利用处理器的DMA功能,ADC持续进行采样,结合滤波算法得出稳定的端电压信号,从而解决了开关频率低导致的过零信号采样误差。实验结果表明,该控制系统能够实现电机平稳启动、可靠的高转速运行以及恒定的转矩输出,为无位置传感器无刷电机的控制提供了一种有效的解决方案,并具有一定的理论研究价值和实际应用价值。
[1]赵继成.无刷直流电机转矩脉动抑制与无位置传感器控制研究[D].哈尔滨;哈尔滨工程大学,2020.
[2]倪有源,余长城,陈浩.基于端电压平均值和准滑模观测器的无刷直流电机控制[J].电机与控制学报,2019,23(5):34-41.
[3]吴小婧,周波,宋飞.基于端电压对称的无位置传感器无刷直流电机位置信号相位补偿[J].电工技术学报,2009,24(4):54-59.
[4]温嘉斌,姜彪,葛佳航,等.基于线反电动势检测的无刷直流电机无位置传感器控制系统仿真新方法[J].黑龙江大学自然科学学报,2017,34(1):103-109.
[5]刘细平,刘雨锋,蔡少文,等.基于端电压检测的无位置传感器无刷直流电动机研究[J].微特电机,2019,47(7):46-50.
[6]万筱剑,万子博.一种基于虚拟中性点的无位置传感器无刷直流电动机控制方法[J].电气传动,2024,54(8):4-9.
[7]武凯迪,袁登科.无位置传感器无刷直流电机启动方法研究[J].机电一体化,2014,20(11):33-39.
[8]李华栋.一种改进的无刷直流电机无位置传感器启动控制策略[J].电气传动,2021,51(18):36-41.
[9]弓箭,廖力清,叶冰清.基于高精度电感法的无刷直流电机起动及反电动势同步检测稳定性研究[J].电工技术学报,2017,32(5):105-112.
[10]尹建兵,霍佳丽,陈琳.无位置传感器BLDC电机的启动方法与控制研究[J].机床与液压,2023,51(9):118-123.
[11]王大方,于知杉,金毅,等.无位置传感器无刷直流电机无硬件滤波转子位置检测方法[J].电工技术学报,2017,32(19):71-80.
[12]杨明,刘杰,徐殿国.重载条件下无刷直流电机无位置传感器驱动换相续流影响的分析及其补偿[J].中国电机工程学报,2013(30):106-112.
[13]仇志坚,豆帅涛.基于关断相二次续流的BLDC无位置传感器控制[J].电气传动,2019(1):12-17.
[14]赵国清,武涵.基于STM32的无感无刷直流电机控制系统设计[J].自动化应用,2024,65(5):142-148.
[15]宋开元,吕晓东.反电势中值滤波的无刷直流电机无感控制策略[J].微电机,2023,56(11):30-37.
[16]胡辉,余岳,刘建华,等.超高速BLDC无速度传感器控制研究[J].电力电子技术,2022,56(11):24-26.
[17]张金鸣.基于反电动势法的直流无刷电机的无感控制应用[J].山西电子技术,2024(1):66-68.
[18]胡辉,余岳,刘建华,等.超高速BLDC无速度传感器控制研究[J].电力电子技术,2022,56(11):24-26.
[19]尤钱亮,陆佳琪.无刷直流电机高精度换相控制[J].电机与控制应用,2019,46(10):46-50.
[20]姚愉彬,吕艳蕊,李虹,等.基于FD6288设计的经济型无刷电机驱动器[J].机电工程技术,2024,53(2):243-247.
[21]段富海,杨光,杨子鹤,等.无位置传感器无刷直流电机控制器的设计[J].机电工程技术,2019,48(9):131-134.
