摘 要
本设计主要通过对我国现有的车库的控制和使用研究,在此基础上进行基于单片机的立体车库设计。本立体车
库车位下有传送带设计,可通过触发车位内的压力传感器拉完成车位的自动控制。该设计的核心控制模块为
STC89C52单片机,利用压力传感器来检测是否车辆停入,电信号转换模块接受来自压力传感器的电信号,并将其转
换为单片机可以接受的电信号,从而可以控制舵机的运动,用舵机的运动来代表传送带的转动和车位门的打开和关
闭。同时本设计还包含有按钮控制系统,按钮开关可以在压力传感器接收到压力的时候,控制舵机的动作,将对应
车位旋转至出口并将车位门打开,从而可以达到取车的目的。本设计软件主要采用了C语言编制,模块化系统设计,
便于操作与修改。
关键词:立体车库;STC89C52控制系统;压力传感器;舵机
第1章引言
我国的经济正在进行着飞速的发展,从而带动了人们生活水平也在不断的提高。在人们日益增长的生活水平
下,人们的衣食住行也有了质的改变。汽车也不再是奢侈品,也逐渐的进入到了每个家庭之中。随之而来的除了我
们对我国经济高速发展的高兴与欢呼,同时也迎来了新的考验,那就是私家车停放的问题。我国为世界人口第一大
国,那也就代表着我国的私家车数目会是其他国家的数目几十倍甚至几百倍之多。所以私家车停放的问题在我国不
容小觑。现在由于私家车的停放已经引发了很多问题,比如私家车随意停放到路边导致的交通堵塞从而引起的交通
治安问题,私家车停放在应急通道从而造成的安全隐患等等。有人会说我国的土地资源辽阔,可以进行大面积的开
发,但是在这个经济高速发展的时代,可以说是寸土寸金,而且在未开发的土地资源还有一定的开发难度和未知的
风险,同时也会进行大规模的人力物力财力的投入,由此看来对已经开发的土地进行高效利用才是我们现在最应该
做的事。虽说我国为了减少土地的开发,已经也建造了不少的地下停车场,但是地下停车场的建设费用相对较高,
所以人们需要缴纳的费用也会相对提高,在面对高费用的地下停车场,并不是所有的家庭都有能力承担的起,所以
地下停车场虽说在节约土地资源,增加了地下的利用率,但是他的使用率在一些二三线城市并不是很高,所以它并
没有完成当初建设它初心。到达通过建造地下的停车场来减少人们乱停乱放的现象,从而合理的规范停车,减少由
于乱停车造成的公共交通问题。
鉴于此种情况,建设立体车库就相当的具有必要性。立体车库相对于普通车库而言,增加了土地的利用率,让
开发新的土地资源不再变得迫切;相对于地下车库而言,它同楼房建设,相对的减少了投资的费用,避免了居民因
为缴纳的费用过高而拒绝使用车库的问题。
本立体车库设计采用了压力传感器控制舵机的设计,通过有汽车停入,产生压力,再由压力传感器控制舵机转
动,舵机有两个作用:1.车位下都安装传送带装置,用来进行车位的移动,将停好车的车位进行旋转,再将空的车位旋转过来2.将车位门进行关闭,这样也保证了车位内车的安全性。同时还具有按钮开关设计,来满足车主取车。
该立体车库设计,为立体旋转式车库,空车位对应入口,车主将车停至入口,入口也有压力传感器设计,接受
到压力后通过舵机控制传送带将车送入位于入口后的空车位中,这时车位的压力传感器接受到压力,发出信号给舵
机,舵机控制车位下的传送带,将已经停好的车库进行旋转,同时控制车位的自动门进行关闭,并将下一个空车位
旋转至入口处;车主取车时,可通过车库外的按钮开关装置进行控制舵机旋转,每个车位下都有一个舵机与其对应
控制,当按下按钮开关时就可以对对应的舵机进行控制,将车旋转至出口处,从而达到车辆的正确提取。每个车位
和按钮开关都具有固定的编号,车库外按钮开关可以控制相同编号的车位,车主在停车后记住自己车位的编号,取
车时找到对应的按钮开关进行控制即可取车。每个车位下的压力传感器都独立动作,可同时满足多个传感器一起工
作,所以本车库还可以采用多入口设计,方便车主使用,增加利用效率。
综上所述,本文利用单片机简单、智能、快捷的特点,以其为控制中心,采用压力传感器对汽车的重量进行采
集,本设计的是否动作主要通过压力传感器是否接受到压力来判断,压力传感器可以对压力检测值的设置,需要接
受到的压力等于汽车的重量才可以将车位旋转并将车位门打开,这样就减少了车位门误动的问题。同时还具有按钮
开关设计,用来方便车主取车。在有车进入车位后,车主可以通过按钮开关装置将对应的车位旋转至出口并将本车
位门打开,进行取车。通过立体车库设计可以完成对土地资源的高效利用,也减少了国家在建造车库中的投资和对
土地的大面积开发,最重要的是解决了大部分家庭的停车问题,从而减少了因为私家车乱停带来的安全隐患和一些
不必要的交通隐患。
第2章立体车库设计控制系统的整体描述
2.1 立体车库设计控制系统设计总述
该设计以STC89S52单片机作为控制模块的核心控制部件,采用压力传感器来检测是否有车辆进入车库,还具有
电信号转换模块,电信号转换模块的主要作用是将压力压力传感器发出的电信号转换为单片机可以接受的电信号,
再将转换好的电信号传递给单片机,通过单片机控制舵机,来实现车位旋转和车位门关闭的目的,从而表示车库内
已有车辆进入,同时还可以对已进入车辆进行保护。此外本设计还配备有按钮开关装置,按钮开关装置可以在压力
传感器接受到压力的时候对车位进行控制。这种设计在停车后车主可以选择使用车按钮开关车库内的按钮开关将车
位旋转至出口并将车位门打开,从而离开。
该设计主要由两部分组成:硬件STC89S52单片机和软件编程。根据系统的工作原理和工作性能的要求进行硬件
的组装和软件的设计。硬件是整个设计的基础,所有的工作运行都要建立在硬件完好的前提下,他为软件的运行提
供了良好的平台。硬件的设计部分主要包括;对设计的电路图进行设计和绘制,对适于使用的器件进行选择,最后
根据绘制好的电路原理图将元器件进行连接。软件设计是整个设计的核心,系统将会如何运行主要是根据软件设计
的结果来进行的。软件的设计部分主要包括:对系统的需求进行分析,根据需求进行编程设计,并对其进行必要的
维护处理。该部分需将设计的每个部分先进行模块化处理,分块对其进行编程,最后再将其整合成一个完整的个
体,进行整体的协同设计。
系统整体由压力传感器感受压力,再通过电信号转换器,将接受到的压力传感器发出的信号为固定的电信号,
将电信号传递给单片机进行处理,再由单片机控制舵机的旋转,同时还加入了按钮开关控制装置。系统设计流程图
如下图2-1所示。
图2-1 系统设计流程图
2.2 立体车库设计控制系统功能分析
本设计以压力传感器接受到的压力传感器的信号转换来的特殊的电信号和按钮控制开关发出的电信号作为控制
模块的主要输入参数,并将采用压力控制与按钮操作相兼容的两种操作方式,立体车库设计控制的自动化控制,从
而达到在高效利用土地资源的前提下,让车主可以更加快捷便利的使用车库。
压力控制模式:该立体车库控制系统在压力传感器没有接受到压力的时候,车门属于打开状态。压力传感器的
压力阈值设置为车辆的重量。当车主将车子开到入口位置,压力传感器就会接收到压力,产生压力信号,将压力信
号在内部转换为电信号传递给电信号转换装置,电信号转换装置将接受到的信号为提前设定好的电信号,再将电信
号传递给STC89S52单片机,再由STC89S52单片机控制舵机,将车送入与入口对应的空车位,空车位上的压力传感器
接受到压力,将车位进行旋转并将车库门关闭。当车主将车从车库内开出后,车位上的压力传感器不再接受到压
力,也就不再向电信号转换模块传递电信号,舵机就恢复到初始状态,将车库门保持打开的状态。
按钮控制模式:该立体车库控制系统车库内装有按钮开关装置。当压力传感器接受到压力的时候,通过按下对
应的按键,来控制将固定的车位旋转至出口并保证车库门打开。
第3章 立体车库控制系统的硬件设计
3.1车库控制系统的硬件组成
本系统的控制单元主要是以STC89C52单片机为核心,配合压力传感器模块、电信号转换模块、按钮开关控制模
块和舵机构成了整个立体车库控制系统。其结构框图如3-1所示。
图3-1 系统结构图
本系统的主控模块应用STC89C52芯片,接收并分析所采集到的数据并输出信号,即发出指令控制舵机,从而控
制车库门的打开和关闭,还有转送带的动作,使整个车库控制系统稳定有效的运行。
压力传感器模块利用压力检测电路实现对车库内是否有车辆停入信号的检测。
电信号转换模块采用电信号转换装置对从压力传感器输出的电信号进行转换,转换成单片机可以接受的电信
号;前两者可以为单片机提供电信号,从而满足对车库门的自动控制。
按扭开环模块也是该设计的手动控制模块,由三个按键组成,主要能够实现将停有车的车位进行手动旋转,同
时也可以将车位门打开
舵机装置利用单片机所提供的电信号进行动作,从而实现传送带的旋转和车位门打开和关闭。
3.2车库控制系统的主要硬件电路
本系统设计的核心处理芯片是STC89C52单片机,它具有低功耗,高性能的优点。在其芯片中,拥有灵巧的8位CPU和
在系统可编程Flash,使得STC89C52可为控制系统提供高灵活、超有效的解决方案。
而单片机的最小系统是使其能够正常工作并发挥其功能时所必须的组成部分,该系统设计的单片机最小系统如
下图3-2所示。
图3-2 单片机最小系统结构图
单片机最小系统是本系统的核心控制模块,其接受来自压力传感器模块、电压力转换模块和按钮开关模块的输
入信号,经过对信号进行分析处理后,输出控制信号,并通过舵机的开合展现出来。
本单片机最小系统可实现以下功能:
1.接受按钮开关输入的的电信号,控制舵机的开合。
2.接受到来自电信号转换器的信号后,对其进行分析处理,从而反应到舵机上,从而控制舵机的开合。
3.3 压力传感器模块
3.3.1 压力传感器模块的选择
常见的压力传感器有以下五种,具体有应变片压阻型、压电型、电磁型、电容式以及振弦式五种。在该设计
中,压力传感器模块采用三个KEYES电阻式薄膜压力传感器模块构成的,是一种典型的新型电阻式薄膜压力传感器,
它具备线性更好,精准度高,稳定性更佳,压力感应范围更大,更耐磨,抗氧化好等多重优点,并且KEYES电阻式薄膜压
力传感器模块在使用上更加方便,更适合该立体车库的设计需求。
压力传感器的正负极引脚与单片机的GND和5V引脚相连用来保证压力传感的正常工作;信号输出引脚与AD/DA转
换器的AIN输入引脚相连,这样压力传感器就可以将接受到的信号,传递给AD/DA转换模块
3.3.2 压力传感器模块的工作原理
在本系统设计中,压力传感器的工作原理就是通过判断在薄膜接受器上是否感受到压力来进行判断。当压力传
感器上接受到车辆的压力后,压力传感器就会产生压力信号,从而进入工作状态,向电信号转换装置传递电信号。
当薄膜没有接受到车辆带来的压力或者刚才受到车辆的压力撤去的时候,压力传感器停止动作,处于待工作状态。
从而可以达到根据是否从在压力来进行自动控制的目的。
压力传感器需在接入系统之前,进行压力阈值的设置,只有当压力达到一定的阈值才可以发出信号,而并不是
只要接受到压力就会动作,向外发出电信号。有了压力阈值的设置就避免了该系统误动的情况,保证了该系统的可
靠性。在该设计中,压力阈值设置为大部分车辆的平均重量,使其可以满足绝大部分的车辆进行使用,从而可以增
加该系统的泛用性。
本设计采用了多个压力传感器设计,其中一个压力传感器代表入口出的压力传感器模块,其他每一个压力传感
器对应一个车库。所有的压力传感器可同时工作,也就意味着可以满足多辆汽车同时停放,从而提高了本设计的高
效性。
STC89C52单片机根据是否接受到来自电信号转换模块的电信号,从而判断是否动作。主要的动作依据:当压力
传感器上有压力产生的时候,压力传感器会将接收到的压力转换为电信号,再通过电信号转换装置,将电信号转换
为单片机可以接收的电信号,单片机就会做出相应的动作反应;当压力传感器上没有接受到压力的时候,整个系统
就不会动作。
3.3.3 压力传感器模块的实现
在本设计中,我们将压力传感器安装在每个车库和入口处的地面下,这样就可以实现,当车辆驶入时,车会逐
渐对地面造成压力,又因为有压力阈值的设置,这时并没有达到最初设置的压力阈值,故压力传感器不动作;直到
车辆完全驶入,车对压力传感器的压力超过压力阈值,压力传感器才会动作,向电信号转换装置发出电信号;当车
驶出时,车对压力传感器的压力就会发生变化,压力传感器就不会再向外发出电信号,车库门就会自动打开。完成
对车库门的自动控制。
该设计为立体车库设计,所以需要根据车库的位置(具体高度或者楼层)来分别设置每个压力传感器的压力阈
值,从而满足每层的车库都有动作的可靠性,避免压力传感器的拒动和误动现象。
3.4 电信号转换模块
3.4.1电信号转换模块的选择和原理介绍
在实际的单片机使用中,单片机通常需要对来自各个方面的模拟信号进行采集和处理。单片机想要接受这些模
拟量,就要通过AD/DA转换器模块来实现,所以足以体现该模块的重要性,它的存在关系到单片机是否可以接受到来
自压力传感器的信号。
AD/DA转换模块的AIN引脚与压力传感器的输出引脚相连,可以接受到来自压力传感器输出的电信号;AD/DA转换
模块的SCL和SDA引脚与单片机的P10和P11引脚相连,可以将转换好的电信号传递给单片机,让单片机对信号进行接
受和处理;GND引脚和VOC引脚连接单片机的GND和Vin引脚来建立单片机和AD/DA转换模块电的联系。
该设计主要采用PCF8591 AD/DA转换器模块来进行信号的转换,PCF8591 AD/DA转换器模块具有转换的准确性和
高效性,而且该转换器拥有5个输入引脚,可以同时接受多个压力传感器的信号,非常满足该设计多个车库的设计。
3.4.2 电信号转换器的工作原理
在本设计系统中,PCF8591 AD/DA转换器模块是否动作取决于是否接受到来自压力传感器的电信号。当压力传感
器发出信号,该转换器对信号进行接受和转换,将模拟量转换成单片机可以处理的数字量,并传递给单片机,从而
让单片机动作;当压力传感器没有发出信号,该转换器不动作,也就不向单片机发出信号,单片机也就不动作。
PCF8591 AD/DA转换器模块的工作原理图如下图3-4所示。
图3-4 电信号传感器工作原理图
3.5 按钮开关模块
3.5.1 按钮开关模块的选择和原理介绍
本设计的按钮开关模块选用四位独立按键的键盘模块。该模块具有四个独立按键,可以分别对四个车库进行控
制,但在本系统设计中,由于仅采用两个车库来进行模拟使用,所以在本系统设计中,只有前面两个按钮可以使
用,后面两个按钮并没有实际的功能。前面两个按键分别对应控制一个舵机,舵机的初始状态代表着,车库门打
开,在按下按钮开关后,按钮开关就会发出信号给单片机,单片机接收到信号并对其进行处理,再发出信号给舵
机,控制相应的舵机进行动作。按钮开关的主要使用方式,可以满足在压力传感器接受到压力的时候,这时按下按
钮开关,可以对舵机进行控制,将对应的车位进行旋转,将其旋转至出口位置并且对车库门也进行打开或者关闭的
控制。
在按钮开关的选择过程中,按钮开关的结构种类很多,在该设计系统中,选择了四位独立按键的键盘模块,原
因如下:1.该四位独立按键的键盘模块同时具有多个按键,可以满足本设计系统多个车库的设定;2.该模块便捷小
巧,方便安装,同时还具有经济实惠的优点。
按钮开关装置的K2,K3,K4引脚与单片机的P00,P01,P02相连用来满足单片机接受按钮开关的信号,从而对舵机进行控
制。
3.5.2 按钮开关模块的主要操作和应用
按钮开关装置安装在车库内,当车主按下车库内的按钮开关装置,舵机就会控制传送带运动将车库旋转至出口
处,同时将车库门打开,这时车主就可以将车从车位中开出。
按钮开关装置的操作引脚与单片机装置相连,当使用者按下按钮开关后,按钮开关会发出电信号给单片机,单
片机对舵机进行控制,舵机进行旋转从而达到控制车位旋转至出口处和车库门的目的。按钮开关模块的工作原理图
如下图3-5所示。
图3-5 按钮开关装置工作原理图
3.6 舵机模块
3.6.1 舵机模块的选择和原理介绍
常见的舵机主要分三类第一类是SG90舵机,第二类是MG90舵机,第三类是MG990舵机。在该系统设计中的舵机选
择SG90 9g舵机,主要是因为SG90舵机在具有小巧方便,经济实惠的优点的同时,还可以满足对该系统设计中舵机控
制车库门开关的模拟,所以SG90舵机对于该系统设计是最优的选择。
由于舵机需要连接单片机和按钮开关装置,所以舵机的三个引脚连接到可以连接多个引脚的引脚板上,本设计
有三个舵机,舵机的输出接线分别连接单片机的P33,P34,P35引脚,用来接受单片机的控制;按钮开关装置的GND
引脚和单片机的EA引脚也接入引脚板来完成按钮开关装置对舵机的控制。
3.6.2 舵机模块的使用
在该系统设计中安装有三个舵机,第一个舵机代表入口处的传送带装置,其余两个舵机分别代表一个车库门,
通过舵机的动作来反应转送带和车位门的状态,代表入口处的舵机,当舵机逆时针旋转90度代表将车送入车位;当
舵机顺时针旋转90度代表传送带归位方便运送下一辆车。代表车位的舵机,最初的状态代表车库门为打开的状态;
当舵机逆时针旋转90度,代表舵机控制传送带旋转车位门关闭,当舵机顺时针旋转90度代表将车位旋转至出口并且
车位门打开。舵机与单片机直接相连,舵机是否动作取决于单片机是否发出信号。当单片机发出信号时,舵机旋转
逆时针90度,将车库门关闭。舵机的工作原理图如下图3-6所示。
图3-5 舵机工作原理图
第4章 立体车库控制系统软件设计
在本系统中的软件设计部分主要任务为:压力传感器接受压力并将其转换为电信号,经过AD/DA模块进行转换,转换成单片机可以接受的电信号,由单片机接收到后经系统软件程序分析及处理,再输出相应的控制信号,最终根
据当前所处系统的设置状态对车库的车库门进行自动控制。该过程主要包括信号采集、AD/DA电信号处理模块、单片
机对信号的接受与处理与舵机工作三大部分。
4.1 系统主软件程序模块
主程序流程图是对于整个系统流程的一种描述,可以根据主程序的流程图来了解整个立体车库控制系统的工作
流程。
本系统会先判定入口处的压力传感器是否接受到压力,只有当入口处的压力传感器接受到压力该系统才会动
作,如果入口压力传感器接受到压力,压力传感器就会发出信号给AD/DA转换装置,AD/DA转换装置接受信号后,将
信号转换为单片机可以接受的信号,并传递给单片机,单片机对信号进行接受和处理,从而控制舵机运动;压力传
感器也没有接受到压力,则单片机就不会接收到信号,舵机就不会动作;当按钮开关动作,按钮开关就会发出信号
给单片机,单片机对来自按钮开关装置信号进行采集和处理,从而控制舵机动作。本控制系统停车主软件工作流程
图如下图4-1所示,本控制系统取车主软件工作流程图如下图4-2所示
图4-1主软件停车工作流程图
4.2 信号采集的软件描述
信号采集模块主要为按钮开关装置模块和压力传感器模块两部分组成。
本系统的主要动作方式是根据压力传感器是否接受到压力,来发出信号,给AD/DA模块进行处理,再发出信号给
单片机,从而让舵机进行动作。所以压力传感器为核心的控制手段,但在进行分析压力传感器模块的信号之前,应
先对按钮开关装置模块的信号进行分析,当没有接受到来自按钮开关装置的信号才会考虑压力传感器模块的信号。
当压力传感器接受到压力的时候,会发出信号设置为1,没有发出信号设置为0;按钮开关装置模块发出信号设置为
1,没有发出信号设置为0;舵机运动设置为1,不动作设置为0。根据压力传感器模块的主要逻辑关系可以得到以下
逻辑关系表,如表4-1所示。根据按钮开关模块的主要逻辑关系可以得到以
舵机模块流程图如下图4-6所示
图4-6 舵机模块流程图
第5章 立体车库控制系统仿真及运行调试
5.1 立体车库控制系统仿真
这一部分使用的软件为Proteus,系统仿真图如图5-1所示。
图5-1 立体车库控制系统仿真模拟图
5.2立体车库控制系统调试
本设计主要研究了基于STC89C52单片机的立体车库控制系统,主要包括了硬件设计和软件设计两个方面。首先
根据设计的需求用Proteus软件对设计的电路原理图进行绘制,然后根据绘制好的原理图进行器件的选择。元器件选
择好后,先将他们通过焊接或者热熔胶固定在面包板上,再根据原理图中的设计,对元器件进行线路的连接。将硬
件准备完成后就需要进行软件的设计。软件的设计主要是对单片机而言,单片机作为本设计系统主要的信息处理装
置,需要一个的程序运行,才能满足该设计系统可以正常的工作。在软件设计过程中,本设计系统主要采用Keil软
件来进行编程设计,对于软件设计,先画出系统设计整体的流程图,再画出每部分的分块流程图,对每个模块进行
分块设计,待每个模块的程序设计完成并且可以正常运行后,再进行整合和修改,从而实现整体的正常运行,实现
所需的全部功能。
硬件调试:对本系统中用到的元器件进行检查,看其是否可以正常运行,待所有元器件检查完毕后,通过焊接
或者热熔胶粘合的方式将它们固定在面包板上,再进行线路连接,连接完成后,要检查线路是否连接正确,且没有
出现短接的情况,以免因为连接失误,导致系统无法正确运行。
软件调试:通过Keil软件进行程序的编写,先满足按钮开关装置对舵机的控制,之后再进行压力传感器的对单
片机的控制,当两个程序都调试完成后,对其进行整合,并将最终的程序烧进单片机中。
软硬件的联合调试:将烧好程序的单片机,与硬件设备相连,进行联合调试,看是否可以满足想要的所有功
能;不成功的话,先进行硬件的连接检查,硬件没有问题,再将单片机取出进行程序的修改,并进行多次尝试直至
可以满足所需的所有功能。
结论
本文较为详细的描述了立体车库系统设计从设计方案到完成设计的整个过程。并系统的介绍了建造立体车库的
优点和必要性,且具体的描述了立体车库系统设计的电路图设计的基本原理。该系统设计本着简单,方便但是可以
满足所有需求的前提,进行了硬件的选择和软件设计。本系统主要利用压力传感器采集汽车的压力来进行传送带和
车库门的自动控制,同时还具有按钮开关装置可以进行手动控制,用来实现车主可以准确的将车从车库中取出。立
体车库设计的推广可以有效的解决,私家车的停放问题,从而解决了一些因为私家车乱停乱放引起的交通问题,又
由于立体车库的投入资金小于地下车库,也节省了大部分的建设投资,同时还从侧面提高了土地的利用效率,避免
了土地的大面积开发。
现在本系统设计只是根据单片机的一些简单控制,还有以下的改进措施:
1.车库内还应该增加新的应对措施,避免车库意外的发生,车库门无法打开的状况。
2.增加数字化管理,将按钮开关联网,增加车主取车的准确性。
3.车库还可以新增一个上位机控制,停车的车主可以通过手机来对车库进行监管。