您好,欢迎来到投聚财经。
搜索
您的当前位置:首页单片机C语言搬运车机器人毕业设计实施方案

单片机C语言搬运车机器人毕业设计实施方案

来源:投聚财经


个人收集整理仅供参考学习

西安航空职业技术学院

毕业 设 计(论 文)

论文题目:搬运机器人

所属系部:自动化工程系


学生姓名:班级、学号:

业:计算机控制技术

西安航空职业技术学院制

2012 04 20


I/ 49

个人收集整理仅供参考学习

西安航空职业技术学院

毕业设计(论文)任务书

题目:搬运机器人

任务与要求:

时间:20120223日至 20120420日共 8 所属系部:自动化工程系

学生姓名:

学 号:

专业: 计算机控制技术
指导单位或教研室:计算机控制技术教研室

指导教师:

职 称: 助教

摘要



II/ 49

个人收集整理仅供参考学习

宝贝车机器人地微控制器(MCU)是由Atmel公司生产与51系列兼容地8ATS52单片机,是一种高性能CMOS、低功耗地8位单片机,片内含8kBytes Flash,运用ISP(In-systemprogrammable)地可反复擦写1000次;只读程序存储器器件采用ATMEL公司地高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及其引脚结构.在实际工程应用中,功能强大地ATS52已成为许多提供高性价比嵌入式控制应用系统地解决方案.b5E2RGbCAP
微控制器地一个重要特点是内建地中断系统.作为面向控制地设备,微控制器经常要实时响应外界地激励(中断).微控制器必须执行快速上下文切换,挂起一个进程去执行另一个进程.微控制器不是用于计算机中,而用于工业和消费器产品中.使用这些产品地人们通常察觉不到微控制器地存在.对于他们来说,产品内部地元件只是无关紧要地设计细节.微波炉、空调、洗衣机、电子秤等等都是这样地例子.在这些产品内部,电子元件将微控制器与面板上地按钮、开关、灯等等连接在一起,用户看不到微控制器地存在.p1EanqFDPw

关键词:宝贝车、微控制器、程序存储器




III/ 49

个人收集整理仅供参考学习

目录

一级标题用加黑四号宋体
二级标题用小四宋体
摘要IDXDITA9E3D
1三号加黑宋体居中1RTCRPUDGIT
1.1四号加黑宋体靠左15PCZVD7HXA
1.2四号加黑宋体靠左2JLBHRNAILG
2三号加黑宋体居中4XHAQX74J0X
2.1四号加黑宋体靠左4LDAYTRYKFE
2.2四号加黑宋体靠左5ZZZ6ZB2LTK
3三号加黑宋体居中7DVZFVKWMI1
3.1四号加黑宋体靠左7RQYN14ZNXI
3.2四号加黑宋体靠左8EMXVXOTOCO
4三号加黑宋体居中9SIXE2YXPQ5

5 三号加黑宋体居中11Y6V3ALOS 4.2四号加黑宋体靠左9KAVU42VRUS 4.1四号加黑宋体靠左96EWMYIRQFL

致谢14SQSAEJKW5T
参考文献15GMSIASNXKA
附录16TIRRGCHYZG
(目录自动生成,插入——引用——索引和目录,目录,级别改完2级,然后按一级标题用加黑四号宋体,二级标题用小四宋体调整格式7EqZcWLZNX



4/ 49

个人收集整理仅供参考学习

1宝贝车机器人简介

1.1伺服电机

首先认识伺服电机及其工作原理:伺服电动机又称执行电动机,在自动控制系统

中,用作执行元件,把所收到地电信号转换成电动机轴上地角位移或角速度输出.

分为直流和交流伺服电动机两大类,其主要特点是,当信号电压为零时无自转现

象,转速随着转矩地增加而匀速下降.lzq7IGf02E

1.1.1伺服电机地工作原理

伺服电机是一个典型闭环反馈系统,减速齿轮组由电机驱动,其终端(输出

端)带动一个线性地比例电位器作位置检测,该电位器把转角坐标转换为一比例

电压反馈给控制线路板,控制线路板将其与输入地控制脉冲信号比较,产生纠正

脉冲,并驱动电机正向或反向地转动,使齿轮组地输出位置与期望值相符,令纠

正脉冲趋于为0,从而达到使伺服电机精确定位地目地.zvpgeqJ1hk

1.2伺服电机地控制

用于提供内部地电机及控制线路所需地能源,电压通常介于4V—6V 之间,该电源应尽可能与处理系统地电源隔离(因为伺服电机会产生噪音).甚至小伺服电
标准地伺服电机有三条控制线,分别为:电源、地线及控制.电源线与地线



1/ 49

个人收集整理仅供参考学习

2系统设计

本组智能小车地硬件主要有以宝贝车作为核心地载体小车、主控器部分、自

动循迹部分、检测部分、手抓机构、电机驱动部分组成.1nowfTG4KI

2.1设计背景

设计一个基于8位单片机或ARM控制机器人,在比赛场地里移动,将指定地物

体搬运到指定地位置区域,比赛地记分根据机器人将物体放置地位置精度和完成

时间来决定分值地高低.它模拟了工业自动化过程中自动化物流地要求以及实际

应用情况.fjnFLDa5Zo

2.2设计要求

1)基本要求:实现小车地前进后退,左转右转(按照程序预设)

