本发明涉及一种基于PCI的多缸液压伺服控制系统,适用于机械领域。
背景技术:
近些年国内国装备制造业高速发展,液压机作为装备制造业的必备设备,对其吨位和性能的要求越来越高,特别是开发大吨位、高精度、高性能液压机的需求尤为迫切。单缸已经不能满足高性能液压机对于吨位和精度的要求,多缸已经成为必然的选择。但多缸控制必然会存在耦合和非线性问题,传统的PLC控制器很难解决这些,因此研制可控制多缸的液压专用控制器对提高材料加工水平有着重大而深远的现实意义。
技术实现要素:
本发明提出了一种基于PCI的多缸液压伺服控制系统,该多缸液压机伺服控制系统各项性能指标均能达到设计要求,具有良好的伺服控制性能。另外,在该系统通过利用VerilogHDL语言,在FPGA内实现了如位置采样、速度计算等功能,节省了大量的CPU资源,提高了控制周期,这也是多缸液压伺服控制系统设计的一个研究热点。
本发明所采用的技术方案是:所述多缸液压机主要包括上位机、液压缸组、滑块、机架、油泵组、油箱、检测装置和控制系统。当液压机工作时,油泵将高压液压油从油箱抽取进油路;液压油经过比例伺服阀进入液压缸组,驱动滑块运行。滑块的速度和调平控制是通过不断的调节油路中比例伺服阀的开度,从而改变液压缸的液压油的流量来实现的。
所述控制算法采用双闭环同步PID控制。对于每个缸设计独立的双闭环控制算法,外环PID控制器的入是滑块速度与整定后的给定速度的差值,通过PID控制律计算出给定压差,作为内环的给定输入;内环PID控制器的输入是给定压力与实际压力的差值,通过PID控制律计算出阀的开度,作为被控对象的控制输入。
所述控制系统的硬件采用主控板(PCI板卡)+调理板的系统结构框架。采用这种构架的原因在于主控制器及其他核心芯片属于高速数字系统,其对于电磁兼容性的要求较高并且抗外部干扰能力较弱,所以将其设计为PCI板卡形式,这样就以工控机作为载体,利用工控机外壳作为第一层电磁屏蔽,这样可将外部电磁干扰对主控器的影响减到最小,提高了系统的稳定性,而且PCI总线属于高速并线总线,其传输速率是通常的以太网或其他工业总线几倍,这样使伺服控制器和上位机之间的链接更紧密,通信速率更快,实现了上位机与控制器的一体化。更重要的是这种模式增强了系统的适应性,用户只需要修改调理板电路就可满足不同的功能,使产品的升级更加方便,并且可以通过扩充PCI板卡来扩充系统的功能。
所述控制系统的主控板采用DSP+FPGA+PCI9054的系统结构框架,中心控制单元采用TMS320F2812芯片,主要用来发送指令、接收数据以及完成一些复杂的算法控制并通过其16位并行总线与FPGA相连,此芯片为专为工业控制设计的芯片,带有多种外部接口,其内部时钟高达150MHz,计算速度快,可减小控制程序的运行时间,以提高控制效果;FPGA为数据中转核心,主要完成8路SSI信号的采集和时序控制,M法和T法测速、实现了2个SPI总线用于主板与调理板的数据交互,并在其内实现双口RAM为核心的数据中转与控制,完成了各部分数据的整合;PCI讯接口所采用的通信芯片为PCI9054,主要完成伺服控制卡和上位机之间的通讯,将PCI总线数据转换为32位的局部总线数据。
所述外部调理板主要包含D/A模块、A/D模块、IO隔离放大模块和SSI转换模块。D/A模块主要采用AD5628芯片,AD5628为串行8路12位D/A芯片,主要用来将主控芯片的数字量输出变为模拟量输出,然后经过驱动放大电路将输出信号进行放大,进而控制液压阀的开度。A/D模块主要采用AD7928芯片,AD7928为串行8路12位A/D芯片,主要用来采样压力传感器的输出电压,并将其转换为主控芯片可识别的数字信号。D/A模块和A/D模块都是通过SPI总线与FPGA通讯,并且在FPGA与他们之间采用光耦隔离芯片TLPI17A进行隔离。IO隔离模块采用ADuMl400ARw芯片,主要用来隔离和将主板的3.3V逻辑电平转换为5V的逻辑电平。SSI转换模块采用MAX3490芯片,用来将主板的3.3VTTL电平转换为光栅尺所需的差分信号。
所述控制系统的FPGA内部逻辑功能使用VcrilogHDL语言对其编程在FPGA内部实现了多种逻辑功能,包括SSI采集模块、T法和M法测速模块、SPI总线模块和数据中转模块。FPGA内包含大量的逻辑单元,在上电后FPGA自动根据所下载程序来配置这些逻辑单元,就相当于将电路放到了芯片内,具有很高的实时性和快速性,所以该设计中将一些初级程序,如T法和M法测速等功能在FPGA上实现。这样不但提高了采样频率,而且节省了主控程序所需的资源,减小了一个控制周期所需的时间,使其能满足更高的控制需求。
所述SSI采用主机主动读方式,即主控器对从设备发出一个时钟脉冲,从设备输出一位数据,数据从最高有效位(MSB)开始传输。根据输入SSI信号的时序要求,将SSI采集模块分为时钟产生模块、数据接收模块和数据转换模块。此模块可根据所选液压机所带光栅尺格式的不同(二迸制和格雷码)主动向外设输出时钟信号,并将光栅尺传人的串行位置数据转换为32位并行数据。为该设计采用的是连续采样,采样周期为r,r为一可设定值(从1M到10K)。利用FPGA的特性,在其内实现8路并行SSI采样,并采用同一系统时钟,这样就确保了位置采样的实时性和同步。测速模块则是根据SSI通信模块转换后的并行数据和采样时钟,分别按T法和M法进行速度计算,以实现速度快速计算,减少后续控制算法所需资源。由于该设计采用的是连续采样,并且采样频率较高,所以可以用采样周期T为系统计时的单位时间。
本发明的有益效果是:该多缸液压机伺服控制系统各项性能指标均能达到设计要求,具有良好的伺服控制性能。另外,在该系统通过利用VerilogHDL语言,在FPGA内实现了如位置采样、速度计算等功能,节省了大量的CPU资源,提高了控制周期,这也是多缸液压伺服控制系统设计的一个研究热点。
附图说明
图1是本发明的多缸液压机控制系统原理图。
图2是本发明的闭环同步控制方框图。
图3是本发明的控制系统硬件结构图。
图4是本发明的FPGA内部逻辑功能图。
图5是本发明的一路高速SSl通信接口模块示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明。
如图1,多缸液压机主要包括上位机、液压缸组、滑块、机架、油泵组、油箱、检测装置和控制系统。当液压机工作时,油泵将高压液压油从油箱抽取进油路;液压油经过比例伺服阀进入液压缸组,驱动滑块运行。滑块的速度和调平控制是通过不断的调节油路中比例伺服阀的开度,从而改变液压缸的液压油的流量来实现的。
控制多缸液压机的关键是多缸液压伺服控制系统。首先,分别通过FPGA和A/D芯片将光栅尺输出的滑块的位置信息(SSI格式)和压力传感器采集的液压缸内的压力信息(电压信号)转换为主控芯片能识别的并行二进制信息。然后主控芯片根据这些信息与控制算法计算出比例伺服阀应有的开度,然后经过D/A芯片和驱动放大电路,输出给比例伺服阀,从而达到控制目标。
如图2,控制算法采用双闭环同步PID控制。对于每个缸设计独立的双闭环控制算法,外环PID控制器的入是滑块速度与整定后的给定速度的差值,通过PID控制律计算出给定压差,作为内环的给定输入;内环PID控制器的输入是给定压力与实际压力的差值,通过PID控制律计算出阀的开度,作为被控对象的控制输入。由于液压机再运行时所受的的反抗力矩是非对称的,所以多缸的运行时会产生较大的同步误差,系统将不能正常工作,无法实现高精度加工。为解决以上问题,采用同步补偿的方法来进行控制,即在计算速度偏差之前先根据滑块的位置信息来整定给定速度,并且以一个特定的液压缸所对应的位置为基准位置,对于位置大于此基准位置的,将给定速度适当减小,对于位置小于该基准位置的,将给定速度适当加大。其中基准缸的权值为0,其余的根据缸的位置而定。双闭环同步PID控制算法要求对各个滑块位置的采样必须是实时的、同步的。
如图3,控制系统的硬件采用主控板(PCI板卡)+调理板的系统结构框架。采用这种构架的原因在于主控制器及其他核心芯片属于高速数字系统,其对于电磁兼容性的要求较高并且抗外部干扰能力较弱,所以将其设计为PCI板卡形式,这样就以工控机作为载体,利用工控机外壳作为第一层电磁屏蔽,这样可将外部电磁干扰对主控器的影响减到最小,提高了系统的稳定性,而且PCI总线属于高速并线总线,其传输速率是通常的以太网或其他工业总线几倍,这样使伺服控制器和上位机之间的链接更紧密,通信速率更快,实现了上位机与控制器的一体化。更重要的是这种模式增强了系统的适应性,用户只需要修改调理板电路就可满足不同的功能,使产品的升级更加方便,并且可以通过扩充PCI板卡来扩充系统的功能。
主控板采用DSP+FPGA+PCI9054的系统结构框架,中心控制单元采用TMS320F2812芯片,主要用来发送指令、接收数据以及完成一些复杂的算法控制并通过其16位并行总线与FPGA相连,此芯片为专为工业控制设计的芯片,带有多种外部接口,其内部时钟高达150MHz,计算速度快,可减小控制程序的运行时间,以提高控制效果;FPGA为数据中转核心,主要完成8路SSI信号的采集和时序控制,M法和T法测速、实现了2个SPI总线用于主板与调理板的数据交互,并在其内实现双口RAM为核心的数据中转与控制,完成了各部分数据的整合;PCI讯接口所采用的通信芯片为PCI9054,主要完成伺服控制卡和上位机之间的通讯,将PCI总线数据转换为32位的局部总线数据。
外部调理板主要包含D/A模块、A/D模块、IO隔离放大模块和SSI转换模块。D/A模块主要采用AD5628芯片,AD5628为串行8路12位D/A芯片,主要用来将主控芯片的数字量输出变为模拟量输出,然后经过驱动放大电路将输出信号进行放大,进而控制液压阀的开度。A/D模块主要采用AD7928芯片,AD7928为串行8路12位A/D芯片,主要用来采样压力传感器的输出电压,并将其转换为主控芯片可识别的数字信号。D/A模块和A/D模块都是通过SPI总线与FPGA通讯,并且在FPGA与他们之间采用光耦隔离芯片TLPI17A进行隔离。IO隔离模块采用ADuMl400ARw芯片,主要用来隔离和将主板的3.3V逻辑电平转换为5V的逻辑电平。SSI转换模块采用MAX3490芯片,用来将主板的3.3VTTL电平转换为光栅尺所需的差分信号。
主板与调理板整体实现了8路SSI数据高速采集,用于采集液压机各个光栅尺的位移量,以取得滑块的位置信息;8路12位(可扩展至16位)高精度D/A隔离模拟量输出,用于控制液压机中电子伺服阀;8路12位高精度A/D隔离输入,用于检测各个液压缸的压力;和8路数字隔离I/0,用于报警和其他功能。
如图4,控制系统的FPGA内部逻辑功能使用VcrilogHDL语言对其编程在FPGA内部实现了多种逻辑功能,包括SSI采集模块、T法和M法测速模块、SPI总线模块和数据中转模块。FPGA内包含大量的逻辑单元,在上电后FPGA自动根据所下载程序来配置这些逻辑单元,就相当于将电路放到了芯片内,具有很高的实时性和快速性,所以该设计中将一些初级程序,如T法和M法测速等功能在FPGA上实现。这样不但提高了采样频率,而且节省了主控程序所需的资源,减小了一个控制周期所需的时间,使其能满足更高的控制需求。
如图5,SSI采用主机主动读方式,即主控器对从设备发出一个时钟脉冲,从设备输出一位数据,数据从最高有效位(MSB)开始传输。根据输入SSI信号的时序要求,将SSI采集模块分为时钟产生模块、数据接收模块和数据转换模块。此模块可根据所选液压机所带光栅尺格式的不同(二迸制和格雷码)主动向外设输出时钟信号,并将光栅尺传人的串行位置数据转换为32位并行数据。为该设计采用的是连续采样,采样周期为r,r为一可设定值(从1M到10K)。利用FPGA的特性,在其内实现8路并行SSI采样,并采用同一系统时钟,这样就确保了位置采样的实时性和同步。测速模块则是根据SSI通信模块转换后的并行数据和采样时钟,分别按T法和M法进行速度计算,以实现速度快速计算,减少后续控制算法所需资源。由于该设计采用的是连续采样,并且采样频率较高,所以可以用采样周期T为系统计时的单位时间。
在该设计中,FPGA上实现了1个68X16位的双口RAM,此双口RAM为SPI总线模块和数据中转模块的载体。双口RAM的两端分别主要根据PCI9054的局部总线协议和DSP的外设16位总线协议编写读写控制,其与DSP通信使用的是DSP的16位外部总线,物理地址对应于DSP的0区(既起始地址为0X2000)。上位机与主控制芯片DSP之间的数据交互都通过PCI总线,再经过PCI9054转换到局部总线,再经过FPGA中实现的双口RAM传输到DSP中,反之依然。
PCI9054与DSP都被设计为主设备,双口RAM都为从设备。根据实际需求将双口RAM的不同存储区分成不同的功能区,根据不同区的需求做了不同的限定。其中快速共享区的大小为16X16位,设定为PCI9054与DSP都可读写,这部分存储区为PCI9054与DSP共享,数据传输效率最快,用于存放上位机与DSP之间共用的,并需要快速传输的数据。