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

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

  • 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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

第五次作业 运维高级 构建 LVS-DR 集群和配置nginx负载均衡

1、基于 CentOS 7 构建 LVS-DR 群集。 LVS-DR模式工作原理 首先&#xff0c;来自客户端计算机CIP的请求被发送到Director的VIP。然后Director使用相同的VIP目的IP地址将请求发送到集群节点或真实服务器。然后&#xff0c;集群某个节点将回复该数据包&#xff0c;并将该数据包…

ResUNet原理与实现

简述 ResNet是一种非常成功的深度卷积神经网络结构&#xff0c;其具有较强的特征表达能力和较浅的网络深度&#xff0c;使得其在图像分类等任务中表现出了出色的性能。因此&#xff0c;将ResNet作为encoder替换U-Net原始结构&#xff0c;可以使U-Net在图像分割任务中获得更好的…

python爬虫实战(1)--爬取新闻数据

想要每天看到新闻数据又不想占用太多时间去整理&#xff0c;萌生自己抓取新闻网站的想法。 1. 准备工作 使用python语言可以快速实现&#xff0c;调用BeautifulSoup包里面的方法 安装BeautifulSoup pip install BeautifulSoup完成以后引入项目 2. 开发 定义请求头&#xf…

【Windows】Windows开机密码重置

文章目录 前言一、问题描述二、操作步骤2.1 安装DaBaiCai_d14_v6.0_2207_Online.exe2.2 插入U盘2.3 打开大白菜&#xff0c;点击“一键制作USB启动盘”2.4 等待进度条走完2.5 重启电脑&#xff0c;开机按“F12”或者“F8”&#xff08;具体百度一下&#xff0c;对应品牌电脑开机…

Java 成功实现通过网址URL截图保存

Java 实现通过网址URL截图 1.DjNativeSwing方式 &#xff08;不好用&#xff09;2.phantomjs方式 &#xff08;截图还是有瑕疵&#xff09;3.selenium方式 &#xff08;满意&#xff0c;成功实现&#xff09;maven 引入下载相关浏览器chrome下载相关浏览器chromedriver驱动后端…

代码随想录算法训练营第53天|动态规划part11|123. 买卖股票的最佳时机 III、188.买卖股票的最佳时机IV

代码随想录算法训练营第53天&#xff5c;动态规划part11&#xff5c;123. 买卖股票的最佳时机 III、 188.买卖股票的最佳时机IV 123. 买卖股票的最佳时机 III 123. 买卖股票的最佳时机 III 思路&#xff1a; 相比买股票的最佳时机II&#xff0c;限制了买股票的次数&#xf…

Oracle 开发篇+Java调用OJDBC访问Oracle数据库

标签&#xff1a;JAVA语言、Oracle数据库、Java访问Oracle数据库释义&#xff1a;OJDBC是Oracle公司提供的Java数据库连接驱动程序 ★ 实验环境 ※ Oracle 19c ※ OJDBC8 ※ JDK 8 ★ Java代码案例 package PAC_001; import java.sql.Connection; import java.sql.ResultSet…

gitblit windows部署

1.官网下载 往死慢&#xff0c;我是从百度找的1.9.1&#xff0c;几乎就是最新版 http://www.gitblit.com/ 2.解压 下载下来是一个zip压缩包&#xff0c;直接解压即可 3.配置 3.1.配置资源库路径 找到data文件下的gitblit.properties文件&#xff0c;用Notepad打开 **注意路…

Android Ble蓝牙App(三)特性和属性

Ble蓝牙App&#xff08;三&#xff09;特性使用 前言正文一、获取属性列表二、属性适配器三、获取特性名称四、特性适配器五、加载特性六、显示特性和属性七、源码 前言 在上一篇中我们完成了连接和发现服务两个动作&#xff0c;那么再发现服务之后要做什么呢&#xff1f;发现服…

【二】数据库系统

数据库系统的分层抽象DBMS 数据的三个层次从 数据 到 数据的结构----模式数据库系统的三级模式&#xff08;三级视图&#xff09;数据库系统的两层映像数据库系统的两个独立性数据库系统的标准结构 数据模型从 模式 到 模式的结构----数据模型三大经典数据模型 数据库的演变与发…

