基于单片机的垂直升降式车库人机系统设计*
2013-06-16武乡
武 乡
(兰州交通大学机电工程学院,甘肃 兰州 730070)
1 引言
随着经济的高速发展,人民生活水平的不断提高,城市居民私有车辆的拥有量也在不断增加,尤其是城市私家车的保有量以惊人的速度上涨[1]。由于我国停车行业起步较晚,车位数量远远赶不上汽车保有量,由此引发了一系列社会问题。如乱停车、占用公共道路、产生消防隐患、车辆失盗问题等。机械式立体车库是解决停车难问题的有效途径之一[2]。垂直升降式立体车库包括结构框架、执行机构、基于单片机的人机交互系统、PLC控制系统、计算机监控系统。笔者主要研究基于单片机的人机交互系统。
2 立体车库的工作原理
本车库的停车位置是两侧对称排列的,每侧为三层六列分布,共36个车位,根据需要可扩展。车库的所有车位均可停车,只需在动力输出设备的带动下垂直升降移动对应载车板,这样既提高了空间资源利用率,也节省了能耗和开发成本,经济环保,快捷实用。车辆出入车库的工作流程如图1所示。
3 系统硬件电路设计
人机交互系统主要是由微控制器80C320及外围的扩展模块组成。扩展模块包括液晶显示模块、读卡器模块、语音模块、485通信模块、数据存储模块等。人机交互系统整体结构如图2所示。
图1 出、入库流程图
3.1 系统硬件芯片选型
立体车库人机交互系统控制芯片采用Dallas公司的新型高速处理器80C320,该芯片与MCS-51系列单片机相比,具有更优良的性能和更强大的功能。80C320单片机机器周期较短,2个全双工异步串行口等特点完全满足本次设计需求。程序存储器(ROM)选用芯片 27C512[3]。
图2 人机交互系统结构图
读卡器将采用非接触式IC读卡器WM-02SB。该读卡器体积小,自带天线,能够方便地与控制芯片结合使用,只需通过RS485芯片与单片机相连,发送命令即可对卡片进行操作。
语音模块选用上海奔流电子有限公司开发的新型多段语音录放板BMP5008。本次设计选用BMP 5008-32 M的芯片。该芯片可以通过外挂不同容量的FLASHRAM,获得从30 s~32 min的录音容量并且录音信息掉电后不丢失。
液晶显示模块(LCD)采用拓普微科技开发有限公司工业级的TFT液晶显示器LMT057DANFWUBBN及其配备的控制板。控制芯片可采用并行接口控制LCD显示器,电路简单可靠,只需发送相应命令便可控制显示内容。
3.2 硬件原理图设计
单片机和外围扩展模块的接口电路图如图3所示。
图3 硬件电路原理接口图
80C320与WM-02SB读卡器采用RS485通信方式。WM-02SB需4条线控制。一条用来给读卡器供电,其他三条用来传输命令和数据。80C320的串口1通过485总线转换器MAX485转换成RS485通讯,这样不仅能延长通讯距离也能降低电磁干扰。80C320与语音模块通过总线方式控制。由于80C320的I/O有限,所以使用芯片8155扩展I/O口,将语音模块的六条控制线与8155的PB口相连即可控制语音模块。
8155的PB口工作在主机模式,是命令传输的主控制方。语音模块工作在从机模式。微控制器通过控制8155完成控制语音提示功能。80C320通过并口线与LCD模块外配的控制板连接,微控制器只需发送显示指令LCD便可实时显示。80C320通过两条线与I2C相连,P3.6和P3.7分别与芯片AT24C02的SCL和SDA相连,按照AT24C02的工作时序完成读写功能,避免了单片机系统断电后存储数据的丢失。80C320采用RS485通讯方式,微控制器的串口0通过转换器MAX485实现电平转换。信号通过74HC04取反芯片后,传输给光耦隔离6N137,然后传送给MAX485转换成差分AB信号,AB总线上接1个120Ω匹配电阻和2个偏置电阻,以减少信号反射的降低。EMI.在AB总线上各接1个20 Ω电阻和稳压二极管,以防止浪涌对485芯片的损坏[4]。
4 系统软件设计
系统软件包括主程序、语音控制程序、液晶显示程序与PLC通信程序等。主程序主要包括初始化程序、RAM内容更新程序等。软件编程采用模块化思想。利用子函数分别实现系统的初始化、显示、语音播放、读取卡号等功能。存车流程图如图4所示,取车流程与此相似。
图4 存车流程图
微控制器采用异步串行通讯方式。微控制器串行通信方式以字符为单位,即一个字符一个字符的传送。S7-200PLC采用自由口与车库人机交互系统进行数据交换[5],通信协议如下:
微控制器为上位机,PLC为下位机,双方的波特率为9600bit/s无校验位,8位数据位,一位停止位,收发数据采用中断方式。
通讯串口初始化程序如下:
void InitCom(void)
{SCON0=0x50;//串口方式1,允许接收
TMOD=0x20;//定时器1定时方式2
TH1=0xFA;
TL1=0xFA;//波特率为4800 kpb/s
PCON=0x80;//波特率加倍控制
RI=0;TI=0;//清收发标志
TR1=1;//启动定时器
}
帧头为固定字符0X4B,表示单片机与PLC开始传送数据,为通信数据流的第一个字符;Keyword为关键字,0X07表示存车,0X08表示取车,0X09表示复位;车位号表示车位地址;帧尾为固定字符0X4A,表示单片机与 PLC传送数据结束;CRC:异或校验[6-7]。
5 系统调试与结果分析
垂直升降式立体车库人机交互系统目前已完成初步设计,经单机调试和联机后,运行状况良好。调试方法如下:①人机交互系统单机调试:利用串口调试工具读取COM1口的数据,同时模拟下位机与人机交互通信进行测试。实验表明,可实现系统功能要求;②系统连调:单片机 COM0口与 S7-200PLC Port1连接,按照通信指令格式,发送相应的指令实现系统连调。图5为存车时LCD显示界面。
图5 存车界面
根据调试结果分析,该设计满足垂直升降式立体车库要求,具有结构简单、成本低、操作方便等优点。为解决小区停车问题提供了可参考的思路和方法。
[1]胡清明.立体车库的结构优化与智能控制[D].广州:华南理工大学,2010.
[2]齐风升.应用立体车库解决城市住宅小区停车问题[J].职业,2012(8):171-172.
[3]蒋兆远,卫晓娟.新型高速单片机原理及其应用系统设计[M].北京:中国铁道出版社,2004.
[4]孙少玉.立体车库的刷卡通讯系统设计与实现[J].铁路计算机应用,2009(4):53-55.
[5]孟建军,应倩刚,祁文哲.基于S7-200PLC应用环境的单片语音系统的开发[J].铁道科学与工程学报,2009,6(2):87 -91.
[6]胥如迅.基于人机工程学的人机交互系统研究及应用[D]:兰州:兰州交通大学,2012.
[7]杨志刚,钱俊磊.西门子S7-200系列PLC与单片机之间的自由口通信[J].河北理工学院学报,2005(11):77-80.