亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

斯卡拉机器人 |如何构建自己的基于 Arduino 的机器人

在本教程中,我们将学习如何构建基于 Arduino 的 SCARA 机器人。我将向您展示构建它的整个过程,从设计机器人到开发我们自己的图形用户界面来控制它。

您可以观看以下视频或阅读下面的书面教程。

概览

该机器人有 4 个自由度,由 4 个 NEMA 17 步进电机驱动。此外,在这种情况下,它还有一个小型伺服电机,用于控制末端执行器或机器人夹持器。这款 SCARA 机器人的大脑是一块 Arduino UNO 板,搭配一个 CNC 防护罩和四个用于控制电机的 A4988 步进驱动器。

使用 Processing 开发环境,我制作了一个图形用户界面,它具有正向和反向运动学控制。借助 Forward Kinematics,我们可以手动移动每个机器人关节以获得所需的位置。使用左侧的滑块,我们可以设置每个关节的角度。末端执行器的最终位置,X、Y、Z值计算并打印在屏幕右侧。

另一方面,使用逆运动学我们可以设置末端执行器的所需位置,程序将自动计算每个关节的角度,以使机器人到达所需的位置。

实际上,我以一种我们可以在同一个屏幕上同时使用这两种方法的方式制作了这个程序。关节的角度以及末端执行器的 X、Y 和 Z 值是相互关联的,并且始终呈现在屏幕上。

当然,机器人也可以自动运行。使用程序上的“保存”按钮,我们可以保存机器人的每个动作或位置。然后,当我们按下“运行”按钮时,机器人将循环执行存储的动作,从第一个到最后一个,一遍又一遍。我们还可以从用户界面调整移动速度和加速度。

SCARA 机器人 3D 模型

首先,让我们看一下 3D 模型。

我使用 3DEXPERIENCE SOLIDWORKS 设计了这个 SCARA 机器人,这也是该视频的赞助商。

3 3DEXPERIENCE SOLIDWORKS 基本上是具有云功能的 SOLIDWORKS,我们通过 3DEXPERIENCE 平台获得了这些功能。一切都通过云进行,因此您或您团队中的任何人都可以随时随地访问数据或模型。 3DEXPERIECE 平台还包括许多有用的生产力和管理应用程序。

例如,Project Planer 是组织任务、设置截止日期和跟踪进度的好方法。借助 3D Markup 应用,您可以从任何设备(如笔记本电脑、平板电脑甚至智能手机)查看、探索和记录模型。

还有一个单独的、基于云的 3D 建模器,称为 SOLIDWORKS xDesign,它在您的浏览器中运行。它可以与 Solidworks 结合使用,也可以单独使用,非常适合随时随地在任何设备上进行建模。

所以,非常感谢 Solidworks 赞助这样的教育内容。如果您想知道 SOLIDWORKS 和 3DEXPERIENCE 平台是否适合您,请查看以下链接。

通过我的特殊链接免费试用 3DEXPERIENCE:www.solidworks.com/HTMTryNow

了解有关 3DEXPERIENCE SOLIDWORKS 的更多信息:www.solidworks.com/HTMLearnMore

好的,让我们回到模型并解释我是如何想到这个设计的。我对机器人的目标是要 3D 打印大部分零件。因此,您在此处看到的所有内容都可以在具有较小打印床的 3D 打印机上进行 3D 打印。 GT2 滑轮也可 3D 打印。我使用参数化设计来制作它们,因此如果需要,我们可以轻松更改它们的尺寸。我们只需要改变齿数,所有尺寸都会自动更新以使皮带轮尺寸合适。

对于第一个接头,我们有 20:1 的减速比,通过这些定制设计的滑轮分两个阶段实现。我在这里使用的两条 GT2 皮带是闭环的,长度分别为 200 毫米和 300 毫米。机器人关节由两个推力轴承和一个径向轴承组成。

