1. 引言
无刷直流电机(BLDCM)具备直流电机优越的调速性能,伺服性能强,又取消了碳刷、滑环等结构所带来的各种问题,使得电机本身不附加励磁损耗和机械损耗,节电率很高 [1] ,非常适合应用于对用电量要求较为严苛的场合,例如,风电变桨控制系统所使用的变桨电机,或者是电动汽车所用驱动电机,就可以采用无刷直流电机,既可以达到优越的控制性能,又可以最大限度的可节省用电量,从而有效促进新能源产业的发展。
采用双芯片的控制结构,使得两块芯片各司其职,由CPLD负责无刷直流电机的换向与方波驱动,充分发挥了其硬件逻辑快速响应的优势,使得电机发生故障时能够实现快速保护;由ARM实现模型参考自适应PI控制算法,当电机的自身参数发生变化或者出现负载扰动时,模型参考自适应PI控制算法相较于传统的PI控制算法,有着更强的鲁棒性。两块芯片协同工作,确保电机安全、可靠、平稳运行。
2. 系统总体设计
系统的硬件结构如图1所示,三相无刷直流电机的驱动电路为三相全桥电路,电机的额定工作电压为24VDC,电机内置三相霍尔传感器用于转子位置检测。CPLD芯片5M240ZT100I5N主要实现电机的换相驱动和PWM调速,以及电机的快速故障保护,包括过压和过流保护等,还具备电机转子机械转速的实时测量的功能;ARM芯片STM32F100为主控制器,片内实现模型参考自适应PI控制算法,与CPLD配合实现转速双闭环控制。
ARM与CPLD通过SPI总线接口进行全双工通信。具体的通信机制是:ARM向CPLD发送控制字来,再由CPLD按照通信协议进行解析,进而控制电机的转速、转向和制动等,每一次下发控制字的同时CPLD上传当前的电机转速或位置信息给ARM。
闭环控制结构为双闭环串级控制系统,外环为转速环,内环为电流环,充分发挥了串级控制系统快速响应的优点;闭环控制算法的选择,摒弃了传统的增量式PI控制算法,而是采用了模型参考自适应
![](//html.hanspub.org/file/4-2740145x9_hanspub.png)
Figure 1. Block diagram of system hardware
图1. 系统硬件结构图
PI算法,提高了直流无刷电机双闭环负反馈控制的鲁棒性,使得电机参数或者电机负载发生变化时,闭环控制系统依然能够保持良好的控制性能。
3. 三相无刷直流电机数学模型
本文涉及的三相无刷直流电机的转子结构为隐极式结构,定子绕组为星型连接。
无刷直流电机的电压方程的矩阵形式可以具体表示为 [2]
(1)
式中:
——每相定子绕组的相电压(V);
——每相定子绕组的电阻(Ω);
——每相定子绕组的相电流(A);
——每相定子绕组的自感(H);
——两相定子绕组之间的互感(H);
——每相定子绕组的反电动势(V)。
由于电机的三相定子绕组完全对称,所以有
(2)
因为直流无刷电机的转子结构形式为表面粘贴式的隐极结构,所以我们可以认为,电机的绕组电感一个常量,不随着时间的变化而变化。由于电机的定子三相绕组是结构完全相同而且对称摆放的,因此每相绕组的自感是相等的,两相绕组之间的互感也相等,可以取L,M,令:
(3)
则式(1)可以改写为
(4)
由于三相电流满足
(5)
式(4)可进一步简化为
(6)
其中
。
与大多数的物理系统相类似,在分析直流无刷电机的转矩和功率的时候,也可以采用能量转换的方式。电机在运行的过程中从电源吸收电功率,这些功率一部分转化电机的铜耗和铁耗,另一部分转化为机械驱动传递给转子,这部分功率就是电磁功率,它在数值上等于各相绕组的反电动势和电流的乘积之和,即 [2] :
(7)
不计转子的机械损耗和其他损耗,电机输出的电磁功率能够全部转化为转子的动能,所以机械功率可以表示为:
(8)
式中:
——电磁转矩(N.m);
——电机的机械角速度(rad/s)。
由式(7)和式(8)得
(9)
要想能够构成一个完整的机电系统数学模型,除了上述推导出的电机的电压方程和转矩方程,还需要引入电机的运动方程 [2] ,
(10)
式中:
——负载转矩(N∙m);
——转子的转动惯量(kg)。
4. 驱动逻辑设计
如图2所示为三相无刷直流电机的驱动主回路。六个MOSFET的标号为M1~M6,的开关驱动信号由CPLD给出,三相霍尔传感器的输出脉冲信号接入CPLD的I/O引脚,CPLD片内逻辑首先对这三路脉冲信号进行整形,整形的目的是为了滤除脉冲信号上叠加的干扰信号。然后对应于整形后的脉冲信号组合,根据表1所示的真值表给出MOSFET的开关驱动信号。
表1所示的真值表适用于所有内置三相霍尔传感器的三相无刷直流电机。可以看出,任意时候,仅有两个MOSFET导通,也就是说,图2中所示三相全桥逆变电路为120˚导通型逆变电路,三相无刷直流电机在任意时刻仅有两相定子绕组通有电流,第三相定子绕组为悬空状态。
ARM片内程序,基于模型参考自适应PI控制算法,计算出控制量,然后通过SPI总线下发给CPLD,CPLD接收后按照通信协议解析,将控制量转化成对应占空比的方波信号,即PWM信号。CPLD基于表1确定了当前时刻应该导通的2个MOSFET,上桥MOSFET的驱动电平为常高,下桥MOSFET的驱动信号为PWM信号。开环控制下,电机转速满足式(11):
![](//html.hanspub.org/file/4-2740145x31_hanspub.png)
Figure 2. Main drive circuit of three-phase brushless DC motor
图2. 三相无刷直流电机驱动主回路
![](Images/Table_Tmp.jpg)
Table 1. True value table of three-phase brushless DC motor commutation drive
表1. 三相无刷直流电机换相驱动真值表
(11)
其中,
为电机的额定转速,转速n与PWM信号的占空比
成正比关系。
CPLD的片内逻辑还能够实现电机转子机械转速的实时测量,其硬件逻辑框图如图3所示。
具体实现方式是:CPLD接收到电机内置三相霍尔传感器的输出脉冲后,首先进行信号调理,也就是前述的脉冲整形。将整形后的脉冲信号作“异或”运算,可以得到频率与转子机械转速成正比的方波信号,然后基于传统的“T法测速”原理,在CPLD片内设计一个20 kHz的时基脉冲信号,也就是图3中的“基准时钟”。通过计算计算“异或”后得到的方波信号相邻两个上升沿之间的20 kHz时基脉冲信号的个数
,然后通过CPLD片内的D触发器,在D触发器的时钟上升沿,将计数值
通过SPI总线上传给ARM,ARM片内程序即可按照式(12)计算出当前电机的转子机械转速。
(12)
式(12)中,
为电机的转子机械转速,
为电机的极对数,
的单位是rpm。图3中的“时间计数”时序图如图4所示。
![](//html.hanspub.org/file/4-2740145x41_hanspub.png)
Figure 3. Block diagram of rotor mechanical speed measurement logic in CPLD
图3. CPLD片内转子机械转速实时测量逻辑框图
![](//html.hanspub.org/file/4-2740145x42_hanspub.png)
Figure 4. Sequence diagram of time count logic
图4. 时间计数逻辑的时序图
CPLD芯片的片内逻辑本质上属于“硬件逻辑”,其响应延时仅为逻辑门电路的输出延时,因此可以实现电机的快速故障保护。图1中所示的“电压电流检测”电路,首先将电压/电流传感器的输出信号转化为电压信号,然后接入两路电压比较器,电压比较器的输出接入CPLD的I/O引脚。只要有一路电压比较器的输出为高电平,CPLD接收到之后就会立刻封锁图2中6个MOSFET的驱动信号,起到保护电机的作用。
5. 控制算法设计
模型参考自适应控制在直流无刷电机控制系统中的应用主要的有三种:基于状态反馈的设计方法,基于信号自适应的设计方法,基于参数估计的设计方法 [3] 。本系统采用的基于信号自适应的控制算法,而这一控制算法正是通过ARM来实现的。
5.1. 基于信号自适应的设计方法
取直流无刷电机双闭环控制系统的状态方程为
(13)
其中
可测,
是常系数矩阵。取参考模型的状态方程为
(14)
其中
是一个常系数且稳定的矩阵,
是一个常系数矩阵,
是一个可选的、有界的、分段连续的参考输入。
控制系统的理想性能可以理解为直流无刷电机的双闭环控制的状态矢量
能够跟踪参考系统给出的状态矢量
。
定义跟踪误差
(15)
由式(13),(14)和(15)可得
(16)
其中
。
取Lyapunov函数为 [4] [5]
(17)
其中
,
是一个正定矩阵。
对式(17)求导,得
(18)
将式(16)带入上式得
(19)
取信号自适应控制律为 [6]
(20)
其中
是通用误差表达式,
误差加权系数向量,
是对称的正定矩阵,且满足
,
。
由式(19)、(20)得
(21)
为了使
,我们就要合理地取
值使
,这样才能保证系统的稳定性 [7] 。
5.2. 参考模型的选取
取参考模型系统的传递函数为
(22)
相应的状态方程为
(23)
对应式(14)可知,
(24)
5.3. 自适应控制率的计算
取 [8]
(25)
其中m为可变的正数,参考模型(22)的参数选择为
(26)
则根据式(20)可以计算出
(27)
(28)
6. Simulink仿真
图5为三相无刷直流电机的模型参考自适应PI调速控制系统结构图,被控参数是电机的转速。
对应于图5,得到图6所示仿真模型。
对应于式(20),取
,基于图6所示的模型,分别在电机参数变化和电机负载变化两种情况下进行仿真,给定转速均为3000 rpm。图7为电机的转动惯量发生变化时的转速响应曲线,图8为电机的定子绕组电阻值发生变化时的速度响应曲线,图9为电机的负载发生变化时的速度响应曲线。
![](//html.hanspub.org/file/4-2740145x78_hanspub.png)
Figure 5. Block diagram of A Model Reference Adaptive PI Speed Control System for Three-Phase Brushless DC Motor
图5. 三相无刷直流电机模型参考自适应PI调速控制系统结构图
![](//html.hanspub.org/file/4-2740145x79_hanspub.png)
Figure 6. Simulink simulation model
图6. Simulink仿真模型
![](//html.hanspub.org/file/4-2740145x80_hanspub.png)
Figure 7. Speed response at the different moment of inertia
图7. 电机转动惯量变化时的速度响应
![](//html.hanspub.org/file/4-2740145x81_hanspub.png)
Figure 8. Speed response at the different stator winding resistance
图8. 电机定子绕组电阻值发生变化时的速度响应
![](//html.hanspub.org/file/4-2740145x82_hanspub.png)
Figure 9. Speed response at the different motor load
图9. 电机负载发生变化时的速度响应
由仿真结果可以看出,模型参考自适应PI控制算法能够保证当电机自身参数或者电机负载发生变化时,闭环负反馈系统仍能够保持较好的控制性能。
7. 试验结果与分析(开环 + 闭环)
表2为试验所用三相无刷直流电机参数。
7.1. 开环试验结果
图10为电机开环调速试验时,上桥PWM驱动信号占空比分别10%和20%的情况下,示波器抓取的U相桥路的上、下桥MOSFET的驱动信号。
10%占空比
20%占空比
Figure 10. MOSFET drive signal waveform on open-loop control mode
图10. 电机开环调速上、下桥MOSFET驱动信号波形
7.2. 闭环试验结果
图11为电机转速闭环控制响应曲线,给定转速为1000 rpm,控制算法为模型参考自适应PI控制算法。在试验的过程中,当电机的转速达到稳态后,多次施加了负载扰动,由试验结果可以看出,当负载扰动出现时,电机转速会发生小幅波动,随后在控制算法的调节作用下,最终达到稳态1000 rpm,从而验证了模型参考自适应PI控制算法的有效性,也验证了这种基于ARM + CPLD的硬件架构的可靠性。
![](//html.hanspub.org/file/4-2740145x85_hanspub.png)
Figure 11. Speed response of motor closed-loop control
图11. 电机转速闭环控制时的速度响应曲线
表2. 电机参数列表
8. 总结
本文详细介绍了一种基于ARM + CPLD的三相无刷直流电机模型参考自适应PI调速控制系统,由CPLD实现换相与方波驱动、快速故障保护和电机转子机械转速实时测量功能,由ARM实现模型参考自适应PI控制算法。双芯片联合控制实现电机精确的转速闭环控制,充分发挥了硬件架构与模型参考自适应PI控制算法的优越性。