




免费预览已结束,剩余26页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计报告(嵌入式技术实践(二))学 院:电气工程与自动化学院题 目:基于P89V51RB2单片机寻迹小车专业班级:自动化122班学 号:33号学生姓名:常雲指导老师:张振利,罗龙 2013年06月07日目 录第1章 绪论11.1引言11.2课题任务要求11.3本论文研究的内容2第2章 系统总体设计32.1小车的机械特性32.2智能小车寻迹基本原理32.3智能小车测速基本原理32.2智能小车遥控基本原理3第3章 系统硬件设计53.1控制器的选择53.1.1概述53.1.2P89V51RB2开发工具特性53.2硬件电路设计63.2.1系统电源电路63.2.2电机驱动模块73.2.3光电编码器93.2.4红外线检测电路93.2.5超声波蔽障/测距103.2.6LCD显示设计10第4章 系统软件设计124.1编译环境124.2模块的驱动124.2.1红外线传感器模块124.2.2电机模块的驱动134.2.3转速捕获164.2.4LCD1602显示模块174.2.5按键模块214.2.6超声波模块模块23第5章 系统调试分析265.1系统设计中的注意事项265.1.1外部因素265.1.2内部因素265.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 系统结构图红外传感测速显示超声波测距电机驱动电源板LCD1602显示P89V51RB2单片机 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工作电压,操作频率040MHZ;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输入输出控制电机2EnAIn1In2OUT1OUT2转向EnBIn3In4OUT3OUT4转向10000停止10000停止0101反传0101反传1010正转1010正转1100停止1111停止0XX00停止0XX00停止其中“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控制器进行不同的数据操作,可以得到不同的结果。对于显示英文操作,由于英文字母种类很少,只需要8位(一字节)即可。而对于中文,常用却有6000以上,于是我们的DOS前辈想了一个办法,就是将ASCII表的高128个很少用到的数值以两个为一组来表示汉字,即汉字的内码。而剩下的低128位则留给英文字符使用,即英文的内码。那么,得到了汉字的内码后,还仅是一组数字,那又如何在屏幕上去显示呢?这就涉及到文字的字模,字模虽然也是一组数字,但它的意义却与数字的意义有了根本的变化,它是用数字的各位信息来记载英文或汉字的形状,从而通过扫描,显示在液晶屏幕上3.2.7.1液晶显示原理 液晶显示其实就是对屏幕的每个点的扫描,带字库的液晶内部自带控制芯片,直接对它操作就可以显示出汉子字符,需要读写命令和数据,才能达到对液晶控制器的操作,具体的如何显示,有兴趣者可以自己查阅资料,进一步理解并学会使用。第4章 系统软件设计4.1 编译环境TKStudio集成开发环境(又称TKStudio IDE)是广州致远电子有限公司开发的一个微处理器软件开发平台,是一款具有强大内置编辑器的多内核编译调试环境,支持8051、ARM、AVR等多种微控制器,可以完成从工程建立和管理,编译,链接,目标代码的生成,到软件仿真,硬件仿真(挂接TKS系列仿真器等硬件)等完整的开发流程。TKStudio集成开发环境包括工程管理器、代码编辑器、编译工具链、源码级调试器和外部工具等。4.2 模块的驱动4.2.1 红外线传感器模块红外线模块只要M0处理器向其供5V电压就能工作,然后通过引脚采集其电平高低就可以根据不同情况做出相应的处理。其具体程序控制见程序清单4.1.程序清单 4.1读取红外传感器的高低电平void Track(void) if(IN1=0&IN2=0)|(IN1=1&IN2=1) Forward(); /调用前进函数 if(IN1=1&IN2=0) Lift(); /调用左转函数 if(IN1=0&IN2=1) Right(); /调用右转函数 4.2.2 电机模块的驱动首先,通过设置L298N芯片的输入方向RIGHT_FANZHUAN,RIGHT_ZHENGZHUAN,RIGHT_STOP,LEFT_ZHENGZHUAN,LEFT_FANZHUAN,LEFT_STOP,从而控制电机的正反转。详见程序清单4.3.程序清单 4.3直流电机驱动与路径识别void Forward() /电机前进 PWM1=1; PWM2=1;void Lift() /电机左转 PWM1=0; PWM2=1;void Right() /电机右转 PWM1=1; PWM2=0 ;void Track(void) if(IN1=0&IN2=0)|(IN1=1&IN2=1) Forward(); /调用前进函数 if(IN1=1&IN2=0) Lift(); /调用左转函数 if(IN1=0&IN2=1) Right(); /调用右转函数 前轮为方向轮,只有在需要转弯的时候才需要后边电机驱动其左右转动,在常态下则由后轮的推力使前轮向前转动。具体实现是通过控制前面产生的两路PWM波的占空比和L298N芯片的In1、In2的方向来实现小车的前进寻迹与后退寻迹,其程序流程图详见图4.1所示。开始读取传感器是否两边都遇到黑线停止是否左遇到且右没遇到是否右遇到且左没遇到左转弯右转弯直行YNYYNN图 4.1直流电机控制流程图根据图4.1可以看到程序一开始就进行读取红外线传感器,如果左右两边都遇到黑线则停止前进;如果左边遇到黑线而且右边没有遇到黑线,小车则左转;如果右边遇到黑线而且左边没有遇到黑线,小车则右转;如果两边都没有遇到黑线小车则直行。具体程序控制详见程序清单4.4。4.2.3 转速捕获本项目采用16位定时器1和32位定时器1的捕获功能来实现两直流电机的转速捕获。由于主轮与后面光码盘扇叶转速的比例是1:80,而且有两片扇叶。所以测主轮的转速公式为:转速= (FAHBCLK/(CAP1_2-CAP1_1)/(N2-1)*3/8/ TMR16B1PR,程序控制详见程序清单4.5.程序清单 4.5 直流电机转速的测量void TimeNew1()/光栅捕获并记录 R1=R2; /捕获左电机光栅并记录 if(R_Mcp2=0)R2=1;if(R_Mcp2=1)R2=0;if(R1=1)if(R2=0)rm2+;if(rm2=1)rm2=0;Count2+;if(Count2=10000)Count2=0; if(R_Mcp1=0)r2=1; /捕获右电机光栅并记录if(R_Mcp1=1)r2=0;if(r1=1)if(r2=0)rm1+;if(rm1=1)rm1=0;Count1+;if(Count1=10000)Count1=0; r1=r2; m1=lucheng1/1000, /转换成路程并分解成BCD码dm1=(lucheng1-1000*m1)/100, cm1=(lucheng1-1000*m1-100*dm1)/10, mm1=lucheng1-1000*m1-100*dm1-10*cm1,m2=lucheng2/1000, dm2=(lucheng2-1000*m2)/100,cm2=(lucheng2-1000*m2-100*dm2)/10,mm2=lucheng2-1000*m2-100*dm2-10*cm2if(Count3=4000) /定时一秒 /lucheng1=Count2*2200/1580;lucheng2=Count1*2200/1580;Count3=0;Count1=0,Count2=0;/路程计算4.2.4 LCD1602液示显示模块1602等待超声波产生数据等待接受,给自己数据发送时间是否到达等待发送时间将存储好的数据发送到1602显示板上显示执行程序NYY1602通过超声波产生的中断进行计数,在液晶屏上显示出来。 程序清单4.2.4#define LCM_RW P3_4 /定义LCD引脚#define LCM_RS P3_3#define LCM_E P3_5#define LCM_Data P1#define Busy 0x80 /用于检测LCM状态字中的Busy标识void LCMInit(void);void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData);void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData);void Delay5Ms(void);void Delay400Ms(void);void Decode(unsigned char ScanCode);void WriteDataLCM(unsigned char WDLCM);void WriteCommandLCM(unsigned char WCLCM,BuysC);unsigned char ReadDataLCM(void);unsigned char ReadStatusLCM(void);unsigned char code mcustudio =ZDH-122ban-33hao;unsigned char code email = distance-display;unsigned char code Cls = ;unsigned char code ASCII15 = 0,1,2,3,4,5,6,7,8,9,.,-,M;static unsigned char DisNum = 0; /显示用指针 unsigned int time=0; unsigned long S=0; bit flag =0; unsigned char disbuff4 = 0,0,0,0,;/写数据void WriteDataLCM(unsigned char WDLCM) ReadStatusLCM(); /检测忙LCM_Data = WDLCM;LCM_RS = 1;LCM_RW = 0;LCM_E = 0; /若晶振速度太高可以在这后加小的延时LCM_E = 0; /延时LCM_E = 1;/写指令void WriteCommandLCM(unsigned char WCLCM,BuysC) /BuysC为0时忽略忙检测if (BuysC) ReadStatusLCM(); /根据需要检测忙LCM_Data = WCLCM;LCM_RS = 0;LCM_RW = 0;LCM_E = 0;LCM_E = 0;LCM_E = 1;/读数据unsigned char ReadDataLCM(void)LCM_RS = 1; LCM_RW = 1;LCM_E = 0;LCM_E = 0;LCM_E = 1;return(LCM_Data);/读状态unsigned char ReadStatusLCM(void)LCM_Data = 0xFF; LCM_RS = 0;LCM_RW = 1;LCM_E = 0;LCM_E = 0;LCM_E = 1;while (LCM_Data & Busy); /检测忙信号return(LCM_Data);void LCMInit(void) /LCM初始化LCM_Data = 0;WriteCommandLCM(0x38,0); /三次显示模式设置,不检测忙信号Delay5Ms(); WriteCommandLCM(0x38,0);Delay5Ms(); WriteCommandLCM(0x38,0);Delay5Ms(); WriteCommandLCM(0x38,1); /显示模式设置,开始要求每次检测忙信号WriteCommandLCM(0x08,1); /关闭显示WriteCommandLCM(0x01,1); /显示清屏WriteCommandLCM(0x06,1); / 显示光标移动设置WriteCommandLCM(0x0F,1); / 显示开及光标设置/按指定位置显示一个字符void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData)Y &= 0x1;X &= 0xF; /限制X不能大于15,Y不能大于1if (Y) X |= 0x40; /当要显示第二行时地址码+0x40;X |= 0x80; /算出指令码WriteCommandLCM(X, 1); /发命令字WriteDataLCM(DData); /发数据/按指定位置显示一串字符void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData)unsigned char ListLength; ListLength = 0;Y &= 0x1;X &= 0xF; /限制X不能大于15,Y不能大于1while (DDataListLength0x19) /若到达字串尾则退出if (X =700)|flag=1) /超出测量范围显示“-” flag=0; DisplayOneChar(0, 1, D); DisplayOneChar(1, 1, i); DisplayOneChar(2, 1, s); DisplayOneChar(3, 1, t); DisplayOneChar(4, 1, a); DisplayOneChar(5, 1, n); DisplayOneChar(6, 1, c); DisplayOneChar(7, 1, e); DisplayOneChar(8, 1, ); DisplayOneChar(9, 1, :); DisplayOneChar(10, 1, ASCII11); DisplayOneChar(11, 1, ASCII10);/显示点 DisplayOneChar(12, 1, ASCII11); DisplayOneChar(13, 1, ASCII11); DisplayOneChar(14, 1, ASCII12);/显示M else disbuff0=S%1000/100; disbuff1=S%1000%100/10; disbuff2=S%1000%10 %10; DisplayOneChar(0, 1, D); DisplayOneChar(1, 1, i); DisplayOneChar(2, 1, s); DisplayOneChar(3, 1, t); DisplayOneChar(4, 1, a); DisplayOneChar(5, 1, n); DisplayOneChar(6, 1, c); DisplayOneChar(7, 1, e); DisplayOneChar(8, 1, ); DisplayOneChar(9, 1, :); DisplayOneChar(10, 1, ASCIIdisbuff0); DisplayOneChar(11, 1, ASCII10);/显示点 DisplayOneChar(12, 1, ASCIIdisbuff1); DisplayOneChar(13, 1, ASCIIdisbuff2); DisplayOneChar(14, 1, ASCII12);/显示M /*/ void zd0() interrupt 1 /T0中断用来计数器溢出,超过测距范围 flag=1; /中断溢出标志 /*/*/ void delayms(unsigned int ms)unsigned char i=100,j;for(;ms;ms-)while(-i)j=10;while(-j);/*/void main(void)unsigned char TempCyc;Delay400Ms(); /启动等待,等LCM讲入工作状态LCMInit(); /LCM初始化Delay5Ms(); /延时片刻(可不要)DisplayListChar(0, 0, mcustudio);DisplayListChar(0, 1, email);ReadDataLCM();/测试用句无意义for (TempCyc=0; TempCyc10; TempCyc+)Delay400Ms(); /延时DisplayListChar(0, 1, Cls);while(1) TMOD=0x01; /设T0为方式1,GATE=1; TH0=0; TL0=0; ET0=1; /允许T0中断 EA=1; /开启总中断while(1) StartModule();/ DisplayOneChar(0, 1, ASCII0); while(!RX);/当RX为零时等待 TR0=1; /开启计数 while(RX);/当RX为1计数并等待 TR0=0;/关闭计数 Conut();/计算 delayms(80);/80MS 4.2.5 按键模块按键模块处理流程图如图4.2所示。将预备发送显示的整数的每一位依次存放于一个数组单元发送时间是否到达等待发送时间将存储好的数据发送到键盘显示板上显示查询等待按键按下是否有键按下修改相关程序或数据信息执行程序NYYYN图 4.2 按键处理程序流程图把89V81RB2的P3.5引脚设置为检测引脚,设置为输入,进行扫描键盘。使用变量i作为位码设置变量,由0至7依次循环,例如当按下5号键的时候,当i变成5的时候,会在5号线上出现低电平,p3.5上出现低电平,当89V81RB2上边检测到低电平的时候,将变量i的值赋值给按键号标志变量whichkeydown,当按键松开后,对whichkeydown的值进行处理,也就是相当于对按键的事件进行了处理,处理完成后,将whichkeydown的值赋值为8,说明没有按键按下。按键要定时检测按键是否按键,实时处理即可。这里使用的是前面设置的16位定时器0的定时2.5ms进行检测。其具体详见程序清单4.7.程序清单 4.2.5按键检测void Key_Proc(void)uint32 key;if(有按键) /有按键DelayNS(30); /延时去抖if(按键有效0) /按键有效读取按键值 while() /等待释键;switch(key)case按键1:; /按键1处理break;case按键2:; /按键2处理break;case按键3:; /按键3处理break; 4.2.6 超声波模块 所谓遥控即通过电磁波的远距离传送特点进行工作,由处理器通过对接收装置的管脚的电平的读取从而作出相应工作。 程序清单4.8 超声波发送接收 void StartModule() /启动模块 TX=1; /启动一次模块 _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); TX=0; 第5章 系统调试分析5.1 系统设计中的注意事项5.1.1 外部因素外部因素主要有环境光线、赛道材质等因素。以采用光电寻迹方案的智能车为例,如果接收的信号中有很多噪声成分,或者黑白区分不清晰,就很难识别路线,从而对后续的控制过程造成很大影响。因此,合理的传感器离地间隙和反射角度、较好的滤波电路设计都是需要考虑的。5.1.2 内部因素(1) 重量因素 整车质量的增加,对系统动力性有较大影响。因此,除了智能车工作必须的电路之外,应尽可能减少车重。即使是必备部件,可应该采用轻量化的设计。比如为了测量模型车的速度,需要在驱动轮上加装转速传感器,一般购买的电机编码器重量都较大,有的队伍就利用鼠标上的光电电路设计制作了一个轻量化的转速传感器,从而大大减小了重量。 (2) 过度转向的避免 由于是后轮驱动,在弯曲的路线上加速可能会出现过度转向现象,因此在车辆弯道行驶时需要小心控制车辆的转向速度。(3) 传感器的影响刚开始的时候,我的传感器装的比较高,这样就不能很好的感应到路线,以至于出现乱跑的现象。如果在以后的设计中需要的话,可以采用激光传感器进行探测,这样就会更精准的寻迹。5.2 硬软件总体调试硬件、软件独立调试都有效果之后,下一步就是硬软件总体调试了,在硬软件总体调试之前,应现把各个跳线接后,然后在用贴有黑胶带的白纸来回在红外线发射接收管左右移动,看小车的电机转速是否会发生变化,如果用贴有黑胶带的白纸来回在各个红外线发射接收管左右移
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论