以前用LM393做过红外避障小车,但避障效果不佳。究其原因主要有两点,一是发射的红外信号未经调制探测范围窄;二是LM393本身只是个电压比较器,在输出电压翻转时没有延时,我们看到的现象就是小车在障碍物前面一前一后的瞎磨蹭,看了很是不爽。现在介绍智能红外避障小车的设计与制作。 ![]() 一.设计思想与总体方案 1,设计思想 小车沿直线行驶,当探测到前方有障碍物时停止,再后退,然后右转弯,最后继续前进,如此反复。 2,总体设计方案和框图 本设计以AT89C2051单片机作为检测和控制核心,用红外光电开头探测障碍物,RP5履带式坦克底盘作车体。框图如下:
二.系统硬件组成及设计原理 本系统硬件部分由单片机单元,红外传感器单元,电机驱动单元,蜂鸣器单元,键盘输入单元及电源单元组成。 1,单片机单元
本系统采用AT89C2051单片机作为中央处理器,其主要任务是扫描键盘输入的信号启动小车,读P3.5判断前方有无障碍物,并执行相关动作(本设计中P3.5=0时,前方有障碍;P3.5=1时前方无障碍),P1.4----P1.7是电机驱动口;P3.7是蜂鸣器信号输出;P3.5接红外传感器。 2,红外传感器单元
为简化硬件电路,传感器单元采用了发射/接收一体化的红外光电开头,型号E3F-DS30C4,点击图片可以查看其详细资料。
该传感器为漫反射型,使用电压范围宽(DC6V--36V),探测距离可调节,最大可达30CM,输出信号可直接与单片机的I/O口相连接。 3,电机驱动单元
PR5履带式坦克底盘为双电机驱动,转弯非常灵活,本系统用常用的电机驱动集成电路L293D控制两只电机。L293D内含2个H桥的高电压大电流双全桥式驱动器,接收标准的TTL逻辑电平信号,可驱动36V,2A以下的电机。2,7,10,15接输入控制电平;3,6和11,14脚分别接两只电机,1,9脚接控制#p#分页标题#e# 现以其中一组电机为例来说明:2,7脚输入高/低或低/高,实现电机的正/反转 2,7脚均为高或均为低,实现电机停转 1脚为高电电平时,2,7脚输入才有效,反之输入无效(所以在本系统中将1和9脚接高电平),也可以在1脚输入PWM信号,通过调整PWM的占空比来实现电机的无级调速(本系统中未使用)。 3,蜂鸣器单元
设计为上电蜂鸣,按启动按键和有障碍物时蜂鸣一次。由三极管,蜂鸣器和电阻组成。 4,键盘输入单元
设计两只按键,S2启动,由单片机扫描P3.4,此脚为低电平时启动;S1是停止,刚开始想通过编程来实现,后来在与朋友交流时,决定把S1装在复位电路中,这个办法既简单又有效,呵呵。 5,电源电路
系统采用两组电压供电,+8.4V是电机驱动电压,+5V供给单片机,L239D及蜂鸣器电路等。 三.软件设计
#p#分页标题#e#
由于系统要实现的功能比较简单,所以程序也比较简单。想要实现小车的前进,停止,后退和右转弯,单片机在各个阶段P1口的状态如下: P1=01100000=60H(十六进制), P1.7=0 P1.6=1 P1.5=1 P 1.4=0 , 小车前进
P1=10010000=90H(十六进制), P1.7=1 P1.6=0 P1.5=0 P1.4=1, 小车后退
P1=01010000=50H(十六进制), P1.7=0 P1.6=1 P1.5=0 P1.4=1, 小车右转 四.系统硬件连接图及源程序 1,硬件连接图:
#p#分页标题#e#2,源程序
ORG 000H ,开机初始化
五.实物图及视频 1,视频请移步 http://v.youku.com/v_show/id_XMTYzNDUwMDQ4.html
2,实物图
#p#分页标题#e# 电机驱动集成电路
单片机AT89C2051
停止按键是后来加上去的,呵呵。
#p#分页标题#e# 航模电池哦
E3F-DF30C4红外光电开关
PR5坦克底盘
#p#分页标题#e# 最后一张图
六.结束语 (责任编辑:admin) |