基于Arduino控制的机械臂的运动与程序设计.pdf

基于Arduino控制的机械臂的运动与程序设计.pdf

ID:52969724

大小:470.02 KB

页数:3页

时间:2020-04-05

基于Arduino控制的机械臂的运动与程序设计.pdf_第1页
基于Arduino控制的机械臂的运动与程序设计.pdf_第2页
基于Arduino控制的机械臂的运动与程序设计.pdf_第3页
资源描述:

《基于Arduino控制的机械臂的运动与程序设计.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基子Arduino控制的机械臂的运动与程序设计口卢光跃口吴涛昆明理工大学机电工程学院昆明650500摘要:设计了一个采用舵机进行驱动的机械臂装置,应用Arduino程序系统和硬件对其进行运动控制,使其完成一个从低处取物放回高处的动作。实际应用中可用作生产线物料搬运以及机床的上下料等工作。通过对Arduino专门控制伺服电机的Servo库函数创新编程,使机械臂完成设计动作。关键词:Arduino机械臂舵机程序运动设计中图分类号:TH122;TP242.3文献标识码:A文章编号:1000-4998f

2、2014)03—0050—03目前人们对各类机械臂的研究十分普遍.它对环境有较好的适应性,在实际生产应用中,可替代人工进行一些劳动强度大、有危险的工作。在机械臂这种需要对多个舵机同时控制的系统中.Arduino可实现对多个舵机转动的角度精确控制,方法简单,为机械臂的运动控制提供了新方式。本文着重研究了机械臂的工作姿态、运动控制等,应用Arduino对其进行运动控制。Arduino是意大利一个开放源代码的硬件项目平台,该平台包括一块具备I/O功能的电路板以及一其中1号舵机有绕Z轴转动的自由度,初始

3、位置的角套程序开发环境软件。度是90。;舵机2、3和4号有绕l,轴转动的自由度;舵机5有绕轴转动的自由度:舵机6在垂直于5号舵1机械臂机构设计机转动轴的平面内有一个转动自由度。因此,为实现机1.1机构的组成械臂的完整运动,每段臂的关节处各分配一个俯仰自机械臂的主体结构是由一套铝合金支架、铝合金由度。基座关节、腕关节和机械手爪关节各分配一个偏机械手爪、6个MG995舵机驱动组成,如图1所示.1~转自由度.共6个自由度。6号分别为6个舵机,A~F分别为每个舵机的转动轴。1.3机械臂的执行装置其中:l

4、号舵机位于底座上,起到腰转的作用:2号舵舵机是一种位置伺服的驱动器,具有闭环控制系机位于1号舵机之上,起到肩转作用;3号舵机位于上统的机电结构,由小型直流电机、变速齿轮组、可调电臂末端,起到肘转的作用;4号舵机位于机械手腕处,位器、控制板等组成。采用MG995型号通用舵机,工作起到机械手爪的俯仰作用:5号舵机位于4号舵机之电压是5V,转速转矩适当,舵角不超过180。,可以实现上,起到机械手爪的偏转作用;6号舵机位于机械手掌机械臂转动角度的灵敏控制以及平稳运动。处,起到控制机械手爪的开合作用。由于

5、舵机是以转动2机械臂的运动分析形式提供机械能,所以该机构共有6个转动副,其中每个转动副为一个运动关节。2.1运动过程分解1.2机械臂自由度分配在机械臂运动过程中.第一步:通过初始化使各舵如图2所示,该机械臂有3个方向的转动自由度,机位于初始状态:第二步:底座腰转关节旋转至特定方向.腕关节旋转,使机械手向上旋转与臂处于同一方国家自然科学基金青年基金资助项目(编号:61203066)向。同时底座上端肩转关节旋转,使整个机械臂处于水云南省大学生创新计划项目(编号:201310674232)收稿13期:

6、2013年12月平位置,机械手爪关节旋转,使机械手爪打开;第三步:j圆2014/3机械制造52卷第595期在Arduino中,主函数在内部已定义了,只需要完成voidsetup()、voidloop()这两个函数就能够完成Arduino程序的编写,这两个函数分别负责Arduino程序的初始化部分和执行部分。两个函数均为无返回值的函数。setup()函数用于初始化,一般放在程序开头,主要工作是用于设置一些引脚的输出/输入模式、初始化串口等.该函数只在上电或重启时执行一次;loop()函数则用于执行

7、程序,它是一个死循环,其中的代码将被循环执行,用于完成程序的功能。另外,笔者采用Servomyservo语句定义6个舵机,例如Servomyservo1;用attach函数为伺服电机指定一个引脚,例如:myservo1.attach(1)。该语句指1号舵机的引脚为1.即在1号舵机连线时将其接在扩展板的引脚1上。4.2子函数整段程序定义了6段子函数,分别对应“2.1运动过程分解”中的6个步骤,依次用来实现:初始化每个Arduino本身的Servo库就是控制舵机的,单纯调舵机角度为90。;转向至一边

8、、降低高度、旋转手爪和用Servo库可以实现对一路或者多路舵机的同时转张开手爪;关闭手爪和上升高度;转向至另一边和张开动,但无法实现多路舵机分时驱动。为了实现机械手的正确运动.在原来函数结构的手爪;关闭手爪;转向至中间、上升高度、旋转手爪恢复基础上,定义机械手每一步动作为一个分函数,在loop至初始状态。重要程序段摘取如下:()函数中,分别调用各个分函数,中间加延时环节,就voidone()可以实现机械手的连续稳定运行(程序流程如图7所{myservo1.write(90);示)。myservo

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。