单片机论文 小型机器人.docx

上传人:b****0 文档编号:18406170 上传时间:2023-08-16 格式:DOCX 页数:26 大小:606.40KB
下载 相关 举报
单片机论文 小型机器人.docx_第1页
第1页 / 共26页
单片机论文 小型机器人.docx_第2页
第2页 / 共26页
单片机论文 小型机器人.docx_第3页
第3页 / 共26页
单片机论文 小型机器人.docx_第4页
第4页 / 共26页
单片机论文 小型机器人.docx_第5页
第5页 / 共26页
单片机论文 小型机器人.docx_第6页
第6页 / 共26页
单片机论文 小型机器人.docx_第7页
第7页 / 共26页
单片机论文 小型机器人.docx_第8页
第8页 / 共26页
单片机论文 小型机器人.docx_第9页
第9页 / 共26页
单片机论文 小型机器人.docx_第10页
第10页 / 共26页
单片机论文 小型机器人.docx_第11页
第11页 / 共26页
单片机论文 小型机器人.docx_第12页
第12页 / 共26页
单片机论文 小型机器人.docx_第13页
第13页 / 共26页
单片机论文 小型机器人.docx_第14页
第14页 / 共26页
单片机论文 小型机器人.docx_第15页
第15页 / 共26页
单片机论文 小型机器人.docx_第16页
第16页 / 共26页
单片机论文 小型机器人.docx_第17页
第17页 / 共26页
单片机论文 小型机器人.docx_第18页
第18页 / 共26页
单片机论文 小型机器人.docx_第19页
第19页 / 共26页
单片机论文 小型机器人.docx_第20页
第20页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

单片机论文 小型机器人.docx

《单片机论文 小型机器人.docx》由会员分享,可在线阅读,更多相关《单片机论文 小型机器人.docx(26页珍藏版)》请在冰点文库上搜索。

单片机论文 小型机器人.docx

单片机论文小型机器人

开封技师学院

毕业设计(论文)

题目:

关于单片机的应用与开发

副标题:

关于六足智能机器人的控制

 

学生姓名:

年级:

06级自动化

(2)

系别:

电气工程系

专业:

工业电气自动化

指导教师:

 

091220

 

目录

前言:

一.论文简介

(1)单片机的简介*************************

(2)单片机的外围开发简介*****************

(3)单片机机器人应用简介*****************

二.机器人系统组成

(1)电路组成及工作原理******************

(2)硬件部分****************************

(3)单片机系统**************************

(4)控制程序及程序下载******************

三.总结

(1)技术指标与相关技术问题**************

(2)参考文献****************************

前言

在社会迅速发展的今天,单片机的的运用已经渗透到我们生活的每个角落,也似乎很难找到哪个领域没有单片机的足迹。

智能仪表、医疗器械,导弹的导航装置,智能监控、通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,汽车的安全保障系统,动控制领域的机器人,数码像机、电视机、全自动洗衣机的控制,电话机以及程控玩具、电子宠物等等,这些都离不开单片机。

所以,单片机的学习、开发与应用将对于现代社会的发展,经济的繁荣,和提高满足人类日益增长的物质文化需求有着至关重要的作用。

也成就了一批又一智能化控制的工程师和科学家。

科技越发达,智能化的东西就越多。

学习单片机是社会发展的必然需求,也是我们现代高级技工所必须要掌握的技能。

 

(1)单片机的简介:

一.微型计算机(SingleChipMicrocomputer)

微型计算机的主要特点:

CPU集成于一个芯片中。

单片机(MicroControllerUnit)是把组成微型计算机的各功能部件:

CPU、RAM、ROM、定时/计数器、中断控制器、并行和串行接口均集成在一个芯片中。

其一个芯片就构成了一个比较完整的计算机系统。

  微型计算机与单片机是微电子领域的两个分支。

微型计算机的特点是运算速度快、存储容量大,适合于信息管理、科学计算等领域;而单片机的特点为体积小、价格低,适合于仪器、设备的控制,常常嵌入到仪器、设备中。

故单片机也称作微控制器(Microcontroller)。

二.单片机的生产与发展

(1).单片机的生产:

目前世界上单片机的生产公司有上百家,如Intel、Philips、Microchip、Motorola、Siemens、NEC、AMD、Zilog、TI、Atmel等。

