基于DSP+CPLD的伺服控制卡的设计

2009-05-25 09:59廖永忠
现代电子技术 2009年1期

摘 要:设计一种基于DSP+CPLD的伺服控制卡,在控制算法上,采用单神经元PID及CMAC相结合的伺服运动控制算法。其中单神经元PID能在被控对象的参数改变或者外部环境变化时,在线实时自动地调整参数;CMAC网络用来完成复杂非线性被控对象的逆模型控制,具有运算量小,收敛速度快,且无局部极小点等优点。仿真结果证明该算法综合了CMAC和单神经元的优点,具有更好的鲁棒性和抗干扰能力。

关键词:运动控制卡;单神经元;CMAC;单神经元PID

中图分类号:TN911.23 文献标识码:B

文章编号:1004-373X(2009)01-142-03

Design of the Servo Control Board Based on DSP+CPLD

LIAO Yongzhong

(Hunan First Normal College,Changsha,410002,China)

Abstract:The servo control board based on DSP+CPLD is designed.For the control algorithm,combining single neuron PID with CMAC to control system is used.The single neuron PID is applied to accomplish the online self-adjustment of PID control parameters when environment has changed.CMAC is used to control the inverse model of complex nonlinearity object.It achieves less operation complexity and faster convergence rate,and has no local minimal value.Finally,simulative results show that the control algorithm integrating advantages of both single neuron PID and CMAC has strong robustness and anti-disturbance ability.

Keywords:motion control board;single neuron;CMAC;single neuron PID

0 引 言

随着先进制造技术的迅速发展,对运动控制的精度要求也越来越高,而运动伺服控制系统的性能很大程度上取决于伺服控制算法,通过运动控制与智能控制的融合,从改进传统的PID控制,到现代的最优控制、自适应控制、智能控制技术,应用先进的智能控制策略达到高质量的运动控制效果,已经成为当前研究的一个热点[1]。

由于运动伺服控制系统中存在负载模型参数的变化,机械摩擦、电机饱和等非线性因素,造成受控对象的非线性和模型不确定性,使得需要依靠精确的数学模型,系统模型参数的常规PID控制很难获得超高精度、快响应的运动轨迹的要求。因此伺服控制系统越来越多采用PID与其他新型控制算法相结合的控制方式,如人工智能与专家系统、模糊控制、人工神经网络、遗传算法等[2],这里设计了一种基于神经网络控制算法的运动伺服控制卡,采用DSP+CPLD的硬件平台,采用单神经元PID与CMAC并行控制的伺服控制算法,通过对伺服电机的控制实现对位置的闭环控制。仿真和实践结果证明,这种运动控制算法有鲁棒性和抗干扰能力。

1 硬件设计

该运动控制卡是以PC机作为主机的运动控制卡,选用DSP作为核心微处理器,卡上集成编码器信号采集和处理电路,D/A输出电路,扩展存储器电路和DSP-PC通信电路。PC机把粗处理的数据通过DSP-PC通信接口传递给运动控制系统,DSP通过对光电编码器反馈信号处理电路的结果分析,计算出与给定位置的误差值,再通过软件位置调节器获得位置控制量,计算出运动速度控制量,产生的输出信号经D/A转换将模拟电压量送给伺服放大器,通过对伺服电机的控制实现对位置的闭环控制。系统的结构框图如图1所示。

选用美国TI公司的16位定点DSP TMS320LF2407A作为运动控制器的核心处理器,地址译码、时序逻辑、编码器信号处理电路用CPLD来完成,用PCI接口芯片实现双口RAM与PC机的通信,双口RAM用来存储和缓冲DSP与PC机间的通信数据,SRAM用来存储运动控制器运行时的程序和数据。

图1 运动控制卡系统原理图

2 控制算法的设计

2.1 控制模型

在运动控制伺服系统中,需要控制的系统参数主要有位置、速度、加速度、输出扭矩/力矩等。传统的位置伺服控制策略是以PID控制为代表,但需依靠精确的数学模型,系统模型参数的变化及非线性因素等都会对常规PID的精确调节产生影响,因而PID对非精确、非线性对象的控制往往难以取得很好的控制效果。

