基于单片机的循迹小车实验报告

合集下载

电子实习报告循迹小车设计

电子实习报告循迹小车设计

电子实习报告:循迹小车设计一、实习背景及目的随着科技的不断发展,电子技术在各个领域的应用日益广泛,特别是在智能机器人领域。

为了提高我们对电子技术的实际应用能力,本次电子实习选择了设计制作循迹小车这一项目。

通过本次实习,我们希望能够掌握单片机原理、传感器应用、电路设计等知识,提高自己的动手能力和创新能力。

二、设计原理及方案1. 设计原理循迹小车是一种基于单片机控制的智能小车,其主要原理是通过传感器检测路径上的黑线,然后单片机对信号进行处理,控制小车的转向,使小车能够沿着黑线行驶。

同时,小车还具备避障功能,当遇到前方障碍物时,能够自动减速并改变方向。

2. 设计方案(1)硬件设计硬件设计主要包括单片机、传感器、电机驱动模块、电源模块等。

我们选择了STC89C52单片机作为控制核心,传感器采用红外循迹模块,电机驱动模块选用L298N,电源模块则采用开关电源。

(2)软件设计软件设计主要涉及系统初始化、线路检测与循迹、避障检测与控制等。

初始化模块主要完成单片机各端口的配置,以及传感器、电机等设备的初始化。

线路检测与循迹模块通过判断红外传感器的状态来确定小车行驶的方向。

避障检测与控制模块则通过检测前方障碍物,控制小车的减速和转向。

三、实习过程及成果1. 实习过程在实习过程中,我们首先学习了单片机原理、传感器应用、电机驱动等知识,然后根据设计方案进行电路图的设计,接着进行电路焊接,最后进行程序编写和调试。

2. 实习成果经过一段时间的努力,我们成功完成了循迹小车的设计制作。

在实际测试中,小车能够沿着黑线顺利行驶,遇到障碍物时能够自动减速并改变方向。

此外,我们还对小车进行了优化,使它在行驶过程中更加稳定。

四、总结与展望通过本次实习,我们不仅学到了很多关于单片机、传感器、电机驱动等方面的知识,还提高了自己的动手能力和创新能力。

同时,我们也意识到在实际设计过程中,需要不断调试和优化,才能使产品达到预期效果。

展望未来,我们可以进一步改进循迹小车,例如增加速度控制、远程控制等功能,使其更加智能化。

基于单片机C语言寻迹小车设计报告-科技文化节

基于单片机C语言寻迹小车设计报告-科技文化节

寻迹小车设计报告报告人:欧阳志德邹鹏第一、设计目的:随着现代工业的不断发展,自动化越来越多,寻迹小车是一种智能产品。

它是按照铺在地表层的黑线行走。

它轨道铺设容易适合范围广。

它可以代替按铁轨铺设的轨道行走的小车。

寻迹小车可以在无人控制的状态下到达指定的地点。

可以利用来派送一些货物,减小人员的利用。

第二、设计要求:1、寻迹小车操作简单。

2、寻迹小车不能脱离轨道。

3、寻迹小车能够准确的到达目的地。

4、寻迹小车能够返回原地。

第三、设计原理:1、小车寻迹的原理寻迹是指小车在白色地板上寻黑线行走,通常采用的方法是红外探测法。

红外探测法,即利用红外线在不同颜色的物体表面有不同的反射性质的特点,小车在行驶的过程中不断的地面发射红外光,当红外光遇到白色地板时发生漫反射,反射光被装在小车上的接收管接收。

如果遇到黑线则红外线被吸收,小车上的接收管接收不到红外光。

单片机以是否接收红外线为依据来控制小车的运动。

2、小车运动原理小车的后面两个轮分别装上直流减速电机,分别控制两个电机的转速就可以控制小车的运动方向。

电机的转速由单片机控制L298N输出不同的电压占空比来控制。

第四、系统模块:1、车体设计小车整体由三个轮支撑。

后面左右两个轮分别装上电机,用来控制小车的转向,前面的轮子是万向轮,用于辅助小车的运动。

2、控制器模块采用STC公司的STC89C51单片机作为主控制器。

3、电机驱动模块采用L298N作为电机驱动芯片。

L298N是一个具有高电压大电流的全桥驱动芯片,它可以分别控制两个直流电机,而且还带有控制全能端。

容易控制电机的转速。

