红外遥控六足爬虫机器人设计(单片机)(1)

发布时间 : 星期六 文章红外遥控六足爬虫机器人设计(单片机)(1)更新完毕开始阅读

1、直流电机:这是最最普通的电机了。直流电机最大的问题是你没法精确控制电机转的圈数,也就前面所说的位置控制。你必须加上一个编码盘,来进行反馈,来获得实际转的圈数。但是直流电机的速度控制相对就比较简单,用一种叫PWM(脉宽调速)的调速方法可以很轻松的调节电机速度。现在也有很多控制芯片带调速功能的。选购时要考虑的参数是电机的输出力矩,电机的功率,电机的最高转速。

2、步进电机:看名字就知道了,它是一步一步前进的。也就是说,它可以一个角度一个角度旋转,不象直流电机,你可以很轻松的调节步进电机的转角位置,如果你发一个转10圈的指令,步进电机就不会转11圈,但是如果是直流电机,由于惯性作用,它可能转11圈半。步进电机的调速是通过控制电机的频率来获得的。一般控制信号频率越高,电机转的越快,频率越低,转的越慢。选购时要考虑的参数是电机的输出力矩,电机的功率,每个脉冲电机的最小转角。 还有就是关于输出的动力,要说明一下:一般情况下,电机都没法直接带动轮子或者手臂,因为速度过高力矩不够大,所以我们需要加上一个减速箱来增加电机的输出力矩,但是代价是电机速度的减小,比如一个1:250的齿轮箱,会让你电机的输出力矩增大250倍,但是速度只有原来的1/250了。首先计算出机器人所需要的速度与力矩大小,然后根据速度与力矩去选择电机与减速器。 (四)、机器人的手臂——机械传动专制

机械传动专制就是,由电机驱动的一些杆件和机构(如:凸轮机构、螺杆机构等),用以实现机械手臂的上升、下降、伸缩、弯曲等动作。通常运用的机构有四杆机构、凸轮机构、螺杆机构、摇臂等。 (五)、机器人的心脏——电池

电池为机器人的控制系统与驱动系统提供能源供应。主要有:电瓶及可充电电池、电池。

前面介绍了机器人的一些基本知识,但这是远远不够的。机器人学科,是在多学科基础上发展起来的综合性技术。机器人技术涉及机械、电子、计算机、语言学和人工智能等许多学科。现在机器人已经应用在人类社会生活的各个领域,发挥着越来越重要的影响。

我利用暑假的时间设计了一个六足爬虫机器人,用日立(HITACHI)的录像机遥控器来对它进行控制。基本原理是:遥控器发出红外学号,机器人通过红外接收器接收倒红外信号后,对信号进行解码,并以存储的代码进行比较,确定指令的含义,后可以实现前进、后退、左转、右转及发声等功能。控制系统我使用的是AT89S51单片机,编程语言使用的是汇编语言,动力系统使用的是微型伺服马达,能源系统使用的是9V电池。下面我将就具体设计进行介绍。

5

一、AT89S51单片机简介

AT89S51 为 ATMEL 所生产的可电气烧录清洗的 8051 相容单芯片,其内部程序代码容量为4KB

(一)、AT89S51主要功能列举如下:

1、为一般控制应用的 8 位单芯片

2、晶片内部具时钟振荡器(传统最高工作频率可至 12MHz) 3、内部程式存储器(ROM)为 4KB 4、内部数据存储器(RAM)为 128B 5、外部程序存储器可扩充至 64KB 6、外部数据存储器可扩充至 64KB

7、32 条双向输入输出线,且每条均可以单独做 I/O 的控制 8、5 个中断向量源

9、2 组独立的 16 位定时器 10、1 个全多工串行通信端口

11、8751 及 8752 单芯片具有数据保密的功能 12、单芯片提供位逻辑运算指令

(二)、AT89S51各引脚功能介绍:

AT89S51

VCC:

AT89S51 电源正端输入,接+5V。 VSS:

电源地端。 XTAL1:

单芯片系统时钟的反相放大器输入端。

XTAL2:

系统时钟的反相放大器输出端,一般在设计上只要在 XTAL1 和 XTAL2 上接上一只石英振荡晶体系统就可以动作了,此外可以在两引脚与地之间加入一 20PF 的小电容,可以使系统更稳定,避免噪声干扰而死机。 RESET:

AT89S51的重置引脚,高电平动作,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,AT89S51便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址

6

0000H处开始读入程序代码而执行程序。 EA/Vpp:

\为英文\Access\的缩写,表示存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码(存于外部EPROM中)来执行程序。因此在8031及8032中,EA引脚必须接低电平,因为其内部无程序存储器空间。如果是使用 8751 内部程序空间时,此引脚要接成高电平。此外,在将程序代码烧录至8751内部EPROM时,可以利用此引脚来输入21V的烧录高压(Vpp)。 ALE/PROG:

ALE是英文\Latch Enable\的缩写,表示地址锁存器启用信号。AT89S51可以利用这支引脚来触发外部的8位锁存器(如74LS373),将端口0的地址总线(A0~A7)锁进锁存器中,因为AT89S51是以多工的方式送出地址及数据。平时在程序执行时ALE引脚的输出频率约是系统工作频率的1/6,因此可以用来驱动其他周边晶片的时基输入。此外在烧录8751程序代码时,此引脚会被当成程序规划的特殊功能来使用。 PSEN:

此为\Store Enable\的缩写,其意为程序储存启用,当8051被设成为读取外部程序代码工作模式时(EA=0),会送出此信号以便取得程序代码,通常这支脚是接到EPROM的OE脚。AT89S51可以利用PSEN及RD引脚分别启用存在外部的RAM与EPROM,使得数据存储器与程序存储器可以合并在一起而共用64K的定址范围。 PORT0(P0.0~P0.7):

端口0是一个8位宽的开路汲极(Open Drain)双向输出入端口,共有8个位,P0.0表示位0,P0.1表示位1,依此类推。其他三个I/O端口(P1、P2、P3)则不具有此电路组态,而是内部有一提升电路,P0在当做I/O用时可以推动8个LS的TTL负载。如果当EA引脚为低电平时(即取用外部程序代码或数据存储器),P0就以多工方式提供地址总线(A0~A7)及数据总线(D0~D7)。设计者必须外加一锁存器将端口0送出的地址栓锁住成为A0~A7,再配合端口2所送出的A8~A15合成一完整的16位地址总线,而定址到64K的外部存储器空间。

PORT2(P2.0~P2.7):

端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。P2除了当做一般I/O端口使用外,若是在AT89S51扩充外接程序存储器或数据存储器时,也提供地址总线的高字节A8~A15,这个时候P2便不能当做I/O来使用了。

PORT1(P1.0~P1.7):

端口1也是具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个LS TTL负载,同样地若将端口1的输出设为高电平,便是由此端口来输入数据。如果是使用8052或是8032的话,P1.0又当做定时器2的外部脉冲输入脚,而P1.1可以有T2EX功能,可以做外部中断输入的触发脚位。 PORT3(P3.0~P3.7):

端口3也具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个TTL负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、

7

计时计数控制及外部数据存储器内容的读取或写入控制等功能。 其引脚分配如下:

P3.0:RXD,串行通信输入。 P3.1:TXD,串行通信输出。 P3.2:INT0,外部中断0输入。 P3.3:INT1,外部中断1输入。 P3.4:T0,计时计数器0输入。 P3.5:T1,计时计数器1输入。

P3.6:WR:外部数据存储器的写入信号。 P3.7:RD,外部数据存储器的读取信号。

8

联系合同范文客服:xxxxx#qq.com(#替换为@)