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

上传人:本田雅阁 文档编号:2058178 上传时间:2019-02-09 格式:DOC 页数:25 大小:763.51KB
返回 下载 相关 举报
单片机论文 小型机器人.doc_第1页
第1页 / 共25页
单片机论文 小型机器人.doc_第2页
第2页 / 共25页
单片机论文 小型机器人.doc_第3页
第3页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

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

1、 开封技师学院毕业设计(论文)题目: 关于单片机的应用与开发副标题:关于六足智能机器人的控制学生姓名: 年 级: 06级自动化(2)系 别: 电气工程系专 业: 工业电气自动化指导教师: 09 12 20目录前言:一. 论文简介(1) 单片机的简介*(2) 单片机的外围开发简介*(3) 单片机机器人应用简介* 二 机器人系统组成(1) 电路组成及工作原理*(2) 硬件部分*(3) 单片机系统*(4) 控制程序及程序下载*三 总结 (1) 技术指标与相关技术问题*(2) 参考文献* 前言 在社会迅速发展的今天,单片机的的运用已经渗透到我们生活的每个角落,也似乎很难找到哪个领域没有单片机的足迹。智

2、能仪表、医疗器械,导弹的导航装置,智能监控、通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能 IC 卡,汽车的安全保障系统,动控制领域的机器人,数码像机、电视机、全自动洗衣机的控制,电话机以及程控玩具、电子宠物等等,这些都离不开单片机。 所以,单片机的学习、开发与应用将对于现代社会的发展,经济的繁荣,和提高满足人类日益增长的物质文化需求有着至关重要的作用。也成就了一批又一智能化控制的工程师和科学家。科技越发达,智能化的东西就越多。学习单片机是社会发展的必然需求,也是我们现代高级技工所必须要掌握的技能。(1)单片机的简介: 一微型计算机(Single Chip Microc

3、omputer) 微型计算机的主要特点:CPU集成于一个芯片中。 单片机(Micro Controller Unit)是把组成微型计算机的各功能部件:CPU、RAM、ROM、定时/计数器、中断控制器、并行和串行接口均集成在一个芯片中。其一个芯片就构成了一个比较完整的计算机系统。微型计算机与单片机是微电子领域的两个分支。微型计算机的特点是运算速度快、存储容量大,适合于信息管理、科学计算等领域;而单片机的特点为体积小、价格低,适合于仪器、设备的控制,常常嵌入到仪器、设备中。故单片机也称作微控制器(Microcontroller)。二单片机的生产与发展(1).单片机的生产:目前世界上单片机的生产公司

4、有上百家,如Intel、Philips、Microchip、Motorola、Siemens、NEC、AMD、Zilog、TI、Atmel等。但在国内广泛应用的只有Intel 系列和Microchip PIC系列,(2).单片机的发展:第1阶段(19761980):单片机发展初级阶段。集成了8位CPU、RAM、ROM、定时器、并行口(无串行口)等部件,但性能低,寻址范围小(4KB),中断系统、定时器也简单。典型机型:Intel MCS-48系列。 第2阶段(19801983):高性能单片机阶段。此阶段的单片机普遍带有串行口,有多级中断处理系统,多个16位定时/计数器,片内ROM、RAM的容量加

5、大,寻址范围达64KB。典型机型:Intel MCS-51系列。第3阶段(198380年代末):16位单片机和高性能8位机并行发展阶段。此阶段Intel推出16位单片机MCS-96系列,其他公司也推出了各种16位单片机。同时高性能8位单片机的性能更为完善。第4阶段(90年代):单片机在集成度、功能、速度、可靠性等方面全面发展,如采用Flash ROM,加入了一些特殊功能部件(AD转换器,PWM输出,监视定时器WDT,DMA,调制解调器,通信控制器,浮点运算单元等)。至今,单片机的性能已比较完善,且专业化的特点很强,为各种应用提供了很大的方便。三、单片机的应用单片机由于体积小,价格低,功耗低、控

