版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、蔽障循迹智能小车一.导言1.1智能汽车的作用和意义自从第一台工业机器人诞生以来,机器人的发展已经遍布机械、电子、冶金、交通、航空航天、国防等各个领域。近年来,机器人的智能水平不断提高,人们的生活方式被迅速改变。在人类不断探索、改造和认识自然的过程中,制造出能够代替人类劳动的机器一直是人类的梦想。随着科学技术的发展,机器人的感觉系统、图像处理技术已经相当发达,对于各种视觉技术,而基于图像的理解技术还很落后。机器视觉只能通过大量的运算来识别结构化环境中的一些简单目标。视觉传感器的核心器件是摄像管或CCD,目前的CCD可以实现自动对焦。但是CCD传感器的价格、体积、使用量都不占优势。因此,在不需要清
2、晰图像而只需要粗糙感觉的系统中考虑使用接近传感器时,接近传感器的种类越来越多,其中视觉传感器成为自动行走和驾驶的重要组成部分。典型应用视野是一种实用有效的自主智能导航方法。为了实现自动引导功能和避障功能,机器人必须感知引导线和障碍物,感知引导线相当于赋予机器人视觉功能。避障控制系统是基于AVG自动引导车系统。基于AVG-自动引导车系统,智能车能够自动识别路线,判断并自动避开障碍物,选择正确的路线。使用传感器感知路线和障碍物,做出判断并采取相应的行动。这款智能车可以说是机器人的典型代表。可以分为三个部分:传感器检测部分、CPU和执行部分。为了实现自动避障功能,机器人还可以扩展跟踪、感知引导线和障
3、碍物等功能。它能自动识别汽车的行驶路线,选择正确的路线,并检测障碍物自动避让。基于上述要求,感知和检测部分考虑到汽车一般不需要感知清晰的图像,只需要粗略的感知。智能车的执行部分由DC电机驱动,主要控制汽车的方向和速度。二、方案设计和论证2.1总体方案设计本系统是基于AT89C52单片机的汽车跟踪系统。该系统采用两组高灵敏度的红外反射式光电传感器检测路面的黑迹,并将检测到的数据送到单片机进行处理,利用单片机产生PWM波,可以在最短的时间内完成跟踪。同时,红外传感器用于躲避障碍物。当检测到红绿灯时,用固定频率的红外信号指示不同的红绿灯,使控制系统更加智能。在软件程序中,采用了一定的控制算法,使得汽
4、车在通道中第一次遇到十字黑线时减速,第二次遇到十字黑线时可以以更慢的速度转弯。因此,本系统由红外光电传感器、单片机和驱动单元组成,保证小车能在预定的轨道上运行。本设计的主要特点本设计的主要特点本设计的主要特点:1.自制PWM调速四轮结构车。2.采用6V电池供电,DC稳压电路工作稳定。3.采用红外发射传感器接收和识别黑线标志,具有较高的准确性和灵敏度。2.2主控系统根据设计要求,我认为这个设计是一个多输入的复杂程序控制问题。据此,拟定并综合论证了如下两个方案:方案一:选择一片CPLD(如EPM7128LC84-15)作为系统的核心部件,实现控制和处理功能。CPLD具有速度快、编程容易、资源丰富、
5、开发周期短等优点。可以用VHDL语言编写和开发。但CPLD在控制上不如单片机。同时CPLD的处理速度很快,汽车的行驶速度不能太高,所以对系统处理信息的要求不会太高。在这一点上,MCU已经可以胜任了。如果采用这种方案,控制上会出现很多不必要的问题。因此,我们不采纳这个方案,然后提出第二个想法。方案二:以单片机为整个系统的核心,用它来控制移动的小车,使其达到既定的性能指标。充分分析我们的系统,关键在于实现对小车的自动控制,而在这一点上,单片机显示了它的优势简单、方便、快捷的控制。这样,单片机就能充分发挥其资源丰富、控制功能强大、可寻址操作功能和价格低廉的优势。因此,这是一个理想的方案。根据这种设计
6、的特点多开关量输入的复杂程序控制系统,需要善于处理多开关量输入的标准单片机,但不能使用I/O口和程序存储器简化的小型单片机,D/A和A/D功能也不必选择。根据这些分析,我选择了STC89C52RA单片机作为本次设计的主控器件。52单片机具有强大的位操作指令,I/O口可逐位寻址,程序空间高达8K,对于本设计来说绰绰有余。更可贵的是52单片机很便宜。在考虑了很多因素之后,比如传感器,两个电机的驱动等等。我们决定采用单片机,充分利用STC89C52的资源。2.3传感器选择方案方案一:用LED发光,用光电二极管接收;当发光二极管发出的可见光照射黑带时,光被黑带吸收,光电二极管检测到信号。高阻抗,使输出
7、低。当LED发出的可见光照射到地面上时,LED发出的可见光被反射回来,被光电二极管检测到,其阻抗迅速下降。此时,输出端处于高电平。但由于光电二极管受环境中可见光影响较大,电路的稳定性很差,但检测信号可以通过运算放大器进行处理。方案二:采用反射式红外光电传感器。由TCRT5000反射式红外二极管组成的路径识别传感器模块在探测距离和灵敏度上可以满足系统要求。该器件具有以下特点:当LED发出的光反射回来时,三极管导通,输出低电平。光电二极管调理电路简单,工作性能稳定。综上所述,本设计采用LED进行检测,因为性价比合理。2.4电机驱动芯片选择方案方案1:采用分立元件的H桥驱动电路。方案二:采用集成H桥
8、驱动电路芯片。由于集成H桥驱动电路芯片体积小,稳定性高,所以选用集成驱动电路芯片作为电机驱动芯片,型号为L298N。2.5电机方案选择方案一:采用步进电机。步进电机的一个显著特点是具有快速启动和停止的能力,可以实现电机的正反转和调速,启动性能好,启动转矩大。工作电压可达36V,4A。可以同时驱动两台DC发动机。适用于机器人设计和智能汽车设计。如果没有超过步进电机提供的动态转矩值,步进电机可以立即启动或反转。调速方式:DC电机采用PWM信号平滑调速。方案二:采用普通DC减速电机,DC电机调速特性优良,调速平稳、方便,调节范围广,过载能力强,能承受频繁的冲击负载,能实现频繁的无级快速启动、制动和反
9、转,能满足各种特殊运行要求。综上所述,我们选择DC减速电机。2.6供电方案选择方案一:直接使用AA干电池供电。它的结构很简单,但是供电能力差,不容易长时间供电。方案二:使用3500mA干电池,DC稳压整流电路的输入端口接9mA干电池,经过电容滤波和L7805、L7806稳压后输出5v、6v左右的电压。它能保证长时间稳定的输出电压。这样就可以提供持续稳定的电流,稳压后给单片机系统和其他芯片供电。考虑到系统稳定工作的要求,选择了第一种方案。三种主要设备介绍3.1 STC 89 c 52简介STC89C52引脚功能描述VCC(40针):电源电压VSS(20针):接地P0端口(P0.0P0.7,39
10、32引脚):P0端口是一个开漏的8位双向I/O端口。作为输出端口,每个引脚可以驱动8个TTL负载。将“1”写入端口P0时,它可以用作高阻抗输入。当访问外部程序和数据存储器时,P0端口还可以提供低8位地址和8位数据的多路复用总线。此时,P0口的上拉电阻有效。在Flash ROM编程中,P0端口接收指令字节;检查程序时,输出指令字节。验证时,需要外部上拉电阻。P1端口(P1.0P1.7,1 8针):P1端口是一个8位双向I/O端口,带有部分上拉电阻。P1的输出缓冲器可以驱动(吸收或输出电流)四个TTL输入。向端口写入1时,端口被器件的上拉电阻拉至高电位,可用作输入端口。当P1端口作为输入端口时,因
11、为有一个上拉电阻,被外界拉低的管脚会输出一个电流。此外,P1.0和P1.1也可用作定时器/计数器2的外部技术输入(P1.0/T2)和触发输入(P1.1/T2EX)。有关详细信息,请参见下表:编程和验证闪存ROM时,P1接收低8位地址。表XX P1.0和P1.1引脚复用功能当编程或验证闪速ROM时,P3也接收一些控制信号。除了作为通用I/O端口之外,P3端口还具有其他复用功能,如下表所示:表XX P3端口引脚复用功能完成单片机的复位初始化操作。看门狗计时完成后,RST引脚输出96个晶振周期的高电平。专用寄存器AUXR(地址8EH)中的DISRTO位可以禁用此功能。在DISRTO默认状态下,复位高
12、电平有效。XTAL1(19针):振荡器反相放大器和时钟产生电路的输入。XTAL2(18引脚):振荡器反相放大器的输入。特殊功能寄存器3.2 L298N的介绍L298N是一款高压大电流电机驱动芯片。该芯片的主要特点是:工作电压高,最高工作电压可达46V输出电流大,瞬时峰值电流可达3A,连续工作电流为2A;具有两个H桥的高压大电流全桥驱动器可用于驱动DC电机、步进电机、继电器、线圈等感性负载;采用标准TTL逻辑电平信号控制;有两个使能控制端子,允许或禁止设备工作而不受输入信号的影响;有一个逻辑电源输入端,使部分逻辑电路工作在低电压;可以外接检测电阻,将变化反馈到控制电路。L298N的功能L298N
13、的操作参数L298N的逻辑控制L298N主要用于通过单片机的I/O输入来改变芯片的控制端的电平,即可以使电机正转、反转、停止。输入引脚和输出引脚之间的逻辑关系如下所示表3.3电机控制L298N逻辑真值表3.3 TCRT 5000简介TCRT5000光电传感器模块是基于TCRT5000红外光电传感器的红外反射式光电开关。传感器由高发射功率的红外光电二极管和高灵敏度的光电晶体管组成,输出信号经施密特电路整形,稳定可靠。+:连接DC DC5V阳极-:连接DC DC5V负极s:信号输出,光电晶体管饱和。此时,模块的输出处于高电平,表示二极管点亮。应用场合:电能表脉冲数据采样、碎纸机纸张检测、障碍物检测
14、、黑白线检测。基本参数:尺寸:长32毫米 37毫米;宽度7.5mm;5毫米厚工作电压:DC 3V5.5V,推荐工作电压为5V。探测距离:1mm8mm适用,焦距2.5 mm。传感器的红外发射二极管持续发射红外线。当发射的红外线没有反射回来或反射回来但强度不够高时,光电晶体管一直处于关断状态,模块输出处于低电平,说明二极管一直处于关断状态;当被检测物体出现在检测区域时,红外线以足够的强度反射回来,光电晶体管饱和。此时,模块的输出处于高电平,表示二极管点亮。灵敏度可调的跟踪电路。当比较器正向输入端的电压低于反向输入端的电压时,输出低电平,LED点亮,表示接收到反射光。3.4简介3.4 LM339用于
15、智能小车的电路分析模块LM339引脚图和功能介绍LM339集成块配有四个独立的电压比较器。LM339类似于增益不可调的运算放大器。每个比较器有两个输入和一个输出。两个输入端中的一个称为同相输入端,用“+”表示,另一个称为反相输入端,用“-”表示。比较两个电压时,任一输入端加一个固定电压作为参考电压(也叫阈值电平,可以选择LM339输入共模中的任意一点),另一端加一个要比较的信号电压。当“+”端电压高于“-”端电压时,输出管截止,相当于输出端开路。当“-”端电压高于“+”端时,输出管饱和,相当于输出端接了一个低电位。如果两个输入端子之间的电压差大于10mV,输出可以可靠地从一种状态切换到另一种状
16、态。因此,在微弱信号检测等场合使用LM339是比较理想的。LM339的输出相当于没有集电极电阻的晶体管。使用时,应在正电源上连接一个电阻(称为上拉电阻,选择3-15K)。选择不同电阻值的上拉电阻会影响输出端的高电位值。因为当输出晶体管关断时,其集电极电压基本取决于上拉电阻和负载的值。此外,比较器的输出可以连接在一起。3.5 l 7805 cv和L7806CV的介绍L7805L7805是最常用的稳压芯片。它很容易使用。用一个非常简单的电路,就可以输入一个DC稳压电源。它的输出电压正好是5v,正好是51系列单片机运行所需的电压。有ka7805、ads7805、cw7805等多个系列。,性能略有差异
17、。用的最多的是LM7805。在这里,我简单介绍一下他使用的三个图钉。其中1接整流器输出的+电压,2接公共地(也就是负极),3是我们需要的正5V输出电压。L7806L7806是一种固定式正电压调节器电路,属于三端正电压调节器系列。产品应用广泛,涉及各种稳压电源、充电器、数码产品和家用电器。L7806芯片参数:密封和包装四。硬件设计。4.1主控芯片AT89C52单片机最小系统板电路本智能车采用的单片机最小系统板是我们自制的AT89C52最小系统板,具有体积小、重量轻、使用方便等优点,可以很好的放置在智能车内。示意图如下。小型系统PCB板4.2电机驱动模块电路电机驱动模块采用专用驱动芯片L298N作
18、为电机的驱动芯片。L298N是高压大电流全桥驱动芯片,响应频率高。一个L298N可以分别控制两个DC减速电机,它还有一个控制使能端子。用它做驱动芯片,操作简单,稳定,性能优异。L298N的管脚5和7是一个电机的控制信号输入,管脚10和12是另一个电机的控制信号输入,管脚2和3是一个电机的控制信号输出,管脚13和14是另一个电机的控制信号输出。通过单片机控制L298N的输入,可以实现DC减速电机的正反转,从而控制小车的前进和后退。电机驱动电路原理图如下。驱动模块PCB板4.3红外线黑线检测模块电路由于有六个红外传感器排成一排,均匀安装在车底,当光线照射在路面上发生反射时,由于黑线和白纸的反射系数
19、不同,可以根据接收到的反射光强度来判断黑线是否在前进。一般情况下,当黑线位于中间的两个红外传感器之间时,无论汽车向哪一侧倾斜,都可以检测到汽车的偏移方向。或者汽车向左倾斜时,右侧传感器检测到黑线,输出低电平给电机;否则,它输出高电平。红外跟踪电路原理图红外跟踪PCB板跟踪电路由红外二极管构成。当检测到黑线时,打开红外接收器,否则关闭红外二极管。通过比较器LM339的电压比较,将电平状态送到单片机进行进一步处理。示意图如下。电路分析原理图红外电路分析PCB板4.4稳压电源电路电机驱动电路模块:这个题目要求汽车的机械系统稳定、灵活、简单,可以选择两个轮子。考虑到现在大部分车都是两个轮子,我选择两个
20、轮子的设计,让设计更贴近生活需求。驱动部分:DC驱动电机,前后电机采用L298N双通道电机驱动模块驱动,其扭矩完全可以达到仿真效果。安装电池:将电池放置在车身下方,降低车身重心,提高稳定性,同时增加驱动轮的抓地力,减少车轮空转带来的误差。电源模块:用两节3500mA电池给电机供电,然后用稳压芯片把电池电压降压给单片机。一套电源可以减轻汽车的负荷。电机电源电路应用说明:基本思路是使能信号输入使能端,即高电平接通,PWM信号输入控制输入端A,方向信号输入控制输出端b,在一个PWM周期内,电机只承受单极性电压,电机的选择方向由控制信号决定,电机转速由PWM决定,PWM占空比0%-100%对应电机转速
21、0-MAX。因此,当接收到来自检测模块的信号时,单片机对该信号进行处理,并根据该信号产生相应的PWM波,从而可以根据该信号调整电机的转速和方向。稳压电源电路图稳压电源PCB板设计5.1主程序#include#定义uchar无符号字符#定义uint无符号整数uchar PWM _ left = 0;/变量定义,变量与速度的比较uchar push _ left = 0;/左电机占空比N/10速度调节uchar PWM _ right = 0;/与速度相比的变量uchar push _ right = 0;/右电机占空比N/10速度调节bit Right _ moto _ stop = 1;bit
22、 Left _ moto _ stop = 1;uint time = 0;uint a=0,flag=0,flag 1 = 0;sbit left_1_led=p10;/四通道跟踪模块接口的第一个通道sbit left_2_led=p11;/四通道跟踪模块接口的第二通道sbit right_1_led=p12;/四通道跟踪模块接口的第二通道sbit right_2_led=p13;/四通道跟踪模块接口的第三通道uint a,d,y,z,q,w,c;sbit out 1 = p20;sbit out 2 = p21;sbit out 3 = p22;sbit out 4 = p23;sbit
23、ENA = p16;sbit enb = p17;sbit in right = p24;sbit in left = p25;延迟(uint a);int左转(uint z)ENA = 1;enb = 1;out1 = 1out 2 = 0;out 3 = 1;out 4 = 0;延迟(z);返回0;int右转(uint y)ENA = 1;enb = 1;out 1 = 0;out 2 = 1;out 3 = 0;out 4 = 1;延迟(y);返回0;国际货币基金组织ENA = 0;enb = 0;out 1 = 0;out 2 = 0;out 3 = 0;out 4 = 0;延迟(d)
24、;返回0;无效go(单位q)ENA = 1;enb = 1;out 1 = 0;out 2 = 1;out 3 = 1;out 4 = 0;延迟(q);int back(uint w)ENA = 1;enb = 1;out1 = 1out 2 = 0;out 3 = 0;out 4 = 1;延迟(w);返回0;int右后卫(int c)ENA = 0;enb = 1;out 1 = 0;out 2 = 0;out 3 = 0;out 4 = 1;延迟(c);返回0;无效张碧()if(inright=1&inleft=1)go(50);if(inright=0)右转(50);if(inleft=
25、0)左转(50);if(inright=0&inleft=0)back right(2000);void荀集() if(Left _ 1 _ led = = 0 & & Left _ 2 _ led = = 0 & & Right _ 1 _ led = = 0 & & Right _ 2 _ led = = 0)/0go(50);else if(Left _ 1 _ led = = 0 & & Left _ 2 _ led = = 0 & & Right _ 1 _ led = = 0 & & Right _ 2 _ led = = 1)/0001右转(20);延迟(5);else if(L
26、eft _ 1 _ led = = 0 & & Left _ 2 _ led = = 0 & & Right _ 1 _ led = = 1 & & Right _ 2 _ led = = 0)/0010右转(20);/(9,6)延迟(1);else if(Left _ 1 _ led = = 0 & & Left _ 2 _ led = = 0 & & Right _ 1 _ led = = 1 & & Right _ 2 _ led = = 1)/0011右转(20);延迟(3);else if(Left _ 1 _ led = = 0 & & Left _ 2 _ led = = 1 &
27、 & Right _ 1 _ led = = 0 & & Right _ 2 _ led = = 0)/0100左转(30);延迟(3);else if(Left _ 1 _ led = = 0 & & Left _ 2 _ led = = 1 & & Right _ 1 _ led = = 0 & & Right _ 2 _ led = = 1)/0101右转(30);延迟(2);else if(Left _ 1 _ led = = 0 & & Left _ 2 _ led = = 1 & & Right _ 1 _ led = = 1 & & Right _ 2 _ led = = 1)/
28、0111左转(30);延迟(1);else if(Left _ 1 _ led = = 1 & & Left _ 2 _ led = = 0 & & Right _ 1 _ led = = 0 & & Right _ 2 _ led = = 0)/1000左转(30);延迟(3);else if(Left _ 1 _ led = = 1 & & Left _ 2 _ led = = 0 & & Right _ 1 _ led = = 0 & & Right _ 2 _ led = = 1)/1001go(30);延迟(3);/原始延迟为6else if(Left _ 1 _ led = = 1
29、 & & Left _ 2 _ led = = 0 & & Right _ 1 _ led = = 1 & & Right _ 2 _ led = = 0)/1010左转(30);延迟(3);else if(Left _ 1 _ led = = 1 & & Left _ 2 _ led = = 0 & & Right _ 1 _ led = = 1 & & Right _ 2 _ led = = 1)/1011右转(20);延迟(3);else if(Left _ 1 _ led = = 1 & & Left _ 2 _ led = = 1 & & Right _ 1 _ led = = 0
30、& & Right _ 2 _ led = = 0)/1100左转(20);延迟(5);else if(Left _ 1 _ led = = 0 & & Left _ 2 _ led = = 0 & & Right _ 1 _ led = = 0 & & Right _ 2 _ led = = 1)/1101左转(20);延迟(5);else if(Left _ 1 _ led = = 1 & & Left _ 2 _ led = = 1 & & Right _ 1 _ led = = 1 & & Right _ 2 _ led = = 0)/1110左转(20);延迟(5);/else if
31、(Left _ 1 _ led = = 1 & & Left _ 2 _ led = = 1 & & Right _ 1 _ led = = 1 & & Right _ 2 _ led = = 1)/1111/tiaosu();/go(20);/delay(5);/ 中间延迟(单位a)uint x,y;for(x = a;x 0;x -)for(y = 110;y 0;y-);返回0;/*/* PWM调节电机速度*/*/*左电机速度调节*/*调整push_val_left的值以改变电机速度和占空比*/void pwm_out_left_moto(无效)if(左_机动_停止)if(pwm_lef
32、t=100)PWM _ left = 0;else ENA = 0;/*/*右电机速度调节*/void pwm_out_right_moto(void)if(右_马达_停止)if(pwm_right=100)PWM _ right = 0;else enb = 0;/*/* */*定时器已初始化*/*/void init0(void)TMOD = 0 x 01;TH0 = 0XF8/1ms时序TH0 = 0XF8TL0 = 0X30TL0 = 0X30TR0 = 1;ET0 = 1;EA = 1;void init1(void)TMOD = 0 x 10;/设置定时器0的工作模式1TH1 =(
33、65536-50000)/256;/计时器的初始值TL1 =(65536-50000)% 256;IT0 = 1;IT1 = 1;EX0 = 1;/打开外部中断0EX1 = 1;/打开外部中断1ET1 = 1;/启动定时器0中断TR1 = 1;/起始定时器0EA = 1;/打开总中断/*/*定时器0中断服务子函数产生PWM信号*/使用2使定时器0()中断1无效TH0 = 0XF8/1毫秒时序TL0 = 0X30time+;PWM _ left+;PWM _ right+;PWM _ out _ left _ moto();PWM _ out _ right _ moto();空行程(整数m,整
34、数n)push _ left = m;/PWM调整参数1-10 1最慢,10最快。改变这个值可以改变它的速度。push _ right = n;/PWM调整参数1-10 1最慢,10最快。改变这个值可以改变它的速度。out 1 = 0;/左侧电机前进。out 2 = 1;out 3 = 1;out 4 = 0;/右电机向前移动虚空调和() while(flag=1)跑(30,30);延迟(30);讯奇();if(Left _ 1 _ led = = 1 & & Left _ 2 _ led = = 1 & & Right _ 1 _ led = = 1 & & Right _ 2 _ led
35、= = 1) a = 1;flag = 0;while(a=1)run(99,99);延迟(30);讯奇();if(Left _ 1 _ led = = 1 & & Left _ 2 _ led = = 1 & & Right _ 1 _ led = = 1 & & Right _ 2 _ led = = 1) a = 2;void main() init 0();init 1();P1 = 0 x ff;P2 = 0 x ff;while(1) if(Left _ 1 _ led = = 1 & & Left _ 2 _ led = = 1 & & Right _ 1 _ led = = 1
36、 & & Right _ 2 _ led = = 1) flag = 1; /1111else标志= 0;延迟(3);如果(标志=0)讯奇();其他条素();不及物动词调试:6.1硬件调试部件的固定小车主要由五个模块的电路板组成,各板之间用导线连接。小车沿轨道运动时,经常会发生颠簸,导致电路板位移,电路板上的元器件受到扰动,使小车运动不平稳,尤其是L298N。所以我们不仅在板材上打孔锁紧螺丝,还在板材之间用热熔胶固定,减少震动。TCRT5000探针由TCRT5000组成的轨迹识别电路是本设计成败的关键。在最初的调试中,车头的晃动(即转向)往往显得无效。后来用电压表测量电压比较器输入端的电压,发
37、现参考电压达到了3.5V,而红外探头检测黑线时只有3.6V。两者的电压几乎相同,所以单片机遇到黑线较浅或反光的区域会误判。因此,我们在两种极端情况下测量了红外探头的电压输出:黑色和白色。在测量了黑白两种极端情况下红外探头的电压后,我通过调整电阻将参考电压调整为5V。这个电压值和输出的电压值无论是黑还是白都相差很远,所以单片机会减少误判的现象。改进后测试正常,汽车可以灵活摇头,实现更多功能。L298N电机驱动模块L298N电机驱动模块首次通电,实现简单的单向电机驱动。当找到马达时,它不运行。测试后发现某信号线接触不良,重新连接后运行正常。这个模块是商用模块,所以性能比较稳定,调试非常成功。6.2
38、软件调试6.2.1调试平台介绍Keil V4用于此编程。KeilSoftware公司推出的UVision4是一个可用于各种8051MCU的集成开发环境(IDE)。IDE也是PK51和其他开发工具包的重要组成部分。除了添加源代码、函数导航器、模板编辑和改进的搜索功能,uVision4还提供了配置向导功能,加速了启动代码和配置文件的生成。此外,外部仿真器可以模拟目标MCU,包括指令集、片内外设和外部信号。UVision4提供了逻辑分析器,可以根据MCUI/O引脚和外设状态变化来监控程序变量。UVision4支持各种最新的8051微处理器,包括AnalogDevices的ADuC83x和ADuC84
39、x以及英飞凌的XC866。界面如下图所示。程序调试调试完硬件,第一次下载软件到系统进行实际测试,发现车子过不了弯,会出轨。后来我仔细分析了自己的算法。本来我是把车设置成遇到弯道后完全掉头的,但是他们有些着急,车绕不过弯。在这一点上,我想用有限的转向角来解决急转弯的问题。想到日常汽车在狭窄的道路上转弯,我想到了向后调整车身位置的方法。也就是说,当发现小车在现有的转向角度下无法转弯时,小车会反相,从而快速调整小车的位置。改进算法后,我又进行了一次测试,这次汽车成功绕过了90度弯道。根据测试结果可以看出,基本实现了小车跟踪避障功能。然而,测试仍然失败。这种分析有两个原因。第一,车读太快,转弯时刹车失
40、灵。第二,画在纸上的跑道会有褶皱,这些地方容易出现误判。知道了这些原因,我把现在的车的速度降下来,重新测试了一遍。结果表明,即使跟踪轨迹发生变化,小车也能很好地完成跟踪。但是赛车不能根据赛道的情况自主改变速度。这也是这个设计的一个缺陷。实际调试过程中,车的程序跑偏了。经过对方案的调整和改进,该车运行状态稳定。它可以很好的完成沿着黑色赛道的行进,改变赛道的形状和转弯角度,赛车依然可以完成循迹。七、体验。在智能车系统的设计、调试、论文撰写过程中,我感觉很多同学都给予了无数的指导和大力支持。在这个过程中,我们不仅学到了知识,也学到了治学的态度,那就是严谨,把知识变成自己的,去其糟粕,留其精华,用自己的方式解决问题,而不是人云亦云。智能汽车是传感技术和自动控制技术快速发展的产物,使得机械和电子信息的分离不再明显。自动控制在工业领域发挥着越来越重要的作用。智能这个词是我们科技发展的重要产物。本次实习涉及的主要部分有传感器巡检车、驱动部分、以单片机为核心的控制芯片、稳压及电路分析部分。各部分的成功参与、相互联系和协调等。,是建立在系统阅读大量资料,认真分析课题需求,系统学习单片机工
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年山西机电职业技术学院高职单招职业适应性测试参考题库带答案解析
- 2026年安徽电子信息职业技术学院单招综合素质笔试备考试题附答案详解
- Unit6 Hitting the road公开课一等奖创新教学设计(共6课时)【2025新外研版七年级英语下册】
- 命题函数题目及答案
- 2026年无锡商业职业技术学院高职单招职业适应性测试模拟试题带答案解析
- 2026年苏州卫生职业技术学院单招职业技能考试模拟试题带答案解析
- 2026年宁夏体育职业学院单招职业技能笔试参考题库带答案解析
- 2026年上海立信会计金融学院高职单招职业适应性测试模拟试题带答案解析
- 共享公司合伙协议书
- 2026年江苏商贸职业学院单招职业技能笔试参考题库带答案解析
- 清华大学教师教学档案袋制度
- 公租房完整租赁合同范本
- 东南大学附属中大医院2026年招聘备考题库及答案详解参考
- 2025新疆阿瓦提县招聘警务辅助人员120人参考笔试题库及答案解析
- 贵州国企招聘:2025贵州盐业(集团)有限责任公司贵阳分公司招聘考试题库附答案
- 道德与法治八上情境题汇总附答案
- 电焊机操作JSA分析表
- LY/T 1000-2013容器育苗技术
- 养老院健康档案模板
- 新竞争环境下的企业发展战略(培训讲座课件PPT)
- 电力拖动自动控制系统-运动控制系统(第5版)习题答案
评论
0/150
提交评论