




已阅读5页,还剩54页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 一种轮式移动机器人的控制系统设计毕业论文一种轮式移动机器人的控制系统设计毕业论文 第一章 绪论 1 1 移动机器人技术概述 机器人是一自动的 位置可控的 具有编程能力的多功能操作机 机器人技术涉 及计算机技术 控制技术 传感器技术 通讯技术 人工智能 材料科学和仿生学等 多类学科 作为机器人学的重要分支 移动机器人能够运动到特定位置 执行相应任务 具 备环境感知 实时决策和行为控制等功能 拥有很高的军事 商业价值 移动机器人按运动方式分为轮式移动机器人 步行移动机器人 履带式移动机器 人 爬行机器人等 按功能和用途分为医疗机器人 军用机器人 清洁机器人等 按作业 空间分为陆地移动机器人 水下机器人 无人飞机和空间机器人 1 2 移动机器人控制技术研究动态 1 2 1 移动机器人控制技术发展概况移动机器人控制技术发展概况 步入 21 世纪 随着电子技术的飞速发展 机器人用传感器的不断研制 计算机运 算速度的显著提高 移动机器人控制技术逐步得到完善和发展 移动机器人从最初的 示教模仿型向具备环境信息感知 在线决策等功能的自治型智能化方向发展 移动机器人控制系统性能不断提高 各类新型移动机器人也纷纷面世 步行式机器人是指按照迈步方式前进的移动机器人 由于符合动物的行进模式 可很好的在自然环境中运动 具有较强的越野性能 如美国 NAAS 资助研制的丹蒂行 走机器人 主要用于远程机器人探险 其控制系统涉及环境感知 障碍物监测 机械 臂控制和超远程遥操作等多方面技术 丹蒂计划的最终目标是 为实现在充满碎片的 月球或其它星球的表面进行探险提供一种运动机器人解决方案 轮椅机器人是指使用了移动机器人技术的电动轮椅 德国乌尔姆大学开发一种智 能轮椅机器人 使丧失行动能力的人也能外出 走动 该轮椅机器人 能够自动识别 和判断出行驶的前方是否有行人挡路 或是否可能出现行驶不通的情况 自动采取绕 行动作 并能够提醒挡路的行人让开道路 该机器人的控制系统 综合运用了多传感 器信息融合 模式识别 避障 电机控制和人机接口等技术 第一章 绪论 2 消防机器人是指能在高温 强热辐射 浓烟 地形复杂 障碍物多 化学腐蚀 易燃易爆等恶劣条件下进行灭火和救援工作的移动机器人 其控制系统的设计重点包 括障碍物检测 火焰检测和系统可靠性设计等多项技术 日本投入应用的消防机器人 最多 美 英等国已研制出能依靠感觉信息控制的救灾智能机器人 我国上海交大机 器人研究所也在国家 863 计划和公安部联合投资下 与上海消防所合作开发消防机 器人的产 品样机 另外 随着社会老龄化程度的不断加剧 仿人机器人将弥补年轻劳动力的不足 解决老龄化社会家庭服务和医疗看护等社会问题 此类服务型机器人的控制系统则综 合运用了环境感知 路径规划 地图遍历 避障 防跌落等技术 以适合在家中使用 如韩国 Yujni 机器人科技公司制造的家用机器人 iRboot 日本欧姆龙公司开发的电子守 卫恐龙 以及三菱重工推出的可协助家庭保健和看家的机器人 都为家用机器人的市 场化进程发挥了重要的作用 1 2 2 移动机器人控制系统关键技术移动机器人控制系统关键技术 目前 移动机器人控制技术的研究热点和发展趋势主要包括 1 运动控制中的路径规划技术 路径规划是移动机器人导航的基本环节之一 定 义是按照某一性能指标搜索一条从起始状态到目标状态的最优或近似最优的无碰路径 根据机器人对环境信息感知的程度 路径规划可分为环境信息完全可知的全局路径规 划 环境信息部分未知甚至完全未知 移动机器人通过传感器实时地对的工作环境进行 探测 以获取障碍物的位置 形状和尺寸等信息进行的局部路径规划 2 控制系统中的传感技术 移动机器人传感技术主要是对机器人自身内部的位置 和方向信息以及外部环境信息的检测和处理 获取真实有效的环境信息 是控制系统 进行决策的保证 通常采用的传感器包括分为内部传感器和外部传感器 内部传感器 主要包括 编码器 线加速度计 陀螺仪 磁罗盘等 外部传感器主要包括 视觉传感 器 超声波传感器 红外传感器 接触和接近传感器等 3 控制系统的多传感器信息融合技术 多传感器信息融合是把分布在不同位置的 传感器所提供的局部环境的不完整信息加以综合 消除多传感器之间可能存在的冗余 和矛盾 以降低其不确定性 形成对系统环境的相对完整一致的感知描述 从而提高 智能系统决策 规划的快速性和正确性 同时降低决策风险 4 控制系统的开发技术 重点研究开放式 模块化控制系统 机器人控制器结构 的标准化 以及网络式控制器成为研究热点 编程技术进一步提高在线编程的可操作 3 性 离线编程的人机界面更加友好 自然语言化编程和图形化编程的进一步推广也是 今后研究的重点 5 控制系统的智能化技术 控制系统的智能特征包括知识理解 归纳 推断 反 应和问题求解等内容 涉及领域包括图像理解 语音和文字符号的处理与理解 知识 的表达和获取等方面 智能控制方法常使用神经网络和模糊控制方法 但前者往往伴 随着对存储容量 运算速度的较高要求 这与移动机器人高速高精度运动控制的要求 存在一定差距 故模糊控制方法在机器人控制方面有着较大的优势 1 3 本课题的意义 本课题设计并实现的移动机器人控制系统 具有很高的系统集成度和广泛的功能 扩展空间 很好的兼顾了控制系统的通用性和实用性要求 该控制系统 适用于多种 移动机器人平台 如家用娱乐机器人 展览用导游机器人等 并可通过控制单元的扩 充和升级 增加语音识别 人脸识别 视觉追踪等交互性更强的功能 同时 该控制系统的设计完成 对于降低上述各类型机器人的开发难度 缩短从 客户提出需求到完成最终产品的开发周期 具有很强的指导意义 另外 本课题设计的移动机器人控制系统 由于集成有通用微控制器开发平台 电机驱动模块等多种功能单元 因此 可作为数字电子技术 自动控制技术 传感器 技术 路径规划及人工智能等多学科多领域的通用实验平台 1 4 论文的主要内容 本论文的主要内容包括以下几个部分 第 1 章绪论 综述了国内外移动机器人研究和应用现状 阐明本课题的研究背景 和意义以及主要研究内容 第 2 章移动机器人的机械结构和运动学模型 分析了本课题研究的移动机器人的 机械结构 结合移动机器人四轮独立式驱动机构 建立推导其运动学模型和双轮差速 实现机器人运动控制的原理 第 3 章移动机器人控制系统设计 重点分析了移动机器人的总体控制方案 按照 模块化的思路 依次详细分析了微控制器模块 电机驱动模块 遥操作模块 电源模 块和串行通信接口模块等内容 最后讨论了系统设计的可靠性的问题 第 4 章移动机器人模糊控制研究 结合移动机器人控制存在的难点 简要概述了 模糊控制的概念和特点及主要应用领域 着重分析探讨了模糊控制系统的原理和设计 方法 并提出了模糊控制策略在运动控制中应用的具体方法 第一章 绪论 4 第 5 章总结 对论文所作的工作进行总结 第二章 移动机器人的机械结构和运动学模型 2 1 移动机器人机械结构 移动机器人运动方式有很多种 主要分为车轮式和步行式两类 车轮移动方式的 技术相对成熟 控制也较为容易实现 步行式控制难度较大 但随着传感器技术和微 控制器技术的快速发展 该种移动方式也得到了较大的发展 本文研究的移动机器人采用车轮式移动机构 轮式机器人按车轮的数量可以分为单轮 三轮 四轮 五轮 六轮和多轮等类型 本文研究的是六轮摇臂探测机器人采用 Rocky 系列悬架系统 由车体 左悬架 右悬 架和轮系四部分组成 如图 2 1 所示 六轮摇臂吊杠悬架由主摇臂和副摇臂组成 左 右悬架的主摇臂与车体差速齿轮的中心轴固联 借助差速轮系相对于车体转动 当在 不平路面上行驶时 通过主摇臂和副摇臂的摆动 能达到地面自适应 增强越障能力 和行驶平顺性的目的 图 2 1 六轮摇臂悬架结构 六轮摇臂探测机器人对地面的自适应和越障主要通过主摇臂相对车体和副摇臂的 中转动实现轮越障时 如图 2 2 所示 前轮越障时 副摇臂顺时针转动 前轮上升 中 轮下降 副摇臂逆时针转动 前轮下降 中轮上升 后轮越障时 主摇臂逆时针转动 前轮和中轮下降 后轮上升 5 图 2 2 六轮摇臂探测机器人越障原理 2 2 移动机器人运动学模型 移动机器人采用四轮驱动模式 通过控制左右两方驱动轮的转速差实现前进 后 退 转向等各种基本的动作 现建立坐标系说明移动机器人的运动学模型 具体坐标 系和运动参量见图 2 3 移动机器人的运动示意图 图 2 3 移动机器人的运动示意图 图 2 3 中 代表机器人质心的线速度 和分别是左右轮的线速度 R 为V VLVR 左右轮的半径 L 为两轮的间距 规律 运动方程 2 1 x y 代表机器人质心的二维平 面坐标 则移动机器人满足刚体运动和 2 2 成立 2 1 RVLL RVRR 第二章 移动机器人的机械结构和运动学模型 6 2 2 LV V LR 2 VV LR v 式 2 1 和式 2 2 中 和分别代表左右轮的角速度 为质心的角速度 v L R 为 质心的线速度 由式 2 2 可知 当 时 质心的角速度为 0 即机器人沿直线 VLVR 运动 当 时 质心的线速度为 0 则机器人可实现原地转身 即此时机器人 VLVR 将以零半径转弯 按照公式 2 2 计算得到和即可实现移动机器人的运动控制 VLVR 若将式 2 1 代入式 2 2 可得 2 3 R L LR Rv LR 2 而机器人的质心运动方程为 2 4 cosvx sinvy 将式 2 3 代入式 2 4 得 2 5 L R L R R R L R R R y x sin 2 cos 2 sin 2 cos 2 方程 2 5 中各变量相互关联 设计控制器时比较复杂 为此 先进行解耦处理 因为只与质心的角速度有关 x y 只与质心的线速度有关 故可将控制变量转为质 心的线速度和角速度 方程如下 2 6 v y x 1 0 0 0 sin cos 再将左右轮角速度表示成质心的角速度和线速度 即 2 7 R L v R R 2 1 R L v R L 2 1 由上式可知 根据移动机器人 质心 设定的目标线速度和角速度即可分别求得左右 轮的实时角速度 从而通过电机驱动机构完成速度调节 实现移动机器人运动方向和 速度的实时控制 然而 在实际应用中 由于编码器检测车轮的旋转的分辨误差 负载使车轮的等 7 效半径产生变化 加速度及旋转产生的离心力使车轮的等效半径变化以及路面的凹凸 和倾斜等因素的影响 使上述公式并非严格成立 通常采用多种方法综合采用的方案 来完成移动机器人的运动控制 2 3 本章小节 本章首先概述了移动机器人的机械结构 然后 结合机器人的四轮驱动机构 推 导了其运动学模型和六轮差速实现机器人运动控制的原理 最后 建立了机器人运动 过程中线速度和角速度与左右两边驱动轮角速度之间的关系方程 为通过电机驱动机 构完成速度调节 实现移动机器人运动方向和速度的实时控制提供了理论依据 第二章 移动机器人的机械结构和运动学模型 8 第三章 移动机器人的控制系统设计 3 1 移动机器人控制系统方案 在移动机器人系统的总体设计中 控制系统的设计尤为重要 控制系统是整个机器人系统的灵魂 控制系统的先进与否 直接决定了整个机器 人系统智能化水平的高低 移动机器人的各种功能都在控制系统的统一协调下实现 控制系统设计策略也决定了整个机器人系统的功能特点和可扩展性 本课题设计的移动机器人控制系统 可进行速度检测和调节 原地零半径转向 电源低电压监测和充电等功能 并可工作于实时手动遥控 预编程路径运动及自动沿 墙跟踪等多种模式 从而完成机器人的直线行走 越障和转向的功能 INTIO 左轮电机 右轮电机 电机驱动 模块 电平转换RS232 光电 编码器 遥控操 作模块 MCU ATMEGA16 A D 电源模块 UART PWM IO INTIO 9 图 3 1 移动机器人控制系统框图 根据移动机器人的功能要求 本课题研究的控制系统主要包括 微控制器模块 电机驱动模块 测速模块 遥操作模块 串行通信模块及电源模块等部分 控制系统 的总体框图如图 3 1 所示 具体设计过程中 上述各个模块力求相对独立 以便系统 日常的维护和今后的升级 其中 微控制器模块作为控制系统的核心 主要进行各种信息 数据的处理 协调 系统中各功能模块完成预定任务 电机驱动模块负责机器人左右两方轮子的独立驱动 主要由功率转换模块和 微控制器内置的 PWM 单元组成 实现左右轮的差速控制 测速模块由增量式光电编码器组成 用于左右轮转速 转向的实时测量 以 实现移动机器人的运动控制 遥操作包括按键编解码和无线收发部分 用于移动机器人遥控模式 电源模块负责整个控制系统各部分的电源供给 并实现埋电池的电量检测和 充电 串行通信模块包括异步通信 同步通信两部分 异步通信用于预编成路径的 下载 同步通信用于预编成路径数据的存储和 本章将从各模块的设计原理和功能出发 阐述各模块的设计要点 第三章 移动机器人的控制系统设计 10 3 2 微控制器模块 在本课题中 采用微控制器 MicroControllerUnit MCU 作为移动机器人控制系统 的核心 微控制器在整个系统中扮演的角色类似于人的大脑 主要完成各种信息的运 算和决策 微控制器是一种嵌入式微处理器 顾名思义 就是将整个计算机系统集成到一块 芯片中 微控制器一般以某一种 CPU 内核为核心 芯片内部集成 ROM EPROM EEPROM FLASH RAM A D D A 定时器 计数器 看门狗 I O 串行接口 脉宽调制器等功能单元 与 CPU 相比 MCU 的最大特点是使 PC 机 单片化 体积大大减小 功耗和成本下降 可靠性提高 因此微控制器逐渐成为嵌入式 PC 系统的主流核心器件 3 2 1 微控制器的选用依据微控制器的选用依据 微控制器是整个控制系统的核心部件 直接影响到控制系统的功能和性能 因此 合理选用控制系统的核心控制器 对系统的设计至关重要 在硬件平台的设计过程中 对微控制器的选型往往需要考虑诸多因素 本课题的微控制器选用依据主要包括以下 几个方面 1 对于微控制器类型 目前国内外移动机器人平台采用的微控制器有多种 如飞 思卡尔微控制器 东芝微控制器 甚至有的设计采用更高档 16 位 32 位微控制器 考 虑到本文设计的移动机器人结构特点和功能要求 须在高性能计算与低功耗之间得到 很好的平衡 并且该种微控制器的片内资源应当较为丰富 以减小电路板面积并提高 整机稳定性 2 从功能需求上 考虑到移动机器人的运动和动作大多采用直流电机驱动 因此 选用的微控制器应具有高精度 分辨率 8 位以上 PWM 功能 以方便实现直流电机的调 速控制 此外 为便于日后扩展移动机器人的功能 微控制器应具有较强的 I O 能力 3 从控制软件开发支持上 应便于开发和调试应用程序 需要较大的存储空间和 更高的运行速度 同时 为实现电路完成后的程序升级 微控制器需支持代码在系统 下载功能 基于上述需求分析 经过全面调研 反复比较 最终选用 ATMEL 公司的 ATMEGAI6 型微控制器作为本系统的控制核心 ATmegal6 是基于增强的 AVR RISC 结构的低功耗 8 位 CMOS 微控制器 由于其 先进的指令集和单时钟周期指令执行时间 ATmegal6 的数据吞吐率高达 11 1MIPS MHz 从而可以缓减系统在功耗和处理速度之间的矛盾 AVR 内核具有丰富的指令集和 32 个通用工作寄存器 所有的寄存器都直接与算 术逻辑单元 ALU 相连接 使得一条指令可以在一个时钟周期内同时访问两个独立的寄 存器 这种结构大大提高了代码效率 并且具有比普通的 CISC 微控制器最高至 10 倍 的数据吞吐率 通过将 8 位 RISC CPU 与系统内可编程的 Flash 集成在一个芯片内 ATmegal6 成 为一个功能强大的微控制器 为许多嵌入式控制应用提供了灵活而低成本的解决方案 3 2 2 ATMEGA16 微控制器特点微控制器特点 1997 年 ATMEL 挪威设计中心出于市场考虑 充分发挥其 Flash 技术优势 推出 全新的精简指令集 RISC 微控制器 简称 AVR 微控制器 ATMEGA16 微控制器主要有以下特点 1 先进的 RISC 结构 工作于 16MHz 时性能高达 16MIPS 2 四通道 PWM 3 8 路 10 位 ADC 片内模拟比较器 4 面向字节的两线接口 两个串行 USART 可工作于主机 从机模式的 SPI 串行 接口 5 具有独立片内振荡器的可编程看门狗定时器 3 2 3 ATMEGA16 微控制器最小系统电路微控制器最小系统电路 ATMEGA16 微控制器最小系统的硬件线路 主要包括复位线路 晶振线路 AD 转换滤波线路 ISP 下载接口和 JTAG 仿真接口等几部分 1 复位电路的设计 ATMEGA16 已经内置了上电复位设计 并且在熔丝位里 可以控制复位时的额外 时间 故 AVR 外部的复位线路在上电时 可以设计得很简单 直接拉一只 l0K 的电阻 到 VCC 即可 但考虑移动机器人的可靠性要求 在设计时添加了一只 0 luF 的电容以 消除干扰和杂波 微控制器复位电路的原理图如图 3 2 所示 第三章 移动机器人的控制系统设计 12 图 3 2 复位电路的原理图 D3 1N4148 的作用有两个 一方面将复位输入的最高电压钳在 VCC 0 5V 左右 另一方面当系统断电时 将 R0 10K 电阻短路 让 C0 快速放电 让下一次来电时 能 产生有效的复位 当 AVR 在工作时 按下 S0 开关时 复位脚 RESET 变成低电平 触发 AVR 芯片 复位 2 晶振电路的设计 ATMEGAI6 已经内置 RC 振荡线路 可以产生 1M 2M 4M 8M 的振荡频率 但内置 RC 振荡的误差受温度影响波动较大 并且使用内部 RC 振荡所产生的功耗远大 于使用外部晶振 故本设计采用 8M 外部石英晶振作为系统振荡源 具体电路见图 3 3 晶振电路示意图 图 3 3 晶振电路原理图 早期的 90S 系列微控制器 晶振两端均需要接 22pF 左右的电容 Mega 微控制器 系列实际使用中 这两只小电容不接也能正常工作 考虑到线路的规范 设计时并未 省略 C1 C2 13 3 AD 转换滤波电路的设计 AD 转换滤波电路的示意图见图 3 4 为减小 AD 转换的电源干扰 ATMEGAI6 芯 片有独立的 AD 电源供电 官方文档推荐在 VCC 串上一只 l0uH 的电感 L1 然后接一 只 0 luF 的电容 C4 到地 图 3 4 AD 转换滤波电路原理图 ATMEGAI6 内带 2 56V 标准参考电压 也可以从外面输入参考电压 例如在可使 用 TL431 基准电压源 本设计采用芯片内部自带的参考电压 在 AREF 脚接一只 0 luF 的电容 C3 到地 起到参考电压滤波的作用 4 ISP 在系统编程和 JTAG 仿真接口 ISP 下载接口 不需要任何的外围零件 原理图见图 3 5 使用双排 2 5 插座 由 于没有外围零件 故 PB5 MOSI PB6 MISO PB7 SCK 复位脚仍可以正常使用 不受 ISP 的干扰 第三章 移动机器人的控制系统设计 14 图 3 5 ISP 下载接口电路原理图 JTAG 仿真接口也是使用双排 2 5 插座 需要四只 l0K 的上拉电阻 原理图见图 3 6 图 3 6 JTAG 仿真接口电路原理图 当需要在线下载程序或调试系统时 需将下载电缆或调试接线一端插入目标板相应插 座 另一端连至计算机的 25 针并口 之后启动相应软件即可进行操作 3 3 电机驱动模块 移动机器人采用左右两方轮子独立驱动 采用差速转向机构 每个车轮分别由一 个直流电机和一个步进电机单独控制 机器人的运动控制主要通过对这八个电机的驱 动实现 包括速度和转向的控制 本设计选用直流力矩电机驱动车轮 该直流电机具 有优良的速度控制性能 具体来说 它有下列优点 1 具有较大的转矩 以克服传动装置的摩擦转矩和负载转矩 2 调速范围宽 且运行速度平稳 3 具有快速响应能力 可以适应复杂的速度变化 4 电机的负载特性硬 有较大的过载能力 确保运行速度不受负载冲击的影响 本设计选用的电机为宁波三佳公司的 12V 直流电机 JS 30YZJ 转速为 3000r min 配有减速比为 1 30 的减速器 15 3 3 1 直流电机直流电机 PWM 调速调速 直流电动机的转速控制方法可以分为两类 调节励磁磁通的励磁控制方法和调节 电枢电压的电枢控制方法 其中励磁控制方法在低速时受磁极饱和的限制 在高速时 受换向火花和换向器结构强度的限制 并且励磁线圈电感较大 动态响应较差 所以 这种控制方法用得很少 现在 大多数应用场合都使用电枢控制方法 而在对直流电 动机电枢电压的控制和驱动中 对半导体器件的使用上又可分为两种方式 线性放大 驱动和开关驱动方式 线性放大驱动方式是使半导体功率器件工作在线性区 这种方式的优点是 控制 原理简单 输出波动小 线性好 对邻近电路干扰小 但是功率器件在线性区工作时 由于产生热量会消耗大部分电功率 效率和散热问题严重 因此这种方式只适合用于 微小功率直流电动机的驱动 绝大多数直流电动机采用开关驱动方式 开关驱动方式是使半导体器件工作在开 关状态 通过调节电动机电枢的等效工作电压 实现电机调速 这种控制方式很容易 在微控制器中实现 可控开关 S 以一定时间间隔重复地接通和断开 当 S 接通时 供电电源 Vs 通过开 关 S 施加到电动机两端 电源向电机提供能量 电动机储能 当开关 S 断开时 中断 了供电电源 Vs 向电动机提供电能 但在开关 S 接通期间电枢电感所储存的能量此时通 过续流二极管 VD 使电动机电流继续流通 电压平均值可用下式表示 Uav 3 1 UU t U SS on av T 式中为开关每次接通的时间 为开关通断的时间周期 为占空比 ton T T ton 由上式可见 改变开关接通时间和开关周期的比例亦即改变脉冲的占空比 ton T 电动机两端的电压平均值也随之改变 因而电动机转速得到了控制 改变占空比有两种调制方法 一种是开关周期恒定 通过改变导通脉冲宽度来改 变 占空比的方式 即脉冲宽度调制 Pulse Width Modulation 缩写为 PWM 另一种 第三章 移动机器人的控制系统设计 16 方式为导通脉冲宽度 恒定 通过改变开关频率 来改变占空比 亦即脉冲频率 T f 1 调制 Pulse Frequency Modulation 缩写为 PFM 由于 PFM 控制是依靠脉冲频率来改变占空比的 当遇到某个特殊的频率下的机械谐振时 常导致系统震动和出现音频啸叫声 这一严 重的缺点导致 PFM 控制在伺服系统中不适用 故本设计中 采用 PWM 控制方式实现 电机调速 3 3 2 电机驱动电路电机驱动电路 直流电机工作所需的电流 电压较大 且转动方向的改变需要通过调整所加电压 的极性实现 因此必须通过专门的电机驱动电路进行控制 本课题采用意法半导体公 司的 L293D 专用电机驱动芯片作为移动机器人左 右驱动轮的直流电机的核心功率模 块 L293D 符合 TTL 逻辑电平接口标准 可用来驱动大功率感性负载 比如继电器 直流和步进电机和开关电源晶体管 可以通过逻辑设定实现电机驱动电压的极性转换 从而实现转向调整 并且 L293D 具有发热量低 体积小以及节省印刷电路板面积等优 点 因此非常适合于本文的的设计需要 L293D 内部电路原理如图 3 7 所示 图 3 7 L293D 内部电路原理 其中 INl IN4 为电机工作控制端分 通过不同的电压逻辑组合 分别决定两个 电机的转向 ENABLE 1 2 为电机工作使能端 分别连接至微控制器的两路 PWM 输 17 出信号 VS 为电机的工作电源输入端 最高可达 36V 本设计按照电机的标称值采 用 12V 供电 VSS 为 L293D 的芯片工作电源输入端 本设计中采用默认值 5V 供 电 L293D 的电机工作控制端真值表 以第 1 路的控制信号为例 具体关系见表 3 1 表 3 1 L293D 控制端真值表 控制端电平 ENAIN1IN2 电机工作情况 HHL正转 HLH反转 HHH HLL 刹车 LXX停车 结合表 3 1 可知 当且仅当 INl 与 IN2 反相的情况下 电机才工作 转动 亦即 不论电机正转还是反转 INl 与 IN2 电平始终绝对相反 而两者同相时所达到的控制目 的 电机停转 完全可通过将使能端 ENA 的逻辑电平置零实现 故在本设计中 在微控制器的通用 IO 口和 L293D 控制端之间添加了两个反相器 从而实现了单电机单线控制转向的功能 简化了微控制器的程序设计和硬件端口资源 分配 具体电路如图 3 9 所示 微控制器的硬件 PWM 输出端口 OClA 和 OC1B 分别 接至 L293D 的 ENl 和 EN2 作为使能信号 通用 IO 口 PA2 和 PA3 通过反相器逻辑处 理后 接至 L293D 的 INl IN4 控制电机转向 第三章 移动机器人的控制系统设计 18 图 3 8 电机驱动电路原理图 3 3 3 硬件实现硬件实现 PWM 的方法的方法 ATMEGAI6 内部集成有 4 通道硬件 PWM 单元 分别为 OC0 OClA OC1B 和 OC2 本设计只需对四个直流电机和四个步进电机进行调速控制 故选用同属于 16 位 定时 计数器 1 的 2 通道 PWM 单元 OClA OC1B PWM 信号的分别率采用 8 位 可 实现电机转速 0 255 级的线性平稳调速 设定定时 计数器 1 工作于快速 PWM 模式 其时序如图 3 10 所示 快速 PWM 模 式采用其单边斜坡工作方式 计数器从 BOTTOM 计到 TOP 然后立即回到 BOTTOM 重新开始 输出比较引脚 OClx 在 TCNTl 与 OCRlx 匹配时置位 在 TOP 时清零 由于使用了单边斜坡模式 快速 PWM 模式的工作频率比使用双斜坡的相位修正 PWM 模式高一倍 此高频操作特性使得快速 PWM 模式十分适合于功率调节 整流和 DAC 应用 高频可以减小外部元器件 电感 电容 的物理尺寸 从而降低系统成本 19 图 3 9 微控制器内置 PWM 信号时序图 因此 在运动过程中 只需改变 OCRlA B 的值就可完成对左右两个电机的实时调 速 其中 产生 2 通道 8 位 PWM 信号的初始化代码如下 TIMERI initialize prescale 1024 WGM 5 PWM 8bit fast TOP Ox00FF void timedl init void DDRD 0 x30 设定 PD5 PD4 为输出端口 TCCRIB 0 x00 关闭定时器 1 TCNT1 0 设置初值 OCR1A 0 OCR1B 0 TCCRlA 0 x81 TCCRlB 0 x09 设置工作模式 启动定时器 3 4 光电编码器测速模块 测速元件是速度闭环控制系统的关键元件 本设计中 采用增量式光电编码器测量移动机器人左右两方轮子的实时转速 进 而通过特定算法得到实时电机驱动模块的 PWM 控制量 实现运动机器人运动的闭环 第三章 移动机器人的控制系统设计 20 控制 3 4 1 增量式光电编码器增量式光电编码器 光电编码器俗称码盘 是一种通过光电转换将轴上的机械几何位移量转换成脉冲 或数字量的传感器 主要用于机械转角位置和旋转速度的检测和控制 光电编码器的 基本结构由旋转轴上的编码圆盘以及装在圆盘两侧的发光元件和光敏元件组成 圆盘上规则地刻有透光和不透光的线条或孔 当圆盘随着转轴旋转时 光敏元件 接收的光通量强弱随着光线条同步变化 光敏元件波形经过整形输出变为脉冲输出 一般圆盘上还设有定相标志 产生零信号 每转一圈产生一个 又称基准脉冲 本设计选用 ZKX 6 50BM7 型增量式光电编码器是一款高精度角位移传感器 主轴 每旋转一周分两路输出 500 个电压脉冲信号 Out A 和 Out B 其中 Out A 和 Out B 两路信号相位差为 90 度 可通过 Out A 和 Out B 的相位关系 判断主轴的转动方向 3 4 2 移动机器人驱动轮线速度的测量移动机器人驱动轮线速度的测量 通常 根据脉冲计数来测量转速的方法有三种 分别介绍如下 l M 法测速 在规定的时间间隔内 测量所产生的脉冲数 m 来获得被测速度值 这种方法称为 M 法 适合于高速测量场合 2 T 法测速 测量相邻两个脉冲的时间间隔来确定被测速度的方法叫做 T 法测速 适合于低速时测量 3 M T 法测速 M T 法是同时测量检测时间和在此检测时间内脉冲发生器发送的 脉冲数来确定被测转速 兼有 M 法和 T 法的优点 本设计中基于 T 法测量移动机器人驱动电机的实时转速 将光电编码器输出接至微控制器的外部中断 INT2 则转动引起的每一个电压脉冲 都会触发微控制器外部中断 通过编制中断子函数 就可以实现对光电编码器输出脉 冲个数的准确计算 经换算后即得转动轴转过的精确角位移 因此 根据光电编码器转动单位角位移所需的时间 就可求得转动轴的角速率 结合光电编码器同轴驱动轮的半径 就可算得移动机器人驱动轮的实时线速度 实际 编程中 使用微控制器定时器 0 产生的 1KHz 时基中断产生固定时间段 设 V 为 t 时 间内的平均速度 由于计算速度所需的时间段足够小 所以可将平均速度 V 近似为实 时速度 则实时速度 21 3 2 nT N l t S v 式中 S 为驱动轮转动产生的位移 n 为所经历的固定时间段的记数 l 为光电编 码器驱动轮的周长 N 为光电编码器旋转一周输出的脉冲数 此处 N 500 3 4 3 光电编码器的鉴相光电编码器的鉴相 光电编码器与机器人的驱动车轮同轴安装 该轴的正反转代表了移动机器人前进 和后退两种相反的运动方向 因此 识别光电编码器主轴的转向是实现移动机器人运 动控制的必须要求 通过对光电编码器所输出的相位差 90 度的两路电压脉冲信号 Out A 和 Out B 进 行鉴相 就能够判别车轮正转或反转 具体鉴相电路原理图如图 3 11 所示 图 3 10 鉴相电路原理图 光电编码器输出的 Out A 和 Out B 分别接至 D 触发器时钟端 Clk 和控制端 D 根 据 D 触发器的功能定义 在输入时钟信号 Out A 的每个脉冲上跳沿 触发器的输出 W2 被控制端 D 的输入信号 Out B 置位 图 3 12 示意了光电编码器正转时 Out A Out B 的信号波形和鉴相电路的输出 第三章 移动机器人的控制系统设计 22 图 3 11 光电编码器正转时鉴相电路输入输出示意 正转时 Out A 信号的相位超前 Out B 信号 90 度 Wl 输出始终为高电平 反转 时 Out A 信号的相位延后 Out B 信号 90 度 Wl 输出始终为低电平 因此 通过读 取 Wl 的电压高低 就可以判别光电编码器的转向 亦即车轮的转向 实际电路设计中 将 D 触发器的输出端 Wl 与微控制器 PBO 引脚连接 3 4 4 光电编码器测速的误差分析光电编码器测速的误差分析 影响光电编码器计数精度的原因在于 编码器的主码盘被激振而附加了瞬间的随 机高频振动 从而引起在透光窗边沿附近发生小幅度晃动 振动的响应和频率与主码 盘本身及激振的频率有关 在瞬间高频振动的时刻 原来一个方波周期内可能包含几个高频方波脉冲 如果 计数电路中不加措施就会导致计数结果偏离实际值 引起误计数 3 5 遥操作模块 本课题研究的移动机器人具备多种工作模式 既可以按照预先编程的路径运动 也可以根据遥控指令 实时调整自身运动状态 完成前进 后退 停止 转向等基本 动作 图 3 12 遥操作模块工作原理图 移动机器人遥操作模块的工作原理如图 3 13 所示 按键的键值被编码模块编译为 RF 发射 模块 4 路 按键 PT2262 编码电路 微控 制器 RF 接 收模块 PT2262 编码电路 23 特定串行码 此串行码输入至发射电路 作为发射电路的控制信号 串行码由发射电 路调制到高频载波 通过天线向外发射 接收部分经天线收到调制信号 该调制信号 由接收电路处理为特定串行码 此串行码包含了操作者的按键信息 通过和编码模块 配套使用的解码模块 即可从串行码中分离出相应键值 从而移动机器人根据操作者 的按键值 做出相应动作 其中 发射和接收电路采用模块化的 315MHz 超再生式 RF 收发模块 RF 收发模 块的引脚分别为 DATA OUT IN VCC 和 GND 三线接口 只需将编码器的数据输出 端与 RF 发射模块的 DATA IN 引脚连接 RF 接收模块的 DATA OUT 引脚与解码器的 数据输入端 14 连接 系统即可正常工作 编解码电路选用台湾普城公司生产的 PT2262 2272 专用编解码芯片 PT2262 2272 是一种 CMOS 工艺制造的低功耗低价位通用编解码电路 PT2262 2272 最多可有 12 位 A0 All 三态地址端管脚 悬空 接高电平 接低电平 任意组合可提供 531441 地址码 PT2262 最多可有 6 位 D0 D5 数据端管脚 设定的地址码和数据码从 17 脚串行输出 主要用于无线遥控发射电路 编码芯片 PT2262 发出的编码信号由 地址码 数据码 同步码组成一个完整的码 字 解码芯片 PT2272 接收到信号后 其地址码经过两次比较核对后 VT 脚才输出高 电平 与此同时相应的数据脚也输出高电平 因此 微控制器读取 PT2272 的数据输出端电平即可获得操作者的按键键值 如果发送端一直按住按键 编码芯片也会连续发射 当发射机没有按键按下时 PT2262 不接通电源 其 17 脚为低电平 所以 315MHz 的高频发射电路不工作 当有 按键按下时 PT2262 得电工作 其第 17 脚输出经调制的串行数据信号 当 17 脚为高 电平时 315MHz 的高频发射电路起振并发射等幅高频信号 当 17 脚为低平时 315MHz 的高频发射电路停止振荡 所以高频发射电路完全受控于 PT2262 的 17 脚输出的数字 信号 从而对高频电路完成幅度键控 ASK 调制 相当于调制度为 100 的调幅 以下是主程序中检测 1 键是否按下的部分源码 defiue K1 6 PB6 defiue K2 7 PB7 defiue K3 6 PD6 defiue K4 7 PD7 if PINB 初始化串口 L293D 函数调用声明 void init L293D 初始化 L293D void running extern unsigned long e1 main init L293D 初始化 L293D init serialcomm 初始化串口 e1 0 误差 1 为零 while 1 running 主程序运行 串口通信 include define INBUF LEN 11 公共数据长度 defineINBUF LEN RECEIVE 9 接收数据 长度 define uint unsigned int define uchar unsigned char extern uchar inbuf1 extern uchar read flagg uchar inbuf1 INBUF LEN uchar count3 uchar read flagg L293D 函数调用声明 void L293D Up void void init serialcomm void SCON 0 x50 SCON serail mode 1 8 bit UART enable ucvr TMOD 0 x20 TMOD timer 1 mode 2 8 bit reload PCON 0 x80 SMOD 1 TH1 0 xF4 Baud 4800 fosc 11 0592MHz TH1 0 xF4 IP 0 x10 外部中断优先 0 x05 串口中断优 先 0 x10 IE 0 x90 Enable Serial Interrupt TR1 1 timer 1 run read flagg 0 向串口发送一个字符 void send char com unsigned char ch SBUF ch while TI 0 TI 0 53 向串口发送一个字符串 void send string com unsigned char str unsigned char strlen while strlen send char com str str strlen 串口接收中断函数 void serial interrupt 4 EA 0 if RI RI 0 inbuf1 count3 SBUF count3 if count3 INBUF LEN RECEIVE read flagg 1 如果串口接收的数 据达到 INBUF LEN RECEIVE 个 且校验没 错 就置位取数标志 EA 1 void running while read flagg 0 L293D Up 更新 L293D 运动参数 send string com inbuf1 9 2 与 PC 机同步数 据 read flagg 0 count3 0 L293D 驱动指令 unsigned char L293D RDSTAT void ReaD STATus Byte unsigned char rt RD STATUS P0 0X00 rt P0 读取 Status byte P0 0XFF RD HIGH return rt void L293D BUSY void while L293D RDSTAT if busy then loop 1 初始化指令 3 条 循环直到复位成功 void L293 RESET CHK void 附录 54 unsigned char chk char1 chk char2 while chk char1 0 xC4 chk char2 0 xC0 L293D RESET delay ms 2 chk char1 L293D RDSTAT L293D MSKI 0 x0000 L293D RSTI 0 x0000 delay ms 2 chk char2 L293D RDSTAT delay ms 2 flag 293 OK TRUE void L293D RESET void RESET the L293D P0 0X00 WR COMMAND WR HIGH L293D BUSY void L293D PORT8 void Set Output PORT Size to 8 Bits P0 0X05 WR COMMAND WR HIGH L293D BUSY void L293D DFH void DeFine Home P0 0X02 WR COMMAND WR HIGH L293D BUSY 2 PID 控制器指令 2 条 void L293D LFIL unsigned int command word unsigned int kp data unsigned int ki data unsigned int kd data unsigned int il data Load FILter Parameters 写 LFIL 命令 P0 0X1e WR COMMAND WR HIGH L293D BUSY 写控制字 P0 unsigned char command word MSB WR DATA WR HIGH P0 unsigned char command word LSB WR DATA WR HIGH L293D BUSY 写 kp P0 unsigned char kp data MSB WR DATA WR HIGH P0 unsigned char kp data LSB WR DATA WR HIGH L293D BUSY 写 ki P0 unsigned char ki data MSB WR DATA WR HIGH P0 unsigned char ki data LSB WR DATA WR HIGH L293D BUSY 写 kd P0 unsigned char kd data MSB WR DATA WR HIGH P0 unsigned char kd data LSB WR DATA WR HIGH L293D BUSY 写 il P0 unsigned char il data MSB WR DATA WR HIGH P0 unsigned char il data LSB WR DATA WR HIGH L293D BUSY void L293D UDF void UpDate Filter P0 0X04 WR COMMAND WR HIGH L293D BUSY 3 运动指令 2 条 void L293D LTRJ unsigned int command word unsigned long acceleration data unsigned long velocity data signed long position data Load TRaJectory Parameters 写 LTRJ 命令 P0 0X1F WR COMMAND WR HIGH WR 上升沿写入 L293D BUSY 写控制字 P0 unsigned char command word MSB WR DATA WR HIGH WR 上升沿写入 附录 56 P0 unsigned char command word LSB WR DATA WR HIGH WR 上升沿写入 L293D BUSY if command word 1 MSB WR DATA WR HIGH WR 上升沿写入 P0 unsigned char acceleration data 2 WR DATA WR HIGH WR 上升沿写入 L293D BUSY P0 unsigned char acceleration data 3 WR DATA WR HIGH WR 上升沿写入 P0 unsigned char acceleration data 4 LSB WR DATA WR HIGH WR 上升沿写入 if command word 1 MSB WR DATA WR HIGH WR 上升沿写入 P0 unsigned char velocity data 2 WR DATA WR HIGH WR 上升沿写入 L293D BUSY P0 unsigned char velocity data 3 WR DATA WR HIGH WR 上升沿写入 P0 unsigned char velocity data 4 LSB WR DATA WR HIGH WR 上升沿写入 L293D BUSY if command word 1 MSB
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 森林防疫基本知识培训课件
- 工勤技能试题及答案
- 2025年红白理事会工作职责与招聘考试模拟题详解
- 2025年物流师职业资格考试全真模拟卷及答案解析
- 2025年初级产品经理面试宝典与案例分析题集
- 湖北省利川市第五中学2026届化学高三第一学期期末达标测试试题含解析
- 2025年初入教育行业者教学技能面试模拟题集解析
- 2025年心理咨询师专业笔试模拟卷及解析
- 2025年乡村振兴大课堂村级专干招聘笔试模拟题及备考策略
- 2025年农业科技发展前沿动态及趋势分析预测题
- 《保障农民工工资支付条例》宣传册
- 2023年贵州六盘水市盘州市考调事业单位人员60人笔试参考题库(共500题)答案详解版
- 钢管中频感应加热过程的有限元分析
- 办理宽带委托书
- 配电网中性点运行方式
- 大金空调使用手册
- 五星班组建设评价标准(班组)
- GB/T 30790.5-2014色漆和清漆防护涂料体系对钢结构的防腐蚀保护第5部分:防护涂料体系
- (新教材) 教科版小学四年级科学上册:教学计划及进度表
- GB/T 10228-2015干式电力变压器技术参数和要求
- 村集体经济组织会计实务 课件
评论
0/150
提交评论