6、制功能强且控制逻辑可由软件来实现,因此可以很方便地完成由一般数字电路很难实现的控制逻辑。所以在测控系统,智能仪表,机电一体化产品,智能接口,智能民用产品,机器人等领域得以广泛应用。 1.在智能仪器仪表上的应用(如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量)只需结合不同类型的传感器即可控制,使得仪表达到数字化。智能化、微型化(示波器)。2.在工业控制中的应用(如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等)多用于构成多样的控制系统,数字采集系统。设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使

7、用人员了解其内部结构,在大型电路中,这种模块化应用极大地缩小了体积,简化了电路,降低了损坏、错误率,也方便于更换。(图)3.在家用电器中的应用(洗衣机、电冰箱、空调机、彩电、及其他音响视频器材,电子秤量设备等)极大的方便了我们的生活。4.在计算机网络和通信领域中的应用(手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、集群移动通信,无线电对讲机等)利用单片机的通讯接口可以方便的与计算机进行数据通,为在计算机网络通讯设备间的应用提供了很好的物质条件。7.单片机在汽车设备领域中的应用(如汽车中的发动机控制器,基于CAN总线的汽车发动机智能电子控制器,GPS导航系统,abs防抱死系统

8、,制动系统等)此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。8多机应用利用单片机的串行接口和并行接口,多个单片机子系统可以彼此进行通信,构成一个网络。可以构成一个集散式的控制系统,从而控制和处理大量的控制对象和信息,且可以通过并行运算方式来提高处理速度。总之在单片机系统中,单片机是作为控制中枢,数字电路器件是作为外围电路,二者是相辅相成的。四:单片机的发展趋势 目前,为了适应各种嵌入式系统的应用需求,单片机将向着高集成度、增强工能。提高速度、降低成本和功耗等方向发展。这组要表现在以下几个方面。 1处理性能的增强:单片机的处理性能取决于其内部数据总线宽度、指令执行

9、速度、片内存储器容量等指标。近几年发展起来的16位和32位单片机就体现了这个发展趋势。 2增强功能:未来单片机的增强功能主要在网络功能。A/D和D/A功能、ISP功能、DMA功能、显示器驱动等方面另外为了能有效地保护嵌入式系统的知识产权,对单片机内部软件的加密是必要的,单片机的内部的程序代码存储器带有加密特性是单片机的一种增强功能。 3高集成度:随着集成电路技术的和工艺的不断提高,单片机技术的发展及其应用领域不断拓展提高单片机的集成度,增加片内功能器件,减少外围器件的扩展,实现真正的“单片”系统已成为发展趋势集成更多的I/O端口和特殊接口,直接驱动LED、VFD、LCD等显示器,带有直接中断方

10、式键盘端口等。近年来,单片机结合专用集成电路(Application Specific Integrated Circuit, ASIC)和精简指令集计算机(Reduced Instruction Set Computer, RISC)技术,发展为嵌入式处理器(Embedded Processor),适用于数据与数值分析、信号处理、智能机器人及图像处理等高技术领域。 由于我做的小实验用的是AT89S51单片机所以下面我就详细介绍AT89S51通过它来反映单片机的开发应用过程!我们知道Atmel公司的单片机主要为89C51、89C52、89C2051、89C55WD等 以及高性能的AT89LV5

11、1、AT89C4051、AT89S51、AT89S52 AT89S53等 我所用的AT89S51是一个低功耗,高性能的8位单片机片内含有8KISPD(in-system programmable Downloadable)串行编程可反复擦写1000次的Flash只读程序存储器器件采用ATMEI公司的高密度、非易失性存储技术制造,兼容标准的MCS-51指令系统及80C51引脚的结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的AT89S51可为许多嵌入式应用式控制性应用系统提供高性价比的解决方案! AT89S51管脚介绍: EA/VPP:访问外部程序存储器控制信号/编程

