作者:温嘉斌 麻宸伟
来源:《电机与控制学报》2016年第03期
摘要:无刷直流电机具有非线性、强耦合的特点,在电机控制领域被广泛研究。根据传统软件控制器运行速度慢、精度低、抗干扰能力差等问题,提出了一种基于现场可编程门阵列(field program-mable gate array,FPGA)的无刷直流电动机模糊自适应PI控制系统。该系统以FPGA为主控芯片.用Verilog HDL硬件描述语言对控制器内各个功能模块进行设计,实现整个系统的全硬件化,充分发挥了FPGA执行速度快、抗干扰能力强、灵活度高、拓展性强的特点。系统采用转速、电流双闭环控制。转速环采用模糊自适应PI控制算法,改善了传统PID响应速度慢、超调大等缺陷。通过仿真与实验对比分析,该系统响应速度快、超调小、稳态精度高、运行稳定。
关键词:无刷直流电机;现场可编程门阵列;模糊自适应PI;抗干扰性
中图分类号:TP 351 文献标志码:A 文章编号:1007-449X(2016)03-0102-07
0 引言
一直以来无刷直流电机以其结构简单、机械特性好及调速特性好等优点广泛应用于电动车、航空航天等领域。传统控制器多以单片机或DSP为主控芯片,其软件实现的特点导致抗干扰性较差,灵活度不高,同时运算速度也不够理想。
随着电子设计自动化(electronic design automa-tion,EDA)技术的不断发展,FPGA也越来越多的应用到工业控制领域中。近年来,国内外许多专家学者提出了基于现场可编程门阵列(field program-mable gate array,FPGA)的电机控制器设计方案,其中文献成功的将FPGA应用于电机控制领域,并取得了较好的效果,但在系统的快速响应性及稳态精度上还存在不足。针对此问题本文提出了基于FPGA的无刷直流电机控制系统的设计方案。
同时,由于无刷直流电机非线性强耦合的特点,在实际应用中传统PID算法往往很难达到预期的控制效果,传统PID响应速度慢、动态特性较差,模糊自适应PID算法能较好的解决这些问题。目前,关于模糊自适应PID的研究工作已开展了许多,但大多是基于软件实现,这样就会出现整个算法执行速度较慢等问题。本系统采用模糊自适应PI控制算法对电机的转速进行控制,并且控制器内部各个模块均由硬件实现,从而从根本上解决传统控制器抗干扰性差、运算速度慢的问题。
1 控制系统结构及FPGA的设计
本文对有位置传感器无刷直流电动机进行研究..根据转子的霍尔位置传感器所表示的转子磁极位置信息确定换相时刻进行换相,同时根据霍尔位置信号的周期性变化实时计算出电机转速反馈给转速调节器作为转速反馈信号,转速调节器输出作为电流涮节器给定值,检测到的电流信号经过AD转换作为电流调节器的反馈,电流调节器的输出作为PWM的调制信号,从而有驱动电路驱动电机。图1为控制系统及FPGA功能模块结构图,其中虚线框内为FPGA实现的各个功能模块。
FPGA芯片采用Altera公司Cyeolne Ⅳ系列产品。FPGA系统采用模块化及自顶向下的设计理念,根据控制器所要实现的功能设计划分如下几个模块:用于对外部霍尔信号进行滤波的滤波模块、电机转速计算模块、为外部AD转换芯片提供时序的ADC接口模块、用于转速调节的模糊自适应PI模块、用于电流调节的传统PI模块、PWM及换相模块、用于人机交互的显示及按键接口模块。其中模糊自适应PI模块又由模糊控制模块和传统PI模块构成。FPGA内部所有模块均由verilog HDL硬件描述语言构建,实现控制器的全数字硬件化,从而大大提高运算速度,提升控制精度,并根本地解决软件控制器易受干扰的问题。
2 转速和电流的测量
对于闭环系统,反馈值准确与否对系统的动态响应及稳态精度都有较大影响。因此,电机转速的计算至关重要,要保证其准确性。本系统根据安装在转子上的霍尔位置传感器产生的霍尔信号进行转速计算,有如下关系(1)式中:n为电机转速;p为电机极对数;f为霍尔信号的频率;Thalf为霍尔信号的周期。
通常无刷直流电机系统采用T测速法,即通过检测q个周期的时间间隔来计算转速,具体实现可通过一个计数器进行计数,则电机转速可通过下式计算得出
(2)式中:n为电机转速;p为电机极对数;Thall为霍尔信号的周期;T为计数器的计数周期;f7为检测的霍尔信号周期数;Ma为q个霍尔周期的计数值
由于一个霍尔周期电机转动360°电角度,而一个霍尔周期有6个换相时刻,所以通常检测一个或1/6个霍尔信号周期来计算转速,即q=1或1/6,而实际中,由于电机转子极与极之间永磁体宽度存在误差,则q=1或1/6时计算出的转速会有偏差,不能保证反馈信号的准确性从而降低系统的控制精度。本系统检测p个霍尔周期,即令q=p。此时,电机转动360°机械角度,通过这种检测方法确保转速反馈的准确性。此方法可测量的最小转速取决于所设置计数器的位数及计数周期。本系统设置的计数器为32位,计数频率为50 MHZ的高频计数器,所能计算的最小转速为0.7 r/min,完全满足实际应用的需要,从而保证了足够宽的调速范围。图2为电机开环运行占空比为50%时,分别检测一个霍尔周期和p个(本系统使用电机为4对极,即p=4)霍尔周期的转速计算波形。可以看出检测4个霍尔周期计算出的转速更为准确,而检测一个霍尔周期计算出的转速误差较大,若令q=1/6,则由于累计误差的存在,会使计算出的结果误差更大,势必会影响闭环系统的精度甚至造成不稳定。
在无刷直流电机控制系统中,对电流的反馈可以实现对驱动电路电流的监测,同时可以控制电机的启动电流以获得满意的动态性能,因此电流采样同样重要。由于无刷直流电机任意时刻只有两相导通,且两相电流方向相反,因此可以对直流母线电流进行采样。采样电流信号一般有两种方式:采样电阻和霍尔电流传感器,霍尔电流传感器是一种很好的隔离式电流检测装置,能够有效地实现驱动电路和控制回路的电气隔离。因此,本系统采样霍尔电流传感器对电流进行采样。具体方法为在功率管下桥臂与直流电源地之间串联一个霍尔电流传感器,再利用AD转换把输出的电压转化成数字量输入到FPGA控制芯片。
3 核心算法设计
传统控制器多采用经典PID算法,它具有控制方法简单、易于实现等优点。但由于无刷直流电机非线性强耦合的特点,在实际应用中传统PID算法往往很难达到预期的控制效果。针对此问题,本系统采用模糊自适应PI控制方法对电机的转速进行调节。根据电机的转速误差和误差的变化率对Pl控制器的参数进行实时调节以达到满意的控制效果。
3.1 算法结构
传统PI算法的数字表达式为
(3)式中:y(k)为控制器输出;e(k)为误差;kp为比例系数;ki为积分系数;k为采样序列。
模糊算法的核心即根据误差和误差变化率,利用模糊推理对kp和ki进行在线整定。结构图如图3所示。
3.2 模糊PI控制器的设计
本系统取模糊系统的输入变量为转速误差E和误差变化EC,输出变量为kkp的变化△kp和ki的变化△ki。它们的模糊论域均为[-6,6],量化等级都为13级即{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6}。取输入输出语言变量的模糊子集为负大、负中、负小、零、正小、正中、正大,分别用NB,NM,NS,ZO,PS,PM,PB表示。4个输入输出变量选取相同的隶属函数。图4为输入变量E的隶属函数,其他3个变量的隶属函数与其相同。
模糊控制规则是模糊控制器的核心,确定合适的模糊控制规则使系统达到预期的动静态特性是模糊控制器的关键。根据现场试验和专家经验,模糊PI控制器模糊控制规则主要依据以下几点:
1)误差E较大时,为尽快消除误差,提高响应速度,kp取大值,ki取较小值或零;误差E较小时,为继续消除误差,及防止超调过大而产生振荡,kp值要减小,ki取小值,在误差E很小时,为消除静差,避免系统在设定值附近产生振荡使系统尽快稳定,kp值继续减小,ki值不变或稍取大一点。
2)当E与EC同号时,被控量向偏离给定值方向变化,应加强控制作用,使误差朝减小方向变化,应取较小ki;当E与EC异号时,被控量向接近给定值方向变化,因此在误差E较大时,取较小的kp值或零以加快控制的动态过程。
3)EC越大,kp取值越小,ki取值越大。
根据以上原则,可得出△kp和△ki的模糊控制规则如表1。
根据上述模糊规则、模糊变量及模糊论域的选取,利用Matlab中的模糊逻辑工具箱,选择适当的隶属函数及算法可得出△kp和△ki的输出曲面如图5、图6所示。可以看出,输出的空间曲面较平滑,即较接近连续。
最终的kp及ki由下式得出
(4)式中:kp0和ki0为应用传统PI算法用ziegler-Nichols(Z-N)法整定出的比例系数和积分系数。
3.3 算法的FPGA实现
整个模糊PI算法模块由模糊逻辑模块和PI算法模块构成。图7为模糊PI逻辑模块的结构图。
其中,PI算法模块完成传统PI算法的运算,模糊逻辑模块实现对PI调节参数的整定。在模糊逻辑模块中,把△kp和△ki的模糊规则制表并写成QuartusⅡ的.mif文件,存入Altera公司提供的宏模块ROM中,通过模糊化子模块将输入的误差E和误差变化EC进行清晰域到模糊域的转化,将E和EC的模糊值作为事先存好的ROM的查找地址,输出△kp和△ki的模糊值,再通过清晰化子模块将△kp和△ki的模糊值转化为清晰值作为模糊逻辑模块的输出。整个算法模块均用verilog HDL硬件描述语言构建而成,充分利用了硬件并行执行速度快和抗干扰性强的优势。同时,整个算法的构建采用模块化设计思想,功能划分清晰,具有很强的逻辑性和灵活性。
4 仿真及实验分析
本文利用Matlab/SIMLINK搭建了无刷直流电动机转速电流双闭环控制系统的模型,并进行了仿真。电流环采用传统PI算法进行调节,转速环分别用传统PI算法和模糊自适应PI算法进行调节。
图8是设定转速2 000 r/min电机空载时传统PI和模糊PI控制器的仿真转速曲线。最终,传统PI控制器在0.08 s到达稳态,而模糊PI控制器在0.04 s到达稳态。
图9是设定转速2 000 r/min电机负载突变时的传统PI和模糊PI控制器的仿真转速曲线。在0.15 s时,负载由0 N·m突变到2.5 N·m,并在0.25 s时突变回到0 N·m。最终,传统PI控制器在0.19 s和0.29 s重新回到稳态,而模糊PI控制器在0.18 s和0.27 s重新回到稳态。
图10为电机空载给定转速2 000~1 500 r/min之间突变时传统PI和模糊PI控制器的仿真转速曲线。在0.15 s时,给定转速由2 000 r/min突变为1 500 r/min,并在0.25 s时突变回到2 000 r/min。最终,传统PI控制器在0.21 s和0.32 s重新回到稳态,而模糊PI控制器在0.18 s和0.28 s重新回到稳态。
图11为电机空载给定转速1 000~500 r/min之间突变时传统PI和模糊PI控制器的仿真转速曲线。在0.15 s时,给定转速由1 000 r/min突变为500 r/min,并在0.25 s时突变回到1 000 r/min。最终,传统PI控制器在0.22 s和0.31 s重新回到稳态,而模糊PI控制器在0.19 s和0.29 s重新回到稳态。
整理出不同给定条件下,传统PI和模糊PI控制器的仿真性能指标如表2所示。
最后,本文搭建了基于FPGA的无刷直流电机控制系统,分别用传统PI和模糊PI算法,在电机不同转速情况下进行了对比实验。实验所用电机参数如下:额定功率60 w,额定电压24 V,额定转速3 000 r/min,额定转矩0.18 N·m。图12为基于FPGA的无刷直流电机控制系统实验平台。
本文在QuartusⅡ环境下,利用SignaltapⅡ嵌入式逻辑分析仪采样电机的转速数据并在Matlab中拟合成电机的实测转速曲线。
图13为设定转速2 000 r/min电机空载时传统PI和模糊PI控制器的实测转速曲线。最终,传统PI控制器在0.33 s到达稳态,而模糊PI控制器在0.18 s到达稳态。
图14是设定转速2 000 r/rain电机负载突变时的传统PI和模糊PI控制器的实测转速曲线。在0.63 s时,负载由0 N·m突变到0.1 N·m,并在1.19 s时突变回到0 N·m。最终,传统PI控制器在0.8l s和1.35 s重新回到稳态,而模糊PI控制器在0.77 s和1.29 s重新回到稳态。
图15为电机空载给定转速2 000~1 500 r/min之间突变时传统Pl和模糊P1控制器的实测转速曲线。在1 s时,给定转速由2 000 r/min突变为1 500 r/min,并在1.96 s时突变回到2 000 r/min。最终,传统PI控制器在1.48 s和2.16 s重新回到稳态,而模糊PI控制器在1.36 s和2.08 s重新回到稳态。
图16为电机空载给定转速1 000~500 r/min之间突变时传统PI和模糊PI控制器的实测转速曲线。在1.44 s时,给定转速由1 000 r/min突变为500 r/min,并在2.88 s时突变回到1 000 r/min。最终,传统PI控制器在2.52 s和3.24 s重新回到稳态,而模糊PI控制器在2.28 s和3.12 s重新回到稳态。
整理出不同给定条件下,传统PI和模糊PI控制器的实测性能指标如表3所示。
通过仿真和实验对比可以看出:
1)在启动过程中,模糊PI控制器相比于传统PI控制器响应快,超调小,调节时间短。
2)当负载或给定转速突变时,模糊PI控制器相比于传统PI控制器响应快,转速波动小,回到稳态所需时间短,并能继续保持很高的稳态精度。
3)相比于传统PI控制器,模糊PI控制器在不同转速区间有着更好的适应能力,能够保证在更宽的转速区间有着很好的调速性能。
3 结论
针对传统电机控制器执行速度慢,抗干扰能力差的问题,本文提出了基于FPGA的全硬件无刷直流电机控制器,并在传统PI控制算法的基础上提出了硬件实现的模糊自适应PI算法。通过仿真和实验分析,基于FPGA的无刷直流电机模糊自适应PI控制系统在各转速区间都有着很好的动静态性能,调速范围可达到1~3 000 r/mn。与传统控制器相比,本系统执行速度快,鲁棒性强,控制精度高,并从根本上解决了软件控制器抗干扰能力差的问题。
(编辑:刘琳琳)