APP下载

基于FPGA的永磁同步电机速度控制*

2024-04-29于长松刘曰涛姜佩岑邹大林祝保财

组合机床与自动化加工技术 2024年4期
关键词:编码器时钟转矩

于长松,刘曰涛,姜佩岑,邹大林,祝保财

(山东理工大学机械工程学院,淄博 255049)

0 引言

永磁同步电机(permanent magnet synchronous motor,PMSM)具有功率密度高、动态性能好及控制精度高等优点,被广泛应用于高性能工业控制器领域。目前,PMSM伺服控制系统普遍采用数字控制器(DSP)配以复杂的外围电路来完成对电机的控制,因此硬件电路的灵活性较差[1]。PMSM伺服控制系统比较复杂,具有多变量、强耦合、非线性和变参数的特点,因此常采用一定的控制算法,以实现对PMSM伺服控制系统高频响、高精度的控制性能。电机控制算法直接影响了电机的运行性能,电机能够平稳地运行,同时在遇到外界干扰时仍能保持较好的稳定性都离不开一个好的控制算法。面对越来越复杂的控制算法,采用单一微型控制器已经不能满足高控制性能的需求,因此本文将采用现场可编辑逻辑门阵列(FPGA)对该问题进行解决。

与DSP相比,FPGA具有下列两个优点:①运行速度上有很大优势;②各种各样的IP核发展日益成熟,采用IP核进行设计可以缩短开发周期,同时提高系统的稳定性。因此,国内外学者在关于FPGA对电机伺服控制系统上做了大量研究。周兆勇等[2]提出了基于FPGA的全数字化集成的电机速度伺服系统,电机在低速和高速状态下均有快速的动态响应。AGUIRRE等[3]设计了基于FPGA的离散PI控制器,并进行了实验测试,稳态误差和系统响应均达到了设计要求。HANHILA等[4]设计了基于FPGA的差分PI控制器,改进了差分PI算法,实验结果证明提高了精度和收敛速度。张华西等[5]针对大规模电机控制问题进行研究,文章设计的基于FPGA多通道的电机控制系统能够实现多路电机的并行、同步驱动,速度响应快、到位精度高,具有的良好的动态响应与稳态特性。上述研究仅仅通过硬件语言(hardware description language,HDL)来实现,存在开发效率低的问题。本文通过高层次综合技术(high-level synthesis,HLS)将用C/C++编写的代码综合成HDL代码,并将其打包成IP核,在FPGA芯片上实现。

传统的PMSM控制策略大都选用PI控制,由于逆变器电压和电机电流具有非线性饱和特性,引入积分环节会产生Windup现象。该现象会引起超调量增大,稳定时间变长,系统动态性能变差和稳定性变差等问题。为了解决该问题,可以设计控制器抑制饱和现象发生,或者系统出现饱和时尽快退出饱和区[6]。因此本文电流环采用PI控制,速度控制器采用Anti-Windup策略的新型PI控制器。

1 PMSM数学模型

对永磁同步电机作有假设:①转子永磁磁场在气隙空间成正弦分布,定子电枢绕组中的感应电动势也为正弦分布;②忽略定子铁心饱和,转子上无阻尼绕组,电感参数不变;③不计铁心涡流和磁滞损耗。在dq同步旋转坐标系下建立永磁同步电机数学模型,其电压方程为:

(1)

式中:id、iq分别为d、q轴的定子电流,ud、uq分别为d、q轴的定子电压,Ld、Lq分别为d、q轴的电感,R为定子电阻,ψf为永磁体磁链,ωe为电角度。

电磁转矩方程为:

(2)

式中:Te为电磁转矩,pn为电机的极对数,对于表贴式三相PMSM电感满足Ld=Lq=L。采用id=0控制策略,所以电磁转矩方程可简化为:

(3)

PMSM电机机械运动方程为:

(4)

式中:J为转动惯量,ω为机械角速度,Tl为负载转矩,B为摩擦系数。PMSM控制框图如图1所示。

图1 PMSM控制框图

2 控制器模型

2.1 电流环PI模型

PID控制是一种基于误差的反馈控制,具有开关频率固定、算法简单、工程容易实现等特点。其中,比例环节在系统产生偏差时,可以迅速减小误差,但当系统稳定时,不会消除系统中存在的稳态误差;积分环节可以消除系统稳定时出现的稳态误差,如果积分环节太强,会出现超调量增加、稳定性下降等问题;微分环节可以减小超调量,提高系统的响应速度,但是引入微分环节会增加噪声,使系统稳定性降低[7]。为了提高系统响应速度和稳定性,电流环控制器只用到了比例环节和积分环节。

PI控制算法的公式为:

(5)

式中:Kp为比例系数,Ki为积分系数,u(t)为输出量,e(t)为偏差量。