4、寻迹模块采用RPR220型光电对管。

RPR220是一种一体化反射光电探测器,其发射器是一个砷化镓红外发光二极管,而接收器是一个高灵敏度,硅平面光电三极管。

第五、流程图:第六、程序:#include<reg51.h>sbit choose=P1^0; /*选择*/sbit start=P1^1; /*启动*//*小车方向*/sbit zhong=P1^7;sbit you0=P3^1;sbit zuo1=P3^2;sbit you1=P3^3;sbit zuo0=P3^0;sbit P2_0=P2^0; /*数码管位选端*//*电动机转向*/sbit P2_1=P2^1;sbit P2_2=P2^2;sbit P2_3=P2^3;sbit P2_4=P2^4;unsigned char i,k,a;char b[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; /*数字显示*/ main(){/*初始化*/EA=1;EX1=1;EX0=1;IT0=1;IT1=1;P2=1;a=0;i=0;/*选择第几个房间*/while(start){if(choose==0); /*按键识别*/for(k=0;k<100;k++);if(choose==0)a++;P0=b[a];while(!choose);}P2_1=0;P2_2=1;P2_3=0;P2_4=1;zuo0=0;you0=0;zhong=0;while(1){if(zuo0==1) /*小车左转*/{P2_2=0;P2_4=1;}if(you0==1) /*小车右转*/{P2_2=1;P2_4=0;}if(zuo0==0&&you0==0) /*小车直走*/{P2_2=1;P2_4=1;}if(zuo0==0&&you0==0&&zhong==0) /*小车停止*/{P2=0x00;while(start); /*小车返回*/ P2_2=1;P2_3=1;while(!zhong);P2_1=0;P2_2=0;P2_3=0;P2_4=0;for(k=0;k<100;k++);}}}zuo()interrupt 0 using 0 /*小车到达房间*/{i++;if(i==a||i==a+1||i==a+a){P2_4=1;P2_2=0;while(!you0);while(!you0);P2_2=1;P2_4=0;for(k=0;k<10;k++);}}you()interrupt 2 using 2 /*小车到达房间*/{i++;if(i==a||i==a+1||i==a+a){P2_4=0;P2_2=1;while(!zuo0);while(!zuo0);P2_2=0;P2_4=1;for(k=0;k<10;k++);}}第七、第六、电路图:。

智能循迹小车实验报告

智能循迹小车实验报告

智能循迹小车实验报告第一篇:智能循迹小车实验报告摘要本设计主要有单片机模块、传感器模块、电机驱动模块以及电源模块组成,小车具有自主寻迹的功能。

本次设计采用STC公司的89C52单片机作为控制芯片,传感器模块采用红外光电对管和比较器实现,能够轻松识别黑白两色路面,同时具有抗环境干扰能力,电机模块由L298N芯片和两个直流电机构成,组成了智能车的动力系统,电源采用7.2V的直流电池,经过系统组装,从而实现了小车的自动循迹的功能。

关键词智能小车单片机红外光对管 STC89C52 L298N 1 绪论随着科学技术的发展,机器人的设计越来越精细,功能越来越复杂,智能小车作为其的一个分支,也在不断发展。

在近几年的电子设计大赛中,关于小车的智能化功能的实现也多种多样,因此本次我们也打算设计一智能小车,使其能自动识别预制道路,按照设计的道路自行寻迹。

设计任务与要求采用MCS-51单片机为控制芯片(也可采用其他的芯片),红外对管为识别器件、步进电机为行进部件,设计出一个能够识别以白底为道路色,宽度10mm左右的黑色胶带制作的不规则的封闭曲线为引导轨迹并能沿该轨迹行进的智能寻迹机器小车。

方案设计与方案选择3.1 硬件部分可分为四个模块:单片机模块、传感器模块、电机驱动模块以及电源模块。

3.1.1 单片机模块为小车运行的核心部件,起控制小车的所有运行状态的作用。

由于以前自己开发板使用的是ATMEL公司的STC89C52,所以让然选择这个芯片作为控制核心部件。

STC89C52是一种低损耗、高性能、CMOS八位微处理器,片内有4k字节的在线可重复编程、快速擦除快速写入程序的存储器,能重复写入/擦除1000次,数据保存时间为十年。

其程序和数据存储是分开的。

3.1.2 传感器模块方案一:使用光敏电阻组成光敏探测器采集路面信息。

