寻迹小车智能控制系统的设计方案_第1页
寻迹小车智能控制系统的设计方案_第2页
寻迹小车智能控制系统的设计方案_第3页
寻迹小车智能控制系统的设计方案_第4页
寻迹小车智能控制系统的设计方案_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、寻迹小车智能控制系统的设计方案 1 绪 论 进入二十一世纪,随着计算机技术和科学技术的不断进步,机器人技术较以往已经 有了突飞猛进的提高,智能循迹小车即带有视觉和触觉的小车就是其中的典型代表。 1.1 智能循迹小车概述 智能循迹小车又被称为 Automated Guided Vehicle,简称AGV是二十世纪五十年 代研发出来的新型智能搬运机器人。智能循迹小车是指装备如电磁,光学或其他自动导 引装置,可以沿设定的引导路径行驶,安全的运输车。工业应用中采用充电蓄电池为主 要的动力来源,可通过电脑程序来控制其选择运动轨迹以及其它动作,也可把电磁轨道 黏贴在地板上来确定其行进路线, 无人搬运车通过

2、电磁轨道所带来的讯息进行移动与动 作,无需驾驶员操作,将货物或物料自动从起始点运送到目的地。 AGV的另一个特点是高度自动化和高智能化,可以根据仓储货位要求、生产工艺流 程等改变而灵活改变行驶路径, 而且改变运行路径的费用与传统的输送带和传送线相比 非常低廉。AGV小车一般配有装卸机构,可与其它物流设备自动接口,实现货物装卸与 搬运的全自动化过程。此外,AGV小车依靠蓄电池提供动力,还有清洁生产、运行过程 中无噪音、无污染的特点,可用在工作环境清洁的地方。 1.1.1 循迹小车的发展历程回顾 随着社会的不断发展,科学技术水平的不断提高,人们希望创造出一种来代替人来 做一些非常危险, 或者要求精

3、度很高等其他事情的工具, 于是就诞生了机器人这门学科。 世界上诞生第一台机器人诞生于 1959年,至今已有 50 多年的历史,机器人技术也取得 了飞速的发展和进步,现已发展成一门包含:机械、电子、计算机、自动控制、信号处 理,传感器等多学科为一体的性尖端技术。循迹小车共历了三代技术创新变革: 第一代循迹小车是可编程的示教再现型,不装载任何传感器,只是采用简单的开关 控制,通过编程来设置循迹小车的路径与运动参数,在工作过程中,不能根据环境的变 化而改变自身的运动轨迹。 支持离线编程的第二代循迹小车具有一定感知和适应环境的能力, 这类循迹小车装 有简单的传感器,可以感觉到自身的的运动位置,速度等其

4、他物理量,电路是一个闭环 反馈的控制系统,能适应一定的外部环境变化。 第三代循迹小车是智能的,目前在研究和发展阶段,以多种外部传感器构成感官系 统,通过采集外部的环境信息,精确地描述外部环境的变化。智能循迹小车,能独立完 成任务,有其自身的知识基础,多信息处理系统,在结构化或半结构化的工作环境中, 根据环境变化作出决策,有一定的适应能力,自我学习能力和自我组织的能力。为了让 循迹小车能独立工作, 一方面应具有较高的智慧和更广泛的应用, 研究各种新机传感器, 另一方面,也掌握多个多类传感器信息融合的技术,这样循迹小车可以更准确,更全面 的获得所处环境的信息 1 。 1.1.2 智能循迹分类 AG

5、V从发明至今已经有50多年的历史,随着应用领域范围的不断扩大,其种类和形 式也变得更加多样化。一般根据行驶的导航方式将智能循迹小车分为以下几种类型: (1) 电磁感应式 电磁感应式引导一般在地面上,沿预定路径埋电线,当高频电流通过导线,电线周 围产生电磁场流动,AGV小车上安装两个对称的电磁感应传感器, 他们收到的电磁信号 差异可以反映的AGV偏离程度路径的程度。AGV自动化控制系统,基于这种偏差值, 以控制车辆的转向,连续的动态的闭环控制设置能够保证 AGV寸设定路径的稳定自动跟 踪。在目前商业用途的AGV中,特别是大型和中型小车,绝大多数都采用电磁感应导航。 (2) 激光式 安装有可旋转的

6、激光扫描器的 AGV可安装在墙壁或有高反射激光定位标志的支柱 上或者路径上运行,AGV依靠激光扫描器发射激光束,然后接收由四周定位标志反射回 的激光束,车载计算机,计算出当前车辆的位置和运动方向,通过内置的数字地图和校 准位置相比,以实现自动处理。目前,这种AGV类型的应用比较广泛。基于同样的原理, 如果激光扫描仪被红外线发射器,或超声波发射取代,激光制导的AGW、车可以转变为 红外引导和超声引导的 AGV。 (3) 视觉式 视觉引导式AGV是的迅速发展和比较成熟的 AGV这种AGV配备CCD摄像机,传感 器和车载电脑,在车载计算机中设置有 AGV欲行驶路径周围环境图像数库。在 AGV勺行 驶

