毕业设计(论文)基于凌阳MCU的机器人平衡控制系统设计.doc

上传人:laozhun 文档编号:3980212 上传时间:2023-03-30 格式:DOC 页数:43 大小:1.17MB
返回 下载 相关 举报
毕业设计(论文)基于凌阳MCU的机器人平衡控制系统设计.doc_第1页
第1页 / 共43页
毕业设计(论文)基于凌阳MCU的机器人平衡控制系统设计.doc_第2页
第2页 / 共43页
毕业设计(论文)基于凌阳MCU的机器人平衡控制系统设计.doc_第3页
第3页 / 共43页
毕业设计(论文)基于凌阳MCU的机器人平衡控制系统设计.doc_第4页
第4页 / 共43页
毕业设计(论文)基于凌阳MCU的机器人平衡控制系统设计.doc_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《毕业设计(论文)基于凌阳MCU的机器人平衡控制系统设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于凌阳MCU的机器人平衡控制系统设计.doc(43页珍藏版)》请在三一办公上搜索。

1、基于凌阳MCU的机器人平衡控制系统设计苏州大学 2010年4月目录摘要3第一章 绪论4第1.1节 选题背景4第1.2节 本设计在理论和实际应用方面的价值4第1.3节 本文主要研究内容5第二章 凌阳单片机SPCE061A6第2.1节 SPCE061A单片机6第2.2节 SPCE061A单片机的性能6第2.3节 SPCE061A单片机的外观及结构7第2.4节 SPCE061A单片机的输入/输出接口8第2.4.1节 SPCE061A 的 I/O 端口结构8第2.4.2节 SPCE061A并行I/O端口控制向量组合10第2.5节 SPCE061A 的最小系统11第三章 传感器13第3.1节 传感器的原

2、理13第3.2节 红外传感器13第3.3节 倾角传感器14第四章 系统的硬件设计17第4.1节 智能小车17第4.2节智能小车硬件组成18第4.3节 智能小车各模块的选择18第4.3.1节 控制模块18第4.3.2节 电机及驱动模块19第4.3.3节 引导检测模块21第4.3.4节 平衡模块22第4.3.5节 电源及显示模块23第五章 系统的软件设计24第5.1节 小车控制算法24第六章 实验结果与分析30第6.1节 实验基础条件30第6.2节 实验数据及分析30第6.3节 智能小车运动性能的分析32结论33致谢34参 考 文 献35附录36摘要在现代社会的各个领域,机器人得到了十分广泛的应用

3、,尤其是机器人小车,本设计是利用凌阳单片机SPCE061A、红外传感器电路TCRT5000、倾角传感器电路SCA60C、LCD显示电路构成的电动小车跷跷板系统。其中单片机最小系统SPCE061A作为检测和控制核心,通过红外发射和接收传感器TCRT5000完成对智能小车行进路线的控制,用红外传感器检测到开关信号送到单片机进行识别,进而发出相应控制指令控制小车寻线行驶;通过倾角传感器电路SCA60C完成跷跷板平衡控制,各部分都能实时显示,从而实现小车在跷跷板上寻找平衡点的智能化。【关键词】:单片机、SPCE061A、智能小车、传感器Design the balance controlling sy

4、stem of robot based on sunplus MCUAbstractNowadays, in many fields of modern society,robots have been widely used, particularly in the intelligent vehicle.This design is based on the 16 bit SPCE061A MCU, the intelligent vehicle called mobile robot , which is drived by two DC motors respectively, can

5、 trace precisely by detecting black leading lines on the seesaw. Reflecting infrared sensor TCRT5000, is used to detect black leading line. Tilting sensor SCA60C, is used to detect whether the seesaw is in balance and control the speed of the intelligent vehicle. The LCD can show the angle of inclin

6、ation detected by SCA60C and translated by SPCE061A. In all, the design can make the intelligent vehicle trace on the seesaw, turn back, turn left, turn right automatically and make the seesaw in balance finally.Keyword: MCU, SPCE061A, Intelligent Mini Vehicle, Sensor第一章 绪论第1.1节 选题背景随着人类社会的不断发展,人们不断