12、电源 ALE/PROG:低8位地址锁存信号/编程脉GND:地线。VCC:+5 V电源。RST/VPD:复位、备用电源 RXD:串行通信收接口(SCI) TXD:串行通信发接口(SCI)INT0 外部中断0INT1 外部中断1T0定时器0 TXAL2 接外部晶振 T1定时器1 TXAL1 接外部晶振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串行中断口线、两

13、个外部中断源、中断唤醒省电模式、看门狗(WDT)电路、灵活的ISP字节和分页编程、4KB可反复擦写(大于1000次)ISP Flash ROM、4.5V5.5V工作电压、时钟频率03MHZ、128*8bit内部RAM、低功耗空闲和省电模式、三级加密位、软件空闲和省电功能、双数据寄存器指针。(2)机器人的介绍:机器人(Robot)是自动执行工作的机器装置。它既可以接受人类指挥,又可以运行预先编排的程序,也可以根据以人工智能技术制定的原则纲领行动。它的任务是协助或取代人类工作的工作,它可以说是高级整合控制论、机械电子、计算机、材料和仿生学的产物。机器人的能力包括:智能,指感觉和感知,包括记忆、运算

14、、比较、鉴别、判断、决策、学习和逻辑推理等;机能,指变通性、通用性或空间占有性等;物理能,指力、速度、连续运行能力、可靠性、联用性、寿命等。因此,可以说机器人是具有生物功能的三维空间坐标机器。机器人一般由执行机构、驱动装置、检测装置和控制系统等组成 随着信息技术的快速发展,传统制造业将向敏捷制造业转变。机器人将成为可重组的敏捷制造生供重产装备的重要组成部分,为传统制造企业向敏捷制造企业发展提要的技术支持。在工业机器人飞速发展的同时,在非制造业领域对机器人技术应用的研究和开发也非常活跃,这被称为特种机器人技术。在研究和开发特种机器人的过程中,人们逐步认识到机器人技术是感知、决策、行动和交互四大技

15、术的结合。随着人们对机器人技术智能化本质认识的加深,机器人技术正源源不断地向人类活动的各个领域渗透。结合这些领域的应用特点,人们发展了各种特种机器人和智能机器,如仿人机器人、仿生机器人、微机器人、医疗机器人、水下机器人、移动机器人、军用机器人、空间机器人、农林机器人等。它们从外观上看已经远远脱离了最初工业机器人的形状,其智能和功能也大大超出了工业机器人的范围,更加符合应用领域的特殊要求。传统的机器人是对人体的延伸,一般需要人来操作;而特种机器人和智能机器则是通过感知,由计算机推理进行响应和动作,是对人类智能的延伸。据专家预测,21世纪将是非制造业自动化技术快速发展的时期。机器人以及其他智能机器

16、将在空间和海洋探索、农业及食品加工、采掘、建筑、医疗、服务、交通运输、军事等领域快速发展并实现产业化。一、六足机器人简介 爬虫机器人是汉库机器人有限公司研制开发的,其两侧的运动部件由两个舵机控制,通过执行不同的指令来完成相应的动作。下图是爬虫机器人的俯视图片:STC芯片板子舵机芯片型号:STC12C5410AD硬件简介:(1)控制板简介: 除了机器人机体本身以外,还有很重要的一个部分就是机器人的控制器系统。汉库生产的控制板具有很好的操作性。在中国,大学里教授最为广泛的单片机应该就是MCS-51。我们的控制板采用STC12T54单片机,指令周期大大缩减,运行效率大大提高。这样做是为了我们的机器人

17、能够作出更加完美的动作,或者加入一些新型的传感器,使机器人“感知”这个世界。控制板的俯视图如下图所示STC12C5410AD控制板连线见下图:此控制板所用主要器件简介 1关于电平特性数字电路中只有两种电平:高和低 单片机为TTL电平:高 +5V 低 0VRS232电平:计算机的串口 高 -12V 低+12V 所以计算机与单片机之间通讯时需要加电平转换芯片max232。Max系统工作如下图所示:2 STC12C5410AD芯片机器最小工作系统图:(2)舵机简介:舵机本身是一个位置随动系统。它是由舵盘、减速齿轮组、位置反馈电位计、直流电机和控制电路组成的。通过内部的位置反馈,使它的舵盘输出转角正比