但在国内广泛应用的只有Intel系列和MicrochipPIC系列,

(2).单片机的发展:

  第1阶段(1976~1980):

单片机发展初级阶段。

集成了8位CPU、RAM、ROM、定时器、并行口(无串行口)等部件,但性能低,寻址范围小(≤4KB),中断系统、定时器也简单。

典型机型:

IntelMCS-48系列。

 第2阶段(1980~1983):

高性能单片机阶段。

此阶段的单片机普遍带有串行口,有多级中断处理系统,多个16位定时/计数器,片内ROM、RAM的容量加大,寻址范围达64KB。

典型机型:

IntelMCS-51系列。

  第3阶段(1983~80年代末):

16位单片机和高性能8位机并行发展阶段。

此阶段Intel推出16位单片机MCS-96系列,其他公司也推出了各种16位单片机。

同时高性能8位单片机的性能更为完善。

  第4阶段(90年代):

单片机在集成度、功能、速度、可靠性等方面全面发展,如采用FlashROM,加入了一些特殊功能部件(AD转换器,PWM输出,监视定时器WDT,DMA,调制解调器,通信控制器,浮点运算单元等)。

  至今,单片机的性能已比较完善,且专业化的特点很强,为各种应用提供了很大的方便。

三、单片机的应用

单片机由于体积小,价格低,功耗低、控制功能强且控制逻辑可由软件来实现,因此可以很方便地完成由一般数字电路很难实现的控制逻辑。

所以在测控系统,智能仪表,机电一体化产品,智能接口,智能民用产品,机器人等领域得以广泛应用。

 1.在智能仪器仪表上的应用(如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量)只需结合不同类型的传感器即可控制,使得仪表达到数字化。

智能化、微型化(示波器)。

2.在工业控制中的应用(如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等)多用于构成多样的控制系统,数字采集系统。

设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其内部结构,在大型电路中,这种模块化应用极大地缩小了体积,简化了电路,降低了损坏、错误率,也方便于更换。

(图)

3.在家用电器中的应用(洗衣机、电冰箱、空调机、彩电、及其他音响视频器材,电子秤量设备等)极大的方便了我们的生活。

4.在计算机网络和通信领域中的应用(手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、集群移动通信,无线电对讲机等)利用单片机的通讯接口可以方便的与计算机进行数据通,为在计算机网络通讯设备间的应用提供了很好的物质条件。

  7.单片机在汽车设备领域中的应用(如汽车中的发动机控制器,基于CAN总线的汽车发动机智能电子控制器,GPS导航系统,abs防抱死系统,制动系统等)

此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。

8.多机应用

  利用单片机的串行接口和并行接口,多个单片机子系统可以彼此进行通信,构成一个网络。

可以构成一个集散式的控制系统,从而控制和处理大量的控制对象和信息,且可以通过并行运算方式来提高处理速度。

总之在单片机系统中,单片机是作为控制中枢,数字电路器件是作为外围电路,二者是相辅相成的。

四:

单片机的发展趋势

目前,为了适应各种嵌入式系统的应用需求,单片机将向着高集成度、增强工能。

提高速度、降低成本和功耗等方向发展。

这组要表现在以下几个方面。

1处理性能的增强:

单片机的处理性能取决于其内部数据总线宽度、指令执行速度、片内存储器容量等指标。

近几年发展起来的16位和32位单片机就体现了这个发展趋势。

2增强功能:

未来单片机的增强功能主要在网络功能。

A/D和D/A功能、ISP功能、DMA功能、显示器驱动等方面另外为了能有效地保护嵌入式系统的知识产权,对单片机内部软件的加密是必要的,单片机的内部的程序代码存储器带有加密特性是单片机的一种增强功能。

3高集成度:

随着集成电路技术的和工艺的不断提高,单片机技术的发展及其应用领域不断拓展提高单片机的集成度,增加片内功能器件,减少外围器件的扩展,实现真正的“单片”系统已成为发展趋势集成更多的I/O端口和特殊接口,直接驱动LED、VFD、LCD等显示器,带有直接中断方式键盘端口等。

近年来,单片机结合专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)和精简指令集计算机(ReducedInstructionSetComputer,RISC)技术,发展为嵌入式处理器(EmbeddedProcessor),适用于数据与数值分析、信号处理、智能机器人及图像处理等高技术领域。

