机器人毕业设计

发布时间:2018-08-25 19:31:52

课程设计任务书

2015 级)

摘要------------------------------------------------------4

引言------------------------------------------------------5

任务书-----------------------------------------------------6

第一章

我国机器人技术的发展概况------------------------------------7

第二章 机器人的总体设计解剖

1.1资料的收集与阐述-----------------------------------------7

1.2机器人工作原理简介

1.总体设计剖------------------------------------------------8

2.伺服电机的剖析--------------------------------------------9

第3章 机器人总体设计综述 ---------------------------------12

11设计课题的阐述-----------------------------------------12 12单片机的选择-------------------------------------------12 13主控板部分简介-----------------------------------------12

第四章 机器人的总体设计方案与部分简介

11设计方案-----------------------------------------------13 12各部分功能及原理简介-----------------------------------13 第五章 机器人的原理图设计、仿真及电路板制作

11机器人的原理图设计-------------------------------------15 12电源部分-----------------------------------------------16 13稳压电源部分-------------------------------------------16 15接口电路部分-------------------------------------------17 16单片机最小系统和ISP在线编程---------------------------18 19电路板制作---------------------------------------------18

第六章 机器人电路板的调试与结论

11数据的采集电路和处理方法-------------------------------21

12机器人测脉宽程序---------------------------------------23

1.2送数据程序----------------------------------------------27

13调试结论-----------------------------------------------31

第七章 心得体会--------------------------------------------31

附录:

1元器件清单------------------------------------------------32

2 参考文献--------------------------------------------------32

[摘要]

设计题目 跳舞机器人

30年前,比尔·盖茨毅然弃学,创立微软,成为个人电脑普及革命的领军人物;

30年后的今天,他预言,机器人即将重复个人电脑崛起的道路。点燃机器人普及的导火索,这场革命必将与个人电脑一样,彻底改变这个时代的生活方式。机器人作为人类20世纪最伟大的发明之一,在短短的几十年内发生了日新月异的变化。近几年机器人已成为高技术领域内具有代表性的战略目标。机器人技术的出现和发展,不但使传统的工业生产面貌发生根本性变化,而且将对人类社会产生深远的影响。随着社会生产技术的飞速发展,机器人的应用领域不断扩展。从自动化生产线到海洋资源的探索,乃至太空作业等领域,机器人可谓是无处不在。目前机器已经走进人们的生活与工作,机器人已经在很多的领域代替着人类的劳动,发挥着越来越重要的作用,人们已经越来越离不开机器人帮助。机器人工程是一门复杂的学科,它集工程力学、机械制造、电子技术、技术科学、自动控制等为一体。目前对机器人的研究已经呈现出专业化和系统化,一些信息学、电子学方面的先进技术正越来越多地应用于机器人领域。目前机器人行业的发展与30年前的电脑行业极为相似。今天在汽车装配线上忙碌的一线机器人,正是当年大型计算机的翻版。而机器人行业的利基产品也同样种类繁多,比如协助医生进行外科手术的机械臂、在伊拉克和阿富汗战场上负责排除路边炸弹的侦察机器人、以及负责清扫地板的家用机器人,还有不少参照人、狗、恐龙的样子制造机器人玩具。

 

关键词:

STC15W4K60S4 伺服电机, 单片机; 机器人。

 

[Abstract]

30年前,比尔·盖茨毅然弃学,创立微软,成为个人电脑普及革命的领军人物;

30 years ago, Bill Gate resolutely abandoned school, founded Microsoft, became a leading figure in the popularization of the personal computer revolution;30 years later, he predicted, robot is about to be repeated personal computer rising road. Lit robot Popularization "fuse", this revolution will and personal computer, completely change the way of life of this era. One of the greatest invention robot as human beings in twentieth Century, happened to change rapidly changes in decades. In recent years, robot has become a strategic goal of high technology in the field of representative. The appearance and development of robot technology, not only the traditional industrial production has undergone a fundamental change, and will have a profound impact on human society. With the rapid development of social production and technology, the application of robotics has been extended. Exploration from the automatic production line to the marine resources, and the space operation field, robots can be seen everywhere. Current machine has entered people's life and work, the robot has been in many areas to replace human labor, plays a more and more important role, more and more people have cannot do without the help of robot. Robot engineering is a complex subject, it sets the engineering mechanics, mechanical manufacturing, electronic technology, science and technology, automatic control for the whole. At present the research of robots has been showing a professional and systematic, advanced technology and some information science, electronics are increasingly used in the field of robot. At present the development of robot industry and 30 years ago is very similar to the computer industry. Today in the line of robot car assembly line busy, was the large computer version. But the robot industry is also a wide variety of niche products, such as mechanical arm, assisted the doctor in performing the surgery operation in Iraq and Afghanistan, in charge of reconnaissance robot out roadside bombs and household robot for cleaning floors, there are a lot of reference person, dog, dinosaur like manufacturing robot toy.

Keywords:

STC15W4K60S4;伺服电机,单片机;跳舞机器人。

STC15W4K60S4; servo motor, single chip microcomputer; robot.

引言