7、寻求一种能够解放人类劳动的有效方法,代替人们从事复杂和繁重的体力劳动,实现人们对未知世界的认识和改造。机器人技术就是在这种情况下应运而生,而且得到了迅速发展,它的发展是科学技术发展的综合性结果,同时,也成为了对社会经济发展产生重大影响的一门科学技术。机器人技术的发展归功于第二次世界大战后各国加强了经济的投入,从而推动了本国的经济的发展。例如日本,战后加强汽车工业的发展,但是由于日本人力的缺乏,迫切需要一种机器人来进行大批量的制造,提高生产效率降低人的劳动强度,所以,日本的机器人技术世界领先。机器人技术的发展是生产力发展的必然结果,也是人类社会发展的必然结果,它的发展势必会给人类社会带来更多的便

8、利,也会对人类社会的发展做出巨大贡献。第1.2节 本设计在理论和实际应用方面的价值智能小车,即轮式机器人,最适合在那些人类无法工作的环境中工作,它们已经在许多领域得到广泛应用。电子制造业中的SMT产线上的贴片机,是机器人在工业自动化中的一个应用,它利用各种传感与探测技术和智能机器人结合来完成元器件的焊接任务,这种焊接技术精度高、集成度高,所以在现在的电子制造业中得到广泛的应用。在日常生活中,智能轮式机器人的应用也十分广泛,日本的一些科技实力强大的公司已经研制出了能够完成日常生活中的洗碗、清洁等任务的机器人,这其中就利用到了机器人平衡控制技术。早在几年前,美国的科学家就设计出了一种双轮机器人,人

9、站在上面操控它就可以平稳而且任意行驶,该项成果也就成了机器人平衡控制技术的典型的应用。在太空探测研究领域,智能机器人小车的用武之地更是广泛,类似月球车的智能小车在太空探测研究中起到了非常关键的作用,它可以登录火星等未知星球进行科学探测,这些探测小车也是机器人平衡技术的典型应用。另外,智能小车控制的研究将有助于智能车辆的研究。智能车辆驾驶任务的自动完成将给人类社会的进步带来巨大的影响,能够提高道路的利用率、降低车辆的燃油消耗,尤其是在改进道路交通安全等方面提供了一种新的解决途径。第1.3节 本文主要研究内容本文首先对智能小车所涉及到的技术做了介绍,其中包括单片机技术、传感器技术、驱动控制技术等多

10、个领域的技术融合。本文设计的智能小车自动平衡控制系统采用凌阳单片机SPCE061A作为小车的控制核心,选用红外传感器电路TCRT5000来引导和检测小车的行驶轨道,将检测到的信息送往单片机SPCE061A进行处理,从而发出相应的控制指令通过驱动电路来控制智能小车寻线行驶,并采用倾角传感器电路SCA60C完成对跷跷板的平衡检测,让小车在跷跷板上完成寻找平衡点的任务,从而实现机器人平衡控制系统的设计目的。第二章 凌阳单片机SPCE061A第2.1节 SPCE061A单片机SPCE061A 是台湾凌阳公司推出的一款功能强大的产品。是继nSP系列产品SPCE500A等之后凌阳科技推出的又一款16位结构

11、的微控制器。与SPCE500A不同的是,在存储器资源方面考虑到用户的较少资源的需求以及便于程序调试等功能,SPCE061A里只内嵌32K字的闪存(FLASH)。较高的处理速度使nSP能够非常容易地、快速地处理复杂的数字信号。SPCE061A是一款高性价比的单片机CPU:16位16位硬件乘法器;DSP核所具有的内积运算;8位芯片的价格;高集成度以致力于单芯片应用(SOC);低功耗,低电压;具有较强的中断处理能力;功能强,效率高的指令系统;具有语音识别功能。因此,我在智能小车的控制系统中,选用凌阳十六位单片机SPCE061A为核心控制器件。第2.2节 SPCE061A单片机的性能1). 16位nS

12、P微处理器;2). 工作电压(CPU) VDD为2.43.6V(I/O) VDDH为2.4 5.5V;3). CPU时钟:0.32MHz 49.152MHz;4). 内置2K SRAM; 5). 内置32K FLASH; 6). 可编程音频处理; 7). 晶体振荡器; 8). 系统处于备用状态下(时钟处于停止状态),耗电仅为2A3.6V;9). 2个16位可编程定时器/计数器(可自动预置初始计数值);10). 2个10位DAC(数-模转换)输出通道;11). 32位通用可编程输入/输出端口;12). 14个中断源可来自定时器A / B,时基,2个外部时钟源输入,键唤醒;13). 具备触键唤醒的

