APP下载

基于单片机的自动寻迹避障小车设计

2014-07-04卢庆林

机械与电子 2014年7期
关键词:高电平测距障碍物

卢庆林

(陕西工业职业技术学院电气工程学院,陕西 咸阳712000)

0 引言

智能小车是一种可移动的轮式机器人,其内容涵盖机械、电子、汽车、计算机、传感技术和自动控制等领域[1]。随着汽车工业的快速发展,汽车的智能化必将是未来汽车产业发展的趋势,可应用于工厂自动料车、固定场地搬运车等技术领域,也可应用于复杂、恶劣的工作环境,具有良好的应用前景[2-3]。目前,超声避障实现简便、数据处理量小、易于做到实时控制,并且在测量精度方面能达到实用的要求,因此,成为常用的避障方法[4]。在此,采用红外寻迹,使小车沿着预定路径行驶,对行驶途中障碍物,利用超声波传感器来实现小车避障,通过控制小车与障碍物的距离,实现了小车多角度检测障碍物,从而控制小车转向、后退或前进,使小车能成功躲避障碍物。

1 系统方案设计

避障小车使用STC89C52单片机作为主控芯片,采用双电机驱动,在左右后轮各安装1个直流电机,转向控制由调制舵机的转动角度来实现。小车寻迹采用红外对管,安装在小车前端,为了小车能够更好的避障,在小车的前、左、右3个方向上安装了3个超声波传感器,通过超声波测距来获取小车离障碍物的距离,并用液晶LCD显示结果。当小车与障碍物的距离大于30 cm时,小车会沿直线前进;当小车检测到障碍物并与障碍物的距离小于30 cm时,主控芯片根据距离值控制直流电机的转动,在转动的方案上将首先尝试左转,如果在0.9 s里面连续转动3次,则说明前方的障碍不能通过,就控制小车向相反的方向转动并后退一段距离,然后再前进以避开障碍物,同时蜂鸣器报警提醒。系统结构如图1所示。

图1 系统总体设计

2 硬件设计

2.1 HC-SR04测距模块

超声波传感器主要发射高频超声波,在遇到障碍物时发生像光一样的反射和散射。超声波模块采用成型的HC-SR04模块,该超声波模块测距范围为3~400 cm,测距精度可达到3 mm,其包括超声波收发探头、控制电路和驱动电路[5]。超声波测距模块工作原理:采用I/O口TRIG触发产生8个40 k Hz的方波脉冲,由发射驱动电路加在发射探头上,经被测物反射到接收探头,通过检测电路送处理器处理后,由处理器I/O口Echo产生1个持续高电平,该高电平保持时间即为超声波从发射到返回的时间。

2.2 ST188红外传感器寻迹模块

红外传感器ST188是一种反射式光电传感器,其体积小、使用方便和可靠性高[6]。光电检测电路如图2所示,主要有光电和信号处理2部分。在进行光电检测时,ST188传感器寻迹,当检测到路径时,将信号传输给集成运放μA741,构成电压比较器,得到相关TTL电平信号,送 给 STC89C53单片机处理,从而断定小车是否沿规定路径行驶。在预定路径运行过程中,若检测到路径中黑色部分,接收管产生0.5 V低电平信号;若检测到路径中白色部分,接收管产生4.8 V高电平信号。电压比较器完成信号初步处理,30 kΩ的电位器调节其基准电压[7]。系统为了能准确定位行驶方向及路径,在小车底盘装设4个红外ST188探测头,从左右2个方向上纠正控制,提高循迹的可靠性。

图2 光电检测电路

2.3 电机驱动设计

电机驱动部分主要由STC89C52单片机和L298N构成,其电路如图3所示。L298N芯片单列直插式,共15个管脚。其中,IN1,IN2,IN3和IN4为输入端;OUT1,OUT2,OUT3和 OUT4为输出端;SA和SB为反馈端;ENA和ENB为使能端;GND为接地端;VSS为电源电压输入端;VS为功率电源电压输入端。L298N芯片响应频率高、输出功率大,可同时驱动2个电机。AT 89C52的PB4,PB5端口直接分别与L298N的2个使能端ENA,ENB相连,通过对单片机编程就可实现2个直流电机的PWM调速 控 制[8]。 单 片 机 的PD0~PD3端口分别与L298N的引脚IN1,IN2,IN3,IN4相连,通过电平变化控制电机在持续高速状态下的转向。L298N的4个输出端直接与2个电机相连,以驱动电机。

图3 L298N电机驱动电路

2.4 主控系统设计

主控系统主要采用STC89C52单片机作为中央处理器,主要包含ISP下载端口、超声波连接端口、L298N连接端口和各类指示灯等。

