(燕京理工学院,河北廊坊,065201)
同步仿生机械臂设计
云彩霞,李 珊,宋晓华,李 昆
(燕京理工学院,河北廊坊,065201)
本设计利用安装在人手臂部的加速度传感器采集运动信号,单片机智能运算后发出控制指令,实现机械臂与人臂的同步运动。系统将在采集传感器的输出模拟量经过单片机的处理产生PWM波,使用PWM波驱动舵机实现准确定位, 使机械臂实现三自由度的运动。而且还可通过编程和仿生来完成各种预期的作业任务,在构造和性能上兼有人和机器各自的优点,体现了人的智能和适应性。
自由度;单片机;MM7260;舵机
仿生机械臂是近几十年发展起来的一种高科技自动化生产设备。仿生机械臂是工业机器人的一个重要分支。它的特点是可通过编程来完成各种预期的作业任务,在构造和性能上兼有人和机器各自的特点,尤其体现了人的智能和适应性。机械臂作业的准确性和各种环境中完成作业的能力,在国民经济各领域有着广阔的发展前景。
同步仿生机械臂设计主要任务是完成机械臂的硬件和软件两个方面的设计,需要对机械臂的坐标形式、自由度、驱动机构等进行确定并完成单片机内部的相关程序的编写。圆柱坐标型机械臂结构简单紧凑,定位精度较高,占地面积小,因此本设计采用圆柱坐标型。机械臂主要由3个伺服舵机和2个手臂和1个底座组成:(1)小臂部:采用一个铝合金片和一个简制的手抓拼接组成。(2)大臂部:采用一个铝合金片和两个伺服舵机拼接组成,上部舵机控制小臂的旋转,下面的舵机控制大臂的旋转。(3)底座:采用一个铝合金块和一个伺服舵机拼接组成,舵机控制手臂部分第三自由度的旋转。
2.1机械臂的制造
整个手臂的完成效果图(未安装舵机)如图2.1所示。说明:设计时采用了MG995舵机,安装孔依据其尺寸设计,制作时可依据舵机尺寸进行适当修改。
图2.1 完成效果图
底座制作完成后可将其固定在较重的底物上。也可做适当的拓展,比如在其下面装上可以控制方向的轮子做成可移动的机械手。
腕部设计成能上下旋转式,前部提供一个可安装夹持器的接面可以进行扩展。
(1)固定轴采用螺栓式的设计。(2)固定支架结构将转轴和舵机转盘相连,形成绕轴的扭转力。(3)将手臂的两个侧板固定成臂形。
2.2控制电路部分的设计与制作
控制电路部分以STC12C5A60S2单片机为核心,STC12C5A60S2单片机中集成了高精度的A/D转换器,可将加速度传感器采集的模拟量转换为数字量,数字量经过单片机的处理后产生PWM波,驱动机械臂上的伺服舵机。如图2.2所示:
图2.2 整体框图
MMA7260传感器:根据人手臂的运动角度,传感器将输出不同的电压,从而确定人手臂的状态。
A/D转换:将采集到的传感器输出的模拟量转换成数字量。
CPU:处理A/D转换输出的数字量,输出PWM波。
MG995舵机:用做机械臂的关节力量来源,接收PWM波信号,分析其占空比,转动不同的角度。
2.3舵机控制的实现方法
单片机系统实现对舵机输出转角的控制,必须完成两个任务:首先是产生基本的PWM周期信号,本设计是产生20ms的周期信号;其次是脉宽的调整,即单片机模拟PWM信号的输出,并且调整占空比。
具体的设计过程:例如让舵机转向左极限的角度,它的正脉冲为2ms,则负脉冲为20ms-2ms=18ms,所以开始时在控制口发送高电平,然后设置定时器在2ms后发生中断,中断发生后,在中断程序里将控制口改为低电平,并将中断时间改为18ms,再过18ms进入下一次定时中断,再将控制口改为高电平,并将定时器初值改为2ms,等待下次中断到来,如此往复实现PWM信号输出到舵机。用修改定时器中断初值的方法巧妙形成了脉冲信号,调整时间段的宽度便可使伺服机灵活运动。
为保证软件在定时中断里采集其它信号,并且使发生PWM信号的程序不影响中断程序的运行(如果这些程序所占用时间过长,有可能会发生中断程序还未结束,下次中断又到来的后果),所以需要将采集信号的函数放在长定时中断过程中执行,也就是说每经过两次中断执行一次这些程序,执行的周期还是20ms。
如果系统中需要控制几个舵机的准确转动,可以用单片机和计数器进行脉冲计数产生PWM信号。脉冲计数可以利用51单片机的内部计数器来实现,但是从软件系统的稳定性和程序结构的合理性看,宜使用外部的计数器,可以提高CPU的工作效率。实验后从精度上考虑,对于FUTABA系列的接收机,当采用1MHz的外部晶振时,其控制电压幅值的变化为0.6mV,而且不会出现误差积累,可以满足控制舵机的要求。最后考虑数字系统的离散误差,经估算误差的范围在±0.3%内,所以采用单片机和8253、8254这样的计数器芯片的PWM信号产生电路是可靠的。当系统的主要工作任务就是控制多舵机的工作,并且使用的舵机工作周期均为20ms时,要求硬件产生的多路PWM波的周期也相同。使用51单片机的内部定时器产生脉冲计数,一般工作正脉冲宽度小于周期的1/8,这样可以在1个周期内分时启动各路PWM波的上升沿,再利用定时器中断T0确定各路PWM波的输出宽度,定时器中断T1控制20ms的基准时间。
第1次定时器中断T0按20ms的 1/8设置初值,并设置输出I/O口,第1次T0定时中断响应后,将当前输出I/O口对应的引脚输出置高电平,设置该路输出正脉冲宽度,并启动第2次定时器中断,输出I/O口指向下一个输出口。第2次定时器定时时间结束后,将当前输出引脚置低电平,设置此中断周期为20ms的1/8减去正脉冲的时间,此路PWM信号在该周期中输出完毕,往复输出。在每次循环的第16次(2×8=16)中断实行关定时中断T0的操作,最后就可以实现8路舵机控制信号的输出。
也可以采用外部计数器进行多路舵机的控制,但是因为常见的8253、8254芯片都只有3个计数器,所以当系统需要产生多路PWM信号时,使用上述方法可以减少电路,降低成本,也可以达到较高的精度。调试时注意到由于程序中脉冲宽度的调整是靠调整定时器的初值,中断程序也被分成了8个状态周期,并且需要严格的周期循环,而且运行其他中断程序代码的时间需要严格把握。
关节电机参数确定后,对机械臂系统进行组装调试,在机械臂的调试中,需要对每个关节进行分别调试,确保每个关节都能够稳定的运行。
在实验中,当给定速度指令时,可通过安装在关节处的光电编码器输出的关节位移曲线来间接地测量关节的速度。速度指令由驱动器内部程序设定,本实验中是以梯形指令作为关节的速度指令,分为匀加速、匀速及匀减速三个阶段。速度指令及关节位移曲线由D/A卡转化为模拟信号,然后通过示波器输出。
从示波器输出的速度指令曲线及关节实际位移曲线可以看出,当给定速度指令为梯形曲线时,其关节位移是一条理想的S型曲线,与理论上的位移曲线完全吻合。同时,当速度由最大值减到零时,位移曲线能够在不到100ms的时间内迅速稳定,即机械臂能够迅速定位,具有较快的响应速度。
经过对各个关节进行调试,机械臂能够按给定的速度指令及位移指令稳定地运行,达到了设计目的。
在实际应用中,采用51单片机简单方便地实现了舵机控制需要的PWM信号。对机器臂舵机控制的测试表明,舵机控制系统工作稳定,PWM占空比 (0.5~2.5ms 的正脉冲宽度)和舵机的转角(-90°~90°)线性度较好。
[1] 陈恳等.机器人技术与应用[M].北京清华大学出版社,2006,5-6.
[2] David Cook著.毕树生等译.机器人制作提高篇[M].北京航空航天大学出版社,2005,10-13.
[3] 侯宪伦等.履带式机器人的设计[J].机械制造,2009,7-9.
[4] Warken M.Perturbation-theory for electronic excited-states - the low-lying Rydberg states of water[J].Chem.Phys.1995,103:5554-5564[16]葛兆斌等.履带式机器人行走系统结构分析.机械制造[J],2009,7-8.
[5] 扬升,吴怀宇,闫贺等.四自由度模块化移动机械臂建模与运动分析[J].现代电子技术.2011,15:212-215.
[6] 李亮等著.机械手对目标物体抓取研究[J].工业计算机,2009,19-23.
[7] 刘继展等著.番茄采摘机器人末端执行器的硬件设计[J].农业机械学报,2008,39-43.
[8] 孝文.机器人发展的三大趋势[J].科技潮,2008,6-9.
[9] 蔡自兴.机器人学[M].北京:清华大学出版社,2000.154-155.
[10] 王伟等.未来20年(2002-2022)欧洲机器人发展路线图选摘之一[J].机器人技术与应用,2006,3-4.
云彩霞、1981.11、女、吉林九台、硕士、讲师,无线通信与计算机应用。
The Design of Synchronization Bionic Robot Arm
Yun Caixia,Li Shan,Song Xiaohua,Li Kun
(Yanching Institude of Technology,Hebei Langfang,065201)
This design uses the collected motion signal of the acceleration sensor installed in the arm department,issued in the single-chip smart computing control commands,synchronous movement of the manipulator arm.Acquisition sensor output analog processing After the microcontroller PWM wave using PWM wave-driven steering gear to achieve accurate positioning,so that the robotic arm to achieve three degrees of freedom of movement.But also through programming and bionic complete a variety of expected operating tasks,both in structure and performance of the respective advantages of both humans and machines,human intelligence and adaptability.
Degree-of-freedom;Microcontroller;MM7260;Steering Ge