当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]在这个项目中,我将向您展示如何使用3D打印部件制作一个简单的4腿行走蜘蛛机器人。该设计主要由上下板、臂接插件、腿和伺服支架五个部分组成。机器人的4条腿由4个手臂部分和4个腿部分组成。机器人的运动总共使用了8个业余伺服电机,4个在手臂上,4个在腿上。

在这个项目中,我将向您展示如何使用3D打印部件制作一个简单的4腿行走蜘蛛机器人。该设计主要由上下板、臂接插件、腿和伺服支架五个部分组成。机器人的4条腿由4个手臂部分和4个腿部分组成。机器人的运动总共使用了8个业余伺服电机,4个在手臂上,4个在腿上。

在电路方面,首选ESP32板,但该项目可以很容易地控制与Arduino板。ESP板的蓝牙功能是无线通信的首选,并创建了一个简单的应用程序来控制。这款应用程序允许你用简单的命令控制机器人的动作,比如行走、转弯和跳跃。

该项目易于组装和使用,使其成为学生,教师或任何对机器人感兴趣的人的绝佳选择。我们开始吧!

步骤1:将手臂伺服器放在基座上

首先,在组装伺服系统之前,要放在基座上的手臂伺服系统必须调整到90度起始位置。我已经分享了初始位置的基本代码。正如你所看到的,我已经固定了3个伺服电机,让我们一起安装第四个和最后一个伺服电机。

根据伺服电机的类型,伺服底座上的支架可能会保持松弛,在这种情况下,可以借助一些热熔胶使其固定。

本项目使用了8台SG90微型伺服电机(或近似尺寸等效)。

•产品:SG90伺服

•扭矩:2.0kg/cm(4.8V), 2.2kg/cm(6V)

•速度:0.09s/60°(4.8V), 0.08s/60°(6V)

•旋转角度:180°

•工作电压:4.8 ~ 6V

•齿轮:塑料

•Dead band:7us

•重量:10.5克

•外形尺寸:22.8mm × 12.2mm × 28.5mm

步骤2:固定手臂和腿的连接器

在本节中,将由两个独立部分组成的“臂”和“腿”连接器用螺栓和螺母固定在一起。将固定连接器连接到伺服基座上。然后,与连接器成对角角,放置伺服喇叭,拧紧螺丝固定在伺服电机上。

最后,将伺服喇叭的末端固定到使用螺钉的连接器上,没有必要这样做,但固定它可以防止松动。现在手臂是完整的,让我们移动到腿组装。

步骤3:组装腿

在固定要在腿上使用的伺服电机之前,您需要将它们带到60度的起始角度。然后放置支架和支腿部分,用合适的螺钉将支腿部分固定在伺服电机上。

将支腿插入连接器并连接伺服喇叭,使支腿处于直角位置。然后用螺丝固定伺服喇叭。

现在准备其他三条腿,完成组装。现在手臂和腿的组装已经完成,我们可以继续到电路的电源部分。

步骤4:电路的电源

一个7.4伏的电池将是足够的电路,基础部分是设计为一个3S锂电池的大小,但电池在我的车间被损坏,我不得不使用11.1伏的电池。如果你打算使用7.4伏的电池,你可以跳过这一部分。

我把电池放在底座下面,用扎带固定。由于电池更换,我在电源电路中加入了一个电压降压模块。我借助模块上的调节螺丝将电压输出设置为7伏,并连接电池输入。

将模块放在底座上后,让我们继续组装电路板固定的上部底座。机器人的所有部件都组装好了,让我们来看看电路板!

步骤5:电路板

我设计了一个控制16个伺服电机的电路板,可以连接到ESP32板上。和往常一样,我选择pcb方式来打印高质量的电路板。您可以访问此链接订购PCB,电路和Gerber文件:

优先考虑易焊部件,具备基本的焊接知识即可。或者,您可以使用PCBWay的组装服务并订购现成的焊接电路。将所需组件安装在PCB上,并用烙铁和焊丝将其焊接到位。您可以在上传的图像中看到组件的位置。

•4个100uf 25V~16V电源电容

•4x 470uf 25V~16V伺服电机电容器

•1个SB560二极管用于电源

•1个7805CV电源稳压器

•2 x 3 mm-led