阻值经过比较器输出高低电平进行分析,但是光照影响很大,不能稳定工作。

方案二:使用光电传感器来采集路面信息。

循迹小车设计报告-基于单片机C

循迹小车设计报告-基于单片机C

循迹小车组员;09机电2班,陈海韬,吴顺全目录目录 0摘要; (1)1.任务及要求 (1)1.1任务 (1)2.系统设计方案 (1)2.1小车循迹原理 (1)2.2控制系统总体设计 (2)3.系统方案 (2)3.1 循迹传感器模块 (2)3.1.1红外线传感器ST188简介 (3)3.1.2比较器LM324简介 (3)3.1.3具体电路 (3)3.1.4传感器安装 (4)3.2控制器模块 (5)3.3电源模块 (6)3.4电机及驱动模块 (6)3.4.1电机 (6)3.4.2驱动 (6)4.软件设计 (7)4.1PWM控制 (7)4.2总体软件流程图 (7)4.3。

小车循迹流程图 (8)4.4中断程序流程图 (8)4.5单片机测序 (9)5.参考资料 (9)自动循迹小车摘要;3.3电源模块两节3.7伏点离子电池和7808的稳压芯片。

VI是7.4输入端,VO是5输出。

3.4.1电机电机型号:GA12YN20该款电机适用条件:直径:12mm,机身不含轴长度:26mm电压工作范围:DC1.5- 12.0V6V的空载转速有: 120rpm轴长:10mm4.软件设计4.1 PWM控制是通过设计编程ENA,ENB等于0或1的占空比来调速。

4.2总软件流程图4.3小车循迹流程图4.4中断程序流程图4.5程序#include<reg51.h>unsigned char zkb1=0;//左占空比unsigned char zkb2=0; //右占空比unsigned char t=0;//定时器中断计数器sbit LSEN1=P1^0;sbit LSEN2=P1^1;sbit RSEN1=P1^2;sbit RSEN2=P1^3;sbit IN1=P2^0;sbit IN2=P2^1;sbit IN3=P2^2;sbit IN4=P2^3;sbit ENA=P2^4;sbit ENB=P2^5;//************初始化定时器,中断************** void init(){TMOD=0x01;TH0=0XF8;TL0=0X30;EA=1;ET0=1;TR0=1;}//***********中断函数+脉宽调制************* void timer() interrupt 1{if (t<zkb1)ENA=1;elseENA=0;if (t<zkb2)ENB=1;elseENB=0;t++;if (t>=30){t=0;}}//**************直走***************//void qianjin(){zkb1=15;zkb2=15;}//**************左走函数1***************//void turn_left1(){ zkb1=25;zkb2=0;}//**************左走函数2***************//void turn_left2(){zkb1=25;zkb2=0;}//**************右走函数1***************//void turn_right1(){ zkb1=0;zkb2=25;}//**************右走函数2***************//void turn_right2(){ zkb1=0;zkb2=25;}//**************循迹函数***************//void xunji(){unsigned char flag;if ((RSEN1==0)&&(RSEN2==0)&&(LSEN1==0)&&(LSEN2==0)){flag=0;} //**************直走***************//else if ((RSEN1==1)&&(RSEN2==0)&&(LSEN1==0)&&(LSEN2==0)) {flag=1;} //**************右走函数1***************//else if ((RSEN2==1)&&(RSEN1==0)&&(LSEN1==0)&&(LSEN2==0)) {flag=2;} //**************右走函数2***************//else if ((LSEN1==1)&&(LSEN2==0)&&(RSEN1==0)&&(RSEN2==0)) {flag=3;} //**************左走函数1***************//else if ((LSEN2==1)&&(LSEN1==0)&&(RSEN1==0)&&(RSEN2==0)) {flag=4;} //**************左走函数2***************//else if ((RSEN1==1)&&(RSEN2==1)&&(LSEN1==1)&&(LSEN2==1)) {flag=5;} //**************直走***************//switch (flag){case 0:qianjin();break;case 1: turn_right1();break;case 2:turn_right2();break ;case 3:turn_left1();break;case 4:turn_left2();break ;case 5:qianjin();break;default :break;}}//**********主函数*********//void main(){init();zkb1=15;zkb2=15;while(1){IN1=0;IN2=1;//*******给电机加启动*****//IN3=0;IN4=1;ENA=1;ENB=1;while (1){xunji();//***********循迹************//}}}5.参考资料教科书,百度。