2)扩展部分:实现小车自动循迹功能,并利用所设机构完成物料地搬运

2.3设计要求

在规定时间内,机器人搬运完毕物料,并回到出发点.





2/ 49

个人收集整理仅供参考学习

3机器人本体机构设计

本章中所要完成地任务摘要:
1.整体结构地设计
2.控制系统地设计

3.1整体结构地设计

整体结构地设计,主要包括:
1)机器人底盘地设计与安装
2)核心控制

3.2控制系统

Abstract

Thisdesign by car this carrier incorporated by ATS52 core dashboards

can achieve its basic features, plus infrared detector (IR LED), QTI
to detect obstacles, QTI sensor acquisition information, use of ground
sensors, IR schematics to perfect the design. Uses infrared technology
execution with a stepper motor. The entire system of the circuit simple ATS52
and

structure,reliable performance. Laboratory test results meet the requirementsof this article focuses on the system's hardware design and analysisof test results. Technologies are: tfnNhnE6e5
Toprogrammatically control the car door open and close; HbmVN777sLEffectiveapplication of the sensor;

Keywords: memory devices, end actuators,



3/ 49

个人收集整理仅供参考学习

目录

1前言4V7l4jRB8Hs

2系统设计583lcPA59W9

2.1设计背景5mZkklkzaaP

2.2 设计要求5AVktR43bpw 2.3实现目标5ORjBnOwcEd

3 机器人本体机构设计62MiJTy0dTT


3.2.1 驱动控制系统17asfpsfpi4k

3.2.2巡线控制系统18ooeyYZTjj1
3.2.3控制电路地设计19BkeGuInkxI

4设计中地改进21PgdO0sRlMo

4.1控制改进213cdXwckm15
4.1.1巡线传感器地选择21h8c52WOngM
4.1.2伺服电机地测试21v4bdyGious
4.2宝贝车直线度地校正23J0bm4qMpJ9
谢辞24XVauA9grYP
文献25bR9C6TJscw
附录26pN9LBDdtrd
附录一RightServoTest.c测试伺服电机26DJ8T7nHuGT
附录二校正宝贝车直线运动程序28QF81D7bvUA

附录三 设计总程序294B7a9QFw9h



4/ 49

个人收集整理仅供参考学习

1前言

机器人从出发区出发,到达物料储存区后,分拣其赛前抽签决定好地任务,

即从5 个预知颜色料块(黄、白、红、黑、蓝)选3 种颜色料块地已知6 种组合(任
务)中,选其中1 个作为比赛任务(其料块均要求摆放在场地图地ACE
三个料块快速准确地搬运并放到对应地三个颜色中心区域内,并最后回到出发
置,BD 位置不放置物料),再按照设计好地控制策略控制机器人动作,以便将
.ix6iFA8xoX



5/ 49

个人收集整理仅供参考学习

2系统设计

本组智能小车地硬件主要有以宝贝车作为核心地载体小车、主控器部分、自

动循迹部分、检测部分、手抓机构、电机驱动部分组成.wt6qbkCyDE

2.1 设计背景
将指定地物体搬运到指定地位置区域,比赛地记分根据机器人将物体放置地
设计一个基于8 位单片机或ARM 控制机器人,在比赛场地里移动,
1)基本要求:实现小车地前进后退,左转右转(按照程序预设)

2)扩展部分:实现小车自动循迹功能,并利用所设机构完成物料地搬运

2.3实现目标

在规定时间内,机器人搬运完毕物料,并回到出发点.



6/ 49

个人收集整理仅供参考学习

3机器人本体机构设计

本章中所要完成地任务摘要:
1.整体结构地设计
2.控制系统地设计

整体结构地设计,主要包括:3.1 整体结构地设计

本设计以宝贝车机器人作为载体,即作为整个智能机器人地底盘,在其基础上设计机构,以实现设计目标.本节主要完成智能机器人底盘地安装,主要从以下几方面进行:Yl4HdOAA61
1)基本结构地安装
2)驱动装置地安装
3)动力源地安装
4)控制面板地安装
组装工具及部件
1组装工具(图3-1
1)螺丝起子
2)尖嘴钳

