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

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

  • 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.mzph.cn/news/32179.shtml

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

相关文章

2023软件测试岗必问的100个面试题【含答案】

一、测试理论 1.什么是软件测试&#xff1f; 答&#xff1a;软件测试是通过执行预定的步骤和使用指定的数据&#xff0c;以确定软件系统在特定条件下是否满足预期的行为。 2.测试驱动开发&#xff08;TDD&#xff09;是什么&#xff1f; 答&#xff1a;测试驱动开发是一种开…

【vue3】前端应用中使用WebSocket与服务器进行通信并管理连接状态。

1、写一个hook函数 export const useWebsocketToStore ({ onMessage }): any > {const url ws:地址 Math.random()const onConnected () > {}const onDisconnected () > {}const onError () > {}const onMessageDefault (ws: WebSocket, event: MessageEve…

并发编程注意事项

一、上下文切换问题 大量 线 程 竞 争 锁时 &#xff0c;会引起CPU频繁的上下文切 换。、 解决方法&#xff1a; 1.使用无锁算法&#xff0c;例如CAS 2.将处理的数据细粒度化&#xff0c;减少锁竞争&#xff0c;例如Mysql的页锁&#xff0c;行锁 3.避免创建大量线程&#xff0c…

小程序学习笔记之三:小程序框架

前言 参考文档&#xff1a;微信开放文档 1. 注册小程序 每个小程序都需要在 app.js 中调用 App 方法注册小程序实例&#xff0c;绑定生命周期回调函数、错误监听和页面不存在监听函数等。 // app.js App({onLaunch(options) {// Do something initial when launch.},onShow…

C语言刷题------(2)

C语言刷题——————&#xff08;2&#xff09; 刷题网站&#xff1a;题库 - 蓝桥云课 (lanqiao.cn) First Question&#xff1a;时间显示 题目描述 小蓝要和朋友合作开发一个时间显示的网站。 在服务器上&#xff0c;朋友已经获取了当前的时间&#xff0c;用一个整数表…

【Spring】基于xml文件和注解方式的自动装配

自动装配&#xff1a;根据指定的策略&#xff0c;在IOC容器中匹配某个bean&#xff0c;自动为bean中的类类型属性或接口类型的属性赋值&#xff0c;可以通过bean标签中的autowire属性设置自动装配的策略。 一、基于xml文件 一个类型的bean在IOC容器中只出现一次&#xff0c;默…

虚拟机安装国产操作系统的方法

1.这里以银河麒麟为例&#xff0c;其他以liunx为基础的国产操作系统都是一样的方法。 2.下载操作系统如下&#xff08;选第一个就行&#xff09;&#xff1a; 任选其一下载&#xff1a; 3.安装虚拟机软件(这里以virtualbox为例&#xff0c;vmare也是一样都可以) 4.打开虚拟机…

(十)人工智能应用--深度学习原理与实战--模型的保存与加载使用

目的:将训练好的模型保存为文件,下次使用时直接加载即可,不必重复建模训练。 神经网络模型训练好之后,可以保存为文件以持久存储,这样下次使用时就不重新建模训练,直接加载就可以。TensorfLow提供了灵活的模型保存方案,既可以同时保存网络结构和权重(即保存全模型),也可…

SpringBoot 事务回滚注意事项

参考资料 导致 Spring 事务失效常见的几种情况SpringBoot2异常处理回滚事务详解(自动回滚/手动回滚/部分回滚&#xff09;Spring&#xff0c;为内部方法新起一个事务&#xff0c;此处应有坑。PlatformTransactionManagerSpring 事务管理及失效总结我认真总结并分析了 Spring 事…

《入门级-Cocos2dx4.0 塔防游戏开发》---第五课:欢迎界面开发(三、事件响应)

目录 一、开发环境介绍 二、开发内容 2.1 开始按钮的事件处理 2.2 背景音乐和背景音效事件处理

YoloV8优化:感受野注意力卷积运算(RFAConv),效果秒杀CBAM和CA等 | 即插即用系列

💡💡💡本文改进:感受野注意力卷积运算(RFAConv),解决卷积块注意力模块(CBAM)和协调注意力模块(CA)只关注空间特征,不能完全解决卷积核参数共享的问题 RFAConv| 亲测在多个数据集能够实现大幅涨点,有的数据集达到3个点以上 💡💡💡Yolov8魔术师,独家首…

LLM - Transformer LLaMA2 结构分析与 LoRA 详解

目录 一.引言 二.图说 LLM 1.Transformer 结构 ◆ Input、Output Embedding ◆ PositionEmbedding ◆ Multi-Head-Attention ◆ ADD & Norm ◆ Feed Forward ◆ Linear & Softmax 2.不同 LLM 结构 ◆ Encoder-Only ◆ Encoder-Decoder ◆ Decoder-Only …

CSS文本裁剪

对于单行文本裁剪&#xff1a; span {text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block; } 对于多行文本裁剪&#xff1a; 在文本容器上定义 CSS Flexbox 属性 display: -webkit-box; 定义要显示的文本行数 -webkit-line-clamp: 4; 添加 -webkit-…

实现缓存el-table分页大小,用户新建标签打开该页面需保持分页大小(考虑是否为嵌入式页面)

需求&#xff1a;每个表格的分页大小 以本地缓存的方式存到浏览器本地&#xff0c;然后用户下次打开的时候 获取这个本地存储的值 如果没有就用页面默认的值&#xff0c;如果有 则先判断是不是有效的(是) 无效用默认 有效就用这个缓存值,需要区分是否为嵌入式页面 分析&#xf…

写给 Android 应用工程师的 Binder 原理剖析

一. 前言 这篇文章我酝酿了很久&#xff0c;参考了很多学习文档&#xff0c;读了很多源码&#xff0c;却依旧不敢下笔。生怕自己理解上还有偏差&#xff0c;对大家造成误解&#xff0c;贻笑大方。又怕自己理解不够透彻&#xff0c;无法用清晰直白的文字准确的表达出 Binder 的…

机器学习——卷积神经网络基础

卷积神经网络&#xff08;Convolutional Neural Network&#xff1a;CNN&#xff09; 卷积神经网络是人工神经网络的一种&#xff0c;是一种前馈神经网络。最早提出时的灵感来源于人类的神经元。 通俗来讲&#xff0c;其主要的操作就是&#xff1a;接受输入层的输入信息&…

【论文阅读】Deep Instance Segmentation With Automotive Radar Detection Points

基于汽车雷达检测点的深度实例分割 一个区别&#xff1a; automotive radar 汽车雷达 &#xff1a; 分辨率低&#xff0c;点云稀疏&#xff0c;语义上模糊&#xff0c;不适合直接使用用于密集LiDAR点开发的方法 &#xff1b; 返回的物体图像不如LIDAR精确&#xff0c;可以…

leetcode做题笔记65

有效数字&#xff08;按顺序&#xff09;可以分成以下几个部分&#xff1a; 一个 小数 或者 整数&#xff08;可选&#xff09;一个 e 或 E &#xff0c;后面跟着一个 整数 小数&#xff08;按顺序&#xff09;可以分成以下几个部分&#xff1a; &#xff08;可选&#xff0…

Golang 中的交叉编译详解

Golang 中的交叉编译 在 Golang 中&#xff0c;交叉编译指的是在同一台机器上生成针对不同操作系统或硬件架构的二进制文件。这在开发跨平台应用或构建特定平台的发布版本时非常有用。 交叉编译 Golang 程序的基本步骤如下&#xff1a; 指定目标操作系统和工具链并设置对应的…

Kuebernetes资源控制管理

第四阶段 时 间&#xff1a;2023年8月11日 参加人&#xff1a;全班人员 内 容&#xff1a; Kuebernetes资源控制管理 目录 Kubectl命令工具 一、kubectl 命令行的语法 二、kubectl命令列表 三、使用 Kubectl 工具容器资源 &#xff08;一&#xff09;创建Pod &…