一、设计要求
(1)自动寻迹小车从安全区域启动。
(2)小车按指定路线运行,自动区分直线轨道和弯路轨道,在指定弯路处拐弯,实现灵活前进、转弯、倒退等功能,在轨道上划出设定的地图。
(3)小车完成指定运行任务后,自动返回出发起点,自动倒车,入库。
寻迹路线如下图所示:
这里的循迹是指小车在黑色地板上循白线行走,通常采取的方法是红外探测法,即利用红外线在不同颜色的物体表面具有不同反射性质的特点,在小车行驶中不断向地面发射红外光,当红外光遇到白色轨迹时发生漫反射,反射光被装在小车上的接收管接收;如果遇到黑色地板则红外光被吸收,接收管接收不到红外光。单片机以是否收到反射回来的红外光为依据来确定白线的位置和小车的行走路线。红外探测器探测距离有限,一般最大不应超过3cm。
根据要求,设计的系统主要由控制器模块、电源模块、寻迹传感器模块、直流电机及其驱动模块、电压比较模块等构成。
二、方案设计
经过反复考虑论证,制定了左右两轮分别驱动,后万向轮转向的方案。即左右轮分别用两个转速和力矩基本完全相同的直流电机进行驱动,车体尾部装一个万向轮。这样,当两个直流电机转向相反、转速相同时就可以实现电动车的原地旋转,由此可以轻松实现小车坐标不变的90度和180度转弯。
安装时保证两个驱动电机同轴。当小车前进时,左右两驱动轮与后万向轮形成了三点结构。这种结构使得小车在前进时比较平稳,可以避免出现后轮过低而使左右两驱动轮驱动力不够的情况。为了防止小车重心的偏移,后万向轮起支撑作用。
车架材料选择有机玻璃,它比塑料车架更加牢固,比铁制小车更轻便,美观。
小车底盘如下图所示。
1.控制器模块
采用Atmel公司的ATmaga32L单片机作为主控制器。ATmaga3 2L是一个低功耗,高性能的8位单片机,片内含32kB空间的可反复擦写100,000次的Flash只读存储器,具有2kB的随机存取数据存储器(RAM),32个IO口,2个8位可编程定时计数器,1个16位可编程定时计数器,四通道PWM,内置8路10位ADC。且maga系列单片机可以在线编程、调试,可方便地实现程序的下载与整机调试。
2.电源模块
选用12V蓄电池为直流电机供电,并经降压、稳压后给单片机系统和其他芯片供电。蓄电池具有较强的电流驱动能力以及稳定的电压输出性能,且价格比低廉。虽然蓄电池的体积过于庞大,在小型电动车上使用极不方便,但我们在车体设计时留出了足够的空间,解决了安装问题。
3.稳压模块
用两片7812将电压稳压至12V后给两台直流电机供电.用2576再将电压稳至5V。2576的输出电流最大可至3A,完全满足系统要求。
4.寻迹传感器模块
用一体化反射型光电探测器RPR220型光电对管。其发射器是一个砷化镓红外发光二极管,接收器是一个高灵敏度的硅平面光电三极管。
RPR220采用DIP4封装,具有如下特点:
塑料透镜可以提高灵敏度。
内置可见光过滤器能减小离散光的影响。
体积小,结构紧凑。
当发光二极管发出的光反射回来时,三极管导通输出低电平。此光电对管调理电路简单,工作性能稳定。
5.电机模块
采用直流减速电机。直流减速电机转动力矩大,体积小,重量轻,装配简单,使用方便。由于其内部由高速电动机提供原始动力,带动变速(减速)齿轮组,可以产生较大扭力。
选用的直流电机减速比为1:74,减速后电机的转速为lOOr/min。我们的车轮直径为6cm,因此我们的小车的最大速度可以达到V=21T r.v=2×3.14×0.03×l00/60=0.314m/s6.电机驱动模块采用专用芯片L298N作为电机驱动芯片。L298N是一个具有高电压大电流的全桥驱动芯片,它相应频率高,一片L298N可以分别控制两个直流电机,而且还带有控制使能端。用该芯片作为电机驱动,操作方便,稳定性好,性能优良。
确定好各个模块后,整个系统的结构框图如下图所示:
三、硬件及单元电路设计
1.微控制器模块的设计
采用Atmel公司的ATmaga32L单片机,不用烧写器而只用串口或者并口就可以往单片机中下载程序。
AVR单片机是1997年由ATMEL公司研发出的增强型内置Flash的RISC(Reduced Instruction Set CPU)精简指令集高速8位单片机,它与51单片机、PIC单片机相比有一系列的优点:
①在相同的系统时钟下AVR运行速度最快;
②芯片内部的Flsah、EEPROM、SRAM容量较大;
③所有型号的Flash、EEPROM都可以反复烧写、全部支持在线编程烧写;
④多种频率的内部RC振荡器、上电自动复位、看门狗、启动延时等功能;
⑤零外围电路也可以工作;
⑥每个IO口都可以以推换驱动的方式输出高、低电平,驱动能力强。
在开发过程中使用开发板,程序和整机的测试很方便,待系统调试完成后,将单片机从开发板上取下,安装在小车系统板的单片机座中,由于本赛题要求小车需完成的任务比较简单,因此只在小车系统板的单片机系统中保留了晶振和复位电路,取消了JTAG编程口等冗余电路。
2.光电对管电路的设计
光电对管电路如下图所示。可调电阻R3可以调节比较器的门限电压,经示波器观察,输出波形相当规则,可以直接供单片机查询使用。且经试验验证给此电路供电的电池的压降较小。因此选择此电路作为传感器检测与调理电路;
3.寻迹光电对管的安装
考虑到赛题要求,本设计仅用6个光电传感器就能完成设计要求,中间四对传感器用来校正小车的寻迹路线,保证小车运行的直线性。两侧的传感器用来检测小车过线,可以实现小车的转弯和小车走过路径的计数。当车体中间通过白线时,小车在相应的坐标方向上加一计数。车轮处的传感器记录小车的运行速度和里程数。传感器的安装位置如下图所示。
4.电机驱动电路的设计
采用电机驱动芯片L298N作为电机驱动,驱动电路的设计如下图所示:
L298N的5、7、10、12四个引脚接到单片机上,通过对单片机的编程就可以实现两个直流电机的PWM调速以及正反转等功能。
四、软件设计
1.主程序流程图
所设计的软件的主程序流程图如上图所示:
2.传感器数据处理及寻迹程序流程
我们用一个字节来代表车底的6个光电传感器。
用每一个位来代表当前传感器的检测状态。
把小车直线行进时分成三种状态,当中间四个传感器都检测到白线时,小车在跑道的正上方,这时控制两电机同速度全速运行。当检测到有一个传感器或者同侧的两个传感器偏出白线时,小车处于微偏状态,这时将一个电机速度调慢,另一电机速度调快,完成调整。当检测到有三个传感器偏出时,小车处于较大的偏离状态,这时把一个电机的速度调至极低,另一电机全速运行,从而在较短时间内完成路线的调整。
用这种三级调速的寻迹算法同单纯的判断检测到对管的位置并作出判断的方法相比,程序思路清晰,程序执行结果较好。
该检测传感器子程序的流程图如下图所示。
最终功能测试时,小车从启动区启动,按要求路径走完,返回启动区。所用时间总计28.7s。安全返回启动区后,自动倒车、入库,顺利完成了全部要求。
本文关键字:单片机 机器人-智能车,电子知识资料 - 机器人-智能车