0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何制作倒立摆

454398 来源:工程师吴畏 2019-08-22 17:26 次阅读

第1步:问题

如何制作倒立摆

倒立摆问题类似于平衡扫帚或长扫帚手掌上的杆子,这是我们大多数人在小时候尝试过的东西。当我们的眼睛看到杆子落到某一侧时,他们会将这些信息发送到进行某些计算的大脑,然后指示你的手臂以一定的速度移动到某个位置,以对抗杆子的运动,这有望带来倾斜杆回到垂直。这个过程每秒重复几百次,使杆完全在你的控制之下。倒立摆以类似的方式起作用。目的是将摆锤倒置在允许移动的推车上。使用传感器代替眼睛来检测摆锤的位置,该摆锤将信息发送到计算机,该计算机执行某些计算并指示致动器以使钟摆垂直的方式移动推车。

第2步:解决方案

这个平衡摆锤的问题需要深入了解运动和力量在这个系统中发挥作用。最终,这种洞察力将使我们能够提出系统的“运动方程”,该方程可用于计算进入执行器的输出与来自传感器的输入之间的关系。

根据您的等级,可以通过两种方式导出运动方程。它们可以使用牛顿的基本定律和一些高中水平数学或使用拉格朗日力学来推导,这通常在本科物理课程中引入。 (注意:使用牛顿定律推导运动方程虽然简单但乏味,而使用拉格朗日力学更加优雅,但需要理解拉格朗日力学,尽管两种方法最终都会导致相同的解决方案。)

两种方法他们的正式推导通常包含在高中或本科数学或物理课程中,尽管可以通过简单的谷歌搜索或访问此链接轻松找到它们。观察最终的运动方程,我们注意到四个量之间的关系:

摆与垂直的角度

摆的角速度

摆的角加速度

线性加速度购物车

前三个是传感器测量的数量,最后一个数量将被发送到执行器执行。

步骤3:控制理论

控制理论是数学的一个子领域,用于控制和运行动力学工程流程和机器中的系统。目标是开发控制模型或控制回路以通常实现稳定性。在我们的例子中,平衡颠倒的摆锤。

有两种主要类型的控制回路:开环控制和闭环控制。 实现开环控制时,控制操作或来自控制器的命令与系统的输出无关。一个很好的例子是炉子,炉子保持的时间完全取决于计时器。

然而在闭环系统中,控制器的命令取决于来自系统状态。在我们的例子中,反馈是摆锤相对于法线的角度,该法线确定了推车的速度和位置,因此使该系统成为闭环系统。以上附图是闭环系统的框图形式的视觉表示。

有几种反馈机制技术,但最广泛使用的是比例 - 积分 - 微分控制器(PID控制器),,这是我们将要使用的。

注意:理解这些控制器的工作原理在开发成功的控制器时非常有用,尽管解释这种控制器的操作超出了这个指令的范围。如果您在课程中没有遇到这些类型的控制器,那么网上有大量材料,简单的谷歌搜索或在线课程将有所帮助。

第4步:在课堂中实施此项目

年龄组:此项目主要面向高中或本科学生,但也可以通过概述概念作为示范呈现给年幼的孩子。

涵盖的概念:这个项目涵盖的主要概念是动态和控制理论。

所需时间:收集完所有零件后,组装需要10到15分钟。创建控制模型需要更多时间,为此,学生可以获得2至3天。一旦每个学生(或学生组)开发了各自的控制模型,可以使用另一天让个人或团队进行演示。

将这个项目实施到您的课堂中的一种方法是构建系统(在以下步骤中描述),而批处理正在研究与动力学相关的物理子主题,或者他们正在研究数学类中的控制系统。通过这种方式,他们在课堂上遇到的想法和概念可以直接实现到现实世界的应用程序中,使他们的概念更加清晰,因为没有比在现实生活中实现新概念更好的方法来学习新概念。

单个系统可以作为一个类一起构建,然后可以将类分成几个小组,每个小组从头开始构建一个控制模型。然后,每个团队都可以以竞赛形式展示他们的工作,其中最佳控制模型是能够平衡最长并且能够承受轻推和推动的最佳控制模型。

