版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于STM32单片机的简易车库管理系统设计目录TOC\o"1-3"\h\u247621绪论 [5],最大时钟速率可高达72MHz,拥有48K静态RAM,256KFLASH集成于芯片上,工作时仅需要2.0-3.6V应用电源供电。当CPU不需继续运行时,可以利用多种低功耗模式来节省功耗REF_Ref17094\w\h[6],所以STM32F1系列单片机具有低功耗和性能与价格比高的优势,完全适合用于本次设计开发。本次设计开发采用的是STM32F1系列的STM32F103C8T6芯片作为整个系统的主控电路。STM32F103C8T6芯片有48引脚,因为有一些非编程或其他需连接相关运行电路的引脚不需要引出,故核心板有40引脚。该核心板的USB接口电路目前只用于对核心板设备供电,如果外接电源过高,其中的电源控制电路使用ME6211芯片进行高电压转化,转化后的3.3V电压提供给STM32F103C8T6单片机稳定供电的,且可利用SWD接口下载烧录程序,对STM32F103C8T6单片机进行调试。STM32F103C8T6核心板原理图详见图3-1,实物及对应接口详见图3-2。图3-1STM32F103C8T6核心板原理图图3-2STM32F103C8T6核心板实物及对应接口图3.3DS1302实时时钟模块DS1302是一种被广泛运用的涓流式充电时钟控制器芯片,具有高性能、低功耗的优势REF_Ref4563\w\h[7]。它内含有一个实时时钟/日历和318位暂存数据储存RAM,接有一个备用纽扣电池CR2032,其电压为3V,其体积小,被运用于各种系统装置和机器。DS1302芯片的管脚少,可以仅通过三个接口就可以通过SPI通信与其他控制器进行连接通信,这样方便单片机的外部加用,也更能广泛被推广运用。它的时钟的读/写数据以一个字节式与单片机进行通信,也可以多字节与单片机进行通信REF_Ref4563\w\h[7]。本设计利用DS1302模块进行时间跟踪,设置STM32F103C8T6核心板的PB_8引脚接DS1302的CLK接口,PB_1引脚接DS1302的DAT接口,PB_0引脚接DS1302的RST接口。DS1302模块的电路原理图见图3-3,实物见图3-4。图3-3DS1302模块电路原理图图3-4DS1302模块实物图3.4环境监测模块3.4.1AM2320温湿度传感器AM2320数字温湿度传感器是一款复合型传感器,它输出给控制器的信号是已经经过校准的数字信号。该款传感器组成包括一个电容式感湿元件和一个高精度集成测温元件,且与一个高性能微处理器相连接。这款温湿度传感器具有材料与性能卓越、灵敏且工作反应快速、性价比对其他类型温湿度传感器而言高、超强抗干扰能力、可测量的温湿度范围广且测量结果精度高等优势。AM2320温湿度传感器与MCU间通信可以通过I2C和单总线两种方式,简单方便外接。本设计采用的是单总线的通信方式,将AM2320温湿度传感器的SDA接口上拉电阻后引接到STM32单片机的PB_7口,AM2320温湿度传感器测到的数据通过该接口传入单片机。该传感器的实物和引脚接线见图3-5。图3-5AM2320温湿度传感器实物及接口图3.4.2YL-38火焰传感器YL-38火焰传感器对火焰光谱最敏感,一般应用于发现火焰并报警的场景。该传感器通过红外发射管可以灵敏地检测到在波长范围内的光源,且可以通过模块上的数字电位器调节对火焰感应灵敏度。YL-38火焰传感器上接有两个LED指示灯,一个接通电源就会亮是作为电源指示灯D1,一个检测到火焰就会亮是作为开关警告指示灯D2,详见YL-38火焰传感器的电路原理图3-6。图3-6YL-38火焰传感器原理图YL-38火焰传感器有三线和四线接口的类型,本设计采用的是三线接口。YL-38火焰传感器的D0口接到STM32F103C8T6核心板的PA_0口,工作时向单片机传输数字信号,信号杂质少干净,故检测灵敏精确。该传感器封装器件小,方便外接使用,且驱动能力强。其接口定义见实物图3-7。图3-7YL-38火焰传感器实物图3.5OLED显示模块OLED是有机发光二极管(OrganicLightEmittingDiode)的简称。OLED有传送时间短、驱动反应快速,屏幕厚度薄,通上电后就可以亮的明显优势,且其构造生产过程较为简单,对于坏境温度的要求低,故被认为是下一代的平面显示器新兴应用技术REF_Ref25588\w\h[8]。本设计选用的显示器是四线OLED显示屏,该显示屏有四个外接接口,用两根线可以跟STM32单片机采用I2C方式通信,其中它的SCL引脚与STM32F103C8T6核心板的PB_10引脚相连,SCL引脚与核心板的PB_11引脚相连。该显示屏字体颜色为蓝色,尺寸大小为0.96寸,且其屏幕分辨率达到128*64,可满足文字、数字的清晰显示。图3-8OLED显示屏原理图本设计选用的OLED显示屏硬件原理图见上图3-8,可知该屏采用的驱动IC为SSD1306芯片。该电路包含一个稳压电压电路用来保护电路,一个复位电路确保一上电SSD1306能正常工作,排针引出四个引脚方便外接使用。OLED显示屏实物器件详见图3-9。图3-9OLED显示屏实物图3.6RFID-RC522模块射频识别(RFID)技术是无线电广播通信技术和雷达感应技术的发展与结合。RFID技术是通过感应与接收无线射频信号来实现感应与接收双方的双向通信的,达到主动识别标签目标并对其进行读写操作的技术,这是技术的优势是可以实现非接触式通信,往往被运用于物流交通过程中对目标货品的跟踪定向。RFID系统主要由硬件部分和软件系统,其中的硬件部分包括读写器、电子标签REF_Ref25085\w\h[9]。本设计采用的读写器电路采用的是MF-RC522芯片,该读卡器价格低廉,大范围使用成本低,使用操作简单容易上手,非常适合用于设计开发的用户。RC522模块读卡器由频射模块、高频磁场组成,MF-RC522是应用于高频段的,能适用于绝大多数坏境。RC522读卡器外拉七个引脚,与单片机采用SPI通信方式。RFID-RC522电路原理图详见图3-10。图3-10RFID-RC522模块电路原理图RFID-RC522模块的实物及引脚注释详见图3-11,本设计设计了该读卡器的RST、IRQ、MISO、SCK、SDA引脚分别与STM32F103C8T6核心板的PB_9、PB_15、PB_14、PB_13、PB_12引脚相接,采用SPI通信方式。图3-11RFID-RC522模块实物图本设计的电子标签采用的是S50非接触式IC卡,其容量为8K位EEPROM。每张IC卡都有唯一的32位编码序列号,支持多卡进行操作,内部自带有天线,没有安装内部电源,需要读写器感应进行外部供电。它且具有防冲突机制,内含加密控制逻辑和通讯逻辑电路,内部数据保存期可达10年REF_Ref32253\w\h[10]。3.7TTS语音模块TTS是TextToSpeech的缩写,即"从文本转到语音",是人与机器对话的一部分,指让机器能够说话REF_Ref324\w\h[11]。本文采用的是CN-TTS文字转语音模块,它可以利用MX25L6445E芯片对中文、英文字母和阿拉伯数字的文本进行合成,并且支持中文GBK编码集、支持大、小写英文字母混合播报REF_Ref24378\w\h[12]。该模块的实物器件外设九个接口,其采用UART串口模式与MCU进行通信,其串口通信支持9600bps,想要其播报什么内容就向其发送什么内容数据,非常简单方便使用。CN-TTS语音播报模块的实物图详见图3-12。图3-12TTS语音模块实物图4系统软件设计4.1软件开发平台本次设计使用的是KeilMDKv5软件开发平台,这款软件开发平台是针对ARM微控制器,是一款操作界面简洁全面、功能专业齐全的集成开发工具。该软件可以下载相关的库函数包,库函数功能全面且调用方便,是电子行业内开发人员使用率最高的C/C++编译的工具。该软件能够让用户高效进行单片机开发,提供用户C编译器、宏汇编、链接器、库管理等功能,因此用该软件平台来执行本次软件开发。其主程序页面见图4-1。图4-1KeiluVision5主程序页面4.2系统软件的整体架构本次系统软件设计包含了多个模块功能,要求单片机控制多个模块,这就要求在编写程序代码时分成几个模块来编写。在编写复杂程序时采用模块化方式编程,可以把杂糅的程序模块进行结构划分,这样可以方便程序的查错与增删修改,提高系统的调试效率,还能增加程序的可持续性和可移植性REF_Ref2199\w\h[13]。模块化编程是将系统分为几个部分,实现程序的模块化设计,降低程序复杂性,使整个设计的设计难度变小,调试过程变得更加简单。本次设计的整体程序框架如图4-2所示。图4-2整体程序框架如上图4-2所示,本设计主程序下包括九个主要程序模块:初始化模块、显示模块、刷卡监测模块(IC卡识别模块和计时计费模块)、串口通信模块、实时监测模块、语音播报模块、环境监测模块(AM2320温度传感器和YL-38火焰传感器)、按键复位模块和指示灯模块。采用模块化编程来编写整个程序,先分别编写好各模块的.h和.c文件,其中各模块的.c文件包含各模块的功能函数,然后在主函数中调用各模块的功能函数就可以实现各模块的功能,执行循环操作,最终实现整个系统所要求的的功能。4.3系统程序模块4.3.1主程序模块外部电源给系统装置上电,下载编译好的程序,程序会开始按照主程序MAIN.C执行,首先完成各串口各模块初始化步骤,RC522模块复位;其次获取并显示环境监测信息,包括AM2320温湿度,YL-38火焰传感器检测;然后调取DS1302模块的实时时间,RC522检测IC卡执行是否有车辆出入库的相关判断语句,根据反馈更新车库信息,出库则计算停车时间和停车费用,执行完成本设计功能的程序代码,不断地循环执行工作。当检测到有外部控制命令输入时,中断优先执行实现相关功能的语句。相关的主程序流程图如图4-3所示。图4-3主程序流程图4.3.2DS1302模块的程序设计STM32单片机对DS1302模块的驱动程序开始,先初始化变量,去掉写保护,进行初始时间的设置。要想实现STM32单片机对DS1302模块的运用控制,进行计时操作,就要对它的内部寄存器进行相关读写的操作,对于SCLK时钟信号的上升沿和下降沿对DS1302芯片进行不同的读写操作,这样不断地读取时间和日期并进行显示REF_Ref4563\w\h[7]。DS1302实时时间的程序流程图如图4-4所示。图4-4DS1302实时时间程序流程图4.3.3AM2320温湿度采集的程序设计本设计的AM2320温湿度传感器采用单总线的通信方式,将温湿度传感器的SDA接口上拉电阻后引接到STM32单片机的PB_7口。单片机上电后对AM2320温湿度传感器进行初始化,对它发送信号,释放总线等待温湿度传感器响应。当温湿度传感器响应后,单片机再读取其内部的40位数据,高16位为温度数据,再后16位为湿度数据,最后低8位为校验数据,计算并校验准确后更新显示输出REF_Ref15026\w\h[14]。以上为一个采样周期内的实现步骤,以周期时间为单位不断的循坏更新温湿度数据并显示输出,完整的AM2320温湿度采集程序设计流程图详见图4-5。图4-5AM2320温湿度采集程序设计流程图4.3.4YL-38火焰监测的程序设计YL-38火焰传感器模块在环境中火焰光谱或者光源达不到设定阈值时,它的D0口输出高电平,当外界环境火焰光谱或者光源超过设定阈值时,模块D0输出低电平。本设计中STM32F3C8T6核心板的PA_0与YL-38火焰传感器的D0口相连,单片机只要监测PA_0的值就可以监测到火焰并做出相应的命令操作,其程序代码详见图4-6。图4-6YL-38火焰传感器发现火焰并警报代码4.3.5OLED模块的程序设计进行OLED显示前可利用取模软件对要显示的内容进行C51语言的十六进制转换,STM32单片机控制OLED显示屏显示相关文字或者数据,这主要通过配置STM32单片机I/O口与OLED显示屏实现SPI通信,将想要显示数据传送给OLED显示驱动芯片SSD1306,令其通过设置页和列的地址完成片选、复位而进行显示和清屏等操作REF_Ref9288\w\h[15]。程序流程图如图4-8所示。图4-8OLED显示程序流程图4.3.6RFID模块的程序设计RC522模块的检测IC卡和读写操作程序设计思路是:在读取范围内,当RC522模块检测到了IC卡就会读取到IC卡的唯一标识码(序列号)和数据,并执行对该IC卡的操作程序命令。这一实现过程可以分为六个执行步骤:第一步为STM32单片机对RC522的各寄存器进行初始化操作,第二步为寻卡操作,第三步为防碰撞操作,第四步进行选卡操作,第五步进行密码验证操作REF_Ref2995\w\h[16],第六步对IC卡进行读数据块或者写数据块。根据上述过程RFID模块就完成了单片机、读写器和IC卡间的通信,RFID模块程序的驱动过程详见如图4-6。图4-6RC522程序驱动流程图4.3.7TTS语音播报模块的程序设计本设计采用的CN-TTS语音播报模块,该模块采用串口通信方式与控制器进行连接通信,在通信是把UART串口的波特率设置为9600bps,就可以通过串口传送想播报的内容来进行播放,操作使用起来简单方便REF_Ref18215\w\h[17]。控制器的TX引脚与该TTS模块的RX接口相接,控制器的RX引脚与该TTS模块的TX接口相接,详见图4-7TTS模块通讯连接图。图4-7TTS模块通讯连接图在运用CN-TTS语音合成模块进行语音播报时,MCU先前提将UART串口参数配置成(9600,8,N,1),再将要播报内容的中文转成TTS语音合成模块可识别的GBK码,将要播报内容的英文或数字转成TTS语音合成模块可识别的ASCII码,再传输到TTS模块进行语音合成,TTS模块完成语音播报。TTS模块播报函数程序详见图4-8。图4-8TTS语音播报模块播报函数5系统测试与结果分析完成本次设计实物成品焊接组装后,要对系统是否准确安全、稳定可靠和实用进行测试。系统测试要进行多组多次测试,要根据多组测试结果进行分析比较,得出测试结果,以方便及时修正错误,完善系统,从而确保实物装置系统能达到本文设计要求。5.1硬件测试本设计的实物由八部分的器件组合而成,包括STM32F103C8T6核心板、RFID-RC522模块读卡器、OLED显示屏、AM2320温湿度传感器、YL-38火焰传感器、DS1302时钟模块带电池、TTS文字转语音合成模块以及扬声器。八部分器件通过电路原理图,绘制PCB图,再利用单面覆铜板,电烙铁焊接组合成本设计所需要的实物装置。对于硬件部分的测试,首先,得确保连线正确。可以根据电路原理图和PCB图对实物电路进行线路排查,看各接口是否连接正确,正确连线包括不能少线、不能多线、更不能交线和错线。检查电路是否焊接正确,确保没有错漏电路,各模块器件间连接正常。最后采用USB接口通电,检查装置是否上电正常,观察STM32F103C8T6核心板指示灯是否正常亮。先观察一段时间的电路板,如果出现器件冒烟或者产生难闻的特殊气味,就要针对上述情况要及时做断电处理,以防烧坏电路器件。如图5-1为所示的系统装置正常上电。图5-1装置正常上电图5.2软件程序测试本设计程序采用的是模块化编程,在程序测试部分也结合硬件按模块来测试,具体分为主程序模块、DS1302实时模块、OLED显示模块、环境监测模块、RFID-RC522读写模块、TTS语音播报模块。其中主程序模块为整个系统的测试。首先测试OLED显示模块,在Keil5上编译单独编译OLED显示模块的程序,编译结果无报错,通过后使用数据线连接ST-link仿真下载器,将编译好的程序烧录到单片机核心板,观察是否能让OLED显示屏正确显示。OLED部分程序及编译结果如图5-2。图5-2OLED部分程序及编译结果其次测试DS1302实时模块,在Keil5上编译DS1302实时模块的程序,编译结果无报错,通过后使用数据线连接ST-link仿真下载器,将编译好的程序烧录到单片机核心板,观察OLED显示的实时时间是否正确。OLED显示屏上观察的时间如图5-3所示,OLED显示屏显示的时间与网络时间同步。再然后测试环境监测模块,包括AM2320温湿度传感器和YL-38火焰传感器的测试。在Keil5上单独编译AM2320温湿度传感器和YL-38火焰传感器部分的程序,编译结果无报错,通过后使用数据线连接ST-link仿真下载器,将编译好的程序烧录到单片机核心板,观察OLED显示屏显示输出温湿度和明火警告。环境监测模块测试结果如下图5-3所示,OLED屏最下方显示室内温湿度,打火机打火靠近火焰传感器时,OLED显示屏显示明火危险警告如图5-4。图5-3实时时间环境监测结果图图5-4火焰报警结果图然后测试RFID-RC522读写模块,包括三部分模块程序,在Keil5上单独编译RFID-RC522读写模块的程序,编译结果无报错,通过后使用数据线连接ST-link仿真下载器,将编译好的程序烧录到单片机核心板,观察OLED显示屏显示输出是否与M1卡相匹配。RFID-RC522读写模块测试结果如图5-5、5-6所示,当IC卡第一次刷卡,OLED显示卡号与剩余金额;IC卡第二次刷卡,OLED显示卡号与停车时间。图5-5IC卡第一次刷卡结果图图5-6IC卡第二次刷卡结果图最后对TTS语音播报模块进行测试,在Keil5上单独编译TTS语音播报函数模块的程序,编译结果无报错,通过后使用数据线连接ST-link仿真下载器,将编译好的程序烧录到单片机核心板,TTS语音播报停车费用程序见图5-5。图5-5语音播报停车费用程序5.3结果分析本设计的测试结果分析分成两部分,第一部分测试的是环境监测部分,主要是测试在不同时间下的温度、不同特定环境中的湿度以及在不同明火距离下检测到的的火焰结果,再进行对比结果分析;第二部分是对车库管理系统的车位数监测、RFID刷卡是否成功、停车时间、停车花费和余额进行分组测试对比,再进行结果分析。从这两部分的测试结果就可以测试出本设计的车库管理系统是否能实现所要求的功能,以及功能是否能稳定。5.3.1环境监测结果分析为测试AM2320温湿度传感器能稳定准确测量,本设计采取抽样测试法,在4月和5月中分别抽取5天,在同一时间段、在正常的统一的室内环境中来测量温度,把本系统测量到的温度与网上实时的温度作对比。因为在不同室内外环境中湿度差别较大,且网络湿度测量的是一片地方区域,而测量地点为室内小范围,不能用作参照对比,所以本文测试湿度是给不同的特定环境下观察湿度变化。温湿度测试结果详见下表5-1,5-2。表5-1湿度测试结果环境湿度正常室内84%喷1次水雾94%喷2次水雾99%靠近火焰15s82%靠近火焰30s76%靠近火焰60s64%表5-2温度测试结果日期测量温度/℃实际温度/度℃4月11日18184月16日20204月19日18184月22日28284月26日19195月2日30305月3日26265月4日22225月5日21215月6日2626由于本文不研究传感器的精确度,只要求AM2320温湿度传感器和YL-38火焰传感器能稳定监测到车库内环境变化,所以模拟了一些特殊环境下,观察本系统的环境监测模块是否监测到。根据表5-1与表5-2的测试结果,本系统的环境监测模块稳定,温度测量与网路温度整数范围内无差,湿度随环境的变化有明显的变化,可以监测到环境的变化。5.3.2系统管理结果分析为方便测试与演示,本设计设定了四张IC卡,代表四位车主,系统车库车位数为20,停车收费标准为每10秒收费3元,不足10秒按3元收费,以此累计计算停车费用。经过不断重复的修改和测试,最终的测试结果显示出该系统完成了本设计所要求的基本功能,并能稳定使用,测试结果数据见下列表。表5-3测试一结果卡号金额/元出/入库剩余车位数停车时间/秒停车花费/元余额/元1318821A409入19\\\431D921A470入18\\\E35F8E1A490入17\\\43F68D1A400入16\\\表5-4测试二结果卡号金额/元出/入库剩余车位数停车时间/秒停车花费/元余额/元1318821A409出1753406431D921A470出1873467E35F8E1A490出1910348743F68D1A400出20126394表5-5测试三结果卡号金额/元出/入库剩余车位数停车时间/秒停车花费/元余额/元1318821A406入19\\\431D921A467入18\\\E35F8E1A487入17\\\43F68D1A394入16\\\表5-6测试四结果卡号金额/元出/入库剩余车位数停车时间/秒停车花费/元余额/元1318821A406出1763403431D921A467出18206461E35F8E1A487出1926947843F68D1A394出203612382针对该系统进行了四次测试,四次测试分成两组,其中测试一和测试二是前后衔接的一组,测试三和测试四是前后衔接的一组。测试一是测试系统能否正确对四张IC卡进行检测,能否对车位数进行正确监测;测试二是在测试一四张IC卡都进库的基础上,对四张IC卡出库后对停车时间、停车花费以及车位数监测进行测试。另一组的测试是对第一组测试的重复,确保测试的准确,检测系统的稳定性。根据上述表格的测试结果可知,该装置达到了本文设计的具体要求,能对车库的车位数进行监测,对停车时间及停车花费进行监测与计算。在测试过程中各模块能正常运行工作,OLED显示屏能准确显示,RFID模块能准确识别IC卡,TTS语音能正确播报语音,DS1302实时模块计时存在些许误差,但在接受范围内。6总结与展望6.1总结本次设计的硬件部分采用STM32F103C8T6核心板作为控制核心板,之所以采用核心板是因为使用方便快捷,可以提高开发速度,迅速设计完成系统的硬件部分。但是有其利必有其弊,直接使用核心板使整个电路板的体积偏大。STM32F103C8T6核心板外连RFID模块、DS1302模块、OLED模块、AM2320温湿度传感器、YL-38火焰传感器及TTS文字转语音模块,整个系统装置的结构组成简单,生产成本低廉,可以根据不同规模的车库要求进行功能扩展,进行针对性的组装升级。本设计由于设计时间紧张,器件简单,电路结构不复杂,采用的都是成本器件模块,这样有利于大规模生产推广运用到车库管理中。本设计的简易车库也有缺点,它功能还不够全面,稳定性不足,该系统虽然实现了车库管理的基础功能与要求,但是该设计还有许多地方需要进行改进优化。6.2展望基于IC卡的RFID技术应用车库还是会有一定的局限性,随着手机的发展,IC卡也会逐渐会被手机
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 校园欺凌追究责任制度
- 旅游景区安全责任制度
- 厨房区域卫生责任制度
- 学校炊事员岗位责任制度
- 采购工作小组责任制制度
- 小学平安建设责任制度
- 逐级落实防控责任制度
- 小区门岗工作责任制度
- 幼儿园意外事故责任制度
- 厨房操作间安全责任制度
- 2026年成都市郫都区产业园区面向社会公开招聘员额制人员考试参考试题及答案解析
- 2025年福建新华研学国际旅行社有限责任公司招聘备考题库及答案详解1套
- 2026年内蒙古交通职业技术学院单招职业倾向性测试题库及答案详解(基础+提升)
- 【历史】2025-2026学年统编版八年级历史下册知识点填空
- 2025年医疗影像诊断操作流程指南
- 部编版高中语文背诵补充篇目汇-总(选修)
- 肾性贫血课件
- 肝癌热消融课件
- 中石化加油站培训课件
- Dev-C++基础教程习题解答
- 中国大唐集团电子商城平台
评论
0/150
提交评论