【什么是应变波齿轮又名谐波驱动?机器人应用的完美齿轮组!?】

news2025/2/8 5:10:31

什么是应变波齿轮又名谐波驱动?机器人应用的完美齿轮组!?

  • 1. 什么是应变波齿轮?
  • 2. 工作原理
  • 3. 应变波齿轮 – 谐波驱动 3D 模型
  • 4. 3D 打印应变波齿轮 – 谐波驱动
  • 5. 总结

在本教程中,我们将学习什么是应变波齿轮,也称为谐波驱动。首先,我们将解释它的工作原理,然后设计我们自己的模型并3D打印它,以便我们可以在现实生活中看到它并更好地了解它是如何工作的。

您可以观看以下视频或阅读下面的书面教程。
在这里插入图片描述

1. 什么是应变波齿轮?

应变波齿轮是一种独特的机械齿轮系统,可在紧凑轻便的包装中实现非常高的减速比。与斜齿轮或行星齿轮等传统齿轮系统相比,它可以在相同的空间内实现高达30倍的更高减速比。除此之外,它还具有零背隙特性、高扭矩、精度和可靠性。因此,该齿轮系统用于许多应用,包括机器人,航空航天,医疗机器,铣床,制造设备等。

What is Strain Wave Gear

应变波齿轮是由C. Walton Musser于1957年发明的,通常用于它的另一个名称“谐波驱动”实际上是谐波驱动公司注册的应变波齿轮的品牌名称。

2. 工作原理

好的,让我们来看看它现在是如何工作的。谐波驱动器有三个关键组件:波发生器、柔性样条和圆形样条。

Strain Wave Gear or Harmonic Drive Main Components

波发生器具有椭圆形,由椭圆轮毂和遵循轮毂椭圆形状的特殊薄壁轴承组成。这是齿轮组的输入,它连接到电机轴。

Harmonic Drive Wave Generator

当波发生器旋转时,它会产生波运动。

Flex花键具有圆柱形杯的形式,由柔性但抗扭刚性的合金钢材料制成。杯子的侧面很薄,但底部又厚又硬。

Harmonic Drive Flex Spline

这使得杯子的开口端是柔性的,但封闭端非常坚硬,因此我们可以将其用作输出并将输出法兰连接到它。柔性花键在杯子的开口端有外齿。

另一方面,圆形样条是一个内部有齿的刚性环。圆形花键比柔性花键多两个齿,这实际上是应变波齿轮系统的关键设计。

Harmonic Drive Circular Spline

因此,当我们将波发生器插入 Flex 样条时,柔性样条的形状与波发生器相同。

The Wave Generator is inserted into the Flex Spline - Strain Wave Gear

当波发生器旋转时,它会径向变形柔性样条的开口端。然后将波发生器和柔性样条放置在圆形样条内,将齿啮合在一起。

Flex Spline and Circular Spline Teeth Meshing

由于柔性样条的椭圆形状,齿仅在柔性样条相对两侧的两个区域啮合,并且跨越波发生器椭圆的主轴。

现在,随着波发生器的旋转,与圆形样条的 Flex 样条齿啮合的 Flex 样条齿将慢慢改变位置。由于柔性样条和圆形样条之间的齿数差异,波发生器每旋转180度,齿啮合将导致柔性样条相对于波发生器向后旋转少量。换句话说,随着波发生器每旋转180度,柔性样条齿与圆形样条的啮合将仅前进一个齿。

Flex spline moves in opposite direction relative to the Wave Generator

因此,对于波发生器的 360 度完整旋转,柔性样条将改变位置或前进两个齿。

For each 360 degrees rotation of the wave generator, the flex spline change position by two teeth

例如,如果挠性样条有 200 个齿,则波发生器必须旋转 100 圈才能使挠性样条前进 200 个齿,或者这只是挠性样条的单次旋转。这是100:1的比例。在这种情况下,圆形样条将有 202 个齿,因为圆形样条的齿数总是比挠曲样条齿多 <> 个。