由于我做的小实验用的是AT89S51单片机所以下面我就详细介绍AT89S51通过它来反映单片机的开发应用过程!

我们知道Atmel公司的单片机主要为89C51、89C52、89C2051、89C55WD等

以及高性能的AT89LV51、AT89C4051、AT89S51、AT89S52AT89S53等

我所用的AT89S51是一个低功耗,高性能的8位单片机片内含有8KISPD(in-systemprogrammableDownloadable)串行编程可反复擦写1000次的Flash只读程序存储器器件采用ATMEI公司的高密度、非易失性存储技术制造,兼容标准的MCS-51指令系统及80C51引脚的结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,

功能强大的AT89S51可为许多嵌入式应用式控制性应用系统提供高性价比的解决方案!

 

AT89S51管脚介绍:

•EA/VPP:

访问外部程序存储器控制信号/编程电源

•ALE/PROG:

低8位地址锁存信号/编程脉

GND:

地线。

VCC:

+5V电源。

RST/VPD:

复位、备用电源

RXD:

串行通信收接口(SCI)

TXD:

串行通信发接口(SCI)

INT0外部中断0

INT1外部中断1

T0定时器0TXAL2接外部晶振

T1定时器1TXAL1接外部晶振

P0.0~P0.7:

P0口8位双向口线。

P1.0~P1.7:

P1口8位双向口线。

P2.0~P2.7:

P2口8位双向口线。

P3.0~P3.7:

P3口8位双向口线。

AT89S51具有以下特性:

兼容MCS-51指令系统,32个双向I/O口,2个16位可编程定时/计数器、全双工UART串行中断口线、两个外部中断源、中断唤醒省电模式、看门狗(WDT)电路、灵活的ISP字节和分页编程、4KB可反复擦写(大于1000次)ISPFlashROM、4.5V—5.5V工作电压、时钟频率0—3MHZ、128*8bit内部RAM、低功耗空闲和省电模式、三级加密位、软件空闲和省电功能、双数据寄存器指针。

 

(2)机器人的介绍:

机器人(Robot)是自动执行工作的机器装置。

它既可以接受人类指挥,又可以运行预先编排的程序,也可以根据以人工智能技术制定的原则纲领行动。

它的任务是协助或取代人类工作的工作,它可以说是高级整合控制论、机械电子、计算机、材料和仿生学的产物。

机器人的能力包括:

智能,指感觉和感知,包括记忆、运算、比较、鉴别、判断、决策、学习和逻辑推理等;机能,指变通性、通用性或空间占有性等;物理能,指力、速度、连续运行能力、可靠性、联用性、寿命等。

因此,可以说机器人是具有生物功能的三维空间坐标机器。

机器人一般由执行机构、驱动装置、检测装置和控制系统等组成

随着信息技术的快速发展,传统制造业将向敏捷制造业转变。

机器人将成为可重组的敏捷制造生供重产装备的重要组成部分,为传统制造企业向敏捷制造企业发展提要的技术支持。

在工业机器人飞速发展的同时,在非制造业领域对机器人技术应用的研究和开发也非常活跃,这被称为特种机器人技术。

在研究和开发特种机器人的过程中,人们逐步认识到机器人技术是感知、决策、行动和交互四大技术的结合。

随着人们对机器人技术智能化本质认识的加深,机器人技术正源源不断地向人类活动的各个领域渗透。

结合这些领域的应用特点,人们发展了各种特种机器人和智能机器,如仿人机器人、仿生机器人、微机器人、医疗机器人、水下机器人、移动机器人、军用机器人、空间机器人、农林机器人等。

它们从外观上看已经远远脱离了最初工业机器人的形状,其智能和功能也大大超出了工业机器人的范围,更加符合应用领域的特殊要求。

传统的机器人是对人体的延伸,一般需要人来操作;而特种机器人和智能机器则是通过感知,由计算机推理进行响应和动作,是对人类智能的延伸。

据专家预测,21世纪将是非制造业自动化技术快速发展的时期。

机器人以及其他智能机器将在空间和海洋探索、农业及食品加工、采掘、建筑、医疗、服务、交通运输、军事等领域快速发展并实现产业化。

一、六足机器人简介