13、功能;14). 使用凌阳音频编码SACM_S240方式(2.4K位/秒),能容纳210秒的语音数据;15). 锁相环PLL振荡器提供系统时钟信号;16). 32768Hz实时时钟;17). 7通道10位电压模-数转换器(ADC)和单通道声音模-数转换器;18). 声音模-数转换器输入通道内置麦克风放大器和自动增益控制(AGC)功能;19). 具备串行设备接口;20). 具有低电压复位(LVR)功能和低电压监测(LVD)功能;21). 内置在线仿真电路ICE(In- Circuit Emulator)接口;22). 具有保密能力;23). 具有WatchDog功能。第2.3节 SPCE061A单

14、片机的外观及结构1)SPCE061A外形图如图2.1所示:图2.1 SPCE061A的外观2)SPCE061A结构图如图2.2所示:图2.2 SPCE061A的结构第2.4节 SPCE061A单片机的输入/输出接口 输入/输出接口(也可简称为I/O端口)是单片机与外设交换信息的通道。输入端口负责从外界接收检测信号、键盘信号等各种开关量信号。输出端口负责向外界传送由内部电路产生的处理结果、显示信息、控制命令、驱动信号等。nSP内有并行和串行两种方式的I/O口。并行口线路成本较高,但是传输速率也较高;与并行口相比,串行端口的传输速率较低但可以节省大量的线路成本。SPCE061A有两个16位的通用并

15、行I/O口:A口和B口。这两个端口的每一位都可通过编程单独定义成输入或输出口。 A口的IOA0IOA7作为输入端口时,具有唤醒功能,即当输入电平发生变化时,会触发CPU中断。在电池供电、追求低耗电的应用场合,可以让CPU进入睡眠模式(利用软件控制)以降低功耗,需要时才以按键来唤醒CPU,使其进入工作状态。例如:手持遥控器、电子字典、PDA、计算器、无线电话等。第2.4.1节 SPCE061A 的 I/O 端口结构 SPCE061A提供了位控制结构的I/O端口(如表2.1所示),每一位都可以单独用于数据输入或输出。每个独立的位可通过以下三种控制向量来作设定:数据向量Data,属性向量Attrib

16、ution,方向控制向量Direction。每3个对应的控制向量组合在一起,形成一个控制字,用来定义相对应I/O端口位的输入输出状态和方式。例如,假设需要IOA0是下拉输入引脚,则相对应的Data、Attribution和Direction的值均被设为“0”。如果需要IOA1是带唤醒功能的悬浮式输入引脚,则Data、Attribution和Direction的值被设为“010”。与其它的单片机相比,SPCE061A除了每个I/O口可以单独定义其状态外,每个对应状态下的I/O端口性质电路都是内置的,在实际的电路中不需要再外接。例:设A口为带下拉电阻的输入端口,在连接硬件时不用再外接下拉电路。A口

17、和B口的Data、Attribution和Direction的设定值均在不同的寄存器里,用户在进行I/O端口设置时要特别注意这一点。 表2.1 I/O端口控制向量组合DirectionAttributionData功能是否带召唤醒功能功能描述000下拉*是*带下拉电阻的输入引脚001上拉*是*带上拉电阻的输入引脚010悬浮是*悬浮式输入引脚011悬浮否悬浮式输入引脚*100高电平输出(带数据反相器)否带数据反相器的高电平输出(当向数据位写入“0”时输出“1”)101低电平输出(带数据反相器)否带数据反相器的低电平输出(当向数据位写入“1”时输出“0”)110低电平输出否带数据寄存器的低电平输出