我们可以使用以下公式轻松计算减速比。该比率等于挠性花键齿 – 圆形花键齿,除以挠性花键齿。

Harmonic Drive reduction ratio calculation formula

因此,以柔性样条上有 200 个齿和圆花键上有 202 个齿为例,减速比为 -0.01。这是波发生器速度的 1/100,负叹息表示输出方向相反。

我们可以通过改变数量或齿来获得不同的减速比。

Strain Wave Gear Various reduction ratios

我们可以通过在具有相同尺寸的齿的同时改变机构直径,或者通过改变齿尺寸来保持齿轮组的尺寸和重量来实现这一点。

3. 应变波齿轮 – 谐波驱动 3D 模型

好了,现在我们知道了应变波齿轮背后的理论,让我告诉你我是如何设计的,这样我们就可以用3D打印机来构建它。

3D Model of Harmonic Drive in Fusion 360

我使用Fusion 360设计了这个应变波齿轮模型。所有这些部件都可以3D打印,所以我们只需要一些螺栓和螺母以及一些轴承来完成组装。至于输入,我选择使用NEMA 17步进电机。

Cross section of Harmonic Drive - Strain Wave Gear

以下是我设计应变波齿轮的 3 个关键元素的方式,即圆形样条、柔性样条和波发生器。由于3D打印机的打印效果,准确性和精确性有其自身的局限性,因此我必须首先决定齿轮的模块或齿的大小。我为圆形样条选择了 1.25 和 72 齿的模块。

Wave Generator Flex Spline and Circular Spline for 3D Printing

当然,柔性样条需要少 2 颗牙齿,或者 70 颗牙齿。这将导致 35:1 的比率,同时齿轮组的尺寸相对较小。

至于波浪发生器,我们不能真正使用前面提到的那些特殊类型的薄壁轴承,因为它们不容易找到。相反,我们将使用围绕椭圆圆周布置的普通滚珠轴承。椭圆的尺寸应根据挠性样条内壁的尺寸进行。

我使椭圆的长轴半径比挠性样条内壁的半径大 1.25mm。另一方面,椭圆的短轴半径小 1.25mm。

Wave generator - elliptical shape dimensions

波发生器将由两部分组成,10个轴承可以很容易地安装在这两部分。其中一个部分还具有适用于固定 NEMA 17 步进电机的轴耦合器。

Ball bearings arranged around a circumference of an ellipse for the Wave Generator

其余部分围绕这 3 个关键组件进行设计。在轴承座的输出侧,我们将插入两个外径为 47 毫米的轴承,我们将借助一些螺栓和螺母固定它们。

Strain Wave Gear Model for 3D Printing

输出法兰由两个用螺栓和螺母连接的部件制成,因此我们可以轻松地将其固定在两个轴承上。

下面有 3D 打印所需的 STL 文件。

您可以下载此3D模型,也可以在Thangs的浏览器中进行探索。

在这里插入图片描述

在唐斯下载3D模型。

3D 打印所需的 STL 文件:

Icon 应变波齿轮 - 谐波驱动 STL
文件
1 文件 1.44 MB 另请参阅: 适合初学者和创客的最佳 3D 打印机 [2021 更新]

4. 3D 打印应变波齿轮 – 谐波驱动

好的,现在是时候3D打印零件了。3D打印齿轮时,使用切片软件中的水平扩展功能非常重要。

3D Printing gears - Horizontal Expansion featuring turned on in the slicing software

我将我的设置为 -0.15 毫米,并在打印件上获得了相对不错的精度。请注意,这可能因打印机而异。如果我们不使用此功能,打印时由于灯丝的膨胀,打印件会略大,零件或齿轮将无法正确啮合。

我使用我的Creality CR-10 3D打印机打印所有零件,我认为考虑到它的价格点,它做得很好。

