基于Arduino的机器手臂控制

2017-04-08 15:59熊晓松李朝朝
数字技术与应用 2017年2期
关键词:舵机

熊晓松++李朝朝

摘要:当前机械手臂得到广泛的应用,针对四自由度机械手臂系统进行了研究与设计,分析了机械手臂的机械结构及控制系统。舵机是传统的角度控制驱动器,在机器人领域得到了广泛应用。采用Arduino控制板进行舵机的控制,系统稳定性高,可靠性强,定位准确可以满足控制要求。

关键词:机器手臂;Arduino;舵机

中圖分类号:TP398 文献标识码:A 文章编号:1007-9416(2017)02-0003-01

Abstract:Today, robot arm is widely used ,the research and design about a four degrees freedom's arm are found. The Mechanical Structure and Control System are described. The servo is the tradional angle control driver and has been widely used in fields such as robotics. The Arduino is used to control the servo rotation, this system is a high stability , reliability and accurate control .

Key Words:manipulator;arduino;steeringgear

1 引言

1机器手臂是一种模拟人手臂而操作的自动化机械,它可按固定的程序抓取、搬运物件或操持工具完成某些特定操作。机器手臂可以代替人从事单调、重复或繁重的体力劳动,实现生产的机械化和自动化,可以代替人在有害环境下的手工操作,改善劳动条件,保证人身安全,目前广泛应用在工业自动化生产线上,如何有效的控制机械手臂是当前的热点之一。

Arduino是一个开源的硬件平台,该平台由硬件部分和软件两部分组成,其中硬件包括单片机、电路板等,软件主要是以C/C++语言为基础的IDE集成开发环境,可以快速的开发自己的项目。它可以便捷地读取模拟信号,控制LED灯亮度、电机的转速等,也可以通过USB接口进行编程和PC机通信等。利用Arduino单片机作为控制器控制舵机转动,从而实观对机器手臂的各种操作[1,2,3]。

2 设计方案

机器手臂一般由执行机构、控制系统、驱动系统三个部分组成。执行机构由手腕、机座组成,是联接手臂与末端执行器的部件,用以调整末端执行器的方位和姿态。手臂是支承手腕和末端执行器的部件。它由动力关节和连杆等组成,用来改变末端执行器的位置。机座是机器手臂的基础部件,并承受相应的载荷,机座分为固定式。

控制系统以Arduino单片机为核心控制器完成机器手臂控制,实现四自由度机器手臂对货物的抓取;对机器手臂建立空间模型,确定规定动作控制要求;控制各功能电路,驱动电路等;根据机器手臂各关节动作要求,控制手臂动作行程,实现手臂四自由度规定动作。

驱动系统通过输出PWM波的实现对舵机转动的控制,进而实现各个关节的位置控制。

2.1 机械设计

随着制造工业的发展需要,对机器手臂的自由度,精确度,运行的平稳性要求越来越高,机器手臂向多自由度,高速度,高精确度发展。齿轮式的机器手臂具有结构简单,易于安装与拆卸;重量轻,关节转动的惯性小、灵活性强等优点,机器手臂采用齿轮式(舵机驱动方式)。齿轮式机器手臂具有传动精度高、体积小、速度较快及运行平稳等优点。

实验的机器手臂为四自由度,四自由度机器手臂可采用四个舵机控制,如图1所示,舵机1控制底座,实现自由旋转,舵机2控制机器手臂上下运动,舵机3控制末端机械爪的水平倾角,舵机4控制机械爪的开合,用于抓取物件。

本机器手臂各关节的最大运动范围:如图1所示。

关节1(舵机1)底座的转动范围受舵机极限转动范围的限制为-90°~+90°。

关节2(舵机2)用于平举最大的转动为最低0°,最高90°。

关节3(舵机3)机械爪倾角的控制最低为-90°,最高90°。

关节4(舵机4)机械爪的开合,最小(闭合)0°,最大(张开)90°。

2.2 控制系统

以Arduino单片机为控制核心,控制机器手臂协调运动。机械手臂具有四个关节,每个关节可以自由转动相应角度,手臂转动采用4台舵机驱动,可以完成点对点的夹取物件的简单动作。利用arduino单片机本身所带的PWM口产生波形,编写控制机器手臂的动作程序,实现对舵机的控制[4]。系统控制图如图2所示。

为了设计的方便,控制方式采用点位控制。通过分别控制舵机的正反转来确定末端执行器在空间上的具体位置。舵机不是同时控制,因此不存在相互间的干扰,从而增强了整个系统的稳定性。基座部分做为腰关节装有舵机M1,控制机器手臂旋转;肩M2通过齿轮传动控制大臂旋转,基座与大臂底座用轴承连接;大臂座装有舵机M3,通过齿轮、传动控制小臂的旋转摆动;末端执行器部分装有舵机M4,同样通过齿轮、丝杆传动控制末端执行器的移动。控制主程序流程图如图3所示。

3 结语

经过实验的测试表明,采用Arduino可以实现对舵机的正反转的控制,以及加减速的控制,可满足对机械手臂的控制。

参考文献

[1]蔡睿妍.基于Arduino的舵机控制系统设计[J].计算机工程应用技术.2012.8(15):3719-3721.

[2]黄丽雯,韩荣荣,宋江敏.基于Arduino/Android的语音控制小车设计[J].实验室研究与探索.2015,34(12):53-56.

[3]郑昊,钟志峰,郭昊,许骏.基于Arduino/Android的蓝牙通信系统设计[J].物联网技术.2012(5):50-51.

[4]王效华,牛思先.基于单片机PWM控制技术的实现[J].武汉理工大学学报2010,32(1):94-98.

猜你喜欢
舵机
含齿隙弹载舵机的全局反步模糊自适应控制
基于dsPIC单片机的飞艇舵机控制实现
基于LabWindows/CVI的导弹舵机测控系统设计
基于高速同步485总线通信的多通道舵机控制器设计
菜鸟看模型
基于云模型的舵机同步控制