舞蹈机器人具有人类外观特征、可爱的外貌、又兼有技术含量,极受青少年的喜爱。我们的毕业设计开始机器人方面的研究,在这过程中尝试过很多次的失败,也感受到了无比的乐趣。基于前几届本课题设计的缺陷和不足之处本文提出了采用STC单片机STC15W4K48S4的跳舞机器人的设计方案。方案以单片机作为系统的控制核心,详细介绍了通过STC15W4K48S4单片机来控制机器人,实现跳舞的功能。并且整个系统具有电路简明、应用方便、性价比高等特性。

任务书 

毕业设计课题为:遥控唱歌跳舞机器人的探索实验。

主要任务内容有以下几点:  

1、收集相关机器人的资料及机器人相关工作原理的。 

2、阅读相关单片机的书籍,丰富自己的编程知识。

3、对已有的机器人进行了解和解剖。 

4、解剖机器人的结构组成。 

5、解剖机器人的各部分相关原理。 

7、根据解剖的结构设计出自己的主板。 

8、将自己设计的主板放入机器人看看是否能够驱动机器人做出表演。 

9、写出这次探索实验的论文。 

10、写出这次探索的心得体会。 

11、附录相关程序及元器件清单。

第一章

 

[我国机器人技术发展概况

在我国发展机器人技术起步于上个世纪70年代末,但是,机器人技术的发展引起我国科技界的高度重视。许多项目已被列入“863”八五

九五科技发展计划中。被列入国家重点工程的机器人示范工已由中国科学院沈阳自动化所完成,于1990年通过国家验收后向全国开放。他们已研制出多种型号的工业机器人、水下机器人、移动机器人等,已成为我国机器人研究、开发及国内外机器人技术交流的基地。另外,我国高等院校,如国防科技大学、哈尔滨工业大学、上海交通大学、清华大学等在步行机器人、移动机器人等前沿领域的研究取得了可喜的成绩。  国防科技大学在1990年成功研制出我国第一台两足步行机器人的基础上,经过十年攻关,于20001229日研制成了我国第一台类人机器人——“先行者,实现了机器人技术的重大突破。哈尔滨工业大学成功研制壁面清洗爬壁机器人,可以用于瓷砖壁面和玻璃壁面的清洗作业。  现在我国已经拥有700多家机器人用户,3500多台机器人(不包 括台湾的6000余台)

,这标志着我国的机器人工业前进了一大步, 在朝机器人工业大国迈进。

第二章 [机器人的总体设计解剖]

1.1资料的收集与阐述 

此次毕业设计,单片机跳舞机器人课题小组有11人,我们利用课余时间收集相关机器人的发展史以及如何利用单片机作为微处理器控制机器人的相关实例。因为我们这次的毕业设计是建立在现有机器人之上将其主控部分换成我们熟悉的单片机来控制的一个课题,所以我们就得先找到一款符合,并且适合我们的一款机器人来进行我们要的设计。于是我们利用上一届所买的机器人,进行设计和制作。这款机器人(如图1

。(图1 

这款机器人用遥控器直接控制的模式,组合操纵杆,按钮,可步行,胳膊动作

练武及日常的精彩动作及表情表演。有声音识别功能,前进后退你好等简单的10句短语,象是与朋友聊天一样,他/她就会做出相应的动作表演了!重量约350克,电源使用三洋SANYO ENELOOP AAA充电式镍氢电池(3)控制方式为红外线控制,伺服器马达有17个,分别为左右脚个5个,左右手各3个,头部1个,最大可动角度220度,使用金属齿轮,内置离合器 遥控器高86MM 100MM 40MM,装有液晶显示屏:16*32dot,用转换通道开关A-B,可以同时控制两台。通过对这款机器人的了解我们一致觉得这款机器人很符合我们的设计要求,并能够实现我们想要的设计效果。

1.2机器人工作原理简介 

1、总体结构的剖析 

我们对这款机器人做了一个解剖,解剖主要是把这个机器人拆了,并且把其中的一些我们需要的数据进行一些测量在对这些数据进行分析,据我们所了解和掌握的数据表明这款机器人是一个没有传感器的机器人,这使得我们在对其进行改换单片机来控制这一方案变得电路的设计会简单起来。下面我用一个框图(如图2)把这款机器人的总体结构做一个比较形象的论述。 

(图2机器人(主板)总体结构框图

从上图我们可以很清晰的看出机器人的总体结构。这样就能够比较

清晰的了解到这款机器人的总体工作原理。 

(1)电源

电源是由电池(3节,4.5v)供电的;从图上很容易看得出来机器人电源是有两路电源的。一路是直接由电池供电的VCC,另一路是由主板电路将进来的主电源稳压成3.3V的供电电路。 

2CPU

部分主要的控制,通过内部的程序来产生相对应的数据,再把这些数据发送到每一个部分,实现相应的动作要求。

(3)伺服电机的剖析 

机器人的本质特征就是能动。是一种可以像人一样能动的机器,所以说机器人最终要的就是电机了。不过,机器人当中的电机并不是普普通通的电机,这种电机是伺服电机。下面我就对一种常用的伺服电机做一个介绍(这款机器人的伺服电机是有点区别的,不过在原理上是相通的):A.伺服电机(servo motor)是指在伺服系统中控制机械元件运转的发动 机,是一种补助马达间接变速装置。伺服电机可使控制速度,位置精度非常准确,可以将电压信号转化为转矩和转速以驱动控制对象。伺服电机转子转速受输入信号控制,并能快速反应,在自动控制系统中,用作执行元件,且具有机电时间常数小、线性度高、始动电压等特性,可把所收到的电信号转换成电动机轴上的角位移或角速度输出。分为直流和交流伺服电动机两大类(这款机器人使用的是直流伺服电机),其主要特点是,当信号电压为零时无自转现象,转速随着转矩的增加而匀速下降。这款机器人所用的伺服电机在伺服电机的领域内又叫做微型伺服马达,它总共使用了17个微型伺服电机。一个微型伺服马达内部包括了一个小型直流马达;一组变速齿轮组;一个反馈可调电位器;及一块电子控制板。其中,高速转动的直流马达提供了原始动力,带动变速(减速)齿轮组,使之产生高扭力的输出,齿轮组的变速

比愈大,伺服马达的输出扭力也愈大,也就是说越能承受更大的重量,但转动的速度

也愈低。 

B、一个微型伺服马达是一个典型闭环反馈系统,其原理可由下(图3)表示:

(图3

减速齿轮组由马达驱动,其终端(输出端)带动一个线性的比例电位器作位置

检测,该电位器把转角坐标转换为一比例电压反馈给控制线路板,控制线路板将其与输入的控制脉冲信号比较,产生纠正脉冲,并驱动马达正向或反向地转动,使齿轮组的输出位置与期望值相符,令纠正脉冲趋于为0,从而达到使伺服马达精确定位的目的。那么这些伺服电机是怎么控制的呢?标准的微型伺服马达有三条控制线,分别为:电源、地及控制。电源线与地线用于提供内部的直流马达及控制线路所需的能源,电压通常介于4V—6V之间,该电源应尽可能与处理系统的电源隔离(因为伺服马达会产生噪音)。甚至小伺服马达在重负载时也会拉低放大器的电压,所以整个系统的电源供应的比例必须合理。 输入一个周期性的正向脉冲信号,这个周期性脉冲信号的高电平时间通常在1ms—2ms之间,而低电平时间应在5ms20ms之间,并不很严格,下表表示出一个典型的20ms

周期性脉冲的正脉冲宽度与微型伺服马达的输出臂

位置的关系(如图4):

(图4

C

刚刚也说了这款机器人使用的微型伺服电机和一般通用的伺服电机是有点差

别的具体差别在哪呢?接下来我就对这款机器人的微型伺服电机做个简介: 

1、如下图(图5)示是这款机器人的伺服电机接口:

(图5

  从图示的接口中我们不难看出这种伺服电机是有4条线控制的,其中

VCC是给电机供电的,电压为4.5VVDD是给伺服电机中的控制芯片供电的,电压为3.3V 数据则是由主板控制芯片给伺服电机控制数据的端口;最后则是接地了。而且,这款机器人当中的伺服电机均是并联的,下面我以左脚的电机为例子做一个介绍(如图6):

(图6

如上图所示,这款机器人的伺服电机是通过并联的方式连在一起的,简单地说也就是主板控制芯片发出一组数据,由各个电机中的控制芯片自己认出属于自己的

数据并作出相应的动作。 

第三章【机器人的总体设计综述】

1.1设计课题的阐述 

 通过对这款机器人的解剖后我们就已经对这款机器人有所了解了那么我们这

次课题设计的题意是把机器人自带的主板换成我们学过的,熟悉的单片机来实现同样功能的电路主板或者是说用我们所熟悉的单片机来替换原有的控制部分并实现我们想要的功能。 

1.2单片机的选择 

我们通过查阅大量的单片机资料,并结合我们原有的电源等硬件设施,最终确

定了单片机就使用STC 15W4K48S4作为我们的主控微处理器,后面会对这个单片机做一个介绍。 

1.3主控板及遥控部分简介 

主控制系统是由AAA充电式镍氢电池(3)+4.5V+3.3V双电源供电的,

按照这样的电源电路要求我们已经有一路电源是符合要求的,因此我们就得再设计一路电源是+3.3V供电的电路。通过我们查阅大量的稳压电路资料决定利用稳压IC LP2985AIM5X-3.3稳压得到+3.3V电源。 

1.4整个主控制系统分为三个部分: 

第一部分是单片机控制部分;第二部分是稳压部分;第三部分是驱动部分; 

这样的三个部分组合起来就是我这次设计的主板系统控制部分,这样的设计既简单又可行。 

第四章【机器人的总体设计方案及部分简介】

1.1设计方案 

在之前的机器人解剖中,介绍了这块机器人的各个部分的功能及各个部分的一些工作原理,接下来我们按照课题的设计要求开始我们自己的设计。接下来我主要讲一讲我的设计方案,及各个部分的功能和原理介绍。下面是我这次设计当中的系统主板总体结构框框图(如图7所示):

(图7

主板总体设计框图 

1.2各部分功能及原理简介 

A、主控微处理器CPU模块:采用的微处理器单片机芯片是STC公司生产的12C5A48S2单片机,我们选用的是48引脚LQFP封装的芯片。这款单片机功能强大,可以位寻址。电压带宽是:3.3V-5.5V,这使得我们主电源的供电4.5V

处在这一电压范围。flash程序存储器大小为48k,同时具有44I/O口,而且这款单片机是 可以完成ISP在线编程功能的。下面是这款单片机的一个分装引脚图(如图8所示):

(图8

B IC CD4050 六同相缓冲/变换器

CD4049是六反相缓冲器(如图9所示),具有仅用一电源电压(VCC)进行逻辑电平转换的特征。用作逻辑电平转换时,输入高电平电压(V IH)超过电源电压V CD。该器件主要用作COS/MOSDTL/TTL的转换器,能直接驱动两个DTL/TTL负载。CD4049可替换CD4009,因为CD4049仅需要一电源电压,可取代CD4009用于反相器、电源驱动器或逻辑电平转换器。CD4049CD4009引出端排列一致,16引出端是空脚 ,与内部电路无连接。若使用时不要求高的漏电流或电电压转换,推荐使用CD4050六反相器。CD4050是非反相六缓冲器,具有仅用一电源电压(VCC)进行逻辑电平转换的特征。用作逻辑电平转换时,输入高电平电压(VIH)超过电源电压VCC。该器件主要用作COS/MOSDTL/TTL的转换器,能直接驱动两个DTL/TTL负载。因此我们让CPU 的数据信号通过CD4050来驱动伺服电机

(图9

C、电源模块:主电源采用AAA充电式镍氢电池(3)+4.5V我们把这路电源称

VCC,副电源是通过稳压集成IC LP2985AIM5X-3.3稳压得到+3.3直流电压。供给伺服电机内部控制电路。 

第五章 机器人的原理图设计、仿真及电路板制作

1.1机器人原理图设计(如图10所示)

(图10)电路总体设计原理图

  1.2电源部分电路:

(图11

上面的图(如图11所示)是电源进来的一个电源开关控制部分原理图。从图中我们可以看出由电池供电出+4.5V后经过一个单刀单掷开关到一个自恢复保险丝,这里要说下为什么要使用自恢复保险丝;这个自恢复保险可以很好地保护到电路和电机。当电路,或者电机电流过大时,自恢复保险丝就会自动断开。在断电后,它又将恢复到导通状态,待电路检测好以后,在通电调试。电解电容C7则是一个电源滤波电容,可以很好的滤除电池电源交流成分。

1.3稳压电源部分

 在之前的介绍中我讲到了,机器人供电是有两路电源供电的,一路是VCC

+4.5v)另一路是VDD+3.3v),也就是接下来要介绍的这个稳压电源部分。下

图是稳压电源部分的电路原理图(如图12所示):

(图13

从上图(如图13所示)中可以看出,VCC+4.5v)从IC  LP2985AIM-3.3 1脚和3脚输入,经C6滤波,其中3脚是一个芯片的开关,高电平开,低电平关。所以也接入高电平。芯片5脚就可以输出+3.3V直流电源了。那么这个外围电路是怎么确定下来的呢?我查了这块芯片的资料后就根据下图(如图14所示)的原理来设计出这个稳压电路的。

(14 芯片内部工作原理图

 

1.4接口电路 

(图15

  如图15所示,在和伺服电机接口电路设计中,沿用原有插座,我在设计时就采用和原有的插座大小一样的排针(2.0)作为接口电路的输出插针。在李天恩老师的指导下在伺服电机供电两端加入两个电容滤波,这样可以很好的将电机产生的回流(交流成分)很好的滤除,以防止击穿主控芯片。 

1.5单片机最小系统和ISP在线编程 

和往常的单片机电路一样的最小系统电路,晶振选择的是11.0592MHZ,这样时钟会比较准确(如图16所示)。

(图16

(图17

ISP在线编程很方便而且简单的实现单片机下载程序,这样能省去我们很多买

单片机烧写器的开支。依据STC单片机芯片资料的介绍确定了

ISP的接口电路(如上图17所示)。只要接4根线,分别是VCC、RXD、TXD、GND,这样就可以实现程序的下载了。

1.7电路板的制作 

在对电路原理图的设计完工之后,我们就用protel画出我们自己的PCB电路图然后制作出设计出来的电路图下面三张图分别总图(图18所示)和打印出的顶层(图9所示)和底层PCB(20所示)

(图18

(图19

(图20

一、PCB板制作(用菲林或硫酸纸)

把设计好的电路图用激光(喷墨)打印机以透明的菲林或半透明的硫酸纸打印出来。

1.被曝光部份会被显影剂除去从而露出铜面,另外打印原稿时应选择镜像打印,电路图打印墨水(碳粉)面必须与绿色的感光膜面相接紧密,以获得最高解析度。(绘图软件都有镜像Mirror打印功能) 2.线路部份如有透光破洞,请以油性黑笔修补。 3.稿面需保持清洁无污物。 二、曝光首先撕掉保护膜(如图21所示),将打印好的线路图的打印面(碳粉面/墨水面)贴在感光膜面上,再以玻璃紧压原稿及感光板,越紧密解析度越好。 (图21

然后用PCB智能环保制板机曝光标准时间:180-200

双面板曝光法:

1.双面板曝光首选钻孔定位法:将原稿双面对正,胶纸固定,与未撕保护膜之感光板对好且固定,用1.0mm小钻头对角钻定位孔。最后在两根小钻头的帮助下对准位置,用胶纸固定后即可分别曝光;

2.另一种方法:原稿双面对正,两边用胶纸固定,再插入感光板。以双面胶纸将原稿与感光板粘贴固定,即可曝光.

细线条小于0.5mm,必须使用双面曝光机。

三、显像

1.调制显像剂:显像剂:(1:80),即120g的显像剂配1600毫升水,可显影约810x15cm单面感光板(矿泉水瓶上面一般标有容量,可参照,调显像剂请用塑料盆,不能用金属盆)

2.显像:膜面朝上放入感光板(双面板须悬空)

每隔数秒摇晃容器或感光板,直到铜箔清晰且不再有绿色雾状冒起时即显像完成。此时需再静待几秒钟以确认显像百分百完成。

* 标准操作显像时间约1-2分钟,显影可在一般光线下进行,最关键的就是要随时注意观察显影的进度,绝不可照搬显影时间。

3.水洗:

4.干燥及检查:为了确保膜面无任何损伤,最好能做到此步骤。即利用吹风机吹干,短路处请用小刀刮净,断线处用油性笔等修补。

四、蚀刻

三氯化铁蚀刻液的调配:250g的三氯化铁约调配1500毫升-2000毫升的水,尽量用热水化开,可以避免把细线条蚀刻断。

A.蚀刻机:用蚀刻机蚀刻时间-新药液约需要1.53分钟。细线条小于0.5mm,必须使用蚀刻机。

B.水洗:

C.干燥:

第六章 [机器人电路板调试与结论]

1.1数据的采集电路和处理方法

在完成电路板的制作以后,接下来最重要的就是软件的编写,调试工作了。 

因为我们之前找不到关于这个机器人的伺服电机的相关资料,于是在李天恩老师的指导下通过机器人测试脉宽电路(如图22所示)利用分段读取数据的方法将机器人的一组动作的左手、右手、左脚、右脚及头部的数据通过串口通信将数据保存在电脑,然后将这些数据通过TABLE的形式由单片机发送到左手、右手、左脚、右脚及头部。  下面说说这些数据是怎么分段读取的。首先,用示波器观察数据最小的那段电平大概是多少,例如:最小是400us的话就用400us作为最小基数,如果一段电平有7段最小基数长的话,拿数据就是07H(机器人测试脉宽电路图22

1.2机器人测脉宽程序


ORG 0000H

LJMP MAIN

ORG 000BH

INC 29H

RETI

ORG 001BH

INC 29H

RETI

ORG 0023H

LJMP LOOP1

ORG 0030H

MAIN: MOV TMOD, #099H

MOV SP,#10H

MOV 20H, #00H

MOV 22H, #00H

MOV 23H, #00H

MOV 24H, #00H

MOV 25H, #00H

MOV 29H, #00H

MOV 28H, #00H

MOV R0, #30H

MOV R7, #30H

MOV 09H, #30H

MOV R5, #08H

MOV T2CON, #34H

MOV T2MOD, #00H

MOV RCAP2H, #0FFH

MOV RCAP2L, #0F7H

MOV TH2,#0FFH

MOV TL2,#0F7H

MOV SCON, #40H

SETB ET0

SETB ET1

SETB ES

SETB EA

CLR 00H

MOV TH1,#0

MOV TL1,#0

MOV TH0,#0

MOV TL0,#0

MOV R1, #30H

MOV R7, #0D0H

MOV A, #0F6H

LS1: MOV @R1, A

INC R1

DJNZ R7, LS1

MOV P2, #3FH

WAIT1: SETB P1.2 ;有低电平之后开始计数

SETB P1.3

; JB P1.4, $ ; P3.4=1 & P3.5=1

JNB P3.4, $ ;CPU SEND DATA

SETB P1.2

CLR P1.3

SETB P1.5

SETB TR1

SETB TR0

SETB 01H

CLR 02H

SETB 03H

MOV @R0, #0E5H

INC R0

MOV R6, #01H

FEG2: MOV R4, #0F0H

DEF1: MOV R2, #0F0H

X3: ; P3.4 OR P3.5 IS LOW

JB P3.2, $ ;计数高电平1

LCALL CHHI4

JNB 01H, X51

CLR P1.5

SJMP X53

X51: CLR P1.6

X53: MOV 22H, TH0

MOV 23H, TL0

MOV 28H, 29H

MOV TL0, #00H

MOV TH0, #00H

MOV 29H, #00H

LCALL CHU3

; LCALL CCHH2

X62: LCALL XXC

JNB P3.2, $ ; 低电平0 计数

JNB 01H, X31

SETB P1.5

SJMP X32

X31:

SETB P1.6

X32: MOV 22H, TH1

MOV 23H, TL1

MOV 28H, 29H

MOV TL1, #00H

MOV TH1, #00H

MOV 29H, #00H

LCALL CHU3

; LCALL CCHH1

X63: DJNZ R2, X3

DJNZ R4, DEF1

DJNZ R6, FEG2

NOP

MOV P2, #55H

SJMP $

;************************************

CHHI4: JB P3.5, CHH3 ; DATA=1 GOTO

JB 02H, X5

SETB P1.3 ; MOTOR RETURN DATA

CLR P1.2

SETB 02H

CLR 01H

CLR 04H

SJMP X5

CHH3: JB P3.4, CHHI4

JB 01H, X5

SETB P1.2

CLR P1.3

SETB 01H

CLR 02H

CLR 03H

X5: RET

;*******************************************

XXC: JNB 01H, X6

JB 03H, XE

SETB 03H

MOV @R0, #0C5H

INC R0

MOV @R0, #0E5H

INC R0

SJMP XE

X6: JNB 02H, XE

JB 04H, XE

SETB 04H

MOV @R0, #0C5H

INC R0

MOV @R0, #0D5H

INC R0

XE: RET

;***********************************************

CHU3: CLR C ;数据除3子程序

MOV A, 23H

RLC A

MOV 23H, A

MOV A, 22H

RLC A

MOV 22H, A

MOV A, 28H

RLC A

MOV 28H, A

CJNE A, #00H, CHU3A

MOV A, 22H

MOV B, #03H

DIV AB

JNB B.1, CHU3E

INC A

MOV 22H, A

SJMP CHU3E

CHU3A: MOV 2AH, #00H

MOV 2CH, #10H

CHU3B: CLR C

MOV A, 22H

RLC A

MOV 22H, A

MOV A, 28H

RLC A

MOV 28H, A

MOV A, 2AH

RLC A

MOV 2AH, A

SUBB A, #03H

JC CHU3C

INC 22H

MOV 2AH, A

CHU3C: DJNZ 2CH, CHU3B

CHU3E: RET

;********************************************************

CCHH1: ; CJNE R5, #00H, KK8 ;低电平数据处理

; SJMP KKA

MOV A, 22H

CJNE A, #00H, KKD1

SJMP KK3

KKD1: SUBB A, R5

JC KK6

MOV 22H, A

KK5: CLR C

MOV A, 24H

RLC A

MOV 24H, A

DEC R5

CJNE R5, #00H, KK5

MOV R5, #08H

MOV A, 24H

MOV @R0, A

INC R0

MOV 24H, #00H

KKA: MOV A, 28H

CJNE A, #00H, KK9

SJMP CHULO8

KK9: MOV A, 28H

MOV 28H, #00H

MOV 2BH, A

CHULO7: MOV 2CH, #20H

CHULO6: MOV @R0, #00H

INC R0

DJNZ 2CH, CHULO6

DJNZ 2BH, CHULO7

CHULO8: MOV A, 22H ;如果未满8位,如何填满?

CJNE A, #00H, KKC8

SJMP KK3

KKC8: CJNE A, #08H, KKC1

KKC1: JC KKC2

MOV B, #08H

DIV AB

MOV 2CH, A

MOV 22H, B

CHULO9: MOV @R0, #00H

INC R0

DJNZ 2CH, CHULO9

KKC2: MOV A, 22H ; LOW LEVER SHIFT BIT

CJNE A, #00H, KK7

SJMP KK3

KK7: MOV 25H, A

KK2: CLR C

MOV A, 24H

RLC A

MOV 24H, A

DEC R5

CJNE R5, #00H, KK1

MOV R5, #08H

MOV A, 24H

MOV @R0, A

INC R0

MOV 24H, #00H

KK1: DJNZ 25H, KK2

KK3: RET

KK6: MOV A, #28H

CJNE A, #01H, KKC3

KKC3: JC KKC2

CLR C

MOV A, 22H

SUBB A, R5

MOV 22H, A

MOV A, 28H

SUBB A, #00H

MOV 28H, A

LJMP KK5

;**************************************

CCHH2: MOV A, 22H ;高电平数据处理

CJNE A, #09H, CHK1

MOV 26H, A

MOV A, 24H

MOV @R0, A

INC R0

MOV A, R5

MOV @R0, A

INC R0

MOV 24H, #00H

MOV R5, #08H

SETB 00H

MOV A, R0

CLR C

SUBB A, R7

MOV 0DH, A

MOV A, R0

MOV R7, A

MOV A, #0C5H

CLR TI

MOV SBUF, A

CJNE R0, #0E4H, CH4

CH4: JC CHK1

MOV 0AH, R0

MOV R0, #30H

MOV R7, #30H

CHK1: ; CJNE R5, #00H, CHK2

; SJMP CHKA

MOV A, 22H

CJNE A, #01H, CH6

CH6: JC CHK6

SUBB A, R5

JC CHK6

MOV 22H, A

CHK5: SETB C

MOV A, 24H

RLC A

MOV 24H, A

DEC R5

CJNE R5, #00H, CHK5

MOV R5, #08H

MOV A, 24H

MOV @R0, A

INC R0

MOV 24H, #00H

CHKA: MOV A, 28H

CJNE A, #00H, CHK9

SJMP CHUHI8

CHK9: MOV A, 28H

MOV 28H, #00H

MOV 2BH, A

CHUHI7: MOV 2CH, #20H

CHUHI6: MOV @R0, #0FFH

INC R0

DJNZ 2CH, CHUHI6

DJNZ 2BH, CHUHI7

CHUHI8: MOV A, 22H ;如果未满8位,如何填满?

CJNE A, #00H, CHKB1

SJMP CHK7

CHKB1: CJNE A, #08H, CHKC1

CHKC1: JC CHKC2

MOV B, #08H

DIV AB

MOV 2CH, A

MOV 22H, B

CHUHI9: MOV @R0, #0FFH

INC R0

DJNZ 2CH, CHUHI9

CHKC2: MOV A, 22H ; LOW LEVER SHIFT BIT

CJNE A, #01H, CH7

CH7: JC CHK7

MOV 25H, A

CHKG2: SETB C

MOV A, 24H

RLC A

MOV 24H, A

DEC R5

CJNE R5, #00H, CHKG1

MOV R5, #08H

MOV A, 24H

MOV @R0, A

INC R0

MOV 24H, #00H

CHKG1: DJNZ 25H, CHKG2

CHK7: RET

CHK6: MOV A, #28H

CJNE A, #01H, CHKC3

CHKC3: JC CHKC2

CLR C

SUBB A, R5

MOV 22H, A

MOV A, 28H

SUBB A, #00H

MOV 28H, A

LJMP CHK5

;******************************************

LOOP1:

SETB RS0

PUSH PSW

PUSH ACC

CLR TI

JNB 00H, LOOPE

CJNE R5, #00H, LOOP2

CLR 00H

SJMP LOOPE

LOOP2: MOV A, @R1

MOV SBUF, A

INC R1

DJNZ R5, LOOPE

CLR 00H

MOV A, R1

CJNE A, 0AH, LOOPE

MOV R1, #30H

LOOPE:

POP ACC

POP PSW

CLR RS0

RETI

END


1.3输入数据程序



HEAD EQU P1.2

LHAND EQU P1.4

RHAND EQU P1.0

LLEG EQU P1.3

RLEG EQU P1.1

ORG 0000H

LJMP MAIN

ORG 000BH

LJMP ZHONGDUAN

ORG 0030H

MAIN: MOV SP, #0CFH

MOV TMOD, #01H

MOV TL0, #081H

MOV TH0, #0FEH

MOV 20H, #00H

MOV R2, #08H

MOV DPTR, #TABLE1 ;头部读

MOV R3, #0BH

MOV R0, #30H

HH1: MOV A, #00H

MOVC A, @A+DPTR

MOV @R0, A

INC R0

INC DPTR

DJNZ R3, HH1

MOV 3EH, DPH

MOV 3FH, DPL

MOV DPTR, #TABLE2 ;左臂读

MOV R3, #0BH

MOV R0, #40H

HH2: MOV A, #00H

MOVC A, @A+DPTR

MOV @R0, A

INC R0

INC DPTR

DJNZ R3, HH2

MOV 4EH, DPH

MOV 4FH, DPL

MOV DPTR, #TABLE3 ;右臂读

MOV R3, #0BH

MOV R0, #50H

HH3: MOV A, #00H

MOVC A, @A+DPTR

MOV @R0, A

INC R0

INC DPTR

DJNZ R3, HH3

MOV 5EH, DPH

MOV 5FH, DPL

MOV DPTR, #TABLE4 ;左脚读

MOV R3, #0BH

MOV R0, #60H

HH4: MOV A, #00H

MOVC A, @A+DPTR

MOV @R0, A

INC R0

INC DPTR

DJNZ R3, HH4

MOV 6EH, DPH

MOV 6FH, DPL

MOV DPTR, #TABLE5 ;右脚读

MOV R3, #0BH

MOV R0, #70H

HH5: MOV A, #00H

MOVC A, @A+DPTR

MOV @R0, A

INC R0

INC DPTR

DJNZ R3, HH5

MOV 7EH, DPH

MOV 7FH, DPL

MOV R0, #30H

MOV R3, #0AH

MOV A, @R0

MOV 3DH, A

MOV R0, #40H

MOV A, @R0

MOV 4DH, A

MOV R0, #50H

MOV A, @R0

MOV 5DH, A

MOV R0, #60H

MOV A, @R0

MOV 6DH, A

MOV R0, #70H

MOV A, @R0

MOV 7DH, A

MOV R0, #30H

SETB TR0

SETB ET0

SETB EA

MOV P2, #3FH

READ1:

JNB 00H, READ2

MOV DPH, 3EH

MOV DPL, 3FH

MOV R1, #30H

LCALL CHABIAO

MOV 3EH, DPH

MOV 3FH, DPL

MOV A, 30H

MOV 3DH, A

CLR 00H

READ2:

JNB 01H, READ3

MOV DPH, 4EH

MOV DPL, 4FH

MOV R1, #40H

LCALL CHABIAO

MOV 4EH, DPH

MOV 4FH, DPL

MOV A, 40H

MOV 4DH, A

CLR 01H

READ3:

JNB 02H, READ4

MOV DPH, 5EH

MOV DPL, 5FH

MOV R1, #50H

LCALL CHABIAO

MOV 5EH, DPH

MOV 5FH, DPL

MOV A, 50H

MOV 5DH, A

CLR 02H

READ4:

JNB 03H, READ5

MOV DPH, 6EH

MOV DPL, 6FH

MOV R1, #60H

LCALL CHABIAO

MOV 6EH, DPH

MOV 6FH, DPL

MOV A, 60H

MOV 6DH, A

CLR 03H

READ5:

JNB 04H, READ6

MOV DPH, 7EH

MOV DPL, 7FH

MOV R1, #70H

LCALL CHABIAO

MOV 7EH, DPH

MOV 7FH, DPL

MOV A, 70H

MOV 7DH, A

CLR 04H

READ6:

JNB 05H, READ7

SJMP $

READ7:

LJMP READ1

CHABIAO:

MOV R4, #0BH

CLR A

MOVC A, @A+DPTR

CJNE A, #0FFH, HH13

HH12:

CLR A

MOVC A, @A+DPTR

MOV @R1, A

INC R1

INC DPTR

DJNZ R4, HH12

RET

HH13:

CJNE A, #00H, HH12

MOV A, #01H

MOVC A, @A+DPTR

CJNE A, #00H, HH12

MOV A, #02H

MOVC A, @A+DPTR

CJNE A, #00H, HH12

MOV P2, #055H

CLR EA

CLR ET0

CLR TR0

SETB 05H

RET

ZHONGDUAN:

MOV TL0,#081H

MOV TH0,#0FEH

PUSH A

PUSH PSW

MOV A, 3DH ;头部

CLR C

RLC A

MOV HEAD, C

MOV 3DH, A

MOV A, 4DH ;左臂

CLR C

RLC A

MOV LHAND, C

MOV 4DH, A

MOV A, 5DH ;右臂

CLR C

RLC A

MOV RHAND, C

MOV 5DH, A

MOV A, 6DH ;左脚

CLR C

RLC A

MOV LLEG, C

MOV 6DH, A

MOV A, 7DH ;右脚

CLR C

RLC A

MOV RLEG, C

MOV 7DH, A

DJNZ R2, ZHONGDUANE

MOV R2, #08H

INC R0

LCALL QURAM

DJNZ R3, ZHONGDUANE

MOV R0, #30H

MOV R3, #0AH

MOV A, @R0

MOV 3DH, A

DJNZ 3AH, ZHONG2

SETB 00H

ZHONG2:

DJNZ 4AH, ZHONG3

SETB 01H

ZHONG3:

DJNZ 5AH, ZHONG4

SETB 02H

ZHONG4:

DJNZ 6AH, ZHONG5

SETB 03H

ZHONG5:

DJNZ 7AH, ZHONGDUANE

SETB 04H

ZHONGDUANE:

POP PSW

POP A

RETI

QURAM:

MOV 2FH, R0

MOV A, @R0

MOV 3DH, A

MOV A, #10H

ADD A, R0

MOV R0, A

MOV A, @R0

MOV 4DH, A

MOV A, #10H

ADD A, R0

MOV R0, A

MOV A, @R0

MOV 5DH, A

MOV A, #10H

ADD A, R0

MOV R0, A

MOV A, @R0

MOV 6DH, A

MOV A, #10H

ADD A, R0

MOV R0, A

MOV A, @R0

MOV 7DH, A

MOV R0, 2FH

RET


 1.3调试结论 

在李天恩老师的指导下,软件写好以后通过ISP在线编程将写好的程序编译后下载到主板电路,通电后发现机器人虽然可以动但并没有按我们理想中的结果那样动作。我们反复研究后认为这款机器人的伺服电机远没有我们想象的那么简单。这种伺服电机不仅内部有控制芯片,而且当微处理器(CPU)将信号数据发送给伺服电机以后,伺服电机还会做出相应的反馈数据给微处理器。因我们仪器、知识水平和时间的限制,这次的机器人探索实验没有得到圆满的成功。

第七章、遥控唱歌跳舞机器人的探索实验心得体会

毕业设计就这样结束了,这次的毕业设计不尽如人意,因为到最后我们的探索实验是希望通过我们对这款机器人的各个部分结构功能的解剖后在老师的指导下能够根据自己所学的电路知识,设计出一块主控电路板来控制这个机器人。虽然这次探索实验不尽如人意,没有做出我们理想中的实验结果,但是我们在这过程中学到了很多以前在书本中没有学到的知识和我们平常学习中没有好好掌握的知识也得到了深刻的巩固。在这一次毕业设计中,我通过查验大量的资料弄懂了一些电路设计的很多书本中根本无法学到的知识,而且找资料的能力也得到了大大的提升。比如,在电路设计中我们需要设计一个电源稳压部分,通过稳压得到第二组电源+3.3V的直流电压。刚开始我是选择使用78L033这个稳压IC来实现稳压的,但后来查阅资料后,知道了这块IC的压降在大约在1.5V左右。那么3.3V+1.5V就大约在5V左右的输入才会稳压得到3.3V了,然而我们现有的一路电源是由31.5V的电池供电的。这就使得我这样设计是行不通的,到最后并不能实现3.3V的稳定输出直流电源了。之前,知道压降这一概念,但是并没有在实际电路设计中好好考虑到这一问题。通过这次的毕业设计让自己的设计思想得到了进一步的提升。最后,要感谢李天恩老师和谢玉妹老师的指导,通过这两位老师的指导,我才能在这一次毕业设计中的解剖和实验过程变得简单可行。虽然这次毕业设计结果不尽如人意,但是这也提醒我们毕业后应该认认真真的做好每一件事,并且要学会找资料,学会学习,学会思考!这样我们才会不断的进步,不断地得到提升!

附录元器件清单和参考文献。

1、元器件清单

2、参考文献

①《单片机原理及接口技术(第四版)》作者:李朝青、刘艳玲

②《无线电《无线电》杂志 作者:托德 库尔特 /夏明新

蔡自兴.机器人学[M].北京:清华大学出版社,2000.9.

周远清,张自兴,许万雍,贾培发等.智能机器人系统[M].北京:清华大学出版社,1988. 

黄冰.微机原理及应用[M].重庆:重庆大学出版社,2001.

计算机科学与技术百科全书(选编本)[J].清华大学出版社.2002.

(想了解更多资料请加QQ1571266917!) 

机器人毕业设计

相关推荐