智能循迹小车设计与实现_第1页
智能循迹小车设计与实现_第2页
智能循迹小车设计与实现_第3页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、智能循迹小车设计与实现摘要本文介绍的是基于单片机STC89C52控制智能循迹小车的设计。利用红外对光管检测黑线与障碍物,并以STC89C52单片机为控制芯片控制电动小汽|车的运动,从而实现自动循迹避障的功能。其中小车的电机由LG9110驱动,丨整个系统的电路结构简单,可靠性高。|关键词 STC89C52 LG9110 红外对光管循迹小车装订线The manu facture of in tellige nt track ing carAbstract This articale introduces the design of intelligent tracking car based on

2、 the STC89C52 single chip computerised infrared detection of black lines and the road obstacles,and use a STC89C52 MCU as the controlling core for the movement.A electronic drived,which can automatic track and avoid obstacle,was desig ned and fabricated .In which,the electric mach inery of car is dr

3、ived by the LG9110.The electric circuit stuction of whole system is simple,and the function is depe ndable.Keywords STC89C52 LG9110 In frared emitti ng diode Tracki ng car第1章引言随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机 已可以在一块芯片上同时集成CPU存储器、定时器/计数器、并行和串行接口、 看门狗、前置放大器、A/ D转换器、D/A转换器等多种电路,这就很容易将计 算机技术与测量控制技术结合,组成

4、智能化测量控制系统。这种技术促使机器 人技术也有了突飞猛进的发展。单片机技术作为自动控制技术的核心之一,被 广泛应用于工业控制、智能仪器、机电产品、家用电器等领域。随着微电子技 术的迅速发展,单片机功能也越来越强大,本设计基于单片机技术在智能寻迹 小车控制系统的设计中,以 STC89C52为核心,用LG9110驱动两个减速电机, 当产生信号驱动小车前进时,是通过寻迹模块里的传感器管是否寻到黑线产生 的电平信号通过传感器再返回到单片机,单片机根据程序设计的要求作出相应 的判断送给电机驱动模块,让小车实现前进、左转、右转、停车等基本功能, 寻白线时,外部环境光线的强弱对小车的运动会产生很大的影响,

5、基于此原因,本实验中的寻迹是指在白色地板上寻黑线。1.1设计目的1、了解机械部件结构与机械安装过程;2、掌握电动机齿轮箱内部结构及减速原理;3、了解电子元器件的基本形状及焊接过程;4、掌握电子元器件的焊接步骤与检测过程;5、了解单片机内部结构与程序编制方法;6 了解LED灯驱动方法,全面掌握流水灯/跑马灯编程技术;7、了解数码管内部结构,掌握数码显示技术;8、了解键盘结构原理,掌握中断查询技术;9、了解话筒电路结构,掌握话筒输入技术;10、了解蜂鸣器驱动技术,全面体现音乐报警功能;11、了解光敏电阻结构原理,充分体现夜间自动照明功能;12、了解红外发射与接收技术,有力体现防撞检测与智能寻迹功能

6、13、了解直流电机驱动原理,掌握电机驱动技术;14、 认识红外检测传感器,全面掌握红外遥控编码解码技术;15、了解R232通信协议,掌握串口通信技术。16、通过本机系统学习,全面掌握智能自动寻迹机器人的控制方法。1.2设计要求当前的电动小汽车基本上采取的是基于纯硬件电路的一种开环控制方法,或者是直线行使,或者是在遥控下作出前进、后退、转弯、停车等基本功能。但 是它们不能实现在某些特殊的场合下,我们需要能够自动控制的小型设备先采 集到一些有用的信息的功能。本文正是在这种需要之下开发设计的一种智能的电动小车的自动控制系统。它以单片机STC89C51为控制核心,附以外围电路, 在画有黑线的白纸 路面

7、”上行使,由于黑线和白线对光线的反射系数不同,可根据 接收到的反射光的强弱来判断道路”一黑线。判断信号可通过单片机控制驱动 模块修正前进方向,以使其保持沿着黑线行进。轨迹探测模块用2对红外发射管。2对各置于轨道外侧,当小车脱离轨道时,外面任意一只检测到黑线后, 做出相应的转向调整,直到重新回到轨道。第2章总体方案设计2.1总体方案的设计思路该简易智能小车在画有黑线的白纸 路面”上行使,不断地向地面发射红外 光,利用红外线在不同颜色的物理表面具有不同的反射性质的特点,当红外光 遇到白色地面时发生漫发射,反射光被装在小车上的接收管接收;如果遇到黑 线则红外光被吸收,则小车上的接收管接收不到信号。当