7、过程中,相机得到的图像与图像数据库进行比较,以确定当前位置和车辆周围的图像 信息并对驾驶下一步作出决定。这种 AGV、车并不需要设置任何的人工物理路径,所以 在理论上具有灵活性,在计算机图像采集,存储和处理技术飞速发展的今天,这种类型 的AGV实用性越来越强。此外,还有铁磁陀螺惯性引导式 AGV光学引导式AGV等多种 形式的 AGV2 。 1.1.3 智能循迹小车的应用 智能循迹小车发展历史及主要应用场所如下: (1) 仓储业 1954年,来自美国南卡罗来纳州的 Mercury Motor Freight 公司成为第一批把 AGV 小车的应用到仓库的使用者,来实现出入库货物的自动处理。至今世界

8、上有超过 2100 个厂家把大约2万台大型或小型的AGV、车应用到自己的仓库中。中国的海尔集团在 2000年把9台AGV、车投产到了自己的仓库区,形成一个灵活的AGV自动数据库处理系 统,轻松地完成了每天至少 33500的储存和装卸货物的任务。 (2) 制造业 在制造业的的生产线中AGV、车大显身手,快速,精确,灵活的完成材料的运送任 务。由多台AGW、车组成的物流运输处理系统,较人工搬运系统来说更灵活,运输路线 可以根据生产过程及时调整,使一条生产线,生产十几个产品,大大提高了生产的灵活 性,企业的竞争力。在 1974年瑞典的沃尔沃卡尔马的汽车组装厂,提高了运输系统的 灵活性,使用以AGV、

9、车为载运工具的装配线,采用该装配线后,减少了 20%装配时间、 减少了 39%组装错误,减少了 57%投资资金回收时间以及减少了 5%的员工费用。目前, 在世界主要的汽车生产厂家,如通用、丰田、克莱斯勒、大众AGW、车已被广泛应用。 (3) 邮局、图书馆、港口码头和机场 在邮局,图书馆,码头和机场候机楼等人口密集的公众场所,存在着大量的物品的 运送工作,充满不定性和动态性强的特点,搬运过程往往也很单一。AGV有着可并行工 作、自动化、智能化和处理灵活的特点,可以很好的满足这些场合的运输要求。1983 年瑞典的大斯得哥尔摩邮局, 1988 年日本东京的多摩邮局, 1990 年中国上海的邮政相 继

10、开始使用AGV、车来完成邮品的搬运工作。在荷兰的鹿特丹港口,50辆被称为“院子 里的拖拉机”的AGV、车每天都在把集装箱从船边运送到几百米以外的仓库中。 (4) 烟草、医药、化工、食品 对于处理一些需要在清洁、安全、无排放污染等其他特殊环境要求的产品生产如烟 草、制药、食品、化工等产品时应考虑 AGV、车的应用。在全国许多卷烟企业,如青岛 颐中集团、玉溪红塔集团、红河卷烟厂、淮阴卷烟厂,应用激光引导式 AGV完成托盘货 物的搬运工作。 1.2 智能循迹小车研究中的关键技术 现在全世界越来越多的国家都在做着研究智能化、多样化的自动汽车导航的工作。 自动汽车导航是一个非常复杂的系统,它不仅应具有正

11、常的运动功能的成分,而且还应 具有任务分析,路径规划,信息感知,自主决策等类似人类的智能行为。 人类可以利用自己的听觉、视觉、味觉、触觉等功能获取事物的信息,人类的大脑 再根据已经掌握的知识对这些信息进行综合分析,从而全面了解认知事物。这样一个认 识事物、分析事物和处理信息的过程称之为信息融合过程。多传感器信息融合的基本原 理就是模仿人类大脑的这个过程,得到一个对复杂对象的一致性解释或结论。多传感器 信息融合是协调多个分布在不同地点, 相同或不同种类的传感器所提供的局部不完整观 测量信息加以综合,协调使用,消除可能存在的冗余和矛盾,并加以互补,以减少不确 定性,得到对物体或环境的一致性描述的过

12、程 4 。 多传感器信息融合具有许多性能上的优点: (1) 增加了系统的生存能力; (2) 减少了 信息的模糊性; (3) 扩展了采集数据覆盖范围; (4) 增加了可信度; (5) 改善了探测性能; (6) 提高了空间的分辨力; (7) 改善了系统的可靠性 (8) 信息的低成本性 5 。 本文主要由五章组成,第 1 章为绪论,主要讲述循迹小车的发展历程及在目前所应 用领域中的作用。第 2 章为总体规划智能循迹小车系统的设计,包含主系统流程图。第 3章是系统的硬件设计,其中包含单片机电路的设计、NRF24L0优线模块、TSL1401线 性CCD莫块和电机驱动电路等。第4章为系统的软件设计,主要介

13、绍的是软件实现过程 的框图。第 5 章是制作安装与调试,最终保证了系统的正常运行。 2总体设计方案 2.1整体设计万案 无线遥控器 主单片机电路 电机驱动模块 循迹模块 直流电机 图2-1系统总体框图 智能循迹小车主要包括了无线遥控器、线性CCD循迹模块,电机驱动模块,小车车 模等。通过无线传输的数据或者线性 CCD佥测道路黑线处理得到数据,从而通过电机驱 动模块控制电机的状态和舵机的转向,最终实现小车可以无线遥控器控制,或者自动识 别路线,完成循迹行车。 2.1.1无线遥控器的设计方案 LCD显示模块 单片机电路 无线发送模块 图2-2无线遥控器控制系统结构框图 无线遥控器主要有STC12C

