




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
河河 南南 科科 技技 学学 院院 20142014 届本科毕业论文 设计 届本科毕业论文 设计 基于单片机的舞蹈机器人控制系统设计基于单片机的舞蹈机器人控制系统设计 学生姓名 学生姓名 所在院系 所在院系 机电学院机电学院 所学专业 所学专业 电气工程及其自动化电气工程及其自动化 导师姓名 导师姓名 完成时间 完成时间 20142014 年年 5 5 月月 2424 日日 基于单片机的舞蹈机器人控制系统设计基于单片机的舞蹈机器人控制系统设计 摘要摘要 机器人是典型的机电一体化装置 它综合运用了机械与精密机械 微电子机器人是典型的机电一体化装置 它综合运用了机械与精密机械 微电子 与计算机 自动控制与驱动 传感器与信息处理以及人工智能等多学科的最新与计算机 自动控制与驱动 传感器与信息处理以及人工智能等多学科的最新 研究成果 随着经济的发展和各行各业对自动化程度要求的提高 机器人技术研究成果 随着经济的发展和各行各业对自动化程度要求的提高 机器人技术 得到了迅速发展 出现了各种各样的机器人产品 本文介绍的就是其中的舞蹈得到了迅速发展 出现了各种各样的机器人产品 本文介绍的就是其中的舞蹈 机器人 舞蹈机器人的设计 首先通过对人类动作的深入了解 分析人类的动机器人 舞蹈机器人的设计 首先通过对人类动作的深入了解 分析人类的动 作特性 确定机器人的基本构成并选择合适的机械构造 本设计舞蹈机器人采作特性 确定机器人的基本构成并选择合适的机械构造 本设计舞蹈机器人采 用钢材结构 用舵机充当机器人关节 可实现类人结构 并且与控制对象跳舞用钢材结构 用舵机充当机器人关节 可实现类人结构 并且与控制对象跳舞 机器人的工作原理 动作过程进行比较 从而选择出组装机器人的造型 文中机器人的工作原理 动作过程进行比较 从而选择出组装机器人的造型 文中 并分析机器人动作的局限性与优势 同时本毕业设计介绍了基于并分析机器人动作的局限性与优势 同时本毕业设计介绍了基于AT89C51单片单片 机的舞蹈机器人控制系统的设计 包括硬件部分和软件部分 硬件部分介绍了机的舞蹈机器人控制系统的设计 包括硬件部分和软件部分 硬件部分介绍了 舞蹈机器人控制系统的各模块 包括电源模块 单片机及外围接口电路模块 舞蹈机器人控制系统的各模块 包括电源模块 单片机及外围接口电路模块 存储模块 串行通信模块 电机驱动控制模块及防碰撞模块六大部分 软件部存储模块 串行通信模块 电机驱动控制模块及防碰撞模块六大部分 软件部 分包括设定机器人的舞蹈动作程序 详细阐述了系统的硬件实现方案和软件设分包括设定机器人的舞蹈动作程序 详细阐述了系统的硬件实现方案和软件设 计思想 根据要求舞蹈机器人控制系统采用分时复用的方法 利用计思想 根据要求舞蹈机器人控制系统采用分时复用的方法 利用PWM信号对信号对 驱动电机进行控制 用以完成作品设计 驱动电机进行控制 用以完成作品设计 关键词 单片机 关键词 单片机 PWM 信号 舞蹈机器人 舵机 直流电机信号 舞蹈机器人 舵机 直流电机 MICROCONTROLLER BASEDMICROCONTROLLER BASED ROBOTROBOT CONTROLCONTROL SYSTEMSYSTEM DESIGNDESIGN DANCEDANCE AbstractAbstract Robot is a typical mechatronic device which combines the use of the latest research machinery and precision machinery microelectronics and computer automatic control and drive sensors and information processing and artificial intelligence multi disciplinary with the economic development and the lines each industry to raise the required degree of automation robotics technology has been developing rapidly there has been a wide range of robotic products described in this article is one of the dancing robot Design dancing robot first through in depth understanding of human action human operating characteristics analysis to determine the basic structure of the robot and select the appropriate mechanical construction the design of steel structures using robot dance act as a robot with a steering joint enabling the class human structure And dancing robot control object works the course of action are compared to select the shape of the assembly robot the paper analyzed the limitations and advantages of robot action Meanwhile the graduation project presentation based on AT89C51 dance robot control system design including hardware and software components Hardware section describes the various modules dancing robot control system including the power supply module microcontroller and peripheral interface circuit module memory module serial communication module motor drive control module and anti collision module six parts Software includes setting the robot dance program Elaborated hardware implementations and software design Dancing robot control system according to the requirements using time division multiplexing method using PWM control signal to the drive motor designed to complete the work Keywords microcontroller PWM signal dancing robot steering DC 目目 录录 1 绪论 1 2 方案论证取优及控制系统设计 1 2 1 设计功能要求 1 2 2 方案论证取优 2 2 3 自由度的分配 2 2 4 电机的选择 4 2 5 舞蹈机器人的机械部件 5 2 6 系统设计方案分析 5 3 系统硬件选型 6 3 1 单片机可编程控制器部分 6 3 1 1 单片机概述 6 3 1 2 单片机选型 6 3 2 电源模块 7 3 3 串行通信模块 7 3 4 存储模块 8 3 5 电机驱动控制模块 8 3 5 1 舵机的驱动控制模块 8 3 6 防碰撞模块 12 4 控制系统软件设计 12 4 1 主程序 13 4 2 定时器中断服务子程序 13 4 3 串行中断服务子程序 14 4 4 外部中断服务子程序 14 5 结论 15 参考文献 16 附录 17 致谢 23 0 1 绪论绪论 40 年前 比尔 盖茨放弃学业 创立了微软 成为个人电脑普及革命的领 军人物 10 年前 他曾预言 机器人即将重复个人电脑崛起的道路 点燃机器 人普及的 导火索 这场革命必将与个人电脑一样 彻底改变这个时代的生活 方式 10 年的时间验证了他的话是正确的 机器人是人类 20 世纪最伟大的发 明之一 在短短的几十年内就发生了日新月异的变化 可以从近几年世界范围 内推出的机器人产品看出来 机器人技术正在向智能化 模块化和系统化的方 向发展 其发展趋势主要为 结构的模块化和可重构化 控制技术的的开放化 PC 化和网络化 伺服驱动技术的数字化和分散化 随着社会对服务业的需求不 断扩大 可以代替人的机器人将会有更广阔的前景 社会的进步和生活水平的不断提高 使人们对传统的娱乐方式产生了厌倦 对娱乐也有了新的认识和更高的追求 为了满足人们的需求 出现了会跳舞的 机器人 舞蹈机器人在日本 韩国 美国 中国等各个国家都先后有不同程度 的发展 尤其是在日本已经有突破性的发展 在机器人科技方面 中国还处于 萌芽阶段 近几年 先后在科研 军事 工业 农业等各领域都有应用 尤其 在工业中的应用最多 范围最广 就中国而言 机器人很少向娱乐行业发展 本文介绍了基于 AT89C51 单片机的舞蹈机器人控制系统的设计 为机器人在娱 乐领域的发展略尽绵力 舞蹈机器人出现在娱乐舞台上时 必将使娱乐方式更 加时代化 多元化 使娱乐内容更加丰富多彩 它不仅可以填补老人们的空虚 与无聊 更满足了青年和儿童的好奇心 而且可以将舞蹈动作用数字记录下来 方便了文化的快速传递 从而实现了在数字时代背景下传统文化的传承 同时 也能激发人们对新科技的认识和再创造 2 方案论证方案论证取优及控制系统设计取优及控制系统设计 2 1 设计功能要求设计功能要求 舞蹈机器人集软件与硬件于一体 是一个比较完善的系统 其设计需要控制 机械 舞蹈与音乐等各方面的相互融合 控制系统则是整个舞蹈机器人的核心 其设计的好坏 将严重影响到整个舞蹈机器人的性能 舞蹈机器人的控制系统包 括硬件电路与软件设计两方面 整个舞蹈机器人控制系统的设计与实现过程 具体控制要求如下 1 本系统采用分时复用的方法 利用 PWM 信号对驱动电机进行控制 1 2 能正确接收 PC 指令 3 可实现舞蹈动作的编辑存储 4 能驱动电机实现舞蹈动作 5 能进行碰撞保护 2 2 方案论证取优方案论证取优 随着世界第一台工业机器人 1962 年在美国诞生 机器人已经有了五十多年 的发展史 五十多年来 机器人由工业机器人到智能机器人 成为 21 世纪具有 代表性的高新技术之一 其研究涉及的学科涵盖机械 电子 生物 传感器 驱动与控制等多个领域 世界著名机器人学专家 日本早稻田大学的加藤一郎教授说过 机器人 应当具有的最大特征之一是步行功能 两足步行是步行方式中自动化程度最高 最为复杂的动态系统 两足步行系统具有非常丰富的动力学特性 对步行的环 境要求很低 对环境有很好的适应性 双足机器人具有支撑面积小 支撑面的 形状随时间变化较大 质心的相对位置高的特点 是其中最复杂 控制难度最 大的动态系统 但由于双足机器人比其它足式机器人具有更高的灵活性 因此 设计成仿人形的舞蹈机器人优先选择两足步行系统 其典型特点是机器人的下 肢以刚性构件通过转动副联接 模仿人类的腿及髋关节 膝关节和踝关节 并 以执行装置代替肌肉 实现对身体的支撑及连续地协调运动 各关节之间可以 有一定角度的相对转动 舞蹈机器人的运动全靠下肢支撑 因此采用两足步行 机器人的两足步行系统 2 3 自由度的分配自由度的分配 舞蹈机器人 如图 1 具有人类外观特征 可爱的外貌 又兼有技术含量 极受青少年的喜爱 本课题要求设计一具有简单人体功能的 模拟舞蹈动作的 类人型机器人 完成简单人体舞蹈的基本动作 可以前进后退 左右侧行 左 右转弯和前后摆动手臂 举手投足 转圈 头部动作灵活 下肢确定采用两足 步行机器人的两足步行系统 舞蹈机器人的机械结构可以确定 具体如下 舞蹈机器人设计成仿人形 分别具有上下肢 头部 腰部等关节 能够模 仿人类基本的动作 其机械结构如图 所示 1 头部 具有 个自由度 实 现头部的左右转动 2 上肢 每只手各具有 4 个自由度 分别实现肩部的左 右摆动 肩部的前后摆动 手臂的转动和肘关节的摆动 手的转动和腕关节的 摆动 3 腰部和下肢 腰部和下肢通过髋关节相连 髋关节配置 3 个自由度 包括转体 roll 俯仰 pitch 和偏转 yaw 自由度 膝关节配置一个俯仰自由度 踝关节配置有俯仰和偏转两个自由度 这样 每条腿配置 6 个自由度 两条腿 2 共 12 个自由度 图 图 舞蹈机器人机械结构图舞蹈机器人机械结构图 舞蹈机器人的自由度总体配置如图 3 所示 图图 2 舞蹈舞蹈机器人的自由度总体配置图机器人的自由度总体配置图 图 2 中 机器人从右脚踝关节 膝关节 髋关节 腰部 到左脚腰部 髋 关节 膝关节 踝关节 自由度配置分别为 1 2 3 4 5 6 7 8 9 10 11 12 从右手腕关节 肘关节 肩部 到左手肩部 肘关节 腕关 节 自由度配置分别为 13 14 15 16 17 18 19 20 头部 的自由度配置为 21 舞蹈机器人的运动是通过各个自由度连续的进行各种角度组合而完成的 髋关节 膝关节和踝关节的俯仰自由度共同协调动作可完成机器人的在纵向平 面 前进方向 内的直线行走功能 髋关节的转体自由度可实现机器人的转弯功 3 能 髋关节和踝关节的偏转自由度协调动作可实现在横向平面内的重心转移功 能 为了方便舞蹈机器人的控制程序编写 建立空间坐标系 横向平面 偏转 方向 为 X 轴方向 纵向平面 前进 俯仰方向 为 Y 轴方向 舞蹈机器人的身 高 垂直方向 为 Z 轴方向 机器人的转体 roll 俯仰 pitch 和偏转 yaw 定义 如图 3 所示 图图 3 舞蹈机器人方向舞蹈机器人方向示意示意图图 2 4 电机的选择电机的选择 电动机也称电机 俗称马达 在电路中用字母 M 旧标准用 D 表 示 它的主要作用是产生驱动力矩 作为用电器或小型机械的动力源 常用的 电机有直流电机 步进电机 舵机等 下面我们大概对直流电机 步进电机 舵机进行一下对比 见表 1 表表 1 电机对比电机对比 电机优点缺点适用重量应用场合 直流 电机 功率大 接口简单 容易购得型号多 较难装配 较贵 控制复杂 任何重量的 机器人 较大型机器 人 步进 电机 精确的速度控制型号 多 接口简单 便宜 体积大 较难装 配 功率小 控 制复杂 轻型机器人巡线跟踪机 器人 迷宫 机器人 舵机 易于安装 接口简单 功率中等 负载能力较低 速度调节范围较 小 重至 2 5kg 的机器人 小型机器人 步行机器人 4 通过表 1 中电机性能的对比 可以确定舞蹈机器人实现各自由度选择的电 机 设计舞蹈机器人舞蹈动作时可知道 机器人的头部舞蹈动作较为简单 只 需要能在前方 180 范围内转动 所以头部选择用 1 个舵机 双臂的舞蹈动作 也没有特殊要求 舵机比较合适 所以两条手臂选择用 8 个舵机 舞蹈机器人 需要用双腿做滑行动作 选择用直流电机完成 所以双腿需要 8 个舵机 两个 直流电机 由于已经选定舵机 就可以根据加入垫片以后各宽度设计支架的宽度 并 按着人体比例设计大腿 小腿处需要的支架的长度 从而计算出组装舞蹈机器 人所需要的各部件的尺寸 2 5 舞蹈机器人的机械部件舞蹈机器人的机械部件 舞蹈机器人的核心部件是舵机 是舞蹈机器人运动的动力源 选用型号 MG995 用于连接舵机与铝合金支架的部件为舵盘 因为舵机左右结构不同 所以舵盘分两种 舵盘 a 用于连接舵机的齿轮端 舵盘 b 用于配合舵机的 光滑轴端 用于机器人的四肢主体支撑关节的铝合金支架 起着连接舵机与舵 机 舵机与腰部的身体板的重要作用 连接块 在 4 个面上都有螺纹孔 用于 舵机与铝合金关节的连接以及关节与关节之间的连接 腰部身体板 主要用于 连接腿部 放置单片机和固定蓄电池 上身支架板 链接腰部 头部与双臂 内部中空 脚底板 中间安装轱辘 可通过直流电机实现滑行功能 2 6 系统设计方案分析系统设计方案分析 舞蹈机器人控制系统的硬件部分包括电源模块 单片机及外围接口电路模 图图 4 控制系统硬件框图控制系统硬件框图 P0 4 P0 5 P1 HS0 0 HS0 1 I O AT89C51 单片机 EXLNT RXD TXD P0 0 P0 3 P2 6 P2 7 Vcc 串行通信开关 无线启动开关 外部时钟 复位电 路外部程序存储器 PC 机 编辑舞蹈动作 AT24C16 FLASH MEMORY RS232 电平 转换电路 舵机的 驱动控 制电路 直流电机的 驱动电路 防碰撞 模块 电源模块 舵机 直流 电机 17 路 舵机 2 路直流 电机 5 块 存储模块 串行通信模块 电机驱动控制模块及防碰撞模块六大部分 其 整体结构框图如图 4 所示 3 系统硬件选型系统硬件选型 3 1 单片机单片机可编程控制器部分可编程控制器部分 3 1 1 单片机概述 单片机 全称单片微型计算机 英语 Single Chip Microcomputer 又称 微控制器 Microcontroller 是把中央处理器 存储器 定时 计数器 Timer Counter 各种输入输出接口等都集成在一块集成电路芯片上的微型计 算机 与应用在个人电脑中的通用型微处理器相比 它更强调自供应 不用外 接硬件 和节约成本 它的最大优点是体积小 可放在仪表内部 但存储量小 输入输出接口简单 功能较低 由于其发展非常迅速 旧的单片机的定义已不 能满足 所以在很多应用场合被称为范围更广的微控制器 由于单芯片微电脑 常用于当控制器故又名 single chip microcontroller 但是目前在中国大陆仍多沿 用 单片机 的称呼 单片机是一种集成电路芯片 是采用超大规模集成电路技术把具有数据处 理能力的中央处理器 CPU 随机存储器 RAM 只读存储器 ROM 多种 I O 口和 中断系统 定时器 计时器等功能 可能还包括显示驱动电路 脉宽调制电路 模拟多路转换器 A D 转换器等电路 集成到一块硅片上构成的一个小而完善 的微型计算机系统 在工业控制领域的广泛应用 从上世纪 80 年代 由当时的 4 位 8 位单片机 发展到现在的 32 位 300M 的高速单片机 3 1 2 单片机选型 单片机及其外围接口电路模块包括单片机 时钟电路 复位电路 外部程 序 表表 2 AT89C51 单片机的主要特性单片机的主要特性 1与 MCS 51 兼容 24K 字节可编程闪烁存储器 3寿命 1000 写 擦循环 4数据保留时间 10 年 5全静态工作 0Hz 24Hz 6三级程序存储器锁定 7128 8 位内部 RAM 832 可编程 I O 线 9两个 16 位定时器 计数器 105 个中断源 6 1111 可编程串行通道 12低功耗的闲置和掉电模式 13片内振荡器和时钟电路 存储电路 根据系统的应用领域 采集数据的类型和大小 I O 口数 以及设置 数据需要得内存大小 本文中所选用的单片机采用 Atmel 公司的 AT89C51 AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器 FPEROM Falsh Programmable and Erasable Read Only Memory 的低电压 高性能 CMOS8 位微处理器 俗称单片机 单片机的可擦除只读存储器可以反 复擦除 100 次 该器件采用 ATMEL 高密度非易失存储器制造技术制造 与工 业标准的 MCS 51 指令集和输出管脚相兼容 由于将多功能 8 位 CPU 和闪烁存 储器组合在单个芯片中 ATMEL 的 AT89C51 是一种高效微控制器 AT89C51 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案 其主要特性 如表 2 3 2 电源模块电源模块 电源模块就相当于把一个电源所需要的各种元器件集成到一块芯片或者一 块电路板上 而电源从基本分类上可以分为线性电源和开关电源两大类 开关 电源的效率比较高 但纹波系数大 而线性电源的特点刚好相反 效率低但精 度可以做得很高 所以精密电源基本上都是加了数字控制的线性电源 本设计 中的电源模块主要用来给光电隔离前的芯片 光电隔离后的芯片 舵机与直流 电机分开供电 使其相互之间不会产生干扰 在电源模块中 由于采用同一个 8V 镍镉电池供电 故设计中采用了 DC CD 转换模块 CD05S05 5W 光电耦合 7805 稳压电路 实现电压的转换和信号的隔离 从而保证其余各电路的正常工 作和排除相互之间的干扰 3 3 串行通信模块串行通信模块 串行通信模块主要用于 AT89C51 单片机与 PC 机之间的串行通信 串行通 讯模板只有 RS232C 或 TTY 或 RS485 422 三种电气接口类型 本设计由于 PC 机的 COM 口符合 RS 232 标准 AT89C51 单片机上的串行接口是 CMOS 电平 在 RS 232 与 CMOS 电平通信时 需要电平转换 因此 设计时利用 MAX232 芯 片来作电平转换 MAX232 芯片是 MAXIM 公司生产的 包括两路接收器和驱 动器的 RS 232 电平转换芯片 适用于各种 232 通信接口 其内部有 1 个电源电 压变换器 可以把输入的 5V 电源电压变换成 RS 232 输出电平所需的 10V 电 压 如图 5 所示 7 图图 5 串行通信模块图串行通信模块图 3 4 存储模块存储模块 在舞蹈机器人控制系统中 舞蹈动作的编辑与执行是分开的 舞蹈动作的 编辑是在 PC 机上完成的 而舞蹈动作的执行是在单片机上完成的 因而必须 把舞蹈动作进行存储 以转换到单片机上执行 设计中利用 AT24C16 作为舞蹈 动作的存储元件 AT24C16 可以充分利用单片机的 I O 口 仅需 2 根通信线 其通信格式是 12C 总线 3 5 电机驱动控制模块电机驱动控制模块 对于舵机和直流电机 其驱动控制稍有不同 现分述如下 3 5 1 舵机的驱动控制模块 舵机的控制信号来自 AT89C51 单片机的 P1 口 利用三片锁存器 74LS573 可提供 24 路控制信号 其中舵机用到 17 路控制信号 为了防止干扰 17 路舵 机控制信号和驱动电路应经过 TLP 521 光电隔离 通过隔离出来的控制信号 还必须接入 LM324 比较器 以消除毛刺 增加信号的稳定性 提高信号的输出 电流 以便舵机能够正确工作不至于产生不必要的抖动 此外 由于舵机数量 多 为了节省 I O 口 可通过 P1 口的分时复用和锁存器来实现 在系统中 由 8 于程序执行都在微秒级 在舞蹈动作执行时 用到定时器中断 而定时器是采 用 0 25ms 进行中断 因而 在时间上完全可以采用分时复用的方法来实现舵机 的控制 由于本机器人机构采用了 17 个舵机 本控制系统就是要实现能同时驱动这 17 个舵机的功能 由前面的叙述知道 舵机的控制信号为周期是 20ms 的脉宽 调制 PWM 信号 其中脉冲宽度从 0 5ms 2 5ms 相对应舵盘的位置为 0 180 呈线性变化 也就是说 给它提供一定的脉宽 它的输出轴就会保持 在一个相对应的角度上 无论外界转矩怎样改变 直到给它提供一个另外宽度 的脉冲信号 它才会改变输出角度到新的对应的位置上 舵机输出转角与输入 信号脉冲宽度的关系如图 6 所示 图图 6 舵机输出转角与输入信号脉冲宽度的关系舵机输出转角与输入信号脉冲宽度的关系 传统产生 PWM 波的方法是通过大量的分立元件来实现的 所产生的脉冲频 率和宽度往往不是很准确 很难做到对舵机的精确控制 目前 产生 PWM 波 的方法有很多种 最直接的方法就是用单片机本身所带的 PWM 口产生波形 但 该方法受 MCU 内部资源的限制 仅能实现 2 4 路 PWM 波的输出 对于需要 多路舵机的场合显然是不够的 另一种方法就是利用分时复用的思想利用单片 机一个中断产生 7 路控制 futaba 舵机用 PWM 波的方法 该方法虽然实现了 7 9 路舵机的控制 但也仅能实现 7 路舵机的控制 并且仅针对特定舵机的控制 控制精度也不高 在一些重要场合的应用受到了限制 还有一种方法就是利用单 片机纯软件的循环计数的方法或者 利用硬件定时 软件计数相结合的方法 在不增加任何硬件接口的前提下 实现了多路 PWM 波的输出 然而此方法大 量占用 MCU 运算时间 基本不能再处理其它的事务 并且精度不高 另外 目前一些数字信号处理芯片片内就集成了 PWM 波形产生的功能 只需要进行寄存器参数的设置就可得到 PWM 的输出 但在一些只需要简单电 机控制的场合 从成本考虑不需要较为昂贵的数字信号处理芯片 本文采用一片 51 单片机和一片复杂可编程逻辑器件 CPLD 实现了 PWM 的产生 由于 CPLD 具有他特有的并行处理能力和大量的 I O 接口 可以同时 控制几十甚至上百个舵机同时工作 可以为后续的工作留出一定的空间 但由 于 CPLD 不具备事务处理能力 实际应用中还需要 MCU 协同工作 本文使用 51 系列的单片机和 CPLD 协同控制舵机 另外 使用了单片机 还可以为后续 的传感器反馈处理留出空间 结构图如图 7 所示 RS232 图图 7 控制系统结构图控制系统结构图 控制系统如图 7 所示 选用 上位机 串口 下位机 的控制系统解决方案 上位机控制软件的主要功能是对预定的机器人动作进行规划和位置插补 再按 照一定时间间隔和次序进行发送给下位机 实现机器人关节位置和近似的速度控 制 下位机主要功能是接收上位机发送的位置信号 根据信号要求产生 PWM 波 控制机器人各个关节舵机运动 使机器人按动作规划完成舞蹈动作 相应的 下位机主要由完成串口通信 数据的调度和 17 个舵机驱动模块构成 控制计算机 上位机 MAX232 RAM UART 单片机 8051 下位机 舵机 1 17 CPLD 晶振 直流电机 10 图 8 为 CPLD 的 17 路舵机驱动原理框图 CPLD 通过一个简单的接口与 51 单片机进行通信 把要驱动的 17 个舵机的 PWM 信号数据存入到数据存储 区 从而通过数字 PWM 生成器驱动 17 个舵机转到需要的角度 当需要转换到 下一 PWM 波 形 1 17 图图 8 CPLD 的的 17 路舵机驱动原理框图路舵机驱动原理框图 个角度时 通过与 51 单片机的接口 从 51 单片机中传送新的 PWM 信号数据 到数据存储区中进行更新 这样数字 PWM 生成器就会驱动舵机转过一个新的 角度 舵机的控制电路图如图 9 所示 图图 9 舵机的控制电路舵机的控制电路 3 5 2 直流电机的驱动控制模块直流电机的驱动控制模块 舞蹈机器人进行舞蹈表演时 需要进行滑行表演 这是人体不能做到 的 所以机器人的两只脚是通过两个直流电机来运动的 为了使机器人能够实 现直线行走 转弯 侧滑等动作 必须对直流电机的转动方向与转速进行控制 为此我们选用了 L289N 驱动芯片 其控制电路图如上页图 10 所示 L289N 是高电压 高电流的双 桥驱动器 利用一片 L289N 就可以实现对 个直流电机的控制 每个直流电机用三路控制信号 其中两路为转向控制信 号 IN1 和 IN2 或 IN3 和 IN4 一路为转速控制信号 ENA 或 ENB 每组有 两路输出信号 可以直接接到直流电机的引线上 通过改变 IN1 和 IN2 或 IN3 和 IN4 输入端的高低电平值 即可实现直流电机的转向控制 ENA 与 ENB 所引入的信号是 PWM 波 通过改变 PWM 波的脉宽 进而改变加在直流 与 51 单 片机的接 口 数据存储区 数字 PWM 生成器 1 17 11 电机上的平均电压 就可以实现直流电机的速度控制 为了防止直流电机在启 动 停止瞬间所产生的反馈电压损坏 L289N 在 L289N 和直流电机之间加入 8 个二极管 起断电续流的作用 从而保护元件 ISEN A 1 ENA 6 OUT2 3 VS 4 OUT1 2 GND 8 IN2 7 IN1 5 IN3 10 VSS 9 ENB 11 IN4 12 OUT3 13 OUT4 14 ISENB 15 L298N 15 L298N 56 U1C 74LS04 1 34 U1B 74LS04 1 1 2 3 4 OUT6 D6D4D7 D10D8D9 D5 D11 1 DP1 1 DP2 CGND GND GND CVCC ZVCC 1 ZPWN14 1 ZPWM15 GND ZVCC 图图 10 直流电机驱动控制电路直流电机驱动控制电路 3 6 防碰撞模块防碰撞模块 由于舞蹈机器人需要运动起来 进行舞蹈动作的表演 难免会出现磕磕碰 碰 虽然本设计描述的舞蹈机器人是钢架结构 但也只是外壳比较结实罢了 本质上舞蹈机器人是一个脆弱的物体 机器人在舞台边缘做一些动作时 就有 可能发生碰撞或者卡死 这样会对机器人内部的控制系统硬件造成损毁 所以 需要对舞蹈机器人进行防碰撞保护 保护的方式首先在在机器人外部的前后左 右方向装了四个碰撞传感器 选择压力传感器 加上相应的逻辑电路 当机器 人发生碰撞对压力传感器压力达到对机器人内部电路有损时 产生逻辑信号 舞蹈机器人控制系统中的防碰撞模块对该信号进行处理 作为外部中断信号输 入 AT89C51 单片机 让所有电机都停止工作 从而完成了对发生碰撞或卡死的 情况进行处理 此防碰撞功能是通过 AT89C51 外部中断来处理的 4 控制系统软件设计控制系统软件设计 软件部分是控制系统设计中最重要的部分 它关系到舞蹈动作的编辑 存储和 执行 软件由 PC 机上的软件设计和单片机上的软件设计两部分组成 在此仅 12 介绍单片机的软件设计 单片机上的控制程序包括一个主程序和相应的中断服 务子程序 其程序流程如图 11 所示 N Y N Y 图图 11 程序控制总流程图程序控制总流程图 其中 P0 5 是串行数据的开关控制量 不等于 1 表示单片机进入串行中断 等待 进而机与 PC 机进行数据交换 等于 1 表示程序往下执行 P0 4 是机器 人开始跳舞的遥控开关 等于 1 表示机器人开始跳舞 否则 机器人保持原 来状态 4 1 主程序主程序 主程序主要负责设置堆栈指针和中断向量 对所用到的特殊寄存器进行初 始化和舞蹈动作初始化 设置定时器中断 设置串口中断和串口通信波特率及 开 关中断 设置 P0 4 的状态控制无线遥控器启动机器人 调用相应的子程序 4 2 定时器中断服务子程序定时器中断服务子程序 定时器中断服务子程序用于产生舵机 直流电机的 PWM 控制信号和加载 舞蹈动作 在设计中 由于 AT89C51 内部的定时器 1 已作为 HSO 产生 PWM 开始 外部中断 定时器中断 串口中断 初始化舞蹈动作初始化 P0 5 1 P0 4 1 舞蹈动作的读取和执行 防碰撞处理 结束 单片机与 PC 机串行通信 舞蹈动作存储 13 信的时间基准 因而采用定时器 2 作为舞蹈机器人的时间控制 其中断向量单 元为 2000H 每 0 25ms 中断一次 定时时间一到 则转入中断服务程序 生成 PWM 控制信号和直流电机的转动方向控制信号 驱动舵机和直流电机运转 进而控制机器人各个关节做出各种各样的动作 4 3 串行中断服务子程序串行中断服务子程序 串行中断服务子程序实现 AT89C51 从 PC 机下载舞蹈动作和由 AT89C51 向 PC 机上传舞蹈动作 通过串行中断 利用 AT89C51 的 TXD RXD 引脚与 PC 机的 COM 口实现串行通信 二者之间采用全双工的异步通信模式 其波特 率设为 9600 此外为了保正数据的 正确传输 软件设计了握手协议 在传输数通信的据前 先进行单片机与 PC 机的握手 采用 与 一对字符进行握手 握手协议通过 表示单 片机与 PC 机建立了可靠的通信 就可以进行数据传输可以了 4 4 外部中断服务子程序外部中断服务子程序 外部中断服务子程序用于处理机器人的边缘碰撞问题 通过外部中断 对 机器人前后左右四个方向上的碰撞做出处理 确保机器人不会因为碰撞影响以 后动作的执行 对碰撞的处理 实际上就是改变保存舞蹈动作的寄存器 由于 每 0 5s 读取一次动作数据 因此对碰撞的处理只有在碰撞发生后的 0 5s 内才能 生效 只要对直流电机的控制数据设置恰当 就完全可以满足要求 使其不影 响以后动作的执行 14 5 结论结论 本舞蹈机器人的控制系统设计 涉及到了机器人的机械部分 硬件部分和 软件部分 在机械部分 本设计采用钢架结构 用舵机模拟人体的关节 通过 各个舵机进行各种转角组合而完成机器人的各种仿人形动作 在舞蹈机器人的 脚部 装上了轱辘 通过直流电机提供动力 可实现机器人的滑行 这是人类 舞蹈动作的禁区 控制系统的硬件部分 是通过 Atmel 公司的 AT89C051 单片 机微控制器作为控制芯片 来完成舞蹈机器人的控制系统设计的 机器人至今 已近进行了半个世纪的发展 各个方面都有成熟的技术了 只是在精细化上有 所欠缺 本设计对舞蹈机器人的控制系统设计的浅显探索 希望能够对机器人 控制系统的发展有所贡献 15 参考文献参考文献 1 沙占有 王彦朋 单片机外围电路设计 M 北京 机械工业出版 社 2003 2 石秋洁 变频器应用基础 M 北京 机械工业出版社 2003 3 胡汉才 单片机原理与系统设计 M 清华大学出版社 2002 4 高峰 单片微型计算机原理与接口技术 M 2003 5 孙涵芳 Intel 16位单片机 M 北京 科学出版社 1998 6 李 华 MCS 51系列单片机实用接口技术 M 北京航空航天大学 出版社 1993 8 7 潘存云 高里基 通用工业机器人运动仿真系统 IRKSS 机器人 M 1994 9 2 94 97 8 徐爱钧 彭秀华 Keil Cx51 V7 0单片机高级语言编程与 Vision2应 用实践 M 电子工业出版社 2004 9 丹尼斯 克拉克 迈克尔 欧文斯 机器人设计与控制 M 科学出版 社 2004 10 解仑 王志良 李华俊 双足步行机器人制作技术 M 机械工业出 版社 2008 11 万光毅 严义 邢春香 单片机实验与实践教程 一 第二版 M 北京 北京航空航天大学出版社 2006 12 梅晓榕 柏桂珍 张卯瑞 自动控制元件及线路 M 北京 科学出 版社 2007 13 陈石胜 单片机技术 做中学 实例教程 M 北京 国防工业出版 社 2010 14 王毅 单片机器件应用手册 M 北京 人民邮电出版社 1994 15 杨帮文 实用电子小制作精选 M 北京 人民邮电出版社 2006 16 Siemens AG SIMATIC STEP7编程手册 Z 20 17 Z Yan A microstrip patch resonator with a via connecting ground plane J Microwave and optical technology letters 2002 1 18 Dogra AK Indian Agr Res Inst Div Agr Engn New Delhi India Development of an intelligent controller for greenhouse management Acta 16 Horticulturae 2002 0 578 附录附录 系统程序 include 51 芯片管脚定义头文件 include 内部包含延时函数 nop define uchar unsigned char define uint unsigned int sbit SDATA 595 P3 0 sbit SCLK 595 P3 1 sbit RCK 595 P3 6 uchar run 0 uchar num 0 uchar i sbit in0 P1 0 sbit in1 P1 1 sbit in2 P1 2 sbit in3 P1 3 sbit in4 P1 4 sbit in5 P1 5 sbit in6 P1 6 sbit in7 P1 7 sbit in8 P0 0 unsigned char state0 A 0 unsigned char state0 B 0 unsigned char state1 A 0 unsigned char state1 B 0 unsigned char state2 A 0 unsigned char state2 B 0 nsigned char state3 A 0 unsigned char state3 B 0 unsigned char state4 A 0 unsigned char state4 B 0 unsigned char state5 A 0 unsigned char state5 B 0 unsigned char state6 A 0 unsigned char state6 B 0 unsigned char state7 A 0 unsigned char state7 B 0 unsigned char state8 A 0 unsigned char state8 B 0 unsigned int temp 0 xffff unsigned int temp 595 unsigned int temp 0 unsigned int temp 1 unsigned int temp 2 unsigned int temp 3 unsigned int temp 4 unsigned int temp 5 unsigned int temp 6 unsigned int temp 7 unsigned char P17 temp unsigned char P17 flag unsigned int num 0 0 xffff unsigned int num 1 0 xffff unsigned int num 2 0 xffff unsigned int num 3 0 xffff unsigned int num 4 0 xffff unsigned int num 5 0 xffff unsigned int num 6 0 xffff unsigned int num 7 0 xffff unsigned int num 8 0 xffff unsigned int count 0 0 unsigned int count 1 0 unsigned int count 2 0 unsigned int count 3 0 unsigned int count 4 0 unsigned int count 5 0 unsigned int count 6 0 unsigned int count 7 0 17 unsigned int count 8 0 void WR 595 void OUT 595 void scan void start 595 void void stop void void moto0 unsigned char s0 void moto1 unsigned char s1 void moto2 unsigned char s2 void moto3 unsigned char s3 void moto4 unsigned char s4 void moto5 unsigned char s5 void moto6 unsigned char s6 void moto7 unsigned char s7 void scan0 unsigned int n0 void scan1 unsigned int n1 void scan2 unsigned int n2 void scan3 unsigned int n3 void scan4 unsigned int n4 void scan5 unsigned int n5 void scan6 unsigned int n6 void scan7 unsigned int n7 void delay50ms int ms 将移位寄存器内的数据锁存到输出 寄存器并显示 void OUT 595 void RCK 595 0 nop nop RCK 595 1 上升沿将数据送到输出锁存器 nop nop nop RCK 595 0 595 开启子程序 void start 595 void WR 595 OUT 595 nop 停止子程序 void stop void temp 0 xffff 取数据 WR 595 把数据写入 595 的寄存器 OUT 595 nop 延时子程序 void delay50ms int ms int k while ms for k 12500 k 0 k nop nop nop 18 nop 开关电机 0 关电机 关某位用 1 或 其他位为 0 1 正转 开某位用 0 与 其他位为 1 2 反转 void moto0 unsigned char s0 switch s0 case 0 temp 0 temp temp 0 0 x0003 temp temp 0 break 关电机 case 1 temp 0 temp temp 0 temp temp 0 break 正转 case 2 temp 0 temp temp 0 temp temp 0 break 反转 void moto1 unsigned char s1 switch s1 case 0 temp 1 temp temp 1 0 x000c temp temp 1 break 关电机 case 1 temp 1 temp temp 1 temp temp 1 break 正转 case 2 temp 1 temp temp 1 temp temp 1 break 反转 void moto2 unsigned char s2 switch s2 case 0 temp 2 temp temp 2 0 x0030 temp temp 2 break 关电机 case 1 temp 2 temp temp 2 temp temp 2 break 正转 case 2 temp 2 temp temp 2 temp temp 2 break 反转 void moto3 unsigned char s3 sw
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 信贷业务管理
- 养老项目调研
- 大闸蟹礼品券订购合同
- 中小企业金融服务平台建设与运营实施方案课件
- 广西玉林市第十一中学2024-2025学年高二上学期10月月考思想政治试卷(含答案)
- 四年级党规党章进课堂教学计划
- 巡河安全培训课件
- 巡察培训课件
- 岩石类型课件
- 输电线路安全培训内容课件
- 黄赌毒培训课件
- 肾动脉狭窄介入治疗讲课件
- 征迁岗位笔试题目及答案
- 2025-2030年中国拆船行业市场现状供需分析及投资评估规划分析研究报告
- DB13T 5470-2021 30%氧气-氦气混合气中氧气及杂质的检测色谱法
- T/SHPTA 033-2022聚氯乙烯软制品用钙锌复合热稳定剂
- T/CHES 42-2020水质涕灭威、克百威和甲萘威的测定液相色谱法
- 黑河市重点中学2025届八下数学期末统考模拟试题含解析
- 上门灭蚊合同范例
- 认识多面绘画-绘画的工具与材料 课件-2023-2024学年高一下学期美术人美版(2019)选择性必修1 绘画
- 2025-2030中国微藻行业市场发展趋势与前景展望战略研究报告
评论
0/150
提交评论