• 基于单片机的简易机械手的设计
  • 基于单片机的简易机械手的设计

    基于单片机的简易机械手的设计
     
      本设计使用单片机对一个简易机械手系统进行控制。单片机输出稳定的PWM同舵机的脉冲进行比对来控制舵机的运动。用户可以根据需要设定舵机的转动幅度,通过舵机的转动带动机械手臂的运动以及手指的张合,实现三自由度机械手达到拿取转移物体的目的。经过实验和调试信号输出稳定,PWM占空比和舵机的转角线性度较好。实现了机械手自动手动两种方式运动。
     
      机械手主要由手部和运动机构组成。手部是用来抓持工件的部件,根据被抓持物件的形状、尺寸、重量、材料和作业要求而有多种结构形式,如夹持型、托持型和吸附型等。运动机构使手部完成各种转动、移动或复合运动来实现规定的动作,改变被抓持物件的位置和姿势。运动机构的升降、伸缩、旋转等独立运动方式,称为机械手的自由度。自由度是机械手设计的关键参数。自由度越多,机械手的灵活性越大,通用性越广,其结构也越复杂。
     
      本文采用单片机AT89S52作为控制系统的核心部件,在驱动系统中采用日本FUTABAS3003舵机来构成基本的控制传动系统,在机构的拼装上采用3自由度全金属结构,达到自动抓取重物并转移的目的。
     
      单片机系统实现对舵机输出转角的控制,必须首先完成两个任务:首先是产生基本的PWM周期信号,因为FUTABA-S3003内部的比对信号周期为20ms,所以本设计也要产生20ms的周期信号;其次是脉宽的调整,即单片机模拟PWM信号的输出,并且调整占空比。采用的控制方式是改变单片机的一个定时器中断的初值,将20ms分为两次中断执行,一次短定时中断和一次长定时中断。这样既节省了硬件电路,也减少了软件开销,控制系统工作效率和控制精度都很高。具体如图1所示:例如想让舵机转向30度的角度,它的正脉冲为0.7ms,则负脉冲为20ms-0.7ms=19.3ms,所以按下30度的按键,按下的同时控制口P1.0发送高电平,然后设置定时器在0.7ms后发生中断,中断发生后,在中断程序里将控制口P1.0改为低电平,并将中断时间改为19.3ms,再过19.3ms进入下一次定时中断,再将控制口P1.0改为高电平,并将定时器初值改为0.7ms,等待下次中断到来,如此往复实现PWM信号输出到舵机。用修改定时器中断初值的方法巧妙形成了脉冲信号,调整时间段的宽度便可使伺服舵机灵活运动。为保证软件在定时中断里不采集其他信号,并且使发生PWM信号的程序不影响中断程序的运行(如果这些程序所占用时间过长,有可能会发生中断程序还未结束,下次中断又到来的后果),所以需要将采集信号的函数放在长定时中断过程中执行,也就是说每经过两次中断执行一次这些程序,执行的周期还是20ms。在图1中的九个按键是控制信号输出的控制键,指示灯起到指示作用,在P1.0口是控制信号输出端口。
     

    更多型号芯片解密可致电北京致芯科技24小时服务热线:13466687255 010-57436217

    点击这里给我发消息 点击这里给我发消息

      Copyright © 2004-2012 致芯科技 版权所有