对于第二个关节,我们有 16:1 的减速比,以相同的方式实现,而第三个关节的减速比为 4:1,只需一级减速。接头是空心的,所以我们可以用它来穿过电机和微动开关的电线。对于每条皮带,都有插槽,我们可以在上面安装惰轮以张紧它们。

机器人夹爪由MG996R伺服电机驱动,我们可以轻松更换夹爪末端以实现不同的夹爪尺寸。机器人的 Z 轴由 8mm 丝杠驱动,而整个臂组件在四个 10mm 光杆和线性滚珠轴承上滑动。机器人的高度仅取决于光滑杆的长度,在本例中为 40 厘米。丝杠需要短 2 厘米才能适合​​这种配置,否则,可以使用间隔螺母将 Z 电机升高 2 厘米。

您可以找到并下载此 3D 模型,也可以在 Thangs 上的浏览​​器中进行探索:

在 Thangs 下载装配 3D 模型。

用于 3D 打印的 STL 文件:

3D 打印机器人零件

好的,所以我们可以继续 3D 打印零件。我使用我的 Creality CR-10 3D 打印机打印所有部件,这是一款非常棒的 3D 打印机,价格实惠。正如我所提到的,这些部件也设计用于安装在较小的 3D 打印机上,例如 Ender3。

对于大多数零件,我使用 PLA+ 材料,蓝色的,以及用于滑轮和夹具的普通 PLA。我花了大约 120 小时以 60 毫米/秒的打印速度打印所有零件。底座是打印的最大部分,大约需要 32 小时。但是,如果我们提高打印速度,我们肯定可以更快地打印零件。

另请参阅:适合初学者和创客的最佳 3D 打印机 [2021 年更新]

这是所有的 3D 打印零件。

这里只是一个简短的说明,我在切片软件中启用了 –0.1mm 的水平扩展来打印所有这些。这使零件具有更精确的尺寸,并与轴承、杆和螺栓等其他机械零件更好地配合。

组装机器人

这是组装这个基于 Arduino 的 SCARA 机器人所需的组件列表。电子元件列表可以在文章的电路图部分找到。

  • 4x 光杆轴 – 10mm 400mm……亚马逊棒棒哒 /速卖通
  • 1x 丝杠 – 8mm 400mm ……………………亚马逊棒棒哒 /速卖通
  • 4x 直线轴承 10mm …………………..……. 亚马逊棒棒哒 /速卖通
  • 1x 推力球轴承 40x60x13mm                                                                                      ... /速卖通
  • 2x 推力球轴承 35x52x12mm                                                                                      ... /速卖通
  • 5x 向心球轴承 8x22x7mm ……………. 亚马逊棒棒哒 /速卖通
  • 各种长度的 M3、M4 和 M5 螺栓和螺母

以下是该项目所需的螺栓尺寸:

我们从基地开始组装。这里首先插入一个内径为 35mm、外径为 47mm 的向心球轴承。

然后是第一个内径为 40 毫米,外径为 60 毫米的推力轴承。该轴承将位于滑轮和底座之间。

在底座的另一侧,我们使用另一个相同尺寸的推力轴承和联轴器。

然后我们可以使用四个长度为 55mm 的 M4 螺栓将皮带轮和上部连接起来。我们这里需要使用自锁螺母,并适当拧紧,这样接头既坚固又能自由转动。

接下来,我们需要安装中间滑轮。该滑轮与带有 300mm GT2 皮带的联合滑轮配对。为了安装这个滑轮,我们使用了两个 608 滚珠轴承,一个在顶部,另一个在底座的底部。然后使用 45mm M8 螺栓、垫圈和自锁螺母,我们可以将皮带轮固定到位。

接下来,我们需要为这个关节安装步进电机。步进器将与带有 200 毫米皮带的中间滑轮配对。为了将其固定到底座上,我们需要四个 M3 螺栓。

