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

概述


机器人有4度自由,它由4个NEMA 17步进电机驱动。另外,在这种情况下,它具有用于控制末端执行器或机器人夹具的小型伺服电动机。这种萨米拉机器人的大脑是一个Arduino Uno板,与CNC屏蔽和四个A4988步进驱动器配对,用于控制电机。

基于Arduino的Scara机器人

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

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

SCARA机器人控制的图形用户界面-用处理IDE制作的GUI

我做这个程序的方式是我们可以同时在同一个屏幕上使用这两种方法。关节的角度以及末端执行器的X, Y和Z值是连接的,并且总是在屏幕上显示。

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

Scara机器人3D模型

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

Scara机器人3D模型

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

3 3experience SOLIDWORKS基本上是通过3experience平台获得的具有云计算能力的SOLIDWORKS。所有工作都通过云计算进行,所以您或您团队中的任何人都可以在任何时间、任何地点访问数据或模型。3DEXPERIECE平台还包括许多有用的生产力和管理应用程序。

三维建模在3experience Solidworks

例如,项目计划是一个很好的方式来组织你的任务,设定最后期限和跟踪你的进展。有了3D Markup应用程序,你可以在任何设备上查看、探索和记录模型,比如笔记本、平板电脑甚至智能手机。

3DMarkup app来自3experience平台

还有一个名为solidworks xdesign的基于云的3D建模器,它在浏览器中运行。它可以与SolidWorks或其独立使用,它非常适合建模,任何地方,随时随地和任何设备。

如此,非常感谢SolidWorks赞助这样的教育内容。如果您想知道SolidWorks和3Dexperience平台是否可以为您工作,请检查下面的以下链接。

试用3experience免费与我的特殊链接:www.solidworks.com/HTMTryNow

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

好的,让我们回到模型并解释我如何提出这种设计。我为机器人的目标是3D印刷的大部分部分。因此,即使在带有较小打印床的3D打印机上,您在此处看到的所有内容都可以打印3D。GT2滑轮也是3D可打印的。我使用的参数化设计来制作它们,所以如果需要,我们可以轻松改变它们的尺寸。我们只需改变牙齿的数量,所有尺寸都会自动更新以使滑轮尺寸正确。

GT2滑轮与参数设计

对于第一个关节,我们有20:1减少率,在两个阶段中实现了这些定制的滑轮。这里使用的两个GT2带是闭环,长度为200mm和300mm。机器人接头由两个推力轴承和一个径向轴承组成。

Scara机器人内部组件 -  3D模型

对于第二个关节,我们具有16:1减少率,以相同的方式实现,第三个关节具有4:1的减少率,仅仅具有单阶段减少。关节是空心的,所以我们可以使用它来从电机和微开关中滑动电线。对于每个皮带,有槽,我们可以将惰轮滑轮连接到张紧它们。

机器人的夹具机制 -  3D模型

机械手是由MG996R伺服电机驱动我们可以很容易地改变夹持器的两端,以实现不同的夹持尺寸。机器人的Z轴由一个8mm丝杠驱动,整个手臂组件在四个10mm光杆和直线球轴承上滑动。机器人的高度仅仅取决于光滑杆的长度,在这个例子中是40厘米。丝杠需要短2cm,以适应这种配置,如果不是,Z电机可以提高2cm使用间隔螺母。

你可以下载3D模型,以及用于3D打印的STL文件,在下面。

SolidWorks文件:

3D打印的STL文件:

3D打印机器人部件

好了,我们可以继续3D打印零件了。我用我的Creality CR-10 3D打印机打印了所有的零件,这是一个非常棒的3D打印机,价格也很实惠。正如我提到的,这些部件的设计也适用于更小的3D打印机,例如Ender3。

3D打印机器人部件

对于我使用PLA +材料的大多数部件,蓝色,以及滑轮和夹具的正常PLA。我花了120个小时,以60mm / s的印刷速度打印所有部件。底座是打印的最大部分,达到大约32小时。但是,如果我们提高打印速度,我们肯定可以更快地打印零件。

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

3D印刷的萨拉机器人零件

这里只是一个简单的说明,我在切片软件中打印了所有的文件,并启用了0.1毫米的横向扩展。这使得零件有更精确的尺寸,并更好地适合其他机械零件,如轴承,杆和螺栓。

