当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]Bracc.ino是一个简单的关节臂,由6个伺服马达组成,通过Arduino手柄通过蓝牙控制。它是作为一个学校项目诞生的,它的目的是模拟一个工业机器人。经过不同的尝试,我们可以找到正确的方法,我们可以移动一个机器人。

Bracc.ino是一个简单的关节臂,由6个伺服马达组成,通过Arduino手柄通过蓝牙控制。它是作为一个学校项目诞生的,它的目的是模拟一个工业机器人。经过不同的尝试,我们可以找到正确的方法,我们可以移动一个机器人。

为了创建最终的原型,我们使用了不同的生产方法,比如使用激光切割机制作结构,使用3D打印机制作别针、夹具和底座。

手臂的运动由Arduino板控制。我们可以通过AT两个板之间的蓝牙通信来发送关于要做哪个动作的信息。我们决定使用HC-05传感器来做这件事。

蓝牙通信

蓝牙通信包括通过无线电频率发送和接收信息。它可以AT不需要电线的情况下发送数据。所以我们决定想办法为我们的机械臂制作一个手柄。我们发现使用Arduino是可以实现的。使用蓝牙模块HC-05,我们可以通过一个设备接收数据,但通过对传感器进行编程,我们也可以将数据发送到另一个HC-05。因此,我们找到了一种编程和改变模块配置的方法。发送数据给另一方的模块称为MASTER,而接收方则称为SLAVE。所以这两种构型有点不同,但是有一些共同点。基本上主要的观点是:

将两个Arduino与HC-05传感器连接,用5V为EN引脚(或密钥)供电。然后上传一个空草图并打开串行通信。为了简化程序,我们可以同时连接两个板,使用两个不同的Arduino IDE窗口。

现ATAT串行监视器上写一些字,我们可以改变蓝牙配置。

•写“AT”,直到回复为“OK”。

•+ UART = 38400。它设置波特率,对于蓝牙是38400波特。

•AT+角色= 0。将HC-05设置为从机模式。

•AT+ CMODE = 0。它只用于连接配对设备

•+ PSWD = 1234。设置密码。对于主传感器使用相同的方法也是很重要的。

主配置:串行监控序列

•写“AT”,直到回复为“OK”。

•+ UART = 38400。它设置波特率,对于蓝牙是38400波特。

•AT= 1 +的作用。将HC-05设置为主模式。

•AT+ RMAAD。清除先前配对的设备。

•AT+重置。复位模块。

•AT+ CMODE = 0。

•At + inqm = 0,5,9。

•AT+ INIT。

•AT+ INQ。最后三个命令帮助我们搜索从模块。最后一个命令返回模块附近设备的地址。

•现在我们要复制正确的地址。如果我们有多个,我们可以控制右边的设备粘贴地址AT“AT+RNAME=”之后。用逗号代替冒号是很重要的。

•找到正确的设备,写入“AT+PAIR=”9”

•AT+BIND=<address>

•AT+CMODE=1.

•AT+LINK=<address>

•如果我们收到“OK”的回复,我们已经成功配对了两个蓝牙模块。

结构描述

学校给了我们很多机会学习如何使用激光切割和3D打印技术。所以我们能够创建一个手臂结构,开始AT3D软件上绘制它,比如“SolidWorks”。然后,出于美观的考虑,我们选择使用激光切割机生产结构部分,使用3D打印机生产夹具和底座。此外,操纵杆是由3d打印机创建的。

手柄

伺服

手臂的关节是用伺服马达移动的。它们很容易使用,有Arduino库,我们可以很容易地控制电机的角度。但对于结构的升力,我们必须使用一些不同的伺服,具有更高的失速扭矩。伺服MG996R,帮助我们抬起所有的手臂。此外,这种伺服是数字型的,也就是说,他们比普通的更准确。我们还必须使用库而不是普通的库。前一个有更多的功能,帮助我们模拟一个更流畅的运动。它还具有控制伺服速度和以异步方式移动它们的功能。

机械臂工具现AT是一个简单的抓手,可以悬挂小物体并移动它们。它是由我们设计并通过3d打印机实现的。SG90伺服电机旋转一个齿轮,带动另一个齿轮打开或关闭爪。

基地轴承

另一个有用的部件是基础轴承。它就像一个assial滚珠轴承,但它是完全3D打印的。它有两个环,里面有一些滚子,它们有特定的形状,可以滑动而不会出现问题。主要功能是帮助底座旋转,避免AT木盘上爬行。

命令块-基础

AT手臂下面有一个块,里面有机器人的所有电路和电池。它包含Arduino板,PCB和充电电池。这个底座可以从地面拆卸,并且可以模块化安装到其他设备上。

电路:手臂

手臂电路由蓝牙线路与HC-05组成,并将每个伺服连接到GND, 6V和PWM引脚。伺服有不同的电源线,因为他们有更高的扭矩与更高的供应。