所以,这里有所有3D打印部件。

3D Printed parts for Strain Wave Gear

我们只需要一些螺栓,螺母和一些轴承来完成谐波驱动器的组装。

Bolts and Nuts for completing the Harmonic Drive assembly

以下是所有组件的完整列表:

螺栓:
M3x16 – 13 件
M3x12 – 4
M4x12 – 6
M4x25 – 6
M4x30 – 6
M4x40 – 4
螺母:
M3 自锁 – 13
M4 自锁 – 16
M4 – 10
轴承:
(外径) 16 毫米 x (英寸) 5 毫米 x (宽) 5 毫米 – 10
(外径) 47 毫米 x (英寸) 35 毫米 x (宽) 7 毫米 – 2 
电子学:
步进电机 – NEMA 17
A4988 步进驱动器
Arduino
直流电源

我通过将两个输出轴承插入轴承座开始组装。轴承的外径为47mm,内径为35mm。就像我说的,我在切片零件时使用了-0.15mm的水平膨胀补偿,因此轴承在轴承座中安装得非常紧密。

Inserting the bearings into the housing

在两个轴承之间,我放置了1.5mm 3D打印的距离环。为了将轴承固定到轴承座上,我们需要六个长度为 4mm 的 M25 沉头螺栓。我们还将使用 M4 垫圈,它可以恰到好处地接触轴承的外圈,因此它们会将轴承固定在轴承座上。

Securing the bearings to the Harmonic Drive housing

接下来是柔性样条曲线。杯子的壁只有1.2毫米的刻度,所以虽然它是用PLA印刷的,但它在开口端仍然很灵活。

Flexible 3D Printed Flex spline in PLA material

在柔性花键的闭合端,我们可以使用六个 M4 螺栓连接输出法兰。一旦固定,柔性样条现在比以前灵活一些,但关闭端现在非常刚性。

Attaching the output flange to the flex spline

接下来,我们需要将挠性花键插入轴承。输出法兰穿过第一个轴承的一半。在另一侧,我们将插入输出法兰的另一部分,该法兰将正好适合两个轴承之间。

我继续在输出轴上的插槽中放置四个 M4 螺母。这些螺母将用于将东西连接或连接到齿轮组的输出。

Assembling the output shaft

为了完成输出轴,在此之上,我放置了另一个将覆盖螺母的零件,并使用 4 个长度为 4 毫米的 M40 螺栓,我最终可以将两个输出部件固定在一起。现在,柔性花键和输出轴可以自由地固定在外壳上。

好的,接下来我们有圆形花键,它将与齿轮组盖和电机支架一起固定在外壳上。但在我们这样做之前,我们需要组装波发生器。这里首先我们需要插入两个 M3 螺母。这些螺母将用于使用两个沉头螺钉将波发生器固定到电机轴上。

Wave generator shaft coupler for the Nema 17 stepper motor with m3 set screws and nuts

接下来,我们可以开始将 10 个轴承插入到位。我们可以在这里注意到轴承与壁的距离与轴底部的小边缘只有一点点的距离。波发生器的另一部分也有这样的边缘,因此轴承不会接触墙壁。我们将用 16 毫米长的 M3 螺栓和一些螺母固定轴承,实际上是整个波发生器。

Assembling the 3D Printed Wave Generator for the Strain Wave Gear

接下来,我们需要将波发生器固定在电机上,但在此之前,我们需要将电机连接到电机支架和齿轮组的盖子上。波发生器应与电机盖相距2mm,因此在将波发生器插入到位时,我使用了两个垫圈作为导轨。然后,我们只需要拧紧沉头螺钉,这些螺钉的位置可以到达轴承之间。

3D Printed Wave Generator Assembly

最后,我们可以将波发生器插入柔性样条并将所有东西连接在一起。我们应该首先调整要与圆形样条以椭圆形式啮合的柔性样条,然后在同一方向上插入波发生器。