14、5A60S单片机主控电路模块,NRF24L01无线发射模块, 手机锂电池充、供电模块,NOKIA5110显示模块,TL431基准电压模块和摇杆模块等。 主要工作原理是通过STC12C5A60S单片机控制AD采集摇杆的X,Y轴电位值,并将 电位值通过NRF24L0优线模块发送给小车,从而控制小车转向和加、减速等。 2.1.2循迹小车的设计方案 智能循迹小车主要包括了 STC12C5A60S单片机主控电路模块,TSL1401线性CCD 循迹模块,NRF24L0优线接收模块,超声波HC_SR0避障模块,红外ST188测速模块, NOKIA5110显示模块和PNMO对管构成的H桥电机驱动模块等。 主要

15、工作原理是通过TSL1401线性CCD循迹模块采集的黑线路经或NRF24L01无线 接收模块接收遥控器的数据,然后由 STC12C5A60S产生PWM来控制电机驱动模块改变 电机的工作状态,最后实现小车循迹。 2.2系统设计步骤 1根据设计要求,确定控制方案。 2. 利用Altium Designer 设计合理的硬件原理图。 3. 画出程序流程图,使用C语言进行编程。 4将各元件焊接在PCE板上,并将程序烧录到单片机内。 5. 进行调试以实现控制功能 2.3 确定整体控制系统方案 1. 主控使用40引脚的STC12C5A60S单片机芯片,因为其内部集成 10位ADC 2 路PWM等,可以节省外

16、围设备。 2. 整个系统由7.2V、3V、5V三种直流电供电。其中7.2V电源是由直接提供的可 充电电池供电, 5V、 3.3V 是通过 7.2V 电池来实现的。 3. 电机驱动模块由2片PMO管 IRF4905和2片NMO管IRF3205组成了一个H桥, 可以通过PWM来控制电机的启停和正反转。 4. 路径识别采用TSL1401线性CCD通过对赛道黑白的识别来控制舵机转向。 5. 无线模块采用NRF24L0来传输数据,从而可以通过遥控器控制小车。 6. 避障模块主要是通过超声波 HC_SR040距,提前控制舵机转向,避开障碍物。 7. 速度检测模块由红外对管ST188检测后轮胎转速,然后数据

17、处理为速度并实时 显示在现实。 8. 显示模块采用NOKIA511C通过5个普通IO 口与单片机通信,84x48的点阵,可 以显示 4 行汉字,能充分满足需求。 3系统的硬件设计 =Sn 三三 三 H- 图3-1系统总体原理图 3.1单片机电路 图3-2 STC12C5A60S2单片机最小系统 3.1.1单片机的简介 STC12C5A60S2/AD/PW系列单片机是宏晶科技生产的单时钟 /机器周期(1T)的单片 机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统 8051, 但速度快8-12倍。内部集成MAX81C专用复位电路,2路PWM 8路高速10位A/D转换 (2

18、50K/S,即25万次/秒),针对电机控制,强干扰场合。 3.1.2 单片机的主要特点 1. 增强型8051 CPU 1T,单时钟/机器周期,指令代码完全兼容传统 8051; 2. 通用 I/O 口(36/40/44 个),复位后为:准双向口 /弱上拉(普通 8051 传统 I/O 口)可设置成四种模式:准双向口 / 弱上拉,强推挽 / 强上拉,仅为输入 / 高阻, 开漏每个I/O 口驱动能力均可达到20mA但整个芯片最大不要超过120mA 3. 内部集成MAX81C专用复位电路(外部晶体12M以下时,复位脚可直接1K电阻 到地); 4. 时钟源:外部高精度晶体 / 时钟,内部 R/C 振荡器

19、 ( 温漂为 5% 到10%以内 ) 用 户在下载用户程序时,可选择是使用内部 R/C 振荡器还是外部晶体 / 时钟 常温下内部R/C振荡器频率为:5.0V 单片机为:11MH 17MHz 3.3V 单片机为:8MHz- 12MHz 5. 共 4 个 16位定时器 两个与传统8051兼容的定时器/计数器,16位定时器T0和T1,没有定时 器2,但有独立波特率发生器做串行通讯的波特率发生器 ,再加上2路PCA模块 可再实现 2 个 16 位定时器; 6. 3 个时钟输出口,可由 T0 的溢出在 P3.4/T0 输出时钟,可由 T1 的溢出 P3.5/T1 输出时钟,独立波特率发生器可以在 P1.

20、0 口输出时钟; 7. 外部中断 I/O 口 7 路, 传统的下降沿中断或低电平触发中断 , 并新增支持上升沿 中 断 的 PCA 模 式 , Power Down 模 式 可 由 外 部 中 断 唤 醒 , INT0/P3.2,INT1/P3.3,T0/P3.4,T1/P3.5, RxD/P3.0,CCP0/P1.3( 也可通过寄存 器设置到 P4.2), CCP1/P1.4( 也可通过寄存器设置到 P4.3) ; 8. PWM 2路)/ PCA (可编程计数器阵列,2路) - 也可用来当 2 路 D/A 使用 - 也可用来再实现 2 个定时器 - 也可用来再实现 2 个外部中断 ( 上升沿

21、中断 / 下降沿中断均可分别或同时支 持); 9. A/D转换,10位精度ADC共8路,转换速度可达250K/S(每秒钟25万次); 10. 通用全双工异步串行口(UART),由于STC12系列是高速的8051,可再用定时器 或PCA软件实现多串口; 11. STC12C5A60S系列有双串口,后缀有 S2标志的才有双串口, RxD2/P1.2(可通 过寄存器设置到P4.2),TxD2/P1.3(可通过寄存器设置到P4.3)。 3.2路径检测模块 图3-3 TSL1401线性CCD循迹模块 路径检测模块是智能车系统信号的输入模块主要检测的赛道对道路偏离量,这些信 息是小车沿赛道运行的信息基础获

