主管QQ:站内信联系

机械臂制作图解2023-06-17 00:07

  原始项目设计师居住在欧洲,随后使用公制测量和常用材料。例如,他用于身体的压板是5mm厚的标准。美国的类似材料是1/8“,厚度约为3.7mm。这在开口处留下了一个间隙,最初设计为压配合。而不是纠正图纸,我只是使用Gorilla Glue来固定这些接头。/p》

  他还使用了M3螺纹螺母和螺栓,这些螺母和螺栓在美国当地的五金店不是标准配置。我只是在线订购硬件,如下面的零件清单所示。

  1 - 女性/男性‘延长’跳线“蓝色亚克力板或您喜爱的服务提供商的激光切割件

  伺服延长电缆 - 各种长度此臂的几乎所有部件均采用1/8英寸丙烯酸切割而成。两个关节轴承垫片确实需要然而,要打印。此外,原设计要求两个关节间隔基座与轴承轴高7mm。当我开始组装上臂时,由于TowerPro伺服系统的高度,很快就会发现它们太高了。我不得不用一个只有3毫米高的底座制作新的关节轴承,顺便说一下,它仍然有点太高但可以控制。您需要记下伺服系统的相对高度并考虑两个下臂之间的距离:

  在开始之前,请确保将所有的伺服系统!如果在施工过程中的任何时候,如果您手动移动伺服的位置,则需要在将其固定到框架之前重新定位。对于始终需要一致移动的肩舵伺服系统尤为重要。

  使用M3 25毫米螺钉和六角螺母将底座伺服系统安装到顶部底板上。不要过度拧紧!

  如果您使用我上面的零件清单,您接下来想要通过将每个M3 x 0.5 x 23mm支架螺纹连接在一起,然后用六角螺母将它们连接到上基板来组装5个底座垫片。

  使用丙烯酸安全粘合剂将肩板连接到两个伺服安装板上。我在这里使用了Gorilla Glue。

  注意:两个伺服板中的每一个都在后面有一个孔,允许插入一个加固垫片连接它们。确保孔对齐!

  * 您也可以选择将腕部伺服板粘到两个腕关节板上。我没有选择这样做,而是将它们与支架连接在一起,如下所述。

  将现已固化的肩部组件安装到基座伺服系统上。我使用了伺服系统中最宽的喇叭,它是六根安装喇叭。

  将下臂框架添加到肩部伺服系统可能会非常棘手。我建议在继续之前将喇叭固定在下臂框架上。

  注意:确保在将肩胛骨组件安装到框架上之前将其放在肩部组件的中心位置。这两个伺服系统必须一致移动,如果它们未对准,则至少会导致伺服抖动,如果不对准,可能会损坏框架或伺服系统。

  * 每个肩舵都安装在安装板背面的支架上,而不是让舵机通过板 - 这样就可以将喇叭推到伺服轴上以一定角度固定螺丝。尚未将伺服固定到安装板上。

  通过推动舵机穿过空间组装上臂框架和伺服器在手臂中然后将垫片插入两个上臂板之间并用M3螺钉固定。

  由于喇叭螺丝被打开,因此在将夹具组件连接到该喇叭之前,您需要将腕带固定到伺服器上。

  在将夹具伺服喇叭连接到伺服系统之前,松散地组装夹具以便贴合。这将允许您在上一步中拧紧喇叭。

  我将这个项目构建为一个开发平台,用于我以后的教育项目的一些想法。所以,我的大部分连接都是简单的杜邦

  。我做的唯一焊接是MCP3008。如果你能为这个组件找到一个分线板,那么你应该能够构建这个无焊接臂。

  组成。输出 - 这些项目通过向用户显示状态或使用位置数据更新伺服来向世界传达数据。这些项目是LCD屏幕,LCD背包,RGB LED,伺服驱动板和最后的伺服。处理 - Arduino汇总了最后一个从输入接收数据的组,并根据代码指令将数据输出到输出。

  设备 - 意味着它们呈现可变电压作为Arduino的输入。三个操纵杆中的每一个都有两个模拟输出,用于X和Y(上,下,左),共有6个输入到Arduino。虽然Arduino Uno有6个模拟输入可供使用,但我们需要使用其中两个引脚进行与屏幕和伺服

  最多可接收8个模拟输入,并通过Arduino的SPI通信引脚将其转换为数字信号,如下所示:MCP引脚1-6 》 可变输出拇指操纵杆MCP针脚7和8 》 无连接

  示意图中仅示出了原理图中的操纵杆连接。根据购买的操纵杆及其安装方式,您的连接可能与我的不同。不同

  的操纵杆可以具有不同的引出线,并且还可以不同地定向X和Y.重要的是了解ADC上的每个输入代表什么。每个引脚代表我的代码中的以下关系:

  引脚1 - 基极 - 此引脚上的模拟数据将旋转机器人上的最低伺服针脚2 - 肩部 - 此针脚上的模拟数据将旋转基座伺服上方的两个

  针脚3 - 肘部 - 此引脚上的模拟数据将从肩舵旋转下一个伺服引脚4 - UP/DN手腕 - 此引脚上的模拟数据将旋转腕部伺服,上升和降低夹具组件

  注意:购买和安装零件清单中引用的拇指操纵杆时,请记住模块的方向可能与我的不同,因此,测试x和y输出以正确连接到ADC。此外,如果您使用我的3D打印控制面板,安装孔可能会偏离我的。

  Adafruit PWM/伺服控制器使这个项目变得非常简单。只需将Servos连接到伺服头,即可处理所有

  和信号连接。除非您发现带有超长引线的伺服电机,否则您需要获得一组不同长度的伺服电缆延长线,以便所有伺服电缆都能连接到控制器板。

  电压是通过伺服控制板上的电源接线盒。伺服控制器上的V +引脚实际上是从接线盒向电路的其余部分供电。 如果您需要对Uno进行

  ,我强烈建议在将Uno连接到PC之前断开V +引脚,因为从伺服器获取的电流可能会损坏您的USB端口。注2:我正在使用6V AC到DC墙式适配器为项目供电。我推荐一个可以提供至少4A电流的适配器,这样当一个或多个伺服电机被绑定时,电流的突然上升不会使系统掉电并重置Arduino。

  16X2 LCD屏幕连接到Adafruit LCD背包,以利用伺服控制器已经使用的I2C接口。伺服控制器上的SCL和背包上的CLK都连接到Uno上的Pin A5。同样,伺服控制器上的SDA和背包上的DAT都连接到Uno上的Pin A4。此外,5V连接到+5伏,GND连接到地。背包上的LAT没有任何连接。

  最后,RGB LED连接到Uno上的引脚7(红色),6(绿色)和5(蓝色)。 LED的接地极通过一个330欧姆的电阻连接到地。

  处理最后但并非最不重要的是,未列出剩余的Arduino连接以上内容如下:引脚5V连接到+5伏,GND连接到地。

  在我的设置中,我使用面包板的侧轨将所有电源线和地线连接在一起,并将所有设备的I2C引脚连接在一起。

  如前所述,我最初将此项目构建为本地制作者的演示马戏团。我打算让它成为儿童和成人在我们的展位上玩耍的东西。事实证明,它比我想象的更受欢迎 - 所以,孩子们正在争夺它。因此,当重新编写时,我加入了一个实现时间限制的“演示模式”。

  手臂坐在那里等着有人移动操纵杆,当他们这样做时,开始一个60秒的计时器。在60秒结束时,它停止从用户输入并“休息”15秒。短暂的注意力集中在他们身上,这个休息时间大大减少了对坚持时间的争夺。

  以下参考部分列出的代码非常简单。数组使用最小,最大范围,原始位置和当前位置跟踪6个关节。当手臂通电时,启动功能定义了与MCP3008,LCD背包(以及随后的屏幕)通信所需的库,并定义了LED引脚。从那里它做了一个基本的系统检查,然后继续回家。主页功能从夹具开始向下移动到底座,这样可以最大限度地减少在正常情况下绑定的可能性。如果手臂完全伸展,那么在给手臂供电之前最好手动将其固定住。由于通用伺服系统不提供其位置的反馈,因此我们需要将每个伺服系统放置在预定义的位置并跟踪每个位置的移动距离。

  主回路首先以等待模式启动 - 寻找操纵杆离开其中心位置。一旦发生这种情况,主循环会将状态更改为倒计时状态。当用户移动每个操纵杆时,操纵杆相对于中心的相对位置将增加或减去当前已知位置并更新适当的伺服。一旦伺服器在一个方向上达到其定义的极限,操纵杆就会停止。用户需要向另一个方向移动操纵杆才能再次移动操纵杆。这是对伺服器施加的软件限制,无论其硬件停止如何。此功能允许您在需要时将手臂的移动保持在指定的操作区域内。如果将操纵杆释放到中心,则移动将停止。

  这段代码只是一个普遍的起点。您可以根据需要添加自己的模式。一个示例可以是无定时器的连续运行模式,或者可以将操纵杆按钮添加为输入并写入记录/回放模式。