爬虫机器人是汉库机器人有限公司研制开发的,其两侧的运动部件由两个舵机控制,通过执行不同的指令来完成相应的动作。

下图是爬虫机器人的俯视图片:

 

硬件简介:

(1)控制板简介:

除了机器人机体本身以外,还有很重要的一个部分就是机器人的控制器系统。

汉库生产的控制板具有很好的操作性。

在中国,大学里教授最为广泛的单片机应该就是MCS-51。

我们的控制板采用STC12T54单片机,指令周期大大缩减,运行效率大大提高。

这样做是为了我们的机器人能够作出更加完美的动作,或者加入一些新型的传感器,使机器人“感知”这个世界。

控制板的俯视图如下图所示

STC12C5410AD

控制板连线见下图:

此控制板所用主要器件简介

1关于电平特性

数字电路中只有两种电平:

高和低

单片机为TTL电平:

高+5V低0V

RS232电平:

计算机的串口

高-12V低+12V

所以计算机与单片机之间通讯时需要加电平转换芯片max232。

Max系统工作如下图所示:

2STC12C5410AD芯片机器最小工作系统图:

(2)舵机简介:

舵机本身是一个位置随动系统。

它是由舵盘、减速齿轮组、位置反馈电位计、直流电机和控制电路组成的。

通过内部的位置反馈,使它的舵盘输出转角正比于给定的控制信号,因此对于它的控制可以使用开环控制方式。

舵机体积十分小巧。

机器人使用它是非常合适的。

由于六足机器人用到了八位单片机,我们的舵机需要的是方波信号。

单片机的精度直接影响了舵机的控制精度,

PWM信号为脉宽调制信号,其特点在于他的上升沿与下降沿之间的时间宽度

目前,北京汉库科技的HG14-M舵机可能是这个过渡时期的产物,它采用传统的PWM协议,优缺点一目了然。

优点是已经产业化,成本较低,旋转角度大(目前所生产的都可达到185度);缺点是控制比较复杂,毕竟采用PWM格式。

但是它是一款数字型的舵机,其对PWM信号的要求较低:

(1)不用随时接收指令,减少CPU的疲劳程度;

可以位置自锁、位置跟踪,这方面超越了普通的步进电机

其PWM格式注意的几个要点:

(1)上升沿最少为0.5mS,为0.5-2.5mS之间;(对应舵机旋转0-180度)

(2)HG14-M数字舵机下降沿时间没要求,目前采用0.5Ms就行;也就是说PWM波形可以是一个周期1mS的标准方波;

HG0680为塑料齿轮模拟舵机,其要求连续供给PWM信号;它也可以输入一个周期为1mS的标准方波,这时表现出来的跟随性能很好、很紧密

PWM的控制精度控制

我们采用的是8位STC12C5410ADCPU,其数据分辨率为256,那么经过舵机极限参数实验,得到应该将其划分为250份。

那么0.5mS---2.5Ms的宽度为2mS=2000uS。

2000uS÷250=8uS

则:

PWM的控制精度为8us

我们可以以8uS为单位递增控制舵机转动与定位。

舵机可以转动185度,那么185度÷250=0.74度,

则:

舵机的控制精度为0.74度

 

(3)机器人传感器系统:

为了使机器人更好的“感知”这个世界,我们可以给它装上合适的传感器。

传感器的总类有很多,为了实现不同的功能,我们可以选着不同的传感器!

经过我们的考察御姐和机器人的性质我们选用了红外传感器:

另外我们也可以选择超声波传感器:

它是通过超声波发送与接受时间差计算出被测物体距离,TTL数字输出。

测量机器人与前方障碍物之间的距离,可以用于机器人精确避障。

测量范围:

17cm~2m。

0模拟输出:

PWM模拟输出。

工作电压:

5VDC采样率:

20次/秒。

05.工作温度:

-40℃到+85。

存储温度:

-40℃到+125℃

六组机器人的控制程序:

由于STC单片机是基于51控制核的高速单片机。

对于程序的编译和链接,我们可以使用KEILC帮助完成。

在对芯片进行编程时,我们使用STC公司提供的烧录软件STC_ISP_V3.5。

STC_ISP_V3.9是STC单片机PC端ISP下载控制软件测试版Ver3.9。

