电子说
步骤1:所需条件
设备
烙铁,3D打印机,喷水切割机。
材料
PLA 3D打印灯丝
硅
钢踏板
M3X20螺钉
M3X10螺钉
M3螺母
M3垫圈
623zz球轴承
CAD软件
组件
(12)伺服马达MG995
(2)9V电池
(1)6V,7Amp电池
GoPro摄像头
Arduino MEGA
Arduino NANO
(2)游戏杆
(2)HC-05蓝牙模块
(1)10K电位器
第2步:力学和设计所需的零件
M机械设计
机械设计从每条腿要使用的伺服电动机的数量开始。在该项目中,决定每条腿使用2个伺服器,从而使其具有更大的自由度,并使其自然性显着。显然要提到的是,在任何类型的机械,机器或机器人中,自由度越大,动作和动作的自然性就越大。在此项目的计划,要求和限制范围内,将使用12个执行器,每条腿2个。如前所述,伺服电机将是腿的主要组成部分,假设它们是代表机器人关节的那些点。通过触发机器的不同运动,一起模拟运动使其行走。根据前面提到的伺服电机的尺寸,设计了一个外壳,其中装有这种类型的执行器。这一个的尺寸为设计一种紧固系统提供了参考点,该紧固系统用于支撑整个腿部的支撑元件和连接器。伺服电机中的一个垂直放置,另一个水平放置,这主要是由于其轴的旋转方向和激活其所拧紧的元件的方向,从而使x轴或y轴产生运动,这是行走的必要条件。六足动物。查看图形和图像时,您可以看到它们组装到机器人主基板上的点。如果以直立的姿势看一下伺服电机,您会发现它位于两个板之间。其中一个拧在上部,另一个拧在下部。从那里,连接器和杆将有助于在水平位置支撑第二个伺服电机,从中可以将4种不同类型的连接器用作支腿的一部分。这些允许机械运动模拟并激活该元件的抬起和移动。其中包括保持脚的最大部分的这两个杆,脚被支撑在该杆上并几乎占据了机器人的全部重量。
如前所述,定义您的设计存在局限性。它们可以是不同的类型,无论是机械的,经济的还是用于机器操作的任何其他重要资源。这些机械要素;在这种情况下,伺服电机确定了机器人的尺寸。这就是为什么本手册中的设计具有如此尺寸的原因,因为它们主要从选定的执行器和控制器开始,之后又添加了大电池。
重要的是,机械设计未定义为要复制。甚至可以通过模拟主要元件,条和/或连接器的应力和疲劳来优化。考虑到所选的制造方法(增材制造),您可以充分利用设计,模拟和打印最适合您的负载和应用的实体。始终根据需要考虑支撑,紧固件和轴承的基本元素。这取决于他们在机制中扮演的角色。因此,您应该考虑这些元素的规格,以便它们与腿的其他部分一起在适当的位置。
步骤3:设计电子产品
2个为机器人设计的PCB。
1是将要安装在机器人中的主板,第二个是电子设备在遥控器上。使用Fritzing软件设计PCB,然后使用CNC雕刻机进行PCB雕刻。
主PCB包括Arduino Mega和蓝牙模块,所有伺服器也都连接在一起,并使用直接从电池到2个螺钉端子的两根电源线。
从安装Arduino Nano开始,遥控器PCB的组件更多,但结构更紧凑,它连接了两个操纵杆以控制Hexapod的方向和运动,一个按钮带有相应的220Ohms电阻,一个电位器来调节机器人及其蓝牙模块HC05的高度。所有电路板均使用9V电池供电,而其上的元件均使用Arduino电路板的5v输出供电。
设计完成后,可以使用专用的CNC PCB机械加工工具制造PCB。然后您可以继续在板上安装所有组件。
步骤4:步骤4:组装
在获得了所有可用的印刷零件,螺钉和轴承以及组装机器人的工具之后,可以考虑组装相应的零件,从此开始。垂直伺服器的底座组装成具有一个上板和一个下板,这些板中的6个在内部装有伺服电机。现在,将与伺服电机轴的联轴器拧紧,并将该零件连接到该零件上:“ JuntaServos”,在其对应件中将具有其对应的轴承,以促进两个零件之间的旋转。然后将其连接到第二个伺服器,水平伺服器以及与其他2个段链接的各自的一组杆,从而直接连接到钢头。两者均用指定的螺钉固定。要完成腿部操作,需要在压力下插入印有PLA的尖端。
必须重复此过程6次,以组装支撑并激活机器人的6条腿部。最后;
步骤5:步骤5:编码
在此部分中,将描述了一些代码的工作原理。它将分为两部分,遥控器代码和六脚架代码。
首先是控制器。您想读取操纵杆中电位计的模拟值,建议对这些值进行过滤,并且仅当这些值的变化超出代码中规定的范围时才足以获取这些值。发生这种情况时,将使用Arduino Serial.write函数通过蓝牙发送一个字符数组类型值,以指示其中一个值已更改,以便一旦另一个蓝牙模块接收到它们后便可以执行某些操作。
现在,六足程序代码也可以分为两部分。
第一部分是根据蓝牙接收到的消息指定要执行的功能,第二部分是完成创建六脚架所执行功能的必要步骤,例如向前走,向后,转弯等。在代码中要做的第一件事是为蓝牙通信的操作以及舵机的功能及其在每条腿中的运动指定必要的变量。
Serial.readBytesUntil函数用于获取整个字符数组,即6,所有命令具有6个字符,这是非常重要的考虑因素。在Arduino的论坛中,您可以找到有关如何选择最佳参数的参考,以便正确接收消息。获得完整的消息后,将其与strcmp()函数进行比较,然后使用一组为变量分配值的if函数在开关函数中分配六足动物的函数。
还有一些附加功能,其中一个功能在接收到命令“ POTVAL”时会更改机器人的高度,另一个功能会更改每条腿的相对高度及其静态旋转,这可以通过操纵杆以及按下按钮来实现。在控件中,将在六脚架代码中接收到“ BOTTON”命令,并更改六脚架的移动速度。
步骤6:测试
在以下视频显示了六足动物如何随时间演变,并查看测试结果和最终结果。
全部0条评论
快来发表一下你的评论吧 !