《基于Zigbee的车库管理系统的设计与实现——硬件模块的设计 (1).docx》由会员分享,可在线阅读,更多相关《基于Zigbee的车库管理系统的设计与实现——硬件模块的设计 (1).docx(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、页眉设置 论文编号: 广州商学院本科毕业论文(设计)题 目:基于Zigbee的车库管理系统的设计与实现硬件模块的设计姓 名:何栩欣学 号:201508030039学 院:信息技术与工程学院专业班级:电子信息科学与技术 应电1501指导教师:梁建军2019年5月 14 日基于Zigbee的车库管理系统的设计与实现本科毕业论文(设计)原创性声明本人郑重声明:所呈交的毕业论文(设计),是本人在导师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品或成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本声明的法律结果
2、由本人承担。作者签名: 日期: 年 月 日本科毕业论文(设计)版权使用授权书本论文(设计)作者完全解学校有关保留、使用毕业论文(设计)的规定,同意学校保留并向国家有关部门或机构送交论文(设计)的复印件和电子版,允许论文(设计)被查阅和借阅。本人授权广州商学院可以将本论文(设计)的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本论文(设计)。本论文(设计)属于1保密,在_年解密后适用本授权书。2不保密。(请在以上相应方框内打“”)作者签名: 日期: 年 月 日指导老师签名:日期: 年 月 日基于Zigbee的车库管理系统的设计与实现摘要本文介绍一款智能车库系统
3、模型的硬件部分的电路设计和驱动流程,以STM32单片机为操控核心,通过Zigbee模块无线数据传输实现操控核心与PC的通信交流,而Zigbee模块用串口通信的方法与上位机进行通信,即ZigbeeA无线ZigbeeB串口上位机的数据通信方式。使用RFID作为识别车辆是否进出车库的条件来调整上位机软件部分再通过硬件部分进行反馈、调整。舵机作为车库的闸门,当收到上位机的信息后,便会对此信息作出判断并对其响应,作出开门和关门的操作,使汽车进出车库。使用4个超声波模块实时对4个车库车位进行监控并在屏幕上显示出车库车位的空余情况,让车位的状况能一目然,亦方便上位机安排车位。收费计时情况在软件部分,本文不再
4、一一阐述。该智能车库系统模型系统使用Zigbee无线通信、超声波测距、RFID等技术。解决汽车在停车资源紧缺的大型车库的停车问题,以至于提高汽车车主的停车效率和车位的使用效率。且具有稳定性、准确性、结构简单等优点,适合于应用于实际中。关键字:车库管理系统;单片机系统;测距;Zigbee;RFIDAbstractThis paper introduces the circuit design and driving process of the hardware part of an intelligent garage system model.With STM32 MCU as the co
5、ntrol core,the communication between the control core and PC is realized by wireless data transmission of Zigbee module.The Zigbee module communicates with PC by serial communication method, that is,the data communication mode of ZigbeeA-wireless-ZigbeeB-serial port-PC.RFID is used as the condition
6、to identify whether the vehicle is in or out of the garage to adjust the PC software part and then feedback and adjust through the hardware part. As the gate of the garage,the steering gear will judge and respond to the information when it receives the information from the PC terminal, and make the
7、operation of opening and closing the door,so that the car can enter and leave the garage.Four ultrasonic modules are used to monitor the four garage parking spaces in real time and display the spare situation of the garage parking spaces on the screen, so that the condition of the parking spaces can
8、 be seen at a glance, and it is also convenient for the upper computer to arrange the parking spaces. Charge timing is not elaborated one by one in the software part and the hardware part.The intelligent garage system model system uses Zigbee wireless communication, ultrasonic ranging, RFID and othe
9、r technologies. To solve the problem of parking in a large garage where parking resources are scarce, so as to improve the parking efficiency of car owners and the use efficiency of parking spaces. It has the advantages of stability, accuracy and simple structure, and is suitable for practical appli
10、cation.Key words: Garage Management System;MCU System;Ranging; Zigbee;RFID目录摘要IABSTRACTII目录III1 绪论11.1 背景及意义11.2 智能车库的现状11.3 研究内容12 系统硬件模块设计32.1 STM单片机控制电路及其工作原理32.2 超声波传感器工作原理42.3 RFID射频模块工作原理42.4 舵机工作原理52.5 LCD12864显示模块工作原理62.6 ZIGBEE无线通信工作原理73 流程设计93.1 主程序设计说明与流程图93.2 超声波测距程序设计流程图93.3 RFID射频模块流程图
11、103.4 LCD12864显示流程图113.5 ZIGBEE无线点对点传输流程图124 系统的实现134.1系统步骤实现134.2 ZIGBEE无线通信实现134.3 RFID读卡模块的实现144.4 超声波模块测距实现144.5 其他模块功能实现154.6 主循环函数155 系统测试165.1 测试计划165.1.1 测试目的165.1.2 测试资源165.1.3 测试方法165.2 测试报告165.2.1 实物成品165.2.2 启动电源175.2.3 测试RFID读卡185.2.4 汽车进入车位185.2.5 汽车刷卡出库195.2.6 上位机接收信息196 总结20附录21参考文献2
12、3致谢24IV1 绪论1.1 背景及意义在很多相对落后的地区,依然使用人工计算的方法来进行数据处理,这种方法不仅数据量大复杂,而且容易丢失数据。而比较发达的地区的车库管理虽然使用的是计算机智能管理,但是造价昂贵。即使科技的日益发达会使智能车库更加智能化,但是科技的发展不一定会很快的体现在造价上,因此更加智能的车库的造价便会比普通的智能车库造价贵,因此并不适用与一些相对于比较落后的地区。因此很有必要设计一款造价比较便宜的智能车库管理系统,通过计算机管理车库、处理汽车停泊数据,其效率比人工计算处理效率高得多,进一步会使汽车在车库中的进出更加有效率,不用再经过漫长的等待才能进出车库,使一些相对落后地
13、区的车库车辆管理更加规范合理有效率。因此不管从哪个方面来说,智能车库的存在是必要的。1.2 智能车库的现状经济的发达,带动人民的富裕,即使在相对落后的城市里,每家每户拥有一台私家车的状况也很常见,而在发达的地区城市一个家庭甚至拥有两台以上的汽车,甚至日益增长的私家车数目与有限的车库车位发生矛盾,造成停车难,停车乱的现状。智库车库的出现很好解决上以上的状况。智能车库最早出现在德国的深市、日本的柏市以及美国的圣保罗市商业区。他们有最最基础的查看车库车位的闲置情况的功能,并且能够在车场内使用LCD显示器对车主进行引导到闲置的车位上1。现在中国最先进的智能车库大部分是地下的智能立体停车库,他通过计算机
14、处理ID卡识别技术和图像识别技术的结合,对车库进行管理,并且使用先进的图像对比功能来实时进行对车库的监控解决车库里的安全问题2。在车库的不同显眼的地方就有一块大型的LED屏幕来提醒车主剩余无车车位的情况,方便引导车主寻找闲置的车位3。而且在先进的智能车库中的运用远距离通信,使设备与设备之间能进行远程控制的,他们也具有超高速的处理器和超大容量的存储器,具有优秀的处理能力。该车库在停车紧张时段会优先通行特许车辆,可完全由人工远程控制或者人工分配对应的车位。优秀的存储能力体现在检测出同一车辆在此何时停放过以及停放的时间。1.3 研究内容以STM32单片机为操控芯片,在各个车位中放置有线传感器,用于实
15、时收集判断车位闲置情况,实现物于物相连的物联网技术,通过一定的算法得出判断结果后再使用串口通信给操作芯片该结果,通过编程处理后,在LCD12864中用文字显示出车库车位实时情况,例如:1号车位闲置2号车位有车在一车一卡的情况下,使用RFID射频技术,此技术抗磁性强,只需要进车库和出车库对着读卡器进行感应就进行识别,无需进行可视化传输通行;可复写,由于要节约资源,一张ID卡不能用完就丢弃,符合循环使用的原则,那么RFID技术很适合用于该智能车库管理系统模型。该智能车库中最重要的两个部分就是两个平台以及一个通信。其中两个平台指的是硬件部分的平台(可以称为下位机)和上位机软件部分的平台(可称为上位机
16、);通信部分使用Zigbee模块进行无线通信,涉及到复杂的通信协议。两个平台需要共同工作,无线通信要在不打扰两平台的运行下进行数据传输及信息交互,因为本文研究的为硬件部分,因此本文不涉及软件部分的相关设计和实现。2 系统硬件模块设计2.1 STM单片机控制电路及其工作原理STM32是一种以高效低耗低成本为主的单片机,比传统51系列单片机的处理能力更加优秀,如图2-1所示,STM32F103C8T6引脚图,从中可以看出引脚数量(多达80个I/O接口)比传统51单片机的引脚多。而STM32F103C8T6则基于ARM Cortex-M3内核的32位工作频率最高为72MHz的微型处理器,具有额外的代
17、码效率,ARM内核的优势能够更能发挥出来;内存为64K或者128K字节(最高);有9个通信接口,其中比较重要的通信接口有5个,分别是:2个I方C接口,3个USART接口;具有7个定时计数器,其中3个16位普通定时计数器、1个PWN定时器。但每个定时器有4个用于PWN波的读取与识别4;拥有一个先进的USB接口。图2-1 STM32F103C8T6单片机引脚图之所以选用该芯片为主核心控制芯片的最主要原因是因为引脚比传统51单片机多(51系列单片机只有32个I/O接口,而且32个I/O接口不能全用于输入输出)。在本设计中,所用到的引脚就不是传统51单片机引脚所足够使用的。再者,该STM32中内置2个
18、ADC(模拟/数字转换器)模块可以直接连接超声波传感器,不用再使用外置ADC模块,可以使智能车库系统更加简洁明。并且STM32单片机系统稳定、控制简单,用该芯片作为智能车库的核心操控芯片为最佳选择。2.2 超声波传感器工作原理该智能停车管理系统使用超声波传感器测距,其中超声波传感器的型号为HC-SR04,该模块具有3个处理芯片和4个接触引脚,分别为Vcc、Trig(LS1)、Echo(LS2)、Gnd,其中Trig为控制端用于PWN信号的输入,Echo为接收端用于数据的输出。需要注意的的是,该超声波传感器的盲区为1CM,如果被测物体面积大于等于0.5时,要尽量放平。超声波传感器主要的原理是从压
19、电晶片发出超声波,再重压电晶片接受返回的超声波,记录从发出到接收超声波的时候,再通过简单的计算就可以测量出距离。图2-2超声波传感器时序图HC-SR04传感器时序图如图2-2所示,在STM32向HC-SR04的Trig引脚发送一个大于10us的电平,然后便可以在Echo引脚处等待HC-SR04测出的数据输出,其中内部模块发出的8个40KHz脉冲是用来检验信号是否有返回。当测出数据时Echo输出由低电平变为高电平,此时打开STM32定时计数器接收HC-SR04发送过来的数值,当Echo端口再从高电平变为低电平时时,再读取定时计数器的数值,即高电平持续时间为超声波传感器发出的超声波以音速到达物体距
20、离的再折返的时间,得到该数值后通过一系列计算便可以计算出超声波传感器HC-SR04到物体的实际距离。计算公式为:;其中L为测试物距离,s为传感器返回的数值。2.3 RFID射频模块工作原理RFID射频模块的型号为RDM6300,其电路图由处理芯片、稳压电路和放大电路组成。该模块具有先进的射频非接触式嵌入式控制电路,最大非接触距离为5CM,线圈电感为4768uH,具有灵敏性、稳定性等优点。也可以读EM4100系列的RFID射频模块的ID卡。当该模块感应到ID在读卡范围时,模块便通过UART的通信方式发送给处理芯片,使读卡更加方便实用。RFID射频模块引脚图如图2-3所示,其中Px(x为数值1、2
21、、3)为引脚块以下为引脚功能:P1:PIN1 TX P2:PIN1 ANT1 P3:PIN1 LEDPIN RX PIN2 ANT2 PIN2 +5(DC)PIN3 PIN3 GNDPIN4 GNDPIN5 +5(DC)图2-3 RFID射频模块引脚其输出格式如图2-4所示,Checksum为10位卡号的异或运算,例如:卡号为:62E3086CED输出数据:36H、32H、45H、33H、30H、38H、36H、43H、45H、44HChcksum:(62H)XOR(E3H)XOR(08H)XOR(6CH)XOR(EDH)=08H(XOR为异或运算)图 2-4 RFID输出格式RFID时序如图
22、2-5所示,当LED等熄灭的时候发送端便会发送数据给RFID中心处理芯片,接着在中心处理芯片中通过译码程序来进行对ID卡的识别。图2-5 RFID时序图2.4 舵机工作原理如图2-6所示,一个普通的舵机是有控制电路、电机、齿轮和比例电位器组成,当控制电路接收到控制脉冲就会驱动马达使齿轮组转动,齿轮组的转动会触发一系列的电压变化(齿轮组中有角度传感器,该传感器测量齿轮组转动的时候会发生电压变化),然后进行比较,最后反馈到控制电路来调节马达的转动知道齿轮组到达目标角度5。图2-6 舵机工作原理图智能车库系统选用的是舵机为MG995。根据使用手册,舵机的控制要一个20MS左右的脉冲,这个脉冲其中角度
23、控制脉冲有0.5MS-2.5MS,间隔时间为2MS,该系统使用90度旋转(没有0-360度舵机),即脉冲范围时基脉冲中角度控制脉冲的选择为1.5MS。小型舵机的扭力一般不会太大,因此要注意舵机上的不要放置太重的物品导致舵机无法运行甚至损坏。2.5 LCD12864显示模块工作原理由于LCD12864在该智能系统中只用于写入显示,不必进行读取数据,如图2-7所示,RS引脚为命令/数据寄存器选择端、WR引脚为读写端、E为使能端、DB7DB0为数据端6。而且该LCD12864显示器能显示4行8列功32个16*16点阵的汉字,在显示中文是通过写入该字符显示编码,该显示编码在RAM中实现后就可以在LCD
24、上显示中文字符。图2-7 LCD12864引脚图数据的读写一边都是先送地址,然后再对LCD内部进行读写。对LCD12864写数据时,确保指令0x30开启后再写入地址,但需要对其进行一次假读,之后才进行真读,即假读后的数据才为之正确数据。显示汉字时候,中文编码的两个字节必须放在同一地址中,如果分开存放该两个字节,那么显示出来的便不是正确的汉字。比如编码时,高字节放在前一地址低字节,低字节房子后一编码高字节,这样就会使编码混乱不能查找字模。系统的LCD12864显示器使用了串行传输的方法,即PSB引脚给低电平进入串行传输模式。时序图如图2-8所示。从一个完整的串行传输流程来看,一开始先传输启始字节
25、,它需先接收到五个连续的1(同步位字符串),在启始字节,此时传输计数将被重置并且串行传输将被同步,再跟随的两个位字符串分别指定传输方向位(RW)及寄存器选择位(RS),最后第八的位则为0。在接收到同步位及RW 和RS资料的启始字节后,每一个八位的指令将被分为两个字节接收到:较高4位(DB7DB4)的指令资料将会被放在第一个字节的LSB (最低有效位)部分,而较低4 (DB3DB0)的指令资料则会被放在第二个字节的LSB部分,至于相关的另四位则都为0。图2-8 LCD12864串行行写时序图2.6 Zigbee无线通信工作原理 Zigbee无线传输模块使用的是DL-20无线串口透传模块,波特率为
26、9600,基于UART接口的全双工无线透明传输模块,其内核为CC2530芯片,使用的协议为IEEE 802.15.4,工作频段在2400MHz2450MHz7。该模块只有4个引脚,分别是:Vcc电源接口、TX串口数据输出、RX串口数据输入和GND底线。DL-20无限传输模块使用的是处理芯片为CC2530。如图2-9所示,CC2530有40个引脚,其中有21个数字I/O端口(P0.0-P0.7、P1.0-P1.7、P2.0-P2.4,注意:P2端口只有4个引脚)。图2-9 CC2530引脚图CC2530是8051芯片的增强版,在功能上与其同等。但是该芯片内核的指令时序与8051芯片不一样,而且在
27、定时器和串行端口的外设与其他的8051内核的外设单元不同,故此使用外设单元SFR的指令代码在CC2530芯片上不能够正常的运行,需要修改一些带有时序的指令8。系统使用的是点对点通行模式。配置DL-20模块分为5个步骤:首先设置模式,然后设置波特率,接着设置频道,再然后设置主/从即,最后确认设置9。点对点工作模式配置成功状态说明:(1)上电状态:A模块左侧红灯和右侧绿灯发光,B模块两个绿灯都发光。(2)发送数据状态:发送端的左侧红灯闪烁。(3)收到数据状态:无指示灯闪烁。3 流程设计3.1 主程序设计说明与流程图系统工作流程图如图3-1所示,当初始化后,车库车辆为零,LCD屏幕上显示1、2、3、
28、4号车位为无车状态,超声波模块每隔5-10秒对车库车位进行一次扫描。当RFID射频传感器感应到ID卡的刷入后,系统向上位机发送指令。然后系统进入等待时间,直到下位机接收到上位机的开门指令后,由舵机控制的闸门打开,汽车便可以进库。这时候不论是否车辆收有没有进库,超声波测距依然对车库车位进行扫描,如果接触到车辆停放或者离开车位的时候会发送标识位给上位机,便于上位机进行对车位的管理。若有汽车想出库,此时车主需要刷ID卡,下位机识别到该车需要出库后,便给上位机发送该ID卡持有车主需要出库的指令。此时,在LCD上会显示需缴费的数目,当缴费成功时,系统便等待上位机下达开门指令,此时上位机计算收费数目。当下
29、位机接收到上位机下发可以出库指令后,舵机闸门打开,放车出库。图3-1主程序流程图3.2 超声波测距程序设计流程图超声波测距流程图如图3-2所示,其实运用的是简单的速度与路程的关系,因为由于短距离的关系,使用超声波传感器比红外线传感器测距更加准确。当系统初始化后,激活超声波传感器,超声波传感器发射出超声波,遇到阻碍物后声波反弹。声波反弹后,再由原来的传感器接收检测,得出一个时间值,该数为声波往返的时间,把时间除以二再乘以音速就能得出传感器与车之间的距离。这个值在系统模型中是判断车位是否有车的重要依据:如果物品与传感器的距离小于3CM就会被检测出车位有车,否则车位没车。当传感器测得的距离越来越小时
30、,系统就会判断有车正在进入车位,此时向上位机发送“P+编号”表示有车入车位,反之发送“Z+编号”表示有车离开车位。虽然传感器在不停的扫描车库中车位情况,但是并不是每次扫描结束后都向上位机报告车位情况,而是有车进入或者离开车位的时候才向上位机发送信息报告车位的情况,这样便可以减少上位机出现bug的情况。图3-2 超声波传感器测距流程图3.3 RFID射频模块流程图RFID射频模块识别ID卡流程图如图3-3所示,该流程图最主要的作用是识别ID卡,并且判断该ID卡是第几次刷入。如果该ID卡是第一次刷入,那么给操控芯片的信息就为第一次刷入,即该车第一次入库需要进行入库操作。如果识别到时第二次刷入,那么
31、给操控芯片发送消息为该车需要进行出库操作,即奇数为入库,偶数为出库。图3-3 RFID射频模块流程图3.4 LCD12864显示流程图LCD12864显示器流程图如图3-4所示,其主要还是等待中心处理芯片上处理超声波传感器的数据再进行判断车位中是否有车、接收到上位机其他显示指令后,最后显示的结构写进LCD12864,并且不断的刷新,刷新时间与感测器测距扫描的时间一致。图3-4 LCD12864显示流程图LCD12864显示的情况有:“车位+推荐情况+距离”和“车位+车型+收费”。前者是没有接收到汽车出库的信息所显示的情况,而后者是当汽车第二刷卡后接收到上位机的指令后所显示的情况。优先停放车位是
32、根据车位离入口的距离的所决定的,在系统中赋予的优先级为:1号车位、2号车位、4号车位和3号车位。3.5 Zigbee无线点对点传输流程图如图3-5所示,该流程图下位机发送信号给上位机接收;如图3-6所示,该流程图为上位机发送信号给下位机接收。Zigbee模块在整个智能车库系统模型中的作用主要是等待指令然后进行无线或者串口通信,即在上位机与下位机的交互中起至关重要的作用。在两张流程图中便很好的说明该模块的在两机起到的交互中重要的作用。图3-5 下位机(左)传输数据给上位机(右)的Zigbee模块通信流程图图3-6 上位机(左)传输数据给下位机(右)的Zigbee模块通信流程图4 系统的实现4.1
33、系统步骤实现首先,在初始状态下,汽车车库车辆为零。然后当第一辆汽车车主持有一张拥有编号的IDx(x为编号)卡刷入RFID读卡器时,读卡器识别到改卡的编号,然后把该编号发送到STM32芯片,再有该操控处理芯片发送指令使Zigbee-A模块向Zigbee-B模块进行点对点无线数据传输。Zigbee-B模块收到无线数据再向上位机进行串口传输,上位机读到该数据后经过处理(该处理方法由软件部分完成)后,返回一个值,由Zigbee-B模块发送到Zigbee-A模块,再有下位机处理芯片判别后再打开舵机,放车辆进入车库10。在电源开关打开后,超声波传感器便开始工作,间隔1秒钟进行一次扫描,在模型上的距离检测大
34、约为3CM,如果小车离超声波传感器小于1CM则无法检测是否有小车,最远距离为99CM,若车辆距离大于3CM也被判断为车位无车,并在LCD12864屏幕上显示出来。如果汽车车主需要出库,那么就得在刷一次ID卡,并进行缴费才能出库。当RFID读卡器第二次检验到同一张IDx卡时,会由ZIBEE-A模块向Zigbee-B模块发送一个与第一次刷IDx卡不同的信号传输到上位机,然后确认收到钱后上位机再发一个代码给下位机,让下位机打开舵机,使车辆出库。4.2 Zigbee无线通信实现大家都知道,现在无线网络的主流为蓝牙、wifi和Zigbee这三大类,然而在室内的智能家居类的系统用应用最广泛的是蓝牙和Zig
35、bee无线近距离通信,但是由于蓝牙的传输距离比较短,大概在3-20M,而Zigbee模块的传输距离为40-300M,其传输距离远远比蓝牙长得多,至于从传输速度上来说,蓝牙比Zigbee无线网络要快,然而在多数智能系统中,Zigbee的传输速率是够用的。WIFI虽然很普及,但是安全性比较低,能耗比Zigbee模块也大得多。根据上述的对比,Zigbee模块的低能源消耗和能自组网络能力在智能系统无线传输中更胜一筹。在Zigbee无线网络中由三种设备组成一个网络蜂窝,分别为网络协调器、中续器和终端设备,他们能像蜘蛛网一样分布连通,因为他们每个设备基本上都能被看作是一个节点。这样一来,一个“大网”就形成
36、,这个大网内的节点基本上都能快速的传输数据给终端。由于在该系统中,Zigbee模块只起到通信作用,因此只需要将把需要发送的信息发送给下位机和上位机后,接着通过处理芯片对接收到的信息作出一系列的判断,最后实现该信息的功能,比如:打开舵机、改变LCD12864的显示情况等。如图4-1所示,下位机向上位机发送的信息有:“C+编号”、“P+编号”、“Z+编号”和“Z+编号”;而上位机向下位机发送的信息有:“1”、“2”和“R+车型+金额+车位”。如图4-1所示,该代码为下位机识别第几次刷卡后通过“Serial1.print()”函数调动Zigbee模块无线发送给上位机。图4-1 Zigbee下位机发送
37、通信部分代码如图4-2所示,该代码为下位机接收到上位机发送的“1”后所作出打开舵机的动作。图4-2 Zigbee下位机接收通信部分代码4.3 RFID读卡模块的实现由于自由3张ID卡,所以在程序内部只需要识别3张卡的编号,然后再将这三张卡的“长编号”改为“短编号”,如图4-3所示,即把卡的独有编号改成为1、2、3。然后再把这些断编号放到数组里面,等待系统指令发送到发送缓存区再通过Zigbee模块发送给上位机(图4-2)。再者,通过这些编号来识别该ID卡是第几次刷入。图4-3 RFID部分代码4.4 超声波模块测距实现如图4-4所示,该代码主要是通过读取超声波模块的数据,然后通过简单的物理关系运
38、算来确定模块与车之间的距离情况,由于是分别通过串口读取4个模块的数据,所以每读取一个模块内数据需要加入延时,每个超声波共收集5个数据后再取平均值来确保数据的准确。图4-4 超声波模块测距代码4.5 其他模块功能实现如图4-5所示,该代码实现的是处理器通过超声波测距得知汽车正在离开,使LCD12864上显示所对应的车位情况,并且通过优先级顺序判断在屏幕上显示推荐车位,供车主选择。图4-5 超声波模块测距代码由于Arduino系统有驱动舵机的数据库,因此在Main.cpp代码开头进行对舵机驱动库进行声明并且建立对象就能调用。声明函数代码为:Servo servo;4.6 主循环函数如图4-6所示,
39、进入主循环函数时,对串口和显示屏幕进行读取判断再进入事件循环,使用系统稳定工作。图4-6 组循环函数代码285 系统测试5.1 测试计划5.1.1 测试目的系统完成,总会携带这一些小瑕疵,而测试工作便是要把这些小瑕疵找出来。确保成品是能正常工作,特别是无限模块的两端通行是否畅通无阻,焊锡是否会掉落等等。5.1.2 测试资源Win10专业版64位、Arduino编译软件、串口助手、原理图与PCB画图软件Altium designer以及电路焊接成品。5.1.3 测试方法通过演示的方式检测成品预定的功能:(1)第一次刷入ID卡时,PC端是否能够接收到:“C+ID卡编码”;(2)上位机发送数据回来时
40、,舵机是否启动;(3)第二次刷入相同ID卡时,PC端时候接收到:“L+ID卡编码”;(4)超声波传感器测到有位在库时,LCD是否能显示出来;(5)串口助手接收端是否有完整的编号数据。5.2 测试报告5.2.1 实物成品图5-1 成品图成品图如图5-1所示蓝色上部块为舵机、带有显示屏幕的是12864、从左到右从上到下的超声波传感器对应的编号(车库位置)为:3、1、4、2;中间左边部分是RFID,右边是STM32;左下角是Zigbee下位机端,右下角是RFID感应线圈。图5-2 Zigbee上位机端由图5-2所示,手上的为Zigbee上位机端,也上位机进行串口通讯。正常工作室LED发出红色光芒。5
41、.2.2 启动电源接通电源按下开关后,LCD屏幕初始化,此时4个车位均无车,如图5-3所示屏幕上显示四个车位的状态为:无车、推荐状况和传感器离汽车的距离。此时Zigbee-A模块路灯常亮,表示等待发送指令发送数据。图5-3启动电源后示意图5.2.3 测试RFID读卡图5-4 第一次刷入ID3卡后上位机显示测试时,使用ID3卡,当第一次ID3卡被RFID模块感应到后,如图5-4所示:该窗口是上位机调试窗口,能收到“C3”字符,说明第一次刷卡后无线传输数据无误。图5-5 刷入第二次刷入ID3卡后上位机显示当第二次刷入ID3卡时,如图5-5所示:调试窗口显示“L3”字符,表示车主已经进行第二次刷卡,
42、识别到该车主主需要出库,说明第二次刷卡后无线传输数据无误。5.2.4 汽车进入车位如图5-6所示,在超声波传感器3放一个阻挡物(阻挡物看作为小车)时,LCD正常显示三号车位有车停泊,并显示汽车离传感器的距离为2,但是2号车位的距离虽然为7却显示无车是因为距离过大(大于3被判断为无车),其余车位没有车辆停泊,显示无车,符合要求。虽然三号车位有汽车停放,但是根据优先级,系统会向车主推荐1号停车位并显示出来。 图5-6 汽车进入车位测试5.2.5 汽车刷卡出库如图5-7所示,当汽车离开车位时,传感器测得汽车与传感器的距离变远,在LCD上显示“离开”的字样,并过一段时候后显示该车位无车。图5-7 汽车
43、离开车位测试车主刷卡离开车库时如图5-8所示,在LCD12864是显示的信息为“几号车型+该缴金额费”(车主没有缴费时)。但车主缴费成功,上位机会发送“2”给下位机,舵机启动,LCD12864恢复“有车、无车显示”。图5-8 车主刷卡离库测试5.2.6 上位机接收信息在一辆车进库停车到离开车位刷卡缴费出库的过程中会给上位机发送对应状态的信息如图5-9所示,是该信息上位机能接收到的信息(此处使用串口助手更加清晰直观)。其中“C3”、“P3”、“Z3”和“L3”分别表示卡3、进入3号车位、离开3号位和卡3成功出库。图5-9 汽车入库出库总过程上位机接收信号测试6 总结时间过得匆匆,转眼间大学四年就
44、走到最后一个学期,而毕业设计便是给我们这群大四的学生展现大学四年所学知识的时候。回想起当初选择这个题目作为我毕业设计,大概我还是不够优秀,还需要不断的学习进步。该设计虽然只是一个模型,但是也要做得尽善尽美,也要结合实际,因为工科的设计不能脱离实际情况,脱离的实际情况的设计不可取的。于是,我们得先调查实际现有的智能车库的功能,再对这些智能车库的功能进行筛选和增添,尽量的设计出一个比较简单但是又能体现本科大学四年所学的知识。根据调查,现在大部分的智能车库都有图像识别功能,该功能甚至取代RFID射频模块,但是本人的知识水平有限,只能做RFID射频技术的识别车辆进出;再者,我发现很多只能车库都很大,这
45、个大缺让人很难找到南北,也就说,但该车库基本没有空置车位的情况下时很难找到闲置的车位,容易造成车主错过车位的情况,这样子车库的车位利用率就不会太高。据解,大型超智能车库都是用图像对比技术来进行判断车位是否闲置的,但是一个小模型加上自己所学的不足,只能够通过用超声波来解决车位是否闲置的问题。由于在18年用大半年的时候准备考研,很多知识多我都忘记得差不多,在考完研后就马上补习忘记的知识,还因为毕设的需要自学STM32,不过也因为懒惰的缘故,到一月尾才开始学习。其实对于这个只能车库系统,我自己还是还不满意的,因为有些知识其实在大二就有学习意向,比如说图像识别等。由于突然想去考研,就搁置。再谈谈这个系
46、统,其实这个系统的硬件部分离我目标相距甚远,比如说建模太粗糙等。但是在毕设的这段时间让我学到很多知识,通过对只能车库系统的深入理解,其实很多东西都能够进行模块化处理,先将每个模块的代码写好,调试好,然后再把这些模块结合再一起在通过不断调试,最后便可以得出这个智能车库的硬件部分。模块的组合上是最麻烦的,因为将模块一个接一个地组合的时候会出现bug,但是幸好都是小bug,很容易就把系统组合完成。其实毕设过程也是一个学习的过程,途中有很多不会的知识我就去翻书、请教老师、问同学,这样子一步一步的把毕设做好,虽然称不上完美,但是效果还是出来。另外,通过这次设计我也明白理论与实际的区别,很多东西是要用过实际测算才能得出结论的。总而言之,毕设能给我很大的收获。有些同学在我们玩耍的时候就开始解和学习书本外的知识,因此有些同学的毕业设计便做得非常地快也非常的完美,甚至能貌美研究生毕设的要求。即使毕业,这些同学也是我的学习对象,学海无涯,向前就好。附录硬件部分电路图:附图1附图2附图3参考文献1陈鲁. 基于物联网技术的智能车库管理系统D.山东建筑大学,2014:2-3.2邵珠业.基于Zigbee车库环境监控与定位系统的研究D.天津工业大学,2017:16-17.3赵琳,马慧娟,孙彦.智能车库管理系统的设计J.无线互联科技,2017(18):115