第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
发布评论请先 登录
相关推荐
评论