2 组装部件
(1) 宝贝车底盘
(2) 带制器地教学板



7/ 49

个人收集整理仅供参考学习

(3)连续旋转电机(两个)
(4)塑胶轮子(两个)

3-1宝贝车机器人组装工具
(5)橡皮圈(两个)
(6)带有插头地电池盒
(7)球状尾轮
(8)1/16″开口销
(9)平头螺钉,3/8英寸4-40
(10)螺柱(四长四短)
(11)盘头螺钉
(12)螺母,4-40
在组装之前,应该先将所需部件找齐,方可进行安装.将表中所列零件收集到一 起,按 照装配

行组装.
基本结
步骤进

地安装 零件列表:
如图3-2
(1)宝贝车底盘
(2)螺柱
(3)盘头螺钉
(4)13/32英寸地橡胶圈



8/ 49

个人收集整理仅供参考学习

3-2底板及上面地硬件

装配步骤:
??13/32英寸地橡胶套圈插到宝贝车底盘中心地孔内确保底盘中心孔地边缘嵌在橡胶圈地凹槽中
??4个螺钉将螺柱如图所示固定在底盘上.

2轮子地安装
部件列表:(图3-3
(1)部分已装好地宝贝车机器人

(3) 球状尾轮(4) 橡皮圈 (2) 1/16″开口销
(5) 塑胶轮子

3-4左侧所示是安装在底盘上地
尾图
.尾轮是一个有中心孔地塑胶球.

开口销作为轴,将轮子固定在底盘
.

??轮子地中心孔与底盘尾部地中心孔对准在一条水平线上.

??将开口销同时穿过这三个孔(底盘左侧,尾轮,底盘右侧).

将开口销一端弯曲使它不会滑出孔.

3-4右侧所示是安装在宝贝车机器人伺服电机上地驱动轮.

??拉伸橡皮圈,把它套在每个轮子上.

??每个轮子有一个凹槽用于把它安装到输出轴上.将两个轮子分别压在输出轴上,确保两个轴高度一致,并已装进轮子地凹槽.ch4PJx4BlI

9/ 49

个人收集整理仅供参考学习

??用螺钉将轮子固定在输出轴上.

驱动装置地安装
1拆除伺服喉
??断开控制器和伺服电机地电源.
??取出电池盒中地所有电池.

3-4
把伺服电机从你地教学底板断开.

步骤??用螺丝起子去掉连接伺服喉和电机输出轴之间地螺钉.

根据上面地指示移走如图四角形部件将电机安装到底盘上

3-5


零件列表:

10/ 49

个人收集整理仅供参考学习

如图3-6.

(1)

贝车

已部

组装

好)

(2)

续旋

电机

(3)

3/8英寸4-40

装配步骤:??用螺钉和螺母将电机固定在底盘上.为了最好地性能,(4) 螺母, 4-40

3-6把电机安装到底盘上

3-7所示是伺服电机和教学板地连接

??连接伺服电机到教学底板上地电机接口处.

??将贴着“L”地插头连接到P1_1端口,贴着“R”地插头连接到P1_0端口.



11/ 49

个人收集整理仅供参考学习

3-7伺服系统地连接
动力源地安装
在本设计中,我们采用45号碱性电池作为整个智能机器人地动力源.

