《单片机课程设计论文智能水中溶氧测定仪的设计.doc》由会员分享,可在线阅读,更多相关《单片机课程设计论文智能水中溶氧测定仪的设计.doc(19页珍藏版)》请在三一办公上搜索。
1、本科生课程设计(论文)目录第1章 绪论11.1 溶氧概述11.2 溶解氧测定仪的工作原理11.3 设计目的2第2章 方案论证32.1 概述32.2 方案的选择3第3章 硬件电路设计53.1 模拟通道的设计53.1.1 传感器的选型53.1.2 仪表放大器选型53.1.3 A/D转换器的选型63.2 后向通道的设计73.2.1单片机的选型73.2.2 时钟芯片的选择73.2.3 液晶显示器83.2.4 报警电路93.2.5 键盘电路93.2.6 输出电路103.3 总体设计电路11第4章 软件设计12第5章 总结13参考文献14附录.15 第1章 绪论1.1 溶氧概述近年来,随着科学技术的不断发
2、展,越来越多的人开始意识到监测水中溶氧的必要性和重要性。尤其是大中型发电厂、水处理厂、油田及环保等单位,为确保水质,保证设备长期正常运行,必须严格地监测和控制所用水中的溶解氧含量。目 前,普遍采用专用仪器(溶氧仪)代替化学法测定溶解氧含量。溶氧仪主要由主机和传感器(电极) 构成。传感器主要有两种,即原电池式“DO”电极和极谱式复膜电极。原电池式“DO”电极由于消耗电极材料、精度低、寿命短而逐渐被淘汰。而极谱式复膜电 极以其受干扰小、使用寿命长、便于储存等优点被大量应用在DO测量上。目前,国内也生产极谱式电极溶氧仪,但存在准确度差、稳定性差、定标复杂、各种补偿功能不足的缺点。国外的溶氧仪虽然精度
3、高,但其价格昂贵,维护困难,难以满足国内的需求。溶解氧(DO)是指溶解于水中的氧的含量,它以每升水中氧气的毫克数表示。溶解在水中的氧称为溶解氧,溶解氧以分子状态存在于水中。水中溶解氧量是水质重要指标之一,也是水体净化的重要因素之一,溶解氧高有利于对水体中各类污染物的降解,从而使水体较快得以净化;反之,溶解氧低,水体中污染物降解较缓慢。水中溶解氧含量受到两种作用的影响:一种是使DO下降的耗氧作甩,包括好氧有机物降解的耗氧,生物呼吸耗氧;另一种是使DO 增加的复氧作用,主要有空气中氧的溶解,水生植物的光合作用等。这两种作用的相互消长,使水中溶解氧含量呈现出时空变化。水被有机物污染后,由于好氧菌作用
4、使其氧化,消耗掉溶解氧。如果得不到空气中氧的及时补充,那么水的溶解氧就减少,最终导致水体变质。所以把溶解氧作为水质污染程度的一项指标。溶解氧越少,表明污染程度越严重。1.2 溶解氧测定仪的工作原理测量水中溶解氧含量的仪表属于电流式分析仪器,电流式分析仪的传感器能够把被分析物质浓度的变化转换成电流信号的变化。按工作原理的不同,又可分为原电池式和极普式。常见的溶解氧测定仪多采用隔膜电极作换能器,将溶氧浓度(实际上是氧分压)转换成电信号,再经放大、调整(包括盐度、温度补偿),模数转换显示。测定溶解氧实用的膜电极有两种类型:极谱型(Polarography)和原电池型(Galvanic Cell)。
5、极谱型(Polarography):电极中,由黄金(Au)环或铂(Pt)金环作阴极;银-氯化银(或汞-氯化亚汞)作阳极。电解液为氯化钾溶液。阴极外表面覆盖一层透氧薄膜。薄膜可采用聚四氟乙烯、聚氯乙烯、聚乙烯、硅橡胶等透气材料。阴阳两电极之间外加0.51.5V的极化电压。有的极化电压为0.7伏。当溶解氧透过薄膜到达黄金阴极表面,在电极上发生如下反应: 阴极被还原:O2+2H2O+4e4OH;阳极被氧化:4Cl+4Ag-4e4AgCl 。1.3 设计目的国内生产的极谱式电极溶氧仪存在准确度差、稳定性差、定标复杂、各种补偿功能不足的缺点。国外的溶氧仪虽然精度高,但其价格昂贵,维护困难,难以满足国内的
6、需求。因此,设计了基于AT89C51微控制器的智能在线溶解氧分析仪,该系统具有低功耗、精确度高、稳定 性好、存储量大等特点。第2章 方案论证2.1 概述智能溶解氧测定仪采用超低功耗单片机测量和控制,功耗低,可靠性高,可实现智能化测量,采用极谱法测量, 采用微处理技术,操作简单。有四个按键可以实现相应参数的设置,采用液晶显示,可以实现当前DO含量、水温和系统时间的显示。2.2 方案的选择 图2.1是智能水中溶氧测定仪的基本组成方框。主要由温度传感器、溶氧传感器、放大器、A/D转换器、单片机控制、液晶显示器,电源等组成。温度传感器是把温度转换成电压(或电流)的器件,温度传感器输出电压的大小随温度的
7、高低变化而变化,电压值的变化范围从几个微伏到几个毫伏。不同的温度传感器,输出电压的范围也差别很大。放大器的主要功能是把微弱的温度电压信号放大到(02)伏或(05)伏的范围内,以便进行A/D转换。A/D转换器把放大后的模拟温度电压信号转换成对应的数字温度电压信号。单片机AT89C51是智能温度计的控制核心,一方面控制A/D转换器实现模拟信号到数字信号的转换,另一方面将采集到的数字温度电压值,经过计算处理,得到相应的温度值,送到液晶显示器以数字形式显示测量的温度。液晶显示器用于显示测量温度,水中氧含量的结果和系统时间。当DO含量低于设定标准值时,能够进行声光报警。温度传感器 单 片 机 89c51
8、液晶显示器仪表放大器A/D转换器电 源氧传感器仪表放大器报警电路键盘图2.1 智能水中溶氧测定仪的基本组成方框图本设计也可以直接选用输出为数字量的温度度传感去和氧传感器,但是由于其造价太高,所以选用以上设计方案。第3章 硬件电路设计智能在线溶氧仪的设计以低功耗8位控制器AT89C51为核心,可分为八个部分:微控制器、氧传感器、温度传感器、信号处理及A/D转换、键盘显示电路、报警电路等。3.1 模拟通道的设计本设计的模拟输入通道一般包传感器、仪表放大器和A/D转换器。根据设计要求和工艺要求本设计采用温度传感器测量水温和溶氧传感器测量水中氧含量。由于采集的模拟信号微弱,并为了充分利用A/D转换器的
9、分辨率,通常将放大器的工作窗口定位在信号的特点范围内,以“窗口放大”的形式工作,采用仪表放大仪对信号进行放大。为了便于把信号输入单片机,必须将信号转为数字信号所以采用A/D转换器将模拟信号转为数字信号。3.1.1 传感器的选型温度传感器选为AD590,AD590是美国模拟器件公司生产的单片集成两端感温电流源,精度高,输出为模拟量。AD590参数:AD590的测温范围:-55 +150 ;AD590的电源电压范围:4V30V。电源电压从4V到6V变化,电流变化1A,相当于温度变化1K。AD590可以承受44V正相电压和20 V反相电压。因而器件反接也不会损坏器件;输出电阻:710 。氧传感器采用
10、的复合式溶氧传感器,其中氧传感器基于极谱原理。3.1.2 仪表放大器选型 放大器选为BB公司的仪表放大器INA114。INA114内部集成了3个运算放大器和6个50k的精密电阻,可以方便的改变放大系数。主要功能是把模拟的温度电压信号放大到A/D转换器要求的输入电压范围。使放大器A的输出电压为0.0V。放大器的放大倍数选择为10,保证温度在0150范围内变化,而放大器的输出电压在50V的范围内。3.1.3 A/D转换器的选型根据设计要求A/D转换器选为MAX1132。MAX1132转换的电压范围可达+12V,比其他ADC转换电压范围要宽;它的精度达到16位,转换速度最高可达到200kp/s,足以
11、满足系统对精度和速度的要求,DO200个变化值,温度400个变化值。新型ADC芯片MAXl132与一般ADC芯片相比,仅需单一+5V供电,同时带有内部基准电压且外围电路简单,因而可简化电路设计。同时,基于MAXll32的串行接口也易于与单片机进行连接。图3.1为MAX1132与单片机的连接图。图中将MAX1132的CS与单片机P1.0脚相连,MAX1132的片选端由单片机经P1.0脚发出信号选通;控制字节由单片机P1.1脚输出到ADC的DIN端;转换结果则由P1.3脚从ADC的DOUT端读入单片机,读取转换数据的时钟SCLK可由P1.2脚依次发出高低电平来构成:P1.4脚接至表示MAX1132
12、工作状态的串行选通输出SSTRB,单片机则通过P1.4脚查询ADC的工作状态;而进行逐次逼近转换的时钟则由MAX1132内部时钟发生器产生。图3.1 MAX1132与单片机的连接图3.2 后向通道的设计3.2.1单片机的选型单片机选用AT89C51,AT89C51由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。3.2.2 时钟芯片的选择时钟芯片选用DALLAS公司的DS1302芯片,DS1302是一种高性能、低功耗、带RAM的实时时钟,具有
13、计算2100年之前的秒、分、时、日、星期、月、年的能力,并能计算调整闰年。在系统关机时可以保存关键数据。简单的三线串行I/O口方式,宽范围工作电压2.05.5V,当工作电压为2.0V时工作电流小于300nA;备份电源引脚Vcc1可接入电池或大容量电容器,对备份电源有可选的涓流充电能力。DS1302与单片机的连接如图3.2所示。图3.2 DS1302与单片机的连接3.2.3 液晶显示器本系统选用TCl602A液晶显示模块。TICl602A是2x16个字符型液晶显示模块。LCD控制器HD44780是整个显示系统的核心,具有自身的时钟信号,并有完整的指令系统,它是用低功耗COMS技术制造的大规模点阵
14、LCD控制器,和微处理器相连,它能使点阵LCD显示大小写英文字母,数字和符号;LCD驱动器HD44100是用低功耗COMS技术制造的大规模LCD运动驱动IC,它既可当行驱动用,也可当列驱动用;LCD显示器其上排列着若干字符显示位,每个显示位可显示一个字符。把TCl602A液晶显示模块作为终端接在单片机的并行接口上。图3.3给出了TCl602A液晶模块与单片机连接的接口电路。图中的RS端接单片机的P3.4口,RW端接P3.5口,E端接P3.3的口,D0D7端接平P1.0P1.7口。液晶显示模块在编制驱动子程序的时候,要注意时序的配合,根据TCl602A时序的规范,在写操作时,使能信号E的下降沿有
15、效,在软件设置顺序上,先设置RS和RW的状态,再设置数据,然后产生E信号的脉冲,最后复位RS和RW状态。在读操作时,使能信号E的高电平有效,所以在软件设置顺序上,先设置RS和RW状态,再设置E信号为高电平,这时从数据口读取数据,然后将E信号置低,最后复位RS和RW状态。图3.3 液晶模块与单片机连接的接口电路3.2.4 报警电路本设计需要声光报警,所以选用蜂鸣器和LED灯作为执行器件接在单片机的输出口。蜂鸣器和LED灯与单片机的连接如图3.4所示。图3.4 报警电路3.2.5 键盘电路按键选择查询方式的独立按键,通常按键都是低电平有效,上拉电阻保证了按键断开时I/O口线有确定的高电平。图3.5
16、为独立式按键电路。图3.5 独立式按键电路3.2.6 输出电路输出电路由标准电流输出电路、控制继电器和通信接口等组成。利用AT89C51的PWM(脉宽调制)输出420mA标准电流,用于控制或外接记录仪。通信电路采用RS485总线接口同上位计算机组成工控网络,RS485 采用平衡式差分传输方式,抗干扰能力强,传输距离远,通讯速率高。采用MAX485芯片实现通信,通信线路采用双绞线,图3.6为MAX485的接口电路。图3.6 MAX485的接口电路。3.3 总体设计电路氧传感器及温度传感器输出的模拟信号,经过放大处理后,进行A/D转换,并将转换后的数字信号输入微控制器进行分析处理,然后对数据进行存
17、储和上传,并显示。当DO含量低于设定值时,进行声光报警。第4章 软件设计 开始初始化,设堆栈指针,清除RAM缓冲区,初始化LCD显示器,调用MAX1132的A/D转换程序,对温度和DO进行采样,送LCD显示器,显示当前温度调用MAX1132的A/D转换子程序,将温度的电压数字值和DO存放到内部A/D输入数据缓冲区调用A/D输入数字值到数字温度转换子程序,将数字温度电压值转换为其相应的温度数字,存放到数字温度的缓冲区调用送LCD显示器显示子程序,然后调用动态扫描子程序设计的部分流程图如图4.1。图4.1 程序流程图第5章 总结本课程设计叙述了智能水中溶氧测定仪的设计,包括硬件组成和软件的设计,该
18、系统在硬件设计上主要是通过温度传感器对温度进行采集,氧传感器对氧含量进行采集,把温度和氧含量转换成变化的电压,然后由放大器将信号放大,通过A/D转换器MAX1132将模拟信号转化为对应的数字信号。其硬件设计中最核心的器件是单片机AT89C51,它一方面控制A/D转换器实现模拟信号到数字信号的转换,另一方面,将采集到的数字温度电压值经计算机处理得到相应的温度值,送到液晶显示器,以数字形式显示测量的温度和氧含量。整个系统结构紧凑,简单可靠,操作灵活,功能强大,性能价格比高,较好的满足了现代农业生产和科研的需要。参考文献1 高锋.单片机应用系统设计及实用技术.北京:机械工业出版社,20062 郭强.
19、液晶显示器的驱动和控制.北京:北京清华蓬远科贸公司,20063 李朝青.单片机原理及接口技术.北京:北京航空航天大学出版社,20074 徐惠民,安德宁.单片微型计算机原理.北京:北京邮电大学出版社,20075李朝青.PC机及单片机数据通信技术M .北京航空航天大学出版社,2006附录TC1602液晶显示程序如下:#include #include#include#include#includesbit P1_4 = P14;sbit P1_3 = P13;sbit P1_5 = P15;#define LCM_RW P1_4 #define LCM_RS P1_3#define LCM_E P
20、1_5#define LCM_Data P2 #define Busy 0x80 void WriteDataLCM(unsigned char WDLCM);void WriteCommandLCM(unsigned char WCLCM,BuysC);unsigned char ReadDataLCM(void);unsigned char ReadStatusLCM(void);void LCMInit(void);void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData);void Display
21、ListChar(unsigned char X, unsigned char Y, unsigned char code *DData);void Delay5Ms(void);void Delay400Ms(void); unsigned char code uctech=Win_belong_to;unsigned char code net=Guo_Xiaoxin;void main(void)Delay400Ms(); LCMInit();Delay5Ms(); DisplayListChar(0,0,uctech);DisplayListChar(0,1,net);ReadData
22、LCM(); while(1); void WriteDataLCM(unsigned char WDLCM)ReadStatusLCM(); LCM_Data = WDLCM;LCM_RS = 1;LCM_RW = 0;LCM_E = 0; LCM_E = 0; LCM_E = 1;/写指令void WriteCommandLCM(unsigned char WCLCM,BuysC) /BuysCif (BuysC) ReadStatusLCM(); LCM_Data = WCLCM;LCM_RS = 0;LCM_RW = 0;LCM_E = 0;LCM_E = 0;LCM_E = 1;/读
23、数据unsigned char ReadDataLCM(void)LCM_RS = 1;LCM_RW = 1;LCM_E = 0;LCM_E = 0;LCM_E = 1;return(LCM_Data);/读状态unsigned char ReadStatusLCM(void)LCM_Data = 0xFF;LCM_RS = 0;LCM_RW = 1;LCM_E = 0;LCM_E = 0;LCM_E = 1;while (LCM_Data & Busy);return(LCM_Data);void LCMInit(void) LCM_Data = 0;WriteCommandLCM(0x38
24、,0); Delay5Ms();WriteCommandLCM(0x38,0);Delay5Ms();WriteCommandLCM(0x38,0);Delay5Ms();WriteCommandLCM(0x38,1);WriteCommandLCM(0x08,1); WriteCommandLCM(0x01,1);WriteCommandLCM(0x06,1); WriteCommandLCM(0x0F,1); void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData)Y &= 0x1;X &= 0xF
25、; if (Y) X |= 0x40; X = 0x80; WriteCommandLCM(X, 1);WriteDataLCM(DData);void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData)unsigned char ListLength;ListLength = 0;Y &= 0x1;X &= 0xF; while (DDataListLength0x20) if (X = 0xF) DisplayOneChar(X, Y, DDataListLength); ListLength+; X+; void Delay5Ms(void)unsigned int TempCyc = 5552;while(TempCyc-);void Delay400Ms(void)unsigned char TempCycA = 5;unsigned int TempCycB;while(TempCycA-)TempCycB=7269;while(TempCycB-); 18