基于STM32单片机控制的多传感器集成的汽车无盲区导航仪
2018-05-23杨俊杰解鹏飞张芝玲李伟豪王宁冉春秋汪语哲
杨俊杰 解鹏飞 张芝玲 李伟豪 王宁 冉春秋 汪语哲
摘 要: 论文给出了一款汽车无盲区导航仪的设计和制作方案。采用STM32单片机作为控制核心,通过OV7670摄像头、GPS定位模块、温湿度传感器、SD卡、TFT彩屏等外设元件实现了数据采集、存储和显示功能。单片机通过串口接收位置信息,中断接收图像与温湿度数据,将数据存储到SD卡中,驱动TFT显示屏显示,用WiFi上传到监控中心,保障了该款无盲区导航仪在汽车行驶过程中的安全性与舒适性。
关键词: STM32单片机;传感器;汽车盲区: 导航仪
Abstract:The paper proposes a design and manufacturing plan of the integrated car navigation system without blind area using single chip microcomputer. In the research STM32 microcontroller is used as the control center OV7670 camera GPS positioning module temperature and humidity sensors,SD card,TFT color display are used as data acquisition data storage and display.Location information is obtained through the serial port by SMC images and temperature and humidity data are received through interrupt. Moreover Using TFT for display data is first stored to the SD card and then uploaded to the monitoring center with WiFi which could guarantee the safety and comfort of vehicle during the driving.
Key words: STM32 microcontroller;sensor;car blind area;navigation machine
引言
随着家用汽车的推广普及,人们对于汽车驾驶过程中安全性能的要求也日趋突出。中国每年发生的交通事故中,因汽车盲区造成的事故数量也已呈现走高态势,对该问题开展研究具有重要意义。
汽车盲区的问题一直是汽车安全界的热点内容之一,若从汽车结构或制作工艺等方面提供改进,只能部分减少盲区问题。为了进一步提高存在盲区时的运行安全性,本文以32位的STM32F103ZET6单片机作为控制核心,低成本TFT-LCD作为图像显示器,同时采用了WiFi、GPS、温湿度传感器和OV7670等传感器模块作为外设,研发设计了一套无盲区导航仪[1-2]。该套产品以相对低廉的成本实现了无盲区导航基本功能,易于此后广阔范围内的发展与应用。
1 总体设计
在硬件方面,通过综合考虑无盲区导航仪的功能和产品成本,研究选用了STM32F103ZET6为核心控制器,通过控制OV7670摄像头、GPS定位模块、温湿度传感器来展开对汽车位置与周边环境的检测,并通过WiFi上传监控中心、SD卡存储实时数据、3.5寸显示屏直观浏览位置、路况与温湿度等信息。在软件部分,具体可以分为:主程序模块、数据采集模块、SD卡存储模块、液晶驱动模块等。本文研究系统的整体设计方案架构如图1所示。
2 系统功能分析
2.1 主控芯片选型及处理
选用STM32F103ZET6作为主控芯片,重点基于如下内容分析:
(1)在存储图像时,要求单片机能够提供充足的程序存储器和RAM空间,并且LCD液晶显示屏与摄像头模块都将占用更多的单片机引脚资源,而性能普通的STM32F103单片机将无法满足需求。
(2)单片机在存储数据时,需要先将二进制数据进行编码处理,再存储到SD卡中,然后使用WiFi上传,需要较快的处理速度[3]。由于本次设计与制作时间较短、难度较大,为了保证系统稳定性选用了设计成型的开发板和模块。
2.2 OV7670摄像头
摄像头采用OV7670模块,并具有高灵敏度和良好集成性,支持多种RGB输出格式,以及图像缩放等特点。该款摄像头还可以进行自动曝光控制,自动增益等设置。有效像素为30 W,能够满足项目需求。
2.3 温湿度传感器
数字温湿度传感器为DHT11。与同类产品相比,充分体现了超快响应、抗干扰能力强、性价比极高、单引脚通信、控制简单等优点。在车内外分布多个温湿度传感器,将每个采集到的数据进行分析对比,使测量结果更为精确。
2.4 GPS定位模块
导航过程中,汽车的位置信息由ATK-S1216F8-BD GPS/北斗模块实时采集。该模块设有167个通道,灵敏度-165 dBm,输出频率20 Hz。同时还进一步设计融合了可将配置存储到内部Flash,自带可充电后备电池,以及具备了支持热启动和快速定位等众多优点[4-5]。
2.5 WiFi模塊
研究采用ESP8266WiFi无线收发模块来上传数据,该模块价格低廉,选配有功能强大的内部跑LWIP协议,支持多种模式,AT指令完善简洁,大大降低了产品开发的难度。
2.6 SD卡
SD卡是一种基于半导体Flash的新一代记忆设备,对其性能优势可阐释为:极大的移动灵活性,极大的存储容量,极高的传输速率和很好的安全性。利用SD卡将OV7670采集到的图像存储下来,从而实现记录功能。
2.7 TFT彩屏显示
彩屏模块控制芯片为NT35310,屏幕大小为3.5寸,分辨率为480*320,16位颜色深度,色彩还原度好。控制接口为16位8080并口,SPI触摸屏接口。
3 系统软件设计
3.1 程序的总体设计
通过传感器采集数据,采用3.5寸液晶显示屏绘制显示,WiFi上传到数据库进行对比分析[6]。程序总体设计流程如图2所示。
3.2 数据采集子程序设计
通过给温湿度传感器发送触发信号,等待反馈,如果反馈超时,则重新发送触发信号。如果接收正常,则将接收到的数据进行校验对比分析,验证数据无误,则保留数据。通过串口向GPS模块发送各种请求定位等信息,并将接收到的各种结构的数据进行提取解析,从而得到当前的位置信息。等待摄像头帧中断,进入中断后读取摄像头采集到指定点的RGB数据,整合后存入SD卡中,再将数据发送给显示屏给出结果展示。数据采集程序流程设计如图3所示。
3.3 液晶显示子程序设计
将采集到的图像数据进行整合处理后通过时钟线与LCD的并行接口发送给显示屏生成效果展示。[22]这些液晶显示屏只要通过设置关联驱动控制线,以一定的时序发送对应的数据与控制命令,就可以方便地转入日常操作使用。图像显示的步骤流程如图4所示。
4 结束语
论文给出了一种以STM32单片机为核心的汽车无盲区导航仪的设计制作方案,实现了盲区图像,温湿度与位置信息的显示与上传,产品以相对低廉的成本提供了目前主流盲区导航仪的基本功能,有利于产品上市后的推广与应用。
参考文献
[1] 谭本忠,阳小良. 汽车车身构造与修复图解教程[M]. 北京:机械工业出版社,2008.
[2] 廖术娟. 基于电子透明理念的A柱盲区消除系统研究[D]. 成都:西南交通大学,2014.
[3] 张洋,刘军,严汉宇. 原子教你玩STM32[M]. 北京:北京航空航天大学出版社,2013.
[4] 孙洪亮. 基于FPGA的GPS芯片验证与实现研究[D]. 长春:长春理工大学,2009.
[5] 张波. 基于ARM的GPS接收系統的设计研究[D]. 天津:河北工业大学,2011.
[6] 谭浩强. C语言程序设计[M]. 2版. 北京:清华大学出版社,2008.