装配机器人

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

必威外围提钱披露:这些是联盟链接。作为亚马逊助理,我从合格购买中获得。

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

我们从基地开始组装。在这里,首先我们插入一个径向滚珠轴承与35mm内和47mm外径。

定制为机器人关节设计GT2滑轮

然后它是具有40mm内径40mm和60mm外径的第一个推力轴承。这种轴承将坐在滑轮和基座之间。

在底座的另一侧,我们使用与关节耦合器一起使用相同的尺寸的另一个推力轴承。

装配第一个机器人关节

然后我们可以用四个55mm长的M4螺栓将滑轮与上部连接起来。我们需要在这里使用自锁螺母,并适当地拧紧它们,以便在能够自由旋转的同时,连接是坚固的。

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

3D打印的GT2滑轮上的GT2皮带

接下来,我们需要为此接头安装步进电机。步进将与中间带轮配对有200mm的皮带。将其固定到基础上,我们需要四个m3螺栓。

为第一个机器人关节安装NEMA 17步进电机- 20比1减速比与GT2皮带

在拧紧螺栓之前,我们需要把皮带尽可能地拉紧。只是一个快速的注意这里,我实际上更换了M8螺栓的中间滑轮的头部在底部,这样它可以适合在基地。

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

用于GT2皮带张紧的惰轮

它可以安装在皮带两侧的槽上,因此我们可以尽可能多地拧紧带。我最终拧紧两侧的皮带。有了这个,第一个联合完成。

我继续为这个接头安装微开关。在固定它之前,我已经焊接了电线到它,因为它有点紧在这里做之后。我们需要一个20mm M3螺栓和螺母,以确保微开关到位。

给机器人增加微开关

接头耦合器通过如此紧密的开关,我最后只使用了一个螺栓来固定开关。在另一个洞,我插入一个较短的螺栓,并把它粘在底部。这样开关就足够安全,可以正常工作。

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

固定棒的夹子

在它上面,我们可以固定四个固定光滑杆的夹子。然后我们可以把光滑的棒插进去。它们应该紧密贴合,并一直到连接耦合器部分。我们可以用一些M4的螺栓和螺母把杆夹紧。

用Scara机器人的3D印刷夹具固定光滑杆 -  Z轴

此时,我们需要将轴承插入导线螺钉。要完成这一部分,我们只能在一个简单的封面上滑动,这将隐藏一切,并为机器人提供更清洁的外观。

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

插入将滑动在Z轴平滑杆上的线性轴承

实际上,这取决于您的打印机如何准确打印零件。因此,我建议在打印零件时使用地平扩展功能并根据打印机调整它。在我的情况下,我无法融合两个轴承,走下去,但这不是一个大的交易。

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

使用四个M5螺栓连接手臂编号1的两个部分

接下来,我们可以安装第二步电机。在这里,我将使用带有20颗牙齿的3D印刷GT2滑轮。我使用前面提到的参数设计制作了这款滑轮,它很好地工作。在这里,我们还需要将铅螺母固定到位。

将丝杠螺母固定到位

接下来,我们可以为第二个关节安装皮带和滑轮。这里我们需要一条400mm的皮带和一条300mm的皮带。安装他们的程序是几乎相同的解释为第一个接头。

装配第二个SCARA机器人关节-通过2条GT2传送带实现16比1的减速比

这里是第二个关节和第三个关节,我们实际上使用的轴承比第一个要小。径向球轴承有30mm内径和42mm外径,推力轴承有35mm内径和52mm外径。

在安装第二个关节耦合器之前,我们需要在六角形插槽中插入六个20mm m4螺栓。

将25mm M4螺栓插入第二接头

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

为第二叶片机器人接头安装微开关

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

安装ARM号2

在这一点上,我想测试多少反弹的关节。当然,我预计会有一些反弹由于传送带,但实际上有更多的发挥之间的两个部分的关节。我注意到问题是螺栓的孔,比螺栓本身稍微大一点。为了解决这个问题,我们需要把螺栓和孔配合得更紧。

关节两部分之间的松动使得对机器人加入导致反冲