18、(无数据反相功能)111高电平输出否带数据的寄存器的高电平输出(无数据反相功能)注: (1)* : 端口位预设为带下拉电阻的输入引脚; (2)* : 只有当IOA 7 0内位的控制字为000,001和010时, 相对应位才具有唤醒的功能;(3)*: 悬浮输入作为ADC IOA6 0 的输入。第2.4.2节 SPCE061A并行I/O端口控制向量组合 图2.3 I/O结构P_IOA_Data(读/写)(7000H):A端口的数据单元,用于向A口写入或从A端口读出数据。当A口处于输入状态时,读出是读A口引脚电平状态; 写入是将数据写入A端口的数据寄存器。当A口处于输出状态时,写入输出数据到A端口的

19、数据寄存器。 P_IOA_Buffer (读/写) (7001H): A端口的数据向量单元,用于向数据向量寄存器写入或从该寄存器读出数据。当A口处于输入状态时,写入是将A端口的数据向量写入A端口的数据寄存器;读出则是从A端口数据寄存器内读其数值。当A口处于输出状态时,写入输出数据到A端口的数据寄存器。 对输出而言,P_IOA_Data与P_IOA_Buffer是一样的.但对输入而言,P_IOA_Data读的是IO的值,P_IOA_Buffer读的是buffer内的值。假设IOA0作为输出,并去接LED阳极 (LED阴极接地)。若P_IOA_Data的IOA0为1。在某些需要较大驱动能力的LED

20、而言,LED会亮,但IOA0会被拉到一个很低的值。此时从P_IOA_Data读回为0,但P_IOA_Buffer则为1。读回的意义是方便做其它的IO运算。 P_IOA_Dir(读/写)(7002H):A端口的方向向量单元,用于用来设置A口是输入还是输出,该方向控制向量寄存器可以写入或从该寄存器内读出方向控制向量。Dir位决定了端口位的输入/输出方向:即0为输入,1为输出。 P_IOA_Attrib(读/写)(7003H): A端口的属性向量单元,用于A端口属性向量的设置。 P_IOA_Latch(读)(7004H):读该单元以锁存A端口上的输入数据,用于进入睡眠状态前的触键唤醒功能的启动。P_

21、IOB_Data(读/写)(7005H): B端口的数据单元,用于向B口写入或从B端口读出数据。当B口处于输入状态时,读出是读B口引脚电平状态; 写入是将数据写入B端口的数据寄存器。当B口处于输出状态时,写入输出数据到B端口的数据寄存器。 P_IOB_Buffer(读/写)(7006H):B端口的数据向量单元,用于向数据寄存器写入或从该寄存器内读出数据。当B口处于输入状态时,写入是将数据写入B端口的数据寄存器;读出则是从B端口数据寄存器里读其数值。当B口处于输出状态时,写入数据到B端口的数据寄存器。P_IOB_Dir(读/写)(7007H):B端口的方向向量单元,用于设置IOB口的状态。0为输

22、入,1为输出。 P_IOB_Attrib(读/写)(7008H):B端口的属性向量单元,用于设置IOB端口的属性。第2.5节 SPCE061A 的最小系统SPCE061A的最小系统是在OSC0、OSC1端接上晶振及谐振电容,在锁相环压控振荡器的阻容输入VCP端接上相应的电容电阻后即可工作。其它不用的电源端和地端接上0.1F的去藕电容提高抗干扰能力。1)晶振电路如下图2.4所示:图2.4 晶振电路2)锁相环电路如下图2.5所示:图2.5 锁相环电路3)复位电路如下图2.6所示:图2.6 复位电路4)SPCE061A的最小系统如下图2.7所示:图2.7 SPCE061A的最小系统第三章 传感器第3

23、.1节 传感器的原理传感器是借助于检测元件(敏感元件)接收一种形式的信息,并按一定规律将它转换成另一种信息的装置。它获取的信息,可以是各种物理量、化学量和生物量,而转换后的信息也有各种形式。目前大多数的传感器将获取的信息转换为电信号。在一个自动控制系统中,首先要由传感器检测到信号,才能进行自动控制。传感器的精度、可靠性的高低,将决定这个系统的成败。光电器件是光能与电能相互转换的器件。利用它可以制成多种光电传感器、测试装置、遥控遥测装置、信号传输装置及通信装置。近年来,利用光电器件制成的红外遥控器己在家用电器中得到广泛应用。光电器件主要由光辐射器件(发光器件)及光检测器件(光敏器件)组成。发光器