在拧紧螺栓之前,我们需要尽可能多地拉伸皮带。这里只是一个简短的说明,我实际上将中间皮带轮的 M8 螺栓替换为底部的头部,以便它可以安装在底座内。

此时,我们应该检查皮带是否足够紧。如果没有,我们可以使用一些惰轮来更好地拧紧它们。这里我使用了一个 35mm M5 螺栓和一些螺母来制作张紧轮。

它可以安装在皮带两侧的插槽上,因此我们可以随意拉紧皮带。我最终收紧了两边的皮带。至此,第一个关节就完成了。

我继续为这个关节安装微动开关。在将其固定到位之前,我已经将电线焊接到它上面,因为之后这样做有点紧。我们需要一个 20mm M3 螺栓和一个螺母来将微动开关固定到位。

接头耦合器如此靠近开关,我最终只使用一个螺栓来固定开关。在另一个孔上,我只是插入了一个较短的螺栓并将其粘在底部。这样交换机就足够安全,可以正常工作了。

好的,接下来我们可以开始组装Z轴了。首先,我们需要在关节耦合器的顶部固定Z轴底板部分。

在它上面,我们可以固定四个夹子,用于光滑杆。然后我们可以将光滑的杆插入到位。它们应该紧密贴合并一直向下连接到接头耦合器部分。我们可以用一些 M4 螺栓和螺母用夹子拧紧杆。

此时我们需要插入用于丝杠的轴承。为了完成这一部分,我们只需滑入一个简单的盖子,它会隐藏所有东西并让机器人看起来更干净。

接下来,我们可以继续组装机器人的第一只手臂。手臂将由螺栓连接在一起的两个部分制成。第一部分是我们需要安装直线轴承的地方,直线轴承将滑过光滑的杆。将它们插入到位可能有点困难,因为它们非常紧。

实际上,这取决于您的打印机打印零件的准确度。因此,我建议在打印零件时使用水平扩展功能,并根据您的打印机进行调整。就我而言,我无法安装两个轴承以一直向下,但这没什么大不了的。

好的,现在我们可以将手臂的两个部分配对在一起。为此,我们将使用四个 25mm M5 螺栓。

接下来,我们可以安装第二个步进电机。在这里,我将使用 3D 打印的 20 齿 GT2 滑轮。我使用前面提到的参数化设计制作了这个滑轮,效果很好。这里我们还需要将丝杠螺母固定到位。

接下来,我们可以安装第二个关节的皮带和滑轮。在这里,我们需要一根 400 毫米的皮带和一根 300 毫米长的皮带。安装它们的过程与第一个关节的说明几乎相同。

对于第二个关节和第三个关节,我们实际上使用了比第一个关节更小的轴承。向心球轴承内径30mm,外径42mm,推力轴承内径35mm,外径52mm。

在安装第二个接头之前,我们需要在六角槽中插入六个 20mm M4 螺栓。

它们将用于将第二个臂连接到关节。如果需要,为了张紧皮带,我们可以使用与前面介绍的惰轮相同的方法。最后,我将第二个微动开关固定到位,一号臂组装完成。

我继续将第二个臂连接到接头耦合器上。在这里,我们使用之前安装的接头耦合器中的那些螺栓来固定第二臂的上部。

在这一点上,我想测试关节有多少反冲。当然,我预计皮带会引起一些反弹,但实际上关节的两个部分之间有更多的间隙。我注意到问题在于螺栓所在的孔比螺栓本身略大。为了解决这个问题,我们需要螺栓和孔之间的配合更紧密。

因此,在我的情况下,我使用 4.5 毫米钻头扩大了孔,并使用 M5 螺栓而不是 M4 螺栓将接头的两个部分固定在一起。但是,我更新了 3D 模型,使孔为 3.5 毫米,您可以使用 M4 螺栓将这两个部分连接在一起。我也回到了第一个关节并做了同样的事情。现在关节的间隙几乎消失了,除了我们从皮带得到的小反弹。