非安装版,自解压直接执行STC-ISPV39.exe即可。

它可以通过普通的串口(COM)烧写单片机的程序。

软件运行稳定。

操作相对方便。

软件的操作界面如下:

控制程序:

//小车说明:

当HIGH>1.5ms,右边前进,左边后退

//当HIGH<1.5ms,右边后退,左边前进

//右边接P1.1;左边接P1.0

//P3.7-前、P3.5-左、P3.6-右接红外传感器;

//当传感器检测到障碍时,输出为低。

//-------------------------------------------------------------

#include

#defineucharunsignedchar

#defineuintunsignedint

#defineCtrl_PinsP1

#defineSensor_PinsP3

//sbitSensor_1=P3^7;

externvoiddelay_8us();//把delay_8us()声明为外部函数

externvoiddelay_20us();//把delay_20us()声明为外部函数

externvoiddelay_200us();//把delay_200us()声明为外部函数

externvoiddelay_490us();//把delay_490us()声明为外部函数

externvoiddelay_500us();//把delay_500us()声明为外部函数

externvoiddelay_800us();//把delay_500us()声明为外部函数

externvoiddelay_1ms();//把delay_1ms()声明为外部函数

externvoiddelay_1500us();//把delay_500us()声明为外部函数

externvoiddelay_2ms();//把delay_2ms()声明为外部函数

externvoiddelay_5ms();//把delay_5ms()声明为外部函数

externvoiddelay_10ms();//把delay_10ms()声明为外部函数

externvoiddelay_200ms();//把delay_200ms()声明为外部函数

externvoiddelay_500ms();//把delay_500ms()声明为外部函数

externvoiddelay_1000ms();//把delay_1000ms()声明为外部函数

voiddelay_18ms()

{

delay_10ms();

delay_5ms();

delay_2ms();

delay_1ms();

}

voiddelay_1300us()

{

uchari;

delay_500us();

for(i=0;i<4;i++)delay_200us();

//delay_800us();

}

voidinit_MCU(void)

{

P1=0x00;

P3=0xf0;//高位接传感器,需置高

}

voidStopPoint()

{

Ctrl_Pins|=0x03;

delay_1500us();

Ctrl_Pins&=0xfc;

delay_18ms();

}

//------------------------------------------------------------

//直线运动

//type=0时,直线向前;type=1时,直线后退

//speed决定运动速度,speed越大,速度越大。

//025时,speed=25。

//------------------------------------------------------------

voidrun_stright(uchartype,ucharspeed)

{

uchari,spd,spd0;

if(speed>25)speed=25;

spd=25-speed;

spd0=2*speed;

Ctrl_Pins|=0x03;

delay_1300us();//MIN,1300us

for(i=0;i

if(type==0)Ctrl_Pins&=0xfe;//walkforward

elseCtrl_Pins&=0XFD;//walkback

for(i=0;i

Ctrl_Pins&=0xfc;

delay_18ms();

}

//------------------------------------------------------------

//静止拐弯

//drct=0:

向左;drct=1:

向右。

//speed:

拐弯速度的大小

//------------------------------------------------------------

voidTurnAround(uchardrct,ucharspeed)

{

uchari,spd;

drct=drct;

if(speed>25)speed=25;

spd=25-speed;

Ctrl_Pins|=0x03;

if(drct==0){//左边的停止,右边前进

delay_1500us();

}else{//右边的停止,左边前进

delay_1300us();

for(i=0;i

}

Ctrl_Pins&=0XFE;

for(i=0;i

Ctrl_Pins&=0XFC;

delay_18ms();

}

//------------------------------------------------------------

//前进中转向

//drct=0:

向左;drct=1:

向右。

//spd1:

转向侧的速度,spd2:

另一侧的速度。

//------------------------------------------------------------

voidTurnInForward(uchardrct,ucharspd1,ucharspd2)

{

uchari,spd,itmp;

if(spd1>25)spd1=25;

if(spd2>25)spd2=25;

if(spd1>spd2){

itmp=spd1;spd1=spd2;spd2=itmp;

}

itmp=spd1+spd2;

if(drct==0)spd=25-spd1;

elsespd=25-spd2;

Ctrl_Pins|=0X03;

delay_1300us();

for(i=0;i

Ctrl_Pins&=0xfe;

f

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2