超声波雷达又称泊车辅助系统,是一种利用超声波原理,由装载于车尾保险杠上的探头发送超生波撞击障碍物后, 反射此声波探头,从而计算出车体与障碍物之间的距离。倒车雷达主要由三部分组成:
感应器(探头),主机,显示设备。感应器发出和接收超声波信号,然后将得到的信号传输到主机里面的电脑进行分析,再通过显示设备显示出来。随着人们对汽车驾驶辅助系统易用性要求的提高,以及单片机价格不断下降和汽车电子系统网络化发展的要求,新型的倒车雷达都是以单片机为核心的智能测距传感系统。本文介绍了一种基于MSP430 单片机的超声波倒车雷达监测报警系统。
1 系统的硬件设计
本倒车雷达主要用来显示汽车后面的情景,测量和障碍物之间的距离。整个设计主要由MSP430 单片机、超声波发生模块、超声波接受模块、视频采集模块、LCD 显示模块以及语音报警模块组成。单片机外围扩展一系列功能模块如LCD、USB 接口等,USB 主机接口连接摄像头模块采集视频图像信息系统,结合ARM 处理器实现视频/图像的采集、压缩,并将采集后的数据发送到接收端,并通过LCD 显示出来。
1.1 倒车雷达总体结构
倒车雷达的设计由五部分组成:超声波发生模块、超声波接受模块、摄像头视频采集系统、LCD 显示模块、语音报警系统,其总体体系结构见图1.1.
图1.1 系统的总体设计
各模块完成的具体任务如下:
1.1.1 测距系统:由超声波发生模块、超声波接受模块、单片机控制系统组成,用来测量汽车与障碍物之间的距离。
1.1.2 显示报警系统:主要由USB 摄像头、控制系统、显示模块和语音报警组成, 用来显示车后和车侧面的详细情景并通过彩色液晶显示,同时通过语音提示报警。
1.1.3 控制系统:是本系统的核心,采用MSP430 单片机,控制整个系统的运行,对各种接口电路进行控制。
1.2 超声波发射与接收
单稳触发器接收来自S430F1101 的P1.3 端口输出的40ms 脉冲波,经过触发器的电压提升和脉宽控制输出频率不变、高电平宽度为160us 的方波,方波周期为40ms.此脉冲信号作为555 振荡器的置位脉冲。在置位期问,555 定时产生40kHz 的振荡信号,由超声波发射头T40K 将电信号转化成超声波发射出去。超声发射器便发射出脉冲数为7 个的脉冲串(1 / 40kHz=O.25ms),超声波发射器的声波传播到反射物,再由反射物反射到接收器。
超声波接收UCM-R40 接收到的回波信号转换成电压信号,经过两级放大及电压整形电路,整形后的直流电压并不平滑,需加一个电容C5 滤波,滤波后的电压范围基本稳定,用这个电压驱动光电耦合器件SFH65A-1 的发光二极管,这时光敏三极管导通,经过一个反相器输出电平信号,再经过一个反相器使电平信号基本稳定。电平信号直接输入单片机的外部中断入口,该高电平作为MSP430 的外部中断的中断信号使单片机产生中断, 在中断服务程序中停止计数器的计时,并计算出有关数据。
1.3 显示电路设计
采用实时图像视频具有直观生动、快速便捷、内容丰富的特点,便于司机及时详尽掌握周围的环境,做出准确的判断。使用USB 摄像头作为本系统的图像采集器件。选择主控芯片型号为中芯微公司的ZC301 摄像头通过USB 接口与AT91RM9200 通信,ARM 经过相应的数据处理,通过液晶屏实时显示。
2 系统的软件设计
2.1 总体思路
软件设计采用模块化设计, 包括主程序设计、T1 中断服务子程序、INT0 外部中断服务子程序、距离计算子程序、显示子程序、延时子程序和报警子程序设计等。
系统初始化后就启动定时器T1 从0 开始计数, 此时主程序进入等待,当到达65 ms 时T1 溢出进入T1 中断服务子程序;在T1 中断服务子程序中将启动一次新的超声波发射, 此时将在P1.0 引脚上开始产生40 kHz 的方波,同时开启定时器T0 计时,为了避免直射波的绕射, 需要延迟1 ms 后再开INT0 中断允许;INT0 中断允许打开后,若此时P3.2(INT0)引脚出现低电平则代表收到回波信号,将提出中断请求进入INT0 中断服务子程序,在INT0 中断服务子程序中将停止定时器T0 计时,读取定时器T0 时间值到相应的存储区,同时设置接收成功标志;主程序一旦检测到接收成功标志,将调用测温子程序,采集超声波测距时的环境温度,并换算出准确的声速,存储到RAM 存储单元中;单片机再调用距离计算子程序进行计算,计算出传感器到目标物体之间的距离;此后主程序调用显示子程序进行显示;若超过设定的最小报警距离还将启动扬声器报警;当一次发射、接收、显示的过程完成后,系统将延迟100 ms 重新让T1 置初值,再次启动T1 以溢出,进入下一次测距。如果由于障碍物过远,超出量程,以致在T0 溢出时尚未接收到回波,则显示"ERROR"重新回到主流程进入新一轮测试。
2.2 超声波发射和接收部分软件
超声波的接收及障碍物和汽车之间的距离判断方法,并根据判断出的距离触发报警器工作,其工作原理的流程图如图2.1 所示。
图2.1 超声波测距流程图
超声波发射子程序的任务: 控制时基电路输出若干个超声波,并同时启动T0 开始计时。在此过程中,要计时采用屏蔽中断,开中断等操作,避免外中断影响该子程序的有效执行。
本系统使用一个中断,即外部中断INTO 是超声波有效回送的指示信号,当中断触发时,可以根据时间差计算出超声波的传输距离。内部定时器TO 用来计时,在发射子程序开始时,启动T0 开始工作,而在INTO 中断服务程序时, 停止T0 计时, 并读取计时值用以计算距离。
距离子程序是根据MSP430 芯片计数器所提供的传输时间进行计算,并根据计算得出超声波的传输距离。根据主程序的需要,将相关数据存入相关单元,以供主程序进行下一步处理。INTO 中断服务程序将定时器中的值存入R1、R0 两个寄存器中, 根据模值减去处置所得到的数值得出时间差。传输距离根据公式S=V*T 进行计算。目标物的距离值,也按公式计算,其中T 为测出的额计数器的计时差值,单位为us.使用该公式即可计算出目标物与汽车的距离。
3 总结
系统利用超声波在空气中的可传播性,实时测得超声波在空气中的传播时间和传播速度,在将时间和速度相乘即得距离的原理,设计了一个基于MSP430 的超声波倒车雷达监测报警系统,用于实时测得汽车尾部与障碍物的距离,通过LCD 显示距离值,将距离值提供给司机,该系统具有成本低、非接触、速度快、可靠性强、适应性好、操作方便,有着广泛的应用前景。
实践应用表明,该设计在生产应用和科学研究方面均具有一定的价值。一方面产品设计的人机界面更为人性化,司机可直接通过LCD显示屏观察车后的详细状况,不需要回头就可以倒车,大大减少了汽车司机的工作量,避免了引导车不慎造成交通事故;另一方面系统不断采集汽车与障碍物之间的距离, 并通过语音报警系统实时提醒司机,为我们的倒车提供了更为安全的保障,从而使我们在倒车的时候更方便快捷,同时也更为安全可靠。
设计资源 培训 开发板 精华推荐
- 使用 Semtech 的 SC1660 的参考设计
- 小巧、快速且高效的比较器为 3V 模拟放大再生高达 3MHz 的时钟信号
- 使用 Microchip Technology 的 SY58024U 的参考设计
- ZXGD3113EV1,基于 ZXGD3113 SOT26 同步 MOSFET 控制器的评估板
- LT1072HVIT 5 至 12V 升压转换器的典型应用
- AD9518-2A/PCBZ,AD9518-2A 评估板,2200 MHz 极低噪声 PLL 时钟合成器
- 采用 CAN 离散 SBC 的汽车预降压、后升压参考设计
- LT3973EMSE-3.3 5V 降压转换器的典型应用
- ADR423 3V高压浮动电流源的典型应用
- 具有短路保护功能的 MC78M05BDTRKG 5V 电流提升的典型应用