基于STC89C51芯片和压力传感器实现高精度压力测控系统的设计

压力是工业生产中经常用到的重要参数,压力检测和控制的准确性直接影响着生产安全性和产品质量。因此,在很多工业现场,对压力测量及控制精度都有很高的要求。很多情况下,除需要随时了解生产过程中介质压力的变化外, 还需要将压力自动保持在一定的范围内。显然,较高的压力测控精度是温差控制精度的有力保证。本实验系统针对这一要求,以单片机为控制器核心,对压力传感器信号进行检测并从硬件和软件两方面进行误差校正及补偿,对压力控制采用相关的控制算法并在实验室中通过反复调试控制参数,使控制器的测量精度达到了±0.001mpa,控制精度达到了±0.01mpa。测量精度及压力控制精度都达到了较高要求,为解决压力控制提供了良好的基础。
1 硬件设计
压力控制系统对测量部分有较高的要求,系统采用i2c总线型16位串行a/d转换芯片max1119,hkm-375型硅压阻式压力传感器,以stc89c51芯片为核心控制器件,系统硬件框图如图1所示。
为提高对压力的测量精度,首先必须确保测控系统具有很好的抗干扰能力,因此,系统采用抗干扰性能超强的单片机stc89c51作为控制芯片。该芯片具有高抗静电性即esd保护,轻松通过2kv/4kv快速脉冲干扰,宽电压、不怕电源抖动,内带看门狗电路和e2prom,支持程序串口下载,能很好地满足系统的可靠性及控制要求。
实验室中的控制对象为液压压力试验系统,硅压阻将压力信号变为电阻信号,再通过适当的电路转化为电压信号,并经放大滤波后送入a/d转换器;然后输出bcd码进入cpu,通过软件对所测电压进行数字非线性校正,同时将所测压力在led上进行实时显示。通过系统程序,对pid运算以及输出进行控制,最终由cpu给出控制压力回路的有效电压,通过移相调压达到调压目的。
1.1 检测部分
大多数压力检测电路都采用恒流源或恒压源,也有采用比例法的。其实质是无论采用恒流源或恒压源对压力传感器供电,都是希望在最后消除电压或电流的影响。经综合比较,恒流源受环境影响小、抗噪声能力强,所以采用恒流源。为保证压敏元件不受流过本身电流所产生的热效应影响,恒流源的电流信号应不大于1ma,这里选用1ma。前端信号的检测及处理电路如图2所示。选用hkm-375型硅压阻式压力传感器来采集压力变化的信号,采用三线制接线。
从图2可以得出检测电路的输出电压为:
up=kiδrp (1)
式中:k为放大器的增益,i为恒流源的电流,δrp为压力传感器的电阻随压力变化产生的改变值。
为保证精度,电阻r0、r1、r2、r3、r4和r5均用精密电阻,一旦阻值确定,k即为一个固定值,几乎不受环境影响。但是恒流源并非真正意义上的“恒流”,lm332的温度系数为0.33%/℃。当系统工作于不同环境、不同季节时,恒流源的电流有一定的波动[5]。
由于放大器每级输出存在误差,给测量精度带来了较大影响,故系统通过软件对实测压力与采样值的关系数据作曲线拟合,从而对放大器进行误差校正与补偿。
1.2 控制部分
控制部分采用移相调压的方法来实现调压,硬件电路如图3所示。
由于对电容c的充放电,使得在a点的电压波形为与正弦波同步的锯齿波,为了得到质量更好的波形,在前端还加了有源运放,通过示波器观察,波形下降段的角度非常接近90°。调整r、c的参数,可以改变锯齿波的幅值。b点为控制电压,它是pid运算后得到的数字控制量再通过模数转换输出所得到的直流电压。a、b两点的电压信号作为比较器输入,当b点电压高于a点电压时,比较器发生翻转输出低电平,即在可控硅的开通时刻得到脉冲电压。显然,b点的信号幅值决定移相角的大小,调节该信号即可控制可控硅输出电压的大小,达到调节液压阀开度的目的。
1.3 人机接口
系统采用独立式键盘与240×180点阵液晶模块作为信息输入输出设备。键盘通过优先编码器74ls148与单片机相连,定义了菜单、菜单项上翻/数据增、菜单项下翻/数据减、确认等4个功能按键。液晶模块显示控制参数信息或在温控过程中显示实时压力数据。两者构成了友善的人机交互界面。
2 系统软件设计
主程序主要处理系统初始化、扫描键盘、采样压力值,并对采样数值进行数字滤波、显示压力及控制输出等工作。主程序流程图如图4所示。定时器t0用于定时控制采样的时间。系统设定采样周期为3s,而控制周期为1s。通过键盘设定初始比例系数、积分系数及设定压力,输入后做相应的数据备份,即将参数存入单片机内e2prom中。
除了硬件滤波外,设计中还采用了数字滤波方案,以减少干扰信号对有用信号的影响,提高信号的真实性。控制算法采用积分分离的数字pid算法,以防止超调量过大,对于电阻炉这样纯滞后的环节有一定的补偿作用。
2.1 控制算法
数字pid算法用增量式表示为:
由于压力响应具有迟滞性,属于一阶延时系统,若采用常规pid算法,控制效果不好,并且会出现较大的超调量。为了解决这一问题,设计中采用了积分分离pid算法。从实验结果看,其性能指标均有所提高。当被控量与设定值偏差较大时,取消积分作用;当被控量与设定值偏差很小时,加入积分作用。也就是说系统启动、停止或大幅度改变设定值时,只用比例控制和微分控制,然后才加入积分控制,这样更有利于改善动态特性和消除静差。具体做法是:针对被控对象参量,设定一个偏差的门限e0,当过程控制中偏差 e(k)的绝对值大于e0时,系统不引入积分控制,只用pd控制;当偏差 e(k)的绝对值小于e(k)时,才引入积分控制,即采用pid控制。对计算公式的积分项,乘一个权系数β。当 e(k)的绝对值小于等于e0时,β值取1;当 e(k)的绝对值大于e0时,β值取0。
因此,式(2)可改写为:
2.2 参数整定
设计采用扩充临界比例度法整定。通过实验测量,被控对象的纯滞后时间为30s左右,因此选择采样周期为3s。通过在实验中进行一系列实测数据的比较,选择控制度为1.2,采用pi控制。整定的各参数值如下:kp=3.14,tk=180s,ti=0.91,tk=163.8s,ki=kpt/ti=0.058。经过对参数微调,最后得出最佳pid参数,即kp=3.14,ki=0.058。
3 实验结果
通过实验室环境下的多次实测,得出控制器控制精度在±0.5℃之内。表1为实验过程中的一次数据记录。从结果看,当设定压力为25mpa时,最后稳定压力为25.03mpa,控制效果比较理想。
系统采用抗干扰性能超强、功耗低的单片机,配合高精度的小信号检测控制电路,使系统的硬件电路结构得到简化。软件采用必要的误差校正及控制算法,使测量及控制性能得到了提高。该系统可应用到大部分压力高精度控制场合中,具有较高的应用价值。


关于FinFET与集成电路的对比分析介绍
3D面具可破解支付宝微信人脸识别系统?回应来了
智慧制造云将对世界发展产生什么样的影响?
iPhone8或新推两大功能,其中一个学的是安卓
生产pcb的污水该怎样处理
基于STC89C51芯片和压力传感器实现高精度压力测控系统的设计
雷达波段的划分
PIC18F2455/2550/4455/4550之通用串行总线USB
热烈祝贺:昊量光电喜获瑞士Pi lmaging Technology公司中国独代
摩擦纳米发电机(TENG)的演进
阿里平头哥开源MCU设计平台 芯片设计该如何寻求客制化与标准化的平衡
天文学家利用人工智能收集的数据发现两个隐藏的刨床
小米6或在延期,大屏版5.7寸屏,蔡司双摄,或取消Home键
Android内存管理机制与分析工具
逐点比较法
华为智能手机应选择什么样的快充便携充电宝?
昇腾910和含光800性能对比
交换机与路由器二三层转发原理
直布罗陀金融服务委员会计划为区块链企业创建一个新的许可证制度
膏状导热硅脂可提升电子元器件的散热效果