摘要:系统基于核心部件单片机stc89c51rc,gprs模块sim900a,热释电红外感应模块hc-sr501及相关电路组成一套完整系统,用于实时统计公交乘客人数,并向调度中心发送实时反馈信息,方便公交管理人员合理安排公交车辆运行。
关键词:单片机;gprs模块;人体红外感应
近年来,随着国内城市化快速发展,基础设施不断完善,尤其是公共交通的进步给人们出行提供很多便利,但是诸如乘客拥挤,候车时间难以掌控等问题也日益突出,如何借助信息化技术解决现实矛盾是一项值得研究的重要课题,本文将介绍一种利用单片机和传感器模块开发的新型车载公交调度终端设计原理,可实时监测车载乘客人数,并将数据发送至公交调度中心,管理者依此为据,合理安排公交发车数量和频率,有效解决公交乘车难的问题。
1系统总体设计如图
1所示,系统主要有几大部分组成,分别为单片机Stc89c51rc,人体红外感应模块,gprs数据传输模块,液晶显示模块,时钟复位电路和电源模块。其中,单片机Stc89c51rc作为核心部件用于控制整个系统运行,处理来自传感器模块搜集的实时信号,将信息在液晶模块上显示,并通过无线数据传输模块发送和接收信息。
2系统硬件电路设计
2.1电源电路设计如图2所示,系统及外围电路采用3~5v直流供电,而车载输出直流电压通常为24v,因此需要通过直流变压转换,当前市面有很多集成降压模块可供选择,其中德州仪器的LM2596降压开关型集成稳压芯片较为常见,利用该器件只需极少的外围器件便可构成高效稳压电路。2.2单片机最小系统设计系统以stc89c51单片机为核心,显示输出部件为lcd12864液晶显示模块。Stc89c51rc是一种8位处理器芯片,工作电压为直流3.4v~5.5v,内部集成sram512B,在线可编程存储器flashrom4KB,两路外部中断源,在本设计中首先需要增加时钟和复位电路,将单片机使能引脚ea接正5V高电平,利用外部晶振作为单片机系统时钟振荡器,同时,复位引脚rst外接电容和电阻,可实现系统开机加电自动复位。Lcd12864是一种128*64点阵汉字图形显示模块,内置128个16*8点阵ascii字符,支持64*256共128B显示ram,可实现与单片机信息交互,模块引脚可分为数据端口和指令端口,在本系统设计中,将液晶模块8个数据传输端口与单片机P0口相接,实现并行输出,指令端口诸如单片机使能端E,D/I数据指令选择引脚,R/W读写引脚,片选引脚CS1,CS2以及复位引脚RST与单片机P2口相接,用于控制液晶显示模式。2.3热业释电红外模块设计热释电红外传感器是一种能检测人或动物发射的红外线而输出电信号的传感器。其工作原理是根据热释电效应,当传感器周围发生温度变化时,两个电极之间便会产生电荷,即微弱电压,反之,周围环境没有温差产生则不会有电信号,目前常用的热释电传感器为HC-SR501,是基于红外线技术的自动控制模块,工作电压为5v~20v,静态工作电流65ua,引脚主要有电源正负极和信号输出端,信号输出作为单片机外部中断源,为检测乘客进出,系统使用两路热释电模块,分别连接单片机的两个中断引脚。2.4gprs数据传输模块设计为了能将公交车辆上的乘客数量信息及时反馈至调度中心,需要利用无线传输方式发送数据,利用电信移动网络是最可靠和有效的方式。如图4所示,Sim900a是当前广为使用的gprs无线传输模块,该模块工作电压为3.4v~4.5v,支持语音通信,短信收发,gprs数据传输等功能,并支持rs232协议,使用串口方式与单片机通信,模块对供电要求较高,电流不小于2A,在接vbat引脚时需并联100uf旁路电容,以获得稳定电流输出。通过拉低pwrkey引脚信号并延时1秒,可实现模块开关操作。SIM900A提供两个非对称的异步串行接口,一个用于通讯,另一个用于软件调试升级。将模块的数据信号线TXD和RXD与单片机的串行端口p3.0和p3.1相连,即可实现单片机与sim900a的交互通信。
3系统软件设计
公交车辆通常遵循前门上车,后门下车的秩序,系统在设计时,需要在前后门的内外侧分别安装人体感应红外探头,共四个模块,前后门外侧的两个模块的信号输出端与单片机p3.0相连,前后门内侧的两个模块的信号输出端与单片机p3.1相连,这样,当有人上下车时,车门外侧探头将触发单片机外部中断int0,内侧探头则触发int1信号,单片机根据触发先后次序和次数,统计上下车人数。软件设计包括初始化和复位,数据无线传输,上下车判断和乘客统计,时钟程序,外部中断,液晶屏显示等。系统开机时,先进行硬件初始化和复位操作,而后通过gprs模块向调度中心发送请求,建立连接,同时,车门两侧的热释电红外感应模块加电工作,如果此时有人上车,车门外侧探头触发int0,设标志位a=1,经过延时20ms,打开单片机定时器t0,设置工作方式TMOD=01,定时3s,在此期间若车门内侧探头触发int1,说明乘客已经上车,车内乘客人数加1,标志位a=0,在液晶屏上显示结果,并通过gprs发送信息。同理,当有人下车时,车门内侧探头首先触发int1,设标志位b=1,同样定时3秒,在此期间若车门外侧探头触发int0,说明乘客已经下车,车内乘客人数减1,标志位b=0,在液晶屏上显示结果,并通过gprs发送信息。程序流程图如图5所示。
4结束语
基于51单片机的终端设计简单实用,成本低,稳定可靠,具有良好的拓展性和延伸性,并且根据实际需要,系统功能还可进一步开发和增强,比如增加语音模块和gps模块,利用公交站台的显示屏和音箱及时向乘客提供车辆信息,也便于调度中心了解掌握更多信息,系统51单片机的部分gpio端口已被预留,也可通过增加端口扩展电路来实现更多功能,以便今后更进一步研究。