22、得更多、更远、更精确的塞到信息是提高车模运行速 度的关键。所以,路径检测的好坏直接关系到最终性能的优劣。对于小车路径信息的采 集的方式如下所示: 方案一:红外传感器的检测方式,优点:电路设计相对简单、检测速度信息快、调 试简单、成本低。缺点:道路参数检测精度低、道路参数检测种类少、传感器的个数较 多、检测距离前瞻较短、耗电量较大。 方案二:线阵CCD佥测方法,优点:检测前瞻距离大、检测范围宽、检测道路参数 较多。缺点:电路设计复杂、软件计算量大、监测信息更新速度快。 综上所述每个方案都有自己的优缺点, 综合考虑线阵CCD佥测方法比较好,它能够 使检测到的道路信息更加的精确,有利于小车的速度提高

23、。 3.2.1 TSL1401 线性 CCDS介 TSL1401线性CCD专感器阵列由一个128X 1的光电二极管阵列,相关的电荷放大 器电路,和一个内部的像素数据保持功能,它提供同时集成起始和停止时间所有像 素。 该阵列是由 128 个像素,其中每一个具有光敏面积 3,524.3 平方微米。 像素之 间的间隔是 8 微米。 操作简化内部控制逻辑, 需要只有一个串行输入端 (SI) 的信号和 时钟。 主要特点: 1. 128X1个传感器单元组织; 2. 每英寸400点(DPI)传感器间距; 3. 高线性度和均匀度; 4. 宽动态范围: 4000:1 ( 72 分贝); 5. 输出参考地; 6.

24、 低图像延迟: 0.5 典型值; 7. 操作为 8MHz; 8. 单 3V 到 5V 供应; 9. 轨到轨输出摆幅( AO); 10. 没有外部负载电阻。 322线性CCD勺主要工作原理 TSL1401CL的核心是128个光电二极管组成的感光阵列,阵列后面有一排积分电容, 光电二极管在光能量冲击下产生光电流, 构成有源积分电路, 那么积分电容就是用来存 储光能转化后的电荷。 积分电容存储的电荷越多, 说明前方对应的那个感光二极管采集 的光强越大。反映在像素点上就是,像素灰度低。光强接近饱和,像素点灰度趋近于全 白,则呈白电平。 模拟输出(A0)的电压由公式(3-1)给出: (3-1) Vout

25、 是为白色状态下的模拟输出电压; Vdrk 是黑暗条件下的模拟输出电压; Re是器件的响应性,对于给定的光的的波长在; Ee是在的时间辐照; Tint 为积分时间,以秒为单位。 323环境光影响问题 试验表明TSL1401线性CCD勺输出信号和环境光线密切相关,在自然光条件比晚上 灯光下A0引脚输出电压值高出很多,正对着光线比背着光线输出电压高,白炽灯光下 比日光灯下输出电压高。因此,同一参数(曝光时间、镜头光圈)难以适应各种环境, 在光线较弱环境下的参数在强光下会出现输出饱和, 在较强光线下调节好的参数在弱光 下输出电压过低,甚至处于截止状态。在智能车应用中,白天自然光环境和晚上灯光环 境、

26、正对光和背光、不同的比赛场地之间都不能采用相同的曝光参数。与输出电压密切 相关的参数是曝光量,曝光量取决于CCD莫块所采用的镜头光圈大小和程序所控制的曝 光时间。智能车为适应各种运行环境,必须实时感知环境,并根据环境闭环调节曝光量, 使得在不同环境中曝光量都处于一个合理的范围,这样才能保证在不同环境中CCD输 出电压在合理范围,以利于算法提取黑线信息。镜头相关参数一旦选定在智能车运行难 以改变,曝光时间比较容易通过程序控制,因此比较容易实现的调整曝光量方法是通过 软件调整曝光时间。 3.3无线模块 图3-4 NRF24L01无线数据传输模块 3.3.1 无线 NRF24L01简介 NRF24L

27、01是 NORDICS司最近生产的一款无线通信通信芯片, 采用FSK调制,内部 集成NORDId己的En ha need Short Burst协议。可以实现点对点或是 1对6的无线通 信。无线通信速度可以达到 2M(bps)。NORDIC公司提供通信模块的GERBE文件,可以 直接加工生产。嵌入式工程师或是单片机爱好者只需要为单片机系统预留5个GPIQ 1 个中断输入引脚,就可以很容易实现无线通信的功能, 非常适合用来为MCI系统构建无 线通信功能。 主要特点: 1. 2.4GHz全球开放ISM 频段,最大OdBm发射功率,免许可证使用;低工 作电压:正常工作电压 1.93.6V; 2. 高

28、速率:最高2Mbps这样使得信号空中停留时间极短, 减小了无线碰撞的可能 (软件设置1Mbps或者2Mbps的空中传输速率); 3. 多频点:125频点,可以应用于多点通信以及跳频的实现; 4. 超小型:2.4GHz天线内置,体积小巧,规格:15x29mm(包括天线);低功耗: 快速的传输速率也降低了收发功耗; 5. 很低的应用成本:NRF24L01集成了 RF。NRF24L0应用的是SPI接口,可以与单 片机的SPI接口直接相连。没有SPI接口的单片机可以利用单片机的I/O 口进 行模拟,内部有FIFO,用于数据缓存,因此NRF24L01可以与各种高低速微处理 器接口,便于使用低成本单片机。

