基于LabVIEW和TMS320F2812的液压伺服控制系统的设计
扫描二维码
随时随地手机看文章
1 引言
随着试验机技术的进步,近年来国内外电子液压万能试验机发展了3种不同控制方式:电液伺服阀控制、采用具有速度控制器的压力阀控制和宽流量范围的比例阀控制。电液倒服控制技术作为现代微电予技术、计算机技术和液压技术的桥梁,已经成为现代控制技术的重要组成部分。采用电液伺服阀控制的电子液压万能试验机除了控制技术外,还采用高精度力与位移传感器的测量系统及计算机采集处理等技术,在功能上达到甚至超过了电子万能试验机,尤其是在大负荷液压万能试验机上具有更大的优势。因此,广泛应用于汽车构架的静载、动载和疲劳等材料的各种性能试验中。
本文在电液伺服控制技术的基础上,对基于LabVIEW和TMS320F2812的液压伺服控制系统进行了深入的研究,本系统利用图形化编程工具LabVIEW软件编写的上位机人机界面具有易于操作,便于维护等特点。系统采用数字信号处理器DSP中的TMS320F2812作为核心处理器的实时控制器,该控制器外扩了数据存储器和12位数模转换电路,达到了系统的精度要求。
2 液压伺服控制系统的组成
本文设计的电液伺服系统分为以高速数字处理器DSP为核心的集信号调理、数据采集、控制、转换等于一身的实时控制器和利用图形化编程工具LabVIEW软件编写的人机界面两大部分。该系统利用串行通信口将试验机的操作者通过人机界而发出的各种控制命令发送到实时控制器,实时控制器按命令完成一系列操作并将液压伺服系统的工作状态通过串行通信口送到PC机,并在PC机上的人机界面上显示。
3 上位机人机界面软件设计
3.1 LabVIEW简介
上位机人机界面软件采用LabVIEW,他是实验室虚拟仪器集成环境(Laborator Virtual Instrument Engineering Workbenth)的简称,LabVIEW采用G语言为其编程语言。G语言是一种适合应用于任何编程任务,具有扩展函数库的通用编程语言。和C语言等语言一样,G语言定义了数据模型、结构类型和模块调用语法规则等编程语言的基本要素,在功能完整性和应用灵活性上不逊色于任何高级语言。G语言与传统高级编程语言最大的差别在于编程方式,一般高级语言采用文本编程,而G语言采用图形化编程方式。
3.2 上位机人机界面功能介绍
3.2.1 通信子模块
通信子模块包括信息的接收和数据的发送两部分。信息接收功能是指上位机通过串口接收由下位机反馈回来的命令信号、状态信号和反馈信号,供上位机显示和保存用。数据发送功能则是上位机通过串口以一定的协议发送帧信息,这些信息将包括所有对下位机的控制命令。
3.2.2 系统设置模块
系统设置模块简单介绍标定与控制参数设定这两部分。
标定部分主要是根据载荷传感器,位移传感器等不同传感器之间性能参数的不同而进行的零点、增益、量程的标定,从而为不同的控制方式提供参数标准。
控制参数设定包括控制方式的选择,试验类型,限制值等参数的设置。
控制方式分为3种:位移控制、行程控制和载荷控制。这3种不同的控制方式所连接的现场设备都要经过由静态向动态的工作过程,所以必须在静态时设置其静态初始值,同时规定其上下限值,超出这一范围系统都要强行停机。实验类型分为常规,拟动力,疲劳,随机波等。
液压伺服控制系统的正常工作是在各种不同模拟信号波形的驱动下实现的,这就要求上位机设置这些波形的动态实验参数,以供下位机软件产生这些波形。以正弦波为例,正弦波的幅值,频率以及重复次数,位于第几谱块等参数都要通过帧协议发送给下位机。
上位机也要将PID控制的P,I,D参数发送给下位机,由于这些参数都是浮点型,而DSP2812只能处理定点数据,所以上位机需要在发送数据前将浮点数转化为定点数,以便下位机识别。
3.2.3 状态显示模块
示波器部分主要显示通道命令、通道载荷和通道位移等曲线。
数据生成与保存是将试验的一些参数包括通道分配、控制方式、系统标定的数据、载荷谱等数据保存在不同的文件中。
4 实时控制器的设计
4.1 实时控制器硬件设计
该系统的实时控制器结构框图如图4所示,主要包括模拟信号输入接口电路、信号调理电路、时钟与复位电路、电源转换电路、外部存储器扩展电路、数据通信接口电路、功率放大等部分。
本文采用DSP2812自带外设ADC完成对信号的采集,同时外扩了一片64 kB RAM芯片ISLV6416存储临时数据,一片DAC7625芯片用以实现数字信号向模拟信号的转换,转换的模拟信号经功率放大后输出。
4.1.1 外部数据存储器
外部数据存储器采用ISSI公司的ISLV6416芯片,ISLV6416是一片64 k×16 b的高速静态RAM,采用3.3 V电源供电,3.3 V电压信号由电源转换芯片TPS767D381PWP转换实现,他可将+5 V电压转换成+3.3 V和+1.8 V,这两个电压同时可供DSP工作。ISLV6416的控制信号OE(读数据),WE(写数据)直接与DSP的XWE和XRD两引脚相连,数据和地址线也直接与DSP相连。CE(片选)信号由地址线A16和外部空间选择信号XZCS2相“或”产生,因此RAM的地址为0x00080000~0x0008FFFF。
4.1.2 D/A转换电路
由于伺服阀的输入量是模拟信号,而控制器处理后的输出数据是数字量,因此,需要把数字量转换为模拟量后输出到伺服阀上。
在设计过程中,选择了12位模数转换芯片DAC7625,他是BURR-BROWN公司生产的一种低功耗12位并口输出的模数转换芯片,他的setting time 只有10 μs,支持单极和双极输出。12位数据可由TMS320F2812一次送出。根据电源供电方式的不同,4通道模拟输出量电压的范围将由两参考电压端参考电压决定。如单电源+5 v供电,参考电压端VREFH输入+2.5 V,VREFL接地,则模拟输出量电压范围为0~2.5 V。若采用双电源±5 v供电,参考电压端VREFH输入+2.5 V,VREFL输入-2.5 V,则模拟输出量电压范围为-2.5~+2.5 V。参考电压可由芯片MAX1403产生。DAC7625选择哪路模拟量输出由两个片选信号A0,A1决定。读写信号RW与DSP的XR/W脚相连,片选DAC_CS由地址线A16反相后与外部空间选择信号XZCS2相“或”产生,所以DAC7625的地址范围为:0x00090000~0x0009FFFF。
4.1.3 串口通信
整个DSP作为下位机的核心CPU,是通过串口实现与上位机的通信的,TMS320F2812有两个片内外设SCIA/SCIB实现串口通信功能。硬件电路采用符合RS232标准的驱动芯片MAX232进行串口通信。MAX232芯片功耗低,集成度高,+5 V供电,具有两个接收和发送通道。
4.2 控制器的软件设计
初始化程序包括各种参数和变量的初始化,启动定时器,由于此液压伺服系统的控制信号为50 Hz以下,所以将定时时间确定为1 ms,完全满足系统要求。1 ms定时后,检测定时中断标志位是否置1,置位信号由中断服务子程序完成,若已经被置1则启动A/D转换采集,A/D转换主要负责数据采集、转换、工程变换等工作,并根据相应的控制模式,将相应传感器的信号作为控制器的反馈信号,若未置位则返回等待。调用Command函数,在Command函数中,程序根据相应的控制状态和控制参数计算当前时刻的命令信号,该命令信号由两部分组成,一部分为静态命令,另一部分为动态命令,实际控制信号为两部分之和,该信号为前馈PID控制的输入信号。前馈PID控制函数则根据命令信号、反馈信号和相关参数(如PID参数)计算输出控制指令。D/A转换函数主要是通过D/A板将计算机的控制指制信号为两部分之和,该信号为前馈PID控制的输入信号。前馈PID控制函数则根据命令信号、反馈信号和相关参数(如PID参数)计算输出控制指令。D/A转换函数主要是通过D/A板将汁算机的控制指令转换成为相应的模拟量(该模拟信号通过伺服放大板进行放大后驱动伺服驱动部分),串口发送程序子函数将控制器当前时刻的所有信号(包括命令信号、状态信号和反馈信号)的数据传送给上位机,供上位机显示和保存用。之后将标志位清零并判断串口接收标志位是否为1,是则对已经接收到的完整数据包处理,否则返回上一步。
5 结语
本文上位机采用高级图形化编程工具LabVIEW编写人机交互界面,美观、易于操作,下位机采用TI公司的TMS320F2812为系统核心CPU,提高了系统运行的速度、精度及稳定性,外扩存储器增强了数据处理能力,并行12b DAC既满足了控制精度的要求,也提高了整个系统的实时控制性。下位机软件在定时周期1 ms内完成A/D的转换,Command命令计算,前馈PID控制算法,D/A输出,串口通信等功能。整个系统工作稳定,在实验中效果很好。