好的,现在我们可以继续组装第二个手臂了。这里首先需要安装第三个关节的步进电机。

在这种情况下,我使用的是较小的步进电机,因此手臂会更轻一些。尽管如此,它还是一个 NEMA 17 步进电机,但长度较短,为 24 厘米。

同样,我们为第三个关节安装皮带和皮带轮的程序相同,除了这里我们只使用带有 400 毫米皮带的单级减速器。接下来,在将手臂的下部连接到上部之前,我们需要连接电机和微动开关,并将它们的电线穿过第二个接头。

此时,我们还需要插入末端执行器的电线。在我的例子中,我从步进电机插入了一根 4 线电缆,我将用它来驱动需要 3 根线的夹持器的伺服电机。

接下来,我们需要将 M4 螺母插入上臂的插槽中,用于将下部固定在上臂上。

就在合并它们之前,我们应该将电线穿过那些钩子下面,这样它们就不会远离移动部件。

从第二个接头出来的电线实际上会被滑轮上的螺母卡住,所以我做了一个简单的线夹来固定电线远离螺母。

我们应该将电线安排在手臂的一侧,以避免与运动部件接触。最后,我们可以插入第一个手臂的盖子。

盖子通过卡扣接头固定在臂上。至此,机器人手臂组装完成。

所以接下来,我们可以将整个组件插入到 Z 轴杆上。

然后我们需要准备用于固定杆上端的 Z 轴顶板。这里首先我们可以安装Z轴的微动开关,然后将夹子固定在板上。

在将顶板安装到位之前,我首先插入了一个简单的盖子,就像下面的那个一样,用来隐藏夹子、螺栓和微动开关。然后我们可以使用夹子将顶板插入并拧紧到杆上。

接下来,我们需要将丝杠插入到位。

我的那个有点长,所以我用金属手锯把它切成了38厘米。接下来,我们可以将第四个步进电机安装到位。这里我们需要使用一个 5mm 到 8mm 的联轴器来连接电机和丝杠。

最后,我们可以将电线穿过盖子并使用两个螺栓将其固定在顶板上。

好的,接下来我们可以做一些电缆管理。我使用电缆套管将电线放在一起并清除混乱。为此,我还使用了一些拉链。

在将电线放入电缆套管之前,最好在每根电线上做标记,以免连接错误。

现在剩下的就是制作机器人的末端执行器了。我们实际上可以制造任何类型的末端执行器并将其连接到机器人上。我选择制作一个由 MG996R 伺服电机驱动的简单夹具。夹持器基于两个 6mm 杆,两侧在其上滑动。

两个滑动侧通过伺服喇叭、一些 3D 打印链接和 M3 螺栓和螺母连接到伺服。我为整个夹具组件使用了 M3 螺栓和螺母。实际上,您可以在网站文章中找到该项目所需的螺栓和螺母的完整列表。固定螺栓和螺母的空间非常紧凑,因此您需要一些神经来组装其中的一些部件。

不过,这种设计的好处是我们可以轻松更换夹具末端。它们可以更宽或更窄,或者它们可以具有特定的形状。我们可以使用一些 M4 螺栓和螺母将抓手连接到机械臂上。

最后,我们可以将伺服电机连接到我们之前安装的电线上。

就是这样,我们的 SCARA 机械臂已经完全组装好了。现在剩下的就是连接这个项目的电子元件了。

SCARA 机器人电路图

因此,我们将使用一块 Arduino UNO 板与一个 CNC 扩展板和四个 A4988 步进驱动器结合使用。

虽然它是一个机器人,而且看起来更复杂,但这就是我们这个项目所需的所有电子设备。值得注意的是,除了 Arduino UNO,我们还可以将 Arduino MEGA 与 RAMPS 3D 打印机控制器板结合使用。