18、于给定的控制信号,因此对于它的控制可以使用开环控制方式。 舵机体积十分小巧。机器人使用它是非常合适的。由于六足机器人用到了八位单片机,我们的舵机需要的是方波信号。单片机的精度直接影响了舵机的控制精度,PWM信号为脉宽调制信号,其特点在于他的上升沿与下降沿之间的时间宽度目前,北京汉库科技的HG14-M舵机可能是这个过渡时期的产物,它采用传统的PWM协议,优缺点一目了然。优点是已经产业化,成本较低,旋转角度大(目前所生产的都可达到185度);缺点是控制比较复杂,毕竟采用PWM格式。但是它是一款数字型的舵机,其对PWM信号的要求较低:(1) 不用随时接收指令,减少CPU的疲劳程度;可以位置自锁、位置

19、跟踪,这方面超越了普通的步进电机其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

20、。2000uS250=8uS则:PWM的控制精度为8us我们可以以8uS为单位递增控制舵机转动与定位。舵机可以转动185度,那么185度250=0.74度,则:舵机的控制精度为0.74度(3)机器人传感器系统:为了使机器人更好的“感知”这个世界,我们可以给它装上合适的传感器。传感器的总类有很多,为了实现不同的功能,我们可以选着不同的传感器!经过我们的考察御姐和机器人的性质我们选用了红外传感器: 另外我们也可以选择超声波传感器: 它是通过超声波发送与接受时间差计算出被测物体距离,TTL数字输出。 测量机器人与前方障碍物之间的距离,可以用于机器人精确避障。 测量范围:17cm2m。 0模拟输出:P

21、WM模拟输出。 工作电压:5VDC 采样率:20次/秒。 05.工作温度:-40 到+85。 存储温度:-40 到+125 六组机器人的控制程序:由于STC单片机是基于51控制核的高速单片机。对于程序的编译和链接,我们可以使用KEIL C 帮助完成。在对芯片进行编程时,我们使用STC公司提供的烧录软件STC_ISP_V3.5。 STC _ISP_V3.9是STC单片机PC端ISP下载控制软件测试版Ver3.9 。非安装版,自解压 直接执行STC-ISP V39.exe即可 。它可以通过普通的串口(COM)烧写单片机的程序。软件运行稳定。操作相对方便。软件的操作界面如下:控制程序:/ 小车说明:

22、 当HIGH1.5ms,右边前进,左边后退/ 当HIGH1.5ms,右边后退,左边前进/ 右边接P1.1;左边接P1.0/P3.7-前、P3.5-左、P3.6-右接红外传感器;/当传感器检测到障碍时,输出为低。/ -#include #define uchar unsigned char#define uint unsigned int#define Ctrl_Pins P1#define Sensor_Pins P3/sbit Sensor_1=P37;extern void delay_8us(); /把delay_8us()声明为外部函数extern void delay_20us();

23、 /把delay_20us()声明为外部函数extern void delay_200us(); /把delay_200us()声明为外部函数extern void delay_490us(); /把delay_490us()声明为外部函数extern void delay_500us(); /把delay_500us()声明为外部函数extern void delay_800us(); /把delay_500us()声明为外部函数extern void delay_1ms(); /把delay_1ms()声明为外部函数extern void delay_1500us(); /把delay_5

24、00us()声明为外部函数extern void delay_2ms(); /把delay_2ms()声明为外部函数extern void delay_5ms(); /把delay_5ms()声明为外部函数extern void delay_10ms(); /把delay_10ms()声明为外部函数extern void delay_200ms(); /把delay_200ms()声明为外部函数extern void delay_500ms(); /把delay_500ms()声明为外部函数extern void delay_1000ms(); /把delay_1000ms()声明为外部函数v