8、红外接收探头接收到 信号后,再将信号送到单片机由单片机内部程序来控制电机,由电机完成小车 的前进,转向。因此,可根据接收到的反射光的强弱来判断道路”一黑线。2.2总体方案设计整个路系统分为检测、控制、驱动三个模块。首先利用光电对管对路面信 号进行检测,把检测到的光信号转化为电信号,送给单片机进行处理,然后单 片机输出相应的信号给驱动芯片驱动电机转动,从而控制整个小车的运动。系 统方案方框图如图所示:检测(黑线)图2-2智能小车寻迹系统框2.2.1控制器模块方案一:采用FPGA (现场可编程门阵列)作为系统的控制器。FPGA可以实现 各种复杂的逻辑功能,规模大,密度高。但由于本设计对数据处理速度

9、要求不 高,FPGA的高速处理的优势得不到充分体现,并且由于其集成度高,使其成本 偏高,同时其芯片引脚较多,实物硬件电路板布线复杂,加重了电路设计和实 际焊接的工作。因此排除该方案。方案一:采用89C51作为控制核心。针对本设计特点一多开关量输入的复杂程序 控制系统,需要擅长处理多开关量得单片机,而不能用精简I/O 口和程序存储的小体积单片机,A/DQ/A功能也不必选用,据此,我们选用 STC89C5仲片机, 另外,该单片机价格低廉,使用简单。综上所述,我们选用方案二。2.2.2电机驱动模块方案一:采用继电器对电动机的开或关进行控制,通过开关的切换对小车的运 动进行调整,此方案的优点是电路较为

10、简单,缺点是继电器的响应速度慢,易 损坏,寿命短,可靠性不高。方案二:市面上有专门的双电机驱动芯片LG9110,经测试性能可以满足小车的 电机控制要求,而且外围电路比较简单,稳定性好,驱动能力强,能够很好的 保证两电机的同步。因此,采用方案二。223黑线检测模块方案一:采用摄像头或探测头收集画板上信息。用这种方法,对板面信息处 理准确,但是成本过高,对硬、软件的要求都非常高,短时间内难做出实物来方案二:使用可见光发光二级管和光敏二级管组成的发射-接受模块。这种 方案的缺点在于其他环境光源会对光敏二级管工作产生很大干扰,一旦外界光 亮条件改变,很可能造成误判和漏判;如采用高亮发光管可以降低一定的

11、干扰,'但会增加额外的功率损耗。:方案三:使用反射式红外二级管和接收管组合发射-接收器。由于红外光波;长比可见光长,因此受可见光的影响比较小,同时,红外对管还具有以下优点:;质量轻,灵敏度高,线性好,接口电路比较简单,安装方便,对于本系统中近距离的检测,用它作为传感器将是最理想的。|因此,本系统采用方案三;224 电机模块方案一:采用直流电机。直流电机使用方便,价格便宜,有优良调速特性,丨实现方便平滑调速,调整范围广,有较强过载能力,能承受频繁的冲击负载,丨可频繁无级快速启动,制动,反转。装丨方案二:采用步进电机。步进电机的运动精度很高,由其组成的位置控制系;统定位准确,稳定时间短,一

12、般可采用开环控制。但控制系统必须由双环形脉:冲信号,功率驱动电路等组成方可使用,控制相对复杂。订综上所述,直流电机的电路相对简单,功能合题意,使用方便,价格便宜,;本系统采用直流电机作为动力源。第3章 系统硬件设计3.1系统的硬件组成硬件设计总体上以STC89C5为核心,辅以必要的外围电路,完成红外传感器对 运动轨迹的检测,信号的处理,电机的转动等功能。系统总框图如下:串口通信鶴2 7电机駆动模块装STC89C52?声控模块订红般测模块-7报警麒3.2单片机模块此部分是整个小车运行的核心部件,起着控制小车所有运行状态的作用。这里 选择了 ATMEL公司的STC89C52作为控制核心部件。该单片

13、机要想正常工作, 还需有复位电路和晶振电路,此单片机的最小系统图如下:C730P. Z111.059 2VCCC830PC6P10/TP00P11/TP01P12P02P13P03P14P04P15P05P16P06P17P07INT1P20INT0P21P22T1P23T0P24P25EA/VPP26P27X1X2RESETRXDTXDRDALE/PWRPSENIC11231980C5 216尺1312"°1514191834'56783938373635343332212223242526272810113029VCCR150K10uf图3-23.3电机驱动模块

