1、河南理工大学毕业设计(论文)说明书智能小车系统设计大学毕业设计 摘要 随着科学的发展和科技的进步,人们在完成一件事情的时候不单单只关注结果而且也越来越多的考虑过程的影响,比如说对环境的影响还有方便程度等,而且对智能化的要求也越来越高。两轮智能车不仅节省了空间而且节省了能源,为人们未来的生活带来了不少好处。 本系统以MC9S12XS128MAA单片机为核心,其中还包括倾角检测模块、速度检测模块、电源模块、电机驱动模块、路径检测模块、拨码盘组成。电源模块把7.2V电压转换为5V、3.3V电压,速度检测模块检测电机的速度,倾角检测模块检测智能车的倾角从而为控制智能车的直立提供信息,拨码盘可对电机的速
2、度进行直接设定。本系统有两个电机驱动,一个电机驱动一个轮子,通过电机转速的不同实现方向控制和直立控制。本智能车可以沿着特殊的路径进行智力的行走。 本系统显示了高度的智能化,可以为无人驾驶汽车的后续研究提供经验,方便人们的生活和工作。关键词:MC9S12XS128MAA单片机、传感器、PID算法 Abstract With the development of science, When finish one thing people dont just focus on results, but also more and more considering the influence of t
3、he process .For example the influence of environment and the convenience of life. And people have high requirement of intelligent. Two rounds of smart car not only saves space and save the energy. Make peoples life more and more convenience and comfortable. This system with MC9S12XS128MAA single-chi
4、p microcomputer as the core.This system aslo contains Angle detection module、Speed detection 、modulepower module driver module of electric motor 、Path detection module. Dial the encoder. The angle can offer information to make the smart car upright. Power supply module convert voltage of 7.2 V to 5
5、V, 3.3 V voltage. Speed detection module to detect the speed of the motor. Dial the encoder can be set speed of the motor .This system has two motor ,one motor drive one wheel Through the speed of the motor can make the smart car upright. The smart car can walk along a path of special intelligence.
6、This system shows the highly intelligent.Make peoples life more convenience.At he same time can save a lot of time to do other things.Keyword: MC9S12XS128MAA、sensor、PID arithmetic2 第一章 引言1.1两轮自平衡小车研究的意义 两轮自平衡小车的研究是在移动机器人研究的基础上发展起来的。移动机器人随着科学技术的发展而不断进步,现在机器人的发展水平可以代表一个国家的综合实力。两轮自平衡小车也是移动机器人的一种。它是自动控制
7、理论与技术和动力学理论相结合的一个研究性课题,可以感知动态决策的能力,两轮自平衡智能车能够灵活的运动而且能够保持平衡的行走,两轮智能车的结构特殊能够适应地形的变化,能在复杂的环境下进行工作。两轮智能车还有其他的一些优点比如:1、体积小,便于存储,节省空间而且灵活方便。2、功率小,使电池能长时间的供电,节省资源。3、转弯半径极小,科技含量高。 由于两轮自平衡小车有以上各种优点所以两轮智能小车会在军用和民用领域有着广泛的应用前景。因为它既有理论研究意义又有实用价值,所以两轮自平衡小车的研究在最近十年引起了大量机器人技术实验室的广泛关注。1.2两轮自平衡小车的研究现状 在两轮自平衡机器人的研究领域,
8、美国、日本和瑞士等国家研究得较多,而且己经达到了一个很高的水平,国内的研究相对还比较少。以下分别介绍国内外一些主要的两轮自平衡机器人。1.2.1国外研究现状 在两轮自平衡小车的研究上,国外的专家和爱好者们取得了一系列的成果,以下介绍国外几个比较先进的两轮自平衡小车: 由美国科学家David P. Anderson2研发的两轮自平衡机器人Nbot基于倒立摆的小型自平衡两轮车模型,是由HCllrobotcontr0ller进行控制的。 由瑞士联邦技术学院工业电子实验室的研究人员研制的名为JOE是由DSP芯片进行控制的。它由车架上方所附的重物模拟实际车中的驾驶者。 研究人员通过陀螺仪和光电编码器测量
9、的数据,用线性状态反馈控制器来控制整个系统的平衡稳定。由美国发明家 Dean Kamen开发的SEGWAY HT两轮个人交通工具是一个更为实用、成熟以及商业化的两轮运载车的版本。它可以承载站立在平台上的驾驶者,并在保持平衡的状态下在多种路面上进行便捷的运动,它使用了五个陀螺仪和一个收集其他角度传感器数据的集成器来保持自身的直立状态。SEGway是源于美国的医疗器材生厂商强生公司所开发的一种自动平衡式动力轮椅iBOT,这个设计是为了给残疾人提供服务,通过它可以实现自由上下楼梯,SEGWAY踏板位置低于两轮轴心的连线,系统有一定的自稳定性能,从而使控制的难度有所下降。其运动特性类似荡秋千,总是自然
10、的向铅直的平衡位置回归。 2004年,Homebrew机器人俱乐部的Ted Larson和 Bob Allen制作了两轮自平衡机器人Bender,并在机器人上安装了一个摄像头使它也成为一款自主移动机器人。它由三层板构成,支架做得很高,使重心竖直靠上。但其平衡表现很出色,获得了第一届年度Robolymipics Best of Show类金。1.2.2国内的研究现状 我国在两轮自平衡小车的研究方面也做出了很大的贡献,同时也取得了很大的成就。 1)西安电子科技大学研究出了自平衡两轮机器人,它是一种两轮式左右并布置结构的自平衡系统。它利用伺服放大器ADS作为控制器,选择两个Maxson电机作为执行元
11、件,采用自适应神经模糊控制器对小车这一非线性对象进行大范围控制,从而实现系统的自平衡。 2)哈尔滨工业大学也有类似的双轮直立自平衡机器人,该系统采用DSP作为控制核心。车体倾斜角度检测采用加速度传感器和陀螺仪。利用PWM技术动态控制两台直流电机的转速。基于这些完备而可靠的硬件设计,使用了一套独特的软件算法,实现了该系统的平衡控制。 3)佛山市顺德区合动智能装备有限公司已经自主研发出单轮、两轮自平衡车,包含采用TI DSP的高性能自平衡小车直流无刷电机驱动器和自平衡小车控制器。 4)2004年,河南科技大学研制的平衡双轮电动机样机,其控制器是C8051F020单片机,选取陀螺仪和倾角传感器检测转
12、动角速率和倾角,通过控制算法得到的电压信号经D/A然后驱动电机。 5)2005年,北京邮电大学制作了自平衡双轮移动机器人,车体重心是在机轴线下方,其机械结构是轮子上装有球形外壳,开始用遥控器控制运动车体会摆动。在控制系统升级后,用陀螺仪来检测小车姿态,经过控制算法来实现小车的自平衡。1.2.3国内外研究分析总结 通过上边对国内外对两轮自平衡小车研究的表述可知,一般两轮自平衡小车研究基础大多是倒立摆模型,而且研究最多的是有质心的小车,通过质心可以更好的控制小车的直立。 一般都是通过加速度传感器,陀螺仪,加速度计等测量,通过把这些数据再次融合来得到小车的姿态。同时还要有更精密的算法来保障系统有良好
13、的性能。当前对两轮自平衡机器人的控制方法大致可分为:经典控制方法、现代控制方法、智能控制方法。而本文主要是通过PID算法来控制小车。 第二章 总体方案设计 赛车的性能主要由机械结构、硬件和软件三大部分决定,机械结构是自平衡小车能够运动的基础,软件和硬件是小车能够实现功能的重要部分。所以本自能小车从机械结构、硬件、软件三个方面来设计。 系统整体方案设计流程图 系统整体以MC9S12XS128MAA单片机为中心,结合电源模块、电机驱动模块、倾角检测模块、速度检测模块、路径检测模块等组合而成。要求小车能够直立的行走。 电源模块由固定的7.2V电源利用LM2940低压差线性稳压芯器件产生5V电源,利用
14、ASM1117低压差调节器产生3.3V电源。7、2V、5V、3.3V电源为整个系统的供电电源。电机速度可以用电机速度传感器中的光电编码器输出的数字脉冲信号经过8位的脉冲计算器得到然后运用PID算法得到速度控制的输出量从而实现小车的速度控制;电机的倾角可以根据倾角检测模块中的加速度传感器和陀螺仪得到车模的倾角和角加速度值再使用PID算法得到小车的倾斜角和角速度从而实现小车的直立控制,为了得到更加精确的角度信息需要对角度差进行卡尔曼滤波,避免波动噪声的影响;运用PID算法可以使曝光时间随着光线的不同而自适应的改变,曝光采用中断的形式进行。智能车的方向控制、速度控制、倾角控制归根到底都是对小车电机速
15、度的控制,通过调整电机的转速来实现小车的直立和运动。本系统还要求小车能够沿着固定的路线运动,这就要求小车具有检测路径的功能,利用CCD输出的电压采用二值化提取黑线。本系统还可以利用拨码盘将开关变量直接接入单片机从而调节小车的速度,能够更好更方便的控制小车。2.1 机械方面的总体设计 智能车的机械调整作为最基础的部分,车模的机械调整主要分为:线性 CCD 的安装;编码器的安装;电路板的固定;陀螺仪和加速度计的安装;电池的安装。2.2 硬件方面的总体设计 (1) 主控使用112 引脚的 MC9S12XS128 芯片,因为其引脚 IO多,可以控制的外围较多的外围设备; (2)整个系统由7.2V、3、
16、3V、5V三种直流电供电。其中7.2V电源是由直接提供的可充电电池供电,5v、3.3V是通过7.2V电池来实现的。 (3)电机驱动模块由4片BTS7970两两组成了一个H桥,行成两个驱动桥,驱动左右电机。 (4)倾角检测模块由加速度传感器和陀螺仪等组成。 (5)速度检测模块由电机传感器欧姆龙编码器实现。 (6)陆经检测模块通过线性CCD采集信号经放大电路后检测路径的状况。 (7)无线检测模块由Nrf24L01无线模块和PT2272模块构成,为了了解车模的运行状况,在调试阶段使用来保护小车。2.3 软件方面的总体设计 (1) 对各个模块进行初始化; (2) 将整个程序分为每 5ms 为一个周期循
17、环执行,其中 5ms 中分为每 1ms 中执行不同的任务; (3) 在一个周期中的 1ms 为对编码器的脉冲进行计数以及对陀螺仪和加速度计的模拟量进行采集; (4) 在一个周期中的 2ms 为对采集的角度进行融合并进行直立控制; (5) 在一个周期中的 3ms 为对速度进行闭环控制; (6) 在一个周期中的 4ms 为采集 CCD128 个像素点的数值; (7) 在一个周期中的 5ms 为对车模的方向进行控制。 第三章 系统硬件设计3.1 单片机的最小系统 单片机的最小系统是整个系统的核心。单片机112引脚的MC9S12XS128MAA,本单片机处理的速度较快,能够很好地完成系统各个模块的运算
18、。故单片机的最小系统版使用MC9S12XS128MAA做核心。3.1.1 MC9S12XS128性能概述 MC9S12XS128是16位单片机,由16位中央处理单元(CPU12X)、128KB程序Flash(P-lash)、8KB RAM、8KB数据Flash(D-lash)组成片内存储器。主要功能模块包括: 内部存储器、 内部PLL锁相环模块、 2个异步串口通讯 、SCI 1个串行外设接口 、SPI 和MSCAN 模块 。1个8通道输入/输出比较定时器模块 TIM 周期中断定时器模块 PIT 16通道A/D转换模块 ADC 1个8通道脉冲宽度调制模块 、PWM 输入/输出数字I/O口。3.1
19、.2输入/输出数字I/O口 MC9S12XS系列具有丰富的输入/输出端口资源,同时集成了多种功能模块,端口包括PORTA、PORTB、PORTE、PORTK、PORTT、PORTS、PORTM、PORTP、PORTH、PORTJ和PORTAD共11个端口。端口引脚大多为复用口,往往具有多重功能,所有端口都具有通用I/O口功能。PORTA、PORTB、PORTK为通用I/O口 、PORTE中的IRO和XIRQ引脚可作为外部中断输入、 PORTT集成了TIM模块功能、 PORTS集成了SCI和SPI模块功能 、PORTM集成了CAN总线模块 、PORTP集成了PWM模块功能、 PORTH、PORT
20、J可作为外部中断输入口 、PORTAD集成了ATD模块功能 。在 MC9S12XS128 单片机中有些特殊功能可定义为多个引脚,如 PWM、SCI1 模块。对于这些具有相同功能的引脚定义,由端口 T 路径寄存器 PTTRR和模块路径寄存器MODDR确定。3.1.3输入输出端口功能和配置 通用 I/O 通过配置相应寄存器位,可以设置为输入/输出端口、驱动能力、内置上拉/下拉电阻使用、中断输入方式等多种功能。 1.PORTA 为通用 I/O 口, 共 8 个,作为通用数字 I/O 口使用,未集成特殊功 能.主要配置寄存器有:数据寄存器 PORTA、数据方向寄存 DDRA、上拉电阻控制寄存器 PUC
21、R 和驱动控制寄存器 RDR。 2.PORTB 为通用数字 I/O 口, 共 8 个。其使用与 PORTA 基本一样。主要配置寄存器有:数据寄存器 PORTB、数据方向寄存 DDRB。上拉电阻控制寄存器 PUCR 和驱动控制寄存器 RDR 与 PORTA 、PORTB、PORTE、PORTK 共用。 3.PORTE 可作为通用数字 I/O 口使用, 80 封装也有共 8 个引脚。其使用与PORTA 基本一样。但是 PORTE 中集成了外部中断输入功能,其 PE0/XIRQ 和 PE1/IRO 引脚可作为外部中断输入。并且这两位只能作为输入口使用。主要配置寄存器有:数据寄存器 PORTE、数据方
22、向寄存 DDRE。 4.PORTK 为通用数字 I/O 口。但从前表可以看出 112 封装单片机 PORTK 口有 7 个,80 封装和 64 封装没有 PORTK 口。其使用与 PORTA 基本一样。主要配置寄存器有:数据寄存器 PORTK、数据方向寄存 DDRK。 5. PORTH:PORTH 可作为通用数字 I/O 口使用, 也集成了外部中断输入功能。但 80封装没有 PORTH 口,在此不作详细描述。6. PORTT 、PORTS 、PORTM 、PORTP 、PORTH 、PORTJ:此 6 个端口的寄存器名称和功能基本上是一样的。主要配置寄存器有:数据寄存器 PTx、输入寄存器 P
23、TIx、数据方向寄存 DDRx、驱动控制寄存器 RDRx、上拉/下拉使能寄存器 PERx 和上拉/下拉选择寄存器 PPSx 共 6 个寄存器。因 PORTP 、PORTH 、PORTJ 三个端口具有外部中断功能,增加了中断使能寄存器 PIEx 和中断标志寄存器 PIFx 两个寄存器。3.1.4电源相关引脚MC9S12XS128 单片机的电源引脚汇总参见下表引脚名称额定电压描述VDDR5.0外部电源,为内部调压器供电VSSR0VDDX1、VDDX25.0外部电源和地,为I/O口供电VSSX2、VSSX10/VDDA5.0VDDA 5.0 A/D 转换器工作电源和地,为内部电压调节器提供参考电源,
24、允许单独为 A/D 提供工作电压VSSA0VRH5.0A/D转换器参考电源和地VRL0VDD1.8内部电源和地,由内部调节器为内核供电VSS1、VSS2、VSS30VDDF2.8内部电源和地,由内部调节器为内部NVM供电VDDPLL1.8为锁相环(PLL)提供工作电源和地,由内部电压调节器产生。允许单独为 PLL 提供工作电压VSSPLL03.2电源模块 要求智能车只能使用7.2V20000mAh Ni-Cd电池供电,而整个系统中电源还需要为其他模块供电,而其他模块所需要的电压不全是7.2V电压,所以需要对7.2V固定的电池电源进行处理得到为其他模块供电的电压。而且整个系统中电能的质量对于整个
25、系统的稳定性以及整体功能的实现非常重要,因此电源模块的构建非常重要。 本系统各个模块所需要的供电电压为7.2V、5V、3.3V。3.2.1 5V电源的实现 5V电源实现需要稳压芯片,一般情况下经常采用三端稳压芯片。对电源的质量要求不太高的场合经常使用LM7805,用 LM7805稳压芯片产生5V电压,优点是电路简单,电压输出纹波小,电压的质量较高但是其缺点是功耗大、效率低。对于驱动电机的电路不太实用。 单片机自身的功耗小、但是对电源的要求高,经过对比使用LM2940低压差线性稳压芯片,LM2940输出电流为1A而且输出电压的纹波较小、输出功率大。 稳压5V电路原理图系统中还需要有3.3V的电源
26、,所以需要利用已有的电压生成。+3.3V 电源需要用 LM1117 芯片实现。LM1117 是一个低压差电压调节器系列。其压差在 1.2V 输出负载电流为 800mA 时为 1.2V。它与国家半导体的工业标准器件 LM317 有相同的管脚排列。LM1117 有可调电压的版本。通过 2 个外部电阻可实现 1.2513.8V 输出电压范围。另外还有 5 个固定电压输出1.8V、2.5V、2.85V、3.3V 和 5V 的型号。 LM1117 提供电流限制和热保护。电路包含1 个齐纳调节的带隙参考电压以确保输出电压的精度在1%以内。具体电源模块原理图如图所示: 稳压3.3V电路原理图 3.3电机驱动
27、模块电机的驱动可以使用专用的电机驱动芯片、达林顿管驱动、场效应管驱动。方案一:单独使用一片33886 驱动能力强,有过流保护功能,状态监测功能,通过PWM调节可实现正反转。电机驱动芯片MC33886,内部具有过流保护电路,刹车效应好,接口简单易用,虽然能够提供比较大的驱动电流,但对于小车骤然加速时所需的电流还是不够的,发热量也比较大。优点:应用电路简单,实现方便。缺点:芯片驱动电流小,内阻大,可能存在发热严重的问题,不好加散热片。方案二:采用两片或者四片MC33886并联 几片并联的,但芯片很热,不好加散热片,但归根结蒂还是芯片驱动电流小,内阻大所致。也可以采用两片MC33886并联,但容易出
28、现一个发烫另一个不发烫的情况。优点:可以增大驱动能力,减少单片机发热量。缺点:存在均流不佳的问题,有碍提高整个装置的输出,甚至造成器件和装置的损害。方案三:33886 + 场效应管驱动 采用MC33886或其他驱动芯片与场效应管设计驱动。优点:驱动电流理论上能达到74A,解决了33886的散热问题, 充分发挥33886的性能,场效应管也不用加散热片,使小车发挥更好的加速性能。缺点:电路复杂。方案四:H桥驱动 半桥集成芯片BTS7960可以达到63A的电流,而且内阻较小,效率非常高,其中逻辑电路已经集成其中,使得驱动控制十分简单。根据以上各个方案我们选择方案四作为电机的驱动方案。BTS7970
29、应用非常简单,只需要向芯片第2 引脚输入PWM 波就能控制。当系统中只需要单向控制时,只需要让电机一端接地,另一端接BTS7970 第4 引脚它是一款针对电机驱动应用的完全集成的大电流半桥芯片。它是 NovalithICTM 系列的成员之一,它的一个封装中集成了一个P 通道场效应管在上桥臂和一个N 通道场效应管在下桥臂以及一个控制集成电路,P型管在栅极为低电平时导通,N型管在栅极为高电平时导通。由于集成在内驱动集成电路具有逻辑电平输入,与微控制器的连接变得非常简单,且该驱动集成电路还具有电流检测诊断、转换率调整、死区时间生成以及过热、过压、欠压、过流和短路保护。BTS7970 在较小的电路板空
30、间占用的情况下为大电流保护的 PWM 电机驱动提供了一种成本优化的解决方案。如果需要电机双向旋转控制,则需要另一片BTS7970 共同组成全桥。为了能获得更大的输出电流,该驱动模块使用4片BTS7970组成了一个全桥。本小车车模是双电机结构,因此我们用的驱动板共用 4 片 BTS7970,两两组成了一个 H 桥,共两个驱动桥,分别驱动左右电机。此芯片开关频率可以达到 25kHZ,可以很好地解决电机噪声大和发热的问题、同时驱动能力有了明显的提高,相应速度快。但是,电机变速时会使电源电压下降 10%左右,控制器等其他电路容易产生掉电危险,从而使整个电路系统瘫痪。为了避免意外的发生在驱动芯片与单片机
31、系统之间增加了隔离保护芯片74LS244。74LS244是单向三态数据缓冲器集成8路三态门,主要用于三态输出,作为地址驱动器、时钟驱动器、总线驱动器和定时发送器。高电平输出电流-15mA低电平输出电流24mA。每组有一个控制端G由控制端的高或低电平决定该组数据被接通还是断开。 BTS7970 典型应用电路桥臂上的 4 个场效应管相当于四个开关,P 型管在栅极为低电平时导通,高电平时关闭;N 型管在栅极为高电平时导通,低电平时关闭。场效应管是电压控制型元件,栅极通过的电流几乎为“零“。控制臂 1 置高电平(U=VCC)、控制臂 2 置低电平(U=0)时,Q1、Q4 关闭,Q2、Q3 导通,电机左
32、端低电平,右端高电平,所以电流沿箭头方向流动。设为电机正转,其图见图1。控制臂 1 置低电平、控制臂 2 置高电平时,Q2、Q3 关闭,Q1、Q4 导通,电机左端高电平,右端低电平,所以电流沿箭头方向流动。设为电机反转,其图见图2. 3.4倾角检测模块 倾角检测模块由倾角传感器组成。其中倾角传感器由速度传感器和陀螺仪组成。3.4.1加速度传感器 加速度传感器是一种能够测量加速力的电子设备。加速力就是当物体在加速过程中作用在物体上的力,就好比地球引力,也就是重力。加速力可以是个常量,比如g,也可以是变量。本系统加速度传感器。该系列的传感器采用了半导体表面微机械加工和集成电路技术,传感器体积小重量
33、轻。加速度角度传感器是通过测量由于重力引起的加速度计算出器件相对于某一平面的倾斜角度。角度传感器反应灵敏、输出数据准确。利用加速度传感器进行角度测量分为3种:单轴倾角测量、双轴倾角测量和三轴倾角测量。本次设计中只需要知道小车与竖直方向的夹角所以选用单轴倾角测量。只要测量其中一个方向上的加速度值,就可以计算出车模的倾角。 比如使用 Z 轴方向上的加速度信号。车模直立时,固定加速度器在 Z 轴水平方向,此时输出信号为零偏电压信号。当车模发生倾斜时,重力加速度 g 便会在 Z 轴方向形成加速度分量,从而引起该轴输出电压变化。 车模运动引起加速度信号变化4.4.2陀螺仪 陀螺仪可以用来测量物体倾斜过程
34、中产生的角加速度,本系统使用ENC03系列的加速度传感器。该产品是一种应用科氏力原理的角加速度传感器,在不停自传的同时,还绕着另一个固定的转轴不停的旋转,内环说我选进角正比于弹簧的变形量。它输出一个和角速度成正比的模拟电压信号。体它利用了旋转坐标系中的物体会受到科里奥利力的原理,在器件中利用压电陶瓷做成振动单元。当旋转器件时会改变振动频率从而反映出物体旋转的角速度。积和重量都非常的小,响应快,驱动电压、功耗低可以测量包含旋转的各种运动,供电电压2.75.25。安装时需要注意:不要把传感器安装在易变形的地方,不要把传感器安装在温度变化剧烈的地方,不要再剧烈冲击和振动的环境下使用该传感器,安装时芯
35、片的极性一定要正确,否则会烧毁芯片,传感器的敏感方向在安装时要和测量方向一致。车模的倾角发生改变其输出电压会随角速度同比发生变化,将模拟信号通过A/D转化,然后输入单片机内就可以采集到角速度传感器产生的信号。陀螺仪输出的是角速度值,在时间上的积分是角度值,若角速度信号存在微小的偏差和漂移,经过积分运算后变化成积累误差,这个误差会随着时间的延长逐步增加,可通过和加速度传感器获得的角度信息进行融合来进行校正。 角速度传感器参考放大电路图由于陀螺仪输出的是车模的角速度,不会受到车体运动的影响,因此该信号中噪声很小。模块原理图如下 加速度计和陀螺仪原理图加速度计在工作工程中存在噪声,陀螺仪存在温度漂移
36、是的测量值在某种程度上存在误差采用卡尔曼滤波器对测量值进行滤波处理得到角度值和角速度值。4.5速度检测模块电机速度传感器使用欧姆龙编码器。由一个中心有轴的光电码盘,其上有环形通、暗的刻线,有光电发射和接收器件读取,获得四组正弦波信号组合成A、B、C、D每个正弦波相差90度相位差(相对于一个周波为360度),将C、D信号反向,叠加在A、B两相上,可增强稳定信号;另每转输出一个Z相脉冲以代表零位参考位。 由于A、B两相相差90度,可通过比较A相在前还是B相在前,以判别编码器的正转与反转,通过零位脉冲,可获得编码器的零位参考位。 编码器码盘的材料有玻璃、金属、塑料,玻璃码盘是在玻璃上沉积很薄的刻线,
37、其热稳定性好,精度高,金属码盘直接以通和不通刻线,不易碎,但由于金属有一定的厚度,精度就有限制,其热稳定性就要比玻璃的差一个数量级,塑料码盘是经济型的,其成本低,但精度、热稳定性、寿命均要差一些。 分辨率编码器以每旋转360度提供多少的通或暗刻线称为分辨率,也称解析分度、或直接称多少线,一般在每转分度510000线,我们使用的是157线。其特点是易于接线的连接装置型。其内部原理图如下所示:Pin#Color of Lead WireDescription1234BlackBrownRedOrangeAnodeCathodeCollectorEmitter 编码器内部原理图由于光电管器件直接输出
38、数字脉冲信号,因此可以直接将这些脉冲信号连接到单片机的脉冲计数器端口。但是 MC9S12XS128 的内部只有一个脉冲计数器,所以必须要外接一个外部的脉冲计数器,将 CD4520 级联后可以得到 8 位的脉冲计数器,如图 4.9 所示: CD4520的8位脉冲计数器电路图4.6路径检测模块路径检测模块是智能车系统信号的输入模块主要检测的赛道对道路偏离量,这些信息是小车沿赛道运行的信息基础获得更多、更远、更精确的塞到信息是提高车模运行速度的关键。所以,路径检测的好坏直接关系到最终性能的优劣。对于小车路径信息的采集的方式如下所示:方案一:红外传感器的检测方式,优点:电路设计相对简单、检测速度信息快
39、、调试简单、成本低。缺点:道路参数检测精度低、道路参数检测种类少、传感器的个数较多、检测距离前瞻较短、耗电量较大。方案二:摄像头检测方法,优点:检测前瞻距离大、检测范围宽、检测道路参数较多。缺点:电路设计复杂、软件计算量大、监测信息更新速度快。综上所述每个方案都有自己的优缺点,综合考虑摄像头检测方法比较好,它能够使检测到的道路信息更加的精确,有利于小车的速度提高。其中摄像头检测方案中可任意用线阵CCD也可以用面阵CCD。线性 CCD 通常将 CCD 内部电极分成数组,每组称为一相,并施加同样的时钟脉冲。所需相数由 CCD 芯片内部结构决定,结构相异的 CCD可满足不同场合的使用要求。线阵 CC
40、D 有单沟道和双沟道之分,其光敏区是MOS 电容或光敏二极管结构,生产工艺相对较简单。它由光敏去阵列与移位寄存器扫描电路组成,特点是处理信息速度快,外围电路简单,易实现实时控制。可以同时储存一行电视信号.由于其单排感光单元的数目可以做得很多,在同等测量精度的前提下,其测量范围可以做的较大,并且由于线阵CCD实时传输光电变换信号和自扫描速度快、频率响应高,能够实现动态测量,并能在低照度下工作。面阵CCD量。面阵CCD的优点是可以获取二维图像信息,测量图像直观。缺点是像元总数多,而每行的像元数一般较线阵少,帧幅率受到限制。,线阵CCD获取图像的方案在以下几方面仍有其特有的优势:线阵CCD加上扫描机
41、构及位置反馈环节,其成本仍然大大低于同等面积、同等分辨率的面阵CCD;扫描行的坐标由光栅提供,高精度的光栅尺的示值精度可高于面阵CCD像元间距的制造精度,从这个意义上讲,线阵CCD获取的图像在扫描方向上的精度可高于面阵CCD图像。本系统要求对数据的处理速度较快,而且精度要求较高,所以本系统采用TSL1401线性CCD来采集路面信息。4.6.1环境光影响问题试验表明 TSL1401 线性 CCD 的输出信号和环境光线密切相关,在自然光条件比晚上灯光下 AO 引脚输出电压值高出很多,正对着光线比背着光线输出电压高,白炽灯光下比日光灯下输出电压高。因此,同一参数(曝光时间、镜头光圈)难以适应各种环境
42、,在光线较弱环境下的参数在强光下会出现输出饱和,在较强光线下调节好的参数在弱光下输出电压过低,甚至处于截止状态。在智能车应用中,白天自然光环境和晚上灯光环境、正对光和背光、不同的比赛场地之间都不能采用相同的曝光参数。与输出电压密切相关的参数是曝光量,曝光量取决于 CCD 模块所采用的镜头光圈大小和程序所控制的曝光时间。智能车为适应各种运行环境,必须实时感知环境,并根据环境闭环调节曝光量,使得在不同环境中曝光量都处于一个合理的范围,这样才能保证在不同环境中CCD 输出电压在合理范围,以利于算法提取黑线信息。镜头相关参数一旦选定在智能车运行难以改变,曝光时间比较容易通过程序控制,因此比较容易实现的
43、调整曝光量方法是通过软件调整曝光时间。4.6.2输出信号放大根据上一节所述,可以通过调整曝光时间来适应各种环境,在弱光环境增大曝光时间,在强光下减小曝光时间。但是曝光时间不能无限增大的,因为增大曝光时间势必降低采样率(每秒采样次数)采样率低控制周期就长,智能车反应就慢。根据历届摄像头车参赛经验,1 米的前瞻,3.5m/s 的速度情况下,控制周期不得高于 20ms(采样率不得低于 50Hz),否则智能车转向机构反应再快也无法很好跟随赛道而冲出赛道。控制周期不高于 20ms 就意味着曝光时间不能超过 20ms。试验时,我们将 TSL1401 线性 CCD 曝光时间调整到 20ms(采用周期 20m
44、s),分别在强光、弱光、灯光不同环境进行采用,采样数据表明环境光线较弱时 CCD 输出信号较低,以致赛道黑线信息不够明显,晚上日光灯环境下输出信号电压值更低,几乎接近 0,根本无法辨别赛道信息!由于智能车制作和调试很大部分时间都是在晚上,因此必须在不降低采样率的情况下,增大晚上弱光环境下线性 CCD 的输出电压。要增大输出电压,简单有效的方法就是放大输出信号,我们可以采用运放来放大 AO 输出信号。实践表明增大运放能非常有效的解决弱光时输出电压低问题,在晚上环境同样能达到 50Hz 的采样率,这是无运放的线性 CCD 无法达到的。为了能保证输出电压在合理范围(不饱和、不截止、能分辨赛道黑线),
45、需要根据选定的镜头确定运放放大倍数。以下是线性 CCD 模块(镜头为无畸变镜头)中的运放电路图: 其中运放放大倍数 A = 1+R5/R4,此电路中 A = 11,也就是对 TSL1401 的AO 信号进行 11 倍放大。由于增加了运放,白天环境下的采样率可以调节到更高,甚至可以达到 100Hz。增加了运放也会带来一个问题,就是在全黑的环境(例如盖上镜头盖)下线性 CCD 的输出已经不再接近 0V,这里我们称全黑的环境对应的电压为暗电压,设计的 CCD 模块暗电压是 1V 左右。其实暗电压完全不影响上层软件提取赛道黑线,我们可以把这个暗电压当做信号中的直流分量,将采集的每个像素点的电压减去暗电
46、压就可以了。4.7 CD4520模块在速度检测模块需要8位脉冲计数器计光电器件直接输出的数字脉冲信号。但是但是 MC9S12XS128 的内部只有一个脉冲计数器,所以必须要外接一个外部的脉冲计数器,将 CD4520 级联后可以得到 8 位的脉冲计数器。CD4520 为二进制加计数器,由两个相同的内同步 4 级计数器构成。计数器级为 D 型触发器,具有内部可交换 CP 和 EN 线,用于在时钟上升沿或下降沿加计数。在单个单元运算中,EN 输入保持高电平,且在 CP 上升沿进位。CR 线为高电平时,计数器清零。计数器在脉动模式可级联,通过将 Q3 连接至下计数器的 EN 输入端可实现级联,同时后者的 CP 输入保持低电平。测速信号利用一片 CD4520 计数器芯片,将编码器脉冲累加,单片机通过一组 8 位 I/O口定时读取 CD4520 内累计的数据,读取后将 CD4520 清零,准备下次计数。 引脚功能图引脚符号功能1、9CLOCK时钟输入端7、15RESET消除端2、10ENABLE计数允许控制端3、4、5、6Q1AQ4A计数输出端11、12、13、14Q1BQ4B计数输出端8 VSS地