25、oid delay_18ms()delay_10ms();delay_5ms();delay_2ms();delay_1ms();void delay_1300us()uchar i;delay_500us();for(i=0;i4;i+)delay_200us();/delay_800us();void init_MCU(void)P1=0x00;P3=0xf0;/ 高位接传感器,需置高void StopPoint()Ctrl_Pins|=0x03;delay_1500us();Ctrl_Pins&=0xfc;delay_18ms();/ -/ 直线运动/ type=0时,直线向前;type

26、=1时,直线后退/ speed决定运动速度,speed越大,速度越大。/ 0speed25时,speed=25。/ -void run_stright(uchar type, uchar speed)uchar i,spd,spd0;if(speed25)speed=25;spd=25-speed;spd0=2*speed;Ctrl_Pins|=0x03;delay_1300us();/ MIN, 1300usfor(i=0;ispd;i+)delay_8us();if(type=0)Ctrl_Pins&=0xfe;/ walk forwardelse Ctrl_Pins&=0XFD;/ wa

27、lk backfor(i=0;i25)speed=25;spd=25-speed;Ctrl_Pins|=0x03;if(drct=0)/ 左边的停止,右边前进delay_1500us();else/ 右边的停止,左边前进delay_1300us();for(i=0;ispd;i+)delay_8us();Ctrl_Pins&=0XFE;for(i=0;i25)spd1=25;if(spd225)spd2=25;if(spd1spd2)itmp=spd1;spd1=spd2;spd2=itmp;itmp=spd1+spd2;if(drct=0)spd=25-spd1;elsespd=25-spd

28、2;Ctrl_Pins|=0X03;delay_1300us();for(i=0;ispd;i+)delay_8us();Ctrl_Pins&=0xfe;for(i=0;iitmp;i+)delay_8us();Ctrl_Pins&=0xfc;delay_18ms();void main(void)uchar i=0,itmp=0;init_MCU();delay_500ms();if(i)/ 取消warningdelay_1000ms();delay_10ms();delay_1300us();delay_1500us();delay_18ms();delay_1ms();delay_200

29、ms();delay_200us();delay_20us();delay_2ms();delay_490us();delay_500ms();delay_500us();delay_5ms();delay_800us();delay_8us();StopPoint();run_stright(0,10);run_stright(1,10);TurnAround(0,10);TurnAround(1,10);TurnInForward(0,10,20);TurnInForward(1,10,20);while(1)for(i=0;i200;i+) / StopPoint();run_strig

30、ht(0,20); 五.遇到的问题及解决方法1问:如何判断单片机已经坏了?答:有几种情况可以断定单片机已经坏了: 单片机在任何编程器上,都不能编程,并会提示芯片错误之类的警告信息。 单片机本身已经被“烧”的“面目全非”的时候。 单片机在正确连接晶振、复位、ROM选择、电源后,仍不能操作此芯片。 这里只是举了一些例子,单片机烧坏的可能性多种多样,当我们在判断一颗芯片坏掉之前,一定要用一颗好的芯片做同样的操作,看看是不是自己的操作存在问题。芯片工作正常,才敢断定芯片已坏。有时候单片机本身没有问题,而是在焊接或者电路板上存在问题没有发现罢了。2问:我想知道串口和串口线的好坏,应该如何做?答:你可以下

31、载一个串口调试软件,然后根据手头上的工具选择测试方式:有示波器:这是最真实的测试方式,我们用示波器的探头测试串口的2号、3号管脚(对地,也就是5号管脚,这里说的是标准的9针串口的定义),在电脑上打开串口调试软件,向外面发数据,示波器能看到波形就认为发送是好的,但是串口接收数据无法测试。一般来说,如果发是好的,收也是好的。电脑上有两个串口:将串口线(2、3线已经交叉)接到电脑的两个串口上,然后使用两个同样的软件设置好串口后,做收发实验,应该会在接收窗口看到发送的数据,这说明了串口和线都是好的。(注意串口号的正确选择)电脑上只有一个串口:这时就需要两台电脑来完成测试了,方法与类似。这里面要注意软件

