六自由度机械臂项目学习笔记

由于课程要做一个控制六自由度机械臂的项目,主要是学习舵机和舵机控制的知识,在这里做一下学习笔记。

使用的舵机为2个DS3115MG数字舵机+4个MG996R模拟舵机。

1.舵机基本构造



2.舵机控制原理

  控制电路板接受来自信号线的控制信号,控制电机转动,电机带动一系列齿轮组,减速后传动至输出舵盘。舵机的输出轴和位置反馈电位计是相连的,舵盘转动的同时,带动位置反馈电位计,电位计将输出一个电压信号到控制电路板,进行反馈,然后控制电路板根据所在位置决定电机转动的方向和速度,从而达到目标停止。其工作流程为:控制信号→控制电路板→电机转动→齿轮组减速→舵盘转动→位置反馈电位计→控制电路板反馈。

  舵机的控制信号周期为20MS的脉宽调制(PWM)信号,其中脉冲宽度从0.5-2.5MS,相对应的舵盘位置为0-180度,呈线性变化。也就是说,给他提供一定的脉宽,它的输出轴就会保持一定对应角度上,无论外界转矩怎么改变,直到给它提供一个另外宽度的脉冲信号,它才会改变输出角度到新的对应位置上如图7所求。舵机内部有一个基准电路,产生周期为20MS,宽度1.5MS的基准信号,有一个比出较器,将外加信号与基准信号相比较,判断出方向和大小,从而生产电机的转动信号。由此可见,舵机是一种位置伺服驱动器,转动范围不能超过180度,适用于那些需要不断变化并可以保持的驱动器中,比如说机器人的关节、飞机的舵面等。

舵机输出转角与输入脉冲的关系

  控制过程图:



3.舵机使用注意事项

  1、常用舵机的额定工作电压为6V,可以使用LM1117等芯片提供6V的电压,如果为了简化硬件上的设计直接使用5V的供电影响也不是很大,但最好和单片机进行分开供电,否则会造成单片机无法正常工作。

  2、一般来说可以将来信号线连接至单片机的任意引脚,对于51单片机需通过定时器模块出PWM才能进行控制。但是如果连接像飞思卡尔之类的芯片,由于飞思卡尔内部带有PWM模块,可以直接输出PWM信号,此时应将来信号连于专用的PWM输出引脚上。

  3、数字舵机一般要与供电电路、控制电路三者共地,模拟舵机单独供电即可。



4.数字舵机和模拟舵机的差别

  数字舵机(Digital Servo)和模拟舵机(Analog Servo)在基本的机械结构方面是完全一样的,主要由马达、减速齿轮、控制电路等组成,而数字舵机和模拟舵机的最大区别则体现在控制电路上,数字舵机的控制电路比模拟舵机的多了微处理器和晶振。不要小看这一点改变,它对提高舵机的性能有着决定性的影响。数字舵机在以下两点与模拟舵机不同:

  1.处理接收机的输入信号的方式。

  2.控制舵机马达初始电流的方式,减少无反应区(对小量信号无反应的控制区域),增加分辨率以及产生更大的固定力量。

  模拟舵机在空载时,没有动力被传到舵机马达。当有信号输入使舵机移动,或者舵机的摇臂受到外力的时候,舵机会作出反应,向舵机马达传动动力(电压)。这种动力实际上每秒传递50次,被调制成开/关脉冲的最大电压,并产生小段小段的动力。当加大每一个脉冲的宽度的时候,如电子变速器的效能就会出现,直到最大的动力/电压被传送到马达,马达转动使舵机摇臂指到一个新的位置。然后,当舵机电位器告诉电子部分它已经到达指定的位置,那么动力脉冲就会减小脉冲宽度,并使马达减速。直到没有任何动力输入,马达完全停止。

  模拟舵机的“缺点”是:假设一个短促的动力脉冲,紧接着很长的停顿,并不能给马达施加多少激励,使其转动。这意味着如果有一个比较小的控制动作,舵机就会发送很小的初始脉冲到马达,这是非常低效率的。这也是为什么模拟舵机有“无反应区”的存在。比如说,舵机对于发射机的细小动作,反应非常迟钝,或者根本就没有反应。

  相对于传统模拟舵机,数字舵机的两个优势是:

  1.因为微处理器的关系,数字舵机可以在将动力脉冲发送到舵机马达之前,对输入的信号根据设定的参数进行处理。这意味着动力脉冲的宽度,就是说激励马达的动力,可以根据微处理器的程序运算而调整,以适应不同的功能要求,并优化舵机的性能。

  2.数字舵机以高得多的频率向马达发送动力脉冲。就是说,相对与传统的50脉冲/秒,现在是300脉冲/秒。虽然,以为频率高的关系,每个动力脉冲的宽度被减小了,但马达在同一时间里收到更多的激励信号,并转动得更快。这也意味着不仅仅舵机马达以更高的频率响应发射机的信号,而且“无反应区”变小;反应变得更快;加速和减速时也更迅速、更柔和;数字舵机提供更高的精度和更好的固定力量。

  但是在把数字舵机设计的更精准的同时,也带来了缺点:

  1、数码舵机需要消耗更多的动力。其实这是很自然的。数码舵机以更高频率去修正马达,这一定会增加总体的动力消耗。

  2、相对教短的寿命。其实这是很自然的。马达总在转来转去做修正,这一定会增加马达等转动部位的消耗。



5.数字舵机DS3115MG参数



6.模拟舵机MG996R参数

