微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 汽车电子 > 智能型随机检测客车超载系统

智能型随机检测客车超载系统

时间:10-24 来源:电子技术应用 点击:

目前客车超载运行是交通控制中要解决的首要问题。本设计可通过行政干预等手段,应用在客车超载的检查之中,方便了交警的工作[1]。

系统设计通过单片机和传感器的组合电路实现对客车超载的检查和控制。该检测系统能够自动检查车辆内乘客数目并显示出来,当车内人员超载时,发出语音提示,并自动关闭汽车启动装置,使之无法运行,保障了行车安全。

1 系统组成

系统组成框图如图1所示。


2 系统原理分析

本设计充分利用PIC16F877单片机的易编程和驱动能力强等特点[2],通过查询指令产生中断实现系统的显示、语音报警和汽车发动机锁定等功能。

2.1 传感器检测和信号放大滤波部分的设计

该部分的设计采用了两个反射式光电眼,安装在客车的车门处适当位置,根据乘客经过车门时遮挡两个电子眼发出的红外光的不同时序,通过单片机判别乘客是上车还是下车。该部分的硬件电路设计总体电路图如图2所示。


在图2的电路中,F1A~F4A是用CMOS集成的六反相放大器CD4069组成的放大滤波部分电路;ICA是CD4013构成的CMOS双D触发器,Y1A、Y2A是CD4081四个2输入端与门,这两部分与4069输出的两路传感器检测信号进行逻辑运算,最后在Y1A和Y2A的输出端输出合适的电平信号,分别送至PIC单片机的T0CKI脚和T1CKI脚(即计数器0和计数器1的时钟输入端)。

两个传感器的安装位置之间要有一定的距离(30cm~50cm之间),当无人经过传感器时(以下用E1和E2表示传感器),红外二极管发出的红外光照射不到光电三极管上,送给单片机的信号一直是不变的低电平,系统不会计数。当有人上车时,先遮挡住E1,则E1的红外二极管发出的光照射在人身上,反射到受光三极管上,电路中的A1点产生一个高电平信号,经过放大滤波、逻辑运算最后在A3端输出一个低电平信号。随后人体全部遮挡E1和E2,然后是离开E1遮挡住E2,最后离开。由此类推在整个上车的过程中A3点的电平是高低变化的,即一个上车脉冲信号,送至PIC单片机的STATUS寄存器进行加计数,而此时B3点的输出状态是不变的。具体的检测方法和脉冲产生时序如图3所示。


当人下车时则是把这个遮挡顺序反过来,B3点产生的脉冲时序是相反的,信号送至PIC单片机的STATUS寄存器进行减计数,单片机即可通过程序模拟把车厢内实际人数计算出来并存储在寄存器中。

2.2 显示部分的设计

由于PIC16F877单片机的I/O口驱动能力较强,所以显示部分的电路采用PIC16F877单片机直接驱动两位共阳极LED数码管的方式[3]。

RC6和RC7端口分别控制数码管的十位和个位的供电,当相应的端口变成低电平时,驱动相应的三极管会导通,+5V通过IN4148二极管和驱动三极管给数码管相应的位供电,这时只要RB7口送出数字的显示代码,数码管就能正常显示数字。

2.3 语音报警部分的设计

该部分主要采用美国华邦公司10分钟规格的ISD4004语音芯片,由PIC16F877 SPI模块的RC3、RC5端口直接驱动,电路简单、不怕掉电、发音清晰、存储量大、编程方便,可以适应客车上的环境。

由于ISD使用的是3V电源,而PIC使用的是5V电源,因此电路设计中,在单片机的I/O口输出时,采用了先串接10kΩ电阻再接到ISD的SPI口的方式;而MIS0口是由ISD输出、PIC16F877输入的,为了使PIC16F877能准确识别其电平,电路设计中在MIS0脚加了一只NPN三极管接成的反相器,向PIC16F877的MIS0性质的RC4脚提供足够电压,所以在程序中应该把MIS0的所有读入信号取反。

为了方便语音录入,在ISD4004的17脚加了一个麦克风,由于语音芯片自身的采样频率较高,所以不需要另外接AGC电路,就可以录入较为清晰的语音。

ISD4004的语音输出经电容耦合滤波后,接至音频功率放大器芯片TDA2822放大就由扬声器播放出来。

2.4 发动机锁定部分的电路设计

因为客车发动机采用的是汽油机,汽油机的燃烧方式是靠火花塞点燃式,而火花塞的跳火是由于安装在分电器中的信号发生器发出信号,点火模块依据收到的信号发生器的信号来接通和切断点火系的初级电路,点火系的次级电路感应初级电路电压的变化而产生高压点火。因此,对于汽油发动机只要执行电路切断点火电路的低压电路,高压电路就不会感应出电火花来点燃混和气了。

本设计中,根据PIC16F877单片机检测到的是否超载的信号,在I/O口输出一个高或低电平信号,放大后驱动电磁阀的开闭来控制点火电路的低压电路。

3 软件设计

3.1 计数功能程序实现

该部分程序的主要功能是将传感器检测到的两路上下车信号送至PIC单片机的STATUS寄存器以进行加减计数,将实时的数据和预置在W寄存器的上限人数(如50人)循环不间断地进行查询比较,一旦等于50则产生中断控制语音芯片进行语音报警,大于50则执行发动机锁定电路。

3.2 LED显示部分的程序实现

该部分程序的主要功能是对单片机的显示控制位进行查询并查表,使数码管的高位和低位能不断刷新,达到实时显示客车上人数的目的。

3.3 语音部分的软件控制程序设计

该部分程序的主要功能是不断地查询PIC16F877的SPI片选位RA5和语音控制位RC5,一旦有中断信号,则由单片机的SPI模块从语音芯片的存储器中读出对应的预先录制好的语音程序。

3.4 软件控制程序设计流程图

系统的软件控制程序设计流程图如图4所示。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top