32、设置的问题,波特率、停止位数、奇偶校验等信息都要设置相同,端口号也要正确选择后才有可能成功测试串口。3问:KEIL软件因为什么原因,会通不过编译?答:有些书写格式和内容会影响到编译和连接(LINK),在使用时注意使用的关键字和标号,使用不正确会通不过编译。例如我们在程序结尾写:“EEND: END”的结束汇编指令时,就有可能通不过编译。我们将“EEND:”删掉就可以通过编译。在编程时,应该慢慢的收集一些造成编译通不过的原因,为日后编程提供方便。总结经验教训并记录,与学习新的知识同样重要!还有一些问题是KEIL软件版本引起来的,有些版本没有经过破解,不能编译过大的文件,会提示你的程序超过了多少字

33、节。这些问题可以通过下载破解软件来解决。在写函数的时候,我们应该在函数开始就定义变量。如果不这样做就会造成编译不通过。这并不是C语言的标准。需要特别留心。4. 如何判断舵机是否烧毁?答:改变舵机与控制板的连接引脚,若其它引脚仍不能使舵机正常运动,则该舵机已损坏。5. 机器人上电后,不做动作,呈现抽搐状。原因:这种情况是因为电池电力不足。解决方法:应切断电源,保证电量充足后再使用。6. 遥控器控制不灵。原因:可能是机器人电量不足,也可能是遥控器电池电量不足,还可能是遥控器接受板插线松弛或脱落。解决方法:确保机器人电量足够,更换遥控器电池,检查遥控器接线板的插线情况。7. 机器人某个关节不动作。原

34、因:可能是舵机插线问题,或者是电路板和舵机问题。解决方法:检查舵机插线,如果不能解决,更换舵机,如果再不行,更换电路板以及电路板上的芯片。8. 机器人开关打开,机器人不做任何反应,电路板指示灯不亮。原因:可能是开关或电池的连接线断路,也可能是电路板出现断路。解决方法:更换开关,如果不能解决,检查开关和电池的电线,再解决不了,更换电路板以及电路板上的芯片。9. 某个关节不灵活,用手掰动时无法听见舵机齿轮声音。 原因:此关节上舵机的舵盘脱丝。 解决方法:更换舵盘。10. 机器人使用过程中的注意事项有哪些?答:使用前请先检查电池,若电量不足请保证电量充足后再使用 将机器人放置在平整空旷的场地进行试验

35、 机器人运动时请不要人为放置过重或对其有害的障碍物 使用后请关闭电源开关,并将电池取出放好 不使用时请将机器人放入本公司的包装盒内,切忌不要放在高温,高压等危险环境中结语:单片机系统的开发与应用意识现代社会发展的必然趋势,由于工程技术的电子化,集成化和系统化促进了电子工程技术的发展,同时也促进了电子工程技术在社会各个领域中的应用,相信在不久的将来单片机的学习与开发会极大的方便了我们的生活!这学期我们只个小组是在老师的代领下,通过了解六足机器人的安装,调试进一步的学习了单片机的开发与应用,我也经过这学期学习自己也制做了一些单片机小实验通过这些小实验也是加深对所学应用!参考文献: 1: 单片机原理及接口技术(第三版)李朝清 编著 北京航空航天大学出版社 2:自动化MCS-51单片机原理及嵌入式系统应用王忠飞、胥芳 西安电子科技大学出版社 3:单片机典型系统设计实例精讲彭为、黄科 电子工业出版社 4:电子电力技术西安交通大学(第四版)王兆安 黄俊 机械工业出版社 5:自动控制技术 刘春 中国劳动社会保障出版社

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1