基于单片机的倒车雷达设计
摘要: 在此设计了一种基于单片机的倒车雷达系统,该系统采用超声波传感器将40 kHz的机械波发射到空气中,经障碍物反射后被超声波传感器接收,对接收后的信号进行放大,并对其进行信号处理。最后将处理后的信号输入到单片机中,通过单片机的显示器输出距离,并比较输出距离与1 m,0.5 m的关系,分别发出不同的警报,即通过单片机及其外围部件测量车和障碍物间的距离,最终实现引导驾驶员倒车的功能。经测试,该系统具有精确度高,成本低等优点。
在此设计了一种基于单片机的倒车雷达系统,该系统采用超声波传感器将40 kHz的机械波发射到空气中,经障碍物反射后被超声波传感器接收,对接收后的信号进行放大,并对其进行信号处理。最后将处理后的信号输入到单片机中,通过单片机的显示器输出距离,并比较输出距离与1 m,0.5 m的关系,分别发出不同的警报,即通过单片机及其外围部件测量车和障碍物间的距离,最终实现引导驾驶员倒车的功能。经测试,该系统具有精确度高,成本低等优点。
关键词:超声波;STC89c51;报警系统;倒车
0 引言
超声波是一种在弹性介质中的机械震荡,由于其指向性强、能量消耗缓慢、传播距离较远等到优点,经常用于测量距离。本课题研究超声波在空气中传播速度为340 m/s,运用超声波进行距离的检测,误差小,成本也低,具有实用性等优点。
1 硬件设计
本文设计的倒车雷达系统原图如图1所示。
硬件主要有超声波发射和接收电路,单片机处理电路,显示电路和警报电路。
1.1 超声波发射电路
通过单片机产生40 kHz的脉冲,经过三级放大器后传递给超声波发射传感器,超声波发射传感器采用CSB40T,传感器将接收到的脉冲信号经过内部振荡器转化为机械波在空气中传播。超声波是指频率高于20 kHz的机械波。发射和接收超声波的装置叫作超声波传感器。超声波传感器利用压电效应将电能和超声波进行转化,发射超声波时转化电能,接收超声波时,将振动的超声波转化为电信号。
单片机P1.0产生40 kHz的脉冲,脉冲宽度为12.5μs,把脉冲波传出的同时打开To计时器,计算超声波在空气中的时间。通过定时器1产生40 kHz的脉冲,用示波器测来决定定时器的初始值。脉冲经由74HC04放大后传给CSB40T传感器,74HC04具有对称的传输延迟和转换时间,是一个高速CMOS六反相器,CSB40T就把超声波发射出去。
1.2 超声波接收电路
超声波以机械波的形式传播,而单片机只能处理脉冲波,所以超声波经过接收传感器后既要通过放大又要经过整流。超声波接收电路包括超声波传感器,放大器,滤波整形等电路。
空气中的超声波能量低所以要经过放大后才不会被噪声淹没,所以放大器增益要够大并且增益可调,而超声波接收传感器型号要与发射探头一致,这样会选择性的接收40 kHz机械波,从而滤除其他频率的噪声。整形电路就是将接收到的机械波通过比较器转化为单片机可接受的脉冲波,用脉冲波的第一个上升沿去接D触发器的时钟,这样就可以将触发器的Q的非接单片机的外部中断,外部中断设置为下降沿触发,这样就把车与障碍物之间的传播时间测出来了。放大器采用通用的LM324,每一级放大倍数为10,比较器采用LM393。LM324系列器件为价格便宜的带有真差动输入的四运算放大器,采用2个内部补偿,二级运算放大器,第一级不仅完成增益功能,还完成电平移动和减小跨导的功能。而且,单电源模式下无论是输入器件还是差动到单端变换器都不会饱和,第二级含标准电流源负载放大器级。图2为一级放大器。
LM393是由2个独立的高精度电压比较器的集成电路,失调电压低,无论电源大小,电源消耗的电流都很低,即使是单电源供电,比较器的共模输入电压范围接近地电平。它具有的独特的优点是,双电源供电时,它能兼容CMOS逻辑电路。具有成本低优点。本文采用方案一。图3为比较整流器。
1.3 报警电路
采用常用的蜂鸣器,如果计算出的距离小于1 m大于0.5 m时,蜂鸣器间断性的发出滴滴声,当距离小于0.5 m时,蜂鸣器连续的响,以提示驾驶员倒车时注意间距。也可以采用自动语音电路,但如果仅仅起到报警功能的话,有不同的警报声就可以了。该方案不仅可以达到预想功能,还有电路简单、成本低、易编程等优点。
1.4 显示电路
使用2个数码管,当距离在0.5 m和1 m之间时显示11,距离小于0.5 m时显示00。数码管简单实用,编程简单,成本低。数码管位选接在P2.0和。P2.1口,段选接在P0.0~P0.7口。使用上拉电阻驱动。选用共阴极。本文采用方案一。
1.5 单片机介绍
STC89C51有4组8位的并行I/O口,RAM为128 B,4 KB的FLASH,片内程序存储器外部可扩展到64 KB。1个全双工的串行口。5个中断源,(顺序分别为:外部中断0,外部中断1,定时器0,定时器1,串行中断),2个中断优先级,2个16位的定时/计数器(有4种工作方式)。本文使用外部中断零和定时器0和1。定时器1中断时P1.0口就反相,结果输出所需的脉冲。定时器0用来记录脉冲发射到脉冲接收到的时间。单片机不断检测外部中断0,一有中断即表示已接收超声波。定时器有4种工作方式,本文采用方式2,即M1,M0为10。定时器为自动恢复初值的8位定时器。即当TLx计数溢出时,在溢出标志TFx置1的同时,还自动将THx中的初值送至TLx,使TLX从初值开始重新计数。并且当有溢出标志置1时,定时器就进入中断。定时器1进入中断后,P1.0反转,定时器0进入中断后,时间加一周期。单片机晶振为11.1592 MHz,一个指令周期约为1μs,40 MHz的脉冲一周期为25μs。所以通过设置定时器的初值用示波器测出产生的脉冲周期。
2 软件设计
软件设计模块化,由超声波发射子程序、超声波接收子程序、数码管显示子程序、警告子程序、距离计算子程序及主程序组成。算法框图如图4所示。C语言具有移植性好等优点。本文采用C语言编程,Keil软件编译,Protues或Prote199se画图。先初始化,定义位声明等,发射超声波时打开定时器,检测到超声波时先关闭定时器,关闭中断以防止嵌入中断下扰,调用距离测量子程序,若距离在危险距离时显示系统就工作并且打开警报系统,然后让中断恢复。
3 系统仿真过程
(1)单片机产生40 kHz脉冲产生了周期为25μs左右的脉冲波。单片机产生40 kHz的方波如图5所示。
(2)接收的波经过比较器后为脉冲波,最终单片机要接收的信号如图6所示。
4 结语
本文使用超声波的速度为340 m/s,超声波传播的速度与温度有关,本文没有用温度传感器实时的测量空气温度;超声波发射时会留有余波,所以在超声波发射的同时就打开定时器记录时间可能会受余波的影响,会导致计算距离误差。
该系统是基于8051单片机,利用超声波进行距离检测的设计,通过超声波在空气中的传播速度和所用时间测出车与障碍物间的距离,当车与障碍物之间的距离小于一定值时警报系统就会自动启动,而且不同距离的警报声是不同的。警报响的同时数码管显示大致的距离,提示驾驶员倒车注意,预防可能出现的摩擦或碰撞,减小可能存在的倒车隐患。该设计具有精确度高,成本低等优点。
暂无评论