单片机循迹小车实训报告

单片机循迹小车实训报告

一、实训目的通过本次单片机循迹小车实训,使学生掌握单片机的基本原理和编程方法,了解循迹小车的构造和工作原理,提高学生动手能力和实践能力,培养学生的创新精神和团队协作精神。

二、实训背景随着科技的不断发展,单片机在各个领域得到了广泛应用。

单片机具有体积小、功耗低、成本低、易于编程等优点,是现代电子设备的核心控制单元。

循迹小车作为一种典型的嵌入式系统,具有较好的应用前景。

通过本次实训,学生可以了解单片机在循迹小车中的应用,提高自己的实际操作能力。

三、实训内容1. 硬件部分(1)单片机:选用AT89C52单片机作为循迹小车的核心控制单元。

(2)循迹传感器:采用红外传感器,用于检测地面上的黑色轨迹线。

(3)电机驱动模块:选用L298N电机驱动模块,驱动直流电机。

(4)电源模块:采用可充电锂电池,为整个系统提供稳定的电源。

(5)其他辅助元件:如电阻、电容、二极管等。

2. 软件部分(1)系统初始化:设置单片机的IO口、定时器、中断等。

(2)循迹算法:根据红外传感器的输入信号,判断小车与轨迹线的相对位置,控制小车行驶方向。

(3)电机控制:根据循迹算法的结果,控制电机的转速和方向,实现小车的前进、后退、左转和右转等动作。

(4)数据通信:通过串口通信,将小车行驶过程中的数据传输到上位机。

四、实训步骤1. 硬件搭建(1)根据电路图,将各个模块连接起来。

(2)检查电路连接是否正确,确保各个模块正常工作。

2. 软件编程(1)编写系统初始化程序,设置单片机的IO口、定时器、中断等。

(2)编写循迹算法程序,根据红外传感器的输入信号,判断小车与轨迹线的相对位置。

(3)编写电机控制程序,根据循迹算法的结果,控制电机的转速和方向。

(4)编写数据通信程序,通过串口通信,将小车行驶过程中的数据传输到上位机。

3. 调试与优化(1)将编写好的程序烧录到单片机中。

(2)调试程序,观察循迹小车的运行状态。

(3)根据调试结果,优化循迹算法和电机控制程序。

模拟循迹小车实验报告

模拟循迹小车实验报告

一、实验目的1. 理解循迹小车的工作原理,掌握模拟循迹技术。

2. 学习使用传感器检测道路情况,并根据检测结果进行小车控制。

3. 提高嵌入式系统设计和编程能力。

二、实验原理循迹小车是一种能够按照预设轨迹运行的智能小车。

其工作原理是:通过安装在车身上的传感器检测道路情况,并将检测到的信息传输给单片机,单片机根据接收到的信息对小车进行控制,使小车按照预设轨迹运行。

本实验中,我们采用红外对管作为传感器,通过检测红外对管对光线反射的强弱来判断小车是否偏离预设轨迹。

当红外对管检测到光线反射较强时,表示小车偏离了预设轨迹;当红外对管检测到光线反射较弱时,表示小车位于预设轨迹上。

三、实验器材1. 单片机开发板(如STC89C52)2. 红外对管传感器3. 电机驱动模块4. 电机5. 轮胎6. 跑道7. 电阻、电容等电子元件8. 编程软件(如Keil)四、实验步骤1. 硬件连接:将红外对管传感器连接到单片机的I/O口,将电机驱动模块连接到单片机的PWM口,将电机连接到电机驱动模块。

2. 编程:编写程序,实现以下功能:(1)初始化红外对管传感器和电机驱动模块;(2)读取红外对管传感器的状态,判断小车是否偏离预设轨迹;(3)根据红外对管传感器的状态,控制电机驱动模块使小车按照预设轨迹运行。

3. 调试:将程序烧录到单片机中,进行调试。

观察小车是否能够按照预设轨迹运行。

五、实验结果与分析1. 实验结果:经过调试,小车能够按照预设轨迹运行。

2. 分析:(1)红外对管传感器能够有效地检测道路情况,判断小车是否偏离预设轨迹;(2)单片机能够根据红外对管传感器的状态,及时调整电机的转速,使小车按照预设轨迹运行;(3)电机驱动模块能够稳定地驱动电机,使小车运动平稳。