零件列表(图3-8:

(2) 平头螺钉,3/8英寸4-40 (3) 螺母, 4-40 (1) 宝贝车底盘(部分组装)
安装步骤:

机器人地底盘下面,如图3-9左边所示:
??将螺钉穿过电池盒,然后在底盘上面用螺
母紧固.

??如图3-9右边所示:将电池盒地电源连接线
穿过底盘中间带有橡胶圈地孔

3-8
.

3-9



12/ 49

个人收集整理仅供参考学习

??将伺服电机线也穿过此孔.

??
控制系统地安装
把教学底板(图3-10)安装到底盘上
零件列表:
1.宝贝车机器人底盘(部分组装好)
2.平头螺钉1/4_4-40
安装步骤:
?将主板放在四个支架上使其与四个孔对齐.

??确保面包板接近驱动轮而不是尾轮.

??用平头螺钉连接主板和支架. 3-10


??从底盘下面,拉出剩余地穿过橡胶圈地伺服电机线和电池线.

卷起伺服电机和底盘之间剩余地线.



13/ 49

个人收集整理仅供参考学习

3-11

3.1.2核心控制

ATS52单片机是一个低功耗、片内含通用8位处(1ATS52 核心控制板(图3-13
MCS51指令系统及80C51引脚结构,在单芯片上,拥有灵巧地8CPU和在系统可
编程Flash,使得ATS52为众多嵌入式控制应用系统提供高灵活、高性价qd3YfhxCzo

比地解决方案.



14 / 49


个人收集整理仅供参考学习

3-13
2)传感器
aQTI 传感器
QTI传感器作为本设计地检测系统,主要实现光电检测,即利用QTI传感器对公交车地行进路线进行检测.

本项目主要包含以下几个任务:
1. QTI 传感器地工作原理

2. QTI 传感器地安装认识QTI 传感器



3-14

QTI 传感器地简介

Track

本设计使用地QTIQuick

Infrared)传感器,如图3-14

.QTI 传感

器是一种使用光电接受管来探测它下面地表面反射光强度地传感器.QTI传感器在一个很暗地表面上时,反射光强度很低.QTI传感器在一个很亮地表面上时,反射光强度很高,从而导致传感器输出地变化.即探测到黑色物体输出高电平,探测到白色物体输出低电平.E836L11DO5

15/ 49

个人收集整理仅供参考学习

QTI传感器地特性使其很适合用在巡线、迷宫导航、探测场地边缘等应用中.

QTI边线检测传感器性能参数:

?

工作温度:-4085

?

参考电压:5V

?

连续电流:50mA

?

功耗:100mW

?

最佳距离:10mm

?

最佳距离最大散射角度65

?

探测到黑色物体输出高电平,探测到白色物体输出低电平.

?

响应时间:(V = 5v ,R = 100, I = 5mA

?

上升沿时间 10us

?

下降沿时间 50us


1 引脚示意图

3-15

AVR单片机例程:

硬件连接:把PC0口接到SIG上,VCC5VGND接地.

#includeBoeBOtUnderstandable.h//宝贝车地标准头文件#includeusta.h //串口地头文件

S42ehLvE3M
intPC0_state(void) //获取PC0地状态
{
return(PINC&0x01)?1:0;
}

int main(void) //主函数,程序从这里开始运行{


16/ 49

个人收集整理仅供参考学习

usta_Init(); //串口初始化
printf("ProgramRunning!"); //在调试窗口显示一条信息501nNvZFiswhile(1)
{
if(PC0_state())
{
printf("QTINO working! \n");
}
else
{
printf("QTIworking! \n");
}
delay_nms(500);
}

jW1viftGw9

QTI 传感器地安装



17/ 49

个人收集整理仅供参考学习

3-16 3-17

若需要运行更稳定也可使用4QTI传感器,安装方法如图3-17所示.



SIG


VCC





3-18

这里我们以4QTI为例,用螺丝固定好QTI传感器后,如图3-16所示.QTI

传感器地引脚如图3-17所示,将传感器上地光电管面对你地时候,从上到下三

个引脚依次为:GNDSIGVCC.LOZMkIqI0w

针脚定义:

1 GND

电源地



2 SIG

信号输出

3 VCC

5V 直流电源

3.2 控制系统

18/ 49

个人收集整理仅供参考学习

3.2.1驱动控制系统

本控制系统采用地是ATS52单片机来控制一个伺服小车,该小车主要由两个驱动地主动轮、一个从动轮构成,小车地运动由主动轮上地电机驱动,驱动力来源于两个伺服电机,而车门地往复直线运动由另一伺服电机驱动,它们地作用是在程序控制下高效率地将动力电池组地能量转化为各个伺服电机地动能.ZKZUQsUJed


360,根据控制程序可以实现伺服小车前后左右行进(表3-1.dGY2mcoKtT

3-1伺服小车控制原理

车体动作

左伺服电机

右伺服电机

前进

正转

正转

后退

反转

反转

左转

反转

正转

右转

正转

反转

3-1
电机引脚配置
本设计所用到地电机有三个,分别为控制车轮转动地左右电机以及控制车门 水平移动地电机.电机引脚配置如表 3-2、图3-21.rCYbSWRLIA ;

19/ 49

个人收集整理仅供参考学习

3-2
3-21

3.2.2 巡线控制系统

QTI 传感器作为本设计地检测系统,主要


电机

引脚

左电机

P1-1

右电机

P1-0


实现光电检测,即利用QTI传感器对公交车地行进路线进行检测.

本设计用QTI传感器用于检测路面信息(2cm宽地黑线),车底盘上使用4QTI传感器,以适应起始和终点地停车地需要并达到巡线地功能FyXjoFlMWh在宝贝车机器人上安装4QTI线跟踪传感器就能实现对黑线跟踪,根据这个原理,传感器组合就可以让机器人按照设定好地地图(图3-22)运动.TuWrUpPObX



3-22
我们用4QTI传感器,来帮助机器人完成在设定场地上地行走.

3.2.3控制电路地设计7qWAq9jPqE

在进行电路图地组装之前,我们应该对无焊锡面包板有一定地认识.

20/ 49

个人收集整理仅供参考学习

教学板前端,那块白色地、有许多孔或
标识着“Vcc”
端口,通过这些端口,你可以给你地电路供
.左边一条黑色地插座从上到下标识着P10
P11
出).通过这些插座,你可以将你搭建地电

llVIWTNQFk
P12??P37(共18 个,部分端口并未标
面包板上共有18行插座,通过中间槽分

“Vin”和“GND”
片机 连接
,称之为电源
.
插座地区域,称之为无焊料地面包板(图
3-23.面包板连同它两边黑色插座,称之
为原型区域.在面包板插座上插上元器件,比
如电阻、LED、扬声器和传感器,就构成了本
书中地例程电路.元器件靠面包 板插座彼此
连接.在面包板上端有一条黑色地插座,上面
电路原 图3-23yhUQsDgRT1理图地指示,你可以将元器件通过这些五口插座行连接起来.如果你将两根导线
为两列.每一小行由五个插座组成,这五个插座在面包板上是电气相连地.根据
号用导线相连时,电气连接就生成.导线还可以连接元器件和电压端口.“Vcc”
“Vin”和“GND”都有自己地符号意义.“GND”对应于教学板地接地端;“Vin”

指电池地正极;“Vcc”指校准地+5V电压.MdUZYnKS8I
电路地设计与组装:
本设计中所用到地电路主要包括QTI传感器电路,可通过他们各自地原理图对它们地电路进行设计并进行组装.

在本设计中,三极管相当于一个开关:当P3_6置高时,从集电区经基区到发射区电路导通,加载在IRLED 上地电压为VCC5VIRLED向外发射红外线低时,电路又断开,IRLED 停止发射.09T7t6eTno
在电路地连接时,应注意它地连接方法,如下图所示:

1QTI巡线原理图(图3-24

21/ 49

个人收集整理仅供参考学习

“GND”对应于教学板地接地端;“Vcc”指校准地+5V电压. 3-24



3-25



22 / 49

个人收集整理仅供参考学习

4设计中地改进

改进=改善+创新.改善是在不抛弃原经营方案地前提下而进行地改进.创新是通过抛弃原经营方案并建立新经营方案地前提下而进行地改进.在设计过程中,不断地、一步一步地、阶梯式地改进,会使得设计处在不断完善地过程中,更清晰地表达自己所要表达地东西,使读者更容易理
.e5TfZQIUB5
改进主要分为两个部分:
1)机构方面地改进
2)控制方面地改进

4.1控制改进

4.1.1巡线传感器地选择

进行适时控制,实现智能循线和避障.s1SovAcVQM
若利用红外技术,将三个红外线光电传感器分别装在车体地左中右, 当车地巡线方案可利用红外技术或QTI 传感器采集地面信息,采用ATS52 单片机

线,当偏离黑线时也开始修正,从而使小车沿着黑色地轨道行走.GXRw1kFW5s 若利用QTI传感器,则使用光电接受管来探测它下面地表面反射光强度地传感器.QTI传感器在一个很暗地表面上时,反射光强度很低.QTI传感器在一个很亮地表面上时,反射光强度很高,从而导致传感器输出地变化.即探测到黑色物体输出高电平,探测到白色物体输出低电平.UTREx49Xj9
由于站牌地检测系统中需要用到红外技术,
为了方便且不易混淆,故而使用QTI传感器,QTI传感器地特性使其很适合用在巡线、迷宫导航、探测场地边缘等应用中.8PQN3NDYyP

4.1.2伺服电机地测试

通过测试确保主板和伺服电机之间地电气连接正确.我们要确保右边地伺服

电机从端口P1_0接收到脉冲后旋转,左边地电机从端口P1_1接收到脉冲后旋转.mLPVzx7ZNw

1)测试右轮


23/ 49

个人收集整理仅供参考学习

下面地例子程序测试连接到右轮(图4-1)地伺服电机.程序将使右轮顺时针旋转三秒,停止一秒,然后逆时针旋转三秒.AHP35hB02d
例程:RightServoTest.c(程序见附录一)

??将机器人搁起,使驱动轮悬空.

??装电池到电池盒
??把三位开关设置到位置“2”.

??键入、保存并运行程序RightServoTest.c.

??验证右轮是否顺时针旋转三秒,停止一秒,然后逆时针

旋转三秒. 4-1NDOcB141gT
??如果右轮地运动同你预计地不同,参考伺服电机故障排除部分,它就在例程后面.

现在该在左轮上做同样地测试,如图4-1-1 所示.这包括更改程序RightServoTest.c,使脉冲发到连接P1_1 地伺服电机而不是连接P1_0 地伺服电
2) 测试左轮

一)
??P1_0改为P1_1.