24、件能把电能转换成光能的器件,其中包括发可见光或不可见光。不可见光一般为红外光:红外线是一种只有少数生物才能感觉到的光波,其波长为1nm 1000nm,具有定向传播和反射能力。不可见发光二极管为红外发光二极管;光检测器件是把光能转换成电能的器件,其中包括光电三极管、光电二极管、接收头、色彩传感器、图像传感器等。第3.2节 红外传感器红外传感器对红外线敏感。由于红外线对人眼来说是不可见光,所以在需要发射光线的设备中使用不会对人造成干扰。在智能小车中,需要用光测量一段距离来进行导航,就可以使用红外线。这里简单介绍红外传感器的工作原理,而不详细讨论智能小车选用红外传感器的具体型号、参数特性。红外传感器

25、的电阻随着投射在其上面光强的变化而变化。如果入射的光强为零,电阻就最大。光强越大,电阻就越小,相应流过的电流就越大,结果压降就越小。红外传感器可以用以测量距离,它可以探测障碍物和物体表面的形状,并且用于向系统提供早期信息。两种常用的测量方法是三角法和测量传输时间法。三角法:用单束光线照射物体,会在物体上形成一个光斑,形成的光斑由摄像机或光敏三极管等接收器接收。距离或深度可根据接收器、光源及物体上的光斑所形成的三角形计算出来。测量传输时间法:信号传输的距离包括从发射器到物体和被物体反射到接收器两部分。传感器与物体之间的距离是信号行进的一半,知道了传播速度,通过测量信号的往返时间即可计算出距离。为

26、了测量精确,时间的测量必须很快。若被测的距离短,则要求信号的波长必须很短。红外传感器是一个相对比较独立的系统,在设计智能小车的控制电路时,只需预留相应的接口即可获取传感的信号。根据实际情况,本设计采用红外光发射接收传感电路TCRT5000完成对小车行进路线的控制,硬件上使用了红外发射管使抗干扰性能改善。TCRT5000如下图所示:图3.1 红外传感器TCRT5000TCRT5000是一种自带发光二极管和光敏三极管的器件,其集电极电流与反射距离d之间的关系如下图3.2所示:图3.2 TCRT5000集电极电流与反射距离d之间的关系第3.3节 倾角传感器倾角传感器可以用来测量相对于水平面的倾角变化

27、量。理论基础就是牛顿第二定律,根据基本的物理原理,在一个系统内部,速度是无法测量的,但却可以测量其加速度。如果初速度已知,就可以通过积分计算出线速度,进而可以计算出直线位移。所以它其实是运用惯性原理的一种加速度传感器。当倾角传感器静止时也就是侧面和垂直方向没有加速度作用,那么作用在它上面的只有重力加速度。重力垂直轴与加速度传感器灵敏轴之间的夹角就是倾斜角了。随着MEMS 技术的发展,惯性传感器件在过去的几年中成为最成功,应用最广泛的微机电系统器件之一,而微加速度计(microaccelerometer)就是惯性传感器件的杰出代表。作为最成熟的惯性传感器应用,现在的MEMS 加速度计有非常高的集

28、成度,即传感系统与接口线路集成在一个芯片上。倾角传感器把MCU,MEMS加速度计,模数转换电路,通讯单元全都集成在一块非常小的电路板上面。可以直接输出角度等倾斜数据,让人们更方便的使用它。其特点是:硅微机械传感器测量(MEMS)以水平面为参面的双轴倾角变化。输出角度以水准面为参考,基准面可被再次校准。数据方式输出,接口形式包括RS232、RS485和可定制等多种方式。抗外界电磁干扰能力强。智能小车通过倾角传感器电路SCA60C(如图3.3所示)完成跷跷板的平衡控制,每个部分都能实时显示数据,实现了电动小车在跷跷板上行进和平衡的智能化。图3.3 倾角传感器SCA60C SCA60C的特点是:单轴

