《基于51单片机的红外避障自动车的实现》技术报告
小组成员:李相华
王太杰
孙学军
指导老师:
时间:2010/05/03
摘要
本小组所设计一个带有红外传感器的小车,基本能实现自动避障的功能。本小车以STC89C52为其主控单元,以俩个直流减速电机为驱动电机提供基本动力,并依据差速原理实现转向,用红外传感器进行探测,使用分离元件组成的电路去驱动电机,使用PWM波实现变速功能。小车分为五个模块:STC89C52主控模块,传感模块,电源模块,电机驱动模块,测速模块。
关键词:89C52 红外避障自动车
题目:《基于51单片机的红外避障自动车的实现》
下面是一些基本资料:
——————————————小车参数——————————————障碍检测方式红外探测(探测模块功耗7mA)
车模几何尺寸(mm)149 x 102 x 59
测障精度前方:75 cm 左右:25cm
车模轮距(mm)120
电源系统 4 x 1.5 v干电池4 x 1.2 v充电电池及其稳压输出
电机直流减速电机,1~12V工作电压,传动比:71.2:1
主控芯片STC89C52MCU
其他芯片LM7806 LM7805 STC11F01等
—————————————小组资料———————————————
小组成员:
姓名班级善长项目负责模块
王太杰0804211班擅长于硬件
焊接技术强
硬件知识充足
红外探测部分
驱动调试
孙学军0904211班擅长于编程
C语言功底扎实
思路开阔
程序驱动部分
程序调试
李相华0804211班查阅资料能力强
善于方案选择和优化电源部分
小组优势:
硬件与程序搭配协调,每人负责各自模块,只提供最终模块接口,使对方不必关注自己模块内部结构,只需将接口连接完成即可,减少了每人负责的内容,提高了效率。
————————————制作流程与时间—————————————
2010年5月1日
小组成员对各模块电路进行了选择、优化,并进行了电路搭建、焊接,各模块调试,确定模块交互接口;主控程序思路成型,并编写了测试程序,对软硬件进行了测试。最后各模块交互,整体调试,主程序确定及细节敲定。
2010年5月2日:
模块交互,整体调试,主控程序细节修改;经布局后各硬件模块转移至车体,最终焊接,整车成型。主控程序下载,调试,最终成功。
—————————————技术资料——————————————
设计思路:
为节省电机数量和电路复杂程度,红外避障小车(以下简称小车)采用前轮主动,后轮从动原理。前轮采用双电机驱动,利用差速法实现车身转向。
检测部分利用红外发射管发射红外光,遇障碍物后经反射被红外接受管接收,产生电平转换,利用单片机I/O口检测红外检测模块电平输出,以此判断前方障碍物有无,检测到障碍物后,经单片机I/O口控制电机驱动电路,经由电机驱动电路输出不同电压,产生差速,实现转向,最终以达到避障的目标。其总体方框图如图所示:
STC89C52 单片机电
机驱
动模块
传
感
器
模
块
电源模块2个
直流
减速电机
主控模块:
方案一:采用凌阳公司的16位单片机,它是16位控制器,具有体积小、驱动能力强、可靠性高、功耗低、结构简单、具有语音处理、运算速度快等优点,但考虑到我们小组对这个方案采用的微处理器并不熟悉,使用起来并不是很方便,这对于硬件电路的设计和软件编程增加了难度。我们决定不再使用此方案,考虑其他方案。
方案二:采用STC 89C52单片机作为主控制器。STC 89C52是一个超低功耗,和标准51系列单片机相比较具有运算速度快,抗干扰能力强,支持ISP在线编程,片内含8k空间的可反复擦写1000次的Flash只读存储器,具有256 bytes的随机存取数据存储器(RAM),32个I/O口,2个16位可编程定时计数器。其指令系统和传统的8051系列单片机指令系统兼容,降低了系统软件设计的难度,电路设计简单、价格低廉,在后来的实验中我们发现,STC 89C52精确度和运算速度也都完全符合我们系统的要求。
综合以上方案我们选择比较普通的更为熟悉的方案二使用STC89C52单片机为我们整个系统的控制核心。
其各个引脚如图1所示
图1
探测模块:
方案一:用三极管驱动红外发射管和红外解收管。
在三极管的射级接俩个红外发射管,加大红外线的强度,进儿提高其探测距离。在红外接收电路中,用电阻和红外接收管串联来调节基极的电位,当接收管接收到红外线时可以改
变基极电位,进儿使三极管工作在截止或饱和状态,即调节了输出电平,实现了高低电平的转换。其发射和接受电路如图2所示:
图2
优点:电路简单,搭建方便。
缺点:探测精度不高,探测距离比较近。
考虑到小车行驶时对精度的要求,我们最终放弃了这套方案。
方案二:用三极管驱动红外发射管,用LM358来实现接受电路。
发射电路和方案一基本一致,这里就不赘述了。LM358是包含俩个运算放大器的集成器件,我们用第一个放大器来实现对探测到得信号进行放大,把第二个作为电压比较器(阈值电压Vth=1/2Vcc)。把处理过的信号和阈值电压进行比较,实现高低电平转换,并把数字信号送给单片机,使小车做出正确动作。器接收电路如图所示: