如何制作倒立摆-飞外网

第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:最终结果

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


怎样去设计一种基于MATLAB的倒立摆控制系统 1 绪论1.1倒立摆系统简介倒立摆系统是一种很常见的又和人们的生活密切相关的系统,它深刻揭示了自然界一种基本规律,即自然不稳定... 发表于 09-15 07:23 • 426次
直线型一阶倒立摆1---概念篇 精选资料分享 一、倒立摆系统的研究目的和意义倒立摆控制系统(InvertedPendulumSystem简称IPS)是一个复杂的、不稳定的、非... 发表于 09-01 07:04 • 252次
使用STM32C8单片机主控MDK4.7开发进行倒立摆的详细资料合集免费 本文档的主要内容详细介绍的是使用STM32C8单片机主控MDK4.7开发进行倒立摆智能小车的详细资料.... 发表于 05-30 08:00 • 619次
STC90C51单片机在倒立摆控制系统中的应用 系统工作原理如下:摆杆摆动时,角度传感器检测摆杆的角度,根据角度传感器的输出特性,其输出电压经A/D.... 发表于 01-16 15:31 • 2971次
stm32开发板3v和gnd突然短路,请问是什么原因造成的?如何解决? stm32 正常使用,而且还正常用了几天在某次关闭开关之后,再开就无法正常供电了,而且万用表测的结果是 3V 和 Vcc 短路了 ... 发表于 07-13 13:34 • 4016次
倒立摆是什么_倒立摆有什么用 倒立摆控制系统(InvertedPendulumSystem简称IPS)是一个复杂的、不稳定的、非线.... 发表于 11-27 16:36 • 43653次
模糊控制器控制一级倒立摆 倒立摆是典型的重上支下的系统,具有多个特点,包括不稳定性、快速多变性、耦合性等,其系统成本低廉、结构.... 发表于 11-09 14:50 • 870次
倒立摆控制系统的原理及其应用介绍 通过对一阶旋转倒立摆系统原理的分析,选用单片机作为控制器,直流电机作为执行器,电位器式角度传感器作为.... 发表于 10-19 15:21 • 6914次
关于倒立摆如何通过测得的角度值用pid算法调节电机pwm占空比 这是我自己写的程序,关于pid将角度和电机控制相结合,角度测量我用的是mpu6050,电机为普通的直流电机。不知道我这样写程序到底... 发表于 08-01 08:20 • 5665次
简易环形倒立摆控制系统的设计实现 本文介绍了一种简易环形倒立摆控制系统的设计实现 发表于 08-23 16:27 • 664次
倒立摆控制系统介绍 倒立摆控制系统是一个复杂的、不稳定的、非线性系统,是进行控制理论教学及开展各种控制实验的理想实验平台.... 发表于 12-11 11:06 • 779次
移动的倒立摆资料 移动的倒立摆!资料来源网络,如有侵权,敬请见谅 发表于 11-20 15:39 • 558次
基于MATLAB的模糊控制倒立摆系统研究 基于MATLAB的模糊控制倒立摆系统研究,感兴趣的可以看看。 发表于 11-03 13:49 • 672次
STM32控制倒立摆代码 利用stm32控制平板倒立摆使用了红外遥控,pwm控制,串口调试角加速度传感器,里面就是代码。 发表于 07-24 17:39 • 728次
嵌入式组合控制直线一级倒立摆系统 本文针对本科自动控制原理课程设计中倒立摆摆杆偏角控制器的在线仿真存在。 发表于 04-23 10:43 • 6050次
基于变速积分的PID一级倒立摆研究 本文建立一级倒立摆的数学模型,阐述了变速积分的PID优点,对一级倒立摆的变速积分的PID控制进行仿真.... 发表于 02-03 17:14 • 710次
二级倒立摆系统的实时稳定控制实验研究 为实现二级倒立摆系统的实时稳定控制,以深圳固高直线二级倒立摆装置作为控制对象,在MATLAB环境下,.... 发表于 01-18 15:07 • 764次
倒立摆与自动控制原理实验 这是一本为工科自动化和机电一体化的专科、本科以及研究生编写的实验教科书,可以作为控制领域各门控制课程.... 发表于 01-18 15:02 • 1442次
倒立摆系统的自摆起和稳定控制 为了实现一级倒:芷摆系统自摆起和稳定控制,该文采用了最优控制与PID控制相结合的控制方法。首先,采用.... 发表于 01-18 15:00 • 1089次
智能控制在倒立摆控制系统中的应用 倒立摆 系统是一个复杂的非线性系统本文建立了倒立摆的一种非线性数学模型在分析的基础上为倒立摆系统设计.... 发表于 07-06 18:19 • 1290次
直线柔性连接两级倒立摆控制器设计 倒立摆 系统是一个复杂的!非线性的!不稳定的高阶系统 倒立摆的控制一直是控制理论及应用的典型课题分析.... 发表于 07-06 18:17 • 522次
基于分层递阶智能控制的倒立摆研究 在 智能控制 系统分层递阶结构的基础上,结合倒立摆的特点,根据被控对象的不同情况,分别采用了不同的看.... 发表于 07-06 18:07 • 615次
环形单级倒立摆起摆控制研究 针对 倒立摆 的起摆控制建立了环形单级倒立摆基于拉格朗日方程的运动方程,在此基础上提出了能量控制的概.... 发表于 07-06 18:03 • 700次
倒立摆实验系统与最优控制算法 阐述了 倒立摆 实验系统及其在自动控制领域中的应用 发表于 07-06 18:02 • 532次
倒立摆和自动控制技术 本文详细地阐述了 倒立摆 系统及其在自动控制领域中的应用 发表于 07-06 18:00 • 487次
倒立摆的非线性稳定控制实现 对一维 倒立摆 系统的稳定和起摆进行了深入研究。通过$$% 理论对系统进行坐标和输入量的变换,实现了系.... 发表于 07-06 17:59 • 560次
基于视觉伺服的倒立摆实验平台的研究 墓于 视觉伺服 的倒立摆系统可为机器视觉和智能控制领域的研究提供一个很好的实验平台。对该实验平台的视.... 发表于 06-28 11:01 • 550次
单级倒立摆控制系统的稳定性算法设计 本文利用拉格朗日方程建立了直线一级倒立摆控制系统的数学模型,在此基础上分析了该系统的性能,并利用LQ.... 发表于 03-31 10:38 • 4772次
倒立摆的模糊控制研究 倒立摆系统是多变量、非线性、强耦合的控制系统。采用模糊控制理论研究二级倒立摆控制问题。运用最优控制方.... 发表于 12-29 17:29 • 350次
基于状态反馈控制的倒立摆系统分析和设计 针对多输入多输出的倒立摆系统平衡控制,利用牛顿-欧拉方法建立了直线型一级倒立摆系统的数学模型。在分析.... 发表于 12-17 16:28 • 609次
简述倒立摆控制系统 倒立摆控制系统是一个复杂的、不稳定的、非线性系统,是进行控制理论教学及开展各种控制实.... 发表于 08-05 15:26 • 1093次
基于DSP实现的一阶倒立摆控制 倒立摆是控制领域中典型的被控对象。本文通过智能控制算法实现倒立摆的起摆控制。当摆杆的角度进入稳定区域.... 发表于 08-05 15:24 • 472次
二级倒立摆的半物理仿真模型研究与实现 本文在MATLAB 环境下建立了二级倒立摆的半物理实时仿真模型,并应用线性二次型最优控制策略,设计了.... 发表于 07-31 08:51 • 494次
基于C++ Builder实现的倒立摆控制系统 本文以倒立摆控制系统控制为例,介绍Borland C++ Builder 在数据采集、处理中的应用,.... 发表于 06-15 09:26 • 399次