肖永松
(江南大学 物联网工程学院,无锡 214122)
压力作为工业生产过程中的重要参数之一,其检测和控制方法历来受到科研和工程技术人员的高度重视。在不同行业背景以及不同的使用环境和条件下的压力控制,只有为其匹配合适的测控仪器和方法才能以比较经济的方式得到良好的控制效果。
压力传感器根据工作原理的不同可以分为应变式、压阻式、电容式等多种,本控制器以陶瓷压阻压力传感器为压力信号检测器件展开设计。陶瓷压力传感器压力输出毫伏级别的微弱电信号,然后经过调理放大电路处理后得到一个4~20 mA模拟信号或者直接得到数字信号再传输给控制器转换得到。较常见的压力控制系统中一般采用压力变送器获取压力信号,然后结合控制目标由PLC对压力数据进行处理并驱动执行机构如变频器、电机等设备对目标压力进行调节,同时采用触摸屏作为人机交互界面[1],或者基于ARM芯片自行设计控制器配合外围的信号采集和驱动设备构建控制系统[2]。对于控制要求相对较高的应用场合,上述控制方案中再配备合适的调节算法一般都能获得良好的控制效果。对于控制要求相对不高且对成本比较敏感的应用场合则需要有性价比更高,使用便捷的小型压力控制器来进行控制。
本方案将设计一款具有优良性价比特性的智能压力控制器以满足小范围内管道压力保持在一定范围之内的自动控制需求。
控制器选用STM8S103F3P6作为控制核心,此处理器内部有8 KB程序存储器,640 B的数据E2PROM,1 KB RAM,并且集成有10位ADC,3个定时器,SPI,UART和I2C等众多内置外设,是一款性价比优势非常突出的8位16 MHz单片机。围绕主控制器设计的外围电路主要由电源模块、压力传感器信号的调理模块、输入和显示输出模块以及控制输出模块4个部分组成,控制器的结构框图如图1表示。
图1 控制器结构Fig.1 Structure frame of controller
控制器要在复杂外部条件下具有良好的适用性,稳定可靠的电源模块设计是重要的先决条件之一。一般工业现场使用的控制器电源模块应具备的基本性能包括防电源接反、防超压、防浪涌等,基于此要求设计的具体电路如图2所示。
图2 控制器电源模块电路Fig.2 Circuit of power module
图2中输入电压是由控制器外部提供的24 V直流电压,在输入端串接二极管D5和D12防止电源反接,为进一步减小干扰,在稳压芯片LM2575S-5之前再用一个共模电感进行滤波,得到稳定的5 V电压给单片机和压力传感器供电,输入的24 V直流电压同时还将作为输出驱动部分的场效应晶体管的驱动电压用来驱动继电器从而控制电机或者电磁阀等压力调节设备。
常见的压力传感器有陶瓷、扩散硅、电容式以及金属应变片式等多种类型,虽然它们在原理和结构上相互之间相差较大,但有一个共同特点就是输出的都是微弱电压信号,此信号在被采用之前须经过调理放大才能传输给控制器使用[3]。文献[4]中设计的压力变送器选择的是仪表放大器AD627对传感器信号进行放大调理,仪表运放的优良性能也是众多压力控制器和变送器在设计调理电路时的首选,但是其价格相对偏高。本方案选择采用一款专门用于传感器信号调理的芯片JHM-1101来调理传感器信号。
JHM-1101是一款针对桥式传感器信号设计的高精度模数转换器,数字输出时最高可达到±0.1%FSO的精度,内置有自动温度补偿传感电路,可通过单线方式输出轨到轨模拟电压、0~1 V模拟电压、数字输出和PWM信号,单片机可以很便捷地获取到准确测量的结果,基于此设计的信号调理电路如图3所示。
图3 信号调理电路Fig.3 Circuit of signal modulation
图3中所示JHM-1101的SO引脚是其完成与外部所有信息交换的单线接口,通过自定义的单线接口协议可以完成对芯片工作模式的设置、读写一次性可编程存储器OTP、读写内部寄存器、读取ADC转换数据等功能。芯片可以分别工作于设置模式和正常工作模式,在设置模式下可以通过与其配套的软件方便完成所有的校准和设置工作,在正常工作模式下则连续地完成对传感器信号进行采集、转换、校准以及输出的一系列任务。
本设计方案中,将通过对OTP第4字节的Bit7~Bit5(Output select[2:0])进行设置,将输出的信号设定为数字信号以供微处理器直接使用,省去了额外的硬件电路设计。
良好的人机交互设计是控制器最终能得到用户认可的关键因素之一,通过对其基本功能的需求分析,确定由4位8段数码管来显示压力值以及设定压力上下限等参数值,4个LED指示灯用于显示不同的工作状态以及不同压力单位的指示,同时采用“功能键”、“增加”、“减少”以及“确定”4 个按键作为输入用来设定系统参数,如果直接采用主控制器的GPIO来驱动上述输出以及检测按键将要求主控芯片至少分配20个GPIO用于按键输入和显示输出模块。在考虑到控制器使用便捷性的同时又兼顾较高性价比要求下,本方案选择采用带键盘扫描接口的LED驱动控制专用芯片TM1668来设计输入和输出显示部分的电路。最终主控制器仅需分配3个GPIO给此芯片即可完成所有的按键输入检测和显示输出,为主控制器节省大量资源的同时也极大简化了整体硬件电路,可有效提升控制器的抗干扰性和稳定性,此外也有助于控制器的小型化。
本控制器主要依靠控制电机转速或者电动调节阀的开度来实现对管道内压力的调节。控制器和执行机构之间的隔离由固态继电器来实现,对固态继电器的驱动电路设计如图4所示。
图4 输出驱动电路Fig.4 Circuit of output driver
测量得到的实时压力值与控制目标进行比较运算后,得到相应的输出控制信号OUT,通过光耦PC817实现强弱电信号隔离后再采用场效应晶体管MJD122驱动固态继电器来控制压力调节设备。
由于硬件设计上在信号处理以及按键输入和输出显示方面合理选用了JHM-1101和TM1668两片专用芯片,对压力信号的采样和AD转换过程以及数码管的显示输出均只需通过串行方式对专用芯片读写,从而为系统软件设计带来极大的便捷,整个系统软件只需简单的几个子功能模块即可实现控制任务,其主程序流程如图5所示。
图5 主程序流程Fig.5 Flow chart of main program
图5中所示初始化过程主要完成I/O口初始化、信号调理芯片JHM-1101初始化、定时器TIM4的初始化、显示模块初始化以及从片内E2PROM中加载系统参数等任务,随后将重复地顺序执行按键扫描检测以及压力测量和控制输出等一系列动作。
控制器的按键通过不同按键组合分别实现启/停、设置控制上下限、单位切换、零位清零等基本功能,另外再设计通过长按功能键实现对系统功能模式的设置,从而实现不同控制方法之间的切换、开机自检启/停、自动检压开/关、超压自检开/关、控制延时开/关、参数保护开/关等功能。
针对不同的应用需求,控制器内置2种基本的控制策略,分别是双位控制和常规的PID控制。双位控制策略适用于被控压力变化相对缓慢且目标压力允许在一定范围内波动的应用场合,其控制思路是以控制器设定的上下限为触发点,当压力由低到高并超过上限值时关闭增压设备(如水泵、风机等),随着设备停机压力降低直至小于下限值时再开启增压设备。PID控制方式则适用于压力控制精度相对较高并且压力调节设备处于连续运行或允许频繁启停的场合。PID控制作为工控领域应用最广泛的控制方法,常规的PID及其改进算法在压力控制方面的应用研究成果也能在众多学术刊物上见到,例如改进型增量 PID[5],模糊 PID[1,6]等算法在对压力的控制方面均能取得不错的控制效果,另外针对各种不同的应用环境和条件还不断有一些改进型的智能PID控制算法被提出并逐步的从仿真走向实际的应用。由于本控制器是基于高性价比、控制要求并不特别高的目标进行设计,因此仅内置常规的增量式和位置式数字PID控制方法,具体算法的表述比较常见,在此不再赘述。
本设计选用了性价比表现特别突出的STM8S103作为控制器的主控芯片,通过合理选择压力信号调理芯片以及显示输出驱动芯片,有效简化了功能模块电路设计的同时提高了系统的集成度,控制器的尺寸大小也能够得到有效控制。配合陶瓷压力传感器对管道内水压进行控制测试的结果表明控制器工作稳定可靠,操作便捷,人机交互性能良好,能够将压力有效控制在设定范围之内。
[1]齐继阳,孟洋,李金燕,等.模糊PID在恒压供水控制系统中的应用[J].自动化与仪表,2015,30(3):44-47.
[2]蔡新岗,陈红勋.基于STM32的智能水泵控制器设计[J].仪表技术,2009(4):53-54.
[3]熊志华.基于ARM的压力检测系统的研究[D].西安科技大学,2009.
[4]岳佳杰,刘克虎,周杏鹏.基于CAN总线的智能压力变送器[J].仪表技术与传感器,2012(1):29-31.
[5]田昊,云长江,彭毅,等.增量PID算法在某风洞压力控制中的应用改进[J].计算机测量与控制,2016,24(3):64-66.
[6]刘汉忠,官元红.模糊PID自适应算法在流量压力控制系统中的应用[J].化工自动化及仪表,2011,38(5):567-569.