29、倾角传感器,测量范围是1g(90度),单极5V供电,比例电压输出,模拟0.5 4.5V输出,工作温度范围宽。抗冲能力强,能耗低。SCA60C电气特性如下表3.1所示:表3.1 SCA60C电气特性条件最小值典型值最大值单位供电4.55.05.5V消耗电流Vdd=5V,无负载2.04.0mA工作温度-40+85摄氏度模拟输出阻抗Vout to Vdd or Vss20K模拟输出阻抗Vout to Vdd or Vss20nF输出最低电压(Vdd=5V)20k from Vout to Vdd00.25V输出最高电压(Vdd=5V)20k from Vout to Vss4.755.00V零位输出

30、室温,Vdd=5V0.5*VddV灵敏度室温,Vdd=5V2V零位误差-40+85-2000+200mg灵敏度误差-40+85-505%典型非线性从-g到1g-2020mg频响2080Hz比例误差Vdd=4.755.25V-22%交叉轴灵敏度室温5%输出噪声20Hz20ug/sqrt(Hz)启动延迟10ms注:1 要达到高精度,电源电压变化最好在50.05V。 2 测量范围受到灵敏度,零点偏移,和供电电压变化的影响。 3 测量方向参考器件上的箭头指向。第四章 系统的硬件设计第4.1节 智能小车本设计的智能小车是由单片机最小系统、红外发射接收传感器电路、倾角传感器电路、显示电路构成的。其中单片机

31、最小系统通过红外发射接收传感器TCRT5000完成对小车行进路线的控制,通过倾角传感器SCA60C完成对跷跷板的平衡检测,从而实现智能小车在跷跷板上行进和平衡的智能化。本设计智能小车实现的功能如下:1) 小车从跷跷板的起始端A点(如图4.1所示)出发,在A与B点间行驶;2) 小车在跷跷板上自动找到平衡点,让跷跷板处于平衡状态;3) 在跷跷板的A与C点之间的任意位置放置重物时,小车能够重新取得平衡,并做出平衡指示。图4.1 小车运行示意图第4.2节 智能小车硬件组成根据设计要求,系统的总体设计模块如下图:控制模块显示模块平衡模块电源模块电机驱动调速模块引导模块电动机图4.2 智能小车原理框图1)

32、控制模块: 凌阳单片机SPCE061A单片机2)引导和探测模块:红外发射与接收传感器TCRT50003)电动机:直流电机4)电机驱动模块:达林顿管H型PWM电机驱动电路5)平衡模块:倾角传感器SCA60C6)显示模块:四位二线式串行段式液晶显示器SMS04017)电源:4节1.5伏电池第4.3节 智能小车各模块的选择第4.3.1节 控制模块控制模块采用凌阳单片机SPCE061A,其内部主要包括输入/输出端口、定时器/计数器、数/模转换、模/数转换、串行设备输入输出、通用异步串行接口、低电压监测和复位等部分,且内置在线仿真电路ICE 接口,较高的处理速度使其能够快速的处理复杂的数字信号,SPCE

33、061A的输入输出接口如下表4.1所示:表4.1 输入输出接口(I/0)接口接法IOA口连接到IOB口连接到IOA0IOB0= LED的VCCIOA3 SMS0401的CLK(角度)IOA5IOB5= SMS0401的DI(角度)IOA6IOB6= SMS0401的CLK(时间)IOA7IOB7= SMS0401的DI(时间)IOA8 SPEED1IOA9 SPEED2IOA10 MOTOR1AIOA11IOB11= MOTOR1BIOA12 MOTOR2AIOA13 MOTOR2BIOA14= 后左TCRT5000IOB14注:表示信号由SPCE061A输出。第4.3.2节 电机及驱动模块本

34、设计的电机采用的是直流电机,电机驱动模块采用的是基于单片机中PWM原理和H型驱动电路,脉宽调制PWM输出工作模式,适用于从引脚上输出脉冲宽度随时可调的PWM信号,这种电路工作在管子的饱和截止式下,所以效率高,而且H型电路可以简单的实现转速和方向的控制,电子开关的速度快,稳定性也强。具体电路图如图4.3所示:图4.3 驱动模块电路电机驱动电路工作原理:M1A和M1B控制一个H桥,该H桥输出J4 接左轮电机,所以M1A和M1B控制左侧小车电机的前进和后退;M2A和M2B控制另外一个H桥,该H桥输出J5接右轮电机,所以M2A、M2B 控制右侧小车电机的前进和后退。改变该四路控制信号就可以让小车完成左