六、实验总结通过本次实验,我们掌握了模拟循迹小车的工作原理,学会了使用传感器检测道路情况,并根据检测结果进行小车控制。

同时,我们还提高了嵌入式系统设计和编程能力。

七、改进建议1. 可以尝试使用其他类型的传感器,如光电传感器、红外线传感器等,以提高循迹精度。

循迹小车设计报告-基于单片机C

循迹小车设计报告-基于单片机C

循迹小车设计报告-基于单片机C循迹小车组员;09机电2班,陈海韬,吴顺全目录目录 0摘要; (1)1.任务及要求 (1)1.1任务 (1)2.系统设计方案 (1)2.1小车循迹原理 (1)2.2控制系统总体设计 (2)3.系统方案 (2)3.1 循迹传感器模块 (2)3.1.1红外线传感器ST188简介 (3)3.1.2比较器LM324简介 (3)3.1.3具体电路 (3)3.1.4传感器安装 (4)3.2控制器模块 (5)3.3电源模块 (6)3.4电机及驱动模块 (6)3.4.1电机 (6)3.4.2驱动………………………………………………… (6)4.软件设计 (7)4.1PWM控制 (7)4.2总体软件流程图 (7)4.3。

小车循迹流程图 (8)4.4中断程序流程图 (8)4.5单片机测序 (9)5.参考资料 (9)自动循迹小车摘要;3.3电源模块两节3.7伏点离子电池和7808的稳压芯片。

VI是7.4输入端,VO是5输出。

3.4.1电机电机型号:GA12YN20该款电机适用条件:直径:12mm,机身不含轴长度:26mm电压工作范围:DC1.5- 12.0V6V的空载转速有: 120rpm轴长:10mm4.软件设计4.1 PWM控制是通过设计编程ENA,ENB等于0或1的占空比来调速。

4.2总软件流程图4.3小车循迹流程图4.4中断程序流程图4.5程序#include<reg51.h>unsigned char zkb1=0;//左占空比unsigned char zkb2=0; //右占空比unsigned char t=0;//定时器中断计数器sbit LSEN1=P1^0;sbit LSEN2=P1^1;sbit RSEN1=P1^2;sbit RSEN2=P1^3;sbit IN1=P2^0;sbit IN2=P2^1;sbit IN3=P2^2;sbit IN4=P2^3;sbit ENA=P2^4;sbit ENB=P2^5;//************初始化定时器,中断************** void init(){TMOD=0x01;TH0=0XF8;TL0=0X30;EA=1;ET0=1;TR0=1;}//***********中断函数+脉宽调制************* void timer() interrupt 1{if (t<zkb1)ENA=1;elseENA=0;if (t<zkb2)ENB=1;elseENB=0;t++;if (t>=30){t=0;}}//**************直走***************//void qianjin(){zkb1=15;zkb2=15;}//**************左走函数1***************//void turn_left1(){ zkb1=25;zkb2=0;}//**************左走函数2***************//void turn_left2(){zkb1=25;zkb2=0;}//**************右走函数1***************//void turn_right1(){ zkb1=0;zkb2=25;}//**************右走函数2***************//void turn_right2(){ zkb1=0;zkb2=25;}//**************循迹函数***************//void xunji(){unsigned char flag;if ((RSEN1==0)&&(RSEN2==0)&&(LSEN1==0)&&(LSEN2==0)){flag=0;} //**************直走***************//else if ((RSEN1==1)&&(RSEN2==0)&&(LSEN1==0)&&(LSEN2==0)) {flag=1;} //**************右走函数1***************//else if ((RSEN2==1)&&(RSEN1==0)&&(LSEN1==0)&&(LSEN2==0)) {flag=2;} //**************右走函数2***************//else if ((LSEN1==1)&&(LSEN2==0)&&(RSEN1==0)&&(RSEN2==0)) {flag=3;} //**************左走函数1***************//else if ((LSEN2==1)&&(LSEN1==0)&&(RSEN1==0)&&(RSEN2==0)) {flag=4;} //**************左走函数2***************//else if ((RSEN1==1)&&(RSEN2==1)&&(LSEN1==1)&&(LSEN2==1)) {flag=5;} //**************直走***************//switch (flag){case 0:qianjin();break;case 1: turn_right1();break;case 2:turn_right2();break ;case 3:turn_left1();break;case 4:turn_left2();break ;case 5:qianjin();break;default :break;}}//**********主函数*********//void main(){init();zkb1=15;zkb2=15;while(1){IN1=0;IN2=1;//*******给电机加启动*****//IN3=0;IN4=1;ENA=1;ENB=1;while (1){xunji();//***********循迹************//}}}5.参考资料教科书,百度。