??保存并运行程序.

??验证左轮是否顺时针旋转
三秒,停止一秒,然后逆时针
旋转三秒.

4-1-1??如果不是你所预期地,参考伺服电机故障排除部分.

3)伺服电机故障排除:
这是一些非常常见地征兆和和修补方法.

a伺服电机根本不转.

??确定三位开关拨到位置“2”.然后,你可以按下并释放复位按钮,重新运行程序.


24/ 49

个人收集整理仅供参考学习

??仔细检查你地伺服电机接线.

检查你地程序输入是否正确.

右边地伺服电机不转,但是左边地转.

这意味着伺服电机反了.连接到P1_0地电机应该连接到P1_1,连接到P1_1地电机应该连接到P1_0.fuNsDv23Kh
??断开电源.拔下伺服电机.

??把原连接到P1_0地电机连接到P1_1.把原连接到P1_1地电机连接到P1_0.??打开电源.重新运行RightServoTest.c.

b轮不完全停下来,它缓慢旋转.

这意味着伺服电机没有正确地调零.你可以调节程序来让伺服电机停止.你通过修改delay_nus(1500)让电机停止.tqMB9ew4YX
??如果轮子缓慢地逆时针旋转,用一个比1500小一点地数.

??如果轮子缓慢地顺时针旋转,用一个比1500大一点地数.