电路:手柄

操纵杆电路由相同的蓝牙线路组成,加上两个操纵杆,两个按钮和一个LCD。

操纵杆由两个微调器组成,每个微调器的数值由模拟输入管脚读取。按钮也是如此,但我们必须使用数字引脚来读取它是高(按下)还是低(未按下)。

液晶显示器,我们连接到I2C模块,减少连接的数量,打印我们是如何移动的伺服和他们的角度。

印刷电路板

针对飞线和电路不清晰的问题,我们想画一个PCB电路,像屏蔽一样连接到Arduino板上。我们使用“EasyDA”网站绘制它们,并通过JLC网站订购零件。这样,电路更清晰,更小,使用起来更舒适。

代码功能

对于编程,我们使用Arduino IDE软件,它使用了一种非常简单的编程语言。我们有两个不同的代码,一个用于Arduino的操纵杆,另一个用于手臂运动。

为了便于理解,代码的主要功能和动作AT后续的流程图中进行了说明。

手柄

为了发送命令,我们创建了一个代码列表,由不同的字母组成,这意味着不同的事情。每个代码都与一个字母或数字相匹配,通过蓝牙通信发送到手臂上。

AT这两个代码中都有一个“限制()”空白,用于控制伺服角度。如果值大于最大值或小于最小值,则角度返回到限制值。最大值和最小值是AT第一次装配时测试伺服电机时设置的,它们可以很容易地改变,修改代码开头的变量。

手臂

AT代码开始时,蓝牙模块搜索数据,如果收到信息,则修改接收字母中的“reads”变量,对应一个动作。

此外,这个代码有一个控制伺服角度的“限制空白”。

AT代码的末尾有一个moveAll() void。我们选择使用这个函数,而不是ATif函数中更新伺服角度,因为这样每次循环开始/结束时,伺服角度都会更新,电机保持张力。

手臂有两种模式;正向模式是一个一个移动电机,逆模式是移动所有的伺服,从一个点坐标开始计算角度。

点保存功能

一个有趣的功能是点保存方法。它可以保存手臂位置并按顺序回放。AT正态模式下,代码记忆所有伺服器的角度值,而AT逆态模式下,代码记忆一个点的坐标。

操纵杆ATLCD上打印保存的点,并AT达到最大点数时发出警报(实际上是五个,最后加上home点),当它重置内存时。

逆运动学模式

该方法采用基于逆运动学的算法求出所有伺服角度,而不是直接求出。这个计算从坐标位置(x,y)和夹持点的方向开始。对于这个计算,我们使用几何方法。事实上,它是基于三角形的构造与余弦和正弦函数,我们可以计算出所有的角度,并将这个值转化为伺服角度。

1- G点的平移

首先我们要把G点平移到G'点来简化逆计算。G点的y也要向上平移93,因为原点与第一个关节重合。

2-直线和斜率

现AT我们可以计算从直角原点到G点的直线的斜率m。

3-圆交叉

然后我们可以画一个圆心为G'的圆,半径等于连杆3的长度。我们知道圆的方程,所以我们可以求直线的交点,ATB点。

对这两个方程进行化简,可以用二次解的方法求出Xb方程。我们可以通过对圆和直线方程的化简和集合来求出a b c的值。

现AT解二阶方程我们要取离原点最近的次值。我们用Yb值代替直线方程中的Xb。

然后用毕达哥拉斯公式计算原点b的线长。

4-三角形角

现AT我们可以画一个三角形,我们知道三角形的三条边,分别是“r”的长度,连杆1的长度和连杆2的长度。知道了这三条边,我们就可以用SSS(边对边)公式求出角度值。

5-Deltoid角度

然后我们要找到最后一个角,画出三角线就能找到最后一个角。

三角线由两条相等的三角形组成,我们知道这两条三角形的两条边(连杆2和连杆3)和邻角“delta”。计算对角线长度,我们可以计算A角我们就完成了第二个关节角。

6 .寻找关节角

为了AT一个伺服值中平移角度,我们必须减去和我们的角度。

•对于Θ1,我们将斜率的角度加上c^。

•对于Θ2,我们添加“a^”角和a^角,并减去90°,以找到垂直于link1和link2之间的角度。

•Θ3等于90°与角的相减。

•Θ4是角度和“伽马”角之和的减法,等于270°。

7-Servo转换

现AT我们必须直接ATservo2和4上写角度Θ2和Θ4,而对于伺服1和3,我们必须减去计算的角度为180°,因为伺服的方向相反。

使用该算法,我们可以改变x, y和握把角度值来移动手臂。所以手臂创造了一个垂直的直角平面,但是现AT还没有一个三维坐标空间,所以Z轴是基础伺服的旋转。

本文编译自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 隧道灯 驱动电源
关闭