基于单片机酒精浓度测试仪.doc
- 文档编号:8857526
- 上传时间:2023-05-15
- 格式:DOC
- 页数:12
- 大小:298KB
基于单片机酒精浓度测试仪.doc
《基于单片机酒精浓度测试仪.doc》由会员分享,可在线阅读,更多相关《基于单片机酒精浓度测试仪.doc(12页珍藏版)》请在冰点文库上搜索。
基于单片机酒精浓度测试仪
硬件设计
一、选用ADC0832模数转换器
ADC0832模数转换器具有8位分辨率、双通道A/D转换、输入输出电平与TTL/CMOS相兼容、5V电源供电时输入电压在0~5V之间、工作频率为250KHZ、转换时间为32微秒、一般功耗仅为15MW等优点,适合本系统的应用,所以我们采用ADC0832为模数转换器件。
ADC0832具有以下特点:
•8位分辨率;
•双通道A/D转换;
•输入输出电平与TTL/CMOS相兼容;
•5V电源供电时输入电压在0~5V之间;
•工作频率为250KHZ,转换时间为32μS;
•一般功耗仅为15mW;
•8P、14P—DIP(双列直插)、PICC多种封装;
•商用级芯片温宽为0度to+70度,工业级芯片温宽为−40度to+85度;芯片接口说明:
•CS_片选使能,低电平芯片使能。
•CH0模拟输入通道0,或作为IN+/-使用。
•CH1模拟输入通道1,或作为IN+/-使用。
•GND芯片参考0电位(地)。
•DI数据信号输入,选择通道控制。
•DO数据信号输出,转换数据输出。
•CLK芯片时钟输入。
•Vcc/REF电源输入及参考电压输入(复用)。
正常情况下ADC0832与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。
但由于DO端与DI端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将DO和DI并联在一根数据线上使用。
当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,CLK和DO/DI的电平可任意。
当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。
此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。
在第1个时钟脉冲的下沉之前DI端必须是高电平,表示启始信号。
在第2、3个脉冲下沉之前DI端应输入2位数据用于选择通道功能.如图4.4:
二、LCD1602字符型液晶显示器其用法:
•单5V电源电压,低功耗、长寿命、高可靠性
•内置192种字符(160个5×7点阵字符和32个5×10点阵字符)
•具有64个字节的自定义字符RAM,可自定义8个5×8点阵字符或4个5×11点阵字符
•显示方式:
STN、半透、正显
•驱动方式:
1/16并口,1/5串口
•背光方式:
底部LED
•通讯方式:
4位或8位并口可选
•标准的接口特征:
适配MC51和M6800系统MPU的操作时序
LCD1602液晶显示屏的主要技术参数如下表所示:
(表2-3)
表2-3LCD1602液晶主要参数
显示容量
16×2个字符
芯片工作电压
4.5~5.5V
工作电流
2.0mA(5.0V)
模块最佳工作电压
5.0V
字符尺寸
2.95×4.35(mm)
LCD1602字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16×1,16×2,20×2和40×2行等的液晶显示模块,模块组件内部主要由LCD显示屏、控制器、列驱动器和偏压产生电路构成。
LCD1602液晶显示屏外形尺寸
LCD1602液晶显示屏分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如图3.2所示:
图3.2LCD1602尺寸图
1602液晶显示屏采用标准的16脚接口,其中各接口的功能如下表(2-4)所示:
表2-4LCD1602的16管脚功能
引脚号
引脚名
电平
输入/输出
引脚说明
1
VSS
电源地
2
VDD
电源正极(+5V)
3
VL
液晶显示偏压信号
4
RS
0/1
输入
数据/命令选择端,0:
输入指令,1:
输入数据
5
R/W
0/1
输入
读/写选择端,0:
向LCD写入指令或数据,1:
从LCD读取信息
6
E
1→0
输入
使能信号,1时读取信息,1→0(下降沿)执行指令
7
D0
0/1
输入/输出
数据总线(最低位)
8
D1
0/1
输入/输出
数据总线
9
D2
0/1
输入/输出
数据总线
10
D3
0/1
输入/输出
数据总线
11
D4
0/1
输入/输出
数据总线
12
D5
0/1
输入/输出
数据总线
13
D6
0/1
输入/输出
数据总线
14
D7
0/1
输入/输出
数据总线(最高位)
15
BLA
+VCC
LCD背光电源正极
16
BLK
接地
LCD背光电源负极
第1脚:
VSS为地电源。
第2脚:
VDD接5V正电源。
第3脚:
VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会使屏幕显示不清晰,使用时可以通过一个10K的电位器调整对比度。
第4脚:
RS为数据/命令选择端,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:
R/W为读写选择端,高电平时进行读操作,低电平时进行写操作。
当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。
第6脚:
E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:
D0~D7为8位双向数据线。
第15脚:
背光源正极。
第16脚:
背光源负极
三、数据采集设计
(1)从传感器过来的电压信号,必须放大,滤波,采集,转换才能被MCU识别和处理。
由于假若每一路都设置放大、滤波等器件,那么成本会很大,所以信号的采集一般用多路模拟通路进行选择。
然而选择多路模拟开关时必须考虑以下的几个因素:
通道数量、切换速度、开关电阻和器件的封装形式。
总之数据采集与硬件的选择有很大的关系。
(2)传感器的选择
酒精浓度传感器由MQ3传感器组成。
MQ3传感器/MQ3模块详细介绍如下表4-1:
(3)测量电路
测量电路由酒精浓度传感器MQ3,ADC0832组成。
酒精传感MQ3经AD0832与STC89C52单片机相连,在显示器上显示出酒精的浓度值,当超过国家规定的标准时报警。
表4-1传感器参数表
名称
MQ3传感器
A.标准工作条件
符号
参数名称
技术条件
备注
Vc
回路电压
≤15V
ACorDC
VH
加热电压
5.0V±0.2V
ACorDC
RL
负载电阻
可调
RH
加热电阻
31Ω±3Ω
室温
PH
加热功耗
≤900mW
B.环境条件
符号
参数名称
技术条件
备注
Tao
使用温度
-10℃-50℃
Tas
储存温度
-20℃-70℃
RH
相对湿度
小于 95%RH
O2
氧气浓度
21%(标准条件)
氧气浓度会影响灵敏度特性
最小值大于2%
C.灵敏特性
符号
参数名称
技术参数
备注
Rs
敏感体电阻
1MΩ-8MΩ
(200ppmalcohol)
适用范围:
10-1000ppmAlcohol
α
(200/100)alcohol
浓度斜率
≤0.6
标准工作条件
温度:
20℃±2℃Vc:
5.0V±0.1V
相对湿度:
65%±5%Vh:
5.0V±0.1V
预热时间
不少于24小时
四、按键设计
⑴本系统应用有人机对话功能,该功能即能随时发出各种控制命令和数据输入以及和LCD连接显示运行状态和运行结果。
键盘分为:
独立式和矩阵式两类,每一类按其编码方法又可以分为编码和非编码两种。
由于本系统只有UP、DOWN、OK、CANCEL4个控制命令,所需按键较少,所以本系统选择独立式按键。
电路图见图4.5:
图4.5按键电路图
⑵独立式按键是直接用I/O口线构成的单个按键电路。
每个独立式按键占有一根I/O口线。
各根I/O口线之间不会相互影响。
在此电路中,按键输入部采用低电平有效,上拉电阻保证了按键断开时,I/O口线有确定的高电平,(STC89C52.P1口内部接有上拉电阻)所以就不需要再外接上拉电阻。
⑶键盘抖动的消除:
抖动的消除大致可以分为硬件削抖和软件削抖。
①硬件削抖是采用硬件电路的方法对键盘的按下抖动及释放抖动进行削抖,经过削抖电路后使按键的电平信号只有两种稳定状态。
②软件削抖的基本原理是当检测出键盘闭合时,先执行一个延时子程序产生数毫秒的延时,待接通时的前沿抖动消失后再判别是否有健按下。
当按键释放时,也要经过数毫秒延时,待后沿抖动消失后再判别键是否释放。
③由于应用硬件削抖还需要外加器件,成本相对较高,所以本系统选择软件延时削抖的方法。
五、电源电路设计
在本次设计中,需要一个比较大的电压源和一个5V的单片机供电源,为了实现便携式,设用一个9V的电压源,一般6节电池和一个9V的电池都可以提供,因而需要一个电压转换吧9V转换成5V,设用选用了,ASM117稳压芯片。
工作原理如图4.11低压层直流稳压电源电路原理图。
该电路是由基准电压、电压放大和电流放大等3个环节组成。
其中,基准电压由TL431产生,按图中电路连接,当通过R0的电流在0.5~10mA时可获得稳定的2.5V基准输出。
图4.11低压层直流稳压电源电路原理图
输出电压的具体数值由运算放大器UA确定,采用同相放大器的优越性在于其输入阻抗极大,可很好地将TL431输出的2.5V电压与后级电路隔离,使其不受负载变化的影响;运放与电阻R3和R2组成比例放大环节,可对基准电压按要求进行比例放大输出,但输出电压最大不能超过运放的电源电压。
软件设计
主程序模块
主程序实现的功能:
与硬件相结合实现便携式酒精浓度检测仪的各个功能。
主要是检测与显示,时间调整与显示,数据存储。
功能子函数的调用。
见图5.1
初始化时钟
初始化
LCD屏
显示开机画面
显示时间
显示主菜单
初始化CPU
开始
读键
图5.1主程序流程图
A/D转换模块
⑴模数转换模块的主要功能就是将经放大器放大的模拟电压信号转化为MCU能够处理的数字信号,并传送给MCU。
⑵ADC0832转换的流程图见下图5.2
图5.2数转换流程图
A/D芯片的数据CS口,连接51单片机的P3.1口,CLK接P3.2,D1和D0接P3.3口。
工作时序如下所示:
ADC0832有8只引脚,CH0和CH1为模拟输入端,CS为片选引脚,只有CS置低才能对ADC0832进行配置和启动转换。
CLK为ADC0832的时钟输入端。
CS在整个转换过程中都必须为低,当CS为低时,在数据输入端DI(数据输入端)加一个高电平,接着在CLK上加一个时钟,DI上的逻辑1就会使ADC0832的DI脱离高阻态,然后通道配置数据伴随着时钟通过DI端移入多路器,当最后一位数据移入多路器时,,DI变为高阻态,在这以前DO(数据输出端)都为高阻态。
在经过一个时钟,DO脱离高阻态,从而启动转换。
接着从处理器接收时钟信号,每经过一个时钟,转换后的数据就会从高位到低位依次从DO移出,经过8个时钟后,数据又以从低位到高位的形式从DO移出(也是每个时钟移一位)。
当最后一位数据移出时转换完成。
当CS从低变为高时,ADC0832内部所有寄存器清零。
如想要进行下一次转换,CS必须做一个从高到低的跳变,后跟着地此配置数据重复上面的过程。
按键输入模块
⑴按键时显现人机对话的一个控制按钮,通过按键的操作,对系统进行发送操作指令,后经与MCU串行通信,然后在液晶上显示。
⑵按键查询式的流程图见下图(图5.3):
图5.3按键查询式的流程图
按键的四个键分别接P1.0,P1.1,P1.2,P1.3,由于P1口具有上拉电阻,所以不在需要加上拉电阻进行电压的放大。
液晶显示输出模块
LCD模块在本系统中主要起着开界面汉字显示,以及各控制效果的显示。
采用直接访问方式。
液晶显示的操作流程图见下图5.6:
图5.6液晶显示的操作流程图
液晶显示D0到D7口接P0.0到P0.7,单独使用一个口,为了避免数据的干扰,由于P0口没有上拉电阻,所以需要一个排阻进行电压的扩大.
LCD1602的读写工作时序图如图5.7和图5.8所示:
图5.7LCD1602读操作时序
当处于读状态时,RS处于低脉冲,R/W为高脉冲,E为高脉冲,D0~D7=状态字
当处于读数据时,RS为高脉冲,R/W为高脉冲,E为高脉冲,D0~D7=数据。
图5.8LCD1602写操作时序
当处于写指令时,RS为低脉冲,R/W为低脉冲,D0~D7=指令码,E=高脉冲
当处于写数据时,RS为高脉冲,R/W为低脉冲,E为高脉冲,D0~D7=数据.
软硬件的调试
系统硬件调试
元器件的焊接
焊接前应对整个电路板进行检查。
首先,用万用表对印制的电路板线路进行检查,该过程是在焊接元器件之前的必要工作,主要是检查印制的电路板线路是否有断路的情况,如果检查没有问题,则可以对元器件进行焊接。
焊接前对电阻、电容的量值要进行测量、筛选,选择与电路中参数值一致的元器件,在选择芯片时,要注意芯片与设计要求的型号、规格和安装是否一致。
在焊接时,应将印制的电路板认真对照原理图,查看元器件的引脚焊接是否正确。
电路测试
电路板焊接完成后,需要对每个元器件的引脚逐个进行检查,一方面是检查有没有引脚虚焊或与其他信号线短路,另一方面是对器件引脚功能的再检查,查看设计是否正确。
检查电路焊接没有问题后,则可以进行上电测试。
上电测试是调试的关键部分,按照系统方案设计的模块化思想,应该分模块测试系统。
首先还是应该测试电源部分,系统上电以后,测试各个电源端口和器件的电源部分是否工作正常,同时应注意系统中有无器件过热情况,如果有的话,可能是相应的器件损坏或电路中有短路,需要认真检查之后再加电。
如果没有问题,则可以进行功能的检测。
由于系统硬件较复杂,硬件电路装配、焊接完成后,可能不能正常工作。
为了方便调试,采用分块调试的方法。
在通电前,一定要检查电源电压的幅值和极性,否则很容易造成芯片的损坏。
加电后检查各插件上引脚的电位,一般先检查VCC与GND之间电位,若在5V~5.5V之间属正常范围。
系统软件调试
硬件调试完成以后,软件调试就非常重要。
系统软件调试时也要分模块来进行调试,这样才能使进程有条不紊的进行下去,而不至于出现混乱。
首先,检查LCD1602液晶显示屏。
LCD1602显示屏上电后,检查是否可以正常显示,第一行显示英文字符,第二行显示时间,此时,按下按键即可对时间进行调整。
其次,调试存储模块。
检查存储模块是否能够读写信息,当存入一个数据的时候,从LCD1602中,读出来,看是否与之前存入的数据一致,而可认为存储模块正常工作。
再次,调试单片机与数模转换模块,在LCD模块调试成功之后,就可以调试数模转换模块,在模拟的测试一个电压,若LCD1602能够正常显示记录的数据,则调试成功。
最后调试传感模块,根据传感器的要求,输入一个9V高电压和一个5V电压,则传感能通过AD的转换,在LCD1602显示正常的电压,则调试成功,之后进行程序的运算,使LCD实现酒精浓度数值
系统整体调试
在软件和硬件的分别调试成功后,然后进行程序的捎入单片机中,进行整块系统的调试,提供9V的电压,使单片机和传感器,和各个元件都能正常工作后,要对传感的最大值和最小值的调试,最小值调试,即把传感器裸露在空气中,环境为无酒精环境,调节滑动变阻器,使LCD1602显示为0,进行多次断电,最终没有数据变化,数值为零,即对传感器的最小值调试成功;传感器的最大值为5V即相对应的浓度为1000PPM,在目前条件找不到如此浓度的酒精,进而,对一般数值的酒精浓度调试,就是在三个相同的容器下,倒入不同量的酒精,然后进行稀释,然后进行测量,在大致的估计得浓度下,看是否有很大偏差,没有就说明,整体调试成功。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 酒精 浓度 测试仪