基于单片机的循迹小车实验报告

基于单片机的循迹小车实验报告

目录第1章绪论 (3)1.1 引言 (3)1.2 课题任务要求 (3)1.3 本论文研究的内容 (3)第2章系统总体设计 (4)2.1 小车的机械特性 (4)2.2 智能小车寻迹基本原理 (4)2.3 智能小车测速基本原理 (4)2.2 智能小车遥控基本原理 (4)第3章系统硬件设计 (6)3.1 控制器的选择 (6)3.1.1 概述 (6)3.1.2 P89V51RB2开发工具特性 (6)3.2 硬件电路设计 (6)3.2.1 系统电源电路 (6)3.2.2 电机驱动模块 (7)3.2.3 光电编码器 (8)3.2.4 红外线检测电路 (9)3.2.5 超声波蔽障/测距.................................................................. 错误!未定义书签。

3.2.6 LCD显示设计...................................................................... 错误!未定义书签。

第4章系统软件设计 (12)4.1 编译环境 (12)4.2 模块的驱动 (12)4.2.1 红外线传感器模块 (12)4.2.2 电机模块的驱动 (13)4.2.3 转速捕获 (15)4.2.4 LCD1602显示模块 (17)4.2.5 按键模块 (21)4.2.6 超声波模块模块 (23)第5章系统调试分析 (26)5.1 系统设计中的注意事项 (26)5.1.1 外部因素 (25)5.1.2 内部因素 (26)5.2 硬软件总体调试 (26)第6章结束语 (27)致谢 (28)参考文献 (29)附录 (30)第1章绪论1.1 引言我们所处的这个时代是信息革命的时代,各种新技术、新思想层出不穷,纵观世界范围内智能汽车技术的发展,每一次新的进步无不是受新技术新思想的推动。

随着汽车工业的迅速发展,传统的汽车的发展逐渐趋于饱和。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计报告(嵌入式技术实践(二))学院:电气工程与自动化学院题目:基于P89V51RB2单片机寻迹小车专业班级:学号:学生姓名:指导老师:2013年06月07日目录第1章绪论 (4)1.1 引言 (4)1.2 课题任务要求 (4)1.3 本论文研究的内容 (4)第2章系统总体设计 (5)2.1 小车的机械特性 (5)2.2 智能小车寻迹基本原理 (5)2.3 智能小车测速基本原理 (5)2.2 智能小车遥控基本原理 (5)第3章系统硬件设计 (7)3.1 控制器的选择 (7)3.1.1 概述 (7)3.1.2 P89V51RB2开发工具特性 (7)3.2 硬件电路设计 (7)3.2.1 系统电源电路 (7)3.2.2 电机驱动模块 (8)3.2.3 光电编码器 (9)3.2.4 红外线检测电路 (9)3.2.5 超声波蔽障/测距..................................................................... 错误!未定义书签。

3.2.6 LCD显示设计......................................................................... 错误!未定义书签。

第4章系统软件设计 (13)4.1 编译环境 (13)4.2 模块的驱动 (13)4.2.1 红外线传感器模块 (13)4.2.2 电机模块的驱动 (14)4.2.3 转速捕获 (16)4.2.4 LCD1602显示模块 (17)4.2.5 按键模块 (21)4.2.6 超声波模块模块 (23)第5章系统调试分析 (26)5.1 系统设计中的注意事项 (26)5.1.1 外部因素 (26)5.1.2 内部因素 (26)5.2 硬软件总体调试 (26)第6章结束语 (27)致谢 (28)参考文献 (29)附录 (30)第1章绪论1.1 引言我们所处的这个时代是信息革命的时代,各种新技术、新思想层出不穷,纵观世界范围内智能汽车技术的发展,每一次新的进步无不是受新技术新思想的推动。

随着汽车工业的迅速发展,传统的汽车的发展逐渐趋于饱和。

伴随着电子技术和嵌入式技术的迅猛发展,这使得汽车日渐走向智能化。

智能汽车由原先的驾驶更加简单更加安全更加舒适,逐渐的向智能驾驶系统方向发展。