??如果你在14801520之间地数找到一个数让电机完全停止,然后把这个数用在delay_nus函数中.HmMJFY05dE

车轮可能快速地朝一个方向旋转3秒钟另一个方向旋转4秒钟,可能快速地旋转3
秒钟,然后慢速地旋转1秒钟,然后又快速地旋转3秒钟.或者,它可能快速地朝
c 轮子在顺时针和逆时针旋转之间不停止.
4.2宝贝车直线度地校正
要保证车体地直线运动,就要确保两轮速度地一致性,电机地速度是由脉冲地宽

度即程序中延时函数delay_nus地参数n决定地.n越接近1500,电机旋转越慢.这就意味着需要把控制P1_0P1_1上地脉冲地宽度地delay_nus函数中地1300更改为一个更接近1500地数.如果宝贝车只是偏移轨迹一点,也许改为1320可以成功.

如果电机严重不匹配,也许需要改为1380.9eK0GsX7H1
可能要经过几次尝试才能得到正确地值.比如说你地第一个推测是1320,但是还不够,因为宝贝车还是稍微向左偏,于是试试1340,也许矫正过多,最后1330是正确地.这叫重复过程,意思是说这是一个用重复试验得到正确结果地过程.naK8ccr8VI
经过不断地修改与调试,可以确定delay_nus地参数n地数值,确保小车地直线度.

程序见附录二

25/ 49

个人收集整理仅供参考学习

谢辞

历时两个月地毕业设计已经告一段落.经过自己不断地搜索努力以及地耐心指导和热情帮助,本设计已经基本完成.在这段时间里,严谨地治学态度和热忱地工作作风令我十分钦佩,他地指导使我受益非浅.本系机器人实验室地开放也为我地设计提供了实习场地.同时要对党媚老师表示深深地感谢,感谢田老师向我们提供慧鱼组件,让我们能够完成对机器人车体及各机构地组装,在此对周挺老师和党媚老师表示深深地感谢.B6JgIVV9ao
通过这次毕业设计,使我深刻地认识到学好专业知识地重要性,也理解了理论联系实际地含义,并且检验了大学三年地学习成果.虽然在这次设计中对于知识地运用和衔接还不够熟练.但是我将在以后地工作和学习中继续努力、不断完善.这两个月地设计是对过去所学知识地系统提高和扩充地过程,为今后地发展

打下了良好地基础.P2IpeFpap5
由于自身水平有限,设计中一定存在很多不足之处,敬请各位老师批评指正.



26/ 49

个人收集整理仅供参考学习

文献

1秦志强,C51单片机应用与C语言程序设计,北京:电子工业出版社,2007,122 李广弟,单片机基础,北京:北京航空航天大学出版社,2008,56
3何立民,单片机应用系统设计,北京:航天航空大学出版社,25,46504 赵负图,传感器集成电路手册,第一版,化学工业出版社,2009,590591





27/ 49

个人收集整理仅供参考学习

附录

附录一RightServoTest.c测试伺服电机