尽管如此,我还是为 Arduino UNO 3D 打印了一个外壳,它可以很容易地连接到机器人的底座上。我将使用四分之一步分辨率来驱动步进器,因此我在适当的引脚上放置了一些跳线。现在我们可以将步进电机和微动开关连接到 CNC 屏蔽层了。

这是这个 SCARA 机器人的电路图,以及所有需要如何连接的东西。

您可以通过以下链接获取本项目所需的组件:

  • 步进电机 – NEMA 17………………
  • A4988 步进驱动器……………………..……
  • Arduino CNC 扩展板…………………………。 亚马逊棒棒哒 /速卖通
  • Arduino Uno………………………………..……
  • MG996R伺服电机…………………………..
  • 限位开关……………………………………。 亚马逊棒棒哒 /速卖通
  • 直流电源…………………………. 亚马逊 / 棒棒哒 /速卖通

为机器人供电,我们需要能够提供最小 4A 电流的 12V 电源,但我建议使用 12V 6A 电源。当然,这取决于步进驱动器的电流限制是如何设置的,我建议将其设置为尽可能低的水平。

最后,我挤压了机箱中的所有电线,同时试图让驱动器散热片自由,并为其添加了盖子。

完成组装

SCARA 机器人现在已经完成了,我们现在需要做的是将底座固定在某物上。为此,我将使用 20 毫米刻度的木头。在机器人底座的底部,我们有 12 个孔可用于固定它。所以,我打印了一张机器人底座的图纸,并用它在木头上打洞。

在底部,我将它们埋头,因为我将使用平头螺栓,使它们与木材表面闪光。我将 M4 螺母插入底座插槽,然后将木底座固定到机器人底座上。

现在理想情况下,为了将机器人固定到位,我们可以将它用螺栓固定在桌子上,或者我会简单地使用夹子。

就是这样,我们的 SCARA 机器人现在已经完成了。不过,这个视频剩下的就是看看机器人是如何工作的。

另请参阅:带智能手机控制的 DIY Arduino 机械臂

SCARA 机器人的工作原理

机器人的定位和定向控制有两种方法,一种是正向运动学,一种是反向运动学。

当我们需要从给定的关节角度找到末端执行器的位置和方向时,使用正向运动学。

另一方面,当我们需要找到末端执行器给定位置的关节角度时,使用逆运动学。这种方法在机器人技术中更有意义,因为大多数时候我们希望机器人将其工具定位到特定位置或特定 X、Y 和 Z 坐标。

通过逆运动学,我们可以根据给定的坐标计算关节角度。

我将用于正向和反向运动学的方程来自三角学规则和公式。

SCARA 机器人编程 - Arduino 和处理代码

在文章底部,您可以找到 Arduino 和 Processing 代码。

以下是在 Processing 开发环境中编写的代码中方程式的外观。

// FORWARD KINEMATICS
void forwardKinematics() {
  float theta1F = theta1 * PI / 180;   // degrees to radians
  float theta2F = theta2 * PI / 180;
  xP = round(L1 * cos(theta1F) + L2 * cos(theta1F + theta2F));
  yP = round(L1 * sin(theta1F) + L2 * sin(theta1F + theta2F));
}Code language: Arduino (arduino)

因此,利用正向运动学,我们根据机器人两臂theta1和theta2的设定关节角度以及它们的长度L1和L2计算末端执行器的X和Y值。

另一方面,通过逆运动学,我们根据给定的位置或 X 和 Y 坐标计算关节角度,theta2 和 theta1。