以上公式是PI算法的连续计算公式,为了便于在FPGA中实现,需要将其离散化。离散式PI控制算法为:

(6)

d轴和q轴电流环PI控制器采用相同的比例系数Kp和积分系数Ki,上述公式在HLS中实现并封装成IP核,定时读取经过Park变换输出的电流,并进行运算,最后输入到Park逆变换模块中。

2.2 速度环PI模型

速度环采用具有Anti-Windup策略的新型PI控制器,如图2所示。

图2 Anti-Windup结构

(7)

由式(7)可以得出,经坐标变换可通过控制电流iq来达到控制电机的目的。

图2的电流限幅环节可表示为:

(8)

式中:im为电流幅值。

图2中,当PI调节器输出为正限幅值时,反馈值为正,此时施加到积分项的修正量为负,可减小积分正向累计导致的饱和作用;当PI调节器输出值为负限幅值时,反馈量为负,此时施加到积分项的修正量为正,可增强积分作用,使控制器尽快退出负饱和。PI控制器的输出iq为:

(9)

(10)

式(10)为典型PI调节器传递函数。当式(9)满足Tc=Ti时,有:

(11)

式(11)表明可参考积分时间常数Ti来设计反馈回路时间常数Tc,经过比较计算,本文最终选择Tc=0.9Ti。

3 矢量控制模块的设计与实现

基于FPGA的PMSM控制系统模块如图3所示,主要由时钟分频模块、AD采集模块、编码器信号处理模块、坐标转换模块、PI控制器模块以及空间电压矢量脉宽调制模块(SVPWM)等组成。FPGA采用Xilinx的XC7S25CSGA324C-1芯片。该芯片有29 200个FIFO,150个I/O引脚,14 600个LUT,可实现复杂算法的加速工作以及大数据处理工作。

图3 基于FPGA的PMSM控制模块框图

3.1 时钟分频模块

如图3所示,FPGA系统时钟为100 MHz,系统时钟经过分频后产生50 MHz、1 MHz和40 kHz,其中50 MHz时钟作为编码器四倍频计数时钟;1 MHz时钟作为PWM死区发生器时钟;40 kHz时钟作为坐标变换模块和控制器时钟。

3.2 AD采集模块

电流采集模块通常使用A/D转换器将模拟信号转换为数字信号,并通过外部电路传输到FPGA中。但是,这种方法需要使用外挂器件,增加了数据受到干扰的风险。一般由高准确度的A/D转换器对被测模拟信号进行数字化采样,前置电路的模拟输入信号调理到A/D转换器的有效输入范围,经过算法处理后可得到被测信号的各种参数信息[8]。本文采用AD8418芯片对电机相电流进行采集,并且采用XADC将模拟量转为数字量。

XADC(xilinx analog-to-digital converter)为FPGA芯片中内置的AD转化模块,相比较传统的FPGA加外部ADC,采用XADC增强了抗干扰性,并简化了电路。XADC提供了一个双12 bits、采样率为1 MSPS的模拟电压采集接口,输入类型支持单端信号和差分信号,支持内部触发和外部触发等多种工作模式,最多可采集17个外部模拟输入[9]。进行Clarke变换时,只需A、B两相电流值,所以XADC只需两个接口进行采集。

调用XADC模块只需要在FPGA工程中例化IP核,并进行相关功能的配置。本设计中采用动态重新配置端口(DRP)与外界进行数据交换,经XADC转换后,将数据存储到状态存储器中,每一个状态存储器都有唯一的通道地址,因此XADC采集后,数据会存储在对应的地址中,如图4所示。

图4 XADC寄存器地址

配置完成后,用Verilog代码对XADC采集到的数据进行读取,采用状态机的方式读取地址空间中的数据。

3.3 HLS生成IP核

本次工程的滤波器模块、编码器模块、坐标变换模块、控制器模块和SVPWM模块用HLS开发,HLS工具采用C/C++语言对算法进行建模,然后转换成硬件描述语言(HDL),大大提高了FPGA的开发效率。图5为HLS开发流程简图。

图5 HLS开发流程简图

永磁同步电机的功率器件开关频率在几千赫兹至上百千赫兹,因此信号干扰主要来自高频开关频率和它对应产生的谐波分量[10]。所以滤波器模块采用一阶IIR低通数字滤波器,用软件实现硬件RC滤波器功能来去除高次谐波。

一阶IIR低通数字滤波器公式如下:

Ij=Ij-1+K(ij-Ij-1)

(12)

式中:Ij为输出结果,ij为输入数值,K为截止频率参数。在HLS中编写C++代码实现算法并封装成IP核,例化到FPGA工程中。

