基于DSP的数字化电动舵系统改进设计
2014-03-24赵红超
王 亭,徐 波,赵红超
(1.海军航空工程学院七系,山东烟台264001;2.91467部队,山东胶州266300)
电动舵系统是飞航式导弹控制系统(自动驾驶仪)的伺服机构(伺服执行设备),其作用是根据控制信号控制导弹的舵面、副翼动作,对导弹进行姿态控制和航向控制[1],有着体积小、结构简单、造价低的优点,在满足性能指标的前提下,是采用的首选。随着导弹作战性能要求的提高,导弹武器系统也不断地发展,要求导弹有更高的稳定性和机动性,传统的模拟式电动舵机的性能由于其控制方式相对落后而难以适应导弹性能提高的要求。因此,设计采用嵌入式处理器,运行先进的控制算法的舵机数字化控制器,已成为相关工程技术人员研究的重点[2-5]。
与传统的模拟控制方式的舵系统相比,数字化舵机具有控制精度高、可靠性高、抗干扰能力强等优点,而且一个重要的特点是便于控制参数调整和控制算法优化,以适用于不同的要求和对控制器设计的改进。越来越多的研究人员开始选用各种微处理器与数字控制模式来设计电动舵机系统[6-10]。
本文利用先进的DSP(TMS320LF2407A)控制技术,对一套基于单片机的导弹数字化电动舵机系统(样机)进行了技术改进,并深入研究了线性/变结构控制方法在导弹电动舵机系统中应用的可行性,这对于研究新型控制方法在电动舵机系统中的应用以及提高舵机性能具有重要意义。
1 数字化舵系统改进设计方案
1.1 原舵机系统简介
某型数字电动舵系统是由单片机数字控制器、H桥式PWM功率放大器、永磁式直流伺服电机、谐波减速器、角度电位计等组成,其原理框图如图1所示。
图1 某型数字电动舵系统原理图Fig.1 Principle diagram of a digital electric rudder system
图1 中,数字舵机控制器主要包括:INTEL N80C196-16 单片机、ADC 转换器AD1674、DAC 转换器DAC7545 和其他工作电路;PWM 功率放大器由PWM 脉冲信号发生器、光—电隔离电路和H 桥式功率放大电路组成;控制对象是带精密谐波减速器的永磁式直流伺服电动机。
考虑对舵机的快速性和稳定性的要求,数字舵系统控制算法采用了线性/变结构控制复合控制[11],其控制原理图如图2所示。
图2 原数字化舵机控制原理框图Fig.2 Original block diagram of digital rudder
其基本控制策略是:在整个控制过程舵机受到u=V1的PD控制;当切换函数σ的值大于设定的阈值后就在PD控制的基础上叠加变结构控制量V2,此时,控制器的控制量u=V1+V2。这样,既提高了舵机的一定响应速度,也可消除变结构控制引起的颤振现象。
1.2 存在问题及改进设计方案
实验分析发现:通过改进控制算法,还能够进一步提高舵机的快速性;另一重要问题是,尽管原有的数字化舵机的线性/变结构控制复合控制算法针对舵机负载变化(相当于导弹飞行时空气动力干扰力矩扰动)带来的舵机模型中b的变化具有很好鲁棒性[2],但在对系统电源噪声和数字电路本身的开关噪声比较敏感,在角度给定信号不变的情况下,容易引起舵机轴的脉动和突颤。因此,需要对数字化舵机控制器进行改进。
本文在3 个方面进行了改进设计:一是对控制算法进行了改进,增加了系统分段PID的控制方法;二是对舵系统偏差e进行数字滤波后再进入控制算法的计算;由于进行了上述改进,增加了数字控制器的计算量,通过实验测定,单片机N80C196-16 在实时计算1个周期需要1.66 ms,大于设定的1 ms控制周期,在不能延长控制周期的前提下,进行了第3个改进设计,即采用运行速度大大快于单片机的DSP 作为控制器的CPU,对原舵机数字控制器电路进行升级改造,利用DSP扩展ADC、DAC转换电路,完成基于DSP的数字化舵系统控制器的硬件设计,如图3所示。
图3 DSP数字化舵系统原理框图Fig.3 Principle diagram of DSP digital rudder system
改进设计的数字化舵机系统由于采用了比单片机更加先进的DSP(TMS320LF2407)控制技术,提高了控制算法计算能力,既保持了原有的线性/变结构复合控制带来的控制精度高、响应超调小、系统鲁棒性好的优点,还提高了其响应快速性,更好地解决了因电源噪声和数字电路开关信号带来的干扰问题,大大改善了数字舵系统的动态性能指标和稳态品质。
2 控制算法的改进
2.1 舵机误差信号的数字滤波
在舵机误差信号e进入控制算法计算前,DSP 控制器连续采集N次数据,计算其平均值然后进行非值数据剔出。将采集的数据绝对值逐个与kxep(kx是范围放大比例系数,本应用实验确定为1.5)的绝对值进行比较,若:||ei>||kxep,则确定ei为非值,应剔出。剔出的非值大多是供电电源等强噪声的毛刺和尖峰引起的。
剔出非值数据后,将剩下的数据进行平均即可得到舵机偏差信号的有效数据:
式(1)中:N为采集的数据个数;X为剔出的非值个数;ep2为有效数据的平均值,即可进入控制算法的计算。
此滤波算法简单有效,易于工程实现,滤掉了舵机偏差信号中不确定的尖峰和毛刺,消除了其对控制器的影响,从而显著提高了数字舵系统的抗干扰能力。
2.2 分段PID控制算法
分段PID控制是针对电动舵机这一类特定控制对象提出的一种控制方法。数字控制器的输出信号的控制对象是包括PWM功率放大器、永磁直流电动机、谐波减速器的电动舵机,其模型一般可以简化为一个二阶环节[1-2]。
任何系统都要受到功率的限制,没有无限大功率的系统存在。由于PWM控制器和直流伺服电动机都具有饱和特性,所以舵机存在一个最大转速,进入饱和区时,舵机的转速最快,系统响应也最快,为了使舵机迅速转到规定的位置,应使舵机最大限度的工作在最大转速,即所谓的饱和区。当舵机进入线性区后就要考虑使其具有良好的动态响应效果,鉴于单一的PID 控制很难保证舵机在复杂情况下的动态性能,提出了一种分段PID控制的方法,如图4所示。
图4 分段PID控制原理框图Fig.4 Principle diagram of the segmenting PID control
图4中,X轴表示时间,Y轴表示舵机转角,X轴和Y轴的交点表示期望的舵机转角;曲线Ⅰ表示舵面正向期望值偏转,此时,舵面误差为正;同样,曲线Ⅱ表示舵面误差为负。+Δ 和-Δ 表示设定的线性控制区域。
当系统轨迹处于A区时,表示舵面未进入线性控制区域,此时控制信号为最大值,使功率放大器输出电压最大,舵面偏转速度最快。当系统轨迹进入B区时,表示舵面进入线性控制区域,开始使用PD 控制。由于舵机正转和反转的性质略有不同,所以正转和反转使用不同的PD 参数。当系统轨迹进入C 区后,离期望值越来越近,此时,不再追求速度,而要追求其动态性能,所以,在这一区域,再选择不同的PD参数,使其具有良好的动态响应过程。同样,要根据误差的正负,选择不同的PD参数。当系统轨迹进入D区后,不论是正转还是反转,都取同样的PD 参数,而此时的PD 控制器作为系统响应的精调,已不需太大的输出能量,所以,此时的比例和微分系数都比较小。此时,系统以较好的运动性能进入E区。当系统轨迹进入E区后,已接近系统允许的误差带,不再要求快速性,应注重精度控制和稳态控制,因此在此区域采用PI 控制。
由于舵机是一个复杂的非线性系统,存在很多不确定性,所以分段PID参数均在实际调试实验过程中,根据响应曲线的结果,经多次分析后调整确定,使系统有一个好的动态响应效果。
2.3 分段PID/变结构复合控制
在图4 中,E 区就是设定的变结构控制阈值。在系统轨迹进入E 区前,采用复合控制量(V1和V2);进入E 区后,采用V1控制(PI 控制),整个控制原理框图如图5所示。
图5 分段PID/变结构复合控制原理图Fig.5 Principle diagram of the segmenting PID/variable structure combining control
这样,既保留了变结构控制强鲁棒性、快速性的优点,对系统参数摄动和噪声干扰都不敏感,消除系统毛刺、尖峰干扰带来的影响,又进一步提高了系统快速性[12-13]。
3 系统的硬件设计
图6 DSP控制舵机系统结构框图Fig.6 Structural diagram of rudder system with DSP controller
完整的DSP 数字化舵系统的结构框图如图6 所示。角度位置传感器采用电位计敏感舵偏角信号,数字控制器通过A/D采集系统误差信号,进行滤波后经控制算法解算出控制量,通过D/A 输出到PWM 功率放大器,驱动电动机负载舵面转动,达到控制的目的。
图6 中,通用计算机用来对舵系统进行调试时角度给定控制和性能指标的测试。DSP 控制器由DSP工作电路、存储器扩展电路、ADC、DAC 扩展、偏差信号调整等部分组成。
3.1 DSP工作电路设计
选用TI 公司的控制DSP TMS320LF2407A 作为舵系统数字控制器的处理器。此DSP控制功能强,运算速度很快,30 MIPS 的执行速度使得指令周期缩短到33 ns。从而缩短了控制器的实时时间,有助于在一定控制周期内提高了运行复杂控制算法和有效滤波算法的计算能力。
DSP 要正常工作,必须完善基本的工作电路:时钟电路、复位电路、存储器扩展电路,以及DSP扩展其他电路需要的三类总线:数据总线、地址总线、控制总线[14]。
3.2 片外存储器扩展设计
尽管TMS320LF2407A内部有32 kB的FLASH程序存储器,1.5 kB的数据/程序RAM,54 B的DARAM和2 kB 的SARAM,已足够系统应用,但是为了便于方便实验样机的软件调试,设计了DSP 外部存储器RAM:CY7C1021BV33,可寻址64 kB,由DSP 的/DS和/PS逻辑与后作为其片选信号。
通过跳线设置DSP 的MP/MC=1,则DSP 复位工作在微处理器方式,程序从扩展的片外存储器RAM的0000H开始执行。在此方式下,可采用DSP仿真器通过JTAG 接口将用户程序代码下载到片外RAM 存储器,并对舵机控制软件进行实时仿真。
当控制程序调试完毕,可用DSP 仿真器通过JTAG接口将程序编译代码在线固化在DSP片内程序存储器(FLASH EEPROM)。设置DSP 的MP/MC=0,则DSP复位工作在微控制器方式,程序从片内程序存储器(FLASH EEPROM)的0000H 开始执行固化的用户程序。
3.3 ADC数据采集电路设计
TMS320LF2407A 本机具有带内置采样/保持的10位模数转换功能模块,但是其分辨率和单极性的输入范围不能满足本系统的要求,需扩展一片12BIT 的ADC转换器AD1674JN。
AD1674JN是美国模拟器件公司用来替代AD574的ADC转换芯片,封装、功能完全兼容,但是其转换时间由25 μs 减少到了10 μs 以内,且增加了内置采样保持器。由于数模转换的数据输出具有三态输出缓冲器,因而AD1674JN 的12 位的数据总线D0-D11 可直接和DSP的数据总线D0-D11连接。
转换的模拟信号连接到芯片的14 管脚(20VSPAN),进行双极性输入变换,模拟输入信号电压范围为-10 V~+10V。
舵机本身的转角范围-20°~+20°,舵系统传递系数为2°/V。必须将舵机精度位置传感器输出的±15 V电压通过尺度比例转换为±10 V 范围,且对应角度范围为±20°。
3.4 DAC数据输出电路设计
TMS320LF2407A 无DAC 转换功能模块,要将DSP 控制器算法解算的数字量控制结果转换输出模拟量,控制PWM功率放大器驱动伺服电机动作,DSP必须扩展12位的DAC转换器。DAC转换芯片采用美国B-B公司的12BIT转换器DAC7545。
由于DAC7545输入的数据总线为带锁存的12位数据总线,其数据总线D0-D11 可直接挂在DSP 的12位数据总线上;另外设计了信号调制电路,使模拟输出电压控制在双极性±10 V 范围内,调整电路中的基准电压参考VREF采用AD1674JN的REFOUT输出的基准电压10.000 V。
舵系统DSP数字控制器电路的结构框图如图7所示。
图7 DSP数字控制器电路图Fig.7 Circuit diagram of DSP digital controller
4 系统的软件设计
舵机DSP控制器软件调试采用DSP仿真器进行,调试环境为CCStudio V3.3,并根据硬件存储器结构配置了连接命令CMD 文件,考虑到C 和汇编语言各自的特点,控制器软件采用ANSI C 和DSP 汇编语言混合编写。
控制器的总体程序主要由主程序、中断服务程序组成。主程序主要完成了DSP工作方式、内部特殊功能寄存器、中断管理的配置,系统的初始化和各项应用设置,以及通过进行ADC、DAC转换初始电压的设置进行系统零位的设定。由于数字舵系统选用1 ms控制周期,通过利用DSP内部通用定时器功能模块和输入时钟预定标系数设定,使其工作为1 ms定时中断工作方式。
在DSP的中断服务程序里完成数据采集、信号滤波算法计算,根据得到的系统误差信号有效值,进行分段PID控制/变结构复合控制算法的计算,并将计算的控制量通过DAC输出,控制PWM功率放大器驱动伺服电动机动作,以完成一个控制周期的控制工作。退出中断服务程序后,回到主程序,等待下一个1 ms定时中断。
5 实验结果
根据舵机模型及设计的分段PID 控制/变结构复合控制器,对系统进行了计算机仿真(加阶跃输入信号,分析阶跃输出响应)。同时,通过DSP数字化舵系统实际运行得到了实验曲线(给定阶跃输入信号,测得实际阶跃输出响应),仿真结果和实验调试结果的响应曲线的对比图如图8(角度给定输入信号为1 V阶跃信号)和图9(角度给定输入信号为10 V 阶跃信号)所示,图中虚线为仿真结果,实线为实验结果。通频带测试是频率域的一项重要指标,通过对改进的DSP数字舵系统的通频带测试,其带宽已经达到了10 Hz,系统的10 Hz的正弦信号跟踪曲线如图10所示。
图8 1 V 阶跃响应曲线对比图Fig.8 Comparison diagram of 1 V step response curves
图9 10 V 阶跃响应曲线对比图Fig.9 Comparison diagram of 10 V step response curves
图10 舵系统10 Hz 正弦跟踪曲线Fig.10 10 Hz Sinusoidal tracking curve of rudder system
可见,实验响应曲线和仿真响应曲线比较趋近,不但减少了上升时间,提高了响应速度,对小信号时抗干扰性能也大大增强,消除了静态脉动和振颤,说明设计的舵机DSP控制器很有效。
6 结束语
本文进行了数字舵机DSP 控制器的软、硬件设计,设计的重点是应用分段PID控制/变结构复合控制实现了基于DSP 数字化舵系统的控制。从实验和仿真结果可以看出,系统的响应速度快,抗干扰能力大大增强。同时,由于DSP 计算速度快,在不改变系统硬件的基础上,1 ms的控制周期内还有足够的时间余量来进行其他先进算法的研究和实验。
[1] 钱杏芳. 导弹飞行力学[M]. 北京:北京工业学院出版社,1987:12-13.
QIAN XINGFANG. Missile flight dynamics[M]. Beijing:Beijing Industry College Press,1987:12-13.(in Chinese)
[2] 王亭,任晓军,杨智勇.基于单片机的数字化舵系统设计[J].海军航空工程学院学报,2007,22(5):517-521.
WANG TING,REN XIAOJUN,YANG ZHIYONG. Design of digital rudder system based on chip microcomputer[J]. Journal of Naval Aeronautical and Astronautical University,2007,22(5):517-521.(in Chinese)
[3] 赵小龙,马铁华,刘艳莉.一种数字化舵机系统设计与实现[J].核电子学与探测技术,2012,32(5):552-556.
ZHAO XIAOLONG,MA TIEHUA,LIU YANGLI. Design and realization of a digital rudder system[J]. Nuclear Electronics and Probing Technique,2012,32(5):552-556.(in Chinese)
[4] 赵小龙,马铁华,刘艳莉.一种数字化舵机系统设计与实现[J].核电子学与探测技术,2012,32(5):552-555.
ZHAO XIAOLONG,MA TIEHUA,LIU YANLI.The design and implementation of a set digital actuator system[J].Nuclear Electronic&Detection Technology,2012,32(5):552-555.(in Chinese)
[5] 杨君君.基于机电联合仿真的数字化舵机非线性控制研究[J]. 中北大学学报:自然科学版,2013,34(4):419-423.
YANG JUNJUN. Research on nonlinear control of digital actuator based on electromechanical cosiumulation[J].Journal of North University of China:Natural Science Edition,2013,34(4):419-423.(in Chinese)
[6] 米月星,林辉,李志.基于DSP+CPLD 的电动舵机伺服控制器设计[J].微特电机,2012,40(8):61-63.
MI YUEXING,LIN HUI,LI ZHI.Servo controller design of eectric rudder system based on DSP and CPLD[J].Small & Special Electrical Machines,2012,40(8):61-63.(in Chinese)
[7] 贺星,单鹏.基于DSP+FPGA 的电机伺服控制[J].航空计算技术,2012,42(5):121-123.
HE XING,SHAN PENG. Electric motor servo control based on DSP and FPGA[J]. Aviation Computing Technology,2012,42(5):121-123.(in Chinese)
[8] PARESH C SEN. Electric motor drives and control—past,present and future[J].IEEE Transactions on Industrial Electronics,1990,37(6):562-575.
[9] 李福瑞,李擎,夏嵩.直流电动舵伺服系统设计与研究[J].北京信息科技大学学报:自然科学版,2010,25(1):42-45.
LI FURUI,LI QING,XIA SONG.Design and research of DC electric rudder servo system[J].Journal of Beijing Institute of Machinery:Natural Science Edition,2010,25(1):42-45.(in Chinese)
[10]鲍燕伟.基于DSP的气动伺服系统的研究[J].液压与气动,2009(12):30-33.
BAO YANWEI. The study of pneumatic servo system based on DSP[J].Chinese Hydraulics&Pneumatics,2009(12):30-33.(in Chinese)
[11]高为炳.变结构控制的理论及设计方法[M].北京:科学出版社,1996:211-213.
GAO WEIBING. Theory and design method of variable structure control[M]. Beijing:Science Press,1996:211-213.(in Chinese)
[12]王丰尧.滑模变结构控制[M].北京:科学出版社,1996:32-33.
WANG FENGRAO. Sliding mode variable structure control[M].Beijing:Science Press,1996:32-33.(in Chinese)
[13] GU WENJIN,ZHANG YIFEI,LI CHANGPING,et al.Composite control of linear/adaptive variable structure control,Chinese Journal of Aeronautics,2001,14(1):49-56.
[14]刘和平,王维俊,姜渝,等.TMS320LF240X DSP C 语言开发应用[M].北京:北京航空航天大学出版社,2003:1-99.
LIU HEPING,WANG WEIJUN,JIANG YU,et al.Development and application of TMS320LF240X DSP C language[M].Beijing:Beihang University Press,2003:1-99.(in Chinese)