/ INVERSE KINEMATICS
void inverseKinematics(float x, float y) {
  theta2 = acos((sq(x) + sq(y) - sq(L1) - sq(L2)) / (2 * L1 * L2));
  if (x < 0 & y < 0) {
    theta2 = (-1) * theta2;
  }
  
  theta1 = atan(x / y) - atan((L2 * sin(theta2)) / (L1 + L2 * cos(theta2)));
  
  theta2 = (-1) * theta2 * 180 / PI;
  theta1 = theta1 * 180 / PI;

 // Angles adjustment depending in which quadrant the final tool coordinate x,y is
  if (x >= 0 & y >= 0) {       // 1st quadrant
    theta1 = 90 - theta1;
  }
  if (x < 0 & y > 0) {       // 2nd quadrant
    theta1 = 90 - theta1;
  }
  if (x < 0 & y < 0) {       // 3d quadrant
    theta1 = 270 - theta1;
    phi = 270 - theta1 - theta2;
    phi = (-1) * phi;
  }
  if (x > 0 & y < 0) {       // 4th quadrant
    theta1 = -90 - theta1;
  }
  if (x < 0 & y == 0) {
    theta1 = 270 + theta1;
  }
  
  // Calculate "phi" angle so gripper is parallel to the X axis
  phi = 90 + theta1 + theta2;
  phi = (-1) * phi;

  // Angle adjustment depending in which quadrant the final tool coordinate x,y is
  if (x < 0 & y < 0) {       // 3d quadrant
    phi = 270 - theta1 - theta2;
  }
  if (abs(phi) > 165) {
    phi = 180 + phi;
  }

  theta1=round(theta1);
  theta2=round(theta2);
  phi=round(phi);
  
  cp5.getController("j1Slider").setValue(theta1);
  cp5.getController("j2Slider").setValue(theta2);
  cp5.getController("j3Slider").setValue(phi);
  cp5.getController("zSlider").setValue(zP);
}Code language: Arduino (arduino)

根据位置设置在哪个象限,我们使用这些“if”语句对关节角度进行一些调整。对于机器人的这种配置,我们实际上是用两个链接计算逆运动学。我称之为“phi”的第三个角度用于设置夹爪的方向。

图形用户界面是使用处理 IDE 的 controlP5 库制作的。有了这个库,我们可以轻松地创建按钮、滑块、文本字段等。

例如,我们使用左侧的滑块来控制关节角度,并使用文本字段我们可以输入我们希望机器人去的位置。对于我们在程序中执行的每个操作,我们都会通过串口向 Arduino 板发送数据。

if (gripperValuePrevious != gripperValue) {
    if (activeIK == false) {     // Check whether the inverseKinematics mode is active, Executre Forward kinematics only if inverseKinematics mode is off or false
      gripperAdd = round(cp5.getController("gripperValue").getValue());
      gripperValue=gripperAdd+50;
      updateData();
      println(data);
      myPort.write(data);
    }
  }Code language: Arduino (arduino)

这些数据包括关节角度、夹持器值、速度和加速度值,以及用于了解我们是否点击了保存或运行按钮的指标。

public void updateData() {
  data = str(saveStatus)
    +","+str(runStatus)
    +","+str(round(cp5.getController("j1Slider").getValue())) 
    +","+str(round(cp5.getController("j2Slider").getValue()))
    +","+str(round(cp5.getController("j3Slider").getValue()))
    +","+str(round(cp5.getController("zSlider").getValue()))
    +","+str(gripperValue)
    +","+str(speedSlider)
    +","+str(accelerationSlider);
}Code language: Arduino (arduino)

所有这些数据在 Arduino 中都以一根长字符串的形式出现。所以在这里,首先我们需要从该字符串中提取数据并将其放入单独的变量中。