windows使用/服务(13)戴尔电脑怎么设置通电自动开机

戴尔pc机器通电自启动 1、将主机显示器键盘鼠标连接好后&#xff0c;按主机电源键开机 2、在开机过程中按键盘"F12",进入如下界面&#xff0c;选择“BIOS SETUP” 3、选择“Power Management” 4、选择“AC Recovery”&#xff0c;点选“Power On”&#xff0c;点击“…

uniapp 格式化时间刚刚,几分钟前,几小时前,几天前…

效果如图&#xff1a; 根目录下新建utils文件夹&#xff0c;文件夹下新增js文件&#xff0c;文件内容&#xff1a; export const filters {dateTimeSub(data) {if (data undefined) {return;}// 传进来的data必须是日期格式&#xff0c;不能是时间戳//将字符串转换成时间格式…

使用 prometheus client SDK 暴露指标

目录 1. 使用 prometheus client SDK 暴露指标1.1. How Go exposition works1.2. Adding your own metrics1.3. Other Go client features 2. Golang Application monitoring using Prometheus2.1. Metrics and Labels2.2. Metrics Types2.2.1. Counters:2.2.2. Gauges:2.2.3. …

Python测试框架pytest:常用参数、查找子集、参数化、跳过

Pytest是一个基于python的测试框架&#xff0c;用于编写和执行测试代码。pytest主要用于API测试&#xff0c;可以编写代码来测试API、数据库、UI等。 pytest是一个非常成熟的全功能的Python测试框架&#xff0c;主要有以下几个优点&#xff1a; 简单灵活&#xff0c;容易上手。…

前端渲染数据

在前端对接受后端数据处理后返回的接收值的时候&#xff0c;为了解决数据过于庞大&#xff0c;而对数据进行简化处理例如性别&#xff0c;经常会使用1&#xff0c; 0这俩个来代替文字的男&#xff0c;女。以下就是前端渲染的具体实现。 以下是部分代码 <el-table-columnpr…

【MFC】10.MFC六大机制:RTTI(运行时类型识别),动态创建机制,窗口切分,子类化-笔记

运行时类信息&#xff08;RTTI&#xff09; C: ##是拼接 #是替换成字符串 // RTTI.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 // #include <iostream> #include <afxwin.h>#ifdef _DEBUG #define new DEBUG_NEW #endifCWinApp th…

ubuntu 安装 nvidia 驱动

ubuntu 安装 nvidia 驱动 初环境与设备查询型号查询对应的驱动版本安装驱动验证驱动安装结果 本篇文章将介绍ubuntu 安装 nvidia 驱动 初 希望能写一些简单的教程和案例分享给需要的人 环境与设备 系统&#xff1a;ubuntu 设备&#xff1a;Nvidia GeForce RTX 4090 查询型…

Tcp是怎样进行可靠准确的传输数据包的?

概述 很多时候&#xff0c;我们都在说Tcp协议&#xff0c;Tcp协议解决了什么问题&#xff0c;在实际工作中有什么具体的意义&#xff0c;想到了这些我想你的技术会更有所提升&#xff0c;Tcp协议是程序员编程中的最重要的一块基石&#xff0c;Tcp是怎样进行可靠准确的传输数据…

web-ssrf

目录 ssrf介绍 以pikachu靶场为例 curl 访问外网链接 利用file协议查看本地文件 利用dict协议扫描内网主机开放端口 file_get_content 利用file协议查看本地文件&#xff1a; fsockopen() 防御方式: ssrf介绍 服务器端请求伪造&#xff0c;是一种由攻击者构造形成…

CSP复习每日一题(四)

树的重心 给定一颗树&#xff0c;树中包含 n n n 个结点&#xff08;编号 1 ∼ n 1∼n 1∼n&#xff09;和 n − 1 n−1 n−1条无向边。请你找到树的重心&#xff0c;并输出将重心删除后&#xff0c;剩余各个连通块中点数的最大值。 重心定义&#xff1a; 重心是指树中的一…