35、右、右转、前进、后退、原电机驱动电路:以左轮为例子,M1A 和M1B 控制一个H桥,该H桥输出J4接左轮电机,当M1A信号为高电平,M1B信号为低电平,左轮前转;当M1A信号为低电平,M1B信号为高电平,左轮后转;当M1A和M1B信号均为高电平,左轮停转。右轮的原理也同样如此。改变该四路控制信号就可以让小车完成左右、右转、前进、后退、原地转圈等动作。调速电路:如图4.3所示,以M1电路为例子进行介绍。当J4 断开时,改变三极管Q7基极的电压,即改变SPEED1输入电压,就能改变的电机的转速。我们可以通过DAC输出或PWM来对电机速度进行控制。若不需要变速,则用短接子将J4 和J5 短接。第4.

36、3.3节 引导检测模块引导检测模块采用的是发射式红外发射接收传感器电路。由于采用红外发射管可以大大降低环境光源的影响,所以对外界光线环境基本没有要求。驱动电路如图4.4示:电路工作原理: 当小车在白纸上行驶时,装在车下的红外发射管发射红外线信号,经白纸反射后,被接收管接收,一旦接收管接收到信号,Q1导通,比较器输出为低电平;当智能小车行驶到黑色引导线时,红外线信号被黑色吸收后,Q1截止,比较器输出高电平,从而实现了通过红外线检测信号的功能。将检测到的信号送到单片机I/O口,当I/O口检测到的信号为高电平时,表明红外光被白纸上的黑色引导线吸收了,表明智能小车处在黑色的引导线上;同理,当I/O口检

37、测到的信号为低电平时,表明智能小车行驶在白纸上。红外对管在安装时不能够离地面太近或太远,两者都导致寻迹电路不能够起作用,而且发射管的电阻在200欧以下。图4.4 红外发射与接收传感器电路LM324是四运放集成电路,它采用14脚双列直插塑料封装,它的内部包含四组形式完全相同的运算放大器,除电源共用外,四组运放相互独立。 每一组运算放大器可用图4.5所示来表示:图4.5 LM324运算放大器LM324有5个引脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,“Vo”为输出端。两个信号输入端中,Vi-(-)为反相输入端,表示运放输出端Vo的信号与该输入端的相位相反;Vi+(+

38、)为同相输入端,表示运放输出端Vo的信号与该输入端的相位相同。LM324的引脚排列如下图4.6所示:图4.6 LM324的引脚排列当去掉运放的反馈电阻时,或者说反馈电阻趋于无穷大时(即开环状态),理论上认为运放的开环放大倍数也为无穷大。此时运放便形成一个电压比较器,其输出如不是高电平(V+),就是低电平(V-或接地)。当正输入端电压高于负输入端电压时,运放输出低电平。 第4.3.4节 平衡模块用角度传感器,型号是SCA60C,特点是测量范围是正负90度,5V供电,比例电压输出,模拟0.5 4.5V输出,工作温度范围宽。物理学原理是当物体倾斜时,接触面受到的压力N=G*Cos,为斜面夹角,根据压

39、力可以计算的倾角。通过传感器,可以连续测出一组数据,当相差很小时,也认为是平衡状态。该传感器接法如下图4.8所示,输出为电压信号,由于SPCE061A集成有A/D功能,无须再加硬件电路,使系统更简化。该传感器安装时要保持水平位置,以免测量出现误差。 根据题目要求,平衡的定义指A,B两端与地面的距离差d不大于40mm,根据三角函数公式得,Sin(40/1600),即 1.43,这个角度要在编程时要用到作为标准量。SCA60C引脚定义如下图4.8和表4.2所示:图4.8 SCA60C的引脚表4.2 SCA60C的引脚定义引脚引脚名称连接1SCKData shift clock (Factory o

40、nly)2C1Factory only3MODEMode control imput (Factory only)4GNDNegative supply voltage (Vss)5PGMSelf test input6ST(Factory only)7Vout传感器电压输出8VDD供电第4.3.5节 电源及显示模块小车的硬件电路为4节1.5伏电池电源,节省电池数目,减轻了小车的载重,提高了小车的灵敏度,动力更足。显示模块用的是液晶显示模块SMS0401(如图4.9),具有质量轻,体积小,管脚少,功耗低等优点。SMS0401显示四位带小数点数字,模块工作电压为2.7 5.5V,字高为14.0m