if (Serial.available()) {
    content = Serial.readString(); // Read the incomding data from Processing
    // Extract the data from the string and put into separate integer variables (data[] array)
    for (int i = 0; i < 10; i++) {
      int index = content.indexOf(","); // locate the first ","
      data[i] = atol(content.substring(0, index).c_str()); //Extract the number from start to the ","
      content = content.substring(index + 1); //Remove the number from the string
    }
    /*
     data[0] - SAVE button status
     data[1] - RUN button status
     data[2] - Joint 1 angle
     data[3] - Joint 2 angle
     data[4] - Joint 3 angle
     data[5] - Z position
     data[6] - Gripper value
     data[7] - Speed value
     data[8] - Acceleration value
    */Code language: Arduino (arduino)

现在有了这些变量,我们可以对机器人采取行动。例如,如果我们按下 SAVE 按钮,我们会将当前关节角度值存储在一个单独的数组中。

// If SAVE button is pressed, store the data into the appropriate arrays
    if (data[0] == 1) {
      theta1Array[positionsCounter] = data[2] * theta1AngleToSteps; //store the values in steps = angles * angleToSteps variable
      theta2Array[positionsCounter] = data[3] * theta2AngleToSteps;
      phiArray[positionsCounter] = data[4] * phiAngleToSteps;
      zArray[positionsCounter] = data[5] * zDistanceToSteps;
      gripperArray[positionsCounter] = data[6];
      positionsCounter++;
    }Code language: Arduino (arduino)

如果我们点击 RUN 按钮,我们会执行存储的步骤等等。

为了控制步进电机,我使用了 AccelStepper 库。虽然这是一个很好的同时控制多个步进器的库,但在控制这样的机器人时它有一些限制。在控制多个步进器时,库无法实现加速和减速,这对机器人更平稳的运行很重要。

stepper1.moveTo(stepper1Position);
  stepper2.moveTo(stepper2Position);
  stepper3.moveTo(stepper3Position);
  stepper4.moveTo(stepper4Position);

  while (stepper1.currentPosition() != stepper1Position || stepper2.currentPosition() != stepper2Position || stepper3.currentPosition() != stepper3Position || stepper4.currentPosition() != stepper4Position) {
    stepper1.run();
    stepper2.run();
    stepper3.run();
    stepper4.run();
  }Code language: Arduino (arduino)

I still managed to implement acceleration and deceleration with the library, but they are not as smooth as I wanted to be.

Here are full Arduino and Processing codes for this Arduino SCARA robot project:

Wrap up

So finally, once we upload the code to the Arduino, we can run the processing program, connect the power and the scara robot will start moving to its home position.

From there on, we can do whatever we want the it. We can play around manually or set it to work automatically. Of course, we can attach any kind of end-effector and make cool stuff with it. For example, we can even attach a 3D printer hot end to the robot and so make the robot a 3D printer, or attach a laser head and make it a laser cutter. I do plan try these two ideas, so make sure you subscribe to my channel so you don’t miss them in some of my future videos.

Before this video ends, I would like to give you few more notes about this project. I found the robot to be not as rigid as I expected.

I guess the problem is that almost the entire SCARA robot, the Z-axis and the arms are supported only by the first joint. The whole weight and the inertial forces generated when moving, can make quite a stress to base where the first joint is located, and as it’s just a plastic it tends to bend a little bit. Also, these belts are not backlash free so we reduce the robot rigidity with that too. However, I think the overall project is good enough so you to learn how SCARA robots work, and gives you the courage to build one for yourself.

Feel free to ask any question in the comments section below and check my Arduino Projects Collection.


制造工艺

  1. 破解乐高 EV3:构建自己的物体传感器“眼睛”
  2. 使用 Arduino 和 Raspberry Pi 构建您的 Internet 控制的视频流机器人
  3. 白皮书:如何发现您的机器人潜力
  4. 如何打造机器人之王索伦
  5. 如何构建 Arduino 能源监视器和数据记录器
  6. 如何破解红外遥控器
  7. 终极指南:如何选择合适的 SCARA 机器人
  8. Littlearm 2C:构建 3D 打印的 Arduino 机械臂
  9. 如何制作基于 Arduino 的自动开门
  10. 如何在家制作手势控制机器人
  11. 制作您的第一个 Arduino 机器人 - 最佳初学者指南!
  12. 如何通过 7 个步骤构建您的自动化路线图