智能驾驶系统相当于智能机器人,能代替人驾驶汽车。

它主要是通过安装在前后保险杠及两侧的红外线摄像机,对汽车前后左右一定区域进行不停地扫描和监视。

计算机、电子地图和光化学传感器等对红外线摄像机传来的信号进行分析计算,并根据道路交通信息管理系统传来的交通信息,代替人的大脑发出指令,指挥执行系统操作汽车。

1.2 课题任务要求应用P89V51RB2微控制器中的端口、外部中断、定时器等基本模块,实现核心控制,再结合电源板、电机驱动板来控制电机的转向,最后加上传感检测模块,实现小车的智能寻迹。

这次课程实践要求每一同学都要动手都制作出一辆循迹小车,真正实现从听中学到做中学,提高同学们的动手能力。

这次实践最基本的功能底线就是能够实现循迹,附加的有超声波测距,蜂鸣器报警及液晶屏显示。

1.3 本论文研究的内容本论文是基于P89V51RB2单片机开发,主要是研究3轮小车的路径识别及其控制算法以及超声波测距及LCD1602显示距离。

第2章系统总体设计2.1 小车的机械特性小车采用的是一辆三轮车车模。

后轮控件前进或转弯,前轮根据后轮驱动左右摆动即可以实现左右转。

该种车模控制简单。

小车可通过PWM控制后轮电机转动的速度来控制前轮电机的转动幅度从而控制小车的转弯幅度,实现小车的前进与转弯操作。

小车可通过对DIR控制后退。

2.2 寻迹小车基本原理探测路面黑线的基本原理:光线照射到路面并反射,由于黑线和白纸对光的反射系数不同,可以根据接收到的反射光强弱来判断是否是黑线。

利用这个原理,可以控制小车行走的路迹。

这里的循迹是指小车在白色地板上循黑线行走,通常采取的方法是红外探测法。

红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色纸质地板时发生漫反射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,小车上的接收管接收不到红外光。

处理器就根据是否收到反射回来的红外光为依据来确定黑线的位置和小车的行走路线。

红外探测器探测距离有限,一般最大不应超过3cm。

智能小车系统以处理器为核心,为了使智能小车能够快速行驶,处理器必须把路径的迅速判断、相应的转向电机控制以及直流驱动电机的控制精密地结合在一起。

如果传感器部分的数据没有正确地采集和识别,转向电机控制的失当,都会造成模型车严重抖动甚至偏离赛道;如果直流电机的驱动控制效果不好,也会造成直线路段速度上不去,弯曲路段入弯速度过快等问题。

其系统结构如所图 2.1示。

本次红外探测采用的是反射式探测。

2.3智能小车超声波测距原理利用超声波连续发出10us以上的高电平,就可以在接口有高电频输出,等待接受到返回的高电频信号时,通过定时器电波对被控对象进行时间检测。

就可以计算相应的时间了。

图 2.1 系统结构图80C51处理器通过引脚读出超声波信号管脚80C51处理器向红外线传感器供5V电压,通过采集其高低电平可以控制小车的转弯。

80C51处理器通过DATA引脚向键盘显示板发送要显示的数据,还可以通过KEY引脚读取键盘的按键,实现相应的功能。

第3章系统硬件设计3.1 控制器的选择本次设计采用的是80C51单片机。

3.1.1 概述P89V51RB2是一款由美国NXP半导体公司提供的增强型80C51微控制器,包括16KB Flash程序存储器和1KB数据RAM,且功能上完全覆盖标准80C51单片机系列3.1.2 P89V51RB2 开发工具特性1.80C51内核,5V工作电压,操作频率0~40MHZ;2.16KB片内Flash存储器,1KB片内SRAM;3.SPI串行通信接口和增强型UART;4.PCA(可编程计数器列阵),具有PWM和捕获、比较功能;5.4个8位I/O口,含有三个高电流P1口(每个I/O口的电流为16mA);6.8个中断源,4个中断优先级,3个16位定时器/计数器和可编程看门狗定时器(WDT);7.2个DPTR寄存器;3.2 硬件电路设计本次项目采用的电路板从画电路原理图开始,到PCB板的布线以及电路板的焊接与检测一系列工作都是自己在大一下学期课程实践期间制作的。

3.2.1 系统电源电路交流电经过全波电路在经过电容滤波,在经过稳压电源芯片做成稳压电路,输出电压5V、7.2V的直流电源。