所以,在我的案例中,我用4.5mm的钻头将孔扩大,并使用M5的螺栓,而不是M4的螺栓,将两个接头固定在一起。但是我更新了3D模型,孔是3.5mm,你可以用M4的螺栓把这两个部分连接在一起。我也回到了第一个关节,做了同样的事情。现在关节处的游戏几乎结束了,除了皮带给我们带来的小反弹。

好吧,所以现在我们可以继续组装第二臂。在此,我们需要为第三节安装步进电机。

组装第二个机器人手臂

在这个例子中,我使用了一个更小的步进电机,这样手臂就会轻一些。尽管如此,它是一个NEMA 17步进电机,但较短的24厘米长度。

同样,我们有相同的步骤来安装带有3个关节的皮带和滑轮,除了这里,我们只需用400毫米的腰带使用单级减少。接下来,在将该臂的下部安装到上部之前,我们需要连接电机和微开关并通过第二接头。

将电线穿过机器人的空心接头

在这一点上,我们还需要插入末端执行器的导线。在我的情况下,我插入了一个步进电机4线电缆,我将使用它来驱动我的夹具需要3线的伺服电机。

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

将两只臂零件合并在一起

在合并之前,我们应该把电线从钩子下穿过这样它们就会远离活动部件。

出来的第二节电线实际上可以被皮带轮上的螺母抓住,因此我制造了一个简单的金属丝支架,以将电线从螺母上保持。

在第一臂上添加电线架

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

3D打印的卡扣接头

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

接下来,我们可以把整个组件插入到z轴杆上。

将Scara机器人臂组件插入Z轴杆上

然后我们需要准备Z轴顶板,该顶板将保持杆的上端。在此,我们可以将微动开关安装为z轴,并将用于夹子的安装到板上。

准备Z轴的顶板

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

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

8毫米铅螺钉,用于驱动Scara机器人Z轴

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

将z轴NEMA 17步进电机与带5mm到8mm联轴器的8mm丝杠连接

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

好的,接下来我们可以做一些有线管理。我用了电缆袖,将电线放在一起并清除混乱。我也使用了一些邮政联系。

使用电缆套管来组织电线

在把电线放进电缆套管之前,最好是标记每一个,这样你就不会连接错任何东西。

现在留下了什么是制作机器人的最终效应。我们实际上可以制作并将任何类型的末端执行器附加到机器人。我选择制作一个简单的夹具,由MG996R伺服电机驱动。夹具基于两个6mm棒,双面滑动。

组装萨拉机器人夹具

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

3D打印机器人夹持器

不过,这种设计的好处是我们可以很容易地改变夹持器的末端。它们可以更宽或更窄,也可以有特定的形状。我们可以用一些M4的螺栓和螺母把夹持器安装到机器人手臂上。

将夹持器或末端执行器安装到scara机器人上

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

就是这样,我们的Scara机器人手臂完全组装。现在留下了什么是连接这个项目的电子组件。必威lol

Scara机器人电路图

因此,我们将使用Arduino Uno董事会与CNC盾牌组合使用A4988步进驱动器

Arduino Uno用于控制Scara机器人

虽然它是一个机器人,但它似乎更复杂,这就是我们需要这个项目的所有电子产品。必威lol值得注意的是,而不是Arduino Uno,我们还可以使用Arduino Mega与斜坡3D打印机控制器组合使用。

但是,我3D打印了Arduino UNO的外壳,它可以很容易的附着在机器人的基座上。我将使用四分之一步分辨率驱动步进,所以我放置了一些跳线在适当的引脚。现在我们可以将步进电机和微开关连接到数控屏蔽上。

Arduino Uno和CNC屏蔽用于控制Scara机器人4步进电机

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

Arduino SCARA机器人电路图

您可以从下面的链接获取此项目所需的组件:

必威外围提钱披露:这些是联盟链接。作为亚马逊助理,我从合格购买中获得。

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

3D打印Arduino UNO外壳

最后,我在案例中挤压了所有的电线,同时试图让驱动器散热,并将封面添加到它。

完成大会

萨拉机器人现在已经完成,现在我们需要做的是将基本保护到某事物。为此目的,我将使用20毫米蜱块木头。在机器人基座的底部,我们有12个孔可用于保护它。所以,我印刷了机器人底座的图形,并用它来制作木材中的孔。

