本课题要研究的是通过光电传感器实现自动寻迹功能的小车,整体设计基于廉价、方便、实用的C51单片机平台,利用常用的直流电机模块实现的对小车的驱动和转向功能,通过对光电传感器传输来的信号做出判断,实现智能自动寻迹的功能。
本设计需要软件和硬件两方面的相关知识和能力,软件涉及两个方面的知识:利用protel(或其它EDA软件)设计电路和使用51单片机编程软件keil C51对C51进行编程处理。硬件方面涉及4个模块,分别是:以C51单片机为核心的控制器模块,以干电池组成的5v直流电源模块,以L298为主体的直流电机驱动模块以及由发光二极管、光敏三极管和LM393电压比较器组成的光电传感器模块。
2 系统总体设计方案与论证
2.1 系统总体方案
本课题设计主要是制作一款能进行智能判断并能做出正确反应的小车。小车主要具备自动寻迹功能(按路面的黑色轨道行驶)和速度调节功能。
本设计以两直流电动机为主驱动,通过红外传感器接受道路信息,经过电压比较器LM393处理转变成稳定的信号,送入主控单元89C51单片机处理数据后完成相应动作,以达到自身控制。电机驱动电路采用H桥驱动模块--L298步进/直流电机驱动板 ,能同时驱动2个直流电机或2个步进电机;自动寻迹采用红外发射管和接收管光电对管寻迹传感器完成,最后由控制单元处理数据后通过编程有序合理的将各模块信号整合在一起并完成相应动作,实现了智能控制。
根据设计的作品要达到的效果,本系统以ATMEL89C51为核心控制器,主要由电源模块、电机驱动模块、寻迹模块构成
驱动电机方案比较与选择
在本设计电机的选择上起初有两种选择,一种选择为步进电机给小车提供驱动,另一种为直流电机为小车提供驱动。
2.2.1 步进电机提供驱动
步进电机是一种感应电机,它的工作原理是利用电子电路,将直流电变成分时供电的,多相时序控制电流,用这种电流为步进电机供电,步进电机才能正常工作,驱动器就是为步进电机分时供电的,多相时序控制器。步进电机具有转矩大。惯性小、响应频率高等优点,因此具有瞬间启动与急速停止的优越性能[14]。
本设计初期预想为使用步进电机,应用SGS公司推出的L297和L298两芯片可方便的组成步进电机驱动器[15],L297 芯片是一种硬件环分集成芯片, 它可产生四相驱动信号, 用于计算机控制的两相双极或四相单极步进电机。它的心脏部分是一组译码器它能产生各种所需的相序, 这一部分是由两种输入模式控制, 方向控制(CW/CCW) 和HALF/FULL 以及步进式时钟CLOCK, 它将译码器从一阶梯推进至另一阶梯。译码器有四个输出点连接到输出逻辑部分, 提供抑制和斩波功能所需的相序。因此L297 能产生三种相序信号,对应于三种不同的工作方式: 即半步方式(HALF STEP);基本步距(FULL STEP, 整步)一相激励方式; 基本步距两相激励方式。脉冲分配器内部是一个3bit 可逆计数器, 加上一些组合逻辑, 产生每周期8 步格雷码时序信号, 这也就是半步工作方式的时序信号。此时HALF/FULL 信号为高电。若HALF/FULL 取低电平, 得到基本步距工作方式, 即双四拍全阶梯工作方式。L297与L298的连接电路图如下:
图2.2 L297与L298连接电路
虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机,交流电机在常规下使用。它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。因此用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。焊接、连接好电路后,经过调试后产生了一系列的问题因能力问题而无法完全解决,因此决定放弃该方案。