ImageVerifierCode 换一换
格式:DOCX , 页数:60 ,大小:396.43KB ,
资源ID:11957269      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-11957269.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(完整版酒精浓度测试仪设计详解doc.docx)为本站会员(b****8)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

完整版酒精浓度测试仪设计详解doc.docx

1、完整版酒精浓度测试仪设计详解doc酒精浓度测试仪设计报告酒精浓度测试仪设计报告 1一、 设计意义 3二、 硬件设计 31、设计框图 32、乙醇信号检测及调理电路 43、单片机电路 74、显示电路 85、供电及程序下载电路 9三、 Protel 硬件开发软件 101 Protel 软件组成 102 PCB 板设计 11四、 软件编程 131、软件流程图 132、主程序 14五、 下载与调试 201、 USB 转串口驱动安装 202、 下载程序 21参考文献 22程序 22一、 设计意义自刑法修正案 ( 八) 和修改后的道路交通安全法正式实施,“醉酒驾驶”正式入刑。 不仅交警部门, 而且很多车主都

2、期盼能够有便携仪器方便地测量气体酒精浓度,为安全驾驶提供保障,有效减少重大交通事故的发生。本研究设计的酒精浓度测试仪是一款实用性强、 安全可靠的气体乙醇浓度检测工具,采用高精度 MQ-3乙醇气体传感器对空气中的乙醇浓度进行检测,利用宏晶公司高性能低成本单片机 STC89C52对检测信号进行 A/D 转换和处理,最后通过液晶屏显示输出。本研究设计的酒精浓度测试仪还具有醉酒阈值设定功能,可以根据法律法规或用户需要设定修改醉酒阈值,并进行保存。二、 硬件设计1、设计框图本研究设计的酒精浓度测试仪框图如图 1 所示。 MQ-3 乙醇气体传感器输出信号经信号调理电路处理, 输出随乙醇浓度变化的电压信号,

3、 该电压信号送入单片机系统,经 AD 转换,与设定的醉酒阈值进行比较,并显示或报警。MQ-3 传感器模块MQ-3 气体传感器信号调理电路模拟电压信号STC12C5A16AD 单片机模/数转换电压 /酒精浓度转换醉酒阈值阈值比较 外部 EEPROM酒精浓度显示 过阈报警图 1 酒精浓度测试仪方框图2、乙醇信号检测及调理电路MQ-3乙醇气体传感器可以应用用于机动车驾驶人员及其他严禁酒后作业人员的现场检测,也用于其他场所乙醇蒸汽的检测。其技术特点为:对乙醇蒸汽有很高的灵敏度和良好的选择性快速的响应恢复特性长期的寿命和可靠的稳定性简单的驱动回路主要技术指标:MQ-3乙醇气体传感器灵敏度曲线如图 2 所

4、示,其传感原理为气敏电阻的输出阻值随乙醇气体等浓度变化而变化。图 2 MQ-3 乙醇气体传感器灵敏度曲线MQ-3乙醇气体传感器管脚与测试电路如图 3 所示。(a) 管脚图 (b) 测试电路图 3 MQ-3 乙醇气体传感器管脚及测试电路MQ-3 乙醇气体传感器及其调理电路原理如图 4 所示。其外形如图 5 所示。经过调理,检测信号由电阻值转变成电压值, 便于后续电路进行 A/D 转换和处理。图4 传感器及调理模块原理图该传感器模块具有如下特点,方便与单片机系统接口组成检测仪器。具有信号输出指示。双路信号输出(模拟量输出及 TTL 电平输出)TTL 输出有效信号为低电平。(当输出低电平时信号灯亮,

5、可直接接单片机 )模拟量输出 05V 电压,浓度越高电压越高。3、单片机电路本设计选用宏晶公司高性能单片机 STC89C52,其管脚如图 6 所示。图6 STC89C52 单片机管脚图该芯片为 52 内核 8 位单片机,适用于常用检测电路。 由 STC89C52组成的单片机系统原理图如图 7 所示。图中 AOUT为 MQ-3传感器模块输出的检测电压信号,送入 ADC0832采集芯片端口进行处理, 该信号可以根据乙醇气体浓度直接输出报警信号,报警阈值通过模块上的电位器进行调节。图7 单片机系统原理图图7 中,按键 K2 和 K3 为醉酒阈值调整键,其中 K2 为“增加”, K3 为“减小”按键。

