基于单片机的汽车转向灯控制器
扫描二维码
随时随地手机看文章
0 引言
随着社会的发展,道路上到处都是飞速的汽车。如何保证行人安全,一直都是人们关注的重心。要减少交通事故,就得从汽车的各种安全设计考虑,这不仅仅是汽车本身的质量问题,还应关注汽车在行驶过程中对路人的引导指示方面。其中汽车的各种灯就是安全警示的一个方面,汽车的转弯灯、头灯、尾灯和警示灯等能够帮助路人识别汽车的动向,尤其是当遇到紧急事件时,打开紧急开关就可以警示路人该车现在不安全了,需要小心避车。转弯灯能提示路人该车要进行左转或是右转了,小心碰撞。传统的汽车闪光器结构简单体积小、闪光频率稳定、监控作用明显,故被广泛使用。但这样的继电器由于自身条件的限制,可靠性低,定时时间不够精确,使用寿命较短,且继电器受温度影响较大,对于温度变化较大的环境往往不能满足要求。本文中汽车转向灯设计是用单片机来实现的,单片机控制系统可避免传统的缺点,因为单片机功能强、使用灵活、可靠性高、成本低、体积小、面向控制、具有智能化功能等很多优点。
1 Proteus仿真软件介绍
本文中用单片机控制的汽车转向灯控制器是在Proteus的设计仿真环境中实现的。Proteus是由英国Labeenter Electronics公司开发的EDA工具软件。它主要由Ares和Isis两个程序组成。前者主要用于PCB自动或人工布线及其电路仿真,后者主要采用原理布图的方法绘制电路并进行相应的仿真。除了上述基本应用之外,Proteus革命性的功能在于其电路仿真是互动的,针对微处理器的应用,可以直接在基于原理图的虚拟原型上编程,并实现软件代码级的调试,还可以直接实时动态地模拟按钮、键盘的输入,LED、液晶显示的输出,同时配合虚拟工具如示波器、逻辑分析仪等进行相应的测量和观测。基于Proteus的单片机控制系统设计极大地简化了设计工作。基于VSM的理论,Proteus可以仿真很多常用的微处理器。
具体来讲,它支持PIC、8051、AVR、HC11、ARM7/LPC2000等系列多种型号的微处理器、微控制器,仿真时只需在设定元件属性时指定下载程序的路径即可进行实时动态仿真。
2 汽车转向灯控制器的单片机硬件系统设计
2.1 本汽车转向灯控制器所实现的功能
汽车转向灯控制器应具有自动诊断故障、转弯、停靠和警示灯多种功能。本文中汽车转向灯所具有的具体功能有下面5个:
(1)正常驾驶时,接通左转弯开关,左转弯灯、左头灯、左尾灯同时闪烁;反之右转弯灯、右头灯、右尾灯同时闪烁,闪烁频率为2Hz。
(2)刹车时,接通刹车开关,左尾灯、右尾灯同时亮。
(3)停靠站时,接通停靠开关,左头灯、右头灯、左尾灯和右尾灯同时闪烁,闪烁频率为2Hz。
(4)出现紧急情况时,接通紧急开关,左转弯灯、右转弯灯、左头灯、右头灯、左尾灯和右尾灯同时闪烁,闪烁频率为10Hz。
(5)若出现控制灯故障,能自动反馈到单片机控制中心,实现故障自动诊断功能。
2.2 汽车转向灯控制器硬件设计
2.2.1 汽车转向灯硬件框图
根据自动控制原理,汽车转向灯控制器应该由输入、输出和反馈检测电路组成,由AT89C51单片机组成控制器来处理和控制这些信号。汽车转向灯控制器硬件框图如图1所示。
2.2.2 汽车转向灯硬件原理图
51单片机结构简单,价格便宜,应用广泛,所以本系统采用AT89C5 1单片机作为微控制器。输入信号采用按键开关,连到单片机的P3口上,当人按下某个开关时,把控制命令传给单片机,从而驱动相应的灯组进行工作。输出信号灯在Proteus用LED来代替,这些灯的亮灭由智能功率开关BTS724来控制和检测反馈。BTS724是4通道、低通态电阻的高端开关,内部集成充电泵,兼容CMOS、TTL电平,具有状态反馈功能,用于控制各种标识灯。BTS724带有四通道输入输出,且每一对输入输出相互独立,数字量输出的诊断反馈,在OFF状态(指车灯在未接通的状态下)可检测开路故障,在ON状态(指车灯在接通的状态下)反馈过热关断。对于数字量输出类型的诊断,通过加一个外部上拉电阻到输出,能在负载关闭的情况下检测到开路故障。当按下紧急开关时,不仅6个标识灯急闪而且要同时响铃警示,增强紧张气氛,驱使路人小心避车。响铃在Proteus里用讯响器来代替,发出滴滴声音。根据以上分析,先从元件库里取出元件并在绘图区放好,根据要求设置元件属性,然后连线,完成电气原理图的绘制。对于不在基本库里的元件可以自制,也可以再加库。图2为汽车转向灯控制原理图。
3 汽车转向灯软件设计
汽车转向灯控制器实际上是根据车灯的状态信息及驾驶员对车灯状态的要求来实现的。车灯的状态信息主要是故障信息的反馈,而驾驶员对车灯状态的要求通过按下不同的开关来实现。具体控制思想如下:在系统启动并进行初始化以后,定时器被启动并周期地对BTS724控制的车灯进行检测,同时亦周期地对车灯开关进行扫描,根据诊断结果和车灯开关,决定灯组怎么显示和是否工作。当有故障发生时,跳到相应的故障分辨程序。在故障分辨程序里分清故障产生的原因,并转去具体处理。与此同时对5个开关进行循环周期扫描,当有紧急开关按下时,左转弯灯、左头灯、左尾灯、右转弯灯、右头灯和右尾灯同时急闪,闪烁频率为10Hz;当按下刹车开关时,左尾灯、右尾灯同时亮;当按下停靠站开关,左头灯、右头灯、左尾灯和右尾灯同时闪烁,闪烁频率为2Hz;当接通左转弯开关,左转弯灯、左头灯、左尾灯同时闪烁;接通右转弯开关,右转弯灯、右头灯、右尾灯同时闪烁,闪烁频率均为2Hz。
汽车转向灯控制具体流程图如图3所示。
单片机仿真软件Proteus可以和KEIL软件进行联合开发仿真,经过简单设置,同时打开Proteus里原理图和KEIL程序,在KEIL中启动调试Debug-start/stop Debugsession,并运行Debug-go,此时Proteus的硬件仿真可被KEIL启动。
部分关键程序:
4 结束语
本文汽车转向灯控制器主要实现了对6个车灯的电子控制,通过控制器可以实现对每个车灯的控制显示,比如紧急情况时,6灯急闪响铃,转弯时左路车灯工作闪烁等;还可以通过功率开关器件BTS724实现故障反馈,从而实现对每个车灯的故障诊断,让驾驶员清楚知道车辆的灯组状态,好采取措施,以防出现该亮不亮,该闪不闪的危险状态,好提醒路人车辆的行驶意向,大大提高行车的安全。