智能压力变送器设计.docx
- 文档编号:13872844
- 上传时间:2023-06-18
- 格式:DOCX
- 页数:18
- 大小:57.55KB
智能压力变送器设计.docx
《智能压力变送器设计.docx》由会员分享,可在线阅读,更多相关《智能压力变送器设计.docx(18页珍藏版)》请在冰点文库上搜索。
智能压力变送器设计
摘要
传感器在工业生产中起着重要的作用,随着工业的发展,人们对于传感器的精度和用户体验等方面有着越来越高的要求,相应的仪器仪表在工业生产中也有着越来越重要的地位。
压力,作为工业生产过程中重要参数之一,实现对其精确的检测和控制是保证生产过程运行和设备安全必不可少的条件。
这个课程设计是以AT89C51单片机为核心的智能压力变送器。
通过压力传感器对工业现场的压力信号进行采集,通过全桥测量电路,三运算放大电路,进过AD0809转换器转换成数字信号送往单片机AT89C51进行处理,再经过DA0832装换成模拟信号,输出4~20mA的标准电压信号,由LED液晶显示屏显示所测得压力值。
人机交互采用独立式键盘,键盘设置“+”,“-”和“、”三个按键分别用来设置上限值、下限值和锁存上限值和下限值,并设置报警电路,当输出超过上限值或下限值后自动报警提醒工作人员。
关键词压力变送器智能化
摘要I
1绪论1
1.1压力变送器背景和应用简介1
2系统总体设计2
2.2总体设计方案2
3智能压力变送器的硬件设计4
3.1压力传感器4
3.1.1压力传感器的选择4
3.1.2压阻式压力传感器的结构组成4
3.2电阻信号的测量桥路5
3.2.1测量电路的工作原理5
3.3信号放大电路6
3.3.1放大器的选择6
3.3.2三运放差分放大电路7
3.4A/D转换模块8
3.4.1ADC0809与单片机连接8
3.5单片机9
3.5.1AT89C51单片机简介9
3.5.2单片机复位电路与自激振荡电路9
3.6键盘接口输入10
3.6.1键盘分类简介及选择10
3.6.2键盘抖动及消除11
3.7LED显示接口电路12
3.7.1LED数码管静态显示接口电路12
3.8D/A转换模拟输出及信号放大13
3.8.1DAC0832简介13
3.8.2D/A转换输出与放大电路13
3.9报警电路14
4智能压力变送器软件设计16
4.1A/D转换器软件设计16
4.2单片机与键盘接口程序设计16
4.3LED数码管静态显示程序设计18
4.5智能压力变送器程序设计20
总结和体会21
附录23
1绪论
1.1压力变送器背景和应用简介
压力传感器作为工业活动中最为常见的传感器之一,其广泛运用于交通运输、石油化工、军事工业等各种工业自动控制的领域中。
压力变送器的工作原理是将压力信号转变成某种可测量的电信号,如日常生活中常见的应变式压力传感器,其工作原理是通过施加压力使弹性元件变形从而产生电阻的变化,通过测量电阻的变化量,利用一定的标度变换,从而得出压力的大小。
在日常生活和工业生产中,人们可利用监测压力的变化和实现对压力的控制进行多种生产活动。
例如,在地理环境中海拔高度可以通过测量大气压力的变化来获得;在化工厂中,利用压力参数来判断化学反应的过程;在气象预测中,测量大气压力可以判断阴雨天气状况。
因此,压力变送器的设计拥有广阔的市场前景。
自上世纪80年代,基于微处理器的智能压力传感器能比较精确和快速的测量,特别是对动态压力的测量,实现多点信号转换、长距变送、与计算机实时信息交换处理等,因而在农业、工业、国防、科技等领域获得了迅速发展和广泛运用。
世界上多个国家一直把传感器技术的发展视为现代科技提升的关键。
因为只有好的传感器技术,才能实现对工业过程更完美和智能的控制,从而得以大幅度提升科技水平乃至综合国力。
美国、日本、欧洲等国的传感器技术一直在引领着世界潮流,我国对智能传感器的研究最近几十年来虽然取得了很大成就,但由于起步较晚,缺乏对该方面的高精尖人才,因此与世界顶尖水平还有不小的差距,因此,要想实现我国科学技术的长足发展,传感器技术必须要有质的突破。
2系统总体设计
2.1系统设计要求
该系统要求能够满足以下几点设计要求:
(1)可测范围:
0~1MPa—2.5MPa(表压),且量程可选;
(2)显示:
3位数码显示(2.50MPa),4~20mADC输出;
(3)附加要求:
上、下限报警;
(4)测量精度:
±1%。
2.2总体设计方案
为了实现更高精度的测量,获得更加智能的人机交互,本次设计为基于单片机的智能压力测量系统。
该智能压力变送器基本原理是通过压力传感器把压力信号转换成电压信号,该电压信号经放大后,送至模/数转换电路,将其转换为数字信号以便单片机处理,最后由LED数码管进行显示,并以工业生产中标准的4-20mA的电流信号输出。
在测量的过程中可以人为地通过独立键盘进行设置测量的上下限,当输入的压力超出上下限时,蜂鸣器启动报警。
该智能压力变送器,选用的的单片机为常见的AT89C51单片机,将压力经过压力传感器变为电信号,在三运放差分放大电路下,对电压信号进行放大,通过A/D转换器将电压信号转换为单片机可以处理的数字量。
在该系统中,用于电压信号采样的A/D转换器为ADC0809。
ADC0809是8位分辨率的CMOS型逐次逼近式A/D转换器,它可实现8路多路模拟开关以及与单片机直接相连。
转换输出的数字量最高分辨可达256级,可以适应一般单片机应用系统的模拟量转换要求,同时也满足本设计的精度测量需要:
±1%。
为了提高单片机系统I/O口线的利用效率,设计采用了74LS164进行数据移位至数码管显示。
74LS164是CMOS型8位边沿触发式移位寄存器,可以实现串行输入数据,然后并行输出的功能,它通过限流电阻直接与8位数码显示管相连,然后通过数据移位功能将压力值在数码管上显示出。
为了获得4~20mA标准输出电流,设计采用了DAC0832标准8位D/A转换器进行数模转换输出电流信号,由于经过D/A转换的电流输出量十分微弱,因此可先将电流信号通过运算放大器转换为电压信号,再利用ISOEM直流(电压/电流)信号隔离器,把电压信号转化为4-20mA标准电流输出
本次设计是以单片机为核心的压力测量变送器,首先,外部施加给应变片一个压力信号,然后应变片将信号转换成易测量的电信号作为输出,通过测量桥路,多级放大电路将该电信号进行放大,将通过A/D模数转换的数字信号输入至单片机进行数据处理,最后数据送给LED数码管显示,并实现键盘输入控制、4~20mADC输出、上下限报警等功能。
其原理图如图2-1所示。
图2-1原理组成图
3智能压力变送器的硬件设计
3.1压力传感器
3.1.1压力传感器的选择
压阻式压力传感器是电阻式压力传感器的一种,它的特点是易于微小型化;灵敏度高,它的灵敏系数比金属应变的灵敏系数高50~100倍;它具有很宽的测量范围,通常可达到10Pa-60MPa,并且,测量精度可达到1/1000,具有高度的可靠性,使用寿命很长。
因此,压阻式压力传感器已被广泛的应用于石油、化工、核电、交通运输、航空制造等重点领域。
3.1.2压阻式压力传感器的结构组成
压阻式压力传感器主要是由压阻芯片和保护外壳组成,其内部主要是由一块N型的硅膜片组成。
在该N型膜片上对称的集成上了四个完全一样的P型电阻,称之为扩散电阻。
如图3-1所示的为压阻式压力传感器的结构组成图。
图3-1压阻式压力传感器结构
3.2电阻信号的测量桥路
对于压阻式压力传感器,产生的电阻信号需要进一步转化为电压或者电路信号,以便进行测量信号的远传和处理。
最常用的的方法是采用电桥的方法,电桥的准确度高、稳定信高、使用方便,可以准确的将扩散电阻变化量转换成电压信号的变化量,减少了环境因素带来的测量误差。
由于交流电桥在信号传输过程中易受电路本身的影响,调节平衡困难,稳定性较差等缺点,本设计采用直流电桥作为电压信号的测量电路
3.2.1测量电路的工作原理
桥路电源电压
4个桥臂阻值分别为
、
、
、
,当
=
=
=
时,称之为等臂电桥。
由于扩散电阻的电桥电路输出信号比较微弱,故目前大部分电阻式压力变送器桥路输出端都会与直流放大器相连接。
测量桥路如图3-2所示。
图3-2压力变送器测量电路
由于差动电桥的补偿作用,使引起非线性误差的因素互相抵消并且具有温度补偿功能,而且半桥的输出信号灵敏度是单臂电桥的2倍,同时全桥电路的灵敏度是半桥的2倍,全桥电路灵敏度很高,因此该设计采用全桥电路。
电路如图3-3所示。
图3-3全桥电路
3.3信号放大电路
3.3.1放大器的选择
由于被测压力经过应变片和全桥电路转变后得到的电信号十分微弱,所以在对其进行A/D转换之前要对这些模拟电信号进行放大。
本设计采用OP07双极性运算放大器组成的三运放差分放大电路,OP07在很多应用场合不需要额外的调零措施。
OP07同时具有输入偏置电流低(OP07A为±2nA)和开环增益高(对于OP07A为300V/mV)的特点,这种低失调、高开环增益的特性使得OP07特别适用于高增益的测量设备和放大传感器的微弱信号等方面。
能够保证在具有较大共模电压的条件下,获得对微弱的差分电压信号进行放大的显著效果,并且具有很高的输入阻抗。
因此,这些特性使得三运放差分放大电路得到广泛应用
3.3.2三运放差分放大电路
该设计采用了由OP07运算放大器组成的同向并联三运放结构,由OP07-1和OP07-2组成第一级运放电路提高输入阻抗,OP07-3组成第二级运放电路提高共模抑制比。
这种结构可以很好地满足高输入阻抗、高共模抑制比、高增益、低漂移等电路要求。
结构组成如图3-4所示。
图3-4三运放差分放大电路
3.4A/D转换模块
3.4.1ADC0809与单片机连接
经过差分放大电路后放大的电压模拟量信号从IN口输入,由于A、B、C三位地址选通端子接地,根据通道选择表,信号从IN0输入,经过A/D转换之后由数据输出端口D0-D7输入至51单片机的P0口,时钟脉冲输入端CLK与P2.0相连,同时,由于转换器的START和ALE端口工作时序一样,因此把两个端口连接在一起,再与P2.1连接,由一个单片机I/O口控制,节省了I/O资源。
OE端口和EOC端口分别由单片机P2.2和P2.3控制。
连接图如图3-5所示。
图3-5ADC0809与AT89C51单片机连接图
3.5单片机
3.5.1AT89C51单片机简介
图3-6AT89C51单片机引脚符号图
AT89C51的引脚图如图3-6所示。
该设计选用的数据处理核心器件是AT89C51型高性能8位单片机,它内部集成了4K字节的闪存,128字节的内部RAM,以及32个双向I/O端口,一个全双工串行通信口,一个两级中断结构,两个16位定时/计数器,片内振荡器及时钟电路等。
片内置通用8位中央处理器和Flash存储单元,可灵活应用于各种控制领域。
3.5.2单片机复位电路与自激振荡电路
在该设计中采取了电平开关与上电复位电路。
在上电启动系统时,由上电复位电路提供一个正脉冲触发系统并启动系统运行。
当需要人工干预时则按下电平式按键,由VCC直接向RST提供一个+5V电平触发复位电路,产生复位信号,强制系统复位到初始状态。
单片机的复位电路与自激振荡电路如图3-7所示;
图3-7单片机复位电路与自激振荡电路
3.6键盘接口输入
3.6.1键盘分类简介及选择
在本设计中,由于系统较为简单,所需按键较少,因此采用独立式键盘接口电路。
当键盘按下时,连接该按键的单片机会立即检测到一个低电平。
其中,S1按键用于设置上限值,实现计数加一的功能;S2按键设置下限值,实现计数减一的功能;S3为确认键,将设置好的上下限进行锁存,以便于被测压力相比较。
图3-8独立式键盘接口
3.6.2键盘抖动及消除
当前日常生活中常用的键盘都是利用机械触点的开、合作用来实现的,当键盘按下时,会产生一个高低电平的变化会输入到微处理器。
但是由于机械触点本身的弹性作用,在按键按下或释放时,在接触点会产生抖动,这些抖动同样会产生高低电平的变化输入至微处理器,这时,CPU就会产生误读,将这些电平变化进行处理,从而对输入结果产生很大的影响,因此必须设法对这些键盘抖动进行消除。
图3-9所示的为按键信号产生的实际波形实现对键盘抖动效应的消除软件消抖的原理是,当按键按下或释放时,CPU并不立即判断按键电平的变化,而是首先执行10ms左右的延时程序,跳过按键抖动的过程,待按键稳定后,再重新判断该按键的电平信号是否发生变化,从而消除了抖动影响。
当按键松开时,也是一样,利用延时程序进行消抖。
本设计在在节省硬件资源的条件下,采取了软件键盘防抖。
图3-9键闭合与断开时电压抖动波形
3.7LED显示接口电路
3.7.1LED数码管静态显示接口电路
在本设计中,采用共阴极接法,输入高电平,二极管被点亮。
要求三位数码显示,显示位数较少,硬件电路设计较为简单,编程也较为容易,故决定采用静态显示。
静态显示接口电路如图3-10所示。
图3-10静态显示电路
3.8D/A转换模拟输出及信号放大
3.8.1DAC0832简介
DAC0832是8位分辨率的D/A转换芯片,和微处理器完全兼容,而且价格低廉,接口简单,转换控制简单等优点。
DAC0832引脚图如图3-11所示
图3-11DAC0832引脚图
3.8.2D/A转换输出与放大电路
在该电路中,51单片机的P1口与DAC0832的数字量输入端相连,用来接收单片机输出的数字量信号。
DAC0832的CS、WR1两个引脚端口同时控制数字量的输入选通数据寄存器且均为低电平有效,因此可直接将WR1与CS两个端口相连,然后再与单片机的P3.6口连接,由一个单片机IO口来控制DAC0832工作,XFER为转换寄存器控制信号端口,WR2为写信号输入端口,当XFER和WR2两信号同时低电平有效时将选通DAC转换寄存器,进行数模准换,因此可直接将两引脚接地,VCC与ILE同时接+5V电源。
因为DAC0832的输出转换电流十分微弱,仅有几微安,因此须先利用一个运算放大器把电流变换成电压Vout输出,当DAC0832的VREF引脚接+10V时,转换电压Vout输出为0-10V。
后再将电压信号送至ISOEM-U2-P3-O1直流信号隔离器将该电压信号转换成为4-20mA标准电流信号输出。
D/A转换输出与放大电路如图3-12所示。
图3-12D/A转换输出与放大电路
3.9报警电路
在工业生产中,检测系统能够实时监控整个生产过程,当某一生产环节出现紧急状态时,会启动报警装置来提醒操作人员。
同样,在单片机应用系统中,为了实时反映整个系统的工作状态,报警电路的设计必不可少。
通常报警电路的设计存在闪光报警、蜂鸣报警和语音报警。
因为蜂鸣报警设计结构简单,程序量小,比闪光报警更能引起人们注意,又比语音报警成本低,更易操作,因而在本设计中,采用了蜂鸣报警。
其电路设计如图3-13所示。
图3-13报警电路
在本设计中,该电路完成的工作是上下限报警,即通过键盘电路设置该压力变送器的上限值与下限值,当被测压力超出上下限时,将会启动报警电路以提醒操作员,其中电阻起限流作用,防止VCC过大损坏芯片。
该电路与单片机只有一个接口,结构设计极其简单,当单片机检测到压力超出上下限时,P3.7口将会输出一个低电平,从而蜂鸣器启动报警。
4智能压力变送器软件设计
4.1A/D转换器软件设计
根据电路图设计中,单片机P0口与ADC0809的数据输出端D0-D7相连接,接受其输出的数字信号;ADC0809的启动端START与地址锁存端ALE相连,然后与单片机的P2.1连接;EOC转换结束信号、OE数据输出允许信号、CLK时钟脉冲端分别与单片机的P2.3、P2.2、P2.0相连接。
将ADC0809的三个数据输入地址选择端A、B、C均接地,故其地址为000H,因此,模拟量从IN0输入。
如图4-1所示的ADC0809运行程序流程图。
图4-1ADC0809程序流程图
4.2单片机与键盘接口程序设计
在本设计中采取了独立式键盘的设计。
51单片机P0、P1、P2都可以做为准双向I/O口,故将单片机P3.7、P3.2、P3.3分别于按键S1、S2、S3相连接,并配置有上拉电阻。
当按键按下时,按键会给单片机输入低电平。
其中S1、S2分别实现上、下限的值,S3按下后,将上下限值锁存,以便进行与输入信号的比较。
按键按下或松开时,会存在抖动效应,会对测量结果产生很大的影响,因此必须要设法消除抖动。
消除抖动存在硬件消抖和软件消抖两种方法,在本设计中,采取的是软件消抖。
当按键按下时,按键抖动的时间一般小于5ms,因此先运行延时自程序10ms左右,在这一过程中,单片机先不读取按键的电平变化,10ms之后,再进行读取,判断按键是否真的按下,若是的话,再进行下面的工作,这样便消除了按键抖动效应的影响。
按键松开时,也是如此。
设计流程图如图4-2所示。
图4-2键盘接口程序设计流程图
4.3LED数码管静态显示程序设计
本设计利用单片机的串行输入、74LS164的移位寄存方式采用了数码管的静态显示方式。
静态显示的特点是当单片机发送该给数码管一次字形显示信息后,数码管会一直显示该字形信息不会发生变化,此时CPU不再控制数码管的工作,直到单片机给数码管发送新的字形信息,此时数码管显示数据得以刷新。
这种连接方式的好处是,占用单片机时间少,只需要单片机两个I/O接口负责数据和时钟脉冲的传送,利用移位寄存器进行移位显示即可。
数码管可一直持续稳定的显示,并且便于数据的检测与控制。
程序流程图如图4-3所示。
图4-3LED数码显示程序流程图
4.4D/A转换器程序设计
完成D/A转换功能的器件是DAC0832,它是美国资料公司研制的8位双缓冲器D/A转换器。
DAC0832转换电路连接简单,且编程容易。
DAC0832主要特点是内部集成了2个独立的寄存器,因此具有双缓冲器功能。
DAC0832具有单极性输出和双极性输出两种形式,可以根据实际需要可快速的修改数据的转换输出,大大提高了数模转换速度。
其程序设计流程图如图4-4所示。
图4-4D/A装换程序流程图
4.5智能压力变送器程序设计
图4-5智能压力变送器程序流程图
总结和体会
过一段时间的查阅资料以及对曾经学习知识回顾以后才对整个系统有了一定的认识,也慢慢的掌握了一定的方法。
在该设计中,主要糅合了测量仪表、数字电子技术、单片机等知识,都曾经系统的学习过,系统的总体设计就是将这几门学科知识综合起来,就要求我将知识系统化。
自己动手期间也是其乐无穷的,能够把以前学的理论知识进行实践,不得不说在本门学科上进步了一个层次。
而且这次准备的实践非常充足,能够让我系统的温习以前所学的知识,在这次的课程设计中更好的理解了本门学科的作用,最重要的是掌握了一种学习方法,相信这次课程设计不论在以后的工作和学习中提供了一种方法和态度。
参考文献
[1]杨宁.单片机控制理论:
北京航空航天大学出版社
[2]张凯临,宋小金,刘金涛.基于微控制器的二线制智能变送器的设计[J].计算机测量与控制,2007.
[3]吴勤勤.控制仪表及装置[M].北京:
化学工业出版社,2007.
[4]郭轶.两线制智能变送器的研究[D].大连:
大连交通大学,2009.
[5]方彦军,孙健.智能仪器技术及其应用:
化学工业出版社.
[6]刘东红.利用89C52单片机的一个并行I/O口实现多个LED显示的一种方法[J].国外电子元器件,2002,8(4)
附录
#include
#include
#include
#include
#defineuintunsignedint
#defineucharunsignedchar
//*********************定义变量区*********************************
sbitS1=P3^2;//定义各个控制引脚,S表示键盘
sbitS2=P1^3;
sbitS3=P1^4;
sbitLED0=P2^4;//定义数码管控制引脚
sbitLED1=P2^5;
sbitLED2=P2^6;
sbitspeaker=P3^7;//控制蜂鸣器
sbitEOC=P2^3;//为0809控制管脚
sbitALE=P2^1;
sbitST=P2^1;
sbitOE=P2^2;
sbitCS=P3^6;//0832片选信号
ucharnumS1,numS2,up_level,down_level,AD_bcd0,AD_bcd1,AD_bcd2;//定义变量numS1,S2,上下限,计按键S1和S2自加数
ucharcodetable[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};//数码管段编码
unsignedcharchannel=0x04;//选择通道IN0
unsignedchargetdata;//定义数据获取
//*************************函数声明区****************************
voidkey();//键盘函数
voiddelay(uintz);//延时子程序
voidcontrol(uchar);//数据个,十,百,取数函数
voidupdata_LED();//LED显示子程序
voidrunADC(void);//A/D转换子程序
voidrunDAC();//D/A转换子程序
//***************************系统初始化****************************
voidmain()
{
LED0=0x01;//让第一个数码管的小数点一直亮,定点显示
key();
runADC();
control(getdata);
updata_LED();
while
(1);
}
//*****************键盘函数*****************
voidkey(void)
{
if(S1==0)//按键按下
{
delay(5);//延时5毫秒,目的消除抖动
if(S1==0);//按键按下
{
numS1++;//numS1自加1
while(!
S1);//等待按键松开
}
}
P1=table[numS1];
control(numS1);//将自加数进行个十百处理
updata_LED();//送显示
if(S2==0)//按键按下
{
delay(5);//延时5毫秒,目的消除抖动
if(S2==0);//按键按下
{
numS2++;//num自加
while(!
S2);//等待按键松开
}
}
control(numS2);
updata_LED();
if(S3==0)//按键按下
{
delay(5);//延时5毫秒,目的消除抖动
if(S3==0);//按键按下
{
up_level=numS1;//对上限进行赋值
down_level=numS2;//对下限进行赋值
while(!
S3);//等待按键松开
}
}
}
//*************************A/D转换子程序********
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 压力变送器 设计