在课堂上实施这个项目的另一种方法是让年龄较大的孩子(高中水平左右),开发这个项目并向年幼的孩子展示,同时给他们一个动态和控制的概述。这不仅可以激发年幼孩子对物理和数学的兴趣,而且还可以帮助年龄较大的学生明白他们的理论概念,因为加强你的概念的最好方法之一是向其他人解释,特别是年幼的孩子。你以一种非常简单明了的方式表达自己的想法。

步骤5:零件和耗材

购物车将被允许在一组轨道上自由移动,使其具有单一自由度。以下是制作摆锤和推车系统所需的零件和耗材:

电子产品

一个Arduino兼容板,任何都可以工作。如果您对电子产品没有太多经验,我建议使用Uno,因为它更容易跟随。

一台Nema17步进电机,用作推车的执行器。

一个步进电机驱动器,再一次可以工作,但我推荐A4988步进电机驱动器,因为它只是更简单的跟随。

一个MPU-6050六轴(陀螺仪+加速度计),可检测各种参数,如摆锤的角度和角速度。

一个12v 10A电源,10A对于这个特定项目来说实际上有点过度杀伤,任何高于3A的都可以工作,但是有可能获得额外的电流,这样可以在需要更多电力的情况下进行未来的开发。/li》

硬件

16 x轴承,我使用滑板轴承,他们工作得很好

2 x GT2皮带轮和皮带

约2.4米的1.5英寸PVC管

4mm螺母和螺栓束

此项目中使用的部分零件也是3D打印的,因此使用3D打印机非常有用,尽管通常可以使用本地或在线3D打印设备。

所有部件的总成本仅略低于50美元(不包括3D打印机)

步骤6:3D打印部件

推车和导轨系统的某些部件必须定制,所以我使用Autodesk免费使用Fusion360来建模cad文件和3D在3D打印机上打印它们。

一些纯粹的2D形状的部件,例如摆锤和龙门架床,都是激光切割的,因为它更快。所有STL文件都附在下面的压缩文件夹中。以下是所有部件的完整清单:

2 x龙门滚轮

4 x端盖

1 x步进式支架

2 x空转皮带轮轴承座

1 x摆锤架

2 x皮带附件

1 x摆锤轴承座(a)

1 x摆轴承座(b)

1 x滑轮孔垫片

4 x轴承孔垫片

1 x龙门板

1 x步进支架板

1 x空转滑轮支架板

1 x摆锤(a)

1 x摆锤(b)

总共有24个部件,打印时间不会太长,因为部件很小并且可以一起打印。在这个教学过程中,我将根据此列表中的名称引用部分。

第7步:组装龙门滚轮

龙门滚轮就像推车的轮子。这些将沿着PVC轨道滚动,这将允许推车以最小的摩擦平稳地移动。在这一步中,抓住两个3D打印龙门滚轮,12个轴承和一堆螺母和螺栓。每个滚子需要6个轴承。使用螺母和螺栓将轴承安装到滚轮上(使用图片作为参考)。制成每个滚轮后,将它们滑到PVC管上。

步骤8:组装驱动系统(步进电机)

推车将由标准的Nema17步进电机驱动。使用应与步进一起设置的螺钉将电机夹入步进支架。然后将支架拧到步进器支架板上,将支架上的4个孔与板上的4个对齐,并使用螺母和螺栓将两个固定在一起。接下来,将GT2皮带轮安装到电机轴上,并使用更多的螺母和螺栓将2个端盖从底部连接到步进器固定板上。完成后,您可以将端盖滑动到管道上。如果配合太合适而不是将端盖压到管道上,我建议打磨3D打印端盖的内表面直到配合紧密。

步骤9:组装驱动系统(空闲滑轮)

我使用的螺母和螺栓直径为4mm,虽然滑轮和轴承上的孔是6mm,这就是为什么我不得不3D打印适配器并将它们推入滑轮和轴承的孔中,这样它们就不会在螺栓上摆动。如果您的螺母和螺栓尺寸合适,则不需要执行此步骤。