14、LG9110是为控制和驱动电机设计的两通道推挽式功率放大专用集成电路 器件,将分立电路集成在单片IC之中,使外围器件成本降低,整机可靠性提高。 该芯片有两个TTL/CMOS兼容电平的输入,具有良好的抗干扰性;两个输出端 能直接驱动电机的正反向运动,它具有较大的电流驱动能力,每通道能通过 750800mA的持续电流,峰值电流能力可达 1.52.0A;同时它具有较低的输 出饱和压降与静态电流;内置的钳位二极管能释放感性负载的反向冲击电流, 使它在驱动继电器、直流电机、步进电机或开关功率管的使用上安全可靠。9110 被广泛应用于玩具汽车电机驱动、自动阀门电机驱动、电磁门锁驱动等电路上。该驱动芯片LG

15、9110的IA,IB 口接单片机,输出口 OA,OE接电机。O口为 低电平时,电机正传。O口为高电平时,电机反转。电机驱动电动如下图 3-3 :图3-33.4红外检测模块本单元模块中,白色管作为发色管,黑色管作为接管,当白色管发射一束光,遇到黑线或白色物体反射,黑色管接收到反射光, 然后把光信号转化为电信号送给单片机进行处理,控制电机的正反转,电路原理图如下:VCCP3.5P3.6P3.7图3-43.5声控模块话筒的阻值随接收到声音信号强度的变化而变化,在电容正端产生变化的电压信号,经电容C5耦合和基本共射极三极管 V3的电压反向存在,通过单片机 P0.4引脚采集和处理 可实现小车的声控功能,

16、 正常情况下P0.4管脚采集到的是高电平信号, 当话筒收到强度足 够的声音后,三极管导通后 P0.4管脚变为低电平。原理图如图 3-5:图3-53.6报警模块单片机上电后各管脚默认为高电平,三极管不导通。当需要执行报警时,单片机P0.6管脚出现低电平信号,三极管导通驱动蜂鸣器报警。如图3-6P0.6R2 220IH-/V 185 50V CC图3-63.7串口通信模块此模块用于单片机和电脑进行串口通信,但由于计算机串口为RS232电平,高电平为12V,低电平为+12V,而单片机为 TTL电平,高电平为+5V,低电平为0V,因此,计算机与单片机之间通讯时需要加电平转换芯片MAX232.原理图如下

17、VCC1110COM10 00 00162738495C11C100uFVDDC1 + -VCCC1-C2+-C2-T1OUTT1IN-T2OUTT2IN-R1INR1OUTR2INR2OUTVEEGNDC13|f|t 10uF615IC2 MAX232CPE21381345129111010uF4 C12r-1I10uFP3.1P3.0图3-7第4章系统软件设计该系统的软件程序采用模块结构,由 C语言编写完成,主要由初始化程序, 偏道调整程序、声光指示程序,读红外对光管状态,显示程序等模块组成。 总的设计流程图如下:启动停止循迹流程图:循迹程序:#i nclude <at89x51.h

18、>sbit LeftLed=P2A0;sbit RightLed=P0A7;sbit LeftlR=P3A5;sbit RightlR=P3A6;sbit Fon tIR=P3A7;sbit M1A=P0A0;sbit M1B=P0A1;sbit M2A=P0A2;sbit M2B=P0A3;sbit B1= P0A4;sbit SB1=P0A6;#defi ne Ru nShow P1void Delay() un sig ned int DelayTime=50000;while(DelayTime-);SB1=!SB1;return;void Con trolCar( un sig

19、 ned char Con Type)M1A=0;M1B=0;M2A=0;M2B=0;switch(C on Type)case 1: / 前进 M1A=1;M2A=1;break;case 2: 后退 M1B=1;M2B=1;break;case 3: 左转M2A=1;break;case 4: /右转 M1A=1;break; 亠case 8: 停止break;包含51单片机相关的头文件/定义前方左侧指示灯端口/定义前方右侧指示灯端口/定义前方左侧红外探头端口/定义前方右侧红外探头端口/定义前方正前方红外探头端口 定义左侧电机驱动A端/定义左侧电机驱动B端定义右侧电机驱动A端/定义右侧电机

