基于单片机技术的酒精浓度检测.docx
- 文档编号:10704382
- 上传时间:2023-02-22
- 格式:DOCX
- 页数:34
- 大小:458.96KB
基于单片机技术的酒精浓度检测.docx
《基于单片机技术的酒精浓度检测.docx》由会员分享,可在线阅读,更多相关《基于单片机技术的酒精浓度检测.docx(34页珍藏版)》请在冰豆网上搜索。
基于单片机技术的酒精浓度检测
论文题目:
基于单片机技术的酒精浓度检测
学院:
电子工程学院
年级:
(黑体三号字)
专业:
(黑体三号字)
姓名:
(黑体三号字)
学号:
(黑体三号字)
指导教师:
(黑体三号字)
年月日
摘要
本文以AT89C51单片机为控制核心,配合ADC0832转换芯片,ArduinoMQ-3酒精传感器,LED和蜂鸣器组成了酒精浓度传感系统。
在硬件电路上完成了对AT89C51单片机的最小系统的搭建,其中包括电路的连接以及各个部位器件的选择,完成了对ADC0832的电路设计使其能够实现模拟数字的转换。
实现了LCD1602液晶与单片机的通信电路,使LCD1602液晶能够作为本套系统的实时显示模块顺利显示实时数据值。
在软件上使用了Altiumdesigner设计电路原理图,Multisim11实现模拟电路仿真,为电路制作提供了坚实的理论基础。
在模拟放大部分使用了S9013三极管,顺利完成了使用数字信号控制模拟器件的功能。
关键词
AT89C51;ADC0832;ArduinoMQ-3酒精传感器
Abstract
Inthispassage,weuseAT89C51MCUasthesystemcontrollercore,combinedwithADC0832convertchip,ArduinoMQ-3alcoholsensorandLED,setuptheplatformtodetectthedenseofthealcholinanarea.Ontheonehand,weaccomplishedtheleastsystemabout51MCUandthedesignofADC0832convertcircuit..Throughthehardware,wecanreadthevaluefromADC0832anddisplaythevalueonLCD1602,whichisthereal-timedisplaymoduletothesystem.Ontheotherhand,weuseAltiumdesignertodrawupthepictureaboutthewholecircuit,andusetofinishthegetthevalueaboutthedevicesbyreMultisim11.Baedonthetheory,wecanuseS9013transistortoamplifythecurrenttodrivetheLEDandBUZZER,thus,wecanusethedigitalsignaltocontroltheanalogcircuit
Keywords
AT89C51;ADC0832;ArduinoMQ-3alcoholsensor
第一章绪论
1.1传感器的发展
随着电子技术的日益进步,传感技术也在大跨步的前行。
基于各式各样的传感元器件能够测定人们生活中几乎所有的物理量[1]。
光纤传感器[2],半导体传感器[3],化学物质传感器等等[4],已经成为人们感知世界[5],感知自然,认识世界,认识自然所必须的设备。
从简单的物理量来说[6],光纤传感器所做的光极限测量能够检测到皮米甚至飞米数量级的微位移[7],从较为复杂的物理量来看,半导体传感器能够测定稳定以及变化的磁场,这是人们能够进一步发展的标志[8]。
无论是各种各样的传感元件,还是形态各异的传感器模型,都在不断挑战,不断做更新,根据人们的需要,传感器的世界会更加丰富多彩。
1.2单片机及微处理器
随着电子技术的不断发展,人们生活中各式各样的自动化设备层出不穷,无论是大到太空飞船,载人航天,还是小到手机,MP3等等电子设备都在朝着自动化,方便化,简洁化的方向发展[9]。
这一功劳无疑是单片机革命性的出现,是电子世界日益壮大与完善,从最早的1位布尔型单片机,到现在大型的32位ARM嵌入式系统,都是单片机在历史上留下的痕迹[10]。
二十一世纪是数字化时代,几乎人们感知的世界都存在各种各样的数值,人们通过这些数值的大小来比较周围环境[11],感知所要提取的信息[12]。
数字信息化也是单片机发展所造就的产物[13]。
现在的微处理器朝着小型化,高速化,多功能化不断进步,不断提高,不断发展,我们的生活也因为这些技术的进步而得到较大的改善[14]。
51单片机作为一款经久不衰单片机核,因其过硬的系统稳定性在航天,工业控制等重要场合扮演者重要的角色,又因其低廉的制作成本与简单的使用流程,是他在简单的仪器中占有一席之地[15]。
所以未来无论嵌入式系统亦或单片机的发展如何,我们都要重视51单片的性能,充分发挥传统单片机的优势。
1.3本论文研究的主要容及意义
随着我国的改革开放政策实施,信息化全球化的步伐加快,我国的科技经济实力也在日益壮大起来,人民的物质文化生活水平逐渐体高,汽车几乎成为了与多人的通用出勤工具[16]。
说到驾车我们就不得不谨慎小心,因为这不单单关系到个人的安危,也可能会对周围的人造成伤害[17]。
其中最严重的问题就是酒后驾车,如何杜绝酒后驾车是当今社会面临的一个难题。
目前来说交警用的酒后驾车监测装置造价比较昂贵,大多是数千元甚至上万元,最主要的是操作复杂,很多平民百姓很难正常使用。
这次我们开发一套操作简单,便于大多数人使用的酒精浓度报警系统,能够解决很多生活中的问题。
最主要的就拿酒后驾车来说,这套系统的设计具有体积小巧[18],供电简单,操作方便,集成度高等特点,也就是说这个小系统只需要3节5号电池就能安装在任意场所,比如说出租车,酒店门口旁边,当系统处于待机监测时就能够检测到周围的酒精浓度值,如果超过阈值便发出强烈的声光报警,这样的话周围的人就能够知道那里酒精浓度比较高,不回去座酒精浓度高的司机开的车。
除了这点以外,这个系统能够检测到大气中的酒精浓度,在易燃易爆以及存放干燥物品的仓库,我们需要实时对酒精浓度进行监控测量以保证周围的大气部不会因充满酒精发生危险。
这套系统的另一大特色就是集成度高[19],如果但从传感探头的大小来说不超过5厘米见方,也就是说这个器件完全可以集成到其他传感报警门禁系统中,另一方面,其他的报警系统也可以直接与这个系统构成双保险开关甚至是带优先级智能保险开关来检测控制我们需要知道的物理量[20]。
酒精浓度报警系统这么看来有着广泛的市场空间与发展前景。
全文共分为四章,主要容如下:
第一章:
介绍了传感器以及传感元器件的发展历史,发展现状,单片机嵌入式系统的特点、优点以及未来的发展趋势。
第二章:
重点介绍系统的设计思想,整体功能框图,对实现各个功能模块的器件选型进行了详细的说明,深入分析了各个模块的作用。
第三章:
主要介绍系统的硬件电路设计,包括核心电路的连接,各个模块驱动电路的设计原理。
第四章:
介绍了单片机编程平台的搭建,如何进行单片机开发,如何使用C语言编写系统程序以及整体系统的流程图,软件结构设计思想。
第二章系统设计
2.1系统功能
51单片机酒精浓度报警系统如图2-1所示。
本套系统的作用是完成对酒精浓度的检测并将模拟的酒精浓度值做量化处理,设定阈值并完成报警提示功能。
图2-1系统框图
首先,系统经电源模块供电使各个模块工作如图2-1,进入初始化状态。
系统初始化之后,传感器探头开始以扫描方式检测周围酒精浓度并向核心控制CPU发出数据信号,CPU接到数据信号之后开始做算法处理,将此时的传感器数据量化,量化的数据需要与标准进行比对,换算成统一的酒精浓度标准。
此时的数据经过逻辑判断,与用户设定的与之相比对,如果大于设定阈值就会将信号传送给报警模块。
显示模块用于实时显示CPU所接受的数据,方便工作人员实时监测。
2.2器件选择
2.2.1传感器探头
传感器探头我们选用ArduinoMQ-3酒精传感器。
这个传感器机械强度高,便于各种地方安装,电气特性好,驱动起来简单,通信协议符合TTL电平标准,适于和各种芯片进行直接通信,探测特性好,测量数据精准。
另外,该传感器具有信号输出指示灯指示功能,方面直接从探头上确认工作状态。
该传感器支持双路信号输出,模拟量与数字量可切换,对乙醇蒸汽具有很高的灵敏度和良好的选择性,具有长期的使用寿命和可靠的稳定性,快速的响应恢复特性;等特点
表2-1传感器参数特性
加热电压
5±0.2V(AC·DC)
工作电流
140mA
回路电压
10V(最大DC15V)
负载电阻
5K(可调)
检测浓度围
10-1000ppm
清洁空灵敏度
≤1.5V
气中电压
≥3%
响应时间
≤1S(预热3-5分钟)
2.2.2显示模块
显示模块部分我们选用LCD1602液晶显示屏作为系统的显示界面。
这款液晶是一款通用型液晶显示器,能够显示两排各16个ASIC字符。
这个液晶模块主要由HD4470显示控制芯片驱动,这个芯片部集成了ASIC码字符集与控制指令集,便于CPU控制芯片操作液晶显示。
图2-2LCD1602实物图
这款液晶具有显示亮度高,背光可调,操作简单,操作时序速率要求低等优点,因为驱动芯片HD4470为一款8位数据芯片,也就是说他能够很好地与8位单片机之间完成数据通信,并且相互之间电平兼容。
这款液晶留给我们的同样是2.54mm的DIP封装接口,我们同样使用万用板进行电路焊接并用杜邦线级联就能是使系统正常工作。
2.2.3报警部分
系统的报警部分我们选用声光报警系统,这种双保险能够保证如果有一路报警失灵的话另一路正常维持系统运转。
另外声光报警能够相互弥补之间的不足,无论是在各种场合都能够保证系统正常工作。
声光报警模块的元器件我们采用蜂鸣器加上LED共同作用,从驱动源上来看,这两款器件都属于电流驱动型,电流驱动性器件相比于电压驱动型器件有很多优点,它能够不改变负载的阻抗,减小了电源端的带负载压力。
LED的在特征决定了它是最理想的光源去代替传统的光源,它有着广泛的用途。
体积小,基本上是一块很小的晶片被封装在环氧树脂里面,所以它非常的小,非常的轻。
LED耗电非常低,一般来说LED的工作电压是2-3.6V。
工作电流是0.02-0.03A。
这就是说:
它消耗的电不超过0.1W。
在恰当的电流和电压下,LED的使用寿命可达10万小时。
高亮度、低热量、环保LED是由无毒的材料作成,不像荧光灯含水银会造成污染,同时LED也可以回收再利用。
红光LED含有大量的As(砷),剧毒。
坚固耐用LED是被完全的封装在环氧树脂里面,它比灯泡和荧光灯管都坚固。
灯体也没有松动的部分,这些特点使得LED可以说是不易损坏的。
可控性强,可以实现各种颜色的变化。
蜂鸣器结构简单,驱动方便,只要是通过蜂鸣器的电流达到额定值蜂鸣器就能发出声音,蜂鸣器发出声音的特性与流过蜂鸣器的电流特性相关,换句话说如果我们想要改变蜂鸣器的声音,使蜂鸣器有节奏性变化,甚至使用蜂鸣器奏出一段美妙的音乐都只需要改变电流,操作IO口信号来完成。
2.2.4核心控制模块
AT89S51是和AT89C51都是一款具有高性能低功耗的CMOS8位,其部由计数器/定时器、串行口、I/O、程序存储器、数据存储器、中央处理器等部分组成。
封装方式分为三种,分别是PDIP、TQFP、PLCC,基于这三种封装形式基本上可以覆盖大部分应用。
同时部还有2个看门狗(WDT)电路,部时钟振荡器。
所谓振荡电路简单的说就是指一个频率源,一般用在锁相环中。
具体地说就是在外部没有信号的情况下振荡电路本身就可以将直流电能转化为交流电能的装置。
通常有正反馈和负反馈两种型号,作用就是在电源稳定的情况下产生高频。
时钟振荡电路和外部晶振电路配合使用就达到了为单片机提供时钟的功能。
单片机部组成如图
图2-3单片机部结构图
如图2-3所示为51单片机部基本结构,清晰地反映了51单片机部的丰富资源。
我们这次系统设计是要实现对酒精浓度信号的采集,数字信号分析,以及控制1602液晶显示,主要使用单片机的可编程IO口部件。
本次设计选用的单片机具有两个功能,分别是控制功能和运算功能。
中央处理器部有运算器和控制器两个部分。
运算器由算术逻辑运算部件ALU、累加器、暂存器程序状态字寄存器PSW、BCD码运算调整电路组成。
控制器由程序计数器PC、指令寄存器、指令译码器、定时控制与条件转移逻辑电路等组成。
数据存储器:
本次设计选择的单片机中的数据存储器拥有128bytes的存储空间,这样大小的存储空间基本上可以满足一般的设计需求。
但是不能保证所有满足所有的应用场所,所以数据存储器还可以进行扩展,单片机的扩展能力为可寻址64K,用户可以根据自己的需求对空间进行的扩展。
它的作用是可以作为处理问题的数据缓冲器。
程序存储器:
程序的正常运行不仅和时钟电路有关,同时还需要将调试过的程序放到单片机的存储器中。
传送程序需要的是串行口与外部机器相连接进行传送,而存储这些程序的就是单片机中的程序存储器。
本次设计选用的单片机拥有4K的存储空间,如果需要扩展的话,最大的扩展空间为64K。
从单片机的访问来说,程序存储器可以分为部和外部。
单片机通过控制引脚的高低电平区分访问程序存储器的部和外部。
在其中还有5个部分具有特殊功能,因为当执行复位电路之后,单片机的程序执行必须从0000H开始,这样就需要在0000H单元存放一条用于跳转的指令。
串行口:
上文已经提到,各种指令和程序要传送到单片机的个存储单元需要串行口与电脑连接,同时单片机部程序要传送到外部也是通过串行口于外部进行连接。
由于串行口的数量有限,51系列单片机的串口还具备扩展功能。
本次设计选用的单片机拥有2个双全共串行口,采用异步通信方式。
所谓的异步通信方式,就是单片机可以实现输入和输出同时进行,是一种比较先进的通信方式。
其部结构如图2-4
图2-4串行口部结构
I/O口:
本次设计选择的单片机提供4个并行8位I/O,分别上P1口、P2口、P3口、P0口。
部时钟电路:
时钟电路可以分为部和外部两种。
构成部振荡器是一个高增益反放大器,用于和外部晶振电路连接过程时钟电路。
定时器\计时器:
这个部分有两个工作模式,分别是计数工作模式和定时工作模式。
计数工作模式的作用是针对外部的脉冲计数,在引脚中有T0(14脚)和T1(15脚),他们是计数器的输入端,脉冲产生从正向负变化时,计数器就开始工作,计数器记1.定时器工作模式实在计数器工作模式的配合下使用,这是的计数器模块应用的是单片机部脉冲,脉冲的产生是由时钟电路产生的,每经过一个时钟周期,定时器模块就工作计数1。
定时器\计时器部结构如图2-5
图2-5定时器\计时器部结构
上文提到单片机具有低功耗和高性能的特点,之所以这么说是因为单片机在单机状态下CPU可暂停工作,同时计数器、串行口等部系统课保持工作状态,这样就可以达到低功耗和高性能的特点
第三章硬件设计
3.151单片机最小系统
核心控制系统主要是使用51单片机控制AD芯片对传感器数据进行采样量化处理,之后的数字信号用于控制液晶屏幕显示以及报警系统是否起作用,这里面的核心硬件部分就是51单片机最小系统如图3-1。
图3-1单片机最小系统图
51单片机最小系统的原理图,这里面除了51单片机以外还包括几个重要的部件,其中有晶振以及复位电路。
51单片机因为其部有脉冲整形电路,所以只需要外接一个1-24MHz的无源晶振就能够产生程序运行的数字时钟信号,晶振两端需要外接两个22pF或者30pF的对地电容,首先保证信号能够无衰减的进入单单片机部,其次也是与部的电路构成震荡环构成稳点的脉冲时钟回路。
51单片机的31引脚决定了程序读取的位置,当这个引脚被拉高时表示是从部ROM区开始读取程序代码,如果未被拉高则默认从外部的ROM区读取程序,有的时候51单片机程序硬件电路都没有问题,就是现象不对,可能是这个引脚的电平值未被拉高导致系统从外部ROM读取数据,而我们的系统没有外部拓展ROM,所以说系统不能正常运行。
51单片机需要2个完整周期的高电平输入到RESET引脚进行复位,这个引脚通常处于被拉低状态。
3.2AD转换电路
3.2.1AD转换原理
在电子电路里有模拟量以及数字量之分,变化幅值随着时间化而连续变化的量我们称之为模拟量,相反的只有高低电平表示的数量值表示数值变化我们称之为数字量,数字量里面一般用0,1表示信号值。
图3-2AD转换原理图
如图所示为AD采集数据的基本原理首先电压值经过VIN输入到电压比较器当中,电压比较器记录此时的数据值为0或者1,代表此时的电压高或者低,不同的控制信号用来驱动后面的逻辑控制电路,逻辑控制电路在CP时钟的频率下开始按照移位寄存的方式存入数据,也就是此时的模拟信号量化值,这个量化值分成两路,一路作为外部信号输出,传送给后端的数字电路,另一路送给DA转换器,DA转换器将此时的数字量重新转换为模拟电平值与输入信号做比对,是真个AD转换系统的反馈量,如果输入量大于反馈量AD通道输出值为1,反之为逻辑0。
3.2.2电路连接
市面上AD芯片比较多,我们出于对系统整体性能的考虑,选择ADC0832这款通用性TTL电平AD转换芯片。
他是由美国AD公司生产的一种面向低端产品的AD芯片,这款新片成本低,转换速率适中,能够适应于大部分的模拟/数字器件。
它主要是8位分辨率、双通道A/D转换,因其具有体积小,兼容性强的独特优点,所以倍受广大电子工程师认识的追捧,普及率很高,而且对于高校学生来说,理解认识AD转换的功能有着重要的意义。
ADC0832具有以下特点:
1.分辨本领比较高支持256个数字等级;
2.拥有两路A/D转换通道;
3.输入输出电平与TTL/CMOS相兼容;
4.5V电源供电时输入电压在0~5V之间;
5.工作频率为250KHZ,转换时间为32μS;
6.一般功耗仅为15mW;
7.DIP(双列直插)、PICC多种封装;
8.商用级芯片温宽为0℃to+70℃,工业级芯片温宽为−40℃to+85℃;
ADC0832有DIP和SOIC;两种封装,DIP封装的ADC0832引脚排列如下图所示:
图3-2ADC0832的引脚封装图
芯片接口说明:
1.CS_片选使能,低电平芯片使能。
2.CH0模拟输入通道0,或作为IN+/-使用。
3.CH1模拟输入通道1,或作为IN+/-使用。
4.GND芯片参考0电位(地)。
5.DI数据信号输入,选择通道控制。
6.DO数据信号输出,转换数据输出。
7.CLK芯片时钟输入。
8.Vcc/REF电源输入及参考电压输入(复用)。
对于51单片机来说,ADC0832支持TTL电平通信,所以我们需要做的就是了解0832的操作时序,这里面用于通信的有四根数据线,分别是CS、CLK、DO、DI,这里有一个值得说的技巧就是ADC0832的5、6引脚,也就是对应着通信过程中的DO、与DI端口是一组双向的数据端口,也就是说我们完全可以将这两根线变连到一起,然后接到单片机的IO口引脚上去,这样在软件编程的过程中及减少了不必要的操作时序语句,同样也能节省单片机的IO口资源,便于预留出来接口拓展其他的外部设备。
CS引脚一般为芯片的片选或者是数据所存引脚,当数据总线上有数据传输时,如果我们要再次是读取数据或者要在此时写入数据,就要把CS引脚拉低或者拉高,当下一个时钟沿过来时,逻辑门电路就会检测CS引脚上的控制电平是写入还是读取,同时锁存住数据总线的逻辑值,等待器件将数据值读走或者写入。
3.3报警电路
3.3.1LD驱动电路
需要注意的是,因为每一批激光器的出厂参数都稍有不同,在使用前须经过实际测试,同时这对于激光器驱动电路的设计也是至关重要的。
测试时需要用到光功率计与恒流源,注意测试的时候需要将电流缓慢增加以保证激光器的安全,测试结果为开启电流10.5mA,工作电流为15.5mA此时的光功率为0.7mW。
换言之,所需的驱动电路工作电流值应为15.5mA。
图3-3Multisim驱动激光器仿真结果
驱动电路如图3-3所示,根据设计要求,要实现对激光器的载波调制,要求电路能产生峰峰值在0-5V左右的电压以及10mA左右的电流信号,图中红线为驱动信号,蓝线为驱动装置输出信号,其开关速度超过800MB/S。
所以电路开关元件选择BFW16射频三极管。
这款三极管的开关速度很高能适应通信系统的要求。
值得注意的是,射频三极管在使用的时候要在集电极与基极之间并联LC网络,实现快速退饱和,才能进行高速信号处理,否则射频三极管不能正常工作。
电路的设计三极管在驱动装置中启开关作用,输入信号由51单片机产生,当信号幅值低于0.7V时,三极管处于关断状态,激光器两端没有电压,不能形成电流。
当三极管输出大于0.7V的电压时,三极管开启,集电极到发射极导通,而且电流信号经放大输出,可以驱动激光器工作。
这里,可以通过一个简单的计算来说明。
设三极管开启电压为0.7V,激光管的压降为2V,FPGA引脚的输出电平是5V,则流过电阻R的电流大小为
U=Uout–0.7–2(3-1)
I=U/R(3-2)
取R=200Ω,则电流I=0.6mA,三极管放大系数β≈25,则发射极电流为15.5mA,这时激光管工作在线性区,Multisim仿真效果良好(见图3-3)。
3.3.2蜂鸣器驱动电路
图3-4蜂鸣器驱动电路
如图3-4所示,为蜂鸣器的驱动电路,这里我们要种地那介绍一下蜂鸣器的驱动方法,首先要明确一点就是蜂鸣器的电流型器件,也就是说蜂鸣器的工作状态只跟通过蜂鸣器的电流大小有关,所以我们不能把蜂鸣器直接接到单片机的IO口上面,而且对于51单片机来说,IO口的拉电流能力不足,难以驱动大功率尤其是大电流的器件,所以我们必须使用三极管将信号放大才能让三机关正常工作。
当单片机的P1.0口输出为低电平时三极管的集电极反偏,发射极不偏,三极管工作在截止区,也就是说此时的发射极与集电极没有电流通过,所以蜂鸣器不发出生意,没有报警。
当P1.0口输出为高电平时,由于1k电阻与三极管发射极压降以及阻的作用,三极管基极电压介于5V到1V之间,满足了发射极正偏,集电极反片的条件,三级光的集电极电流大约为基极电流的几十倍,此时蜂鸣器正常工作,发出报警信号。
3.4液晶显示电路
图3-5LCD1602液晶接口电路
如图3-5所示为1602液晶显示电路,1602液晶一共有11个TTL电平数据引脚可以直接与51单片机进行通信左右两对VCC与GND分别控制1602液晶的背光开启与关闭,显示开启与关闭,其中第3引脚的滑动变阻器用来调节显示字符的背光大小,如果阻值偏高可能导致液晶显示颜色比较淡,如果阻值偏小可能导致液晶的背光直接被黑色方块填充满导致我们无法分辨出字符的字块模型,一般选择在100欧姆左右为最佳。
现在我们要着重讲解一下LCD1602的操作时序。
图3-6LCD1602液晶操作时序
如图3-6所示,为1602液晶的操作时序图。
首先需要确认的就是1602属于低速显示器件,他的操作时间间隔要求通常比较长,一般来说单片机的每条语句执行时间都要小于1602液晶的响应时间,也就是说我们在单片机里不必做刻意做时间计算来操作液晶,我们直接按照时序图的状态写程序即可完成对1602的操作。
这是一个典型的读数据操作。
我们需要确认的是默认总线状态,当不进行操作时RS引
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 技术 酒精 浓度 检测