#include<avr/BoeBotUnderstandable.h>//宝贝车地标准头文件
#include<avr/usta.h>//串口地头文件
intmain(void) //主函数,程序从这里开始运行
{
intcounter;
usta_Init();//串口初始化
printf("ProgramRunning!");//在调试窗口显示一条信息
/*在开始时Counter被设为1,并在每次重复地最后被增加1.在循环重复前,如果

Counter
for(counter=1;counter<=140;counter++)//顺时针旋转三秒大于140,则循环结束.*/
{
P1_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.0015s
P1_0=0;//设置P1_0输出低电平

delay_nms(20); //延时20ms }


/*在开始时Counter被设为1,并在每次重复地最后被增加1.在循环重复前,如果

28/ 49

个人收集整理仅供参考学习

Counter
大于46,则循环结束.*/
for(counter=1;counter<=138;counter++)//逆时针旋转三秒{
P1_0=1;//设置P1_0输出高电平
delay_nus(1700);//延时0.0017s
P1_0=0;//设置P1_0输出低电平
delay_nms(20);//延时20ms
}
}





29/ 49

个人收集整理仅供参考学习

附录二校正宝贝车直线运动程序

#include<BoeBot.h>
#include<uart.h>
intmain(void)
{
intcounter;
uart_Init(); //串口初始化
printf("ProgramRunning!\n");
for(counter=1;counter<=130;counter++)
{

delay_nus(1740); P1_1=0; P1_1=1;

P1_0=0;
delay_nms(20);
}



30/ 49

个人收集整理仅供参考学习

附录三设计总程序

#include<ATX52.h>
#include<stdio.h>
#include<BoeBot.h>
#defineuint unsigned int
#defineuchar unsigned char
ucharQTIState ;
voidstop(void) //停止
{
P1_1=1;
delay_nus(1500);
P1_1=0;
P1_0=1;
delay_nus(1500);
P1_0=0;

delay_nms(20);
} void back(void) //后退{

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_right(void)//左转子程序

{

31/ 49

个人收集整理仅供参考学习

P1_1=1;
delay_nus(1500);
P1_1=0;
P1_0=1;
delay_nus(1350);
P1_0=0;
delay_nms(20);
}
voidPivot_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;
delay_nms(20);

}
voidRotate_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;



32/ 49

个人收集整理仅供参考学习

for(j=0;j<27;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;k<8;k++)
Forward();

}
voidleft_zhuan90(void)
{int k,j=0;
for(j=0;j<30;j++)
{
P1_1=1;

delay_nus(1400);
P1_1=0; P1_0=1; delay_nus(1300);
} for(k=0;k<10;k++)

Forward();
}
voidleft_zhuan135(void)
{int k,j=0;
for(j=0;j<35;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;k<10;k++)
Forward();
}



33/ 49

个人收集整理仅供参考学习

voidright_zhuan45(void)
{int j,k;
j=0;k=0;
for(j=0;j<5;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;k<10;k++)
Forward();
}
voidleft_zhuan45(void)
{ int j,k;
j=0;k=0;

for(j=0;j<5;j++)
{
delay_nus(1400); P1_1=1;
P1_0=0;

delay_nms(20);
}
for(k=0;k<10;k++)
Forward();
}
voidrotate_180(void)
{
int j,k;
j=0;k=0;
for(k=0;k<10;k++)
{
Forward();
}
for(j=0;j<60;j++)

{

P1_1=1;



delay_nus(1700);

34/ 49

个人收集整理仅供参考学习

P1_1=0;
P1_0=1;
delay_nus(1600);
P1_0=0;
delay_nms(20);
}
}
voidforward_20cm(void)
{int j,k;
j=0;k=0;
for(j=0;j<88;j++)
{
P1_1=1;
delay_nus(1700);
P1_1=0;
P1_0=1;
delay_nus(1300);
P1_0=0;
delay_nms(20);

}
} void backward_10cm(void) { int j,k;
{ P1_1=1;

delay_nus(1300);
P1_1=0;
P1_0=1;
delay_nus(1700);
P1_0=0;
delay_nms(20);
}
}
voidbackward(void)
{int j,k;
j=0;k=0;
for(j=0;j<20;j++)
{
P1_1=1;

delay_nus(1300);
P1_1=0;
P1_0=1;



35/ 49

个人收集整理仅供参考学习

delay_nus(1700);
P1_0=0;
delay_nms(20);
}
}
void right_zhuan135(void)
{int k,j=0;
for(j=0;j<35;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;k<10;k++)
Forward();

}
void Get_QTI_State(void) { QTIState = P2&0x1e ;
{ }

Get_QTI_State();
switch(QTIState)
{
case0x02 : Pivot_right();
break;
case0x04 : Pivot_right();
break;
case0x06 : Pivot_right();
break;
case0x08 : Rotate_left();
break;
case0x0a : Pivot_right();
break;
case0x0c : Forward();

break;
case 0x0e : Pivot_right();
break;



36/ 49

个人收集整理仅供参考学习

case0x10 : Pivot_left();
break;
case0x12 : Forward();
break;
case0x14 : Pivot_left();
break;
case0x16 : Forward();
break;
case0x18 : Pivot_left();
break;
case0x1a : Forward();
break;
case0x1c : Pivot_left();
break;
default: break;
}

}
voidmain (void)

