设计题目
智能酒精度测量系统
设计要求
基本要求:利用STM32C8T6单片机作为主控,运用MQ-3酒精测量装置、MLX90614红外测温装置进行数据采集,通过OLED进行显示并通过SYN6988进行语音播报。
扩展要求:运用ATK-1218GPS/北斗模块实现实时定位,运用SIM900A无线传输板将数据传输到移动端。
主要技术指标
体温采集数值与实际温度误差不大于0.1℃;
酒精度采集数据与实际数据误差不大于5%;
GPS采集数据误差在5m以内;
系统采集数据可实时传输至移动端
工作内容
根据设计要求,用集成块和分立元器件设计出符合要求的电路原理图和PCB版图;
运用Altium Designer软件对设计出的电路图进行原理图编辑、电路仿真、版图制作,包括封装的设计;
在通用板上安装并焊接元器件;
上电调试电路,保证功能的正确实现;
用32单片机来对各模块进行控制与信息交互;
撰写报告。
硬件电路设计思路
2.1MQ-3酒精度测量电路
MQ-3 气体传感器需要一个加热元件来正确识别酒精。考虑到安全问题因而在传感器构建有一个由两层薄薄的不锈钢网组成的防爆网络,这种不锈钢网包含一个加热元件和其他悬浮颗粒,只允许环境中的气态成分通过。MQ-3 气体检测传感器模块包括四个可用于从传感器提取数据的引脚:VCC、GND、Aout 和 Dout。MQ-3酒精检测传感器的引脚排列如下图1所示,MQ-3酒精检测传感器设计图如图2所示。

图1 MQ-3引脚排列图 图2 MQ-3设计图
2.2MLX90614红外测温电路
MLX90614 是一款红外非接触温度计。TO-39 金属封装里同时集成了红外感应热电堆探测器芯片和信号处理专用集成芯片。由于集成了低噪声放大器、17 位模数转换器和强大的数字信号处理单元,使得高精度和高分辨度的温度计得以实现。温度计具备出厂校准化,有数字 PWM 和 SMBus(系统管理总线)输出模式。作为标准,配置为 10 位的 PWM 输出格式用于连续传送温度范围为-20-120 ˚C 的物体温度,其分辨率为 0.14 ˚C。MLX90614的引脚分布如图3所示。

图3 MLX90614引脚图
2.3 ATK1218定位电路
本课程设计使用的是ATK1218定位模块,该模块支持GPS与北斗双模定位,用户可以通过该定位模块获取当前的经度、纬度、海拔高度、UTC国际时间等数据信息。需要注意的是模块返回的时间为UTC时间,若转化为北京时间则需要加8个小时。ATK1218模块如图4所示。

图4 ATK1218模块图
2.4SYN6658语音播报电路
SYN6658是中文语音合成芯片,通过UART 接口或SPI 接口通讯方式,接收待合成的文本数据,实现文本到语音的转换。可以采用GB2312、GBK、BIG5 和Unicode 四种编码方式。我们一般直接采用语音合成模块来实现语音的播放。本模块发音是实时的,本模块只要有文本数据发给模块就开始播放声音,如播放过程中有新文本数据,将停止当前播放,播放新的文本数据。SYN6658模块如图5所示。

图5 SYN6658模块图
2.5SIM900AGSM模块电路
SIM900A 模块采用串口(UART)通信,每个SIM900A 开发板都含有TTL 接口,其中主要用到的是5VR(RXD)和5VT(TXD),3VR和3VT一般用很少用。使用SIM900A需要使用支持GSM的手机卡,模块连接上手机卡后通过通信基站即可进行发送信息、打电话操作等。SIM900A模块图如图6所示。

图6 SIM900A模块图
软件程序设计思路
3.1总体设计概述
本课程设计使用的MQ-3酒精测量装置为IO口直接采集数据,MLX90614红外测温模块、OLED信息显示模块为I2C通信,SIM900AGSM模块、SYN6658语音播报模块、ATK1218定位模块使用的是USART串口协议与单片机建立数据交互。总体设计框图如图7所示。