6、 L2 和 L3 为报警指示灯,分别可以进行酒后和醉酒两级报警。4、显示电路显示部分采用 SMC 1602液晶屏进行数据显示,其主要技术参数为:表 1 液晶屏技术指标接口信号说明如表 2 所示。表 2 液晶屏接口信号说明与单片机接口电路如图 8 所示。其中 J2 的 3 脚为背光引脚, R9 和 R10电阻用于调节背光亮度。 J2 的 4、5、6 引脚分别接液晶的 RS、 E/W和 E 控制引脚, J2 的 7 14 引脚为数据引脚。图 8 LCD 与单片机接口电路5、供电及程序下载电路本设计采用电池盒接口供电, 电源电压 5V 。同时,其电路原理如图 10 所示。图 10 供电及程序下载电路

7、三、 Protel 硬件开发软件Protel 是目前国内最流行的通用 EDA 软件,它是将电路原理图设计、 PCB 板图设计、电路仿真和 PLD 设计等多个实用工具软件组合后构成的EDA 工作平台,是第一个将 EDA 软件设计成基于 Windows 的普及型产品。它集成了软件界面、仿真功能和PLD设计和信号完整性分析,在此基础上Protel 99SE又增加了一些新的功能,用户使用更加方便灵活。Protel的功能十分强大,在电子电路设计领域占有极其重要的地位。它以其强大功能和实用性,逐渐获得广大硬件设计人员的青睐,是目前众多EDA设计软件中用户最多的产品之一。1 Protel 软件组成Prote

8、l 软件主要由电路原理图设计模块、印制电路板设计模块( PCB 设计模块)、电路信号仿真模块和 PLD 逻辑器件设计模块等组成,各模块具有强大的功能,可以很好的实现电路设计与分析。(1)原理图设计模块( Schematic 模块)电路原理图是表示电气产品或电路工作原理的重要技术文件,电路原理图主要由代表各种电子器件的图形符号、线路和结点组成。图4.1 所示为一张电路原理图。该原理图是由 Schematic 模块设计完成的。Schematic模块具有如下功能:丰富而灵活的编辑功能、在线库编辑及完善的库管理功能、强大的设计自动化功能、支持层次化设计功能等。(2)印制电路板设计模块( PCB设计模块

9、)印制电路板( PCB)制板图是由电路原理图到制作电路板的桥梁。设计了电路原理图后,需要根据原理图生设计成印制电路板的制板图,然后在根据制板图制作具体的电路板。印制电路板设计模块具有如下主要功能和特点:可完成复杂印制电路板( PCB)的设计;方便而又灵活的编辑功能;强大的设计自动化功能;在线式库编辑及完善的库管理;完备的输出系统等。(3)电路信号仿真模块电路信号仿真模块是一个功能强大的数字 /模拟混合信号电路仿真器,能 提供 连 续的 模拟 信 号 和离 散的 数 字信 号仿 真 。 它运 行 在 Protel 的EDA/Client 集成环境下,与 Protel Advanced Schem

10、atic 原理图输入程序协同工作,作为 Advanced Schematic 的扩展,为用户提供了一个完整的从设计到验证仿真设计环境。在Protel 中进行仿真,只需从仿真用元器件库中放置所需的元器件,连接好原理图,加上激励源,然后单击防真按钮即可自动开始。2 PCB 板设计(1)定元件的封装 打开网络表(可以利用一些编辑器辅助编辑) ,将所有封装浏览一遍,确保所有元件的封装都正确无误并且元件库中包含所有元件的封装,网络表中所有信息全部大写,一面载入出问题,或 PCB BOM 不连续。 标准元件全部采用公司统一元件库中的封装。 元件库中不存在的封装,应自己建立元器件库。(2)建立 PCB 板框

