一种STM32智能车载防盗定位系统的设计
◎周迎勤侯晨祥
进入到二十一世纪以后,计算机的高速发展带动着科技的发展。时至今日,科技也逐渐在影响着生活,改变着生活。智能产品逐渐进入到人们的家庭生活当中去,文中给出了一种基于S3C2410硬件架构,结合GPS与GSM技术实现车辆防盗与远程无线报警的设计方案,通过借鉴Linux系统和MiniGUI到S3C2410的案例,并在此基础上开发GPS与GSM 模块驱动程序以及,上层应用程序,实现系统的软件架构。本次设计的基于STM32的智能车载防盗定位系统,以STM32F103C8T6为控制核心,配合内置GPS模块,GSM通讯模块,红外人体检测模块,倒车测距模块,OLED显示模块,实现车辆定位,与车主发送定位信息,检测人体,和倒车距离和定位信息的显示功能。在监控模式下,当有人以非常手段强行打开车门时,红外人体检测到人时会通过GSM通讯模块把车辆位置信息发送到车主手机,实现对车辆的保护;当车辆被盗走后,系统将间隔一段时间把车主汽车的实时位置以短信形式发送
一、系统总体方案
(一)智能车载防盗定位系统系统整体设计
本系统设计为监控模式,当有人强行打开车门时,本系统通过GSM模块把定位信息发送到车主手机,实现对汽车的保护;当汽车被盗走后,系统将车辆的位置以短信形式发送给车主,并且经过一段时间更新一次定位坐标,让车主及时掌握汽车的位置。
本系统主要设计的是以红外检测人体,判断是否强行启动汽车。如果汽车被强行启动,通过GPS/BD锁定汽车位置,再通过GSM给车主。同时具备倒车测距的功能,方便停车。该系统由红外人体检测、GPS/BD定位、倒车测距、OLED显示、GSM组成和图中部分对应,具体系统框图如下图1所示。
图1系统整体方案图
(二)单片机的选择
STM32F103C8T6作为本系统的控制平台,这个系列的控制器是一个主频高达72MHZ的MCU,对于传感器的数据处理运算能够强,对比STC89C52系列的8位单片机,此系列是一个32位的ARM内核的MCU,也是目前市面上比较流行的一种控制器。
(三)GSM模块的选择
SIM900A模块。此模块供电要求:5V供电,电脑调试初期电脑USB供电可以满足要求。因为我们加了
1000UF的大电容。长时间传输数据用电量大推荐1A以上的直流,TTL电平串口自适应兼容3.3V和5V单片机。可以直接连接单片机。待机在80MA左右,可以设置休眠状态在10MA左右低功耗。
(四)OLED显示模块的选择
1.3寸OLED屏幕。OLED又称为有机电激光显示、有机发光半导体。由邓青云教授于九十年代末期在实验室中发现。OLED显示技术具有自发光、广视角、高对比度、较低耗电、极高反应速度等优点。作为高端显示屏,价格上也会比液晶电视要贵。
(五)红外人体检测模块的选择
HC-SR501人体红外感应模块。全自动感应:当有人进入其感应范围则输入高电平,人离开感应范围则自动延时关闭高电平。输出低电平。光敏控制(可选):模块预留有位置,可设置光敏控制,白天或光线强时不感应。光敏控制为可选功能,出厂时未安装光敏电阻。感应模块在每一次感应输出后(高电平变为低电平),可以紧跟着设置一个封锁时间,在此时间段内感应器不接收任何感应信号。此功能可以实现(感应输出时间和封锁时间)两者的间隔工作,可应用于间隔探测产品;同时此功能可有效抑制负载切换过程中产生的各种干扰。
(六)GPS模块的选择
ATKS1216F8-BD模块。模块采用SI216F8-BD模组,体积小巧,性能优异。模块可通过串口调试助手进行各种参数设置,保存在内部FLASH,方便使用。模块自带天线接口,可以连接各种天线,建议连接GPS/北斗双模有源天线。模块兼容3.3V/5V电平,方便连接各种单片机系统。
(七)
倒车测距模块的选择
汽车智能防盗系统SR04M一体化超声波测距模块。本产品采工业级一体化超声波探头设计,全部采用原装进口低功耗芯片保证产品的稳定性和一至性,防水型探头,性能稳定。采用工业方案设计,高达8米远距离测量范围,盲区20cm,高稳定灵敏性能。一体化封闭式防水带线探头,适用于潮湿,恶劣的各种测量场合,多种模式选择适合不同的场合测试使用。超低功耗20uA低功耗电流,更宽工作电压3.0-5.5V,兼容更多环境使用,电池低功耗供电不二之选、多种模式以及功耗选择,适合不同场合的测试,以及教学试验。产品采用防水型超声波探头,防止因为水灰尘引起探头故障
二、系统的硬件设计
(一)STM32F103C8T6最小系统电路
STM32F103C8T6是一种72M主频的M3内核控制器,内部资源很丰富里面集成了包括时钟、flash、TIM、ADC、SPI、IIC等单元或通信接口。
1.电源电路部分:虽然控制器采用3.3V供电方式供电,但是本系统采用的STM32F103C8T6核心模块自带有1117芯片降压,由5V降到3.3V。而我们的适配器是5V的,这里需要将外部的电压给到单片机的5V电源引脚,电源部分最好加入一定0.1uf的电容来起到去耦滤波的作用。
2.时钟源电路部分:晶振的作用是为最小系统提供最基本的时钟信号,电容的作用是保证晶振输出的
震荡频率更加稳定。起振电容一般选择20pF、30pF即可。在选用晶振的时候最好使用8MHZ的,系统内部PLL方便进行倍频。
3.复位电路部分:STM32有三种复位方式:系统复位、电源复位和后备域复位。我们这里采用电源复位的方式,当RST引脚被拉低产生外部复位时,产生复位脉冲,从而使系统复位。
4.BOOT启动电路:STM32有三种对应的启动模式,用户可以通过设置BOOT0BOOT1来设置对应的模式,我们一般使用JTAG或者SWD调试下载程序,会下载到闪存里,所以可以直接将BOOT0引脚和BOOT1引脚置为低电平。
5.调试接口电路:常用的调试下载方式有JTAG和SWD,现在采用SWD调试接口,直接将SWCLK、SWDIO、GND、3.3V 引脚引出即可。
(二)GSM模块电路
GSM模块与单片机之间采用异步串行的方式进行通信仅需用到四线,除去电源线,只需用到两根线,RXT接收线、TXD发送线与单片机进行通讯。
(三)OLED模块电路
OLED的分辨率为128*64,就是说一共128*64的点,没一个点就是一个发光二极管,每一个汉字的正常显示都需要16*16个发光二极管,字母和符号只需要16*8个发光二极管,因为OLED是无字库显示屏,所以需要先生成用到的字符的字库,并把字库用IIC通讯下载到单片机内,通过单片机来控制OLED显示相应的内容。
显示电路使用IIC通讯时需要在SCL与SDA引脚上加4.7K上拉电阻,否则无法进行通讯。芯片供电为3.3V,进行电容滤波后给到芯片内部。
(四)红外人体检测模块电路
红外人体检测电路主要是为了检测是否有非车主人员要强行使用车辆。当人进入车辆时,传感器会检测到人体,并输出一个数字量信号,送给单片机,并通过两个可变电阻可以调节检测人体的范围和延时关闭的时间长度。
(五)GPS模块电路
ATKS1216F8-BD模块是一款高性能的双模定位模块,支持多种波特率通信,使用方便。模块电路包含PPS引脚连接在S1216FB-BD模组的1PPS端口,具有两种状态,分别为常亮和闪烁。常亮代表模块正常工作,指示灯闪烁时表示定位成功。图中的IPX接口,用来外接天线,我们可以把模块放在室内,天线放在室外,从而可以实现室内定位。
(六)倒车测距模块模块电路
HC-SR04超声波测距模块默认软件与硬件尺寸完全兼容原版本HC-SR04。采用升级控制芯片,预留串口模式,支持9600波特率UART通信。驱动芯片内置60V耐压LDO,使工作电压更宽(3-40V);解决老款盲区随电压有差异问题,全电压可达2CM超小盲区,4.5M典型最远测距,3mA超低工作电流。采用升级解调芯片,使其外围更加简洁。
三、系统的软件设计
(一)程序设计过程
1.提前配置好模块所要使用的底层程序如UART、GPIO、IIC等;
2.O LED模块的软件调试,正常刷新GPS,测距数据;
3.G PS模块的软件调试,单片机正常采集到经纬度、车速等数据;
4.G SM模块的软件调试,单片机可以控制GSM模块发送数据;
5.倒车测距模块的软件调试,通过串口采集到模块发送的距离数据;
6.红外人体检测模块的软件调试,通过人体检测单片机接收数据是否准确;
7.整机联调,测试整体功能的实现及修改软件中存在的
(作者单位:漯河技师学院)
问题。
(二)软件设计流程图
系统上电后首先进行程序初始化,初始化包括时钟初始化和GPIO 初始化以及串口等一些驱动程序以及GSM、GPS 等模块的初始化,通过IIC 配置寄存器里面的ID 地址和数据以及INT 管脚的中断初始化,利用OLED 显示定位坐标,车速,时间,倒车距离等数据。通过switch 语句来实现各个模块的相互调用,以及双模块或多模块功能的实现。
程序通过模块化编程的思路将各个功能进行整合后,最终构成了整个软件生态系统。
四、测试方案与测试结果(一)测试所用器材
测试仪器:5V/1A 直流电源适配器,万用表,示波器。测试软件:串口调试助手,GPS 通讯软件,keil5,Altium Designer。
(二)系统整体测试
系统测试主要包括以下几个方面:
1.整个系统的供电电压是否稳定,电源与地间是否存在短路;
2.单片机最小系统是否能够正常工作,JTAG 是否可以正常的烧写和擦除数据;
3.G PS 能否正常定位;
4.G SM 能否;
5.O LED 液晶显示屏的调试数据是否正常显示;
6.倒车测距模块能否正常检测距离;
7.红外人体检测模块能否检测到人体;
8.检测到人体时能否成功。(三)测试数据与结论1.测试数据。
首先通过对GPS 定位模块进行测试,对比测试在开启定位时OLED 显示的经纬度等数据,如表1。
表1GPS 定位/OLED 显示状态统计表
倒车测距模块检测各个手势时的正确率分析记录,如
表2。
表2使用各距离判定的显示一致成功率统计表
红外人体检测与GSM 短信一致成功率测试,如表3。
表3红外人体检测与GSM 短信一致成功率测试对比分析表
2.测试结论。
依据上述的测量数据,可以总结如下:
(1)系统可以实现用定位坐标显示,和倒车测距显示。(2)检测到人体显示界面。(3)显示发送界面后接收到发送的定位信息。
(4)系统整体功能调试,已经满足开题报告要求,可以实现车辆定位与倒车测距行显示,检测到人体后发送车辆定位信息。
五、结论
本系统是采用STM32单片机作为主控制器,系统主要由电源电路部分,传感器数据采集,显示部分,主控制器数据处理部分,短信发送部分,倒车测距部分,红外人体检测部分组成。其中GPS 定位和G
SM 是整个系统的核心,可以用来确定车辆位置,发送坐标到车主手机上。从整个系统的方案制定仍有优化的空间,
后续会进一步改进。
·
·