浅议FPGA智能阀门定位系统的软硬件设计

发布时间:2011-03-30  点击数:2504
    在某些应用场合,调节阀控制不仅仅是简单的开关控制,还涉及到准确定位。这对电动阀门定位系统的智能化、网络化提出了更高的要求。而现有电动阀门定位系统存在诸如控制方式落后,结构匹配不合理,控制精度低,安全性能不好,通讯能力差等缺陷。嵌入FPGA处理器,与CAN现场总线相连,不仅具有控制、运算和通讯功能,同时还可以实现网络化管理。
一、智能电动阀门定位系统设计总体方案

    智能电动阀门定位系统设计总体结构如图1所示。控制器主要对阀门在行程(阀门开度)和转矩(阀门承受力矩)2方面进行监控。电动阀门定位系统是一个闭环控制,通过设定信号和反馈信号比较控制电机运转,驱动阀门动作。电机选用单相电容运转可逆异步电机,简化系统结构,降低成本,提高了控制精度。此外,系统带通讯功能,可以接收上位机的指令,进行远程数字控制。同时也可以在智能控制器本地的人机界面上通过菜单和按钮实现现场手动控制。
二、硬件部分设计
    采用现场可编程门阵列(FPGA)微处理器和外围芯片组成智能化的定位控制单元,接收统一的标准直流信号,经信号处理送至微处理器,微处理器将处理后的数据送至显示单元显示调节结果,运算处理后产生的控制信号驱动电机。
    设计中选用Altera公司的Cyclone系列的FPGA芯片EP1C2026为核心,外围扩展I/O模块、设置和显示模块。硬件结构如图2所示。

    1、EP1C20-6最小工作系统
    基于EP1C20-6的最小工作系统,包括系统时钟、电源、JTAG配置、外围存储等。系统时钟由频率为40MHz的有源晶振通过一个全局时钟输入引脚CLK0来驱动内部时钟网络得到,满足高效数字系统设计。
    2、I/O模块
    通用的数字量输入通道和输出通道可以方便地对开关的闭合和断开,指示灯的亮和灭,继电器的吸合和释放,电机的启动和停止等进行检测和控制。
    可选的标准模拟量输入通道的任务是将力矩反馈和行程反馈的参数送入控制器;模拟量输出通道任务是把输出的控制信号转换成标准的模拟电压或电流信号,以便驱动相应的执行机构
    3、显示部分
    显示部分由4位LCD和3个发光二极管组成,用来显示系统的设置以及当前的工作状态:正转、反转、停止。
三、软件部分设计
    1、数字量的I/O模块软件设计
    外部数字信号输入到FPGA的I/O接口之后需要对信号进行缓冲,用VHDL语言实现类似74LS244的三态缓冲,设计了一个输入为8位信号din,输出为8位信号q,控制信号en的三态缓冲器,与前面的硬件部分一起构成通用的数字量输入通道。
    数字量输出需要锁存器,用VHDL语言实现类似74LS373锁存功能,设计了一个输入为4位信号d,输出为对应4位信号dout,控制信号为oe和g的4位锁存器,与前面的硬件部分一起构成通用的数字量输出通道。
    2、模拟量的I/O模块软件设计
    用VHDL语言实现模拟量输出通道的控制包括3个并行进程:通过一个赋值语句来完成采样通道号的选择;通过对FPGA外部输入的时钟进行分频,产生转换控制脉冲R-C;对转换状态信号STS进行检测。
    模拟量输出软件设计只要在硬件设计选中D/A转换的flow-through模式,用VHDL语言使要输出的8位数字信号锁存,控制ILE信号有效。
    3、CAN总线控制器设计
    智能阀门定位系统能够接收本地和网络远程的信号,作为阀门开度的给定值。基于CAN技术的DeviceNet是一种低成本的通信总线。与一般的通信总线相比,DeviceNet网络的数据通信具有突出的高可靠性、实时性和灵活性等优点。其通信连接时将CAN总线控制器作为一个模块集成到FPGA中,可以有效减少外围芯片的数量,提高系统集成度,从而保证系统的可靠性。结合阀门开度实际值,控制阀门的开关,阀门的开度信号可以发布到DeviceNet总线上。CAN控制器作为一个模块集成到FPGA中,主要由核心控制模块CAN-Core,控制/状态寄存器CAN-Registers以及接口管理逻辑CANIML3部分组成。
    1)核心控制模块CAN-Core 核心控制模块CAN-Core根据CAN总线技术规范2.0A和2.0B来处理通信过程,完成CAN协议中的数据链路层的全部功能以及物理层的部分功能。核心模块由4个部分组成:BaudratePrescaler根据总线定时器0的低6位将输入时钟分频到系统时钟;位时序逻辑(Bit-Timing-Logic)执行协议中规定的硬同步和重同步。位流处理器(Bit-Stream-Processor)则按照CAN总线协议在发送数据负责执行发送/接收数据仲裁、位填充以及CRC计算等功能。
    2)控制/状态寄存器CAN-Registers CAN-Registers为一组寄存器,包括模式寄存器、命令寄存器、状态寄存器、中断寄存器,外部处理器可以通过地址直接访问这些寄存器。上电复位后,系统进入复位模式,微处理器要对其中的控制寄存器初始化,包括工作模式、中断使能、总线定时、验收代码和验收屏蔽以及错误报警限制。微处理器通过命令寄存器来控制数据帧的发送和终止,接收缓冲器的释放以及数据溢出的消除。发送数据时,微处理器将发送的数据写入发送缓冲器,置命令寄存器的发送请求位来启动发送。接收到数据后,核心控制器将其存在接收缓冲,并通知位控制器将其取走。
    3)接口管理逻辑CANIML 接口管理逻辑CANIML为CAN收发器与微处理器的接口模块。
