1 / 10
文档名称:

红外自动循迹小车实验报告.pdf

格式:pdf   大小:881KB   页数:10页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

红外自动循迹小车实验报告.pdf

上传人:青山代下 2024/5/13 文件大小:881 KB

下载得到文件列表

红外自动循迹小车实验报告.pdf

相关文档

文档介绍

文档介绍:该【红外自动循迹小车实验报告 】是由【青山代下】上传分享,文档一共【10】页,该文档可以免费在线阅读,需要了解更多关于【红外自动循迹小车实验报告 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:..摘要本实验完成采用红外反射式传感器的自寻迹小车的设计与实现。采用与白色地面色差很大的黑色路线引导小车按照既定路线前进,在意外偏离引导线的情况下自动回位,并能显示小车停顿的时间。本设计采用单片机STC89C51作为小车检测、控制、时间显示核心,以实验室给定的车架为车体,两直流机为主驱动,附加相应的电源电路下载电路,显示电路构成整体电路。自动寻迹的功能采用红外对管LTH1550实现,信号经三极管9012放大,经LM339电压比拟器比拟之后将信号送给单片机,由单片机通过控制驱动芯片L298N驱动电动小车的电机,实现小车的动作。同时还可以将小车的停留时间通过四位数码管显示。关键词:STC89C51单片机;红外对管LTH1550;红外传感器;寻迹一、系统设计任务与要求小车从上坡处开场行驶,到达坡顶停留5秒,由数码管显示停留时间,然后继续行驶,到达坡底开场沿黑线行驶,直到终点宽黑线停顿。二、方案分析与论证总体方案设计:根据题目,我们设计了以下方案并进展了综合的比拟论证,自动寻迹电动小车系统由小车主体局部、微控制器模块、寻迹传感器模块、电机驱动模块、显示模块、电源模块构成。:采用数字电路来组成小车的各局部系统,实现各局部功能。本方案电路复杂,灵活性不高,效率低,不利于小车智能化的扩展,设计困难。方案二:采用单片机来作为整机的控制单元。黑线检测采用红外对管对光源信号进展采集,再经过三极管放大,电压比拟使输出转化为数字信号送到单片机系统处理。此系统比拟灵活,采用软件方法来解决复杂的硬件电路局部,使系统硬件简洁化,各类功能易于实现,能很好地满足题目的要求。方案二简洁、灵活、可扩展性好,能到达题目的设计要求,因此采用方案二来实现。方案二的根本构造图如下::D传感器。D传感器进展自动导航的机器人已得到初步应用。但CCD传感器价格较高,体积较大,数据处理复杂,不适合本次实验使用。方案二:用红外对管作为寻迹传感器。红外反射式传感器由1个红外发射管(发射器)和1个光电二极管(接收器)构成。红外发射管发出的红外光在遇到反光性较强的物体(外表为白色或近白色)后被折回,被光电二极管接收到,引起光电二极管光生电流的增大。将这个变化转为电压信号,该电压通过比拟器LM339后转换为高电平〔单片机的有效电平〕,检测出白线;假设接收不到发射管发出的光线那么输出为低电压,该电压通过比拟器LM339后转换为低电平〔单片机的有效电平〕,检测出黑线。方案可行,且红外对管使用方便,所以选用方案二。原理图见图2。图2正确选择检测方法和传感器件是决定循迹效果的重要因素,而且正确的器件安装方法也是循迹电路好坏的一个重要因素。从简单、方便、可靠等角度出发,同时在底盘装设5个红外探测头,进展两级方向纠正控制,将大大提高其循迹的可靠性。.:..,,缺点是继电器的响应时间慢,易损坏,寿命较短,可靠性不高。方案二:采用专用芯片L298N作为电机驱动芯片。L298N是一个具有高电压大电流的全桥驱动芯片,它相应频率高,一片L298N可以分别控制两个直流电机,而且还带有控制使能端。用该芯片作为电机驱动,操作方便,稳定性好,性能优良。:采用步进电机,步进电机具有快速启动和停顿能力,其转换灵敏度比拟高,正转、反转控制灵活。但是步进电机的价格比拟昂贵,且该实验对小车速度等没有特殊要求,因而,不选用该方案。方案二:采用普通的直流电机。直流电机具有优良的调速特性,调速平滑、方便。调整围广;过载能力强,能承受频繁的冲击负载,可实现频繁的无极快速启动、制动和反转。可以满足实验要求。,用很简单的电路即可以输入一个直流稳压电源,使其输出电压恰好为5v,到达逻辑电路电压要求,因此,直接选用7805作为稳压芯片,将电压稳压至5V给单片机系统和其他芯片供电。:使用液晶显示屏显示时间。液晶显示屏〔LCD〕优点是:低耗电量、无辐射危险,平面直角显示以及影象稳定不闪烁等优势,可视面积大,画面效果好,分辨率高,抗干扰能力强等。缺点是:液晶显示屏是以点阵的模式显示各种符号,需要利用控制芯片创立字符库。编程工作量大,控制器的资源占用较多,在使用时,不能有静电干扰,否那么易烧坏液晶的显示芯片,不易维护,其本钱也偏高。并且本系统只需要显示时间,信息量比拟少,因此并不适于选用液晶显示屏。方案二:使用数码管显示行驶时间。数码管具备数字接口,显示清晰,价格较低,作为时间显示的器件性价比非常高,方便易行。、:小车控制单元是整个小车运行的核心部件,起着控制小车所有运行的作用。本实验采用的是STC89C51单片机。控制局部设计包括单片机的复位电路及起振电路。单片机晶体振荡模块采用最常用的部时钟方式,即用外接晶体和电容组成的并联谐振回路。。具体电路见图3。单片机启动运行时,都需要先复位,单片机本身是不能自动进展复位的,必须配合相应的外部电路复位。复位电路采用按键手动复位,电路见图4。,但在运动过程中,车体不可防止地会偏离运动轨迹,为了能使车体在偏离后可以自动调整方向,重新回到运动轨迹上,系统需要将车体的运动状态及时地以电信号的形式反应到控制局部,控制局部控制两个电机的左转,右转,使小车重新回到轨迹上。本设计中共使用5个集成的红外对管LTH1550装在车体的前方。当检测到黑线时,红外对管的接收端接收到黑白线反射回来的红外光,其输出经LM339电压比拟器后立即发生上下电平转换,该信号经9012放大后送到单片机进展分析处理。然后将处理后的结果发送到电机驱动模块,进展校正。电路见图5。.:..L298N驱动芯片是性能优越的小型直流电机驱动芯片之一。它可被用来驱动二个直流电机。在4—6V的电压下,可以提供2A的驱动电流。L298N还有过热自动关断功能,并有反应电流检测功能,符合电机驱动的需要。因此需要使用驱动芯片L298N,单片机输出的信号,经过L298N实现功率的放大,从而驱动电机工作。L298N芯片是一种高压,大电流双全桥式驱动器,,但是单片机需要的电压是5V,这就需要稳压片将6V左右的电压较为准确的控制为5V,而6V的电压直接给直流电机供电,保证用一路信号实现两路功能。首先将电压源输出的6V转换为5V直流稳压电源,实现方法是应用滤波电路(电解电容)使电压变为平稳的直流电,然后通过稳压电路即7805使输出5V直流稳压供应单片机及驱动芯片的相应电压。电路见图7。,它有四个位选,由于本实验只需显示小车停顿行驶的时间,因而只需选通一位位选线,当各段阴极上的电平为〞时,该段点亮,电平为〞时,该段熄灭。数码管与单片机之间通过反相器74LS04连接,具体电路见图8。,其中用MAX232实现电平转化,将PC机输出的RS-232〔12V〕电平转化为标准的TTL电平〔5V〕。电路见图9。图9四、.:..系统初始化前进坡顶停留5秒继续前进沿黑带寻迹否检测到全是为黑带?寻迹子程序中红外对管与小车偏转方向关系如表一完毕.:表一五、:,首先对硬件进展检查联线有无错误,再逐步对各模块进展调试。我负责的电源局部,驱动局部,黑线寻迹局部,具体测试过程如下:,,~,所以该局部符合要求。,在单片机中写入电机控制小程序,控制其转动与停顿,用万用表测试输出电压正常。,通过调每一路的电位器(50K),~,然后调节10K的电位器,,作为阈值电压。设置好阈值电压之后,将电路板上有红外对管的那一面朝下,分别对着白纸和黑线,测每个红外对管的输出信号经电压比拟器之后的电压,数据记录如表3:红外对管白纸电压〔v)黑带电压〔v),每个红外对管检测到白纸和黑线的输出电压均位于阈值电压两侧,且相差较大,.:..至此,这三局部硬件调试完毕。整体综合调试将所有模块连接〔参加最小系统,显示局部〕,检查连接无误之后,写入总程序。开场整车测试,数码管有显示,但是小车电机不转,但有很轻的声音从电机中发出,想到可能是驱动电路局部电压不够,。,以及51版的程序下载,:完毕语在实验过程中,由于焊接的工艺不是很到位,初次完成电路板的焊制并下载程序后,数码管并没有亮,通过检查焊点并更换排针排线,克制了接触不良的故障,由于是自己完成实验的控制局部,故小车实际上并没有真正按照设计目的行驶,但同样在这次实验中,熟悉了MCS51的功能及焊制方法,以及程序的下载方法,在教师的帮助下,〔见图9,图10〕〔见表三〕.:..#include<>#include<>#defineucharunsignedchar#defineuintunsignedint//定义用uint表示无符号整形常量sbitwei0=P2^0;sbitwei1=P2^1;sbitwei2=P2^2;sbitwei3=P2^3;/*****电机控制局部的数据定义********/sbita0=P1^0;//分别用a0,b0,a1,b1替代P1口的P0到sbitb0=P1^1;//P3引脚sbita1=P1^2;sbitb1=P1^3;/*********寻迹局部的变量定义**********/.z.:..//最左边的红外信号传给P3^2sbitleft_det=P3^3;//左边的红外信号传给P3^3sbitmid_det=P3^4;//中间的红外信号传给P3^4sbitright_det=P3^5;//右边的红外信号传给P3^5sbitrighter_det=P3^6;//最右边的红外信号传给P3^6bitmid,left,lefter,right,righter,stop;//一些标志位,用来表示偏向哪边,从而做出适当的调整voidstatus(void);voidrun_forward(void);voidturn_left(void);voidturn_lefter(void);voidturn_righter(void);voidturn_right(void);voidstop_run(void);ucharcodedis_7[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};/***********寻迹模块***************///voidstatus(void)//高电平说明检测到信号{if(lefter_det&&righter_det)//全都检测到信号,说明小车到达终点{left=0;lefter=0;mid=0;right=0;righter=0;stop_run();}elseif(mid_det){left=0;lefter=0;mid=1;right=0;righter=0;run_forward();}elseif(left_det){left=0;lefter=0;mid=0;right=1;righter=0;.z.:..turn_left();}elseif(right_det){left=1;lefter=0;mid=0;right=0;righter=0;turn_right();}elseif(lefter_det){left=0;lefter=0;mid=0;right=0;righter=1;turn_lefter();}elseif(righter_det){left=0;lefter=1;mid=0;right=0;righter=0;turn_righter();}else{left=0;lefter=0;mid=1;right=0;righter=0;run_forward();}}voidrun_forward(void){P1=;}voidturn_left(void){P1=0x0c;}voidturn_right(void).z.:..{P1=0xc0;}voidturn_lefter(void){P1=0x0c;}voidturn_righter(void){P1=0xc0;}voidstop_run(void){P1=0x00;}voiddelay(ucharx){uchari,j,k;for(i=0;i<x;i++){for(j=0;j<100;j++)for(k=0;k<100;k++);}}voidxianshi(){uchari;wei0=1;wei1=1;wei2=1;wei3=0;for(i=1;i<6;i++){P0=dis_7[i];delay(20);}}voidxianshi2(){wei0=1;wei1=1;wei2=1;wei3=1;P0=0x00;}/*主函数*/main(){run_forward();delay(100);stop_run();xianshi();.z.:..xianshi2();while(1){if(P3==0x00){run_forward();}else{status();}}}.z.