可随机编程的小巧机器人

🏠 首页 《无线电》杂志 2003年 🔗 第6期 🔗 第63页 分类:电子制作征文大赛 🔗 吴雷 🔗

一、作品设计来源

本人自幼爱好电子,喜欢制作各类电子模型,尤其是机器人,爱看相关的电视节目(如中央电视台7套的机器人大擂台;大学生机器人赛等)。

最初想制作一个可以通过自身的键盘输入指令来控制运动的小车。用单片机来进行控制,电路比较简单,也可以实现我设想的功能。设计的小车不同于遥控玩具,它在运行前需要我们事先输入一系列指令,根据这些指令完成运动的路线,运行中我们便不能再控制它了,当运动中碰到障碍物时,又会根据碰到的位置不同,通过单片机中固化的程序来控制它选择哪种方式绕过障碍物,显示了一些智能性特点。最后的成品外形参考了《星球大战》电影中的R-two机器人(像水桶的那个)。

成品是用普通元件制作成的,使用三个5号电池作为电源,最大工作电流为240mA(前进或后退状态),大小为长70mm、宽100mm、高140mm。

根据计算如果用贴片元件和传呼机中Φ8电机制作,可以把这个小机器人做到只有小手机大小。

二、作品用途

小机器人以AT89C2051单片机为控制基础,电路结构简单,成本低,程序清晰,操作灵活,适合单片机初学者制作,也适合电子专业学校教授单片机课程时的演示教具。

机器人主要由头部、身体、左驱动轮、右驱动轮和电池盒5部分组成。电路板安装在身体外壳中,电路板上部分为3×3的键盘,主要元件在电路板的下部分。左右两侧各一个驱动轮,电机为6V随身听录音机电机,电机与轮子(齿轮)之间采用涡杆传动,这种方式使机器人的运动不是太快,而且有一定的力量。电池盒安装在身体的后面,装有一个总电源开关。一个用录音机压带轮做成的万向轮安装在电池盒下面的中间位置。三个轻触开关Sa、Sb、Sc分别安装在机器人的头部和两侧驱动轮前面(如图1所示),它们作为机器人运动时的遇障碍物检测开关。

图1
图1 🔍原图 (567×689)

三、电路的工作原理(见图2)

2051的P1口用了P1.0-P1.6组成4×3的键盘电路,其中S1~S9组成3×3的键盘,直接被焊在电路板上。Sa、Sb、Sc三个开关安装在图1所示的位置,作为遇到障碍物时的碰撞开关。P3.3~P3.5三个口连接74LS138译码器电路,控制7个LED指示灯和一个蜂鸣器。其中LED1为一对高亮发光管,作为机器人的眼睛。LED2~LED5为转向时的指示灯(两个电机可以形成四种转向方式)。LED6、LED7为从键盘输入程序时的操作指示灯。

2051的P3.0、P3.1、P3.7控制了3个继电器,继电器按电路图中的连线方式控制2个电机,这种方式可以使机器人走出6种运动状态。

附表列出了2051的P3口电平变化,机器人上电机的运动和指示灯的亮灭情况。

四、使用方法

机器人开关打开后,头部指示灯闪亮一下,之后身体上的LED7指示灯亮,表示现在可以输入运行方式指令(停止、前进、鸣叫、左转、后退、右转),按下相应键后会有一蜂鸣声提示,但并没有写入RAM中,只有按下确定键后,运行方式数据才被写入RAM中,之后LED7灭,LED6指示灯亮,这时可以输入执行时间指令(即对上一个运行方式所执行的时间,如前进3秒,左转5秒等),对应的数值有T1、T3、T5、T10、T20、T30,见图3、图4。选择一个后,在按下确定键前,可以重新选择,只有按下确定键后,数据才被写入RAM中。如此交替的输入运行方式指令和执行时间指令,编制机器人运行的路线,都输入完成后按下运行/停止键,把机器人放在地上,延时3秒后,机器人就会按输入的程序运行了,运行中如果要停止只要再按一下运行/停止键就可以了。如果要重新输入程序,把电源开关关掉重开即可。

图2
图2 🔍原图 (567×538)
图3
图3 🔍原图 (425×376)

机器人程序有一个自动演示程序,按下键盘中的自动运行键后就可以执行。机器人的运行样式会比手动输入的方式多一些,比如模拟走步的程序。机器人运行中会遇到障碍物,如果它的三个开关可以碰到障碍物时,就可以启动内部的程序试着绕过障碍物继续运行,见图5,但有时并不一定会碰到三个开关。

图4
图4 🔍原图 (709×399)

本文源程序见本期配刊光盘的“本期程序”文件夹。

图5
图5 🔍原图 (567×556)
图6
图6 🔍原图 (841×456)

(吴雷)