版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、西安航空职业技术学院西安航空职业技术学院毕毕 业业 设设 计(论计(论 文)文)论文题目:论文题目: 搬运机器人 所属系部:所属系部: 自动化工程系自动化工程系指导老师:指导老师: 职职 称:称: 助教助教学生姓名:学生姓名: 班级、学号班级、学号: : 专专 业:业: 计算机控制技术计算机控制技术西安航空职业技术学院制西安航空职业技术学院制2012 年 04 月 20 日西安航空职业技术学院西安航空职业技术学院 毕业设计(论文)任务书毕业设计(论文)任务书题目:题目: 搬运机器人搬运机器人任务与要求:任务与要求: 以宝贝车为平台,加装机构,实现在在固定轨迹图中将不同颜色木以宝贝车为平台,加装
2、机构,实现在在固定轨迹图中将不同颜色木 块搬运到对应颜色区域,并返回原点。块搬运到对应颜色区域,并返回原点。时间:时间: 2012 年 02 月 23 日 至 2012 年 04 月 20 日 共 8 周所属系部:所属系部: 自动化工程系自动化工程系学生姓名:学生姓名: 学学 号:号: 专业:专业: 计算机控制技术计算机控制技术指导单位或教研室:指导单位或教研室: 计算机控制技术教研室计算机控制技术教研室指导教师:指导教师: 职职 称:称: 助教助教摘摘 要要 宝贝车机器人的微控制器(MCU)是由 Atmel 公司生产与 51 系列兼容的 8 位 AT89S52 单片机,是一种高性能 CMOS
3、、低功耗的 8 位单片机,片内含 8k Bytes Flash,运用 ISP(In-system programmable)的可反复擦写 1000 次;只读程序存储器器件采用 ATMEL 公司的高密度、非易失性存储技术制造,兼容标准MCS-51 指令系统及其引脚结构。在实际工程应用中,功能强大的 AT89S52 已成为许多提供高性价比嵌入式控制应用系统的解决方案。微控制器的一个重要特点是内建的中断系统。作为面向控制的设备,微控制器经常要实时响应外界的激励(中断) 。微控制器必须执行快速上下文切换,挂起一个进程去执行另一个进程。微控制器不是用于计算机中,而用于工业和消费器产品中。使用这些产品的人
4、们通常察觉不到微控制器的存在。对于他们来说,产品内部的元件只是无关紧要的设计细节。微波炉、空调、洗衣机、电子秤等等都是这样的例子。在这些产品内部,电子元件将微控制器与面板上的按钮、开关、灯等等连接在一起,用户看不到微控制器的存在。关键词:宝贝车、关键词:宝贝车、微控制器、程序存储器目目 录录一级标题用加黑四号宋体二级标题用小四宋体摘摘 要要I1 三号加黑宋体居中三号加黑宋体居中11.1 四号加黑宋体靠左.11.2 四号加黑宋体靠左.22 三号加黑宋体居中三号加黑宋体居中42.1 四号加黑宋体靠左.42.2 四号加黑宋体靠左.53 三号加黑宋体居中三号加黑宋体居中73.1 四号加黑宋体靠左.73
5、.2 四号加黑宋体靠左.84 三号加黑宋体居中三号加黑宋体居中94.1 四号加黑宋体靠左.94.2 四号加黑宋体靠左.95 三号加黑宋体居中三号加黑宋体居中115.1 四号加黑宋体靠左.115.2 四号加黑宋体靠左.11结结 论论13致致 谢谢14参考文献参考文献15附附 录录16(目录自动生成,插入引用索引和目录,目录,级别改完 2 级,然后按一级标题用加黑四号宋体,二级标题用小四宋体调整格式1 宝贝车机器人简介1.1 伺服电机首先认识伺服电机及其工作原理:伺服电动机又称执行电动机,在自动控制系统中,用作执行元件,把所收到的电信号转换成电动机轴上的角位移或角速度输出。分为直流和交流伺服电动机
6、两大类,其主要特点是,当信号电压为零时无自转现象,转速随着转矩的增加而匀速下降。1.1.1 伺服电机的工作原理伺服电机的工作原理 伺服电机是一个典型闭环反馈系统,减速齿轮组由电机驱动,其终端(输出端)带动一个线性的比例电位器作位置检测,该电位器把转角坐标转换为一比例电压反馈给控制线路板,控制线路板将其与输入的控制脉冲信号比较,产生纠正脉冲,并驱动电机正向或反向地转动,使齿轮组的输出位置与期望值相符,令纠正脉冲趋于为 0,从而达到使伺服电机精确定位的目的。1.2伺服电机的控制标准的伺服电机有三条控制线,分别为:电源、地线及控制。电源线与地线用于提供内部的电机及控制线路所需的能源,电压通常介于 4
7、V6V 之间,该电源应尽可能与处理系统的电源隔离(因为伺服电机会产生噪音) 。甚至小伺服电机在重负载时也会拉低放大器的电压,所以整个系统的电源供应的比例必须合理。输入一个周期性的正向脉冲信号,这个周期性脉冲信号的高电平时间通常在 1ms2ms 之间,而低电平时间应在 5ms 到 20ms 之间。2系统设计本组智能小车的硬件主要有以宝贝车作为核心的载体小车、主控器部分、自动循迹部分、检测部分、手抓机构、电机驱动部分组成。2.1设计背景设计背景设计一个基于 8 位单片机或 ARM 控制机器人,在比赛场地里移动,将指定的物体搬运到指定的位置区域,比赛的记分根据机器人将物体放置的位置精度和完成时间来决
8、定分值的高低。它模拟了工业自动化过程中自动化物流的要求以及实际应用情况。2.2设计要求设计要求(1)基本要求:实现小车的前进后退,左转右转(按照程序预设)(2)扩展部分:实现小车自动循迹功能,并利用所设机构完成物料的搬运2.3设计要求设计要求在规定时间内,机器人搬运完毕物料,并回到出发点。3 机器人本体机构设计机器人本体机构设计本章中所要完成的任务摘要: 1.整体结构的设计2.控制系统的设计3.1整体结构的设计整体结构的设计整体结构的设计,主要包括:(1)机器人底盘的设计与安装(2)核心控制3.2控制系统控制系统【AbstractAbstract】This design by car this
9、 carrier incorporated by AT89S52 core dashboards can achieve its basic features, plus infrared detector (IR LED), QTI sensors, IR schematics to perfect the design. Uses infrared technology to detect obstacles, QTI sensor acquisition information, use of ground AT89S52 processor that timely control, r
10、ealization of intelligent Hayashi and obstacle avoidance, automatically opening and closing doors, as well as automatically. Smart cars with rear-wheel drive, two rounds of the execution with a stepper motor. The entire system of the circuit simple structure, reliable performance. Laboratory test re
11、sults meet the requirements of this article focuses on the systems hardware design and analysis of test results. Technologies are: To programmatically control the car door open and close; Effective application of the sensor;KeyKey wordswords: : memory devices, end actuators,目目 录录1 1 前言前言 .4 42 2 系统设
12、计系统设计 .5 52.1 设计背景 .52.2 设计要求.52.3 实现目标 .53 3 机器人本体机构设计机器人本体机构设计 .6 63.13.1 整体结构的设计整体结构的设计 .63.1.1 机器人底盘设计与安装.63.1.2 核心控制.123.23.2 控制系统控制系统 .173.2.1 驱动控制系统.173.2.2 巡线控制系统.183.2.3 控制电路的设计 .194 4 设计中的改进设计中的改进 .21214 4. .1 1 控控制制改改进进 .214.1.1 巡线传感器的选择 .214.1.2 伺服电机的测试.214.2 宝贝车直线度的校正 .23谢谢 辞辞 .24文文 献献
13、.25附附 录录 .26附录一 RightServoTest.c 测试伺服电机 .26附录二 校正宝贝车直线运动程序.28附录三 设计总程序.291 1 前言前言机器人从出发区出发,到达物料储存区后,分拣其赛前抽签决定好的任务,即从 5 个预知颜色料块(黄、白、红、黑、蓝)选 3 种颜色料块的已知 6 种组合(任务)中,选其中 1 个作为比赛任务(其料块均要求摆放在场地图的A、C、E 位置,B、D 位置不放置物料),再按照设计好的控制策略控制机器人动作,以便将三个料块快速准确地搬运并放到对应的三个颜色中心区域内,并最后回到出发区。2 2 系统设计系统设计本组智能小车的硬件主要有以宝贝车作为核心
14、的载体小车、主控器部分、自动循迹部分、检测部分、手抓机构、电机驱动部分组成。2.12.1 设计背景设计背景设计一个基于 8 位单片机或 ARM 控制机器人,在比赛场地里移动,将指定的物体搬运到指定的位置区域,比赛的记分根据机器人将物体放置的位置精度和完成时间来决定分值的高低。它模拟了工业自动化过程中自动化物流的要求以及实际应用情况。2.22.2 设计要求设计要求(1)基本要求:实现小车的前进后退,左转右转(按照程序预设)(2)扩展部分:实现小车自动循迹功能,并利用所设机构完成物料的搬运2.32.3 实现目标实现目标在规定时间内,机器人搬运完毕物料,并回到出发点。3 3 机器人本体机构设计机器人
15、本体机构设计本章中所要完成的任务摘要: 1.整体结构的设计2.控制系统的设计3.13.1 整体结构的设计整体结构的设计整体结构的设计,主要包括:(1)机器人底盘的设计与安装(2)核心控制3.1.13.1.1 机器人底盘设计与安装机器人底盘设计与安装本设计以宝贝车机器人作为载体,即作为整个智能机器人的底盘,在其基础上设计机构,以实现设计目标。本节主要完成智能机器人底盘的安装,主要从以下几方面进行:(1) 基本结构的安装(2) 驱动装置的安装(3) 动力源的安装(4) 控制面板的安装组装工具及部件1 组装工具(图3-1)(1) 螺丝起子(2) 尖嘴钳2 组装部件(1) 宝贝车底盘(2) 带制器的教
16、学板(3) 连续旋转电机(两个) (4) 塑胶轮子(两个) 图3-1 宝贝车机器人组装工具(5) 橡皮圈(两个)(6) 带有插头的电池盒(7) 球状尾轮(8) 1/16 开口销(9)平头螺钉,3/8 英寸 4-40(10)螺柱(四长四短)(11)盘头螺钉(12)螺母,4-40 在组装之前,应该先将所需部件找齐,方可进行安装。将表中所列零件收集到一起,按照装配步骤进行组装。基本结构的安装1 底盘的安装零件列表: :如图3-2 (1) 宝贝车底盘(2) 螺柱(3) 盘头螺钉 (4) 13/32英寸的橡胶圈 图3-2底板及上面的硬件装配步骤: 将13/32 英寸的橡胶套圈插到宝贝车底盘中心的孔内确保
17、底盘中心孔的边缘嵌在橡胶圈的凹槽中用 4 个螺钉将螺柱如图所示固定在底盘上。2 轮子的安装部件列表:(图3-3)(1) 部分已装好的宝贝车机器人(2) 1/16 开口销(3) 球状尾轮(4) 橡皮圈(5) 塑胶轮子 (6) 拆掉伺服喉里保存的螺钉装配步骤: 3-7图3-3 轮子部件图3-4左侧所示是安装在底盘上的尾图 轮。尾轮是一个有中心孔的塑胶球。开口销作为轴,将轮子固定在底盘上。轮子的中心孔与底盘尾部的中心孔对准在一条水平线上。将开口销同时穿过这三个孔(底盘左侧,尾轮,底盘右侧)。将开口销一端弯曲使它不会滑出孔。图3-4右侧所示是安装在宝贝车机器人伺服电机上的驱动轮。拉伸橡皮圈,把它套在每
18、个轮子上。每个轮子有一个凹槽用于把它安装到输出轴上。将两个轮子分别压在输出轴上,确保两个轴高度一致,并已装进轮子的凹槽。用螺钉将轮子固定在输出轴上。驱动装置的安装1 拆除伺服喉断开控制器和伺服电机的电源。取出电池盒中的所有电池。图3-4把伺服电机从你的教学底板断开。步骤用螺丝起子去掉连接伺服喉和电机输出轴之间的螺钉。将每个四角形部件从电机输出轴上取下来。将螺钉保存好,后面还会用到。根据上面的指示移走如图四角形部件将电机安装到底盘上图3-5零件列表: :如图3-6.(1) 宝贝车底盘(已部分组装好)(2) 连续旋转电机(3) 螺钉 3/8英寸 4-40(4) 螺母, 4-40装配步骤:用螺钉和螺
19、母将电机固定在底盘上。为了最好的性能,你必须从里面,而不是从外面把电机放入矩形窗口。用标签纸标识伺服电机的左右轮。图3-6 把电机安装到底盘上图3-7所示是伺服电机和教学板的连接连接伺服电机到教学底板上的电机接口处。将贴着“L”的插头连接到P1_1端口,贴着“R”的插头连接到P1_0端口。 图3-7 伺服系统的连接动力源的安装在本设计中,我们采用 4 节 5 号碱性电池作为整个智能机器人的动力源。零件列表(图3-8): :(1) 宝贝车 底盘(部分组装) (2) 平头螺钉,3/8英寸 4-40(3) 螺母, 4-40(4) 带有插头的电池盒安装步骤:用平头螺钉和螺母将电池盒固定在宝贝车机器人的
20、底盘下面,如图3-9左边所示:将螺钉穿过电池盒,然后在底盘上面用螺母紧固。如图3-9右边所示:将电池盒的电源连接线穿过底盘中间带有橡胶圈的孔 图3-8。 图3-9将伺服电机线也穿过此孔。 控制系统的安装把教学底板(图3-10)安装到底盘上零件列表: :1. 宝贝车机器人底盘(部分组装好)2. 平头螺钉1/4_ 4-40安装步骤: 将主板放在四个支架上使其与四个孔对齐。 确保面包板接近驱动轮而不是尾轮。 用平头螺钉连接主板和支架。 图3-10从底盘下面,拉出剩余的穿过橡胶圈的伺服电机线和电池线。卷起伺服电机和底盘之间剩余的线。从底盘下面,拉出剩余的穿过橡胶圈的伺服电机线和电池线。卷起伺服电机和底
21、盘之间剩余的线。图 3-113.1.3.1.2 2 核心控制核心控制(1)AT89S52 核心控制板(图 3-13)AT89S52单片机是一个低功耗、高性能CMOS 8位微控制器,片内含通用8位中央处理器和ISP Flash存储单元,8k BytesISP(In_system programmable)可反复擦写1000次的Flash只读程序存储器,片上Flash允许程序存储器在系统可编程,亦适于常规编程器。器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS51指令系统及80C51引脚结构,在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入
22、式控制应用系统提供高灵活、高性价比的解决方案。图3-13(2)传感器a QTI 传感器QTI 传感器作为本设计的检测系统,主要实现光电检测,即利用 QTI 传感器对公交车的行进路线进行检测。本项目主要包含以下几个任务:1. QTI 传感器的工作原理2. QTI 传感器的安装认识认识 QTIQTI 传感器传感器 图 3-14QTIQTI 传感器的简介传感器的简介本设计使用的 QTI(Quick Track Infrared)传感器,如图 3-14 所示。QTI 传感器是一种使用光电接受管来探测它下面的表面反射光强度的传感器。当 QTI 传感器在一个很暗的表面上时,反射光强度很低。当 QTI 传感
23、器在一个很亮的表面上时,反射光强度很高,从而导致传感器输出的变化。即探测到黑色物体输出高电平,探测到白色物体输出低电平。QTI 传感器的特性使其很适合用在巡线、迷宫导航、探测场地边缘等应用中。QTI 边线检测传感器性能参数:工作温度:-4085参考电压:5V 连续电流:50mA 功耗:100mW最佳距离:10mm最佳距离最大散射角度 65 度探测到黑色物体输出高电平,探测到白色物体输出低电平。响应时间:(V = 5v ,R = 100, I = 5mA )上升沿时间 10us下降沿时间 50usGNDSIGVCC图 1 引脚示意图 图 3-15AVR 单片机例程:单片机例程:硬件连接:把 PC
24、0 口接到 SIG 上,VCC 接 5V,GND 接地。#include “BoeBOtUnderstandable.h” /宝贝车的标准头文件#include “usta.h” /串口的头文件int PC0_state(void) /获取 PC0 的状态return (PINC&0 x01)?1:0;int main(void) /主函数,程序从这里开始运行usta_Init(); /串口初始化printf(Program Running!); /在调试窗口显示一条信息while(1)if(PC0_state()printf(QTI NO working! n);elseprintf
25、(QTI working! n);delay_nms(500);QTI 传感器的安装每一个 QTI 巡线套件中包含 4 组 QTI,当我们要完成线跟踪功能时,最简单的方法是使用 4 个 QTI 传感器,如图 3-16 所示。 图 3-16 图 3-17若需要运行更稳定也可使用 4 个 QTI 传感器,安装方法如图 3-17 所示。图 3-18这里我们以 4 个 QTI 为例,用螺丝固定好 QTI 传感器后,如图 3-16 所示。QTI 传感器的引脚如图 3-17 所示,将传感器上的光电管面对你的时候,从上到下三个引脚依次为:GND、SIG、VCC。针脚定义:针脚定义:1 GND电源地2 SIG
26、信号输出3 VCC5V 直流电源3.23.2 控制系统控制系统3.2.13.2.1 驱动控制系统驱动控制系统本控制系统采用的是 AT89S52 单片机来控制一个伺服小车,该小车主要由两个独立驱动的主动轮、一个从动轮构成,小车的运动由主动轮上的电机驱动,驱动力来源于两个伺服电机,而车门的往复直线运动由另一伺服电机驱动,它们的作用是在程序控制下高效率的将动力电池组的能量转化为各个伺服电机的动能。 GNDSIGVCC图 3-19小车的转弯主要通过两个电机的运动速度不同来实现。小车的转动角度为360,根据控制程序可以实现伺服小车前后左右行进(表 3-1) 。表 3-1 伺服小车控制原理车体动作左伺服电
27、机右伺服电机前进正转正转后退反转反转左转反转正转右转正转反转表 3-1电机引脚配置本设计所用到的电机有三个,分别为控制车轮转动的左右电机以及控制车门水平移动的电机。电机引脚配置如表 3-2、图 3-21。;表 3-2 图 3-21电机引脚左电机P1-1右电机P1-03.2.23.2.2 巡线控制系统巡线控制系统QTI 传感器作为本设计的检测系统,主要实现光电检测,即利用 QTI 传感器对公交车的行进路线进行检测。本设计用 QTI 传感器用于检测路面信息(2cm 宽的黑线) ,车底盘上使用 4个 QTI 传感器,以适应起始和终点的停车的需要并达到巡线的功能在宝贝车机器人上安装 4 个 QTI 线
28、跟踪传感器就能实现对黑线跟踪,根据这个原理,传感器组合就可以让机器人按照设定好的地图(图 3-22)运动。图 3-22我们用 4 个 QTI 传感器,来帮助机器人完成在设定场地上的行走。3.2.3.2.3 3 控制电路的设计控制电路的设计在进行电路图的组装之前,我们应该对无焊锡面包板有一定的认识。教学板前端,那块白色的、有许多孔或插座的区域,称之为无焊料的面包板(图3-23) 。面包板连同它两边黑色插座,称之为原型区域。在面包板插座上插上元器件,比如电阻、LED、扬声器和传感器,就构成了本书中的例程电路。元器件靠面包 板插座彼此连接。在面包板上端有一条黑色的插座,上面标识着“Vcc” 、“Vi
29、n”和“GND” ,称之为电源端口,通过这些端口,你可以给你的电路供电。左边一条黑色的插座从上到下标识着 P10、P11、P12P37(共 18 个,部分端口并未标出) 。通过这些插座,你可以将你搭建的电路与单片机连接起来。 面包板上共有18行插座,通过中间槽分为两列。每一小行由五个插座组成,这五个插座在面包板上是电气相连的。根据电路原 图3-23理图的指示,你可以将元器件通过这些五口插座行连接起来。如果你将两根导线分别插入五口插座行中的任意两个插座中,它们都是电气相连的。电路原理图就是指引你如何连接元器件的路标。它使用唯一的符号来表示不同的元器件。这些器件符号用导线相连,表示它们是电气相连的
30、。在电路原理图中,当两个器件符号用导线相连时,电气连接就生成。导线还可以连接元器件和电压端口。“Vcc” 、 “Vin”和“GND”都有自己的符号意义。 “GND”对应于教学板的接地端;“Vin”指电池的正极;“Vcc”指校准的+5V电压。电路的设计与组装:本设计中所用到的电路主要包括QTI传感器电路,可通过他们各自的原理图对它们的电路进行设计并进行组装。在本设计中,三极管相当于一个开关:当 P3_6 置高时,从集电区经基区到发射区电路导通,加载在 IR LED 上的电压为 VCC(5V) ,IR LED 向外发射红外线;当 P3_6 置低时,电路又断开,IR LED 停止发射。在电路的连接时
31、,应注意它的连接方法,如下图所示:(1)QTI 巡线原理图(图 3-24)图3-24“GND”对应于教学板的接地端;“Vcc”指校准的+5V电压。图 3-254 4 设计中的改设计中的改进进改进=改善+创新。改善是在不抛弃原经营方案的前提下而进行的改进。 创新是通过抛弃原经营方案并建立新经营方 案的前提下而进行的改进。 在设计过程中, 不断地、一步一步地、阶梯式地改进,会使得设计处在不断完善的过程中,更清晰的表达自己所要表达的东西,使读者更容易理解。改进主要分为两个部分:(1) 机构方面的改进(2) 控制方面的改进4 4. .1 1 控控制制改改进进4.1.14.1.1 巡线传感器的选择巡线传
32、感器的选择巡线方案可利用红外技术或 QTI 传感器采集地面信息,采用 AT89S52 单片机进行适时控制,实现智能循线和避障。若利用红外技术,将三个红外线光电传感器分别装在车体的左中右,当车的左边的传感器检测到黑线的边界时,主控芯片控制左轮电机减速,车向右修正,当车的右边传感器检测到黑线时,主控芯片控制右轮电机减速,车向左修正,中间的传感器起附带修正的作用,黑线在车体的中间,中间的传感器一直检测到黑线,当偏离黑线时也开始修正,从而使小车沿着黑色的轨道行走。若利用 QTI 传感器,则使用光电接受管来探测它下面的表面反射光强度的传感器。当 QTI 传感器在一个很暗的表面上时,反射光强度很低。当 Q
33、TI 传感器在一个很亮的表面上时,反射光强度很高,从而导致传感器输出的变化。即探测到黑色物体输出高电平,探测到白色物体输出低电平。由于站牌的检测系统中需要用到红外技术,为了方便且不易混淆,故而使用 QTI 传感器,QTI 传感器的特性使其很适合用在巡线、迷宫导航、探测场地边缘等应用中。4.1.24.1.2 伺服电机的测试伺服电机的测试通过测试确保主板和伺服电机之间的电气连接正确。我们要确保右边的伺服电机从端口P1_0接收到脉冲后旋转,左边的电机从端口P1_1接收到脉冲后旋转。 (1)测试右轮下面的例子程序测试连接到右轮(图4-1)的伺服电机。程序将使右轮顺时针旋转三秒,停止一秒,然后逆时针旋转
34、三秒。 例程: RightServoTest.c(程序见附录一)将机器人搁起,使驱动轮悬空。装电池到电池盒把三位开关设置到位置“2”。键入、保存并运行程序RightServoTest.c。验证右轮是否顺时针旋转三秒,停止一秒,然后逆时针旋转三秒。 图4-1如果右轮的运动同你预计的不同,参考伺服电机故障排除部分,它就在例程后面。(2) 测试左轮现在该在左轮上做同样的测试,如图 4-1-1 所示。这包括更改程序RightServoTest.c,使脉冲发到连接 P1_1 的伺服电机而不是连接 P1_0 的伺服电机。现在要做的是将程序中的 P1_0 改为 P1_1。将程序RightServoTest.
35、c另存为LeftServoTest.c。(见附录一)把P1_0改为P1_1。保存并运行程序。验证左轮是否顺时针旋转三秒,停止一秒,然后逆时针旋转三秒。图4-1-1 如果不是你所预期的,参考伺服电机故障排除部分。(3)伺服电机故障排除:这是一些非常常见的征兆和和修补方法。a 伺服电机根本不转。确定三位开关拨到位置“2”。然后,你可以按下并释放复位按钮,重新运行程序。仔细检查你的伺服电机接线。检查你的程序输入是否正确。右边的伺服电机不转,但是左边的转。这意味着伺服电机反了。连接到P1_0的电机应该连接到P1_1,连接到P1_1的电机应该连接到P1_0。断开电源。拔下伺服电机。把原连接到P1_0的电
36、机连接到P1_1。把原连接到P1_1的电机连接到P1_0。打开电源。重新运行RightServoTest.c。b 轮不完全停下来,它缓慢旋转。这意味着伺服电机没有正确的调零。你可以调节程序来让伺服电机停止。你通过修改delay_nus(1500)让电机停止。如果轮子缓慢的逆时针旋转,用一个比1500小一点的数。如果轮子缓慢的顺时针旋转,用一个比1500大一点的数。如果你在1480至1520之间的数找到一个数让电机完全停止,然后把这个数用在delay_nus函数中。c 轮子在顺时针和逆时针旋转之间不停止。车轮可能快速的朝一个方向旋转3秒钟另一个方向旋转4秒钟,可能快速的旋转3秒钟,然后慢速的旋转
37、1秒钟,然后又快速的旋转3秒钟。或者,它可能快速的朝一个方向旋转7秒钟。不管怎样,都说明电位器失调。去掉轮子,下掉伺服电机,伺服电机调零。4.24.2宝贝车直线宝贝车直线度的校正度的校正 要保证车体的直线运动,就要确保两轮速度的一致性,电机的速度是由脉冲的宽度即程序中延时函数delay_nus的参数n决定的。n越接近1500,电机旋转越慢。这就意味着需要把控制P1_0或P1_1上的脉冲的宽度的delay_nus函数中的1300更改为一个更接近1500的数。如果宝贝车只是偏移轨迹一点,也许改为1320可以成功。如果电机严重不匹配,也许需要改为1380。可能要经过几次尝试才能得到正确的值。比如说你
38、的第一个推测是1320,但是还不够,因为宝贝车还是稍微向左偏,于是试试1340,也许矫正过多,最后1330是正确的。这叫重复过程,意思是说这是一个用重复试验得到正确结果的过程。经过不断的修改与调试,可以确定delay_nus的参数n的数值,确保小车的直线度。程序见附录二 谢谢 辞辞历时两个月的毕业设计已经告一段落。经过自己不断的搜索努力以及的耐心指导和热情帮助,本设计已经基本完成。在这段时间里,严谨的治学态度和热忱的工作作风令我十分钦佩,他的指导使我受益非浅。本系机器人实验室的开放也为我的设计提供了实习场地。同时要对党媚老师表示深深的感谢,感谢田老师向我们提供慧鱼组件,让我们能够完成对机器人车
39、体及各机构的组装,在此对周挺老师和党媚老师表示深深的感谢。通过这次毕业设计,使我深刻地认识到学好专业知识的重要性,也理解了理论联系实际的含义,并且检验了大学三年的学习成果。虽然在这次设计中对于知识的运用和衔接还不够熟练。但是我将在以后的工作和学习中继续努力、不断完善。这两个月的设计是对过去所学知识的系统提高和扩充的过程,为今后的发展打下了良好的基础。由于自身水平有限,设计中一定存在很多不足之处,敬请各位老师批评指正。文文 献献1 秦志强,C51 单片机应用与 C 语言程序设计,北京:电子工业出版社,2007,122 李广弟,单片机基础,北京:北京航空航天大学出版社,2008,56643 何立民
40、,单片机应用系统设计,北京:航天航空大学出版社,25,46504 赵负图,传感器集成电路手册,第一版,化学工业出版社,2009,590591附附 录录附录一附录一 RightServoTest.cRightServoTest.c 测试伺服电机测试伺服电机#include/宝贝车的标准头文件#include /串口的头文件int main(void) /主函数,程序从这里开始运行int counter;usta_Init(); /串口初始化printf(Program Running!); /在调试窗口显示一条信息/*在开始时Counter被设为1,并在每次重复的最后被增加1。在循环重复前,如果
41、Counter大于140,则循环结束。*/for(counter=1;counter=140;counter+)/顺时针旋转三秒P1_0=1; /设置P1_0输出高电平delay_nus(1300); /延时0.0013sP1_0=0; /设置P1_0输出低电平delay_nms(20); /延时20ms/*在开始时Counter被设为1,并在每次重复的最后被增加1。在循环重复前,如果Counter大于46,则循环结束。*/for(counter=1;counter=46;counter+) /停止一秒P1_0=1; /设置P1_0输出高电平delay_nus(1500); /延时0.0015
42、sP1_0=0; /设置P1_0输出低电平delay_nms(20); /延时20ms/*在开始时Counter被设为1,并在每次重复的最后被增加1。在循环重复前,如果Counter大于46,则循环结束。*/for(counter=1;counter=138;counter+)/逆时针旋转三秒P1_0=1; /设置P1_0输出高电平delay_nus(1700); /延时0.0017sP1_0=0; /设置P1_0输出低电平delay_nms(20); /延时20ms附录二附录二 校正宝贝车直线运动程序校正宝贝车直线运动程序#include#includeint main(void)int c
43、ounter;uart_Init(); /串口初始化printf(Program Running!n); for(counter=1;counter=130;counter+) P1_1=1;delay_nus(1740); P1_1=0; P1_0=1;delay_nus(1355);P1_0=0;delay_nms(20);附录三附录三 设计总程序设计总程序#include #include #include#define uint unsigned int #define uchar unsigned char uchar QTIState ;void stop(void) /停止 P1
44、_1=1; delay_nus(1500); P1_1=0; P1_0=1; delay_nus(1500); P1_0=0; delay_nms(20);void back(void) /后退 P1_1=1; delay_nus(1300); P1_1=0; P1_0=1; delay_nus(1700); P1_0=0; delay_nms(20); void Forward(void)/向前行走子程序 P1_1=1; delay_nus(1700); P1_1=0; P1_0=1; delay_nus(1300); P1_0=0; delay_nms(20);void Pivot_rig
45、ht(void)/左转子程序 P1_1=1; delay_nus(1500); P1_1=0; P1_0=1; delay_nus(1350);P1_0=0; delay_nms(20);void Pivot_left(void)/右转子程序 P1_1=1; delay_nus(1650); P1_1=0; P1_0=1; delay_nus(1500); P1_0=0; delay_nms(20);void Rotate_left(void)P1_1=1; delay_nus(1650); P1_1=0; P1_0=1; delay_nus(1650); P1_0=0; delay_nms(
46、20);void Rotate_right(void)P1_1=1; delay_nus(1350); P1_1=0; P1_0=1; delay_nus(1350); P1_0=0; delay_nms(20);void right_zhuan90(void) int k,j=0; for(j=0;j27 ;j+) P1_1=1; delay_nus(1700); P1_1=0; P1_0=1; delay_nus(1650); P1_0=0; delay_nms(20); for(k=0;k8;k+) Forward(); void left_zhuan90(void) int k,j=0
47、; for(j=0;j30;j+) P1_1=1; delay_nus(1400); P1_1=0; P1_0=1; delay_nus(1300); P1_0=0; delay_nms(20); for(k=0;k10;k+) Forward();void left_zhuan135(void) int k,j=0; for(j=0;j35;j+) P1_1=1; delay_nus(1400); P1_1=0; P1_0=1; delay_nus(1300); P1_0=0; delay_nms(20); for(k=0;k10;k+) Forward();void right_zhuan
48、45(void) int j,k; j=0;k=0; for(j=0;j5;j+) P1_1=1; delay_nus(1700); P1_1=0; P1_0=1; delay_nus(1600); P1_0=0; delay_nms(20); for(k=0;k10;k+) Forward();void left_zhuan45(void) int j,k; j=0;k=0; for(j=0;j5;j+) P1_1=1; delay_nus(1400); P1_1=0; P1_0=1; delay_nus(1300); P1_0=0; delay_nms(20); for(k=0;k10;k
49、+) Forward();void rotate_180(void) int j,k; j=0;k=0; for(k=0;k10;k+) Forward(); for(j=0;j60;j+) P1_1=1; delay_nus(1700); P1_1=0; P1_0=1; delay_nus(1600); P1_0=0; delay_nms(20); void forward_20cm(void) int j,k; j=0;k=0; for(j=0;j88;j+) P1_1=1; delay_nus(1700); P1_1=0; P1_0=1; delay_nus(1300); P1_0=0;
50、 delay_nms(20); void backward_10cm(void) int j,k; j=0;k=0; for(j=0;j40;j+) P1_1=1; delay_nus(1300); P1_1=0; P1_0=1; delay_nus(1700); P1_0=0; delay_nms(20); void backward(void) int j,k; j=0;k=0; for(j=0;j20;j+) P1_1=1; delay_nus(1300); P1_1=0; P1_0=1; delay_nus(1700); P1_0=0; delay_nms(20); void righ
51、t_zhuan135(void) int k,j=0; for(j=0;j35;j+) P1_1=1; delay_nus(1700); P1_1=0; P1_0=1; delay_nus(1600); P1_0=0; delay_nms(20); for(k=0;k10;k+) Forward();void Get_QTI_State(void)QTIState = P2&0 x1e ;void Follow_Line(void)Get_QTI_State();switch(QTIState)case 0 x02 : Pivot_right();break;case 0 x04 :
52、Pivot_right();break; case 0 x06 : Pivot_right(); break;case 0 x08 : Rotate_left();break;case 0 x0a : Pivot_right();break; case 0 x0c : Forward();break;case 0 x0e : Pivot_right();break; case 0 x10 : Pivot_left(); break;case 0 x12 : Forward();break;case 0 x14 : Pivot_left();break;case 0 x16 : Forward();break;case 0 x18 : Pivot_left(); break;case 0 x1a : Forward();break; case 0 x1c : Pivot_left(); break;default : break;void main (void) int i,a,b; a=0; b=0; while(1)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 巡视整改“回头看”自查报告
- 心理危机干预服务规范考核试题及答案
- 2026四年级数学上册 除数是两位数除法易错纠正
- 带状疱疹护理中的健康教育效果评估
- 高中语文+《茶馆(节选)》课件+统编版高二语文选择性必修下册
- 成品鞋仓库责任制度
- 房建项目岗位责任制度
- 执法司法守法责任制度
- 扶贫资金责任制度
- 抓车司机岗位责任制度
- 初中生物-绿色植物的呼吸作用教学设计学情分析教材分析课后反思
- 大舜号海难事故案例分析
- TGRM 057.1-2023 非煤岩岩爆倾向性评价规范 第1部分:室内指标测定及等级分类
- 2023年安徽新闻出版职业技术学院单招考试职业技能考试模拟试题及答案解析
- PMPv20流程培训教材-课件
- 固体制剂主题知识培训
- 烟草检验工物理国家职业技能标准
- 功能语言学简介(同名17)课件
- 太阳能供电系统设计
- 水下爆炸(理论)教材课件
- 内蒙古科技大学-王怡菲-答辩PPT模板
评论
0/150
提交评论