将轴承安装到惰轮轴承座中。如果配合太紧,请使用砂纸轻轻打磨惰轮轴承座的内壁。将螺栓穿过其中一个轴承,然后将滑轮滑到螺栓上,然后用第二个轴承和惰轮轴承座固定另一端。

完成后,将一对惰轮支撑架固定在惰轮支架板上,并将端盖连接到该板的底面,类似于上一步骤。最后,使用这些端盖盖住两个PVC管的另一端。有了这个,您的购物车的导轨就完成了。

步骤10:组装龙门

下一步步骤是建立购物车。使用龙门板和4个螺母和螺栓将两个滚轮连接在一起。龙门板有插槽,您可以调整板的位置进行微调。

接下来,将两个皮带附件安装在龙门架的两侧。确保从底部安装它们,否则皮带将不在同一水平面上。确保也从底部穿过螺栓,否则,如果螺栓太长,可能会导致皮带阻塞。

最后,将摆锤支架安装到推车前部

步骤11:组装钟摆

钟摆是两件式的,只是为了节省材料。您可以通过对齐牙齿并将它们超级粘在一起来将两个部分粘在一起。再次将轴承孔垫片推入两个轴承中以补偿较小的螺栓直径,然后将轴承推入两个摆锤轴承座件的轴承孔中。将两个3D打印部件夹在摆锤底端的两侧,并使用穿过摆锤轴承座的3个螺母和螺栓将3个固定在一起。将螺栓穿过两个轴承,并用另一个螺母固定另一端。

接下来,抓住您的MPU6050并使用安装螺钉将其安装在摆锤的另一端。

步骤12:安装摆锤和皮带

最后一步是将摆锤安装到推车上。通过将先前通过两个摆锤轴承的螺栓穿过安装在推车前部的摆锤支架上的孔并在另一端使用螺母将摆锤固定在推车上来实现这一点。/p》

最后,抓住你的GT2皮带,首先将一端固定到一个夹在推车上的皮带附件上。为此,我使用了一个整洁的3D可打印皮带夹,夹在皮带的末端,防止它滑过狭窄的插槽。可以在Thingiverse上使用此链接找到此作品的标题。将皮带一直缠绕在步进滑轮和惰轮上,并将皮带的另一端固定在推车另一端的皮带连接件上。拉紧皮带,同时确保不要过度拧紧或丢失太多,这样你的摆锤和推车就完成了!

步骤13:接线和电子设备

接线包括连接MPU6050到Arduino和驱动系统的接线。按照上面的接线图连接每个组件。

MPU6050到Arduino:

GND到GND

+ 5v至+ 5v

SDA至A4

SCL至A5

Int至D2

步进电机步进驱动器

线圈1(a)至1A

线圈1(b)至1B

线圈2(a )到2A

线圈2(b)到2B

到Arduino的步进驱动器:

GND至GND

VDD至+ 5v

步骤至D3

DIR至D2

VMOT至电源的正极端子

GND到电源的接地端子

步进驱动器上的睡眠和复位引脚需要连接到跳线。最后,将一个约100 uF的电解电容与电源的正极和接地端子并联是个好主意。

步骤14:控制系统(比例控制)

最初,我决定尝试一个基本的比例控制系统,也就是说,推车的速度只是与钟摆与垂直方向所构成的角度成比例。这只是一个测试,以确保所有部件正常运行。虽然,这个基本的比例系统足够坚固,可以使摆锤达到平衡。钟摆甚至可以抵抗轻柔的推动和推动。虽然这个控制系统运行得非常好,但它仍然存在一些问题。如果在一定时间内查看IMU读数的图表,我们可以清楚地注意到传感器读数的振荡。这意味着无论何时控制器试图进行校正,它总是超过一定量,这实际上是比例控制系统的本质。可以通过实施考虑所有这些因素的不同类型的控制器来纠正这种轻微的错误。