图7 系统总体设计框图
3.2MQ-3酒精测量软件设计
MQ-3有两种输出方式,一种为数字量方式输出,另一种方式为模拟量输出。数字量输出方式输出高低电平,高电平表示含有酒精,低电平表示未含有酒精。模拟量输出可以准确地输出酒精度含量,但是将信息传递给单片机时需要进行模数转换将模拟信号转化为数字信号使单片机读取数据。本设计为酒精度测量装置,只需要鉴别用户是否喝酒因此使用的MQ-3数字量输出的方式。
本课程设计中将MQ-3酒精测量传感器上电后将数据输出引脚连接到单片机的IO口上,来使单片机采集该引脚上的电压值从而判断用户是否喝酒。
3.3MLX90614红外测温软件设计
MLX90614使用的是红外进行温度测量,用户可以在1m外的距离进行测温。MLX90614内置ADC转换器,可以将测得的温度进行模数转换为数字信号,将转换得到的数字信号进行存储之后通过I2C协议来对单片机进行信息传输。单片机收集到温度信号的数字量后进行转化,将单片机中存储的信息通过一定的比例关系转化为传感器测得的温度。
3.4 ATK1218定位与SYN6658语音播报软件设计
ATK1218模块与SYN6658语音播报模块均通过USART串口通信来与单片机建立连接。ATK1218模块可以测量用户的经度、纬度、海拔高度、UTC时间等,将测得的数据通过打包,并将打包好后的数据通过串口来对单片机进行信息发送。SYN6658语音播报模块与ATK1218定位模块类似,均通过串口通信来发送数据,但是ATK1218将信息上传到单片机,但是语音播报模块则是单片机将信息下发至SYN6658。STM32C8T6有3个串口通信,满足使用要求。ATK1218模块与SYN6658模块与单片机连接图如图8所示。

图8 串口通信连接图
3.5SIM900AGSM软件设计
与ATK1218模块与SYN6658模块一样,SIM900A同样使用USART串口来与单片机进行信息交互。同前两个模块不同,SIM900AGSM模块不但可以通过编写函数来对模块进行控制,同时也可以直接使用AT指令来对模块进行控制,用户可以通过AT指令来控制GSM模块如何发送信息以及发送什么样的信息。用户在操作界面直接sprintf AT指令即可。
系统调试结果及分析
4.1MQ-3模块性能测试
用户如果输出气体含有酒精,MQ-3绿灯常亮,且OLED屏幕提示“禁止开车”,如果输出气体无酒精,MQ-3绿灯不亮,OLED屏幕显示“一路顺风”。

图9 MQ-3性能测量(未含酒精)

图10 MQ-3性能测量(含酒精)
4.2红外测温、GPS测量性能测试

图11 红外测温、GPS性能测试图
4.3SIM900AGSM性能测试
本装置通过SIM900AGSM模块来执行发信息操作,提示用户是否喝酒。若用户没喝酒,state显示OK,若用户喝酒state显示intoxication。

图12 SIM900A性能测试图
[1]梁文静,董军堂,黄志,陈雷雷.基于STM32的景点向导机器人系统设计[J].电子制作,2022,30(15):48-51.DOI:10.16589/j.cnki.cn11-3571/tn.2022.15.016.
[2]张乾丰,何一民,袁文波,李清清,杨时钰,王良.基于SIM900A的智能抗台风窗户保护装置的设计[J].机械,2022,49(02):73-80.
[3]聂雄.基于SIM900A的智能家居报警系统设计[J].仪表技术,2022(01):8-12.DOI:10.19432/j.cnki.issn1006-2394.2022.01.004.
[4]高雪娟,董小倩,石萌,刘炜.基于MLX90614的智能体温安检系统[J].现代信息科技,2020,4(24):171-173+177.DOI:10.19850/j.cnki.2096-4706.2020.24.046.
[5]叶富邦.基于MLX90614红外传感器的机床测温系统设计[J].安徽职业技术学院学报,2019,18(03):24-27.
[6]陶杰,王欣,孙慧贤,尹文龙.基于MLX90614的温度实时检测系统[J].电子技术与软件工程,2017(21):75.
[7]吕晓颖.基于MQ-3的酒精检测系统设计[J].科技视界,2019(21):31-32.DOI:10.19694/j.cnki.issn2095-2457.2019.21.014.
[8]苑加和. MQ-3酒精气体传感器性能退化试验研究[D].哈尔滨理工大学,2016.
[9]李雯.基于MQ-3的酒精测试器的设计研究[J].电脑知识与技术,2015,11(20):181+201.DOI:10.14004/j.cnki.ckt.2015.1737.
[10]王彭辉. 城市道路积水深度监测系统设计与实现[D].南京信息工程大学,2022.DOI:10.27248/d.cnki.gnjqc.2022.000441.