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

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

  • 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;测试驱动开发是一种开…

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

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

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

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

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

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

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 …

写给 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;可以…

Kuebernetes资源控制管理

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

第十六次CCF计算机软件能力认证

第一题&#xff1a;小中大 在数据分析中&#xff0c;最小值最大值以及中位数是常用的统计信息。 老师给了你 n 个整数组成的测量数据&#xff0c;保证有序&#xff08;可能为升序或降序)&#xff0c;可能存在重复的数据。 请统计出这组测量数据中的最大值、中位数以及最小值&am…

Mysql SUBSTRING_INDEX - 按分隔符截取字符串

作用&#xff1a; 按分隔符截取字符串 语法&#xff1a; SUBSTRING_INDEX(str, delimiter, count) 属性&#xff1a; 参数说明str必需的。一个字符串。delimiter必需的。分隔符定义&#xff0c;是大小写敏感&#xff0c;且是多字节安全的count必须的。大于0或者小于0的数值…

最强的表格组件—AG Grid使用以及License Key Crack

PS: 想要官方 License Key翻到最后面 Ag Grid简介 Ag-Grid 是一个高级数据网格&#xff0c;适用于JavaScript/TypeScript应用程序&#xff0c;可以使用React、Angular和Vue等流行框架进行集成。它是一种功能强大、灵活且具有高度可定制性的表格解决方案&#xff0c;提供了丰富…

2005-2020年280个地级市绿色全要素生产率测算原始数据

2005-2020年280个地级市绿色全要素生产率测算原始数据 1、时间&#xff1a;2005-2020年 2、来源&#xff1a;中国城市统计年鉴、中国区域统计年鉴、中国能源年鉴、中国环境年鉴等 3、范围&#xff1a;280个地级市 4、指标&#xff1a;年末单位从业人员数、规模以上工业企业…

React(5)

1.受控组件案例 1.1之前的影院案例改写 import React, { Component } from react import axios from axios import BetterScroll from better-scroll import ./css/02_tab.cssexport default class Cinema extends Component {constructor() {super();this.state {cinemaLis…

【Docker晋升记】No.1--- Docker工具核心组件构成(镜像、容器、仓库)及性能属性

文章目录 前言&#x1f31f;一、Docker工具&#x1f31f;二、Docker 引擎&#x1f30f;2.1.容器管理&#xff1a;&#x1f30f;2.2.镜像管理&#xff1a;&#x1f30f;2.3.资源管理&#xff1a;&#x1f30f;2.4.网络管理&#xff1a;&#x1f30f;2.5.存储管理&#xff1a;&am…

时序预测 | MATLAB实现BO-LSTM贝叶斯优化长短期记忆神经网络时间序列预测

时序预测 | MATLAB实现BO-LSTM贝叶斯优化长短期记忆神经网络时间序列预测 目录 时序预测 | MATLAB实现BO-LSTM贝叶斯优化长短期记忆神经网络时间序列预测效果一览基本介绍模型搭建程序设计参考资料 效果一览 基本介绍 MATLAB实现BO-LSTM贝叶斯优化长短期记忆神经网络时间序列预…

10. Docker Swarm(一)

目录 1、前言 2、Docker Swarm体系架构 2.1、简单介绍 2.2、体系架构 3、简单使用 3.1、环境准备 3.2、初始化master节点 3.3、建立worker节点 3.4、查看集群的节点信息 3.5、部署应用 3.5.1、创建Dockerfile文件 3.5.2、构建镜像 3.5.3、将镜像上传到Docker仓库 …

Node 使用 MySQL

1、安装驱动 使用 npm 进行安装 mysql $ npm install mysql 2、连接数据库 在以下实例中根据你的实际配置修改数据库用户名、及密码及数据库名&#xff1a; test.js 文件 var mysql require(mysql); var connection mysql.createConnection({host : localhost…

JavaFx异常: Not on FX application thread; currentThread = Timer-0

我的定时器任务中有两个控件&#xff1a; FXML TextArea Display; FXML Label Label_Display; 执行下方代码会抛出&#xff1a;Exception in thread "Timer-0" java.lang.IllegalStateException: Not on FX application thread; currentThread Timer-0 Timer_tas…

自动化更新导致的各种问题解决办法

由于最近自动化频频更新导致出现各种问题&#xff0c;因此在创建驱动对象代码时改成这种方式 我最近就遇到了由于更新而导致的代码报错&#xff0c;报错信息如下&#xff1a; 复制内容如下&#xff1a; Exception in thread “main” org.openqa.selenium.remote.http.Connecti…