11、 根据 PCB 结构图,或相应的模板建立布区等相关信息。 尺寸标注。在钻孔层中应标明 PCB闭尺寸标注。(3) 载入网络表PCB 文件,包括安装孔、禁的精确结构,且不可以形成封 载入网表并排除所有载入问题,具体请看 PROTEL 技术大全 。其他软件载入问题有很多相似之处,可以借鉴。 如果使用 PROTEL ,网表须载入两次以上(没有任何提示信息)才可以确认载入无误。(4)布局 首先要确定参考点。一般参考点都设置在左边和底边的边框线的交点(或延长线的交点)上或印制板的插件的第一个焊盘。 一但参考点确定以后,元件布局、布线均以此参考点为准。布局推荐使用 25MIL 网格。 根据要求先将所有有定位

12、要求的元件固定并锁定。 布局的基本原则A.遵循先难后易、先大后小的原则。B.布局可以参考硬件工程师提供的原理图和大致的布局,根据信号流向规律放置主要原器件。C.总的连线尽可能的短,关键信号线最短。D.强信号、弱信号、高电压信号和弱电压信号要完全分开。E.高频元件间隔要充分。F.模拟信号、数字信号分开。 相同结构电路部分应尽可能采取对称布局。 按照均匀分布、重心平衡、版面美观的标准来优化布局。(5)PCB 设计遵循的规则 地线回路规则:图 11 地线回路规则环路最小规则,即信号线与其回路构成的环面积要尽可能小,环面积要尽可能小,环面积越小,对外的辐射越少,接收外界的干扰也越小。针对这一规则,在地

13、平面分割时,要考虑到地平面与重要信号走线的分布,防止由于地平面开槽等带来的问题;在双层板设计中,在为电源留下足够空间的情况下, 应该将留下的部分用参考地填充, 且增加一些必要的过孔,将双面信号有效连接起来,对一些关键信号尽量采用地线隔离,对一些频率较高的设计, 需特别考虑其地平面信号回路问题, 建议采用多层板为宜。 窜扰控制窜扰( CrossTalk )是指 PCB 上不同网络之间因较长的平行布线引起的相互干扰,主要是由于平行线间的分布电容和分布电感的作用。克服窜扰的主要措施是:A. 加大平行布线的间距,遵循 3W 规则。B.在平行线间插入接地的隔离线。C.减少布线层与地平面的距离 屏蔽保护图

14、 12 屏蔽保护对应地线回路规则,实际上也是为了尽量减小信号的回路面积,多用于一些比较重要的信号,如时钟信号,同步信号;对一些特别重要,频率特别高的信号,应该考虑采用铜轴电缆屏蔽结构设计,即将所布的线上下左右用地线隔离,而且还要考虑好如何有效的让屏蔽地与实际地平面有效结合。 走线方向控制规则相邻层的走线方向成正交结构,避免将不同的信号线在相邻层走成同一方向,以减少不必要的层间窜扰;当由于板结构限制(如某些背板)难以避免出现该情况,特别是信号速率较高时,应考虑用地平面隔离各布线层,用地信号线隔离各信号线。 电源与地线层的完整性规则对于导通孔密集的区域,要注意避免孔在电源和地层的挖空区域相互连接,

15、形成对平面层的分割,从而破坏平面层的完整性,并进而导致信号线在地层 的回路面积增大。四、 软件编程1、软件流程图本设计软件主程序流程图如图 13 所示。数据初始化定时器初始化A/D 转换初始化显示初始化进入后台 while 循环触发 A/D 转换换算酒精浓度酒精浓度显示超过阈值吗?是报警否酒精浓度显示有键按下吗?是按键处理否图 13 主程序流程图2、主程序下面介绍 main.c 主程序编写,其他程序略。(1) 头文件和一些宏定义#include /调用单片机头文件#define uchar unsigned char / 无符号字符型 宏定义 变量范围 0255#define uint uns

16、igned int /无符号整型 宏定义 变量范围 065535#include /#include lcd1602.hsbit CS=P24; /CS 定义为 P2 口的第 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;/ 按键值

17、的变量uchar menu_1;/菜单设计的变量uchar flag_clock;#include eeprom52.h#include lcd1602.h/*1ms 延时函数 */void delay_1ms(uint 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_

18、a);/* 把数据从单片机内部 eeprom 中读出来 */void read_eeprom()/ s_dengji = byte_read(0x2000);s_dengji = byte_read(0x2001);a_a = byte_read(0x2060);/* 开机自检 eeprom 初始化 */void init_eeprom()read_eeprom();/先读if(a_a != 2)/新的单片机初始单片机内问eeproms_dengji = 80;a_a = 2;write_eeprom();/* 读 数 模 转 换 数 据*/请先了解 ADC0832 模数转换的串行协议,再来读