•16x 220欧姆伺服电机电阻

•2个330欧姆电阻,用于led

•1个2pin 5mm螺丝端子,用于电源输入

•2.54 ESP32板的母头

•2.54伺服电机连接公头

•做ESP32 Devkit V1开发板

步骤6:伺服电机的连接

我们把它放在机器人上,然后把伺服电机连接起来。以下是伺服电机连接的GPIO引脚:

机器人几乎准备好了,取出ESP32板并将其连接到您的计算机,然后打开共享源代码。现在是时候编写代码了!

步骤7:源代码

在Arduino IDE中打开代码

•首先,需要在Arduino IDE中打开所提供的代码。这将允许我们编辑和上传代码到ESP32板。

在“首选项”中添加ESP32单板的URL

•进入File > Preferences,添加ESP32板管理器URL

•此步骤确保我们可以安装必要的ESP32工具。

安装ESP32单板包

•进入Tools > Board > Board Manager,搜索“ESP32”,单击“Install”。

•此过程将ESP32板支持添加到Arduino IDE中。

包括所需的库

•代码包括两个库:

•用于处理蓝牙通信。

•ESP32Servo.h是一个专门设计用于控制带有ESP32板的伺服电机的库。

通过移动应用程序发送的命令

该应用程序通过蓝牙发送指定的数字来激活生成的命令,如上下行走等。这些数字在应用程序中定义,命令在代码中被解释以触发不同的机器人动作。

定义伺服电机的GPIO引脚

在本节中,我们指定伺服电机连接的GPIO引脚。机器人的每条手臂和腿都由单独的伺服电机控制。

设置移动限制和速度

机器人的动作被定义为手臂和腿的特定限制。这些动作的速度由speed变量控制。

蓝牙连接和数据处理

在循环部分,代码检查是否从蓝牙应用程序接收到任何数据。如果数据可用,则读取数据并将其存储在data变量中。基于这些数据,触发特定的机器人功能。

基于命令触发机器人动作

当接收到命令时,机器人会执行诸如行走-旋转或重置到稳定位置之类的动作。这就是代码的工作原理和要求,现在将代码上传到板子上,然后让我们转到应用程序端。

步骤8:蓝牙控制应用程序

我们将使用MIT App Inventor,这是一个用于开发Android应用程序的免费拖放工具。通过电子邮件登录App Inventor后,上传我创建的App的共享AIA文件。(这里不支持AIA扩展文件作为附件,所以我不得不将文件上传到PCB页面)这样你就可以检查模块并构建自己的Android安装文件,没有任何信任问题。然后你所需要做的就是在你的手机或平板电脑上安装应用程序!

现在我们来谈谈这个app的界面,有一个按钮列出蓝牙设备,在它下面我添加了一个Text Label显示连接状态。最后,我添加了6个按钮来触发机器人的运动功能。在块部分中,有几个条件在一开始就启动蓝牙通信。然后为每个移动按钮创建要发送的数据类型和数据函数。就是这么简单,现在我们有了一个应用程序!现在是控制机器人的时候了!

代码

#include

Servo servo_footA;

Servo servo_armA;

Servo servo_footB;

Servo servo_armB;

Servo servo_footC;

Servo servo_armC;

Servo servo_footD;

Servo servo_armD;

// Connect servos to pins

int srv_footA = 13;

int srv_armA = 12;

int srv_footB = 15;

int srv_armB = 2;

int srv_footC = 26;

int srv_armC = 25;

int srv_footD = 17;

int srv_armD = 5;

void setup() {

servo_footA.attach(srv_footA);

servo_armA.attach(srv_armA);

servo_footB.attach(srv_footB);

servo_armB.attach(srv_armB);

servo_footC.attach(srv_footC);

servo_armC.attach(srv_armC);

servo_footD.attach(srv_footD);

servo_armD.attach(srv_armD);

// Set mounting positions

setInitialPositions();

}

void loop() {

}

void setInitialPositions() {

// Leg servos: 60

servo_footA.write(60);

servo_footB.write(60);

servo_footC.write(60);

servo_footD.write(60);

// Arm servos: 90

servo_armA.write(90);

servo_armB.write(90);

servo_armC.write(90);

servo_armD.write(90);

}

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