20、驱动B端/定义语音识识别传感器端口/定义蜂鸣器端口/定义数据显示端口/定义机器人调转子时间子程序/定义机器人转弯时间变量/机器人转弯循环/蜂鸣器闪响/定义电机控制子程序将M1电机A端初始化为0 将M1电机B端初始化为0将M2电机A端初始化为0将M2电机B端初始化为0 /判断用户设定电机形式判断用户是否选择形式1/M1电机正转/M2电机正转判断用户是否选择形式2/M1电机反转/M2电机反转判断用户是否选择形式3/M2电机正转判断用户是否选择形式4/M1电机正转/M2电机反转判断用户是否选择形式 8/退出当前选择/前方左侧指示灯指示出前方左侧红外探头/前方右侧指示灯指示出前方右侧红外探头 /左侧红

21、外探头没有接收到白色道路信号 左侧没有信号时,开始向右转一定的角度/修改这里进行转弯角度的调整同上/右侧没有信号时,开始向左转一定的角度/修改这里进行转弯角度的调整同上void mai n()bit RunF lag=0;Run Show=0;Co ntrolCar(1);while(1)Sta比LeftLed=LeftlR;状态RightLed=RightIR;状态if(LeftIR=0)Co ntrolCar(4);Delay();Delay();Delay();goto NextR un;if(RightlR=O)Co ntrolCar(3);Delay();Delay();Delay(

22、);goto NextR un;goto Start;NextR un:Co ntrolCar(1);/主程序入口/定义小车运行标志位/初始化显示状态/初始化小车运行状态/程序主循环避障流程图:包含51单片机相关的头文件 定义前方左侧指示灯端口 定义前方右侧指示灯端口 定义前方左侧红外探头端口 定义前方右侧红外探头端口 定义前方正前方红外探头端口 定义左侧电机驱动A端定义左侧电机驱动B端定义右侧电机驱动A端定义右侧电机驱动B端定义语音识识别传感器端口 定义蜂鸣器端口 定义数据显示端口 定义机器人调转子时间子程序 定义机器人转弯时间变量 机器人转弯循环 蜂鸣器闪响避障程序:#in elude &

23、lt;at89x51.h>/sbit LeftLed=P2P;/sbit RightLed=P0A7;/sbit LeftlR=P3A5;/sbit RightlR=P3A6;/sbit Fon tIR=P3A7;/sbit M1A=P0A0;/sbit M1B=P0A1;/sbit M2A=P0A2;/sbit M2B=P0A3;/sbit B仁 P0A4;/sbit SB1=P0A6;/#defi ne Run Show P1/void Delay()/ un sig ned int DelayTime=50000; /while(DelayTime-);/SB仁!SB1;/retu

24、rn;void Con trolCar( un sig ned char Con Type) /M1A=0;/M1B=0;/M2A=0;/M2B=0;/switch(C on Type)/case 1: /前进/ M1A=1;M1M2A=1;M2break;装case 2: /后退/ M1B=1;M1M2B=1;M2break;订case 3: /左转/ M1B=1;M1M2A=1;M2break;线case 4: /右转/ M1A=1;M1M2B=1;M2break;case 8: /停止/break;/定义电机控制子程序将M1电机A端初始化为0 将M1电机B端初始化为0 将M2电机A端初始

25、化为0 将M2电机B端初始化为0 判断用户设定电机形式判断用户是否选择形式1电机正转电机正转判断用户是否选择形式2电机反转电机反转判断用户是否选择形式3电机反转电机正转判断用户是否选择形式 4电机正转电机反转判断用户是否选择形式8退出当前选择void main ()/bit RunF lag=0;/Ru nShow=0;/Co ntrolCar(1);/while(1)/LeftLed=LeftlR;/探头状态RightLed=RightIR;/探头状态Ru nShow=Fo ntIR;/if(Fo ntlR=O | LeftIR=1 |/RightIR=1)Co ntrolCar(2);/D

26、elay();/Delay();/Delay();/Delay();/Co ntrolCar(3);/Delay();/Delay();/Delay();/Delay();/Co ntrolCar(1);/SB1=1;/if(B1=O)/while(B1=0);/if(Ru nFlag=0)/Ru nF lag=1;/Con trolCar(8);/主程序入口定义小车运行标志位初始化显示状态初始化小车运行状态程序主循环前方左侧指示灯指示出前方左侧红外前方右侧指示灯指示出前方右侧红外 数据显示窗口,指示前方红外探头状态判断前方,左侧,右侧是否有信号输入让小车后退开始小车后退延时子程序决定了小车后退的步数改变它可以改小车后退的距离

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论