Inserting the Wave Generator into the Flex Spline

老实说,要做到这一点可能有点困难,因为电机支架的原因,我们无法控制柔性花键。我本可以设计得有点不同,但我仍然认为它足以用于演示目的。

现在剩下的就是在这些外壳插座中插入 M4 螺母,并将圆形花键和波发生器固定到外壳上。

在这里插入图片描述

就是这样,我们的应变波齿轮或谐波驱动现在已经完成。但是当我完成时,我认为像这样完成齿轮组有点无聊,因为除了缓慢旋转的输出轴,我们什么也看不到。在那里,我决定用丙烯酸代替3D打印的齿轮组盖,这样我们也可以看到里面发生了什么。

我有一个4毫米的滴答亚克力板,所以我在上面标记了盖子的形状,并用手锯粗略地切割了形状。

Making the lid of the Harmonic drive from acrylic

然后使用锉刀,我微调了丙烯酸的形状。我用 3 毫米钻头打孔,用 25 毫米福斯特纳钻头为电机打大孔。最后的形状相当不错。

如前所述,我重新组装了电机和波发生器。我们可以在这里注意到,我在丙烯酸和外壳之间添加了一些螺母,以便像以前盖子一样获得适当的距离。

现在这个齿轮组看起来更酷了。

3D Printed Harmonic Drive with transparent acrylic cover

我将步进电机连接到Arduino,以便可以控制电机速度和方向,以更好地检查和查看系统的工作原理。

所以它来了。现在我们可以看到谐波驱动器在现实生活中是如何工作的。在这种情况下,输出轴比输入轴慢 35 倍。

Harmonic Drive with NEMA 17 Stepper Motor - Is it good for Robotics Applications

在这里,我用红色标记了柔性样条的一个齿,以便我们可以更好地跟踪它并了解柔性样条的运动。老实说,看看这个东西是如何工作的很有趣。

但是,我们注意到柔性样条有时会抖动或运动不那么平滑。这有几个原因。在这种配置中,问题是我手工制作了亚克力电机安装,因此电机没有完美地安装在中心。当使用原始的3D打印电机支架时,运动更加平稳。

我们还可以注意到,我们的谐波驱动器远非零间隙。正如我之前所说,这是因为这些类型的3D打印机的局限性以及它们的打印效果。这不仅关乎牙齿轮廓的打印效果如何,还关乎整体尺寸的准确度。例如,在这里我在亚麻花键的内侧使用了绝缘胶带,只有0.18mm的刻度,有了它,我得到了更好的结果。
在这里插入图片描述

5. 总结

所以,我想,这一切都是为了测试和调整打印以获得更好的结果。我还尝试用 1.75 的模块打印齿轮,但没有得到很好的结果。

Strain Wave Gear or Harmonic Drive with 25 to 1 reduction ratio

实际上,当使用原始的3D打印盖子时,运动更流畅,但仍然不够好。

我还尝试举起一些重量。在25厘米的距离处,它能够举起1.25公斤。扭矩约为 3Nm,至少是 NEMA 10 步进电机额定扭矩的 17 倍。

Lifting weights with the 3D Printed Harmonic Drive for testing the gained torque

所以这几乎就是这个视频的全部内容。我只想补充一点,这种传动系统可以很容易地设计成空心轴,这对于机器人应用非常方便。因此,在制作一些机器人项目时,我可能会在以后的一些视频中使用谐波驱动器。

我希望您喜欢这个视频并学到一些新东西。不要忘记订阅,有关更多教程和项目,

翻译地址:https://howtomechatronics.com/how-it-works/what-is-strain-wave-gear-harmonic-drive-a-perfect-gear-set-for-robotics-applications/
视频地址:https://youtu.be/xlnNj9F37MA

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/865026.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

关于使用 heatmap.js创建热力图并应用在cesuim上的坐标定位问题