其电源电路原理图如图3.2所示。

图 3.2 系统电源电路原理图小车的驱动电机的供电电压为7.2V,经过电容滤波后接7805进行稳压,稳压输出5V的电压。

提供单片机所需5V电压。

3.2.2 电机驱动模块1.驱动实现与原理本项目驱动两路直流电机,实现电机的正反转与测速和遥控。

输入输出逻辑表真值表3.2。

表 3.1 L298N输入输出逻辑真值表通道1 通道2输入输出控制电机1 输入输出控制电机2 EnA In1 In2 OUT1 OUT2 转向EnB In3 In4 OUT3 OUT4 转向1 0 0 0 0 停止10 0 0 0 停止0 1 0 1 反传0 1 0 1 反传1 0 1 0 正转 1 0 1 0 正转1 1 0 0 停止 1 1 1 1 停止0 X X 0 0 停止0 X X 0 0 停止其中“0”为低电平;“1”为高电平;“X”为任何状态。

驱动原理图3.2.3 光电编码器/测速2.光电编码器原理光电编码器,是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。

这是目前应用最多的传感器,光电编码器是由光栅盘和光电检测装置组成。

光栅盘是在一定直径的圆板上等分地开通若干个长方形孔。

由于光电码盘与电动机同轴,电动机旋转时,光栅盘与电动机同速旋转,经发光二极管等电子元件组成的检测装置检测输出若干脉冲信号,通过计算每秒光电编码器输出脉冲的个数就能反映当前电动机的转速。

3.光电编码器的实现光电编码器的发光装置一般由发光二极管来实现。

光敏元件则由光敏三极管接上了上拉电阻来完成。

光电式旋转编码器是转速或转角的检测元件,旋转的编码器与电动机相连,当电机转动时,带动码盘旋转,便发出转速或转角信号。

其示意图如图 3.55所示。

图 3.5 光电编码器的实现示意图当电机旋转时,码盘随之一起转动。

通过光栅的作用,使得光敏三极管随着光栅透出的光而导通。

接收的频率和转速成正比。

在接收端可以输出一系列的方波,80C51内核可以通过采集方波的频率从而可以计算出电机的速度。

3.2.4 红外线检测电路红外线检测电路原理其实很简单,就是利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色纸质地板时发生漫反射,反射光被装在小车上的接收管接收,Cortex-M0内核采集到的电压就是高电平;如果遇到黑线则红外光被吸收,小车上的接收管接收不到红外光,然后80C51内核采集到的电压就是低电平。

其基本原理图如图3.6所示。

图3.6 红外线检测电路原理图鉴于本项目设计需实现的功能比较简单,故只要两路红外线检测电路即可,分别位于小车中心轴的两测即可。

3.2.5 超声波蔽障/测距3.2.5.1超声波测距模块简介超声波检测设计小车避障是利用超声波测距,并根据测出离障碍物不同距离而做出不同反应。

检测距离:5CM-4M分辨率:5MM数字电平信号,可直接接单片机,无需任何辅助电路,也无需单片机产生任何信号辅助,距离和模块输出信号脉冲长度成正比。

尺寸:43.5*20.5毫米高度:13.8毫米3.2.5.2超声波测距模块的引脚功能图3.2.5.3超声波实物3.2.5.3超声波测距原理你只需要提供一个短期的10uS脉冲触发信号。

该模块内部将发出8个40kHz周期电平并检测回波。

一旦检测到有回波信号则输出回响信号。

回响信号是一个脉冲的宽度成正比的距离对象。

可通过发射信号到收到的回响信号时间间隔可以计算得到距式:uS/58=厘米或者uS/148=英寸。

建议测量周期为60ms以上,以防止发射信号对回响信号的影响3.2.5.4超声波测距时序图图3.2.5超声波测距时序图3.2.6 LCD显示设计加液晶显示是为了弥补在超声波蔽障及测距是,对于具体我们不知道的距离显示出来,有助于我们更好的预知路程蔽障的范围及距离障碍物的距离。

通过1602的显示,让我们更加清楚小车隔障碍物的距离。

图3.2.6液晶显示实物图3.2.7.1液晶工作原理在数字电路中,所有的数据都是以0和1保存的,对LCD控制器进行不同的数据操作,可以得到不同的结果。

相关文档
最新文档