STC89C52单片机是8位单片机系统,具有低功耗、性能稳定、可靠性高和支持在线编程等优点。另外,STC89C52还有2个8位可编程计数定时器,4 KB的RAM,32个I/O口[9]。由其构成单片机最小系统如图4所示。系统采用外部时钟,振荡频率为12 MHz,复位采用按键控制。

图4 时钟电路和复位电路

2.5 显示及报警电路

显示模块采用LM016L液晶模块,内部带有控制器,具有简单而功能较强的指令集,可以实现字符闪烁、移动等功能[10]。LM016L与单片机通讯可采用8位或4位并行传输2种方式。显示电路如图5所示。系统报警电路采用的是三极管驱动的蜂鸣器,其工作电压为3~15 V,驱动电流为10 m A。蜂鸣器由三极管和电阻组成的驱动电路来驱动,STC89C52单片机的P3.5口接三极管基极输入端,通过P3.5输出高电平使电路产生报警。

图5 LM016L显示电路

3 软件设计

3.1 小车红外寻迹设计

小车寻迹流程如图6所示。STC89C52单片机定时器预置的初值,使其P0.4和P0.5端口产生不同占空比的方波信号,来控制电机两端的电压值,进而控制小车运行速度。小车沿规定路径行驶时,系统处理器不间断地扫描单片机与红外探测器的接口,判断是否有信号输入,检测到就进行相应判断处理,并传送给电机,使小车沿预定路径行驶。

图6 小车循迹流程

3.2 超声波测距设计

在超声波探测模块中,I/O口触发,给Trig口至少10μs的高电平,启动测量;模块自动发送8个40 k Hz的方波,自动检测是否有信号返回;有信号返回,则通过I/O口Echo输出1个高电平,高电平持续的时间就是超声波从发射到返回的时间,测试距离=(高电平时间×340)/2,单位为m。超声波测距流程如图7所示。

图7 超声波测距流程

程序中测试功能主要由2个函数完成,即measure()负责启动1次模块的测距,然后由Should Turn()确定前方是否有障碍物。根据车体大小及系统的反应,经过测试,取30 cm的反应距离效果较为明显。另外,HC-SR04超声波探测模块探测的间隔周期推荐值是64 ms,经过试验,小车系统中取125 ms较为适宜,使主程序有足够的时间来驱动小车前进。实现中采用定时器0进行定时测量,8分频,TCNTT0预设值0XCE,当timer0溢出中断发生2 500次时为125 ms。

4 结束语

在自动寻迹避障小车中,采用功能单元模块化的设计,使得系统响应快、性能稳定、简洁。经测试表明,小车实现了预期设定的循迹功能,并在规定的时间内,沿设定路径完成循迹,对于行驶路径中的障碍物,如小于30 cm,可自动转向避让。为了使小车更加智能化,还可为小车增加自动巡航、识别、车速检测和制动等功能。

[1] 夏 鲲,张振国.电动车跷跷板自平衡系统设计[J].电子测量与仪器学报,2010,24(2):179-183.

[2] 兰 羽.基于红外传感器ST188的自动循迹小车设计[J].电子设计工程,2013,21(3):64-66.

[3] 简 盈,王跃科,潘仲明.超声换能器驱动电路及回波接收电路的设计[J].电子技术应用,2004,30(11):31-34.

[4] 董 涛,刘进英,蒋 苏.基于单片机的智能小车的设计与制作[J].计算机测量与控制,2009,17(2):380-382.

[5] 苏 炜,龚壁建,潘 笑.超声波测距误差分析[J].传感器技术,2004,23(6):8-11.

[6] 兰 羽.具有温度补偿功能超声波测距系统的设计[J].电子测量技术,2013,36(2):85-87.

[7] 兰 羽.基于40 k Hz超声波测距系统的设计[J].机械与电子,2013(8):66-69.

[8] 蒋纬洋,邓 迟,肖晓萍.两轮自平衡小车系统制作研究[J].国外电子测量技术,2012,31(6):76-79.

[9] 兰 羽,万可顺.基于AT89C51的无线温度采集系统的设计[J].国外电子测量技术,2013,32(6):83-85.

[10] 王 刚,乔纯捷,王跃科.基于时钟同步的分布式实时系统监控[J].电子测量与仪器学报,2010,24(3):274-278.

猜你喜欢

高电平测距障碍物
一种基于FPGA的PWM防错输出控制电路
高低翻越
SelTrac®CBTC系统中非通信障碍物的设计和处理
类星体的精准测距
TS-03C全固态PDM中波发射机开关机控制电路原理及故障分析
浅谈超声波测距
DM 50KW中波广播发射机欠推动故障分析
PDM 1kW中波广播发射机保护电路分析
基于PSOC超声测距系统设计
相对差分单项测距△DOR