废话少说&#xff0c;heatmap.js的用法我不在赘述&#xff0c;此文主要解决其热力点坐标定位在cesuim上的问题。 热力图容器 我们知道&#xff0c;热力图需要用有一个容器节点来存放它生成的图片&#xff1a;<div class"div-heatMap"></div> 而其中容器…

【ElasticSearch入门】

目录 1.ElasticSearch的简介 2.用数据库实现搜素的功能 3.ES的核心概念 3.1 NRT(Near Realtime)近实时 3.2 cluster集群&#xff0c;ES是一个分布式的系统 3.3 Node节点&#xff0c;就是集群中的一台服务器 3.4 index 索引&#xff08;索引库&#xff09; 3.5 type类型 3.6 doc…

360安全卫士右下角广告弹窗太多怎么彻底关闭?

360安全卫士右下角广告弹窗太多怎么彻底关闭&#xff1f; 1、卸载360安全卫士&#xff0c;选择继续卸载&#xff0c;并点击下一步&#xff1b; 2、选择广告弹窗太多&#xff0c;并点击下一步&#xff1b; 3、然后被告知升级极速版永久去广告&#xff0c;可以点击一键去广告。 …

全网超全,接口自动化测试-动态数据生成/替换数据(实战应用)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 接口自动化过程中…

拂袖一挥,zipfile秒列zip包内容

使用wxpython列出文件夹中的zip文件及内容 最近在做一个文件管理的小工具,需要列出选择的文件夹下的所有zip压缩文件,并在点击某个zip文件时能够显示其中的内容。为此我使用了wxpython来实现这个功能。 1. 导入需要的模块 首先导入程序需要的模块: import wx import os imp…

【C++面向对象】--- 继承 的奥秘(上篇)

个人主页&#xff1a;平行线也会相交&#x1f4aa; 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 平行线也会相交 原创 收录于专栏【C之路】&#x1f48c; 本专栏旨在记录C的学习路线&#xff0c;望对大家有所帮助&#x1f647;‍ 希望我们一起努力、成长&…

git强推覆盖其他项目分支

git强推分支&#xff0c;覆盖其他分支&#xff1b; 操作&#xff1a; 下载branch-1.3代码&#xff1b; $ git clone gitlabgitlab.zte.net:zte-dba-service/branch.git $ git remote add origin2 gitlabgitlab.zte.net:zte-service/branch.git $ git push origin2 master -f注…

UE 5 GAS 在项目中处理AttributeSet相关

这一篇文章是个人的实战经验记录&#xff0c;如果对基础性的内容不了解的&#xff0c;可以看我前面一篇文章对基础的概念以及内容的讲解。 设置AttributeSet 使用GAS之前&#xff0c;首先需要设置参数集AS&#xff0c;这个是用于同步的一些参数&#xff0c;至于如何设置GAS&a…

腾讯云Linux服务器创建、使用和配置的教程

腾讯云Linux服务器创建&#xff0c;先注册腾讯云账号&#xff0c;购买云服务器配置然后选择Linux镜像操作系统&#xff0c;包括云服务器地域、CVM实例、公网IP等配置&#xff0c;然后远程链接到腾讯云服务器快速配置使用教程&#xff1a; 目录 腾讯云Linux服务器创建 创建Li…

远程控制医疗行业应用解析:如何满足医院合规需求?

远程控制医疗行业应用解析&#xff1a;如何满足医院合规需求&#xff1f; 作为一个起源于IT行业的技术&#xff0c;以远程桌面为基础的远程控制技术目前在医疗领域也已经有了比较广阔的应用前景&#xff0c;尤其是在医疗数字化系统/设备的远程运维场景&#xff0c;已经有了一些…

Spring Profile与PropertyPlaceholderConfigurer实现项目多环境配置切换