准备机器人的木质底座

在底部,我将它们沉浸在我将使用平头螺栓,因此它们与木表面闪烁。我在基板中插入了M4螺母,然后将木基底固定到机器人基座上。

添加一块木头作为机器人的基座

理想情况下,为了把机器人固定在合适的位置,我们可以把它固定在桌子上,或者我可以简单地用夹子。

3D印花萨拉机器人 -  DIY项目

就这样,我们的SCARA机器人现在完全完成了。在这个视频中,我们要看看机器人是如何工作的。

SCARA机器人是如何工作的

控制机器人的位置和方向有两种方法,那就是使用正运动学或逆运动学。

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

SCARA机器人控制的正逆运动学-如何工作betway

另一方面,当我们需要找到用于结束效应器的给定位置的关节角度时使用逆运动学。这种方法在机器人学中更有意义,因为我们希望机器人将其工具定位在特定位置或特定x,y和z坐标中的大多数情况下。

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

机器人正逆运动学方程

我将用于前进和反向运动学的等式来自三角形法规和公式。

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

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

以下是在处理开发环境中编写的代码中的方程式的方式。

//前进的运动效率Void转发keematics(){float theta1f = theta1 * pi / 180;//弧度到弧度浮动θf= theta2 * pi / 180;XP =圆形(L1 * COS(THETA1F)+ L2 * COS(THETA1F + THETA2F));yp =圆形(l1 * sin(theta1f)+ l2 * sin(theta1f + theta2f));}

因此,通过正运动学我们计算末端执行器的X和Y值,根据机器人的两个手臂的关节角度,以及它们的长度L1和L2。

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