29、 3.3.2 无线NRF24L0啲工作原理 NRF24L01模块的原理图如图3-5所示: 图3-5 NRF24L01模块的原理图 从单片机控制的角度来看,我们只需要它的的六个控制和数据信号,分别为CSN、 SCK、MISO、MOS、I IRQ、CE。 CSN ;芯片的片选线,CSN为低电平芯片工作; SCK ;芯片控制的时钟线( SPI 时钟) ; MISO :芯片控制数据线( Master input slave output); MOSI :芯片控制数据线( Master output slave input); IRQ :中断信号。无线通信过程中 MCI主要是通过IRQ与NRF24L0进

30、行通信; CE :芯片的模式控制线。在 CSN为低的情况下,CE协同NRF24L0啲CONFIG 寄存器共同决定NRF24L01的状态(掉电、发射、接收、待机I、待机U)。 发射数据时,首先将 NRF24L01配置为发射模式:接着把接收节点地址TX_ADD和 有效数据TX_PLD按照时序由SPI 口写入NRF24L01缓存区,TX_PLD必须在CSN为低时连 续写入,而TX_ADD在发射时写入一次即可,然后CE置为高电平并保持至少10卩s,延 迟130 ys后发射数据;若自动应答开启,那么 NRF24L0在发射数据后立即进入接收模 式,接收应答信号(自动应答接收地址应该与接收节点地址TX_AD

31、DF一致)。如果收到 应答,则认为此次通信成功,TX_DSS高,同时TX_PLD从 TX FIFO中清除;若未收到应 答,则自动重新发射该数据(自动重发已开启),若重发次数(ARC)达到上限,MAX_R置 高,TX FIFO中数据保留以便在次重发;MAX_RT或 TX_DSS高时,使IRQ变低,产生中 断,通知MCU最后发射成功时,若CE为低则NRF24L01进入空闲模式1;若发送堆栈中 有数据且CE为高,则进入下一次发射;若发送堆栈中无数据且 CE为高,则进入空闲模 式 2。 接收数据时,首先将NRF24L01配置为接收模式,接着延迟130卩s进入接收状态等 待数据的到来。当接收方检测到有效

32、的地址和 CRC寸,就将数据包存储在RX FIFO 中, 同时中断标志位RX_DRS高,IRQ变低,产生中断,通知 MClfe取数据。若此时自动应 答开启,接收方则同时进入发射状态回传应答信号。最后接收成功时,若 CE 变低,则 NRF24L011入空闲模式1。 3.4避障模块 XTTOI-. -0 图3-6超声波HC-SR04避障模块原理图 3.4.1 超声波HC-SR04简介 产品应用领域:机器人避 模块性能稳定,测度距离精确,模块高精度,盲区小 障、物体测距、液位检测、公共安防、停车场检测。 主要技术参数: 1. 使用电压:DC-5V ; 2. 静态电流:小于2Ma 3. 电平输出:高5

33、V; 4. 电平输出:低0V; 5. 感应角度:不大于15度; 6. 探测距离:2cm-450cm 7. 高精度:可达0.2cm。 3.4.2超声波的主要工作原理 超声波传感器的工作原理是陶瓷的压电效应。超声波传感器在测量过程中,声波信 号由传感器发出,经液体或固体物体表面反射后折回由同一传感器接收,可以测量声波 的整个运行时间,从而实现物位的测量。 超声测距大致有以下方法:一种是取输出脉冲的平均值电压,该电压 (其幅值基本 固定)与距离成正比,测量电压即可测得距离;另一种是测量输出脉冲的宽度,即发射 超声波与接收超声波的时间间隔t,如图3-5所示,故被测距离为。本系统测量采用第 二种方案。由

34、于超声波的声速与温度有关,如果温度变化不大,则可认为声速基本不变。 如果测距精度要求很高,贝U应通过温度补偿的方法加以校正。超声波测距适用于高精度 的中长距离测量。因为超声波在标准空气中的传播速度为331.45米/秒,由单片机负责 计时,单片机使用12.0MHz晶振,所以此系统的测量精度理论上可以达到毫米级。 障 碍 物 假定S为被测物体到测距仪之间的距离,测得的时间为,超声波传播速度为表示, 则有关系式(3-2): (3-2) 在精度要求较高的情况下,需要考虑温度对超声波传播速度的影响,按公式(3-3) 对超声波传播速度加以修正,以减小误差。温度与声速的关系参照表3-1。 (3-3) 式中:

35、T为实际温度单位为C; V为超声波在介质中的传播速度单位为。 表3-1温度与声速参照表 温度与声速参照表 温度 -30 -20 -10 0 10 20 30 声速 313 319322331 337 344 350 3.5显示模块 T-Tro-. 图3-8 NOKIA5110显示模块原理图 方案一:采用数码管显示。数码管具有接线简单、成本低廉、配置简单灵活、编程 容易、对外界环境要求较低、易于维护等特点。电压和电流的显示可以用数码管,但数 码管显示的信息量有限,只能显示简单的数字,其电路复杂,占用的系统I/O资源较多, 显示信息少,不宜显示大量信息。 方案二:考虑到本系统中显示的内容以及系统的

