微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于STM32单片机的酒精浓度探测仪设计

基于STM32单片机的酒精浓度探测仪设计

时间:04-01 来源:互联网 点击:

是双路音频立体声放大器,以MULTI—WATT形式封装,专门为音乐设备和彩色电视机的高质量音频放大电路而设计。语音报警模块输出的左声道和右声道的语音信号通过电位器进入放大器中,进行语音信号的放大,电位器用来调节音量大小,放大后输出两路音频信号,将这两路分别接到两个扬声器上。

TDA7266功放电路简单,声音效果比较好,因此被广泛应用于高质量的音频放大上。功放模块电路如图6所示。

2.5 通信模块

要求通信距离为几十米到上千米时,广泛采用RS-485串行总线,RS-485采用平衡发送和差分接收的组合,因此具有抑制共模干扰的能力。加上总线收发器具有高灵敏度,能检测低至200 mV的电压,故传输信号能在千米以外得到恢复。RS-485接口总线上允许连接多达128个收发器,即具有多站能力,这样用户可以利用简单的RS-485接口方便地建立起设备网络。本设计中,正是考虑到酒精浓度探测仪的数据有可能要传回电脑上位机终端,要求传输距离比较远而且信号失真小,因此选择RS-485通信。

2.6 TFTLCD显示模块

酒精浓度探测仪在使用中,需要显示酒精浓度值大小、报警信息,同时还需要输入酒精浓度报警点预设值,用来设定酒精浓度报警的范围。因此,本设计中采用TFTLCD来显示酒精浓度值,TFTLCD具有触摸功能,可用于输入酒精浓度预设值。

TFTLCD采用了26万色的TFTLCD屏幕,分辨率为320×240,可以实现友好的人机接口界面显示。TFTLCD采用了Ilitek公司生产的ILI9320,它可以通过多种并行通信方式与单片机通信。TFTLCD屏幕自带电阻式触摸屏,利用压力感应进行控制,采用TI公司生产的作为触摸屏控制芯片。ADS7846内部集成了12位逐次逼近型A/D转换器,转换频率为125 kHz。使用时,ADS7846通过两次A/D转换得到触点位置的X、Y

坐标,通过SPI总线与STM32通信,完成控制信息的输入。

3 软件设计

3.1 总体软件设计方案

系统初始化完毕后,首先采集酒精浓度传感器的值,采用do…while()等待传感器初始化,直到最佳状态,否则就一直等待。传感器初始化完成之后,就开始进入循环检测模式,当有人吹气时,可根据斜率的变化范围检测到,然后判断其是否喝酒。当检测到酒精气体时,传感器的电导率将会随着气体浓度的增大而增大,导致与传感器连接的分压电阻的电压增大,单片机A/D接口的第7个通道将会采集此电压。当电压值增大到一定程度,即酒精浓度达到设定的值时,就会将标志位置为喝酒状态;如果电压降低,即酒精浓度为零,此时标志位置为正常状态。根据以上两种不同状态,蜂鸣器、语音模块以及LED指示灯进行不同的报警。单片机不停地进行定时的A/D转换,在转换结束中断中进行滤波、比较,两次A/D测量值的差值既是电压的变化率,也就是所需要的斜率值,将此值与之前设定的斜率范围值进行比较,从而也可以判断出被测者是否饮酒。LCD会一直将采集到的值进行滤波和取均值后的值进行动态显示。

3.2 斜率算法设计

斜率算法的设计中主要使用到了单片机的定时A/D转换资源,根据前文所述,需要计算电压变换的斜率,即电压在一定时间内的变化范围,使用定时A/D转换功能可轻易地实现这一需求。

图7为A/D转换中断程序流程图,在主程序中只要根据此中断设置的标志位即可作出相应的操作,比如语音播放的控制、蜂鸣器报警、LED灯的闪烁等。

结语

本文详细介绍了基于STM32的酒精浓度探测仪设计方法。该探测仪具有高精度、高灵敏度、友好的人机交互、智能化的语音报警、携带方便等优点,可适用于各种需要对人体酒精含量进行检测的场合,尤其适用于酒后驾车的检测,具有广阔的应用前景。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top