最近考虑项目在不同环境下配置的切换&#xff0c;使用profile注解搭配PropertyPlaceholderConfigurer实现对配置文件的切换&#xff0c;简单写了个demo记录下实现。 基本知识介绍 Profile Profile通过对bean进行修饰&#xff0c;来限定spring在bean管理时的初始化情况&#…

K8S调度

K8S调度 一、List-Watch 机制 controller-manager、scheduler、kubelet 通过 List-Watch 机制监听 apiserver 发出的事件&#xff0c;apiserver 通过 List-Watch 机制监听 etcd 发出的事件1.scheduler 的调度策略 预选策略/预算策略&#xff1a;通过调度算法过滤掉不满足条件…

CH344Q/L USB转四串口芯片资料下载(合集)

1、产品手册 CH344DS1.PDF - 南京沁恒微电子股份有限公司CH344技术手册&#xff0c;USB转4串口芯片&#xff0c;支持最高6M波特率与硬件流控&#xff0c;支持USB配置功能&#xff0c;提供RS485方向控制与GPIO等信号引脚&#xff0c;可实现PC等平台扩展多串口或多个串口设备升级…

多维时序 | MATLAB实现ZOA-CNN-BiGRU-Attention多变量时间序列预测

多维时序 | MATLAB实现ZOA-CNN-BiGRU-Attention多变量时间序列预测 目录 多维时序 | MATLAB实现ZOA-CNN-BiGRU-Attention多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 1.Matlab基于ZOA-CNN-BiGRU-Attention斑马优化卷积双向门控循环单元网络…

ARTS 挑战打卡的第7天 --- Ubuntu中的WindTerm如何设置成中文,并且关闭shell中Tab键声音(Tips)

前言 &#xff08;1&#xff09;Windterm是一个非常优秀的终端神器。关于他的下载我就不多说了&#xff0c;网上很多。今天我就分享一个国内目前没有找到的这方面的资料——Ubuntu中的WindTerm如何设置成中文&#xff0c;并且关闭shell中Tab键声音。 将WindTerm设置成中文 &…

Markdown的简单语法学习

简单掌握Markdown语法&#xff1a; 1、标题&#xff1a; 如果一段文字被定义为标题&#xff0c;只要在这段文字前面加#即可。 # 一级标题 ## 二级标题 ### 三级标题 2、列表&#xff1a; 列表分有序列表和无序列表&#xff1a; ###### 无序列表 * 1 * 2 * 3- 1 - 2 - 3#####…

echarts饼图例子

效果 代码&#xff1a;index。vue <div class"riskStatisticsBox"><div class"titleBox">风险统计</div><div class"contentBox"><div class"selectGroupBox"><div class"categoryBox">…

Vc - Qt - 绘制窗口背景色

要在Qt中绘制一个背景颜色&#xff0c;你可以使用Qt的绘图功能来完成。下面是一种简单的方法&#xff1a; 步骤1&#xff1a;在你想要绘制背景颜色的QWidget&#xff08;例如QMainWindow或QDialog&#xff09;的派生类中&#xff0c;重写 它的paintEvent函数。步骤2&#xff1a…

模拟信号和数字信号的转换

此文章介绍的模拟信号与数字信号转换相关的知识有如下&#xff1a; 通信原理的PCM脉冲编码调制 数字电子技术的A/D与D/A 以及stm32的ADC与DAC 模拟信号是指-----时间和数值均连续变化的电信号&#xff0c;如正弦波、三角波等。 数字信号是指-----在时间上和数值上均是离散的…

antv l7每次刷新无法加载iconFont

如图&#xff0c;只渲染出了文本&#xff0c;未渲染出iconFont 但是如果我跳转到其他页面再跳转回来(未经过刷新时)&#xff0c;可以展示出iconFont 解决&#xff1a; 查看官方源码后 找到了iconfont.tsx文件 可以看到多了一步font loaded&#xff0c; 放到项目中后再次测试&…