欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    运动仿真毕业设计“龙人宝贝”机器人的结构设计与控制.doc

    • 资源ID:3994276       资源大小:73KB        全文页数:47页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    运动仿真毕业设计“龙人宝贝”机器人的结构设计与控制.doc

    运动仿真毕业设计-“龙人宝贝”机器人的结构设计与控制 本 科 毕 业 设 计毕业设计题目 龙人宝贝机器人的结构设计与控制 学 生 姓 名 学 号 系 别 专 业 班 级 指导教师姓名及职称 起 止 时 间 2011年3月 2011年 6月摘 要本文所设计的机器人是以学校实验室中的龙人宝贝为参考而设计的内容是对基于单片机的机器人的结构设计与控制系统的设计综合运用C51单片机电子电路等知识进行智能移动机器人的控制系统设计以及研究本论文不仅注重理论知识的探讨更注重于理论知识在实际中的应用本文详细介绍机器人的硬件机构以及软件的设计同时利用传感器使机器人前行智能壁障并对其进行运动仿真关键词机器人 单片机 控制系统 运动仿真Abstract This robot is designed for laboratories in schools "Dragon Baby" as a reference and designContent is the robot control system based on single chip design the integrated use of C51 microcontroller electronic circuits and other knowledge for intelligent mobile robot control system design and researchThis thesis not only of theoretical knowledge-oriented more focused on theoretical knowledge in practical application This paper describes the robot hardware and software design of institutionsWhile taking advantage of the sensor to the robot forward smart barrier and its motion simulation Key words robot control system for motion simulation of single chip目 录1前言12智能机器人研究的概况221智能机器人研究的目的和意义222智能机器人的研究现状与发展趋势323本课题的主要内容53机器人的结构和外观设计531龙人宝贝机器人的介绍532龙人宝贝结构及参数533机器人结构与外观设计634三维建模635龙人机器人二维图104机器人的控制与实现1141硬件模块1142软件模块1543控制程序155总结23致 谢24参考文献25附录26 龙人宝贝机器人的结构设计与控制孙浩1前言机器人Robot是自动执行工作的机器装置它既可以接受人类指挥又可以运行预先编排的程序也可以根据以人工智能技术制定的原则纲领行动它的任务是协助或取代人类工作的工作例如生产业建筑业或是危险的工作现在国际上对机器人的概念已经逐渐趋近一致一般来说人们都可以接受这种说法即机器人是靠自身动力和控制能力来实现各种功能的一种机器联合国标准化组织采纳了美国机器人协会给机器人下的定义一种可编程和多功能的用来搬运材料零件工具的操作机或是为了执行不同的任务而具有可用电脑改变和可编程动作的专门系统机器人一般由执行机构检测装置和控制系统和复杂机械等组成20世纪80年代以来工业机器人技术逐渐成熟并很快得到推广目前已经在工业生产的许多领域得到应用在工业机器人逐渐得到推广和普及的过程中下面三个方面的技术进步起着非常重要的作用1驱动方式的改变20世纪70年代后期日本安川电动机公司研制开发出了第一台全电动的工业机器人而此前的工业机器人基本上采用液压驱动方式与采用液压驱动的机器人相比采用伺服电动机驱动的机器人在响应速度精度灵活性等方面都有很大提高因此也逐步代替了采用液压驱动的机器人成为工业机器人驱动方式的主流在此过程中谐波减速器R V减速器等高性能减速机构的发展也功不可没近年来交流伺服驱动已经逐渐代替传统的直流伺服驱动方式直线电动机等新型驱动方式在许多应用领域也有了长足发展2信息处理速度的提高机器人的动作通常是通过机器人各个关节的驱动电动机的运动而实现的为了使机器人完成各种复杂动作机器人控制器需要进行大量计算并在此基础上向机器人的各个关节的驱动电动机发出必要的控制指令随着信息技术的不断发展C P U的计算能力有了很大提高机器人控制器的性能也有了很大提高高性能机器人控制器甚至可以同时控制20多个关节机器人控制器性能的提高也进一步促进了工业机器人本身性能的提高并扩大了工业机器人的应用范围近年来随着信息技术和网络技术的发展已经出现了多台机器人通过网络共享信息并在此基础上进行协调控制的技术趋势3传感器技术的发展机器人技术发展初期工业机器人只具备检测自身位置角度和速度的内部传感器近年来随着信息处理技术和传感器技术的迅速发展触觉力觉视觉等外部传感器已经在工业机器人中得到广泛应用各种新型传感器的使用不但提高了工业机器人的智能程度也进一步拓宽了工业机器人的应用范围22智能机器人的研究现状与发展趋势智能机器人是具有思维感知和行动功学人工智能微电子学光学 传感技术材料科学 仿生学等学科的综合成果智能机器人可获取处理和识别多种信息建立并实时修正环境模型 自主地完成较为复杂的操作任务 因此比一般的工业机器人具有更大的灵活性机动性和更广泛的应用领域2O世纪电子计算机的发明 使人类的脑力劳动自动化成为可能60年代智能机器人的出现开辟了智能生产自动化的新纪元机器和生产系统的智能化 用机器人代替人完成各种任务 这是人类智慧发展和机器进化的飞跃智能机器人作为新一代的生产工具在制造领域中应用 能排腺人为的不可控因素 实现高节奏高效和高质量生产 并是未来智能生产系统 如CIMS 的重要组成部分在非制造领域如核工业水下空间建筑采掘教灾 排险和作战等方面 可代替人完成人所不适或力所不及的各种工作在原能水下和外层空间可开辟新的产业目前 我国和许多国家都把智能机器人列为迎接未来挑战的高技术课题 并制订发展规划拨出巨款给予支持因此预计9O年代 智能机器人技术将会有突破性的进展主要研究领域及相关课题典型的智能机器人主要技术内容包括方面1 感觉识别技术1 视觉研究如三维视觉系统传感器 颜色识别传感器特殊环境中用的传感器视觉通用实时高速处理系统状况识别技术等2 触觉研究如接触觉灵巧传感器6轴力传感器等除此之外还有其它如距离觉 味觉 嗅觉等2 操作移动技术1 操作技术如直流驱动电机 执行机构多指手爪 操作器的作业坐标控制 定标小型轻量化技术柔性操作器等2 移动技术在楼梯移动恶劣道路上行走省能两足步行等3 控制 信息处理人工智能控制协调控制多层递阶控制远距离控制 高速高精度控制等智能机器人自动化的需要推动了机器人进步而机器人的发展提高了自动化水平为了解决工业原子能利用空间探测 海洋开发排险医疗军事等领域自动化需要而研制有特定应用背景的智能机器人基本上沿两条道路发展t一是在一般工业机器人基础上增加各种高性能传感器和知识库使之具感知能力和动作规划能力 二是在遥控操作器基础上增加移动能力环境感知能力自诊断自学习力及自主能力其中包括知识库和专家系统由于研究目的性明确针对性强 实际需要迫切制造单位与应用单位结合 资金和人力集中使用 因此成果显著见效快目前应用研究主要集中在精密装配机器人水下机器人移动机器人等方面另外利用神经网络等新技术的智能机器人也引起了人们的重视近几年来 许多国家都把智能机器人列为高技术发展规划的重要内容从研究方式来看已打破单位和国家的聂限 出现了单位联合 跨国共同研究的趋势如西欧七国高级机器人合作计划日本的极限作业机器人研究计划尤里卡 的欧洲机器人研究计划等从各国和国际间制订的研究计划来看虽然项目各异 但在研究特种作业的移动机器人方面都是不约面同 说明特种作业的移动机器人是近期竞相研究的重点目前 基于感觉控制的第二代机器人已进入普及应用阶段下一代机器人是具有自适应性自主性和自然性的高级机器人预计不久的将来可在技术上实现 并开始应用23本课题的主要内容1机器人的结构和外观的设计2机器人的造型建模绘制各零件的二维三维图形和运动仿真3编写程序实现对机器人的各种运动控制3机器人的结构和外观设计31龙人宝贝机器人的介绍图31 龙人宝贝机器人龙人宝贝是一个为学习单片机技术与C语言程序设计而开发的基础教育机器人平台包括一个由两个伺服舵机驱动的铝合金机器人对象和一块带有面包板的C51AVR教学板并根据不同课程的需要配有一些基本的传感器和电子元器件包使用者可跟随所配的教材的章节和步骤进行平台搭建电路搭接编写程序联机调试下载至单片机微控制器以执行各种机器人操作包括沿线行走走迷宫跟随光源距离检测或与其他机器人进行通讯沟通通过以上学习和操作不仅C51和AVR单片机的原理和应用技术同时学习C语言程序设计的技能和方法是一个单片机技术与C语言程序设计的创新教育机器人包括一个由两个伺服舵机驱动的机器人对象和一块带有面包板的AVR板控制板C51AVR 电源45V6V1800mAh充电电池电机性能参数扭力28kgcm48V34 kgcm60V 重量41g 33机器人结构与外观设计图32 龙人宝贝机器人三维模型 本文的机器人是以龙人宝贝机器人为基础而设计的图3-2为龙人机器人三维图他具有水路两用功能装有红外线避障装置由C51单片机控制两台伺服电动机实现机器人的运动设计灵感来源于水路两栖坦克水路两栖坦克利用与军事方面我的设计的机器人的用途范围可用于军事侦查等方面34三维建模利用三维软件proe40建模首先利用用proe40对机器人的每个零件进行建模最后进行装配组成最终的三维结构图ProEngineer是由美国PTC公司推出的新一代CADCAECAM产品它广泛应用于机械汽车航天家电玩具模具工业设计等行业ProEngineer的功能特点一ProEngineer的核心技术特点1基于特征ProEngineer以最自然的思考方式从事设计工作如钻孔槽倒圆角等均视为零件设计的基本特征除了充分掌握设计概念外还在设计过程中导入实际的制造观念也因为以特征作为设计的单元因此可随时对特征做顺序调整插入特征删除特征重新定义特征等修改操作2全参数化驱动ProEngineer可以通过尺寸驱动设计进行修改既通过编辑尺寸数值来驱动几何形状的改变并且可以利用关系生成各类关系式使某些几何模型可随其他几何尺寸的改变自动改变3全尺寸约束ProEngineer将几何形状与尺寸结合考虑通过尺寸约束实现对几何形状的控制造型必须以完整的尺寸参数为出发点全约束不能欠约束或过约束4单一数据库整个ProEngineer建立在统一的数据库上这样使软件的各模块都在存取同一个数据库中的数据当修改某一模块中的尺寸参数时其他相关模块中的相关尺寸也会自动更新5支持并行工程ProEngineer的产品开发环境支持并行工作它通过一系列完全相关的模块表述产品的外形装配及其他功能可以让多个部门的所有用户同时对同一产品开展设计制造工作包括对大型项目的装配体管理功能仿真制造和数据管理等具有真正的管理并发进程实现并行工程的能力二ProEngineer的功能模块1工业设计模组 CAID 包含用于对产品进行几何及外形外观设计ProAnimate动画仿真ProPhotoreder效果渲染2机械设计模组 CAD 本模块是一个高效的三维机械设计工具他可以绘制任意复杂形状的零件图33 机械设计模型3功能仿真模组 CAE 本模块主要进行有限元分析利用提供的分析功能在满足零件受力要求的基础上便可充分优化零件的设计4制造模组 CAM 在机械行业中用到的制造模块中的功能主要是注塑模具型腔设计与数控加工 5数据交换模组 Genometry Translator 本模块自动跟综和管理所创建的数据这些数据包括存储在模型文件或库零件中的数据主要完成与其它的CAD系统如UGEUCLIDCIMATRTONMDT等进行几何数据交换利用三维软件proe40建模的机器人的部分零件和三维结构如下图所示图34 浆和轴套 图35 电路板图36 龙人宝贝机器人三维模型35龙人机器人二维图上面已经在preo40里面画出了三维实体图现在生成工程图然后转化成CAD图纸打印出来在生成工程图的时候有几点应该必须值得我们去注意的首先我们要记得把绘图单位改成mm因为系统默认的绘图单位是inch修改方法如下文件属性绘图选项杂项选项drawing_units在下面弹出选项对话框里把inch改成mm其次在主视图投影俯视图之前应该在属性-绘图选项-projection_type里把third_angle改为first_angle最后在保存副本时应该把保存类型设为dwg或者dxf格式图37 机器人二维图4机器人的控制与实现41硬件模块AT89S52是一种低功耗高性能CMOS 8位微控制器具有8K 在系统可编程Flash 存储器使用Atmel 公司高密度非易失性存储器技术制造与工业80C51 产品指令和引脚完全兼容片上Flash允许程序存储器在系统可编程亦适于常规编程器在单芯片上拥有灵巧的8 位CPU 和在系统可编程Flash使得AT89S52在众多嵌入式控制应用系统中得到广泛应用1与MCS-51单片机产品兼容 28K字节在系统可编程Flash存储器 31000次擦写周期 4全静态操作0Hz-33MHz 5三级加密程序存储器 632个可编程IO口线 7三个16位定时器计数器 8六个中断源 9全双工UART串行通道 10低功耗空闲和掉电模式 11掉电后中断可唤醒 12看门狗定时器 13双数据指针 14掉电标识符 AT89S52 是一种低功耗高性能CMOS8位微控制器具有 8K 在系统可编程 引脚图AT89S52引脚图 DIP封装Flash 存储器使用Atmel 公司高密度非易失性存储器技术制造与工业80C51 产品指令和引脚完 全兼容片上Flash允许程序存储器在系统可编程亦适于 常规编程器在单芯片上拥有灵巧的8 位CPU 和在系统 可编程Flash使得AT89S52为众多嵌入式控制应用系统提 供高灵活超有效的解决方案 AT89S52具有以下标准功能 8k字节Flash256字节RAM 32 位IO 口线看门狗定时器2 个数据指针三个16 位 定时器计数器一个6向量2级中断结构全双工串行口 片内晶振及时钟电路另外AT89S52 可降至0Hz 静态逻 辑操作支持2种软件可选择节电模式空闲模式下CPU 停止工作允许RAM定时器计数器串口中断继续工 作掉电保护方式下RAM内容被保存振荡器被冻结 单片机一切工作停止直到下一个中断或硬件复位为止 P0 口P0口是一个8位漏极开路的双向IO口作为输出口每位能驱动8个TTL逻 辑电平对P0端口写1时引脚用作高阻抗输入 当访问外部程序和数据存储器时P0口也被作为低8位地址数据复用在这种模式下 P0不具有内部上拉电阻 在flash编程时P0口也用来接收指令字节在程序校验时输出指令字节程序校验 时需要外部上拉电阻 P1 口P1 口是一个具有内部上拉电阻的8 位双向IO 口p1 输出缓冲器能驱动4 个 TTL 逻辑电平对P1 端口写1时内部上拉电阻把端口拉高此时可以作为输入 口使用作为输入使用时被外部拉低的引脚由于内部电阻的原因将输出电流IIL 此外P10和P11分别作定时器计数器2的外部计数输入P10T2和定时器计数器2 的触发输入P11T2EX 在flash编程和校验时P1口接收低8位地址字节 引脚号第二功能 P10 T2定时器计数器T2的外部计数输入时钟输出 P11 T2EX定时器计数器T2的捕捉重载触发信号和方向控制 P15 MOSI在系统编程用 P16 MISO在系统编程用 P17 SCK在系统编程用 P2 口P2 口是一个具有内部上拉电阻的8 位双向IO 口P2 输出缓冲器能驱动 图42 引脚图AT89S52引脚图 PLCC封装4 个 TTL 逻辑电平对P2 端口写1时内部上拉电阻把端口拉高此时可以作为输入 口使用作为输入使用时被外部拉低的引脚由于内部电阻的原因将输出电流IIL 在访问外部程序存储器或用16位地址读取外部数据存储器例如执行MOVX DPTR 时P2 口送出高八位地址在这种应用中P2 口使用很强的内部上拉发送1在使用 8位地址如MOVX RI访问外部数据存储器时P2口输出P2锁存器的内容 在flash编程和校验时P2口也接收高8位地址字节和一些控制信号 P3 口P3 口是一个具有内部上拉电阻的8 位双向IO 口p3 输出缓冲器能驱动4 个 TTL 逻辑电平对P3 端口写1时内部上拉电阻把端口拉高此时可以作为输入 口使用作为输入使用时被外部拉低的引脚由于内部电阻的原因将输出电流IIL P3口亦作为AT89S52特殊功能第二功能使用如下表所示 在flash编程和校验时P3口也接收一些控制信号 端口引脚 第二功能 P30 RXD 串行输入口 P31 TXD 串行输出口 P32 INTO 外中断0 P33 INT1 外中断1 P34 TO 定时计数器0 P35 T1 定时计数器1 P36 WR 外部数据存储器写选通 P37 RD 外部数据存储器读选通 此外P3口还接收一些用于FLASH闪存编程和程序校验的控制信号 RST复位输入当振荡器工作时RST引脚出现两个机器周期以上高电平将是单片机复位 ALEPROG当访问外部程序存储器或数据存储器时ALE地址锁存允许输出脉冲用于锁存地址的低8位字节一般情况下ALE仍以时钟振荡频率的16输出固定的脉冲信号因此它可对外输出时钟或用于定时目的要注意的是每当访问外部数据存储器时将跳过一个ALE脉冲对FLASH存储器编程期间该引脚还用于输入编程脉冲PROG如有必要可通过对特殊功能寄存器SFR区中的8EH单元的D0位置位可禁止ALE操作该位置位后只有一条MOVX和MOVC指令才能将ALE激活此外该引脚会被微弱拉高单片机执行外部程序时应设置ALE禁止位无效 PSEN程序储存允许PSEN输出是外部程序存储器的读选通信号当AT89S52由外部程序存储器取指令或数据时每个机器周期两次PSEN有效即输出两个脉冲在此期间当访问外部数据存储器将跳过两次PSEN信号 EAVPP外部访问允许欲使CPU仅访问外部程序存储器地址为0000H-FFFFHEA端必须保持低电平接地需注意的是如果加密位LB1被编程复位时内部会锁存EA端状态如EA端为高电平接Vcc端CPU则执行内部程序存储器的指令FLASH存储器编程时该引脚加上12V的编程允许电源Vpp当然这必须是该器件是使用12V编程电压Vpp XTAL1振荡器反相放大器和内部时钟发生电路的输入端 XTAL2振荡器反相放大器的输出端keil uvision2简介Keil uVision2是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统使用接近于传统c语言的语法来开发与汇编相比C语言在功能上结构性可读性可维护性上有明显的优势因而易学易用而且大大的提高了工作效率和项目开发周期他还能嵌入汇编您可以在关键的位置嵌入使程序达到接近于汇编的工作效率 系统功能Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具全Windows界面使您能在很短的时间内就能学会使用keil c51来开发您的单片机应用程序 另外重要的一点只要看一下编译后生成的汇编代码就能体会到Keil C51生成的目标代码效率非常之高多数语句生成的汇编代码很紧凑容易理解在开发大型软件时更能体现高级语言的优势include 头文件的作用包含程序中需要用到的标准数据类型标准函数和自定义函数等信息 uarth的作用函数uart_Init 的定义和实现uart_Init 串口初始化 串口初始化函数用来规定单片机串口是如何与PC通信的其代码如下 8051串口中断驱动程序include include define XTAL 11059200define baudrate 9600define OLEN 8 串行发送缓冲区大小unsigned char ostart 发送缓冲区起始索引unsigned char oend 发送缓冲区结束索引char idata outbufOLEN 发送缓冲区存储数组define ILEN 8 串行接收缓冲区大小unsigned char istart 接收缓冲区起始索引unsigned char iend 接收缓冲区结束索引char idata inbufILEN 接收缓冲存储数组bit bdata sendfull 发送缓冲区满标志bit bdata sendactive 发送有效标志串行中断服务程序static void com_isr void interrupt 4 using 1 串口中断 -接收数据中断- char c if RI 接收中断 c SBUF 读字符 RI 0 清接收中断请求标志 if istartILEN iend inbufiend ILEN-1 c 缓冲区接收数据 include 1delay_nms unsigned int n 毫秒级延时 2delay_nus unsigned int n 微秒级延时 delay functions usms 内嵌汇编的方法一般格式 pragma ASM nop pragma ENDASMvoid delay_nus unsigned int i 延时i 12 i的最小延时单12 us i i10 while -i void delay_nms unsigned int n 延时n ms n n1 while -n delay_nus 900 延时 1ms同时进行补偿 Forward "Forward"17001300 Backward "Backward"1300170065 LeftTurn "Turn Left"1300130026 RightTurn "Turn Right"1700170026 注6526等数字是指循环的次数这实际是用来控制运动执行的时间如循环130次大约需要3秒向前程序代码如下void For_Ward void P1_1 1delay_nus ForwardpulseLeft P1_1 0P1_0 1delay_nus ForwardpulseRight P1_0 0delay_nms 20 向左程序代码如下void Left_Turn void int i for i 1i LeftTurncounteri P1_1 1delay_nus LeftTurnpulseLeft P1_1 0P1_0 1delay_nus LeftTurnpulseRight P1_0 0delay_nms 20 向右程序代码如下void Right_Turn void int i for i 1i RightTurncounteri P1_1 1delay_nus RightTurnpulseLeft P1_1 0P1_0 1delay_nus RightTurnpulseRight P1_0 0delay_nms 20 全速前进程序代码如下include 宝贝车的标准头文件include 串口的头文件int main void 主函数程序从这里开始运行 usta_Init 串口初始化uint16_t counter 定义16位无符号整型变量SET_DDRD7 设置PD7为输出口SET_DDRC3 设置PC3为输出口SET_DDRC2 设置PC2为输出口printf "Program Runningn" 在调试窗口显示一条信息在开始时Counter被设为1并在每次重复的最后被增加1在循环重复前如果Counter大于6000则循环结束for counter 1counter 6000counter 开始复位信号 HIGH_PORTD7 设置PD7输出高电平delay_nus 166 延时000016sLOW_PORTD7 设置PD7输出低电平 delay_nus 166 延时000016s 在开始时Counter被设为1并在每次重复的最后被增加1在循环重复前如果Counter大于等于130则循环结束for counter 0counter 130counter 运行3秒 HIGH_PORTC3 设置PC3输出高电平delay_nus 1700 延时00017sLOW_PORTC3 设置PC3输出低电平HIGH_PORTC2 设置PC2输出高电平delay_nus 1300 延时00013sLOW_PORTC2 设置PC2输出低电平delay_nms 20 延时20ms 433避障运动流程图图43 避障运动流程图 龙人宝贝机器人能实现避障运动主要是靠两个电机控制其运动具体流程如上图所示当打开电源开头首先就恢复到中间位置然后控制倾伺服电机运动前行当红外线发射器接收到前方有障碍物时就会给伺服电机给一个适当脉冲首先实现其停止然后实现机器人的转向如此循环反复就实现了机器人的避障运动434避障运动部分程序以下是实现机器人避障运动的部分程序完整程序在附件中红外线导航程序代码如下include 宝贝车的标准头文件include 串口的头文件int PC0_state void 获取PC0的状态 return PINC0x01 10 判断红外和声是否遇到探测物 int PC1_state void 获取PC1的状态 return PINC0x02 10 判断红外和声是否遇到探测物 void IRLaunch unsigned char IR int counter if IR L for counter 0counter 38counter HIGH_PORTD6 delay_nus 13 LOW_PORTD6 delay_nus 13 if IR R for counter 0counter 38counter 右边发射 HIGH_PORTD5 delay_nus 13 LOW_PORTD5 delay_nus 13 435运动实例演示前面提到只要我们给伺服电机以不同的脉冲宽度配合就能实现各种运动比如匀速运动向左向右转弯下面请允许我演示一下各种运动情况在展示之前首先利用Keil uVision2软件将已编制的程序生成可执行hex文件使用AVR_fighter软件通过USBASP下载器将hex文件下载到单片机中这样便可以实现自己想要的对机器人各种运动的控制请看视频短片可能大家也在录制的视频短片中发现了一些问题与不足在之后的总结中我也有提到还请大家多多包涵5总结通过这次毕业设计让我对机械设计以及单片机及编程有了更深一步了解但由于自身能力及各方面因素仍还有些不尽如人意的地方比如在输出轴上的防水问题考虑的不是很周到机器人在遇到障碍物的时候停的很急在机器人的外观合理性程序的合理性等方面都有待提高希望下届的师弟师妹们如有做这个毕业设计课题的能有进一步的改善致 谢经过本次毕业设计已经作为一个本科生的毕业设计由于经验的匮乏有许多考虑不的地方如果没有指导想要完成设计但在我做毕业设计的每个阶段从查阅资料到设计草案的确定和修改中期检查后期详细设计装配草图等整个过程中都给予了我悉心的指导我的设计较为复杂烦琐但是老师仍然细心地纠正中的错误除了敬佩老师的专业水平外的治学严谨和科学研究的精神也是我永远学习的榜样并将积极影响我今后的学习和工作 其次要感谢我的同学对我无私的帮助特别是在方面正因为如此我才能顺利的完成设计我还要感谢那些曾给我授过课的每一位老师是你们教会我专业知识在此再一次大家参考文献1秦志强 51单片机应用与语言程序设计北京 电子工业出版社 20092杨世明主编 机械设计北京 电子工业出版社 20074机械设计手册编委会 机械设计手册机械工业出版社2007include 头文件的作用包含程序中需要用到的标准数据类型标准函数和自定义函数等信息 uarth的作用函数uart_Init 的定义和实现uart_Init 串口初始化 串口初始化函数用来规定单片机串口是如何与PC通信的其代码如下 8051串口中断驱动程序include include define XTAL 11059200define baudrate 9600define OLEN 8 串行发送缓冲区大小unsigned char ostart 发送缓冲区起始索引unsigned char oend 发送缓冲区结束索引char idata outbufOLEN 发送缓冲区存储数组define ILEN 8 串行接收缓冲区大小unsigned char istart 接收缓冲区起始索引unsigned char iend 接收缓冲区结束索引char idata inbufILEN 接收缓冲存储数组bit bdata sendfull 发送缓冲区满标志bit bdata sendactive 发送有效标志串行中断服务程序static void com_isr void interrupt 4 using 1 串口中断 -接收数据中断- char c if RI 接收中断 c SBUF 读字符 RI 0 清接收中断请求标志 if istartILEN iend inbufiend ILEN-1 c 缓冲区接收数据 -发送数据中断- if TI TI 0 清发送中断标志 if ostart oend SBUF outbufostart OLEN-1 向发送缓冲区传送字符 sendfull 0 设置缓冲区满标志位 else sendactive 0 设置发送无效 PUTBUF 写字符到SBUF或发送缓冲区void putbuf char c if sendfull 如果缓冲区不满就发送 if sendactive sendactive 1 直接发送一个字符 SBUF c 写到SBUF启动缓冲区 else ES 0 暂时串行口关闭中断 outbufoend OLEN-1 c 向发送缓冲区传送字符 if oendostart OLEN-1 0 sendfull 1 设置缓冲区满标志 ES 1 打开串行口中断 putchar中断控制putchar函数替换标准库函数putchar程序printf函数使用putchar输出一个字符char putchar char c if c n 增加新的行 while sendfull 等待发送缓冲区空 putbuf 0x0D 对新行在LF前发送CR while sendfull putbuf c return c _getkey中断控制_getkey函数替换标准库函数_getkey程序getchar和gets函数使用_getkeychar _getkey void char c while iend istart 判断接收缓冲区起

    注意事项

    本文(运动仿真毕业设计“龙人宝贝”机器人的结构设计与控制.doc)为本站会员(laozhun)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开