基于DSP储能飞轮用无刷直流电机的数字控制系统
扫描二维码
随时随地手机看文章
1引言
所谓飞轮储能(Flywheel Energy Storage , FES)技术,就是利用高速旋转的飞轮将能量以动能的形式储存起来,当能量紧急缺乏或需要时,飞轮减速运行,将储存的能量释放出米。飞轮储能技术以其高效率、长寿命、维持简单、无污染且高效、节能等优点,日益受到人们的关注,成为国际能源界研究的热点之一。同时飞轮储能技术应用于航天领域也成为人们追求的目标[1]。
不平衡转动力矩作用是飞轮转速改变的根本原因,当转矩的方向与飞轮转动方向一致时,飞轮受到正向不平衡转矩的作用而加速,能量转化为动能储存起来;相反,飞轮减速,动能转化为其它形式的能量。在转化过程中可以吸收和释放的能量为:
飞轮储能系统包括储存能量的飞轮转子系统、支撑转子的轴承系统、进行能量转化和拖动的电动/发电机系统、控制系统。飞轮的姿控、储能两种功能都是由电机系统完成的。在飞轮储存能量状态下,电机处于电动状态,给飞轮转子提供力矩;在飞轮释放能量状态下,电机处于发电状态,向蓄电池等提供能量[2]。这就要求飞轮用电机系统既要有电动功能,又要有发电功能。本方案是集这两种功能为一体的设计。
控制领域高速DSP的出现,使得无直流电机数字控制系统不仅能获得较高的控制性能,更具有方便灵活的特点。本文介绍方案以DSP为控制核心,
2系统硬件结构
2.1 DSP的选用
DSP芯片,也称数字信号处理器,是一种具有特殊结构的微处理器[3]。无刷直流电机数字控制系统的核心为TI公司的DSP芯片TMS320LF2407A,它是TI公司推出的专门用于电机控制DSP芯片,其为定点DSP,具有极高的运算速度,主频可达40MHz,运算能力可达40MIPS,可以用来快速地实现各种数字信号处理算法。指令系统还支持程序存储器和数据存储器之间的数据传输,从而可以将算法中可能用到的表或系数直接放在程序存储空间内,不用另外配置ROM芯片[3]。
2.2功率驱动电路结构
储能飞轮要求电机在不同时刻工作在两种状态,只要在功率电路上增加两个控制电子开关即可实现电动和发电状态的切换。具体电路如图1。
当T1导通、T2关断时,三相桥工作在逆变模式,电流由28V直流逆变成三相交流提供给电机,电机处于电动状态。
当T2导通、T1关断时,三相桥工作在整流模式,电机处于发电状态,电流通过三相桥整流为直流电,提供给耗能或储能装置(功率电阻或升降压变换器)。
2.3系统整体方案
选用TMS320LF2407A作核心处理器,通过DSP事件管理器的PWM模块输出脉宽调制波形,经过光电耦合电路,到达智能功率模块IPM的逻辑控制端。IPM的输出端接电机三相。电流传感器和霍尔位置传感器分别将电流和转速信号回馈给DSP的CAP单元和AD单元,在IPM和供电电压28V和能耗功率电阻之间分别是一个智能功率开关,控制切换IPM状态。具体框图如图2。
3软件设计
3.1速度检测
电机的速度检测方式主要有三种:速度反馈的具体算法对于离散系统的性能有很大影响,目前的速度检测算法通常有M法、T法、M/T 法,其中M法适合高速,T法适合低速,M/T法在的适用范围较大。本系统在速度计算上,由于采用的是霍尔反馈,电机每转一圈只产生3个脉冲,即使在30000rpm下,转频为1500Hz,也要0.67ms产生一个脉冲,产生脉冲周期较长,故本方案采用T法进行计算。比较捕捉时间间隔平均值timer_diff和定时器周期T2pr的大小以判断比例输出的符号:如果timer_diff>T2pr,则说明实际转速较要求转速低,此时应加速,也即比例输出为正;如果timer_diff<T2PR,则说明实际转速较要求转速为高,此时应减速,比例输出为低。频率差的计算公式为,可以利用长除法进行计算。程序如下:
LACC #4Ch,15
ADD #25A0h ;1/T2pr
RPT #15
SUBC TIME_DIFF ;除以时间间隔,得到转频
3.2PWM的产生
首先是对PWM模块的进行初始化。配置PWM模块各寄存器,选择Timer1作为其时间基础,发生6kHz的PWM方波。
利用变量DUTY调整PWM输出脉冲的占空比。由于PWM实际上就是比较输出,因此,只要改变相关的比较输出寄存器,既可改变PWM的占空比。该函数中,DUTY为占空比,将DUTY和Timer1的计数周期值T1pr相乘,即可得所需的比较寄存器值。其它函数改变DUTY之后再调用该函数,即可改变PWM输出的占空比。
3.3调节算法实现
在实际的电机稳速系统中使用的调节算法是多样的,模糊控制、比例积分控制、锁相环控制等,本系统中选用传统的PI控制方式。在基于DSP的数字控制系统中,将模拟系统中使用的连续调节函数离散化,同时为了防止由于误差的累加,调节输出大幅度变化,这种情况是实际系统中所不允许的,故选用增量式PID调节,具体数学表达式为:
PID子程序算法具体实现如下:
SPLK #0,MID_RESULT ;初始化中间变量
LDP #E_NOW
LACC E_NOW ;读取当前速度误差
SUB E_LAST
LDP #MID_RESULT
SACL MID_RESULT ; e[KT]-e[KT-T]
LT MID_RESULT
MPY K_P ;Kp*{e[KT]-e[KT-T]}
SPL MID_RESULT
; --------------------------------------------------------
LDP #E_NOW
LT E_NOW
MPY K_I ;Ki*e[KT]
SPL DELTA
;----------------------------------------------------------
LACC MID_RESULT
ADD DELTA
LDP #DUTY
; ADD DUTY
SACL DUTY ;输出占空比
5实验结果
系统实验对象为磁悬浮飞轮用直流无刷电机,转子组件重2.21kg,额定电压28V,极对数3,Ke=0.00157,GD2=0.004819kgm2,R=0.135 ,KT=0.015,kp=0.65,ki=0.96,在高速30000rpm时,稳速精度达0.02%