下面附有比例控制系统的代码。该代码需要一些额外的库的支持,这些库是 MPU6050 库, PID 库和 AccelStepper 库。这些可以使用Arduino IDE的集成库管理器下载。只需转到草图 》》 包含库 》》 管理库,然后只需搜索 PID , MPU6050 和 AccelStepper 。

尽管如此,我建议你们所有人都是科学的数学爱好者,将尝试从头开始构建这种控制器。这不仅可以增强您对动力学和控制理论的概念,还可以让您有机会在现实生活中应用您的知识。

步骤15:控制系统(PID控制)

一般来说,在现实生活中,一旦控制系统被证明足够强大以适应其应用,工程师通常只是通过使用更复杂的控制系统来完成项目而不是使情况过于复杂。但在我们的例子中,我们正在构建这种倒立摆,纯粹是出于教育目的。因此,我们可以尝试进入更复杂的控制系统,例如 PID控制,这可能比基本的比例控制系统更加稳健。

虽然PID控制的实施要复杂得多,但一旦正确实施并找到完美的调整参数,摆锤就会明显更好地平衡。在这一点上,它也可以对抗轻微颠簸。 IMU在给定时间内的读数(如上所述)也证明了读数对于所需的设定值(即垂直)来说永远不会太远,这表明该控制系统比基本比例控制系统更有效,更稳健。

再次,我建议所有科学和数学爱好者,在使用下面附带的代码之前,尝试从头开始构建一个PID控制器。这可以被视为一种挑战,而且人们永远不会知道,有人可能会想出一个比迄今为止尝试过的任何东西都强大得多的控制系统。虽然Arttino已经可以使用强大的 PID库,它是由Brett Beauregard开发的,可以从Arduino IDE的库管理器安装。

注意:每个控制系统及其结果将在第一步中附带的视频中得到证明。

步骤16:进一步改进

我想要尝试的其中一件事是“swing-up”功能,其中钟摆最初悬挂在推车下方,推车沿轨道快速上下移动以摆动将摆锤从悬挂位置倒置到倒置倒置位置。但是这对于当前配置是不可行的,因为长电缆必须将惯性测量单元连接到Arduino,因此由摆锤完成的整圆可能导致电缆扭曲和阻碍。这个问题可以通过使用连接在摆锤枢轴上的旋转编码器来代替最尖端的惯性测量单元来解决。使用编码器时,其轴是唯一与摆锤一起旋转的轴,而车身保持静止,这意味着电缆不会扭曲。

我想尝试的第二个功能是平衡购物车上的双摆。该系统由两个相继连接的钟摆组成。虽然这种系统的动态要复杂得多,需要更多研究。

步骤17:最终结果

这样的实验可以积极地改变班级的情绪。一般来说,大多数人更喜欢能够应用概念和想法来结晶它们,否则,这些想法仍然“悬而未决”,这使人们更容易忘记它们。这只是将课堂上学到的某些概念应用到实际应用中的一个例子,尽管这肯定会激发学生的热情,最终尝试用他们自己的实验来测试理论,这将使他们未来的课程更加丰富活泼,这将使他们想要了解更多,这将使他们想出更新的实验,这个积极的循环将持续到未来的教室充满了这样有趣和愉快的实验和项目。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 倒立摆
    +关注

    关注

    0

    文章

    40

    浏览量

    18121
