步骤1:所需零件和工具成分3D灯丝(我使用黑白PLA,但也可以使用ABS)至少8个SG90舵机(我说至少是因为我们会破坏,可能会破坏。钓丝细弹力绳4
步骤1:所需零件和工具
成分
3D灯丝(我使用黑白PLA,但也可以使用ABS)
至少8个SG90舵机(我说至少是因为我们会破坏,可能会破坏。
钓丝
细弹力绳
4个弹簧
热收缩管
备用电线
编织尼龙套(这个是可选的,很难找到少量的,可以找替代品或者直接用拉链)
Arduino Uno
电池(我用的是9v,但是充电式fat比较理想)
工具
三维(three dimension的缩写)
熨斗
螺丝刀和其他基本车间工具
强力胶和/或环氧树脂
用于清洁支撑结构的钻头和钳子
剥线器/切割器
第二步:打印
关于印刷的一些评论:
指尖是为双挤压3D打印机设计的,因为黑色的笔尖太细,无法自己打印。(如果你用的是单个挤压式打印机,你不会在指尖上使用黑色的修剪,因为它们太薄了,无法单独打印和粘合,或者你可以将黑色的指尖重新设计得更厚一些。)
我个人用PLA,但ABS塑料也可以。
为了减少打印时间,我把手掌、前臂等大的部位打印了0.3mm的高度,其他部位比如手指我做了0.1 mm。
这取决于您打印的分辨率。
我发现白色塑料容易脏(因为容易被印刷层之间的凹槽卡住),选择颜色时请记住这一点。
第三步:黑客抢劫(第一部分):连续旋转伺服
转向器的旋转受到电位计(一种具有可变电阻和改变旋转的装置)限制的事实可以被读取和计算出旋转角度不能超过180度。
为了克服这个限制,打开伺服系统并切断最上面齿轮上的塑料插头。然后向下钻一个孔,这个挡块让齿轮自由转动,然后咬住电位器的D形针座(见上图4)。现在齿轮可以连续转动,而电位计完全静止。按照原样重新组装伺服系统,并使用以下代码进行测试,以确保它在两个方向上连续旋转。做两个伺服电机。
试验码
重要提示:当修改伺服时,请确保将电位计转到中间位置。这是因为代码会告诉伺服旋转到180度或0度(视旋转方向而定),由于最高档不再啮合电位器,电位器永远不会移动,所以电机会继续旋转,试图永远到达0或180度的同一个方向。但是,如果您的电位计旋转到任何一端,它将读取180或0的角度,并且代码将不起作用,因此请确保电位计旋转到大约中间位置。我不知道我是否用一种有意义的方式表达了自己。如果我应该回来重写,请在下面的评论中告诉我。
第四步:黑客攻击(第二部分):二合一紧凑型DC发动机
我想保持这只手的美感和真实感,所以掌中空间有限,用于伺服。
下面的步骤将讨论如何使两台服务器适应更小的空间,同时保持伺服基本相同(就电路而言)。本质上,我所做的唯一改变是增加了连接电机、电位计和芯片的导线长度。
打开伺服电源
切断电位计和芯片(将它们放在一边以备将来使用)
如图/文章所示,从3个蓝色塑料外壳组件中切下下面的2个。务必确保轴上没有切割凹痕(图4)。
切断最顶端齿轮上的塑料止动块(以便伺服机构可以继续旋转)。
如图所示,重新组装外壳。
因为我们已经移除了电位计2,所以齿轮没有轴来旋转。我最初试图通过将塑料外壳中的一个螺钉切割成8.5毫米的长度来更换轴,但发现它引起了太大的振动。相反,我后来发现了一些直径更好的废棒。
在第二个伺服系统上重复上述步骤。
按上图所示方向用环氧树脂将伺服系统粘合在一起(注意不要在齿轮上涂任何环氧树脂)。
将DC线上的电线焊接到DC马达的电线上。
为了测试电机的工作情况,我还用3.7v的fat连接到其中一个电机上,检查它是否在两个方向上连续旋转(通过反转电池),然后测试第二个电机。
下一步,我们保存的电位计将被放入指关节中,以读取手指旋转的程度(0到90度之间)。通过将电位计和电机连接回芯片,当连接到Arduino时,它可以像任何其他伺服一样用作伺服。
侧面思考:
另一个我考虑过的拇指移动的设计,如上图(图8)和文章所示。我最终决定反对它,因为我无法找到一种方法来从花盆中获得读数,同时保持设计的紧凑和美观。但是制作的步骤和上面完全一样,除了第八步,你要先贴两个电机外壳。如果你最终在你做的任何其他项目中使用这种类型的设计,请告诉我,我很想知道!
第五步:黑客抢劫(第三部分):多余的舵机
三个舵机可以保持不变:
其中一个转向齿轮将用作拇指旋转伺服机构。
两个转向齿轮将用于手腕的左/右和上/下运动。
注意:实际上,sg90转向器没有足够的扭矩来转动手腕。在以后的版本中,我会把前臂做得更大,以适应更强大的伺服系统,比如两个满库MG996伺服系统。
我们从第四伺服系统唯一需要的就是一个黑色的电位器,其余的都可以留作备件。你可能已经打破了前两步的塑料外壳/齿轮,从而使他们无用,而不是浪费另一个伺服,只是使用这些电位计。或者,你可以试着在网上找同样的花盆(我还没见过)。
第六步:组装手指
注意:并不是所有的黑色部分都适合。如果你愿意,可以通过更改Fusion 360文件来解决这两个问题。
用钻清理支撑结构,确保绳子能穿过每个孔后再继续(手指被粘住很难纠正问题)。
安排手指部分在文章中一起展示并用胶水(强力胶或环氧树脂),注意不要粘在接头或绳子穿过的孔上。
通过顶部孔喂入弹性,如果你想通过底部孔测试手指喂入线,也可以选择。鱼线拉的时候手指要收缩,松紧带松开要拉回来。如果你选择测试它们,请立即移除鱼线。
重复4个主要手指(拇指将在稍后完成,以避免组装手时的干扰)
使用之前保存的三个电位计,将延长线焊接到其上。我建议把热缩管放在延长线的末端,开发一个色码来区分每一根线(包括线和伺服电机,手里出来的线有22根,如果你没有一些编码系统的话是不会区分的。
将所有花盆旋转90度(即两端阻挡旋转的中间位置),然后将每个花盆推入食指、中指和无名指。小指不需要,因为它和无名指连在同一个伺服上,但如果你想给小指你自己的锅,我还有空间。
将手指放入3D打印的手掌(顶部)的孔中,然后将弹性体穿过手掌中的孔。在保持松紧的同时,在孔中加入强力胶或环氧树脂。你可以试着打个结,而不是用胶水粘,但在这个过程中,你可能会失去弹性的张力。如果弹力不紧,手指就弹不回来。
将电线穿过手掌,从手腕附近的孔中取出。
第七步:打造一只手
将四个黑色滑轮拧到四个改进的伺服系统上。
上面你可以找到你手中所有舵机的位置,以及用钓鱼线连接手指的图片。为了使布线简单,我建议按以下顺序组装:
拇指收缩的连续旋转伺服(注:这个需要粘贴到位,因为没有足够的墙壁来保持到位,可以用环氧树脂,但是我选择了热胶,以便以后需要的时候可以打捞。
正常的,不变的拇指旋转伺服,如图所示,通过手掌发送到布线。
二合一紧凑型DC电机(注意:小拇指和拇指绑在一起的滑轮比其他三个滑轮大)
中指连续旋转伺服收缩。
在继续之前,我建议我们只需要仔细检查所有的转向器是否仍然有效(在装配手之前解决问题更容易)。
花盆和电机的电线都要从手掌侧的孔里出来。如前一步所述,请确保您有一些可以分离不同电线的系统。我建议用彩色热收缩管。为了保持整洁,我在针织线上滑动编织的尼龙套。袖子很理想。因为它的柔韧性,你也可以用胶带或者拉链。
在每个滑轮上绑一根钓鱼线。我用了一个粘有强力胶的小丁香结来确保钓鱼线不会打滑。将鱼线穿过另一半手掌的孔,对准手指。
将手掌的两半拧在一起。将钓鱼线穿过四个手指,在每个手指末端打一个结。
第八步:制作手腕。
我从旧打印机上保存了几个弹簧,所以不幸的是,我没有它们的零件号或名称。用八个螺钉拧紧(四个弹簧的每端各一个)。使用宽头螺钉很重要,这样它们就不会滑过弹簧的末端,或者在螺钉上放一个垫圈。
拧入弹簧的两侧,一个拧入手掌,另一个拧入前臂。这可能很棘手,需要弯曲弹簧并使用薄螺丝刀(注意不要弯曲/拉伸弹簧,以免造成永久变形)。
一旦四个弹簧都将前臂连接到手掌上,弹出的3D打印球体就会弹出。也许可以用乒乓球,其实比0.1mm的印刷层还要光滑。乒乓球可能是减少摩擦的理想选择(这个想法我还没有测试过,有可能一段时间后乒乓球在压力下会断裂。
将电枢连接到两个SG90伺服电机,并在继续之前将它们移动90度。此代码可以在这里找到。
一旦它达到90度,连接两根钓鱼线到每个伺服系统,每个框架的两端各一根。将服务器安装在前臂上。
几个设计缺陷:
在用于安装服务器的四个螺丝孔中,只有一个可以用螺丝刀够到(无意中)。
而不是在墙的另一边放一面墙,负责左/右移动(即摆动)的伺服可以很容易地从它的底座上拆下来。伺服机构,以防止它在自己的旋转下将自己拉出。
sg90伺服系统太弱,无法实际转动手腕(至少对于我用的弹簧来说),所以这一步其实有点多余,因为手腕不会动。
安装好舵机后,将钓鱼线穿过各自的孔,从前臂伸出(注意不要拧在一起),在小螺丝上打个结(确保钓鱼线不会随着大头或垫圈滑动),然后拧到位。我加一点强力胶就安全了。
第九步:前臂和布线
将金属丝穿过第一个前臂侧面的管子。
将第二个前臂部件拧到第一个上。请注意,在文章和图片中,我前臂的第二块在打印中途失败了,所以我不得不把失败的打印块的两半粘在一起,这对你来说应该不是问题。
将9伏电池放入第二个前臂的插槽中,并将其焊接在母DC插头上,ve位于中间。
第四张图,可以看到芯片看起来和上一步做的二合一改装服务器一样。虽然“二合一改装伺服”中的两个电机不再“看起来”像舵机,但我们可以将它们重新连接起来,像舵机一样“操作”。在图5中,有一个如何做到这一点的图表。只需将电机和相应的电位器(位于指针和无名指指针处)焊接,然后焊接到芯片上,如图所示。伺服现在是“功能”相同的任何其他伺服。
在图6中,有一个如何将所有东西连接到Arduino Uno板的示意图。请注意,红色伺服系统是常规伺服系统,紫色伺服系统是不从电位计读取位置的伺服系统。更具体地说,两个紫色伺服系统是在前面的步骤中被修改成连续旋转伺服系统的伺服系统。
把电位器放在中指关节处,就可以得到位置读数,用它来控制相应的紫色、连续旋转的伺服。
另一个拇指收缩的紫色连续旋转服务器没有位置读数。这是一个严重的设计缺陷,必须在未来版本中修复。目前只能靠视线操作(也就是看着拇指在动的人,告诉Arduino什么时候停下来)。如果它停留在自己的设备上,它将继续旋转,直到伺服或拇指断开连接。我添加了一个连接到引脚6的瞬时开关,它可以用来告诉Arduino何时停止收缩手指。
将Arduino uno安装在其框架中,并将其插入电池的电源插头中。粘上前臂最后的黑色塑料片。
第十步:添加拇指
以与其他手指相同的方式组装拇指的第一部分。但是,你没有把弹性材料放在手上,而是把它粘在了最后一段(见上图第二、三张)。
用手将拇指轴安装座拧到服务器上。就像第四张照片一样,胶水两边的胶水包围着轴(这样的设计结构上比较薄弱,但足以满足这个原型,可以根据需要自由调节)。
将鱼线穿过拇指底部的孔和拇指末端的结。
第十一步:编码
你可以在这里找到代码。
使用代码时要记住的一些事情:
我在代码中只有三个基本的手部动作:波形、拳头和握键。你可以随意定制和添加你自己的。
由于电位计在关节中的方向,伺服系统的运动范围为[90,180]度。例如,90度对应于静止、完全伸展和完全收缩180度的手指。超出范围的值无效,相当于向后弯曲手指。
中指电位计读取最高模拟范围为1023的值。我在第134行使用map()函数将范围转换为与其他手指相同的[90,180]]范围。对于不同的电位计,您的映射值可能不同,因此在设置()中,有几行专用于电位计校准。如果不想在每次运行代码时都重新校准电位计,只需记录校准值,并将变量MidExtd和MidCont设置为等于这些值。
如前所述,在《前臂与布线》中,控制拇指收缩的伺服没有位置反馈,必须通过瞬时开关手动控制。具体请参考moveThumb()函数。
最后,在如何进行连续旋转伺服的步骤中提到,修改伺服很重要,要保证电位器旋转到中间位置(即不是0的极值,也不是180度)。这与拇指收缩和中指收缩有关,因为我们会把()写成任意极值:0或180,取决于我们想如何旋转伺服。
在函数moveThumb()中,我需要将rotAngle的范围从[60,140]更改为不同的值,这取决于连接Thumb时伺服旋转的位置,只要使用该范围,直到我找到合适的范围。
自从上一次测试(几个服务器被断开)以来,我对代码做了一些修改。一切都应该正常工作,但如果我错了,请在下面评论,我会解决它。
步骤12:结束
虽然没有达到预期的效果,但我曾希望自己学到了很多东西,这些知识会内置到未来的版本中。虽然还有一些问题需要解决,但是我特别庆幸我可以控制所有的舵机。
虽然sg90转向器有足够的扭矩来移动手腕,但在用更大的转向器测试时,手腕会像预期的那样移动。下次我会有更宽的前臂来适应这些高质量的服务器。我唯一担心的是,重复使用后,我的手腕可能会开始断裂。
这个缺陷我早就超越了,这里除了我鼓励就不说了。在设计自己的机械臂时,请仔细阅读并牢记这些内容。无论如何,我可以随意使用和更改我分享的融合文件,但我相信这可能是更好的时间分配,我可以开始重新设计和记忆之前的知识。
声明本站所有作品图文均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系我们