型号:MG996R
产品净重: 55g
产品尺寸: 40.7*19.7*42.9mm
产品拉力: 9.4kg/cm(4.8V), 11kg/cm(6V)
反应速度: 0.17sec/60degree(4.8v) 0.14sec/60degree(6v)
工作电压: 4.8-7.2V
工作温度: 0℃-55℃
齿轮形式: 金属齿轮
工作死区: 5us (微秒)



7.DS3115和MG996R的比较

  



8.机械臂控制器、供电电源及线材配件选择



9.有收获再更新

时间: 2024-07-31 21:42:53

六自由度机械臂项目学习笔记的相关文章

多自由度机械臂模拟4

模拟机械臂起吊物体.以动物体.放下物体 int numChild = groupRope->getNumChildren(); groupRope->removeChildren(0, numChild); 原文地址:https://www.cnblogs.com/herd/p/11416495.html

多自由度机械臂模拟5

机械臂-起臂动作模拟 double cAngle = calaulateCAngle(); std::cout << "rorate cAngle:" << cAngle << std::endl; for (double d1=0.0;d1<cAngle;d1+=2.0) { if (cAngle-d1>2.0) { rorate3 += 2.0; rotateRope = -2.0; } else { double d_1 = cAn

Unity3d - RPG项目学习笔记(二十六)

上期工程实现了将技能信息读取至内存中来,现在开始实现技能在技能栏中的显示——SrollView技术的应用. 需求: 在技能栏中显示角色的所有技能,侧边栏加入滚动条,通过滚动条可以实现技能的滚动浏览. 思路: 建立一个SrollView栏,在其中建立一个Grid用于技能的排序.然后建立一个Invisiable Widget,在其中建立起技能描述所需要的图标.名称.类型.描述及消耗. 将Widget复制多份,上下排好,然后向每个Widget加入SrollView属性,并且将SrollView栏中的卷

Unity3d - RPG项目学习笔记(十六)

上期功能实现了NPC模型的点击逻辑,现在开始建立药品的信息清单窗口. 功能需求: ①显示药品的信息列表,包含:物品得icon.物品名称.物品效果,物品价格: ②显示药品的购买按钮,实现点击功能: ③点击购买按钮后,显示输入框,输入框内输入数字后,有OK确认按钮. 构建过程如下: ①创建一个sprite,定义为商店背景: ②创建一个sprite,定义为药品信息行: ③在药品信息行内创建药品icon,再创建三个Label,依次向Label中输入名称.效果及价格: ④在药品信息行后加入购买按钮,添加按

Unity3d - RPG项目学习笔记(六)

前期工程已经实现了角色的移动以及镜头的控制.现在开始处理场景中的NPC以及任务UI. 一.NPC的创建 将工程中的NPC—长者模型拖动至场景内,并添加碰撞盒子,调整位置及大小. 二.任务UI的建立 2.1 任务背景的搭建 将工程素材的图片打包入工程文件的Atlas,然后在UIroot中创建背景即可. 2.2 接受/取消按钮的搭建 将Atlas中的按钮创建至背景即可,添加碰撞盒及按钮组件. 2.3 处理屏幕中的点击事件 当我们搭建完成上述内容后,发现点击UI界面,角色会向地面移动,需要对此BUG进

CentOS7的安装及部署javaweb项目 - 学习笔记

一, 概述: 这两天在捣鼓linux的东西,安装及配置网络环境,共享设置,以及安装jdk , tomcat环境,并将自己开发的javaweb系统部署到上述环境中.经过周末熬到深夜,终于搞掂,现在整理一下笔记,分享出来,以后也可以回顾. 二, 安装CentOS7: 我这里是基于VirtualBox的安装,安装的是无桌面版本CentOS 1, 下载virtualbox并安装 此处省略100字.... 2, 下载CentOS最小安装版本 官网: https://www.centos.org/downl

Unity3d - RPG项目学习笔记(二十)

前期工程将装备信息导入到了工程中,且实现了在背包内鼠标移动显示物品提示信息,本次工程开始构建装备穿戴功能. 项目需求: 右键点击背包内的装备,使其穿戴在身上. 需求分析: 右键点击背包内的装备,注意,此时的装备还是背包内的一个物品,即是工程所定义的id为2001-2010的InventoryItem而已:需求可以抽象为右键点击背包内的一个物品,如果该物品是装备类,则在角色的EquipmentUI相应的位置生成一个与之图标相同的EquipmentItem,则视为“装备”了该物品. 具体实现: ①右

网上图书商城项目学习笔记-003系统功能模块分析

1. itcastgoods文件夹介绍2. 项目导入演示 * 导入数据库 * 导入项目,发布,运行3. 项目原型导入演示 * 导入项目原型,发布,运行4. 小工具介绍5. jQuery介绍 6. 项目前台功能介绍 * User模块 > 注册 > 激活 > 登录 > 修改密码 > 退出 * Category模块 > 显示所有分类 * Book模块 > 按分类查询(分页) > 按图名查询(模糊)(分页) > 按作者查询(分页) > 按出版社查询(分页

网上图书商城项目学习笔记-031图书管理模块介绍及添加图书

一.流程分析 1.图书管理模块介绍 2. 3. 4.添加图书第一步 5.添加图书第二步 二.代码 1.view层 (1)body.jsp 1 <body> 2 <h1 align="center">图书管理</h1> 3 <p align="center"> 4 <a href="<c:url value='/admin/AdminBookServlet?method=addPre'/>&q