基于单片机对氧气浓度的检测.docx
《基于单片机对氧气浓度的检测.docx》由会员分享,可在线阅读,更多相关《基于单片机对氧气浓度的检测.docx(26页珍藏版)》请在冰豆网上搜索。
基于单片机对氧气浓度的检测
基于单片机的氧气浓度检测控制系统设计
2.2.4氧探头的选择及介绍10
2.11网络传输单元31
第一章系统方案论证
1.1检测方案确定
在目前检测氧浓度的方法中,有很多的方法都可以检测到氧气浓度,比如电化学、顺磁氧、氧化锆方法及超声波流量浓度检测法。
1.1.1方案介绍
方案一:
氧化锆测氧法原理:
稳定氧化锆在高温下呈现的离子导电现象。
在氧化锆电解质(ZrO2管)的两侧面分别烧结上多孔铂(Pt)电极。
检测方式是通过导引管,将被测气体导入氧化锆检测室,再通过加热元件把氧化锆加热到工作温度(650℃以上)。
氧化锆一般采用管状,电极采用多孔铂电极。
方案二:
流量浓度原理:
在充满流体的管道内,超声脉冲经流体传播,在顺流方向和逆流方向有不同的传播时间,气体流速不同逆流和顺流的时间差就不同,通过时间差就能检测到气体的流速。
浓度的检测也是用同样的超声波脉冲,在二元气体的组分下,两种组分的浓度比不同,超声脉冲在气体中的传播速度也不同。
超声测量仪表的流量测量准确度几乎不受被测流体温度、压力、粘度、密度等参数的影响,可制作成非接触及便携式测量仪表,故可解决其它类型仪表所难以测量的强腐蚀性、非导电性、放射性及易燃易爆介质的流量测量问题。
另外,鉴于非接触测量特点,再配以合理的电子线路,一台仪表可适应多种管径测量和多种流量范围测量。
超声波流量计的适应能力也是其它仪表不可比拟的。
超声波流量计具有上述一些优点因此它越来越受到重视并且向产品系列化、通用化发展,现已制成不同声道的标准型、高温型、防爆型、湿式型仪表以适应不同介质,不同场合和不同管道条件的流量测量。
方案三:
电化学原理:
电化学传感器通过与被测气体发生反应并产生与气体浓度成正比的电信号来工作。
典型的电化学传感器由传感电极(或工作电极)和反电极组成,并由一个薄电解层隔开。
气体首先通过微小的毛管型开孔与传感器发生反应,最终到达电极表面。
通过电极间连接的电阻器,与被测气浓度成正比的电流会在正极与负极间流动。
测量该电流即可确定气体浓度。
1.1.2方案比较
氧化锆测氧法:
其优点是不受检测气体温度的影响,通过采用不同的导流管可以检测各种温度气体中的氧含量,这种灵活性被运用在许多工业在线检测上。
其缺点是反应时间慢;结构复杂,容易影响检测精度;加热器一般用电炉丝加热,寿命不长。
超声波流量浓度:
目前所存在的缺点主要是可测流体的温度范围受超声波换能器与管道之间的耦合材料耐温程度的限制,以及高温下被测流体传声速度的原始数据不全。
目前我国只能用于测量200℃以下的流体。
另外,超声波流量计的测量线路比一般流量计复杂。
这是因为,一般工业计量中液体的流速常常是每秒几米,而声波在液体中的传播速度约为1500m/s左右,被测流体流速(流量)变化带给声速的变化量最大也是10-3数量级.若要求测量流速的准确度为1%,则对声速的测量准确度需为10-5~10-6数量级,因此必须有完善的测量线路才能实现,这也正是超声波流量计只有在集成电路技术迅速发展的前提下才能得到实际应用的原因。
1.1.3方案确定
三种传感器的检测氧气的方式各有优缺点,但在实际制氧机行业应用和测试中,超声波氧气流量浓度传感器具有,寿命长、无消耗、免维护。
尤其是免维护免校准,减少了最终用户对仪器性能的疑问。
其次连续检测,具有流量、浓度同时测量的特点,有助于今后仪器功能的升级。
比如今后流量、浓度数字显示。
经过长期测试,超声波氧气浓度传感器是能够满足制氧机的浓度检测需要。
氧化锆传感器被用于英维康公司,但据相关厂家介绍,定期给最终用户邮寄氧化锆电解池。
电化学传感器虽然检测精度最高,但寿命和经常需要校准的特点不适用于制氧机行业,最终客户没有能力校准。
所以不建议大规模运用。
首先否定电化学测氧浓度,方案定格在氧化锆及超声波流量测氧发。
由于超声波传感器造价昂贵,这与我们的节约理念相悖,而且氧化锆传感器不仅造价低廉,而且工艺简单,适用于大规模生产。
所以此处采用方案一。
1.2单片机的选择
AT89S51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
而且AT89S51实现了ISP下载功能,取代了89C系列的下载方式,加之价格低廉,故而此处选用AT89S51单片机来控制。
1.3显示器的选择
目前广泛使用的显示器件主要有LED(二极管显示器)、LCD(液晶显示器)、和VFD(真空荧光管)等。
LED显示器造价低廉,与单片机接口方便灵活,技术易于实现,但只能显示阿拉伯数字和少数字符,通常用于对显示要求不高的场合。
LCD和VFD显示器成本较高,可以显示包括汉字在内的多种字符,甚至是复杂的图形,并且耗电极省,可广泛用于各种终端设备,如PDA、手机、触摸屏等等。
由于此处只要求显示器显示数值,本着节约成本因此选用LED作为显示器件。
第2章硬件设计
2.1总体设计方案
2.1.1系统框图
测量系统由单片机,传感器,AD转换电路,显示电路和控制电路等组成。
图2.1总体设计方案
2.1.2系统原理与结构
(1)氧气检测调理单元对信号进行采集,转换,放大,输出一个易于检测的电压信号。
(2)处理单元完成对前面单元向其输入信号的AD转换,处理显示,串口输出与存储三方面的实现。
(3)网络传输单元将串口输出转为网口输出并通过有线传输到网络。
(4)现场显示单元从处理单元得到数据后进行显示。
(5)远端处理显示单元将从网络传输单元接收到的网络数据进行实时显示。
(6)报警单元完成超限浓度报警任务,由软件控制其报警值。
(7)电源单元完成对整个系统的供电,需要同时向氧气检测调理单元,处理单元,现场单元显示和报警单元供电。
2.2测氧原理
2.2.1氧化锆测氧原理
氧气浓度的高低与氧分压、温度、气体常数等多种因素有关。
氧化锆定氧探头首先把氧分压转换为电压Eo,温度传感器把室内温度T转换为温度电压,送入单片机,在单片机内进行计算即可得到氧气浓度的大小,即:
(3-1)
式中:
Px为氧分压,反映氧气浓度的大小;R为气体常数;F为Farady常数;Pa为参考气体中的氧分压,可以事先用标准仪器测定。
Px值与设定值进行比较,可以确定是否启动或停止换气扇。
氧化锫测氧是利用氧化锆浓差电池原理来测定气体中氧含量的电化学分析方法。
如图2示,测氧系统的氧敏感元件——氧化锆元件是由氧化钇或氧化钙稳定的氧化锆材料组成。
在高温条件下,它是良好的氧离子导体。
在理想状态下,当氧化锆元件内、外电极表面氧含量不同时.便形成一个氧浓差电池,产生电池电动势。
图2.2氧化锆浓差电池原理
2.2.2系统结构及特点
由测氧原理可知.氧量测量系统重点要考虑的问题有:
(1)氧化锆元件两电极间存在浓度差时才会产生差电势,所以测量系统中传感器结构需要考虑把被测气体与空气完全隔绝才能进行准确测量。
(2)氧化锆元件具有在高温条件下才会电解的特性.所以单片机系统除了分析及运算的部分外还要有温度检测及加热控制单元。
2.2.3氧值运算及输出
氧量及温度毫伏信号经过放大后与室温信号一同进入通道选择器,由A/D转换模块循环选择进行转换,中央处理单元MCU读取转换结果并计算相应温度及氧量值。
MCU计算结果一路经光电耦合隔离后进入D/A转换变为模拟信号。
再经过V/I转换变为4mA~20mA和0~10mA电流信号输出:
另一路MCU输出串行输入到显示驱动专用集成模块后控制4位LED显示测量结果。
2.2.4氧探头的选择及介绍
由于需要将氧化锆直接插入检测气氛中,对氧探头的长度有较高要求,一般直插式氧探头的有效长度在500-1000mm左右,特殊的环境长度可达1500mm。
因此直插式氧探头很难采用传统氧化锆氧探头的整体氧化锆管状结构,而多采取技术要求较高的氧化锆和氧化铝管连接的结构。
因此密封性能是这种氧化锆氧探头的最关键技术之一。
目前国际上最先进的连接方式,是将氧化锆与氧化铝管永久的焊接在一起,其密封性能极佳。
与采样式检测方式比,直插式检测有显而易见的优点:
氧化锆直接接触气氛,检测精度高,反应速度快,维护量较小。
氧传感器使用时,引入被测气体的方式有直插式和扩散式两种。
直插式响应时间短,不需要加热器,结构简单,小型轻便,但要求同时检测被测气体的温度。
扩散式由于氧探头的温度由加热器控制,因此测量精度高,工作可靠,但响应时间取决于气体的流量。
直插式氧探头的工作环境恶劣,且对检测精度、工作稳定性和工作寿命都要求较高,采用新的技术,克服了传统氧化锆氧探头的不足。
2.3A/D转换电路
2.3.1.ADC0809的说明
ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。
它是逐次逼近式A/D转换器,可以和单片机直接接口。
ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。
多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。
三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。
图2.3ADC0809引脚图
IN0-IN7:
8条模拟量输入通道
ADC0809对输入模拟量要求:
信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。
地址输入和控制线:
4条
ALE为地址锁存允许输入线,高电平有效。
当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道模拟量输入转换器进行转换。
A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。
通道选择表如下表1所示。
数字量输出及控制线:
11条
ST为转换启动信号。
当ST到上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。
EOC为转换结束信号。
当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。
OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。
OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。
D7-D0为数字量输出线。
CLK为时钟输入信号线。
因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ,VREF(+),VREF(-)为参考电压输入。
表2.1通道的选择
C
B
A
通道
0
0
0
IN0
0
0
1
IN1
0
1
0
IN2
0
1
1
IN3
1
0
0
IN4
1
0
1
IN5
1
1
0
IN5
1
1
1
IN6
2.3.2.ADC0809应用说明
(1)ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连。
(2)初始化时,使ST和OE信号全为低电平。
(3)送要转换的哪一通道的地址到A,B,C端口上。
(4)在ST端给出一个至少有100ns宽的正脉冲信号。
(5)是否转换完毕,我们根据EOC信号来判断。
(6)当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。
2.4单片机的选择
2.4.1AT89S51的介绍
AT89S51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89S51具有如下特点:
40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。
空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。
同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。
2.4.2AT89S51主要特性
(1)8031CPU与MCS-51兼容。
(2)4K字节可编程FLASH存储器(寿命:
1000写/擦循环)。
(3)全静态工作:
0Hz-33MHz。
(4)三级程序存储器保密锁定。
(5)128*8位内部RAM。
(6)32条可编程I/O线。
(7)两个16位定时器/计数器。
(8)6个中断源。
(9)可编程串行通道。
(10)低功耗的闲置和掉电模式。
(11)片内振荡器和时钟电路。
2.4.3AT89S51管脚说明
图2.4AT89S51管脚图
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
I/O口作为输入口时有两种工作方式,即所谓的读端口与读引脚。
读端口时实际上并不从外部读入数据,而是把端口锁存器的内容读入到内部总线,经过某种运算或变换后再写回到端口锁存器。
只有读端口时才真正地把外部的数据读入到内部总线。
上面图中的两个三角形表示的就是输入缓冲器CPU将根据不同的指令分别发出读端口或读引脚信号以完成不同的操作。
这是由硬件自动完成的,不需要我们操心,1然后再实行读引脚操作,否则就可能读入出错,为什么看上面的图,如果不对端口置1端口锁存器原来的状态有可能为0Q端为0Q^为1加到场效应管栅极的信号为1,该场效应管就导通对地呈现低阻抗,此时即使引脚上输入的信号为1,也会因端口的低阻抗而使信号变低使得外加的1信号读入后不一定是1。
若先执行置1操作,则可以使场效应管截止引脚信号直接加到三态缓冲器中实现正确的读入,由于在输入操作时还必须附加一个准备动作,所以这类I/O口被称为准双向口。
89C51的P0/P1/P2/P3口作为输入时都是准双向口。
接下来让我们再看另一个问题,从图中可以看出这四个端口还有一个差别,除了P1口外P0P2P3口都还有其他的功能。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
2.4.4晶振电路
晶振电路在各种指令的微操作在时间上有严格的次序,这种微操作的时间次序称作时序,单片机的时钟信号用来为单片机芯片内部各种微操作提供时间基准,89c51的时钟产生方式有两种,一种是内部时钟方式,一种是外部时钟方式。
内部时钟方式即在单片机的外部接一个晶振电路与单片机里面的振荡器组合作用产生时钟脉冲信号,外部时钟方式是把外部已有的时钟信号引入到单片机内,此方式常用于多片89C51单片机同时工作,以便于各单片机的同步,一般要求外部信号高电平的持续时间大于20ns.且为频率低于12MHz的方波。
对于CHMOS工艺的单片机,外部时钟要由XTAL1端引入,而XTAL2端应悬空。
本系统中为了尽量降低功耗的原则,采用了内部时钟方式。
电路图见图3.5。
图3.5晶振电路图
在AT89S51单片机的内部有一个震荡电路,只要在单片机的XTAL1和XTAL2引脚外接石英晶体(简称晶振)就构成了自激振荡器并在单片机内部产生时钟脉冲信号,图中电容器C1和C2稳定频率和快速起振,晶振CRY选择的是12MHz。
2.4.5复位电路
①复位的意义
复位电路在单片机工作中仍然是不可缺少的主要部件中,单片机工作时必须处于一种确定的状态。
端口线电平和输入输出状态不确定可能使外围设备误动作,导致严重事故的发生;内部一些控制寄存器(专用寄存器)内容不确定可能导致定时器溢出、程序尚未开始就要中断及串口乱传向外设发送数据。
②复位电路原理
图3.6上电复位电路图
本设计中复位电路采用的是上电复位与手动复位电路,开关未按下是上电复位电路,上电复位电路在上电的瞬间,由于电容上的电压不能突变,电容处于充电(导通)状态,故RST脚的电压与VCC相同。
随着电容的充电,RST脚上的电压才慢慢下降。
选择合理的充电常数,就能保证在开关按下时是RST端有两个机器周期以上的高电平从而使AT89C52内部复位。
开关按下时是按键手动复位电路,RST端通过电阻与VCC电源接通,通过电阻的分压就可以实现单片机的复位。
电路图见图3.7。
图3.7复位电路图
2.5报警电路的选择
2.5.1蜂鸣器介绍
蜂鸣器是一种一体化结构的电子讯响器,蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。
电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。
接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场,振动膜片在电磁线圈和磁铁的相互作用下,周期性的振动发声。
压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。
多谐振荡器由晶体管或集成电路构成,当接通电源后(1.5~15V直流工作电压),多谐振荡器起振,输出1.5~2.5kHZ的音频信号,阻抗匹配器推动蜂鸣片发声。
见下图
图3.8蜂鸣器电路图
蜂鸣器用来作为报警指示,选用直流型FM12—5V型号。
蜂鸣器工作电压为+5V,工作电流在20mA以上。
单片机的驱动电流不够,不能直接驱动,必须外接功率驱动。
因此,选用PNP型三极管9012作为蜂鸣器的功率驱动,与基极相连的电阻取2kΩ,保证三极管工作在饱和状态。
2.5.2报警电路
图3.9报警电路
在单片机应用系统中,一般的工作状态可以通过指示灯或数码显示来指示,供操作人员参考,了解系统的工作状况。
但对于紧急状态,比如系统检测到的错误状态等,往往还需要有某种更能引人注意,及时采取措施,往往还需要有某种更能引人注意,提起警觉的报警信号。
这种报警信号通常有三种类型:
一是闪光报警,因为闪动的指示灯更能提醒人们注意;二是鸣音报警,发出特定的音响,作用于人的听觉器官,易于引起和加强警觉;三是语音报警,不仅能起到报警作用,还能直接给出警报种类的信息。
其中,前两种报警装置因硬件结构简单,软件编程方便,常常在单片机应用系统中使用;而语音报警虽然警报信息较直接,但硬件成本高,结构较复杂。
单频音报警的接口电路比较简单,其发音元件通常可采用压电蜂鸣器,当在蜂鸣器两引脚上加3~15V直流工作电压,就能产生3kHZ左右的蜂鸣振荡音响。
压电式蜂鸣器,约需10mA的驱动电流,可在某端口接上一只三极管和电阻组成的驱动电路来驱动,如图3-14所示。
在图3-14中,P1.0接三极管基极输入端,当P1.0输出高电平“1”时,三极管导通,蜂鸣器的通电而发音,当P1.0输出低电平“0”时,三极管截止,蜂鸣器停止发音。
2.6静态显示电路
2.6.174LS138译码器
用与非门组成的3线-8线译码器74LS138
图2.1074LS138管脚图
功能介绍:
38译码器,是TTL系列的,也就是74系列。
有三个输入端A0,A1,A2,其中A2是高位,输出是八个低电平输出Y0~Y7,工作电压一般的5V就可以了,举个例子,你A0,A1,A2依次输入000,输出就是Y0,输入依次是001,输出就是Y1。
表2.23线-8线译码器74LS138的功能表
输入
输出
S1
S2'+S3'
A2
A1
A0
Ῡ0
Ῡ1
Ῡ2
Ῡ3
Ῡ4
Ῡ5
Ῡ6
Ῡ7
0
X
X
X
X
1
1
1
1
1
1
1
1
X
1
X
X
X
1
1
1