41、m,显示方式为反射式正显示,接口方式为二线式串行接口。图4.9 液晶显示模块SMS04011)接口信号说明:1. VSS: 电源地 2. CLK: 串行移位脉冲输入3. DI: 串行数据输入 4 . VDD: 电源正极第五章 系统的软件设计智能小车的软件部分主要由以下模块构成:初始化模块、前进模块、左转模块、右转模块、倒车模块、寻迹模块、平衡模块、显示模块。第5.1节 小车控制算法1) 前进利用放置于小车车头的三个红外传感器TCRT5000通过探测跷跷板上的黑色引导线,即开始不停地扫描与红外传感器TCRT5000输出连接的单片机I/O口,一旦检测到某个I/O口有信号,即进入判断处理程序,先确定

42、车头3个红外传感器TCRT5000中的哪一个探测到了黑线,当小车一旦偏离主驶路线,如果小车左侧检测到黑线,车身向右偏出,此时应使小车向左转;如果车身右侧检测到黑线,小车向左偏出了轨迹,则应使小车向右转。在经过了方向调整后,小车再继续沿着黑色引导线平稳行驶,并继续探测黑线重复上述动作。2) 后退利用放置于小车车尾的三个红外传感器TCRT5000通过探测跷跷板上的黑色引导线,即开始不停地扫描与红外传感器的TCRT5000输出连接的单片机I/O口,一旦检测到某个I/O口有信号,即进入判断处理程序,先确定车尾3个红外传感器TCRT5000中的哪一个探测到了黑线,当小车一旦偏离主驶路线,如果小车左侧检测

43、到黑线,车身向右偏出,此时应使小车向左转;如果车身右侧检测到黑线,小车向左偏出了轨迹,则应使小车向右转。在经过了方向调整后,小车再继续沿着黑色引导线平稳行驶,并继续探测黑线重复上述动作。 3) 左转首先左转一定时间(只要使车头中间TCRT5000偏离黑线,不能再次碰到黑线),然后车头检测中间TCRT5000是否再次碰到黑线,若碰到则停,否则继续左传,直至碰到。4) 右转首先右转一定时间(只要使车尾中间TCRT5000偏离黑线,不能再次碰到黑线),然后检测车尾中间TCRT5000是否再次碰到黑线,若碰到则停,否则继续左传,直至碰到。5) 倒车当小车到达B点时(如图4.1),要让小车精确的调头。采

44、用定时让小车先后退,再右拐,然后判断小车的左轮处的探头是否碰到黑线,若碰到,则小车左拐,小车就可以直线行驶。6) 寻迹引导线的检测算法为减小误判率,提高系统的稳定性,采用抗干扰查询扫描的方法,具体算法如下图5.1所示。设置端口等待根据信号控制小车YesNoNoYes检测到信号检测M次信号图5.1 引导线的检测算法当单片机接收到信号,连续多次查询端口的信号,只有当多次检测到是同一信号才认为是确实检测到引导线,否则就是干扰。小车的寻迹流程如下图5.2所示:寻迹循环右拐直走左拐YesYesYes左边探测到黑线中间边探测到黑线右边探测到黑线图5.2 小车的寻迹流程小车在行驶中,当左边的红外传感器探测到黑线的时候,小车会自动右拐;当中间的红外传感器探测到黑线的时候,小车会直走;当右边的红外传感器探测到黑线时,小车会向左拐。7) 平衡检测本设计要想跷跷板在不同条件下实现平衡,就要求电机的速度不应过大,所以采用合适的电机,本设计采用的是50转每分钟的直流电机。为了提高小车检测平衡点的效率,本设计采用一种微调的算法,在跷跷板的中间位置贴上一块黑胶布作为标记,当单片机检测到标记时,进入微调,小车每次冲一段路程就停下来,进行A/D转换,并记录A/D转换值,然后判断转换值是否满足条件,即判断每次采样的值是否相等,假设设定采样数,把测量值和标准值作比较,若测量值小于标准值

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号