在本教程中,我们将学习如何构建基于Arduino的斯卡拉机器人。我将向您展示整个建立它的过程,从设计机器人开始开发自己的图形用户界面以控制它。
机器人有4度自由,它由4个NEMA 17步进电机驱动。另外,在这种情况下,它具有用于控制末端执行器或机器人夹具的小型伺服电动机。这种萨米拉机器人的大脑是一个Arduino Uno板,与CNC屏蔽和四个A4988步进驱动器配对,用于控制电机。
使用处理开发环境,我制作了一个图形用户界面,其具有前向和逆运动学控制。通过前向运动学,我们可以手动移动每个机器人接头以获得所需的位置。使用左侧的滑块,我们可以设置每个关节的角度。结束效应器,x,y和z值的最终位置计算并打印在屏幕的右侧。
另一方面,利用逆运动学,我们可以设定末端执行器的期望位置,程序将自动计算每个关节的角度,以使机器人达到期望的位置。
我做这个程序的方式是我们可以同时在同一个屏幕上使用这两种方法。关节的角度以及末端执行器的X, Y和Z值是连接的,并且总是在屏幕上显示。
当然,机器人也可以自动运行。使用程序上的“保存”按钮我们可以保存机器人的每个移动或位置。然后,当我们按下“RUN”按钮时,机器人将在循环中执行存储的移动,从第一个又一遍地。我们还可以调整移动速度和用户界面的加速度。
Scara机器人3D模型
首先,让我们看看3D模型。
我设计了使用3Dexperience SolidWorks的Scara机器人,这些视频也是该视频的赞助商。
3 3DEXPERIENCECTOWSS基本上是SolidWorks,我们通过3DEXPERIENCELLAGE获得了云功能。一切都通过云工作,所以您或团队中的任何人都可以随时访问数据或型号。3DEXPERICE平台还包括许多有用的生产力和管理应用程序。
例如,项目刨床是组织任务,设置截止日期并跟踪您的进度的好方法。使用3D Markup应用程序,您可以查看,探索和记录任何设备的型号,如笔记本,平板电脑甚至智能手机。
还有一个名为solidworks xdesign的基于云的3D建模器,它在浏览器中运行。它可以与SolidWorks或其独立使用,它非常适合建模,任何地方,随时随地和任何设备。
如此,非常感谢SolidWorks赞助这样的教育内容。如果您想知道SolidWorks和3Dexperience平台是否可以为您工作,请检查下面的以下链接。
试用3experience免费与我的特殊链接:www.solidworks.com/htmtrynow.
了解有关3Dexperience的更多信息SolidWorks:www.solidworks.com/HTMLearnMore
好的,让我们回到模型上来解释一下我是如何想出这个设计的。我对机器人的目标是3D打印大部分零件。所以,你在这里看到的一切都可以用3D打印,即使是用3D打印机和更小的打印床。GT2滑轮也是3D打印的。我使用参数化设计来制作它们,所以如果需要,我们可以很容易地改变它们的尺寸。我们只需要改变齿的数量,所有的尺寸都会自动更新,使滑轮的尺寸合适。
对于第一个关节,我们有20:1减少率,在两个阶段中实现了这些定制的滑轮。这里使用的两个GT2带是闭环,长度为200mm和300mm。机器人接头由两个推力轴承和一个径向轴承组成。
对于第二个关节,我们具有16:1减少率,以相同的方式实现,第三个关节具有4:1的减少率,仅仅具有单阶段减少。关节是空心的,所以我们可以使用它来从电机和微开关中滑动电线。对于每个皮带,有槽,我们可以将惰轮滑轮连接到张紧它们。
机器人夹具是由MG996R伺服电机驱动我们可以很容易地改变夹持器的两端,以实现不同的夹持尺寸。机器人的Z轴由一个8mm丝杠驱动,整个手臂组件在四个10mm光杆和直线球轴承上滑动。机器人的高度仅仅取决于光滑杆的长度,在这个例子中是40厘米。丝杠需要短2cm,以适应这种配置,如果不是,Z电机可以提高2cm使用间隔螺母。
您可以下载3D模型,以及用于3D打印的STL文件,下面。
SolidWorks文件:
3D打印STL文件:
3D打印机器人零件
好吧,所以我们可以继续使用3D打印零件。我使用了我的Creality CR-10 3D打印机来打印所有部分,这是一个真正的伟大的3D打印机,价格实惠。如我所提到的那样,零件设计成适合较小的3D打印机,例如Ender3。
对于大多数部分,我使用PLA+材质,蓝色的,以及普通的PLA滑轮和夹持器。以60mm/s的打印速度打印所有零件大约花了120个小时。基地是打印的最大部分,大约花了32个小时。但是,如果我们提高印刷速度,我们肯定可以打印更快的零件。
以下是所有3D印刷部件。
请在此处快速注释,我在切片软件中打印了启用的水平扩展为-0.1mm。这使得部件能够具有更准确的尺寸,并且与轴承,杆和螺栓这样的其他机械部件更好地适合。
组装机器人
下面是组装这个基于Arduino的SCARA机器人所需的组件列表。电子元件的列表可以在本文的电路图部yabo7. com分找到。
- 4 x光滑的杆轴- 10毫米400毫米 ........................亚马逊/伯格多德/阿里巴巴全球速卖通
- 1x铅螺丝 - 8mm 400mm ....................................亚马逊/伯格多德/阿里巴巴全球速卖通
- 4 x线性轴承10毫米 ...........................................亚马逊/伯格多德/阿里巴巴全球速卖通
- 1 x 40 x60x13mm推力球轴承 ........................亚马逊/阿里巴巴全球速卖通
- 2 x 35 x52x12mm推力球轴承 ........................亚马逊/阿里巴巴全球速卖通
- 5x径向滚珠轴承8x22x7mm ..............................亚马逊/伯格多德/阿里巴巴全球速卖通
- 各种长度M3,M4和M5螺栓和螺母
yaboAG娱乐城披露:这些是联盟链接。作为亚马逊助理,我从合格购买中获得。
以下是该项目所需的螺栓尺寸:
我们用基地开始装配。在此首先,我们将径向滚珠轴承插入35mm内和47mm的外径。
然后是第一个推力轴承,内径40mm,外径60mm。这个轴承将位于滑轮和底座之间。
在底座的另一侧,我们使用了另一个同样尺寸的推力轴承,并搭配了联轴器。
然后我们可以使用具有55毫米长度的四个M4螺栓将皮带轮和上部耦合。我们需要在这里使用自锁螺母并适当地拧紧它们,因此接头在能够自由旋转的同时坚固。
接下来,我们需要安装中间滑轮。这个滑轮与一个300mm GT2皮带的联合滑轮配对。为了安装这个滑轮,我们使用了两个608滚珠轴承,一个在底座的顶部,另一个在底部。然后使用45mm M8螺栓,一个垫圈和一个自锁螺母,我们可以固定滑轮在地方。
接下来,我们需要为这个接头安装步进电机。步进器将与中间皮带轮搭配200mm皮带。为了将它固定在底座上,我们需要4个M3螺栓。
在拧紧螺栓之前,我们需要把皮带尽可能地拉紧。只是一个快速的注意这里,我实际上更换了M8螺栓的中间滑轮的头部在底部,这样它可以适合在基地。
此时,我们应该检查皮带是否足够紧。如果没有,我们可以使用一些惰轮滑轮更好地拧紧它们。在这里,我正在使用35mm m5螺栓和一些坚果来制作紧固皮带轮。
它可以安装在皮带两侧的槽上,因此我们可以尽可能多地拧紧带。我最终拧紧两侧的皮带。有了这个,第一个联合完成。
我继续安装此接头的微开关。在将它固定到位之前,我已经将电线焊接到它上面,因为它在这里有点紧张。我们需要一个20mm m3螺栓和螺母,以将微型开关固定到位。
联合耦合器通过如此关闭我最终使用一个螺栓来固定开关的开关。在另一个洞上,我刚插入较短的螺栓并将其粘在底部。这方面交换机足够安全,可以正常工作。
好,接下来我们开始组装z轴。首先,在联轴器的顶部,我们需要固定z轴底板部分。
在它的顶部,我们可以固定光滑杆的四个夹具。然后我们可以将光滑的杆插入到位。它们应该紧紧搭配并一直到联合耦合器部分。我们可以用带有一些m4螺栓和坚果的夹子拧紧杆。
此时,我们需要将轴承插入导线螺钉。要完成这一部分,我们只能在一个简单的封面上滑动,这将隐藏一切,并为机器人提供更清洁的外观。
接下来,我们可以继续组装机器人的第一个手臂。手臂将由两部分螺栓连接在一起。第一部分是我们需要安装将滑过光滑杆的线性轴承。将它们插入到位可能有点困难,因为它们非常紧。
实际上,这取决于你的打印机打印零件的精确程度。所以我建议在打印零件时使用水平扩展功能,并根据你的打印机进行调整。在我的例子中,我无法安装两个轴承来一直向下,但这没什么大不了的。
好了,现在我们可以把手臂的两个部分配对在一起。为此,我们将使用4个25mm M5螺栓。
接下来,我们可以安装第二步电机。在这里,我将使用带有20颗牙齿的3D印刷GT2滑轮。我使用前面提到的参数设计制作了这款滑轮,它很好地工作。在这里,我们还需要将铅螺母固定到位。
接下来,我们可以为第二个关节安装皮带和滑轮。这里我们需要一条400mm的皮带和一条300mm的皮带。安装他们的程序是几乎相同的解释为第一个接头。
这里用于第二个关节和第三个联合,我们实际使用较小的轴承与第一个相比。径向滚珠轴承具有30mm内径和42mm外径,止推轴承具有35mm内和52mm的外径。
在安装第二个关节耦合器之前,我们需要在六角形插槽中插入六个20mm m4螺栓。
它们将用来连接第二只手臂到关节上。如果需要,为张紧皮带,我们可以使用相同的方法,如前所述与惰轮。最后,我将第二个微开关固定到位,手臂一号组装完成。
我继续将第二臂连接到联合耦合器。在这里,我们在先前安装的联合耦合器中使用那些螺栓,以固定第二臂的上部。
此时,我想测试关节有多少次跳闸。当然,我预计由于皮带导致的一些反弹,但实际上有更多的方式在关节的两部分之间发挥更多。我注意到这个问题是螺栓去的洞,比他们的自我略大。为了解决问题,我们需要更紧密地坐在螺栓和孔之间。
所以,在我的案例中,我用4.5mm的钻头将孔扩大,并使用M5的螺栓,而不是M4的螺栓,将两个接头固定在一起。但是我更新了3D模型,孔是3.5mm,你可以用M4的螺栓把这两个部分连接在一起。我也回到了第一个关节,做了同样的事情。现在关节处的游戏几乎结束了,除了皮带给我们带来的小反弹。
好了,现在我们可以继续组装第二只手臂了。这里首先我们需要为第三个关节安装步进电机。
在这个例子中,我使用了一个更小的步进电机,这样手臂就会轻一些。尽管如此,它是一个NEMA 17步进电机,但较短的24厘米长度。
同样,我们有相同的步骤来安装带有3个关节的皮带和滑轮,除了这里,我们只需用400毫米的腰带使用单级减少。接下来,在将该臂的下部安装到上部之前,我们需要连接电机和微开关并通过第二接头。
在这一点上,我们还需要插入末端执行器的导线。在我的情况下,我插入了一个步进电机4线电缆,我将使用它来驱动我的夹具需要3线的伺服电机。
接下来,我们需要在上臂的槽中插入M4螺母,该臂将用于将下部固定到其上。
在合并之前,我们应该在那些钩子下传递电线,以便它们远离运动部件。
从第二个关节出来的电线实际上会被滑轮上的螺母卡住,所以我做了一个简单的电线支架,把电线和螺母分开。
我们应该将导线安排在手臂的一侧,以避免与活动部件接触。最后,我们可以插入第一个手臂的盖子。
盖子用卡扣配合接头固定到臂上。由此,机器人臂组装完成。
所以接下来,我们可以将整个组件插入Z轴杆。
然后我们需要准备z轴顶板,它将保持杆的上端。首先,我们可以安装z轴的微开关,并将for夹具附加到板上。
在放置顶板到位之前,首先我插入一个简单的盖子就像下面的一个,以隐藏夹具,螺栓和微开关。然后我们可以插入和紧固顶部板到杆使用夹具。
接下来,我们需要将铅螺钉插入到位。
我所拥有的一点更长,所以我使用金属手锯将其切到38厘米。接下来,我们可以安装第四步道电机到位。在这里,我们需要使用5毫米至8毫米的轴联接器,用于将电机连接到引线螺钉。
最后,我们可以把电线穿过盖子,用两个螺栓把它固定在顶板上。
好的,接下来我们可以做一些有线电视管理。我用电缆套管把电线放在一起,然后清理混乱。为了这个目的,我还用了一些拉链。
在把电线放进电缆套管之前,最好是标记每一个,这样你就不会连接错任何东西。
现在剩下的是机器人的末端执行器。我们可以在机器人上做任何末端执行器。我选择做一个简单的夹持器,由MG996R伺服电机驱动。抓手是基于两个6mm的杆,在其两侧滑动。
两个滑动侧通过伺服喇叭、一些3D打印链接和M3螺栓螺母与伺服连接。我使用M3的螺栓和螺母为整个夹持器组件。实际上,你可以在网站文章中找到这个项目所需的螺栓和螺母的完整列表。固定螺栓和螺母的空间很紧,所以你需要一些神经来组装这些零件。
不过,这种设计的好处是我们可以很容易地改变夹持器的末端。它们可以更宽或更窄,也可以有特定的形状。我们可以用一些M4的螺栓和螺母把夹持器安装到机器人手臂上。
最后,我们可以将伺服电机连接到我们之前安装的电线。
就是这样,我们的Scara机器人手臂完全组装。现在留下了什么是连接这个项目的电子组件。yabo7. com
SCARA机器人电路图
因此,我们将使用Arduino Uno董事会与CNC盾牌组合使用A4988步进驱动器.
虽然它是一个机器人,看起来更复杂,但这就是我们这个项目所需要的全部电子设备。yabo7. com值得注意的是,除了Arduino UNO,我们还可以使用Arduino MEGA与RAMPS 3D打印机控制器板相结合。
尽管如此,我3D打印了Arduino UNO的案例,它可以很容易地附着在机器人的基础上。我将使用季度分辨率来驱动脚步,所以我将一些跳线放在适当的别针中。现在我们可以将步进电机和微开关连接到数控屏蔽。
这是这种斯卡拉机器人的电路图以及如何连接的一切。
您可以从下面的链接获取此项目所需的组件:
- 步进电机 - Nema 17 ..................亚马逊/伯格多德/阿里巴巴全球速卖通
- A4988步进司机...................... ...亚马逊/伯格多德/阿里巴巴全球速卖通
- Arduino CNC Shield ............................亚马逊/伯格多德/阿里巴巴全球速卖通
- Arduino Uno .........................................亚马逊/伯格多德/阿里巴巴全球速卖通
- MG996R伺服电机...................... ......亚马逊/伯格多德/阿里巴巴全球速卖通
- 限位开关 ........................................亚马逊/伯格多德/阿里巴巴全球速卖通
- 直流电源..............................。亚马逊/伯格多德/阿里巴巴全球速卖通
yaboAG娱乐城披露:这些是联盟链接。作为亚马逊助理,我从合格购买中获得。
为了为机器人推送,我们需要12V电源,能够提供至少4A,但我建议12V 6A电源。当然,这取决于步进驾驶员的当前限制如何,我建议将其设置为最低水平。
最后,我把所有的电线都挤到机箱里,同时尽量不让硬盘散热器散热,并把盖子盖上。
完成组装
SCARA机器人现在完成了,我们现在要做的是把基地固定在什么东西上。为此,我将使用20毫米的木板。在机器人底座的底部我们有12个孔来固定它。所以,我打印了一张机器人底座的图纸,并用它在木头上打洞。
在底部我沉他们,因为我将使用平头螺栓,所以他们闪光与木材表面。我先将M4螺母插入底座槽位,然后将木质底座固定在机器人底座上。
现在,理想情况下,为了将机器人固定到位,我们可以将其螺栓到桌子上,或者我将只是为此目的使用夹具。
所以这是,我们的萨拉机器人现在完全已经完成了。虽然在这个视频中留下了什么,是看机器人的工作原理。
SCARA机器人是如何工作的
在定位和方向方面有两种用于控制机器人,并且使用前向或逆运动学。
当我们需要从给定的关节角度找到末端执行器的位置和姿态时,正运动学被使用。
另一方面,逆运动学用于当我们需要为给定的末端执行器位置求关节角的时候。这种方法在机器人技术中更有意义,因为大多数时候我们希望机器人将其工具定位到特定的位置或特定的X、Y和Z坐标。
利用逆运动学,我们可以根据给定的坐标计算关节角。
正运动学和逆运动学的方程都来自于三角学的规则和公式。
SCARA机器人Arduino编程及处理代码
在本文的底部,您可以找到Arduino和Processing代码。
下面是在Processing开发环境中编写的代码中的方程。
// FORWARD运动学void forward运动学(){float theta1F = theta1 * PI / 180;//角度到弧度的浮动xP = round(L1 * cos(theta1F) + L2 * cos(theta1F + theta2F));yP = round(L1 * sin(theta1F) + L2 * sin(theta1F + theta2F));}
因此,通过正运动学我们计算末端执行器的X和Y值,根据机器人的两个手臂的关节角度,以及它们的长度L1和L2。
另一方面,用逆运动学我们计算关节角,根据给定的位置或者X和Y坐标。
/逆运动学void INVERSE运动学(float x, float y) {theta2 = acos((sq(x) + sq(y) - sq(L1) - sq(L2)) / (2 * L1 * L2));If (x < 0 and y < 0) {} = atan(x / y) - atan((L2 * sin(ta2)) / (L1 + L2 * cos(ta2)));= (-1) * * * 180 / PI;= * 180 / PI;如果(x >= 0 & y >= 0){//第一象限的角度调整,取决于最终的工具坐标x,y是什么;} if (x < 0 & y > 0){//第二象限theta = 90 - theta;} if (x < 0 & y < 0) {// 3d象限theta = 270 - theta1;= 270 - 1 - 2;= (-1) *; } 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。使用此库,我们可以轻松创建按钮,滑块,文本字段等。
例如,我们使用左侧的滑块来控制关节角度,并使用文本领域我们可以进入我们希望我们的机器人去的位置。通过我们在这里使用的每个操作,我们通过串行端口将数据发送到Arduino板。
if (gripperValue previous != gripperValue) {if (activeIK == false){//检查逆运动学模式是否激活,只有逆运动学模式为off或false时才能执行正运动学gripperAdd = round(cp5.getController("gripperValue").getValue());gripperValue = gripperAdd + 50;updateData ();println(数据);myPort.write(数据);}}
这些数据包括关节角度、夹持器值、速度和加速度值,以及用于判断我们是否点击了保存或运行按钮的指标。
public void updateata(){data = str(savestatus)+“,”+ str(runstatus)+“,”+ str(round(cp5.getcontroller(“j1slider”)。getValue())))+“,”+ str(圆形(cp5.getcontroller(“j2slider”)。getValue()))))+“,”+ str(round(cp5.getcontroller(cp5.getcontroller(“j3slider”)。getValue())+“,”+ str(row(cp5).getController(“zslider”)。getValue()))+“,”+ 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] - 加速值* /
有了这些变量,我们就可以对机器人采取行动了。例如,如果按下SAVE按钮,则将当前关节角度值存储在一个单独的数组中。
//如果按下保存按钮,将数据存储到适当的数组中(数据[0] == 1){theta1Array [positionscounter] = data [2] * theta1angletosteps;//存储步骤中的值=角度* angletosteps变量theta2Array [positionscounter] =数据[3] * theta2angletosteps;phiarray [positionscounter] =数据[4] * phandletosteps;zArray [PositionScounter] =数据[5] * ZdistanceToSteps;GripperArray [PositionScounter] =数据[6];positionscounter ++;}
如果我们单击“运行”按钮,我们执行存储的步骤等。
用于控制步进电机,我使用了Accelstepper库.虽然这是一个伟大的库,用于同时控制多台挺杆的伟大图书馆,但在控制这样的机器人时,它有一些限制。当控制多个脚步时,库无法实现加速和减速,这对于机器人的光滑操作非常重要。
步道1.Moveto(步道1Position);步道2.Moveto(步道2Position);步道3.Moveto(步道3Position);步道4.Moveto(步道4Position);虽然(步骤per1.currentposition()!= =梯形PER1POSTION || Stepper2.CurrentPosition()!=梯形pER2.position()!= = =梯形per3.currentposition()!=梯形per3position()!=梯形图3position || step per4.currentposition()!= =步骤per4position(){stepper1.run();stepper2.run();stepper3.run();stepper4.run();}
我仍然设法用库实现加速和减速,但它们不像我想的那样平滑。
以下是此Arduino Scara机器人项目的全arduino和处理代码:
总结
最后,一旦我们把代码上传到Arduino上,我们就可以运行处理程序,连接电源scara机器人就会开始移动到它原来的位置。
从那里开始,我们可以做任何我们想要的东西。我们可以手动播放或将其设置为自动工作。当然,我们可以附上任何类型的末端效应器,并用它制作很酷的东西。例如,我们甚至可以将3D打印机热端连接到机器人,因此使机器人成为3D打印机,或者安装激光头并使其成为激光刀具。我计划尝试这两种想法,所以确保订阅我的频道,以便在我未来的一些视频中不容错过它们。
在此视频结束之前,我想为您提供一些关于此项目的注释。我发现机器人不像我预期的那样僵硬。
我想问题是,几乎是整个斯拉卡机器人,z轴和臂只能由第一接头支撑。在移动时产生的整体重量和惯性力可以对第一节所在的基地产生非常应力,并且因为它只是塑料倾向于弯曲一点点。此外,这些皮带不会自由间隙,因此我们也可以降低机器人刚性。但是,我认为整体项目足够好,以便你了解萨卡机器人的工作,并为您提供为自己建造一个的勇气。
请在下方的评论部分提出任何问题,并检查我的Arduino项足彩网女欧洲杯目集合.
另一个令人敬畏的项目,我想要建造。参考第一Z轴关节弯曲到大量屈曲,我发现使用旋转轴承采用伺服的所有应变。
谢谢,玩得开心!
你好,
优秀的工作,非常好。你能告诉我吗?
如何使用GUI Scara机器人接口?我从未使用过.pde文件。如何运行.pde文件?此外,如果我构建萨拉,我可以使用不同的武器长度并在Arduino中修改这些参数?
我需要修改哪些参数
嘿,谢谢!这个GUI是使用Processing IDE制作的,所以你需要将它安装到你的电脑上,然后在上面运行程序。Arduino连接到计算机,通过Processing IDE,它们可以通过串口进行通信。更多的信息,你可以查看我的一些其他教程相关的主题,你可以使用“搜索”按钮功能的网站。
至于手臂的长度,你当然可以修改。在处理代码中,您只需更改L1和L2参数,以匹配您的实际长度,因此正运动学和逆运动学计算正确。
你能得到一个教程的乐趣360吗?我认为这是一个很棒的软件。因为我发现你在每个项目里都用它。
伟大的项目我要试一试!
我找不到硬件,螺栓和坚果列表。你能给我一个链接吗?
谢谢!
非常酷的项目。感谢分享
令人敬畏的项目。迫不及待地想打开我的。在什么层高度和填充物%您打印零件?
谢谢!我印刷0.2mm层高度和约30%“立方”填充物的零件。
有趣的建筑!
你好德州,
伟大的项目,伟大的工作,你做得很好。期待着3D打印机和激光切割机的热门端
用真空吸盘怎么样?
来自德国的问候
埃里克
你好,Dejan,我目前正在采购制造这个机器人的所有部件。问:GT2同步带的宽度是多少?感谢你又出版了一个伟大的项目!
嘿,GT2同步带的宽度是6毫米。
你好
似乎stl文件链接不工作..
你能谈谈它吗?
谢谢
您无法下载它们,也无法打开文件?在第一种情况下,尝试使用不同的Web浏览器下载它们。
令人敬畏的项目!!!很少的问题,也许我想念那部分,但是我们需要多少pla(kg)来制作自己的萨拉?
谢谢!嗯,我没有跟踪那个,所以我无法讲述确切的数字。我认为大约1到1.5kg的东西。
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计算运动学模型做任何你想做的事。我使用Processing IDE只是为了制作一个更容易控制机器人的GUI。
您好Dejan,精彩的项目,以及您对项目和构建指令的真正伟大。我现在正在尝试建立机器人,一些打印机现在正在嗡嗡作响。
我的检测是否正确,8mm棒400mmm钳型(8x需打印)不在你们的STL出口档案中?
嘿,谢谢!是的,他们失踪了。我刚刚更新了文件。
亲爱的作者,
缺少一个STL文件 - 这4个小元素以保持杆到位
是的,我刚刚更新了文件,谢谢!
你好德州,
很棒的项目!是否有可能将所有这些连接到您在Arduino机器人和mecanum车轮项目中定制的pcb上?我想知道我是否可以把它连接到我的手机上,用蓝牙控制它……
谢谢,这是一个很好的工作
你好Dejah,
很好的项目,但是关于正运动学和逆运动学的公式有一些问题。
正运动学:
如果角度是像图片中那样给出的,那么“x”坐标与各自角度的窦成比例,它将是:x=L1*sin(theta)+L2*sin(theta1+theta2),对于“y”,同样的(意味着cos)。角应该是/2
反向运动学:
1)长度L1和L2应按平方(如在您的程序中)
2)减号,应该是-L1^2和-L2^2(我们可以在你的程序中看到)
3)如前进的运动学,你应该改变图片中的角度
维克多,谢谢你的建议,你是对的。我把这些公式搞混了。我现在更新了图像。我没有改变图像中的角度,而是改变了x和y的公式,我希望这不会让其他人感到困惑。我想我在程序中做的角度调整是由于这些公式是如何设置的。然而,这些公式现在是正确的,因此人们可以在适当的时候修改代码。再次感谢,干杯!
你好
您的STL文件缺少4杆的夹子。
拉尔夫
嘿,谢谢你报告它,我刚刚用钳位更新了文件。
你好,
伟大的项目,我只是打印的部分,但我错过了arduino盒子的stl平滑的杆夹具。
你能上传这些吗?
谢谢
嘿,谢谢!我已经更新了下载文件并包含这些文件。
真的很好的项目,很多学习
你好,
首先,这是一项伟大的工作,先生。
在STL Zip文件中缺少左/右侧的“抓握宽端即可”
你能上传它吗?
谢谢你!
嘿,谢谢。那份文件不见了,谢谢你的报告。我已经更新了文件。
嗨Dejan,
感谢您的帖子的更新!我刚刚完成了构建,它适用于主要关节的合理反射。臂关节快速运动仍然感觉非常坚固。我注意到的其他事情是'便宜的'Z杆轴也是在Z运动期间提供一些“摆动”;)。
关于你的arduino代码,我必须修剪脚步速度和归位速度,肯定是一半。不确定那里有什么不同。
我使用(在设置方法):
stepper1.setmaxspeed(200);
stepper1.setAcceleration (500);
在“归巢”方法中:
stepper1.setSpeed (-200);
stepper1.runSpeed ();
stepper1.setCurrentPosition (-1978);//当限位开关按下设置位置为0步时//-3955
我还不得不将限制开关上的步进位置修剪回一半。不确定是什么原因。
你能确认或建议另外两个“stepper1”调整吗?
干杯!
爱它!你能解释一下联合设计吗?我理解推力轴承,但为什么你也需要径向轴承?更稳定?不幸的是,我的prusa迷你无法打印这个项目,所以我需要设计一个较小的版本。去年我试图使用处理来控制笛卡尔CNC但失败......必须尝试调整代码
你好,我很高兴见到你。SCARA机器人è molto interesting, sono in fase di realzione。他说:我希望你能给我一个机会。他是在608年和大约2代西米già的情况下去世的。直径为22毫米,直径为22.2毫米。所有的马吉拉齐奥尼和他的家人都在一起。你好,我是你的朋友。
例子
对不起,这是英文版本
您好,我遵循所有项目。足彩网女欧洲杯Scara机器人非常有趣,他们正在建设中。一个小的注意:轴承外壳需要更大。例如,轴承座608应在设计阶段增加约2分。22mm外径可以是22.2mm的设计。这也增加了另一个轴承的座位。良好的工作,我正在等待其他优秀的项目。足彩网女欧洲杯
好项目!我可以造一个。细节很好,一步一步的解释。也许底座关节可以用“转盘”轴承来支撑。我在另一个5自由度机器人手臂项目中使用了它,效果更好。
很高兴听到这个消息!是啊,基础关节肯定需要更好更宽的轴承。
恭喜你,干得好。
根据描述,第三度的比例为1:4。在我看来,它是1:4.5(20/90 = 4.5)。是这样吗?
是的,确实是这样!
我组装了机器人。不幸的是它没有开始!电源打开时没有任何反应。请帮忙。
有什么进展吗?我的意思是有很多事情可能是错误的。你应该首先检查你的电子部件是否工作正常,比如你的Arduino,数控屏蔽或步进驱动器。尝试使用一个简单的代码,尝试运行单个电机的几个步骤,看看他们是否工作。如果电子工作,yabo7. com您应该移动故障排除软件部分,或处理代码。此外,它们简化了代码或移动,并确保您的波特率和COM端口是正确的。
你好,
我喜欢这个项目,你启发了我,让我自己制作一个!在我深入讨论之前,我对你的结果很好奇。
你认为这个手臂的最大有效载荷是多少?你达到了怎样的精度/重复性?
看到你的新项目总是很高兴,谢谢你创造的!足彩网女欧洲杯
嘿,谢谢!我还没有做过关于最大有效载荷的测试。在视频的最后可以看到,手臂上有一个小的动作,所以现实地说,它没有那么高的精确度和重复性。改进的方法是在基础关节使用更大/更宽的轴承,可能使用更好的皮带或可能减少皮带的数量或减少阶段从两个到一个。这些Z轴轨道也很好。
嗨,Dejan,非常感谢你的回复!
我现在已经制作了我自己的手臂——主要是基于你的设计!(我在一些地方省钱了,哈哈)到目前为止,这绝对是一个有趣的学习经验!
我已经搬到了指定的坐标现在没有问题。看到在手臂上实施G代码的方法很棒,我正试图弄明白,但现在已经超出了我。像这样的教程是惊人的。
谢谢你,鼓励我做到这一点,设计有很多乐趣!
有很多进展!机器人开始了!现在,力学需要改善一下。
伟大的项目,建造它,它很棒。必须进行一些调整,但您的教程让我通过了任何问题。我想知道你是否对我有任何问题,请在我的YouTube频道中制作我的手臂的副本。当然,在开始时,我会作为项目创建者引用,并参考您的频道,因为我能够使用各种视频来学习很多。如果有问题那么我将很好我自己的手臂,这不会是你的副本。请让我知道你的想法。另一件事我是一个退休的81岁的程序员,具有建筑机器人和无人机的爱好。我确实创建免费视频来帮助他人,因为在线视频帮助了我。
谢谢!好吧,我很高兴你找到了我的工作有用。当然,前进并分享你所做的胳膊的视频,我很想看到它。您也可以在评论部分中分享它,因此其他人可以从这里看到它。干杯!
德扬
谢谢你对我的机器人感兴趣。我刚刚在我的YouTube频道“LotBot Robotics”上发布了两个视频中的第一个。我不确定它将如何包括,但我把YouTube入口从我的频道在这里。(https://youtu.be/FKMeaDhvkUk)它被称为“使用STM32F4黑丸来控制萨拉机器人远程第1部分可行性”
你好,
我还建造了斯卡拉机器人。我修改了所有的3D模型来适应
与我已有的其他项目的所有组件,甚至添加了一些3d功能,以简化在手臂内部的电缆布线。足彩网女欧洲杯
我使用12mm线性轴和法兰衬套以及12毫米的铅螺钉和螺母,引线8mm和2mm间距。我还拥有一个坚固的铝基框架结构,我将电源,Arduino Uno和CNC屏蔽,台阶电压转换器和风扇以及从后部的交流电源开关。
归航序列工作完美,唯一的问题是我有和我困惑。
当它对归位序列来说,X,Y,Z为365,0,170。由于我的线轴的高度,我的Z略微不同于YouTube上的一个。一旦我按下抓取器值滑块打开,它会在z中潜入并击中表格。我可以在PDE中改变什么,停止,它真的不应该这样做,它应该只应该将夹具移动到我希望它打开的地方,关闭或任何需要。您的帮助将会受到赞赏
先生:
你做了一部作响和非凡的工作
很高兴听到它,谢谢!
嗨迪恩
我在使用的时候有一些问题
处理pde Scara程序,我不明白为什么有时当我走到一个位置,然后移动夹持器滑块
它立即回到
x365 y 0和z
为什么??它不应该这样做
我的夹持器在0度打开,在90度关闭
在项目中有办法改变吗?
和你交流最好的方式是什么,我在你的facebook上发过帖子,通过messenger发过消息,在YouTube上留下了评论,还有这里
我需要你的帮助,因为你是创作者,我不太擅长编程-
MG996R伺服电源如何?具有单独的5V电源,还是从CNC屏蔽V3上的5V连接器供电?
嗨,我发现夹持器伺服保持器部分的孔与夹持器盖部分不匹配。你认为这是可能还是错了?你能检查一下。谢谢
我的夹持器有问题。当夹在一个对象,伺服锁和抓手不打开!是什么导致了这个问题?在不夹紧工件的情况下打开和关闭夹持器是没有任何问题的。我在寻求解决这些问题的帮助。
你好
我还建造了萨拉,我有一些问题,也许你可以帮忙
到家后,我会按下手柄滑块
对于任意值,它只是向下z
我的钳子打在桌子上
你知道问题是什么吗?
这里是一个我留下的关于如何机电一体化的帖子
https://www.facebook.com/15906097/posts/2920506971496233/71496233/?D=N.
我的机械手有个问题。钳口由MG-996R伺服驱动,并通过CNC Shield v3由Arduino Uno(引脚A0)控制。在命令关闭被抓住物体上的颚后(大约。360毫安电流在伺服电源电路中流动),夹持器锁住,即夹爪无法打开。伺服噪声低,电流大于200mA。我理解伺服“想”到达给定的位置,但是在颚部的物体抵抗阻止伺服转动。但是为什么夹持器卡住了,并且在发出打开下颌的命令后没有反应呢?没有夹紧工件上的钳口,夹具工作没有问题。
我正在请求项目作者或同事帮忙解决这个问题。
你好
我已经发布了一些问题,我在使用Scara控制程序时遇到的问题,它似乎是有bug的,并不是完全的证据,请阅读我的帖子,并让我知道,如果你有同样的问题或有解决方案
谢谢
限制是没有或nc的限制?
它们通常是关闭的。
这就跟你问声好!
我喜欢你的机器人,想要做同样的事情。
我有两个问题:
1.如何安装第二个伺服?
2.如何在控制程序中增加“保存g代码”和“加载g代码”功能?
PS.
你没有显示连接A轴的方法,我们需要增加两个跳线
嘿,谢谢!嗯,您可以安装第二个伺服器就像第一个安装的伺服电源,如果您有用于控制它的可用引脚,则可以控制它。至于保存和加载G代码,我虽然是制作该功能,但我没有时间做到这一点。我不能给你任何提示,因为我没有尝试在其他地方实施这样的代码,而是当然,这是可能的。