/逆运动学void undedkinematics(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;//视角调整根据哪个象限最终工具坐标x,y是(x> = 0&y> = 0){//第一个象限Theta1 = 90  -  Theta1;}如果(x <0&y> 0){// 2nd象限Theta1 = 90  -  Theta1;}如果(x <0&y <0){// 3D象限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); }

根据哪个象限的位置设置为,我们对这些“如果”陈述的关节角度进行了一些调整。对于机器人的这种配置,我们实际上只用两个链接计算逆运动学。我称之为“PHI”的第三角用于设置夹具的方向。

图形用户界面是使用controlP5图书馆对于处理IDE。使用此库,我们可以轻松创建按钮,滑块,文本字段等。用处理和ControlP库制作的图形用户界面 -  GUI用于机器人控制

例如,我们使用左侧的滑块来控制关节角度,并使用文本领域我们可以进入我们希望我们的机器人去的位置。通过我们在这里使用的每个操作,我们通过串行端口将数据发送到Arduino板。

if (gripperValue previous != gripperValue) {if (activeIK == false){//检查逆运动学模式是否激活,只有逆运动学模式为off或false时才能执行正运动学gripperAdd = round(cp5.getController("gripperValue").getValue());gripperValue = gripperAdd + 50;updateData ();println(数据);myPort.write(数据);}}

该数据包括联合角,夹持器值,速度和加速度值,以及了解我们是否已单击保存或运行按钮的指示符。

公共空间updateData () {data = str (saveStatus) +”、“+ str (runStatus) +”、“+ str(圆(cp5.getController .getValue(“j1Slider”) ())) +","+ str(圆(cp5.getController .getValue(“j2Slider”) ())) +","+ str(圆(cp5.getController .getValue(“j3Slider”) ())) +","+ str(圆(cp5.getController .getValue(“zSlider”) ())) +","+ str (gripperValue) +”、“+ str (speedSlider)+”、“+ str (accelerationSlider);}

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

if(serial.available()){content = serial.readstring();//读取从处理的收入数据//从字符串中提取数据并放入单独的整数变量(数据[]数组)(int i = 0; i <10; i ++){int index = content.indexof(“,“);//定位第一个“,”数据[i] = ATOL(content.substring(0,index).c_str());//从start提取数字到“,”content = content.substring(索引+ 1);//从字符串中删除数字} / *数据[0]  - 保存按钮状态数据[1]  - 运行按钮状态数据[2]  - 关节1角度数据[3]  - 关节2角度数据[4]  - 关节3角度数据[5]  -  z位置数据[6]  - 抓取物值数据[7]  - 速度值数据[8]  - 加速值* /

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

If (data[0] == 1) {theta1Array[positionsCounter] = data[2] * theta1AngleToSteps;//存储的值在步骤=角度* angleToSteps变量theta2Array[positionsCounter] =数据[3]* theta2AngleToSteps;phiArray[positionsCounter] = data[4] * phiAngleToSteps;zArray[positionsCounter] = data[5] * zDistanceToSteps;gripperArray [positionsCounter] =[6]的数据;positionsCounter + +;}

如果我们单击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 ();}

我仍然设法与库实施加速和减速,但它们并不像我想要的那样顺利。

以下是Arduino SCARA机器人项目的完整Arduino和Processing代码:

包起来

最后,一旦我们把代码上传到Arduino上,我们就可以运行处理程序,连接电源scara机器人就会开始移动到它原来的位置。

Arduino SCARA机器人控制使用GUI与Processing IDE制作

从那里开始,我们可以做任何我们想要的东西。我们可以手动播放或将其设置为自动工作。当然,我们可以附上任何类型的末端效应器,并用它制作很酷的东西。例如,我们甚至可以将3D打印机热端连接到机器人,因此使机器人成为3D打印机,或者安装激光头并使其成为激光刀具。我计划尝试这两种想法,所以确保订阅我的频道,以便在我未来的一些视频中不容错过它们。

在此视频结束之前,我想为您提供一些关于此项目的注释。我发现机器人不像我预期的那样僵硬。

测试机器人刚性

我想问题是,几乎是整个斯拉卡机器人,z轴和臂只能由第一接头支撑。在移动时产生的整体重量和惯性力可以对第一节所在的基地产生非常应力,并且因为它只是塑料倾向于弯曲一点点。此外,这些皮带不会自由间隙,因此我们也可以降低机器人刚性。但是,我认为整体项目足够好,以便你了解萨卡机器人的工作,并为您提供为自己建造一个的勇气。

随意询问以下意见部分中的任何问题,并检查我的Arduino项bet188me目集合

64年响应

  1. 尼古拉斯Kerley

    另一个令人敬畏的项目,我想要建造。参考第一Z轴关节弯曲到大量屈曲,我发现使用旋转轴承采用伺服的所有应变。

    回复
      • 西奥多

        你好,
        干得好,解释得很好。你能告诉我吗
        我如何使用GUI Scara机器人界面?我从未使用。pde文件。如何运行。pde文件?另外,如果我建造Scara,我可以使用不同长度的手臂并在Arduino中修改这些参数吗?
        我需要修改哪些参数

      • 德扬

        嘿,谢谢!这个GUI是使用Processing IDE制作的,所以你需要将它安装到你的电脑上,然后在上面运行程序。Arduino连接到计算机,通过Processing IDE,它们可以通过串口进行通信。更多的信息,你可以查看我的一些其他教程相关的主题,你可以使用“搜索”按钮功能的网站。
        至于手臂的长度,你当然可以修改。在处理代码中,您只需更改L1和L2参数,以匹配您的实际长度,因此正运动学和逆运动学计算正确。

  2. 吉姆·格林

    你能得到一个教程的乐趣360吗?我认为这是一个很棒的软件。因为我发现你在每个项目里都用它。

    回复
    • 托德·拉里

      很棒的项目,我要试一试!
      我找不到五金、螺栓和螺母的清单。你能给我发个链接吗
      谢谢!

      回复
  3. dom

    很棒的项目。我都等不及要建我的了。在什么层高度和填充%你打印的部分?

    回复
  4. Eric标志

    你好,德扬,
    伟大的项目,伟大的工作,你做得很好。期待3D打印机和激光切割机的热端
    真空吸盘怎么样?

    来自德国的问候

    埃里克

    回复
  5. 利奥

    你好德詹,我目前正在寻求所有零件来构建这个机器人。问:GT2时序皮带的宽度是多少?谢谢你出版又一个伟大的项目!

    回复
    • 德扬

      你是无法下载还是无法打开文件?在第一种情况下,尝试使用不同的浏览器下载它们。

      回复
  6. 罗伯托·莫拉

    很棒的项目! !小问题,也许我错过了这部分,但我们需要多少解放军(公斤)来制造我们自己的SCARA?

    回复
    • 德扬

      谢谢!嗯,我没有跟踪那个,所以我无法讲述确切的数字。我认为大约1到1.5kg的东西。

      回复
  7. 本周

    hey love the project started printing the parts yesterday i have a question: the kinematic model you used in the processing ide, would it be possible to implement that directly in the arduin itself? i want to hard program the positions the robot drives to and hope i wont need a pc or raspberry pi for that? thanks for sharing this project

    回复
    • 德扬

      嘿,谢谢!当然,你可以做到这一点。您可以使用Arduino计算KineMatics模型,并使用它进行任何您想要的。我用处理IDE只是为了制作一个更容易控制机器人的GUI。

      回复
  8. al

    你好,Dejan,很棒的项目,你对项目和构建说明的描述非常棒。我现在也在试着制造机器人一些打印机正在嗡嗡作响。
    我是否正确地检测到8mm棒400mmm钳位模型(8x打印)不在您的STL导出存档中?

    回复
  9. 贾斯汀穆

    你好,德扬,

    漂亮而神奇的项目!是否有可能将所有这一切连接到您在Arduino Robot和Mecanum Wheels项目中制作的您的定制PCB?我想知道我是否可以将它连接到我的手机并使用蓝牙控制它...

    回复
  10. viktor.

    你好dejah,
    非常好的项目,但有一些关于前进和反向运动学的公式的问题。
    正运动学:
    如果角度在图片中给出,那么“x”坐标与各个角度的窦成比例,它将是:x = l1 * sin(theta1)+ l2 * sin(theta1 + theta2),相同的东西(手段余弦)他们”。可能,角度应该是pi / 2-thetas
    反向运动学:
    L1和L2的长度应该是平方(就像你的程序)
    2)减去,应该有-l1 ^ 2和-l2 ^ 2(我们可以在您的程序中看到)
    在正运动学中,你应该改变图片中的角度

    回复
    • 德扬

      维克多,谢谢你的建议,你是对的。我把这些公式搞混了。我现在更新了图像。我没有改变图像中的角度,而是改变了x和y的公式,我希望这不会让其他人感到困惑。我想我在程序中做的角度调整是由于这些公式是如何设置的。然而,这些公式现在是正确的,因此人们可以在适当的时候修改代码。再次感谢,干杯!

      回复
  11. strasni

    你好,
    伟大的项目,我只是打印的部分,但我错过了arduino盒子的stl平滑的杆夹具。
    你能上传这些吗?

    谢谢

    回复
  12. 马丁

    你好,
    首先,先生,这是伟大的工作。

    在stl zip文件中缺少“抓斗宽端”。Stl "表示左边/右边
    你能上传吗?

    谢谢你!

    回复
  13. al

    嗨,德扬,
    感谢您的更新!我刚刚完成了构建,它工作得很好与合理的反弹,主要接头。尽管如此,在手臂关节快速运动的情况下,它还是感觉相当结实。我注意到的另一件事是,“廉价的”z轴也有可能在z移动过程中产生一些“摆动”。

    关于你的Arduino代码,我不得不削减步进速度和归位速度的一半肯定。不知道有什么不同。
    我使用(在设置方法):
    stepper1.setmaxspeed(200);
    Stepper1.setacceleration(500);

    homing方法中:
    stepper1.setspeed(-200);
    stepper1.runSpeed ();
    stepper1.setCurrentPosition (-1978);//当限位开关按下设置位置为0步时//-3955

    我也必须在Limitswitch上修剪Stepper1位置返回一半。不确定是什么造成的。

    你可以在两个'Stepper1'调整中确认或建议否则吗?

    干杯!

    回复
  14. 彼得

    爱它!你能解释一下联合设计吗?我理解推力轴承,但为什么你也需要径向轴承?更稳定?不幸的是,我的prusa迷你无法打印这个项目,所以我需要设计一个较小的版本。去年我试图使用处理来控制笛卡尔CNC但失败......必须尝试调整代码

    回复
  15. Guerrino.

    Buongiorno,Seguo Tutti I Suoi Progetti。Scara机器人èMoltoInteressante,Sono在Fase di Realizzione。Una Piccola nota:Gli Alloggiamenti dei Cuscinetti Devono Essere联合国Po'Maggiorati。Per eSempio la sede del Cuscinetto 608 AndrebbeAumentata di Circa 2 DecimiGià在Fase di Disegno。Il Diametro esterno di 22 mm Potbbe Essere A Descoi Di 22.2 mm。Tale Maggiorazione anche per Le Sedi Degli Altri Cuscinetti。Buon Lavoro,Sono在attesa di Altri Ottimi Progetti。
    例子

    回复
  16. Guerrino.

    对不起,这是英文版本

    您好,我遵循所有项目。bet188meScara机器人非常有趣,他们正在建设中。一个小的注意:轴承外壳需要更大。例如,轴承座608应在设计阶段增加约2分。22mm外径可以是22.2mm的设计。这也增加了另一个轴承的座位。良好的工作,我正在等待其他优秀的项目。bet188me

    回复
  17. Sivaguru mudaliar.

    好项目!我可以造一个。细节很好,一步一步的解释。也许底座关节可以用“转盘”轴承来支撑。我在另一个5自由度机器人手臂项目中使用了它,效果更好。

    回复
  18. “猫

    恭喜你,干得好。
    根据描述,第三度的比例为1:4。在我看来,是1:4.5(20/90 = 4.5)。是这样吗?

    回复
  19. “猫

    我组装了机器人。不幸的是,它没有启动!电源一接通,什么也没发生。请帮助。

    回复
    • 德扬

      嘿,有什么进步吗?我的意思是有这么多的东西可能是错误的。您应该首先检查电子元件是否正常工作,如您的Arduino,CNC屏蔽或步进驱动程序。尝试使用简单的代码尝试仅运行单个电机,以查看它们是否有效。如果电子产品工必威lol作,则应移动软件部分或处理代码进行故障排除。此外,它们更简单的代码或移动,并确保您的波特率和COM端口是正确的。

      回复
  20. 凯尔

    你好,

    我喜欢这个项目,你启发了我,让我自己制作一个!在我深入讨论之前,我对你的结果很好奇。

    你认为这个手臂的最大有效载荷是多少?你达到了怎样的精度/重复性?

    看到你的新项目总是很高兴,谢谢你创造的!bet188me

    回复
    • 德扬

      嘿,谢谢!好吧,我没有对最大有效载荷进行测试。可以看出在视频结束时,手臂有点播放,因此实际上它没有这种精度或重复性。改进它的方法将在基部接头处使用更大/更宽的轴承,使用更好的皮带或者可以从两个到一个减少皮带或减少阶段的数量。这些Z轴轨道也非常好。

      回复
      • 凯尔

        嘿德国,非常感谢你的回复!

        我现在自己制作了自己的手臂 - 主要是根据你的设计!(我在几个地方哈哈)淘汰了),到目前为止,它肯定是一个有趣的学习体验!

        我让它移动到指定的坐标,现在没有问题了。如果能在手臂上实现g-code,那就太棒了,我正在努力想办法,但现在有点超出我的能力范围。像这样的教程会很棒。

        谢谢你,鼓励我做到这一点,设计有很多乐趣!

  21. 伟大的项目,建造它,它很棒。必须进行一些调整,但您的教程让我通过了任何问题。我想知道你是否对我有任何问题,请在我的YouTube频道中制作我的手臂的副本。当然,在开始时,我会作为项目创建者引用,并参考您的频道,因为我能够使用各种视频来学习很多。如果有问题那么我将很好我自己的手臂,这不会是你的副本。请让我知道你的想法。另一件事我是一个退休的81岁的程序员,具有建筑机器人和无人机的爱好。我确实创建免费视频来帮助他人,因为在线视频帮助了我。

    回复
    • 德扬

      谢谢你!很高兴你觉得我的工作有帮助。当然,继续分享你制作的手臂的视频吧,我很想看。你也可以在评论区分享,这样其他人也可以从这里看到它。干杯!

      回复
      • 德扬
        感谢您对我的机器人副本的兴趣。我刚刚在我的YouTube频道“Lotbot Robotics”上的两个视频中的第一个。我不确定如何包含它,但我在这里将YouTube条目放在这里。(https://youtu.be/fkmeadhvkuk.)题目为“使用STM32F4黑色药丸远程控制SCARA机器人第一部分可行性”

    • 西奥多

      你好,
      我还建造了萨拉机器人。我修改了所有3D模型来安抚
      通过我的其他项目中存在的所有组件,甚至添加了一些3D功能,以简化臂内部电缆的路由。bet188me
      我使用12mm的直线轴和法兰衬套,连同一个12mm的丝杠和螺距为8mm和2mm的螺母。我也有一个坚实的铝基础框架结构,我在后面的电源,arduino uno和cnc屏蔽,降压转换器和风扇和交流电源开关。
      归位序列工作完美,我唯一的唯一问题我很困惑。
      当它完成归航序列时,x,y,z是365,0170。我的z与youtube上的略有不同,因为我的线性轴的高度。一旦我按下夹持器的值滑块打开,它会在z下潜并击中表。我能在pde中改变什么来停止它,它真的不应该这样做,它应该只移动夹具到我想要它打开,关闭或任何它需要的地方。你的帮助将不胜感激

      回复
      • 西奥多

        嗨,迪安
        使用时我有一些问题
        加工PDE Scara程序,我不明白为什么当我去一个位置时,然后移动夹子滑块
        它立即回到
        x 365,y 0和z
        为什么??它不应该这样做
        我的夹子也在0度下打开并在90度下关闭
        在项目中有办法改变吗?
        与您沟通的最佳方式是什么,我发布在您的FB中,通过Messenger发送消息,对YouTube发表评论,也在这里
        我需要你的帮助,因为你是创作者,我不太擅长编程-

  22. “猫

    MG996R伺服电源如何?具有单独的5V电源,还是从CNC屏蔽V3上的5V连接器供电?

    回复
  23. Guerrino.

    嗨,我发现夹持器伺服保持器部分的孔与夹持器盖部分不匹配。你认为这是可能还是错了?你能检查一下。谢谢

    回复
  24. “猫

    夹具有问题。夹在物体上时,伺服锁和夹具不会打开!导致这个问题是什么?在没有任何问题的情况下打开和关闭夹具而不会夹紧工件。我要求帮助解决问题。

    回复
  25. “猫

    我有机器人手臂夹具有问题。下颚由MG-996R伺服供电,并通过CNC屏蔽V3由Arduino Uno(PIN A0)控制。在命令关闭夹持物体上关闭钳口(约360 mA电流在伺服电源电路中流动),夹具锁,即无法打开钳口。听到伺服的低噪声,电流大于200mA。我明白伺服“想要”到达给定位置,但是钳口中的物体抵抗阻止伺服转动。但为什么夹具堵塞和它在授予命令打开下巴后没有回应?如果没有将钳口夹紧在工件上,夹具就会毫无问题地工作。
    我正在请求项目作者或同事帮忙解决这个问题。

    回复
    • 西奥多

      你好
      我已经发布了一些问题,我在使用Scara控制程序时遇到的问题,它似乎是有bug的,并不是完全的证据,请阅读我的帖子,并让我知道,如果你有同样的问题或有解决方案
      谢谢

      回复
  26. 基里尔

    这就跟你问声好!
    我喜欢你的机器人,也想做一样的。
    我有两个问题:
    1.如何安装第二伺服?
    2.如何在控制程序中增加“保存g代码”和“加载g代码”功能?
    PS
    您没有显示连接轴的特写我们需要添加两个跳线

    回复
    • 德扬

      嘿,谢谢!你可以安装第二个伺服就像第一个安装,你可以控制它,如果你有可用的引脚来控制它。至于保存和加载g-code,我想做这个功能,但我没有时间做。我不能给您任何提示,因为我没有尝试在其他地方实现这样的代码,但当然,这是可能的。

      回复

发表评论

您的电子邮件地址不会被公开。

受到推崇的

2019年最佳入门级示波器初学者和爱好者

为初学者和爱好者最好的示波器

受到推崇的

2019年初学者的8个最佳Arduino Starter Kits

初学者的8个最佳Arduino Starter Kits

受到推崇的

最佳3D打印机为初学者和爱好者- 3D打印

初学者和爱好者的最佳3D打印机