点击查看视频:http://www.robotsky.com/ShiP/2008-03-24/12063647683023.html  

    我一直对机器人自动化设备非常感兴趣,但始终没有想好具体要做什么。直到我看了电影《机械公敌》,在那一瞬间我产生了要做一个机械臂的想法。


    下面我将向您隆重介绍我的作品,希望它能对您有所帮助。


    这个机械臂只能算是一个小的验证项目,它只是通过一台与其相连的电脑发出的指令来改变伺服电机的动作去控制机械臂的动作。

机械结构:


    这个机械臂拥有五个自由度:一个可旋转平台,一个“肩”关节,一个“肘”关节,两个腕关节—一个用来上下移动一个用来左右旋转,还有一个电机用来控制手部夹子的开合。


    肘关节到腕关节的长度大概有人的一手长,这样可以更好的保持整个机械臂的平衡。


    肩部关节的伺服系统我使用一个弹簧系统来加强它,当机械臂向前倾的时候是伺服系统负载最大的时候,当机械臂回复初始位置的时候伺服系统的负载又会迅速降低,加上一个弹簧系统可以有效的降低负载。


    肩关节伺服系统支撑着整个机械臂的重量,并且可以控制垂直臂在底座上旋转。


    水平臂(前臂)在腕关节和夹子的相反方向上加了平衡重物,这样可以有效的减轻腕关节和夹子给肘关节带来的负载。


    底座靠螺栓固定在下方的金属盘上,这样可以为机械臂提供有效的支撑。即便水平臂完全伸展出去也不会发生侧翻。


    我所使用的主要材料是三合板和木钉,这样易于加工(我只有迷你钻子和小锯)。我的很多零件都是用一种特殊的三合板制成,这种三合板是用来制作飞机模型的,虽然只有2mm厚,但是刚性非常好,我认为这种材料比铝材更好一些。还有一些零件是用PVC材料和半透明树脂玻璃制成,我认为这些都是自己制作机器人的适用材料,非常易于加工。


   零件的连接我大多用螺栓螺母(直径3~4mm),还有一些是用胶水粘起来的。


   我所用的伺服电机:2 Hitec HS475-HB(肩关节和肘关节) 2 Hitec HS311; 2 Futaba S148。用来控制夹子的电机稍微笨重了一点,我曾经试验过Hitec HS81,但是只用了几分钟就烧毁了。

电路:


    机械臂有一台个人电脑通过一块控制电路板来控制。因为电脑无法直接输出能够控制精确控制伺服电机转速和角度的脉冲信号,所以我不得不借助一块我自己开发的基于微控制器的驱动板:它可以接受由连接到电脑上的信号线传输过来的位置指令,并将其转换为驱动伺服电机的脉冲信号发送到各个伺服电机。我选择了一片Picmicro公司的16F628,因为它非常易于开发,在网上有无数的教程和例程,并且,它非常便宜。


    最开始我想使用一片主频为4MHz的16F84,但是它不支持UART(通用异步收发器),并且我用它开发一直不够顺利,好多指令都找不到(也许是我不知道,因为我在这方面也是个新手)。


而16F628支持UART,它可以同时处理几条指令并且不会丢失,但是我发现4MHz的主频又有点低了,经常会发生一些失灵现象,后来我把主频提高到20MHz,情况就好多了。


    其他电路包括:一片KM317用来将电池输出的9v稳压成逻辑电路需要的5v,另一片KM317将由变压器输出的12v稳压成伺服电机需要的6v;8个伺服电机接口(实际上只用了6个);用来与计算机通信的MAX232;5v电压输出口(可以扩展其他设备)。

电脑上的控制软件:


    电脑上的控制软件是用Delphi语言在Windows平台下开发的,我非常喜欢Delphi,因为它总是直接生成exe文件而不需要任何其他的dll文件,程序的运行速度也很快。


    控制程序允许用户通过一个操纵手柄来控制机械臂的运动。每个伺服电机都可以通过手柄上的按钮来分别控制。因为我只有一个有五个按钮的手柄,所以我不得不专门使用一个按钮作为“开关”来决定其他三个按钮控制的是前三个伺服电机还是后三个伺服电机。如果你有一个足够多的手柄,那么就大可不必如此复杂了。


    我还开发了一个小功能:控制程序可以将机械臂的运动轨迹记录在一个脚本文件中,这样就可以自动的重复以前的动作。


    最后我通过一个设定的绝对坐标系来描述夹子的位置:X方向为水平面上的面对观察者的左右方向,Y方向为垂直方向,Z方向为水平面上的面对观察者的前后方向。


更多资料下载:http://download.robotsky.com/dir_hup/robotarm.rar


                                                                   (RobotSky编辑:胡泊)