19、本函数,主要是对应时序图来理解,本函数是模拟 0832 的串行协议进行的/1 0 0 通道/1 1 1 通道unsigned char ad0832read(bit SGL,bit ODD)unsigned char i=0,value=0,value1=0;SCL=0;DO=1;CS=0; /开始SCL=1; /第一个上升沿SCL=0;DO=SGL;SCL=1; /第二个上升沿SCL=0;DO=ODD;SCL=1; /第三个上升沿SCL=0; /第三个下降沿DO=1;for(i=0;i8;i+)SCL=1;SCL=0; / 开始从第四个下降沿接收数据value=1;if(DO)value+;

20、for(i=0;i=1;if(DO)value1+=0x80;SCL=1;SCL=0;CS=1;SCL=1;if(value=value1)/ 与校验数据比较,正确就返回数据,否则返回0return value;return 0;/* 定时器 0 初始化程序 */void time_init()EA= 1;/ 开总中断TMOD = 0X01;/ 定时器 0、定时器1 工作方式 1ET0= 1;/ 开定时器 0 中断TR0= 1;/ 允许定时器 0 定时/* 按键处理显示函数 */void key_with()if(key_can = 1)s_dengji + ;/ 酒精浓度设置数加1if(s_

21、dengji 999)s_dengji = 999;if(key_can = 2)s_dengji -= 1;/酒精浓度设置数减1if(s_dengji = s_dengji )/ 报警value +;if(value = 2)value = 10;beep = beep; / 蜂鸣器报警elseif(dengji s_dengji)/取消报警value = 0;beep = 1;/* 主函数 */void main()beep = 0;/开机叫一声delay_1ms(150);P0 = P1 = P2 = P3 = 0xff;init_eeprom();/单片机 IO 口初始化为/读 eep

22、rom 数据1time_init();/ 初始化定时器init_1602();while(1)key();if(key_can 10)/独立按键程序key_with();/按键按下要执行的程序if(flag_300ms = 1)flag_300ms = 0;clock_h_l(); /报警函数dengji = ad0832read(1,0);dengji = dengji * 450 / 255.0;dengji = dengji - 130;if(dengji 0)dengji = 0;dengji = dengji * 2;/ 首先减去零点漂移,一般是 1V/将 mV 转变成 mg/L ,

23、系数需要校准/电压每升高 0.1V ,实际被测气体的浓度增加 20ppm/1ppm=1mg/kg=1mg/L=1 10-6 常用来表示气体浓度,或者溶液浓度。write_sfm2(1,9,dengji); / 显示酒精浓度/* 定时器 0 中断服务程序 */void time0_int() interrupt 1static uchar value;TH0 = 0x3c;TL0 = 0xb0; / 50msvalue +;if(value % 6 = 0)flag_300ms = 1; /300msvalue = 0;五、 下载与调试当程序在 uVision 环境下编写完成,并编译生成 .he

24、x 文件后,就可以下载并进行调试了。1、 USB 转串口驱动安装打开 USB 驱动文件夹下的 PL2303_Prolific_DriverInstaller_v130.exe 安装文件,按提示安装 USB 转串口驱动程序。 安装完成后,插入 USB 下载线后, 在开始 - 控制面板 - 打印机和其他硬件 - 设备管理器 ,在“端口” 分支下有( Prolific USB-to-Serial Comm Port(COMX) 。X 表示串口号,如果没有说明 USB 转串口驱动没有安装,须重新安装。记住括号里的 COM 口号。图 14 成功安装 USB 转串口驱动示意图2、 下载程序打开 STC 单片机下载软件文件夹,点击运行如下界面。STC_ISP_V481.exe 程序,出现图 15 下载软件正确选择 MCU 类型, COM 口(与刚才安装的 COM 号一致),最高波特率和最低波特率都选 2400bps 或者 1200bps (下载线内 PL2303 芯片所限,没办法!),并打开正确的 .hex 数据文件。点击“ Download/下载”按纽,窗口出现提示:C

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2