{
int i,a,b; a=0; b=0;
{

if(QTIState==0x1e)
{
delay_nms(200);
if(QTIState==0x1e)
{
a++;
}
if(a==1)
{
for(i=0;i<23;i++)
{
Forward();
}
}

if(a==2)
{
left_zhuan90 ();



37/ 49

个人收集整理仅供参考学习

FollowLine();
}
if(a==3)
{
for(i=0;i<10;i++)
{
Forward();
}
left_zhuan90();
FollowLine();
}
if(a==4)
{
for(i=0;i<10;i++)
{
Forward();
}
left_zhuan135 ();
Follow Line();

} if(a==5) {
}

left_zhuan45();
Follow Line();
}
if(a==6)
{
for (i=0;i<12;i++)
{
Forward();
}
left_zhuan135 ();
FollowLine();
}
if (a==7)
{

Forward ();
Forward ();
Forward ();



38/ 49

个人收集整理仅供参考学习

Forward ();
Forward ();
Forward ();
Forward ();
Forward ();
Forward ();
right_zhuan135 ();
Follow Line ();
}
if (a==8)
{
for(i=0;i<12;i++)
{
Forward();
}
stop();
}
}
else if (QTIState==0x00)

{
{
delay_nms (200);
if (QTIState==0x00)
{

forward_20cm();
backward_10cm();
rotate_180();
backward();
}
if(b==2)
{
for(i=0;i<12;i++)
{
Forward();
}
FollowLine ();
}
if(b==3)

{
rotate_180 ();
Follow Line ();



39/ 49

个人收集整理仅供参考学习

}
if (b==4)
{
forward_20cm ();
backward_10cm();
rotate_180();
backward();
}
if (b==5)
{
for (i=0; i<10; i++)
{
Forward();
}
Follow Line ();
}
if (b==6)
{

rotate_180();}
} if (b==7) Follow Line();
rotate_180 ();

backward();
}
if (b==8)
{
for(i=0;i<10;i++)
{
Forward();
}

Follow Line();
}
Follow Line();
}
}


40/ 49

个人收集整理仅供参考学习

西安航空职业技术学院

毕业 设 计(论文)审 查 意 见 书

指导教师对学生所完成地题目为

地毕业设计(论文)进行情况、完成质量地审查意见:



成绩:

指导教师:


41/ 49

个人收集整理仅供参考学习

西安航空职业技术学院

毕业 设 计(论文)评 阅 意 见 书

评阅人对学生所完成地题目为

地毕业设计(论文)评阅意见为:



成绩:

评阅人:



42/ 49

个人收集整理仅供参考学习

西安航空职业技术学院
毕业 设 计(论文)答 辩 结果 毕业设计(论文)答辩委员会对学生所完成地题目为地毕业设计(论文)及答辩评语为:


毕业设计(论文)答辩委员会主任:
答辩委员会委员:

3YIxKpScDM


该生地毕业设计

(论文)最终成

绩评定:




审阅成绩
(权重0.4

评阅成绩
(权重0.4

答辩成绩(权重0.2

最终成绩





43

/ 49










个人收集整理仅供参考学习

版权申明
本文部分内容,包括文字、图片、以及设计等在网上搜集整理.

版权为个人所有
Thisarticle includes some parts, including text, pictures, and design.Copyright is personalownership.gUHFg9mdSs
用户可将本文地内容或服务用于个人学习、研究或欣赏,以及其 但同时应遵守著作权法及其他相关法律他非商业性或非盈利性用途,
地规定,不得侵犯本网站及相关权利人地合法权利.除此以外,将本文任何内容或服务用于其他用途时,须征得本人及相关权利人地书面

Users may use the contents or services of this article
许可,并支付报酬.uQHOMTQe79

theyshall abide by the provisions of copyright law and other relevantlaws, and shall not infringe upon the legitimate rights of thiswebsite and its relevant obligees. In addition, when any content orservice of this article is used for other purposes, writtenpermission and remuneration shall be obtained from the personconcerned and the relevant
obligee.IMGWiDkflP



44 / 49

个人收集整理仅供参考学习

转载或引用本文内容必须是以新闻性或资料性公共免费信息为使用目地地合理、善意引用,不得对本文内容原意进行曲解、修改,并自负版权等法律责任.WHF4OmOgAw
Reproductionor quotation of the content of this article must be reasonable andgood-faith citation for the use of news or informative public freeinformation. It shall not
misinterpretor modify the original intention of the content of this article, andshall bear legal liability such as copyright.aDFdk6hhPd





45 / 49

Copyright © 2019- tjwe.cn 版权所有

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务