36、实用性,采用液晶显示(LCD)。液晶 显示具有功耗低、体积小、质量轻、无辐射危害、平面直角显示以及影响稳定不闪烁、 画面效果好、分辨率高、抗干扰能力强等优点。点阵式LCD不仅可以显示字符、数字, 还可以显示各种图形、曲线及汉字,并且可以实现屏幕上下左右滚动、动画、闪烁、文 本特征显示等功能。 因为NOKIA5110液晶显示模块可以显示出数字、字母、汉字等,一面了然、外观比 较好看。而且液晶显示功耗低、体积小、质量轻、无辐射危害,与单片机连接较简单。 故经过比较选择方案二 3.5.1 NOKIA5110液晶显示简介 U6 1 L CLK DI- d/c VCC O j C7 |匚匚RST 4 5

37、 5 7 6 9 VDO CLK DfN Dr cs osc GtJD VOUT LED1A LED1K LED2A MOKIA5110LCD LED2K E寸L X Xu iE llZ R5 1k 10 11 GND led 图3-9 NOKIA5110液晶显示器原理图 液晶显示模块引脚说明如表3-2所示: 表3-2 NOKIA5110液晶显示模块的管脚 引脚序号 引脚名称 功能 引脚序号 引脚名称 功能 1 SDIN 串行数据线 5 RES 复位 2 SCLK 串行时钟线 6 VCC 电源正 3 D/C 模式选择 7 LIGHT 背光灯 4 SCE 芯片使能 8 GND 电源地 NOKIA