CMAC神经网络具有处理非线性和自学习的特点,而且该控制网络的学习速度快。目前在工业中关于CMAC控制器的结构大都采用常规PD和CMAC并行的控制结构,它在阶跃输入或跟踪方波信号时,具有输出误差小,鲁棒性强等特点,然而在跟踪连续变化信号时,却容易产生过学习现象,进而导致系统的不稳定。为此,设计一种单神经元PID与CMAC复合控制的控制算法,用单神经元PID替代常规PID控制,由神经元来在线调整PID控制参数,利用神经网络的自学习和自适应能力,来改善系统的跟随性能。该算法的构成简单,易于实现,能够适应环境的变化,有较强的鲁棒性。仿真结果证明该算法具有较小的跟随误差,良好的鲁棒性和抗干扰能力,其结构图如图2所示。

图2 单神经元PID与CMAC复合控制结构图

2.2 并行控制算法的设计

由图2综合单神经元PID与CMAC控制算法,得到单神经元PID与CMAC并行控制完整的控制算法如下:

up(k)=up(k-1)+K∑3i=1w′ixi

w′i(k)=wi(k)/∑3i=1wi(k)

un(k)=∑Ci=1wniai

w1(k+1)=w1(k)+ξ1Ke(k)·

sign祔祏(k-1)〗

w2(k+1)=w2(k)+ξ2Ke(k)·

sign祔祏(k-1)〗

w3(k+1)=w3(k)+ξ3Ke(k)·

sign祔祏(k-1)〗

sign(x)=1,x≥0

-1,x<0

u(k)=up(k)+un(k)

wn(k)=wn(k-1)+Δwn(k)+α(wn(k)-

wn(k-1))

Δwn(k)=ηup(k)cai(1)

其中:η,ξ为网络学习速率;α为惯性系数。

2.3 算法的实现、仿真和结果分析

已知一位置伺服系统的数学模型系统的开环传递函数z变换后的表达式为:

GK(z)=az -1+bz -21-cz -1+z -2d=

0.06z -1+0.057 85z -21-1.879 9z -1+0.879 9z -2(2)

采用的单神经元PID及CMAC相结合的复合控制算法,完成对位置伺服控制器典型输入斜坡输入响应的仿真实验。

图3和图4分别是位置伺服系统的单位斜坡输入响应曲线图,通过对图形的分析,可以看出,单神经元PID与CMAC相结合控制算法比常规PID控制算法有更小的跟随误差,直接决定该控制系统的控制精度。 图4是在输出端加入10%的阶跃扰动后,两种控制算法的输出曲线图,

由图可知单神经元PID与CMAC相结合控制算法比常规PID控制算法有更好的抗干扰能力。

3 结 语

针对位置伺服控制系统的特点,设计了一种基于神经网络控制算法的伺服运动控制卡,将单神经元PID与CMAC并行控制的伺服控制算法应用在位置伺服系统的位置环控制。仿真结果证明了该控制算法较常规PID控制有更好的动态特性、控制精度、抗干扰能力,而且具有自适应功能。

图3 单位斜坡输入时系统的输出曲线

图4 增益K加扰动后单位斜坡输入时系统输出曲线

参考文献

[1]杜坤梅,李辉斌,赵辉.运动控制芯片改进的单神经元位置伺服系统[J].电机与控制学报,2001(1):44-50.

[2]徐湘元.自适应控制理论与应用[M].北京:电子工业出版社,2007.

[3]蒋锐权,吴祖育,蔡建国.数控机床神经元自适应位置控制算法[J].上海交通大学学报,2001,35(7):1 088-1 091.

[4]Corneliu L S D.Neuro-predictive Control-based Self-tuning of PID.Journal of Northwest Unversity(Natural Science Edition),2004,34(4).

[5]王益群,王海芳,高英杰.基于神经网络PID的轧机AGC力控制[J].中国机械工程,2005(18):1 650-1 653.

[6]夏长亮,李志强,王明超,等.基于RBF神经网络在线辨识的永磁无刷直流电机单神经元PID模型参考自适应控制[J].电工技术学报,2005,20(11):65-69.

[7]李辉.一种自适应CMAC神经网络控制器的设计与仿真[J].系统仿真学报,2005,17(9):2 233-2 236.

[8]陈祥涛,张前进.基于单片机与CPLD的步进电机PWM驱动技术.现代电子技术,2008,31(5):113-115.

作者简介

廖永忠 男,1975年出生,湖南津市人,硕士研究生,讲师,工程师。研究方向为信号处理、电子、通信。