四、滑模模糊控制算法的实现
    嵌入FPGA微处理器并与CAN现场总线连接的电动阀门定位系统能够满足智能化的要求,具有控制、运算和通信等功能,同时可以实现网络化管理。电动阀门控制要求响应快速,过渡时间短,定位准确无超调。常用的控制算法是PID,PID算法尽管能够将非线性换成线性控制,也存在着滞后的缺点。因此,有必要将智能控制算法引入定位系统中。用智能控制算法控制对象,可以达到很好的控制效果。
    阀门是一种非线性、变参数的复杂对象,存在惯性以及对象未建模的高频谐振特性,所以抖振必定存在。消除和削弱抖振的途径有连续趋势和调整趋近率。代表性的有边界层法、连续化与高增益性质、趋近率法、频域近似法。滑模模糊控制算法兼具模糊神经和滑模控制的优点,既解决了模糊系统的稳定性和鲁棒性问题,又削弱了定位系统的抖振问题。滑模模糊控制器的结构如图3所示。滑模模糊控制器分为滑模函数、模糊控制器和被控对象3部分。

    滑模模糊控制器的输入是滑模函数s=λe+e及其导数,使控制目标从跟踪误差转为滑模面,通过模糊控制器的调节使s为0,于是误差将以指数衰减的方式渐近到达0点,最终达到调节误差为0的目标。在基于FPGA实现滑模模糊控制算法时,只需在模糊控制算法模块前面加入一个切换函数计算模块,并在控制单元中加入其对应的时钟使能信号就可以实现。把切换函数离散化有
    s(k)=λe(k)+[e(k)-e(k-1)]/T=(λ+1/T)e(k)-r(k-1)/T
    切换函数变化量离散化为
    Δs(k)=(λ+1/T)e(k)-(λ+2/T)e(k-1)-e(k-2)/T
    得到s(k)和Δs(k)后,把二者作为模糊控制器的输入,最终完成滑模模糊控制算法的实现。
    将滑模模糊控制算法嵌入到控制系统中,给定45°时得到的仿真响应曲线如图4所示。

    由响应曲线可以看出:在给定45°时,经过4.6s达到稳定,模糊滑模控制算法是可行的,有效地降低了系统的抖振,而且渐进稳定性良好。
五、结论
    嵌入FPGA的智能电动阀门定位系统具有控制、运算和通讯功能,同时还可以通过CAN总线实现网络化管理。符合工业设备的智能化、集成化、网络化的要求。将滑模模糊控制算法引入智能阀门定位系统具有明显的优势,能够削弱定位系统的抖振问题。