威卡压力变送器
技术交流

基于STM8S单片机的数字压力表的设计

发布时间:2019/10/26 13:35:32 点击量:

压力是重要的热工参数之一,各种气体、液体的压力测量在生产生活、工业现场、科学实验等领域有着广泛的 应用。这里采用STM8S单片机作为主控制单元,提出一种新型数字压力表的设计方法。介绍压阻式压力传感器的测量原理 和系统的整体框架,并描述相应的软硬件设计的方法,特别是在软件方面的处理,包括压力采集和标定校准算法。实验结果 显示,压力数据显示较为穗定,能够满足基本的精度要求。设计的数字压力表简单,易用,便于携带。

在工业生产和科研活动中,压力计量往往是重要环 节,甚至成为了保证产品质量以及生产安全的决定因 素。传统的数字压力表是沿用机械压力表来显示的,在 光线弱烟雾多的环境中,不仅难以识别具体压力值,而 且灵敏度,可视度,误差范围以及机械指针表普遍存在 的滞针,跳针,机械器件自然磨损等通病。所以设计一种 简单、可视度高的便捷式数字压力表是很有实际意义的。

1.压阻式压力传感器的测量原理

压力传感器可以把压力信号转换成可测量的电信 号,特点是精度高、线性一致、重复性好' 将压力的变 化转换成电阻变化的传感器被称为压阻式压力传感器, 当需要进行高精度测量时,通常采用此种传感器,其内 部是一个惠斯通电桥,电路结构如图1所示。

压阻式压力传感器是集成电路丁艺技术在硅片上 制造出4个等值的薄膜电阻,并组成电桥电路。当不受力作用时,电桥处于平衡状态,无电压输出当受到力作 用时,电桥失去平衡,输出与应力成正比的电压。不同 类型的压力传感器输出信号大小是不一样的,一般常用 的有2~3种,净输出2 mV/V,10 mV/V等。设计中采用 的是净输出2 mV/V的硅压阻式压力传感器BYP100,信 号输出较为稳定。

2.系统整体框图

本系统的整体框图如图2所示,系统主要包括了 STM8S单片机模块和外围电路,外围电路有液晶显示模 块、按键电路以及放大器电路。系统电源供电采用5 V的稳压电压。

STM8S单片机系列是8位的低功耗的单片机,丁作 的电压范围为2.95~5.5 V,可支持干电池供电丁作,并 提供真正的E2PROM数据写人操作,可达30万次擦写极 限,有利于数据的掉电保护。该系列单片机有10位 ADC,最多有16个采集通道。

3.硬件设计

3.1放大器电路

放大器电路主要采用的是MCP6022芯片,内部结 构如图3所示。MCP6022是高性能的轨对轨输人/输出 运算放大器,带宽为10 MHz,噪声为8.7(10 kHz),低失 调电压为±500~ ±250 pV,总谐波失真为0.000 53%,电 源电压范围为2.5 - 5.5 V,满足系统的设计要求。

MCP6022的2脚和3脚接收传感器的压力输人信 号,MCP6022的1脚出来的就是放大后的传感器压力输 出信号,供给单片机AD通道采集。MCP6022的8脚和4 脚分别接电源和地,给MCP6022芯片供电。

3.2 LCD显示模块

LCD显示电路是采用的是HT1621芯片来驱动LCD 段码液晶进行显示。HT1621是128点内存映象和多功 能的LCD驱动器,HT1621的软件配置特性使它适用于 多种LCD应用场合包括LCD模块和显示子系统,用于 连接主控制器和HT1621的管脚只有4或5条,重要的是 HT1621还有一个节电命令用于降低系统功耗。

通过设置对应的占空比、偏压比、以及LCD驱动电 压等驱动LCD段码液晶显示。本系统采用占空比为 1/4,偏压比1/3,LCD驱动电压为5 V来驱动4段6位的 LCD段码液晶。

4.软件设计

4.1压力采集算法设计

为了保证采集的压力数据在压力表上能够显示稳 定,波动范围较小,满足能够外界压力变化下压力值的 连续变化,并且消除由于一些干扰引起的采样值的偏 差,需要设计对应的压力采集处理算法' 压力处理过 程如图4所示。

压力采集通过定时器控制50 ms采集1次。定义一 个包含10个数据元素的浮点型缓冲区数组buf,用 来存放采集的A/D值value,并返回10个数据元素的平 均值avervalue作为标定计算中的电压值。

当填满缓冲区的值后,下一次采集之前先将数组中 的元素用上一次的平均值填满,然后采集到的一个A/D 值利用先进先出的方法存人缓冲区数组中。其中,如果 当前采集到的A/D值,与当前显示的A/D值之间的差值 在10个范围之内,差值大于10的,将当前的A/D值加 0.2再存人数组中差值小于10的,将当前压力值减0.2 存人数组。

程序部分代码如下:

if ( ( value>avervalue-10) &&( value

{

if((value>avervalue-10)&& (value<=avervalue))

{

for(i=0 i<9 i++) buf[i]=buf[i+1] buf[9]=value+0.2

}

if ( (value=avervalue))

{

for(i=0 i<9 i++) buf[i]=buf[i+1] buf[9]=value-0.2

}

}

else

{

for(i=0i<9 i++) buf[i]=buf[i+1] buf[9]=value

}

4.2标定校准设计

为了减少误差,保证数字压力表的精度,可以采用 多点校准,也就是利用多条线段来模拟接近真实的压 力传感器的输出曲线[4]。本文采用的是三点校准的方 法,分别是在零点,半量程和满量程这三个点,设计精度 在0.5%左右。具体标定过程如图5所示。

利用按键1和按键2之间的配合来采集多个点的压 力值。通过标定过程采集各个点的电压A/D值作为标 定值。标定采用的公式为:

P = (p[i +1] - P[i])/iV[i + 1] - V盼- V[i]) + p[i]

式中:P[i]是多点校准中对应的i点的压力值V[i]是多点 校准中对应的i点的电压值;V是经过压力算法处理过 的值。

对于获得更加精确的压力值显示,可以采用继续增 加校准的点数的方法来标定。另外已经标定过的电压 值可以存储到单片机的E2PROM中,提供掉电数据的保 护,避免重复标定。

5.测试与结论

经过实验测试,在5 V稳压电源供电下,设计使用 量程在1 000 kPa下,采用3点标定校准的情况下,数字 压力表显示的数据跳动范围为1~4 kPa,数据显示较为 稳定,能够达到0.5级的精度要求。如表1所示的压力 数据。

6.结语

设计的数字压力表采用的是STM8S系列单片机作 为控制单元,满足一定的测量精度,5更件电路简单,软件 设计可靠,对于便捷式、可视化、误差小的数字压力表的 设计具有一定的参考意义。

上一篇:通用压力表校准台的研制

下一篇:精密压力表检定时液柱高度差修正问题的探讨

友情连接:香格里拉培训拓展训练承接 | 宁波室内外拆除 | 不锈钢管厂家 | 北京工商注册 | 皮带机防雨罩 | 枪柜 | 西双版纳商业项目策划方案 | 三叶罗茨鼓风机 | 腾冲培训拓展训练承接 | 美心月饼团购 | 欧洲进口家具 | 激光喷码机 | 香港美心月饼 | 国际瓷砖知名品牌 | 五芳斋 | 临沧培训公司 | 尼龙真空袋 | 生物除臭剂 | 合肥拓展培训 |
版权所有 Copyright 2009-2017 北京博朗宁科技有限公司 京ICP备13026242号-8 技术支持:青岛网站优化

在线客服

技术支持
点击这里给我发消息
产品咨询
点击这里给我发消息