收藏 人收藏

    评论

    相关推荐

    如何测量THS3001的压率?

    我想测量THS3001的压率,请问测量方法是怎样的?对测量仪器有何要求?测量电路是随便一个比例放大电路还是需要在电压跟随器上测量?
    发表于 09-24 07:20

    逐步升高压

    电子发烧友网站提供《逐步升高压率.pdf》资料免费下载
    发表于 09-04 10:40 0次下载
    逐步升高压<b class='flag-5'>摆</b>率

    运放压率是什么意思

    运放压率(Slew Rate)是运算放大器(Operational Amplifier,简称运放)的一个重要参数,它定义了运放输出电压可以达到的最大摆动速率。这个参数对于理解运放在处理高速变化信号
    的头像 发表于 08-23 10:23 1249次阅读

    OPA691压率限制了工作带宽怎么解决?

    请问OPA691这样配置,在IC 1处加入10MHz,功率为 0dBm 的测量阻抗信号,频率是否已经远超出其压率限制呢?对于OPA355,就更加困难了。
    发表于 08-05 07:19

    THS4561全差分运放的压率怎么选择的呢?

    全差分运放的压率怎么考虑与选择呢,也是按照普通的运放压率公式SR=2πfUmax进行选择的吗,因为全差分运放的输出幅是输出正负端共同作用的,是不是相对于普通运放来说全差分运放的压
    发表于 08-02 06:25

    INA301电流采样类的放大器的压率和通用运放的压率测试方法一样吗?

    电流采样类的放大器的压率和通用运放的压率测试方法一样吗?因为电流采样放大器一般放大倍数都固定了且比较大,如果输入给一个阶跃大信号,那么放大器输出就达到电源轨电压了,此时压率值测的准吗?如果给一个小信号,压
    发表于 08-01 07:51

    怎么用LTspice做OPA855的压率的仿真?

    请教下怎么用LTspice做OPA855的压率的仿真
    发表于 07-30 08:10

    STM32G4管脚做时钟输出时,能不能降低它的率?

    我想降低时钟输出管脚的率。比如有PA7管脚是2MHz的时钟输出,通过设PA7的OSPEED[1:0],能不能降低它的率?
    发表于 03-13 08:10

    运放压率计算公式是什么

    运放(Operational Amplifier)用于放大和处理模拟信号。在运放的设计和应用中,压率是一个非常重要的参数,它决定了运放的响应速度和稳定性。 压率是指运放在一定的时间内,输出信号
    的头像 发表于 01-12 15:12 1414次阅读

    为什么运放需要有限的压

    在运放的设计和应用中,压率是一个非常重要的参数,它决定了运放的响应速度和稳定性。那么为什么运放需要有限的压率呢? 为了确保输出信号的稳定性,运算放大器(运放)通过使用补偿电容有意限制了输出摆动
    的头像 发表于 01-12 14:56 991次阅读
    为什么运放需要有限的压<b class='flag-5'>摆</b>率

    率是什么意思

    率(SlewRate)是电路中的一个重要参数,用于描述信号转换的速度和精度。它是指在一定的时间内,输出信号能够跟随输入信号变化的最大速率。在数字电路中,压率也被称为转换速率或建立时间。 压
    的头像 发表于 01-12 14:47 1w次阅读
    压<b class='flag-5'>摆</b>率是什么意思

    焊接机器人怎么确定幅方向的

    焊接机器人是现代制造业中广泛应用的自动化设备之一,它通过高精度的运动控制和先进的传感技术,实现了高效、精准的焊接操作。其中,幅方向的确定对于焊接质量和效率具有重要影响。 一、传统焊接机器人幅方向
    的头像 发表于 01-04 17:50 643次阅读
    焊接机器人怎么确定<b class='flag-5'>摆</b>幅方向的

    原创教程:怎么选择运放的压率?

    一般而言,后级电路对压率要求更高,因为信号被逐级放大后,越到后级电路,信号波动范围越大,此时要用大信号响应来分析。 那么怎么根据信号的特征来选择合适的压率呢? 假如我们要处理的信号是S=A
    的头像 发表于 12-21 08:45 1016次阅读
    原创教程:怎么选择运放的压<b class='flag-5'>摆</b>率?

    如何计算运算放大器所需的压率?

    如何计算运算放大器所需的压率?
    的头像 发表于 12-15 16:47 1859次阅读
    如何计算运算放大器所需的压<b class='flag-5'>摆</b>率?

    西门子MCD+PLC+Matlab实现倒立控制

    倒立系统的整定是自动控制理论中的典型问题,在网路上或者书籍中可以找到不少相关的资料知识,整定算法也多式多样,模糊PID、LQR、以及本文用到的PID等。
    的头像 发表于 12-08 14:05 3471次阅读
    西门子MCD+PLC+Matlab实现<b class='flag-5'>倒立</b><b class='flag-5'>摆</b>控制