编码器是一种用于电机控制的伺服反馈设备,它可以及时的反馈电机的位置和速度[11]。编码器模块包括数据通信、脉冲滤波和四倍频计数。选择SPI通信协议完成FPGA与编码器的数据传输;编码器在工作过程中,A、B相信号会产生大量毛刺,影响电机控制的精度,因此设计了基于FPGA的脉冲滤波信号模块来去除A、B相信号的毛刺;经过数据通信模块和脉冲滤波模块就可以在此基础上对A、B相信号进行四倍频计数,以此来获取电机转过的实际空间角度。

以HLS实现Park变换算法为例,输入为静止坐标系下电流iα和iβ,以及转子当前的电角度θ,输出为同步旋转坐标系下电流id和iq。HLS优化的目的是在资源和速度中取最优解,即在合理的消耗资源下取得最优的性能。经过HLS优化生成的Park变换IP核综合性能如图6所示。

图6 Park变换IP核

从图6可以看出,在100 MHz时钟资源下,Park变换时间延迟为4个时钟周期,消耗的资源很少。

3.4 工程生成与分析

在FPGA工程中完成了对永磁同步电机电流环和速度环的建模并下载到FPGA芯片上,工程需要的资源如表1所示。

表1 需要的资源

消耗的总功率为0.286 W,如图7所示。

图7 工程功耗分析

4 实验结果

为了验证本文提出的控制策略的合理性和优越性,对实验平台进行搭建,如图8所示,并采用FPGA芯片控制电机。

1.示波器 2.上位机 3.FPGA芯片 4.AD8418芯片 5.Stewart并联机构驱动腿(内含电机)

实验中用到的PMSM参数如表2所示。

表2 PMSM参数

为了验证系统在负载突变情况下的响应速度和稳定性,设置电机的初始转速为1000 r/min,初始负载为0,在0.1 s处突加12 N·M的负载。比较速度环控制器采用传统PI控制与Anti-Windup策略控制的控制性能。

图9为PMSM在两种控制方式下的响应曲线。图10为PMSM在两种控制方式下的启动转速对比曲线。图11为在负载处转速对比曲线。

图9 系统响应曲线

图11 负载处转速对比曲线

实验结果显示,采用Anti-Windup策略的PI控制器超调量为4.3%,传统PI控制器超调量为10.8%,可见采用Anti-Windup策略可以使超调量明显减小;在PMSM系统突增负载时,传统PI控制器的转速波动为51 r/min,到达稳态时间为0.018 s,相比于传统PI控制器,具有Anti-Windup的控制器转速波动小,为14 r/min,并且只需经过0.01 s就能迅速恢复到给定转速值。

由图9~图11可知,在负载突增情况下,相比于传统PI控制,采用Anti-Windup策略的速度控制器具有良好的控制效果,可以大幅减小超调量,缩短调节时间。

图12为负载突增情况下PMSM相电流在两种控制方式下的变化曲线。图13为PMSM在两种控制方式下的电磁转矩变化曲线。

(a) PI控制 (b) Anti-Windup控制

(a) PI控制 (b) Anti-Windup控制

结果显示,在突加负载处,相比于传统PI控制器,采用Anti-Windup策略的控制器电流响应波动更小,证明有更好的抗干扰能力;采用Anti-Windup策略的控制器转矩波动小,响应快。

综上所述,通过实验可以验证,本文设计的采用Anti-Windup策略作为速度环控制器的PMSM调速系统,能大幅减小超调量,负载处调节时间短,有明显的抗负载转矩扰动的能力,实验结果验证了本文设计的控制策略的合理性和优越性。

5 结论

本文设计了基于FPGA的PMSM调速系统,其中速度环控制器采用Anti-Windup策略的新型PI控制器,该控制器可以解决由于电机器件具有非线性饱和特性产生的控制器积分饱和问题。采用HLS完成了对滤波器模块、编码器模块、坐标变换模块、控制器模块和SVPWM模块的建模,封装成IP核导入到工程中,并下载到FPGA芯片上。实验结果证明:PI控制器的转速超调量为10.8%,在负载处转速误差为51 r/min,调节时间为0.018 s,相电流和电磁转矩有明显的波动;采用Anti-Windup策略的PI控制器转速超调量为4.3%,在负载处转速误差为14 r/min,调节时间为0.01 s,相电流和电磁转矩波动大幅减小。因此,基于FPGA的采用Anti-Windup策略的速度PI控制器,具有更高的抗干扰和动态响应能力,满足永磁同步电机伺服控制系统的应用需求。

猜你喜欢

编码器时钟转矩
别样的“时钟”
古代的时钟
卷取机转矩控制技术优化卷形
基于FPGA的同步机轴角编码器
基于PRBS检测的8B/IOB编码器设计
有趣的时钟
时钟会开“花”
容错逆变器直接转矩控制策略
JESD204B接口协议中的8B10B编码器设计
基于分级变频的高转矩软起动器