38、5110液晶显示特点: 1性价比高,可以显示15个汉字、30个字符,价格相对便宜; 2. 接口简单,仅四根I/O线即可驱动; 3. 速度快,是LCD12864勺20倍,是LCD1602的40倍; 4. NOKIA5110工作电压2.3V,正常显示时工作电流 200uA以下,具有掉电模式, 适合电池供电的便携式移动设备。 3.5.2液晶的主要工作原理 (1) SPI接口时序写数据/命令 NOKIA511(的通信协议是一个没有 MISO只有MOSI的SPI协议: BCE 图3-10串行总线协议-传送1个字节 (2) NOKIA5110的初始化 接通电源后,内部寄存器和 RAM的内容是不确定的,这需

39、要一个 RES氐电平脉冲复 位一下。 5 砂 A,* FES 图3-11 NOKIA5110复位时序 (3) 显示英文字符 英文字符占用个点阵,通过建立一个 ASCII的数组font6x86 来寻址。 (4) 显示汉字 显示汉字可以采用两种点阵方式,一种是 12*12点阵,一种是16*16点阵 3.6电机驱动电路 图3-12 PNMOS管H桥电机驱动原理图 方案一:采用直流电机,配合LM293驱动芯片组合。优点在于硬件电路的设计简单 当外加额定直流电压时,转速几乎相等。这类电机用于录音机、录相机、唱机或激光唱 机等固定转速的机器或设备中。也用于变速范围很宽的驱动装置。容易受到外部因素干 扰,影

40、响稳定的转速和转矩输出。电路如图3-13 : MG I 15 2E OtllpLl 凶 Output? Output V5 Output! TV UNI % EMZ JipUTl Inpui2 InpuLl Lttpui-1 s二亡 NN e ce o 9V ML I 图3-13直流电机+LM293组合电路原理 方案二:采用步进电机,配合 LM298驱动芯片组合。步进电机可以实现精确的转脚 输出,只要施加合适的脉冲序列,电机可以按照人们的预定的速度或方向进行连续的转 动,便于控速,但是软件程序的编写较直流电机稍显复杂。但是LM298芯片的硬件电路 比较复杂。如图3-14 : 斗 5irg DJ

41、* De-11I5SQ 图3-14步进电机+LM298组合电路原理图 方案三:采用直流电机配合由双极性管组成的 H桥电路。用单片机控制晶体管使之 工作在占空比可调的开关状态,精确调整电机转速。这种电路由于工作在管子的饱和截 止模式下,效率非常高;H桥电路保证了可以简单地实现转速和方向的控制;电子开关 的速度很快,稳定性也很高,是一种广泛采用的调速技术,其电路原理简图如图3-15 所示。 YCC 图3-15电机驱动原理简图 综合3种方案的优缺点,鉴于本系统设计体积较小,自身重量较轻,对电机功率输 出要求不高,决定选择方案3。 所谓的H桥电路就是控制电机正反转的。如图 3-9就是一种简单的H桥电路

42、,它由 2个IRF4905 P型场效应管Q1、Q2与2个IRF3205 N型场效应管Q3 Q3组成,所以它 叫P-NMO管H桥。 桥臂上的4个场效应管相当于四个开关,P型管在栅极为低电平时导通,高电平时 关闭;N型管在栅极为高电平时导通,低电平时关闭。场效应管是电压控制型元件,栅 极通过的电流几乎为“零”。 正因为这个特点,在连接好图 3-12电路后,PWM置高电平(U=VC)PWM置低电 平(U=0)时,Q1、Q4关闭,Q2 Q3导通,电机左端低电平,右端高电平,所以电流正 向流动。设为电机正转。PWM置低电平、PWM置高电平时,Q2 Q3关闭,Q1 Q4导通, 电机左端高电平,右端低电平,

43、所以电流反向流动。设为电机反转。同时如果改变PWM1 PWM的占空比,就可以改变电机两段的电压,从而改变电机的转速。 3.7红外测速电路 图3-16红外ST188测速原理图 反射式光电传感器的光源有多种,常用的有红外发光二极管,普通发光二极管,以 及激光二极管,前两种光源容易受到外界光源的干扰,而激光二极管发出的光的频率较 集中,不容易被干扰,但传感器只能接收很窄的频率范围的光,且价格较贵。理论上光 电传感器只要位于被测区域反射表面可受到光源照射又能被接收管接收到的测量范围 就能进行光电检测,然而这是一种理想的结果。因为光的反射受到多种因素的影响,如 反射表面的形状、颜色、光洁度,日光、日光灯

44、照射等不确定因素。如果直接用发射和 接收管进行测量将因为干扰产生错误信号, 采用对反射光强进行测量的方法可以提高系 统的可靠性和准确性。红外反射光强法的测量原理是将发射信号经调制后送红外管发 射,光敏管接收调制的红外信号,原理如图3-17所示。 反 面 图 3-18 光强度相应曲线 反射光强度的输出信号电压 Vout 是反射面与传感器之间距离 x 的函数,设反射面物 质为同种物质时, x 与 Vout 的响应曲线是非线性的,如图 3-18 所示。设定输出电压达 到某一阈值时作为目标,不同的目标距离阈值电压是不同的。 同时,我们利用它对颜色敏感的特点,当检测物表面为黑色时,反射光很弱,接收 端检

45、测到的光线可以忽略,使接收端呈现一种状态,例如开关管截止;当被检测物表面 为白色时,反射光强烈,发射端发射的红外线被接收端全部接收,使接收端呈现另一种 相反的状态,例如开关管开通。这两种相反的状态表现在电路中,就是高低电平组成的 脉冲信号。 4系统的软件设计 4.1程序设计框图 图4-1循迹控制系统程序流程图 图4-2无线遥控器程序设计流程图 4.2 AD程序 STC12C5A60AD/S系列带A/D转换的单片机的 A/D转换口在P1 口 (P1.7-P1.0),有 8路10位高速A/D转换器,速度可达到250KHz(25万次/秒)。8路电压输入型A/D,可做 温度检测、电池、电压检测、按键扫

46、描、频谱检测等。上电复位后 P1 口为弱上拉型I/O 口,用户可以通过软件设置将8路中的任何一路设置为 A/D转换,不需作为A/D使用的 口可继续作为I/O 口使用。 在无线遥控器程序中设置 P1A0P1A2为AD转换接口,其中P1A0检测摇杆X轴AD 值,P1A1检测摇杆Y轴AD值,P1A2检测基准电压TL431的AD值,从而测出电源电压。 模数转换速度设置为90个时钟转换一次即A/D转换速度大约140KHz AD转换结果取前 8位值。 具体程序配置如下: P1ASF=0X0f; AUXR 1=0; ADC_RES=0; ADC_CONTR=0 x80; delayms(1); ADC_CO

47、NTR=0 x88|ch; 采集程序如下: void adstart() while(ADC_CONTR ADC_CONTR ADC_CONTR if(ch=0) tx_buf0=ADC_RES; else if(ch=1) tx_buf1=ADC_RES; else if(ch=2) tx_buf3=ADC_RES; if(+ch2)ch=0; ADC_CONTR=0 x88|ch; 在循迹控制系统程序中设置 P1A0为AD转换接口用于检测总电源分压电路 AD值, 从而算出实际总电源电压。 模数转换速度设置为 540 个时钟转换一次即 A/D 转换速度大 约25KHz AD转换结果取前8位值

48、。 具体程序配置如下: P1ASF=0X81; ADC_RES=0; ADC_CONTR=0 x80; SCON = 0 x90;/187500 delayms(1); 采集程序如下: uchar getadcval(uchar ch) ADC_CONTR=ADC_POWER|ADC_SPEEDHH|ch|ADC_START; _nop_();_nop_();_nop_();_nop_(); while(!(ADC_CONTR ADC_CONTR return ADC_RES; 4.3 NOKIA5110 程序 N0KIA511C使用SPI协议,显示48*84点阵可以显示6*16个字母,或者3

49、*5个12*12 的汉字。在无线遥控程序中,第一屏在第二行,第四行分别显示“欢迎使用”,“无线 遥控器”。然后在第二屏第一行显示“无线发射”,第四行实时显示检测的电池电压, 第六行显示两个AD采集的摇杆X、Y轴的AD值。 具体程序如下: 初始化程序,第一屏显示: lcd_rst=0; delay1us(); lcd_rst=1; lcd_ce=0; delay1us(); lcd_ce=1; delay1us(); lcd_write_byte(0 x21,0); lcd_write_byte(0 xc8,0); lcd_write_byte(0 x06,0); lcd_write_byte(

50、0 x13,0); lcd_write_byte(0 x20,0); lcd_clear(); lcd_write_byte(0 x0c,0); lcd_ce=0; lcd_clear(); lcd_write_chinese_string(11,1,16,4,0,0); lcd_write_chinese_string(3,3,16,5,4,0); delayms(1000); lcd_clear(); lcd_write_chinese_string(11,0,16,4,9,0); 第二屏显示:、uint numl; ADVal8=tx_buf0/100+0; ADVal9=tx_buf0

51、%100/10+0; ADVal10=tx_buf0%10+0; ADVal11=tx_buf1/100+0; ADVal12=tx_buf1%100/10+0; ADVal13=tx_buf1%10+0; bat9=(64005/tx_buf3)/100+0; bat11=(64005/tx_buf3)%100/10+0; bat12=(64005/tx_buf3)%10+0; if(tx_buf3169 for(num1=3;num10;num1-) lcd_clear(); delayms(600); lcd_write_chinese_string(14,1,16,4,13,0); l

52、cd_write_chinese_string(3,3,16,5,17,0); delayms(600); lcd_clear(); lcd_write_chinese_string(11,0,16,4,9,0); lcd_write_enlish_string(0,3,bat,14); lcd_write_enlish_string(0,5,ADVal,14); 在循迹控制系统程序中,第一屏在第二行,第四行分别显示“欢迎使用”,“智能 循迹车”。然后在第二屏第二行显示“无线接收”,第三行实时显示检测的电池电压, 第四行显示无线实时接受的数据,第五行显示超声波测距的距离值,第六行显示红外测 的

53、数据。 具体程序如下: void display() Speed8=usnum2%100/10+0; Speed10=usnum2%10+0; USVal8=measureval/100+0; USVal9=measureval%100/10+0; USVal10=measureval%10+0; USVal11=measureval1/100+0; USVal12=measureval1%100/10+0; USVal13=measureval1%10+0; RCVDat8=rx_buf0/100+0; RCVDat9=rx_buf0%100/10+0; RCVDat10=rx_buf0%1

54、0+0; RCVDat11=rx_buf1/100+0; RCVDat12=rx_buf1%100/10+0; RCVDat13=rx_buf1%10+0; bat9=(int)(adc_res*5.90)/100+0; bat11=(int)(adc_res*5.90)%100/10+0; bat12=(int)(adc_res*5.90)%10+0; if(measureval40)|(measureval140) / 超声波避障显示 if(bb=0)bb=1;lcd_clear(); lcd_write_chinese_string(11,1,16,4,42,0); lcd_write_

55、enlish_string(0,5,USVal,14); else if(bb=1)bb=0;lcd_clear();/ 第二屏显示 lcd_write_chinese_string(11,0,16,4,9,0); lcd_write_enlish_string(0,2,bat,14); lcd_write_enlish_string(0,3,RCVDat,14); lcd_write_enlish_string(0,4,USVal,14); lcd_write_enlish_string(0,5,Speed,14); adc_res=getadcval(0); /低电量声光报警 if(adc

56、_res0;num1-) lcd_clear(); delayms(350); beep=1; lcd_write_chinese_string(14,1,16,4,24,0); lcd_write_chinese_string(3,3,16,5,28,0); delayms(350); lcd_clear(); beep=0; 4.4 NRF24L01 无线程序 在初始化的时候无线遥控器配置为发送模式,这样就可以把采集到的 AD 值,发送 到小车,然后控制小车的状态。循迹控制系统配置为接收模式,接收无线遥控器发送的 数据,然后根据接收的数据,控制 PW啲占空比和舵机的转向 无线遥控器配置程序

57、: void tx_mode() CE=0; SCK=0; spi_rw_reg(0X20+0X00,0X0A); spi_rw_reg(0X20+0X01,0X00); spi_rw_reg(0X20+0X02,0X01); spi_rw_reg(0X20+0X04,0X00); spi_rw_reg(0X20+0X05,1); spi_rw_reg(0X20+0X06,0X0F); spi_rw_reg(0X20+0X11,3); CE=1; 通过AD采集摇杆电位值,然后发射出去,程序如下: while(1) adstart(); display(); keyscan(); spi_wri

58、te_buf(tx_buf); 循迹控制系统配置程序: CE=0; SCK=0; spi_rw_reg(0 x20,0 x3B); spi_rw_reg(0 x21,0 x00); spi_rw_reg(0 x22,0 x01); spi_rw_reg(0 x24,0 x00); spi_rw_reg(0 x25,1); spi_rw_reg(0 x26,0 x0F); spi_rw_reg(0 x31,3); CE=1; NRF24L 0优线接收数据,控制电机驱动的 PWM 口舵机: sta=spi_read(0 x07); if(RX_DR) spi_read_buf(0X61,rx_bu

59、f,3); CE=0; spi_rw_reg(0 x27,0 x40); CE=1; 4.5 TSL1401 线性 CCD程序 从线性CCD专感器采集的路径信息,经处理后通过UART专到主控制器中,由主控 制器控制小车状态,从而实现路径的自动循迹。 TSL1401线性CCD采集程序如下: while(1) SI=1; Delay10us(); CLK=1; Delay10us(); SI=0; Delay10us(); CLK=0; Delay10us(); for(n=0;n128;n+) CLK=1; ADC_CONTR=0 xef; while(!(ADC_CONTR adcn=ADC_

60、RES; CLK=0;Delay10us(); for(i=0;i30)line_r=i;break; else temp=adci-adci+3; if(temp30)line_r=i,black_got=1; black_got=0; if(line_r+line_r)/2)117) rx_buf=50; else if(line_r+line_r)/2)95) rx_buf=200; elserx_buf=128; SBUF=rx_buf;while(!TI);TI=0; Delay10ms(); Delay10ms(); Delay10ms(); 4.6超声波HC_SRO船序 HC-S

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论