酒精浓度测试仪设计详解.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《酒精浓度测试仪设计详解.doc》由会员分享,可在线阅读,更多相关《酒精浓度测试仪设计详解.doc(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、酒精浓度测试仪设计报告 目 录酒精浓度测试仪设计报告1一、 设计意义3二、 硬件设计31、设计框图32、乙醇信号检测及调理电路43、单片机电路74、显示电路85、供电及程序下载电路9三、 Protel硬件开发软件101Protel软件组成102PCB板设计11四、 软件编程131、软件流程图132、主程序14五、 下载与调试201、 USB转串口驱动安装202、 下载程序21参考文献22程序22一、 设计意义自刑法修正案(八)与修改后的道路交通安全法正式实施,“醉酒驾驶”正式入刑。不仅交警部门,而且很多车主都期盼能够有便携仪器方便地测量气体酒精浓度,为安全驾驶提供保障,有效减少重大交通事故的发
2、生。本研究设计的酒精浓度测试仪是一款实用性强、安全可靠的气体乙醇浓度检测工具,采用高精度MQ-3乙醇气体传感器对空气中的乙醇浓度进行检测,利用宏晶公司高性能低成本单片机STC89C52对检测信号进行A/D转换与处理,最后通过液晶屏显示输出。本研究设计的酒精浓度测试仪还具有醉酒阈值设定功能,可以根据法律法规或用户需要设定修改醉酒阈值,并进行保存。二、 硬件设计1、设计框图本研究设计的酒精浓度测试仪框图如图1所示。MQ-3乙醇气体传感器输出信号经信号调理电路处理,输出随乙醇浓度变化的电压信号,该电压信号送入单片机系统,经AD转换,与设定的醉酒阈值进行比较,并显示或报警。图1 酒精浓度测试仪方框图2
3、、乙醇信号检测及调理电路MQ-3乙醇气体传感器可以应用用于机动车驾驶人员及其他严禁酒后作业人员的现场检测,也用于其他场所乙醇蒸汽的检测。其技术特点为:l 对乙醇蒸汽有很高的灵敏度与良好的选择性l 快速的响应恢复特性l 长期的寿命与可靠的稳定性l 简单的驱动回路主要技术指标:MQ-3乙醇气体传感器灵敏度曲线如图2所示,其传感原理为气敏电阻的输出阻值随乙醇气体等浓度变化而变化。图2 MQ-3乙醇气体传感器灵敏度曲线MQ-3乙醇气体传感器管脚与测试电路如图3所示。 (a) 管脚图 (b) 测试电路图3 MQ-3乙醇气体传感器管脚及测试电路 MQ-3乙醇气体传感器及其调理电路原理如图4所示。其外形如图
4、5所示。经过调理,检测信号由电阻值转变成电压值,便于后续电路进行A/D转换与处理。图4 传感器及调理模块原理图 该传感器模块具有如下特点,方便与单片机系统接口组成检测仪器。l 具有信号输出指示。l 双路信号输出(模拟量输出及TTL电平输出)l TTL输出有效信号为低电平。(当输出低电平时信号灯亮,可直接接单片机) l 模拟量输出05V电压,浓度越高电压越高。3、单片机电路本设计选用宏晶公司高性能单片机STC89C52,其管脚如图6所示。图6 STC89C52单片机管脚图该芯片为52内核8位单片机,适用于常用检测电路。由STC89C52组成的单片机系统原理图如图7所示。图中AOUT为MQ-3传感
5、器模块输出的检测电压信号,送入ADC0832采集芯片端口进行处理,该信号可以根据乙醇气体浓度直接输出报警信号,报警阈值通过模块上的电位器进行调节。图7 单片机系统原理图 图7中,按键K2与K3为醉酒阈值调整键,其中K2为“增加”,K3为“减小”按键。L2与L3为报警指示灯,分别可以进行酒后与醉酒两级报警。4、显示电路显示部分采用SMC 1602液晶屏进行数据显示,其主要技术参数为:表1 液晶屏技术指标接口信号说明如表2所示。表2 液晶屏接口信号说明与单片机接口电路如图8所示。其中J2的3脚为背光引脚,R9与R10电阻用于调节背光亮度。J2的4、5、6引脚分别接液晶的RS、E/W与E控制引脚,J
6、2的714引脚为数据引脚。图8 LCD与单片机接口电路5、供电及程序下载电路本设计采用电池盒接口供电,电源电压5V。同时,其电路原理如图10所示。图10 供电及程序下载电路三、 Protel硬件开发软件Protel是目前国内最流行的通用EDA软件,它是将电路原理图设计、PCB板图设计、电路仿真与PLD设计等多个实用工具软件组合后构成的EDA工作平台,是第一个将EDA软件设计成基于Windows的普及型产品。它集成了软件界面、仿真功能与PLD设计与信号完整性分析,在此基础上Protel 99SE又增加了一些新的功能,用户使用更加方便灵活。Protel的功能十分强大,在电子电路设计领域占有极其重要
7、的地位。它以其强大功能与实用性,逐渐获得广大硬件设计人员的青睐,是目前众多EDA设计软件中用户最多的产品之一。1Protel软件组成Protel软件主要由电路原理图设计模块、印制电路板设计模块(PCB设计模块)、电路信号仿真模块与PLD逻辑器件设计模块等组成,各模块具有强大的功能,可以很好的实现电路设计与分析。(1) 原理图设计模块(Schematic模块)电路原理图是表示电气产品或电路工作原理的重要技术文件,电路原理图主要由代表各种电子器件的图形符号、线路与结点组成。图4.1所示为一张电路原理图。该原理图是由Schematic模块设计完成的。Schematic模块具有如下功能:丰富而灵活的编
8、辑功能、在线库编辑及完善的库管理功能、强大的设计自动化功能、支持层次化设计功能等。 (2) 印制电路板设计模块(PCB设计模块)印制电路板(PCB)制板图是由电路原理图到制作电路板的桥梁。设计了电路原理图后,需要根据原理图生设计成印制电路板的制板图,然后在根据制板图制作具体的电路板。印制电路板设计模块具有如下主要功能与特点:可完成复杂印制电路板(PCB)的设计;方便而又灵活的编辑功能;强大的设计自动化功能;在线式库编辑及完善的库管理;完备的输出系统等。(3) 电路信号仿真模块电路信号仿真模块是一个功能强大的数字/模拟混合信号电路仿真器,能提供连续的模拟信号与离散的数字信号仿真。它运行在Prot
9、el的EDA/Client集成环境下,与Protel Advanced Schematic原理图输入程序协同工作,作为Advanced Schematic的扩展,为用户提供了一个完整的从设计到验证仿真设计环境。在Protel中进行仿真,只需从仿真用元器件库中放置所需的元器件,连接好原理图,加上激励源,然后单击防真按钮即可自动开始。2PCB板设计(1) 定元件的封装 打开网络表(可以利用一些编辑器辅助编辑),将所有封装浏览一遍,确保所有元件的封装都正确无误并且元件库中包含所有元件的封装,网络表中所有信息全部大写,一面载入出问题,或PCB BOM不连续。 标准元件全部采用公司统一元件库中的封装。
10、元件库中不存在的封装,应自己建立元器件库。(2) 建立PCB板框 根据PCB结构图,或相应的模板建立PCB文件,包括安装孔、禁布区等相关信息。 尺寸标注。在钻孔层中应标明PCB的精确结构,且不可以形成封闭尺寸标注。(3) 载入网络表 载入网表并排除所有载入问题,具体请看PROTEL技术大全。其他软件载入问题有很多相似之处,可以借鉴。 如果使用PROTEL,网表须载入两次以上(没有任何提示信息)才可以确认载入无误。(4) 布局 首先要确定参考点。一般参考点都设置在左边与底边的边框线的交点(或延长线的交点)上或印制板的插件的第一个焊盘。 一但参考点确定以后,元件布局、布线均以此参考点为准。布局推荐
11、使用25MIL网格。 根据要求先将所有有定位要求的元件固定并锁定。 布局的基本原则 A. 遵循先难后易、先大后小的原则。B. 布局可以参考硬件工程师提供的原理图与大致的布局,根据信号流向规律放置主要原器件。C. 总的连线尽可能的短,关键信号线最短。D. 强信号、弱信号、高电压信号与弱电压信号要完全分开。E. 高频元件间隔要充分。F. 模拟信号、数字信号分开。 相同结构电路部分应尽可能采取对称布局。 按照均匀分布、重心平衡、版面美观的标准来优化布局。(5) PCB设计遵循的规则 地线回路规则:图11 地线回路规则环路最小规则,即信号线与其回路构成的环面积要尽可能小,环面积要尽可能小,环面积越小,
12、对外的辐射越少,接收外界的干扰也越小。针对这一规则,在地平面分割时,要考虑到地平面与重要信号走线的分布,防止由于地平面开槽等带来的问题;在双层板设计中,在为电源留下足够空间的情况下,应该将留下的部分用参考地填充,且增加一些必要的过孔,将双面信号有效连接起来,对一些关键信号尽量采用地线隔离,对一些频率较高的设计,需特别考虑其地平面信号回路问题,建议采用多层板为宜。 窜扰控制窜扰(CrossTalk)是指PCB上不同网络之间因较长的平行布线引起的相互干扰,主要是由于平行线间的分布电容与分布电感的作用。克服窜扰的主要措施是:A.加大平行布线的间距,遵循3W规则。B.在平行线间插入接地的隔离线。C.减
13、少布线层与地平面的距离 屏蔽保护图12 屏蔽保护对应地线回路规则,实际上也是为了尽量减小信号的回路面积,多用于一些比较重要的信号,如时钟信号,同步信号;对一些特别重要,频率特别高的信号,应该考虑采用铜轴电缆屏蔽结构设计,即将所布的线上下左右用地线隔离,而且还要考虑好如何有效的让屏蔽地与实际地平面有效结合。 走线方向控制规则相邻层的走线方向成正交结构,避免将不同的信号线在相邻层走成同一方向,以减少不必要的层间窜扰;当由于板结构限制(如某些背板)难以避免出现该情况,特别是信号速率较高时,应考虑用地平面隔离各布线层,用地信号线隔离各信号线。 电源与地线层的完整性规则对于导通孔密集的区域,要注意避免孔
14、在电源与地层的挖空区域相互连接,形成对平面层的分割,从而破坏平面层的完整性,并进而导致信号线在地层 的回路面积增大。四、 软件编程1、软件流程图本设计软件主程序流程图如图13所示。图13 主程序流程图2、主程序 下面介绍main.c主程序编写,其他程序略。(1) 头文件与一些宏定义#include /调用单片机头文件#define uchar unsigned char /无符号字符型 宏定义变量范围0255#define uint unsigned int /无符号整型 宏定义变量范围065535#include /#include lcd1602.hsbit CS=P24;/CS定义为P2
15、口的第4位脚,连接ADC0832CS脚sbit SCL=P23;/SCL定义为P2口的第3位脚,连接ADC0832SCL脚sbit DO=P22;/DO定义为P2口的第4位脚,连接ADC0832DO脚sbit beep = P32; /蜂鸣器IO口定义long dengji,s_dengji = 50; /酒精等级bit flag_300ms ;uchar key_can; /按键值的变量uchar menu_1; /菜单设计的变量uchar flag_clock;#include eeprom52.h#include lcd1602.h/*1ms延时函数*/void delay_1ms(ui
16、nt q)uint i,j;for(i=0;iq;i+)for(j=0;j120;j+);/*把数据保存到单片机内部eeprom中*/void write_eeprom()SectorErase(0x2000);/byte_write(0x2000, s_dengji);byte_write(0x2001, s_dengji);byte_write(0x2060, a_a);/*把数据从单片机内部eeprom中读出来*/void read_eeprom()/s_dengji = byte_read(0x2000);s_dengji = byte_read(0x2001);a_a = byte_
17、read(0x2060);/*开机自检eeprom初始化*/void init_eeprom()read_eeprom();/先读if(a_a != 2)/新的单片机初始单片机内问eeproms_dengji = 80;a_a = 2;write_eeprom();/*读数模转换数据*/请先了解ADC0832模数转换的串行协议,再来读本函数,主要是对应时序图来理解,本函数是模拟0832的串行协议进行的/ 1 0 0 通道/ 1 1 1 通道 unsigned char ad0832read(bit SGL,bit ODD)unsigned char i=0,value=0,value1=0;S
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 酒精 浓度 测试仪 设计 详解
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内