单片机的简易机械手的设计
基于单片机的简易机械手的设计
本设计使用单片机对一个简易机械手系统进行控制。单片机输出稳定的PWM(脉冲调制波)同舵机的脉冲进行比对来控制舵机的运动。用户可以根据需要设定舵机的转动幅度,通过舵机的转动带动机械手臂的运动以及手指的张合,实现三自由度机械手达到拿取转移物体的目的。经过实验和调试信号输出稳定,PWM占空比(0.3~2.5ms的正脉冲宽度)和舵机的转角(-90°~90°)线性度较好。实现了机械手自动手动两种方式运动。
本文采用
单片机AT89S52作为控制系统的核心部件,在驱动系统中采用日本FUTABAS3003舵机来构成基本的控制传动系统,在机构的拼装上采用3自由度全金属结构,达到自动抓取重物并转移的目的。
一个成功的机械手必须要有强大的动力系统和精准的信号系统。目前,机械手常用的动力系统有液压式、气动式、电动式、机械式。本文选择电动式作为机械手的动力系统。在机器人机电控制系统中,舵机控制效果是性能的重要影响因素。舵机可以在微机电系统和航模中作为基本的输出执行机构,其简单的控制和输出使得单片机系统非常容易与之接口,所以本文选择舵机驱动系统。它接收一定的控制信号,输出一定的角度,非常适用于那些需要角度不断变化并可以保持的控制系统。本文选用的舵机为FUBATA的,型号为S3003。其主要技术参数如下:①转速:0.23秒/60度。②力矩:3.2kg·cm。③尺寸:44.1mm×26.6mm×36.1mm。④重量:37.2g。⑤5V电源供电。
控制系统的选择
在选择好动力系统的同时,所要考虑的是如何产生控制舵机运动的控制信号,本文选择单片机AT89S52作为控制单元,单片机可以使PWM(脉冲调制)信号的脉冲宽度实现微秒级的变化,从而提高舵机的转角精度。单片机完成控制算法,再将计算结果转化为PWM信号输出到舵机,由于单片机系统是一个数字系统,其控制信号的变化完全依靠硬件计数,所以受外界干扰较小,整个系统工作可靠。
软件程序设计中包含一个主程序和三个子程序。单片机控制三舵机主程序流程图如图3所示。主程序中开关KK是决定自动或手动的按键,在自动档里,通过三个舵机的分时转动可以完成机械手的自动抓取物体并移动的目的。当KK打到手动档时,K1、K2、K3是三个舵机的选择开关,KK2、KK2是控制电机正反转动的开关,每次按下都有脉冲输出给舵机进行比对,实现转向的目的。三个子程序为自动运行程序、脉冲信号输出程序和延时程序。
机械手是三自由度旋转机械手,主要由手,肘,和肩构成。手就是夹持物体的部分,由一舵机控制它的张合。肘是控制整个手臂上下运动的部件,由一个舵机控制。肩即机械手的底盘控制手臂水平面上的转动。