覃莉莉
(柳州铁道职业技术学院,广西 柳州545007)
[工业技术与创新]
基于SOPC技术和模糊控制理论的数控机床控制系统的设计
覃莉莉
(柳州铁道职业技术学院,广西 柳州545007)
本文提出了一种基于SOPC技术和模糊控制理论的数控机床XY工作台控制系统解决方案,通过Quartus II、Nios II IDE和SOPCBuilder等整套开发工具完成了SOPC系统的开发。
数控机床;控制系统;模糊控制理论;SOPC;Nios II
SOPC(System On a Programmable Chip),是在一块硅片上利用可编程逻辑控制技术集成整个系统的一项技术。SOPC可以用来进行电子信息处理和嵌入式系统的设计。本文设计的数控机床控制系统中是基于FPGA嵌入IP软核的应用。
SOPC(System On a Programmable Chip)利用一个芯片就可以完成全部的逻辑处理,其硬件采用FPGA。这种微处理器系统采用嵌入式的结构设计。建立在SOPC技术基础上的Nios II处理器是一种32位的RISC处理器软内核。可以完成SOPC系统开发的整套工具,目前市场上主要有Nios II IDE、SOPC Builder以及Quartus II等。
典型的Nios II的微控制器包含Avalon总线、I/O控制器、微处理器内核、定时器、存储器控制单元和必要的外围控制部分。图1所示的SOPC系统架构是基于数控机床控制系统的要求而设计的。
图1 SOPC系统架构
根据数控系统的控制要求,本文对Nios II微控制器软核进行了配置。这个配置包括:中央处理器模块、SDRAM控制模块、UART控制模块、EPCS控制模块、反馈模块,频率发生控制器、RAM写入模块以及电机控制模块。
其定制过程如下:
(1)构建系统软核
在SOPC Builder界面中,根据SOPC系统架构构建系统软核,设定系统时钟频率为50MHz。本系统对要求具备高速的响应速度,因此在NiosⅡCPU的三种类型中选择快速型NiosⅡ/f的软核类型。JATG调试模块在系统运行的过程中将占用较多的系统资源,为了确保系统调试能顺利地加入JATG,减少系统所占用的软硬件资源,需要在完成系统的调试之后,把debugging level设置为No Debugger。
(2)建立SDRAM模块
SDRAM诸如刷新、初始化等逻辑控制由SDRAM控制器来实现。物理层面上FPGA跟SDRAM是连接在一起的,SDRAM控制器的参数设定如下:行地址(Rowaddress)12位,列地址(Column address)8位,数据位宽(Data width)16位。通过SDRAM控制器将SDRAM用作大容量存储器。
(3)建立EPCS控制器:EPCS用于存储FPGA配置数据和Nios II程序代码。
(4)建立JTAG UART控制器:JTAG UART用于Nios II应用程序的调试。
(5)建立UART控制器:RS232的时序协议利用异步收发器(UART)控制器来实现。其功能在于提供波特率,且波特率可以根据需要进行调节。访问UART模块,在Nios II系统中,利用Avalon总线可以很容易实现,Avalon总线允许Avalon主外设(例如Nios II处理器)通过简单的读和写控制寄存器以及数据寄存器与该UART核实现通信。设置串口通信波特率为19200,停止位1位,数据位8位,没有奇偶性的检验。
(6)建立系统ID外设:生成Nios II系统时,会配置唯一的ID号,并存入System ID寄存器,用以鉴定Nios II程序是否与系统匹配。如不匹配,程序将无法下载到Nios II系统。
(7)添加PIO接口,所添加的PIO接口主要包括:RAM 写PIO、反馈PIO、行程开关PIO、加入电机运行参数PIO(输出类型)、基准频率控制PIO、开始控制PIO。
最后生成Nios II系统。
(1)锁相环PLL模块的建立
锁相环的功能在于解决系统各种设备间的时钟同步问题。它可以实现延时的功能,调节时钟信号。锁相环的设计对于整个系统而言,意义重大。
本设计中为Nois II软核提供时钟的是20MHz的有源晶振,这个晶振外接在FPGA上。把有源晶振的倍频设定在100MHz(c0)。为SDRAM提供同样频率时钟的是图2中所设计的PLL的c1。其频率的设定跟有源晶振的频率一致,偏移量取-75deg。
(2)电机控制模块
电机控制模块主要由PWM发生模块、计数模块和电机选择模块构成,如图3为其结构框图。
1.电源模块
电源模块是保证嵌入式系统工作的前提条件之一,在本系统中,电源模块主要负责给FPGA以及后续的电路供电,使用LM1085_3.3V来实现从5V转到3.3V,并且在输入端和输出端加滤波电容,保证供电稳定。图4为电源模块电路图。
2.速度检测反馈电路
光电编码盘角度检测传感器是一种广泛应用的编码式数字传感器,它将测得的角度位移转换为脉冲形式的数字信号输出。其电路原理图见图5所示。
3.电机驱动电路
驱动电路开关管选用绝缘栅型功率管IGBT。本系统选用美国SGS公司生产的专用集成驱动芯片PBL3717。该芯片构建的电路,不同于传统分离元件组成的电路,避免了工作电路复杂、使用元件多、开启和关断时间长等缺点。
PBL3717栅极驱动器能够在驱动一个高压侧的同时,驱动一个低压侧的功率MOSFET,能够在一个高性能的封装里实现大部分的功能。在设计时,只需要添加一路控制电源和少量分立元件即可。PBL3717芯片即可采用自举自容实现MOSFET的驱动。其导通/关断时间为120/94ns,驱动能力为I0+/-=3A/3A,偏值电压可达500V,开关频率可以从数十赫兹达数百千赫兹,同时PBL3717还具有欠压告警、欠压封锁、过流保护之功能等比较完善的保护功能。所以驱动电路选用2片PBL3717驱动两个H桥。
图2 PLL模块图形符号
图3 电机控制模块结构框图
图4 电源模块电路图
4.系统复位电路
根据数控系统的控制需求,本设计需要把处理器嵌入到FPGA内部。而FPGA在每次配置的加载都会被复位,这样的复位自动进行。基于这样的情况,需要设计一个系统的复位电路,把FPGA内部的状态初始化。
在本设计中,人为地干预系统的运行,必要时,重新输入参数是必需的要求。为实现这样的要求,必须设计一个复位电路,这个复位电路可以通过手动的方式实现控制。
按照低电平有效抗干扰能力更强的原则,如图6所示,本文设计了一个常态为高电平(3.3V),通过按键来拉低信号复位电路。
输入误差e以及误差的变化ec,来构建自整定模糊PID控制器。通过算法,设计模糊控制的规则,修改PID参数,原理如图7所示。
找出PID三个参数与e和ec之间的模糊关系即能实现PID参数的模糊自整定。为满足不同的时刻偏差以及偏差的变化对PID参数整定的要求,使被控制的对象具备良好的静态和动态特性,必须通过不断检测e和 ec,在运行中以PID参数的修正量为输出的方式来实现。最终确定PID控制器的三个参数,其中为预整定值
图5 光电速度检测原理图
图6 FPGA复位模块的电路图
图7 自整定模糊PID控制器的原理
从系统响应速度、稳定与否、稳定精度如何以及超调量等方面来考虑,Kp′,Ki′,Kd′的作用为:
(1)响应速度慢,调节精度低,系统稳态、动态特性差。通常的原因是Kp值取得过小。增大Kp的取值可以解决上述问题。
(2)Ki能够消除系统稳态误差。Ki越大,则系统静态误差越快消除。这个参数取得过大,容易产生响应初期积分饱和的现象,从而造成响应过程的较大超调;但取得过小,系统静态误差难以消除,对系统调节精度产生不利的影响。
(3)要想获得良好的系统动态特性,可以取较大的Kd值。但是Kd过大,会造成调节时间的延长。发生响应过程的提前制动,对于系统额抗干扰性能也会造成不利的影响。这个参数的作用在于使系统得到较好的动态特性,对响应中偏差变化的任意性进行抑制,还可以对偏差变化的方向进行预报。
综合对系统输出产生影响的三大参数参数Kp、Ki 和Kd,不难归纳出,在不同的e和ec下,受控参数Kp、Ki和Kd的自整定要求,得出模糊控制规则的语言描述:
If(e is NM)and(ec is NM)then(Kp is PM)and(Ki is PS)and(Kd is PM);
If(e is NM)and(ec is PM)then(Kp is PM)and(Ki is PS)and(Kd is PM);
If(e is NB)then(Kp is PB)and(Ki is ZO)and(Kd is PS);
If(e is PS)and(ec is NS)then(Kp is PB)and(Ki is PB)and(Kd is PM);
If(e is NS)and(ec is NS)then(Kp is PB)and(Ki is PB)and(Kd is PM);
If(e is PM)and(ec is NM)then(Kp is PB)and(Ki is ZO)and(Kd is PS);
If(e is NS)and(ec is PS)then(Kp is PB)and(Ki is PB)and(Kd is PM);
If(e is PS)and(ec is PS)then(Kp is PB)and(Ki is PB)and(Kd is PM);
If(e is PB)then(Kp is PB)and(Ki is ZO)and(Kd is PS)。
PID控制器参数Kp,Ki,Kd的整定要求因偏差e和偏差变化率ec的不同而异,分述如下:
(1)当e较大时,取较大的Kp,可以提高系统相应速度;需要注意的是,微分饱和的最直接原因是开偏差e在开始的瞬间变大。微分饱和所带来的影响会造成控制作用超出许可的范围。此时,可以选选取较小的Kd。积分饱和是控制系统所不希望出现的结果,为了避免这种情况的产生,可以取Ki=0限制积分的作用。
(2)e处于中等大小时,Kp取得小些,容易获得系统响应较小的超调性。这个时候,应该取适当的Ki值。此时,对系统影响较大的是Kd的取值,为保证系统的响应速度,这个参数取值要适中。
(3)偏差e接近设定值,数值较小时,为了获得系统良好的稳定特性,需要增加Kp和Ki的取值。震荡的产生容易出现在在系统设定值附近。为了减少这个问题带来的不利影响,需要增强系统的抗干扰性能。当ec较大时,Kd应取小些;当ec较小时,Kd可取值大些。图8为隶属度函数曲线。
图8 隶属函数曲线
图9所示为使用Matlab进行仿真所得到的自整定模糊PID控制系统响应曲线。仿真的结果表明,采用自整定模糊PID控制,系统的稳态性能好,调节精度提高,响应速度快,且没有超振荡和超调。
图9 自整定模糊PID控制系统的响应曲线
现代社会经济和技术发展迅速,各种装备都在不断进行升级,因而对于设备的要求也在不断提高,研究数控机床的相关控制技术有着非常重要的意义。基于SOPC技术和模糊控制理论的数控机床控制系统,开发周期短,成本低廉,是一个值得深入探讨的研究方向。
[1]陈明君.基于PMAC开放式数控系统的研究与应用新进展[J].航空精密制造技术,2005(02).
[2]扬后川,高昆.机床数控技术及应用[M].北京:北京大学出版社,2005.
[3]Xu.X.W,Newman.S.T.Making CNC machine tools more open,interoperable and intelligent-Areview of the technologies.Computers in Industry,2006,v57,n2:p 141-152.
[4]Klingauf,W.Standards for machine tool safety.Werkstatt und Betrieb,2003,v136,n10:134-136.
[5]Mason.M.Review offieldprogrammablegatearrays (FPGAs).Elektronik Industrie,2005,v36,n 12:34-35.
[6]谢敏玲.数控机床用智能控制器的设计[J].内江师范学院学报.2011(6).
G718.5
A
1673-0046(2016)7-0173-04
2015年广西高校科研项目“基于SOPC技术和模糊控制理论的数控机床控制系统的设计”(编号:KY2015LX741)