目录
工作原理
磁悬浮由两部分组成,基部和浮动部分。
- 基础件
- 这部分位于底部,由磁铁构成圆形磁场和电磁铁控制磁场。
- 每个磁铁都有两个极点:北极和南极。实验表明,对立吸引和同极排斥。四个圆柱形磁体放置在正方形中并具有相同的极性,向上形成圆形磁场以推动任何磁体,磁体具有相同的磁极并位于它们之间。
- 有四个电磁铁,它们放在一个正方形中,两个对称的磁铁是一对,它们的磁场总是相反的。
- 霍尔传感器和驱动电路控制电磁铁。通过将电流转移通过电磁铁,在电磁铁上形成相反的电极。
2. 浮动块
- 包括浮在基座上方的磁铁,可以携带一个“小锅”?。
怎么运行的?
顶部的磁铁由底部磁铁的磁场升高,因为它们是相同的磁极。然而,它倾向于翻倒并相互吸引。
为了防止顶部磁铁件上下颠倒,电磁铁会产生磁场推动或拉动以平衡它,这要归功于霍尔传感器。
电磁铁在两个X和Y轴上控制,导致上磁铁保持平衡和浮动。
控制电磁铁并不容易,这需要您了解PID控制器,这将在下一步中详细讨论。
PID控制器
什么是PID?
来自百度百科:“比例 – 积分 – 微分控制器(PID控制器或三项控制器)是一种控制回路反馈机制,广泛应用于工业控制系统和各种其他需要连续调制控制的应用中.PID控制器连续计算误差值{\ displaystyle e(t)}作为期望设定值(SP)和测量过程变量(PV)之间的差异,并应用基于比例,积分和微分项(分别表示为P,I和D)的校正。给控制器起名字。“用一种简单的方法来理解:“PID控制器计算’误差’值作为测量的[输入]和所需设定值之间的差值。控制器试图通过调节[输出]来最小化误差。”因此,您告诉PID要测量的内容(“输入”),您希望测量的位置(“设定点”)和要调整的变量(“输出”)。然后PID调整输出,试图使输入等于设定值。作为参考,在汽车中,输入,设定点和输出分别是速度,期望速度和油门角度。
在这个项目中:
1. 输入是霍尔传感器的当前实时值,由于浮动磁铁的位置会实时变化,因此会不断更新。
2.设定值是霍尔传感器的值,当浮动磁铁处于平衡位置时,在磁铁基座的中心测量。该指数是固定的,不会随时间而变化。
输出将是控制电磁铁的速度。
感谢Arduino社区编写PID库,它真的很容易使用。
有关Arduino PID的更多信息,请访问https://playground.arduino.cc/Code/PIDLibrary
我们需要在Arduino中使用一对PID控制器,一个用于X轴,另一个用于Y轴。
必要的组件:
- LM324N – X1
- 悬浮线圈 – X4
- SS495a霍尔传感器 – X2
- 12V 2A DC适配器 – X1
- 环形磁铁D15 * 4mm – X8
- 直流电源插孔 – X1
- 环形磁铁D15 * 3mm – X4
- Arduino pro mini – X1
- L298N模块 – X1
- 14针插座 – X1
- 磁铁D35 * 5mm – X2
- 5.6K欧姆电阻 – X2
- 180K欧姆电阻 – X2
- 47K欧姆电阻 – X2
- 10K欧姆电位器 – X2
- 丙烯酸板A5尺寸 – X1
- 木锅 – X1
- PCB面包板 – X1
- 3毫米螺丝 – X8
- 线
- 迷你计划,如肉质植物,仙人掌,迷你盆景
LM324 Opamp和L298N驱动器和SS495a
LM324运算放大器
运算放大器(op-amp)是目前使用中最重要,最广泛使用和最通用的电路之一。
我们使用运算放大器放大来自霍尔传感器的信号,目的是增加灵敏度,使arduino很容易识别磁场的变化。当仅在霍尔传感器的输出处改变几mV时,通过放大器后可以在Arduino中改变几百个单位。这对于保持PID控制器平稳稳定是必要的。
在本教程中了解有关运算放大器如何工作的更多信息。
我选择的普通运算放大器是LM324,非常便宜,您可以在任何电子商店购买。LM324有4个内部放大器,可以灵活使用,但在这个项目中我只需要两个放大器,一个用于X轴,另一个用于Y轴。
您可以在以下步骤中找到如何组装LM324。
L298N模块
双H桥L298N通常用于控制两个直流电机的电机速度和方向,或轻松控制一个双极步进电机。L298N H桥模块可用于电压介于5和35V DC之间的电机。
还有一个板载5V稳压器,因此如果您的电源电压高达12V,您也可以从电路板获得5V电压。
在这个项目中,我使用L298N来控制两对电磁线圈,并使用5V输出为Arduino和霍尔传感器供电。
模块引脚:
- out2:一对电磁铁X.
- out3:一对电磁铁Y.
- 输入电源:DC 12V输入
- GND:接地
- 5v:5v输出到Arduino和霍尔传感器
- EnA:为Out 2启用PWM信号
- In1:启用输出2
- In2:启用Out 2
- In3:启用Out 3
- In4:启用Out 3
- EnB:为Out3启用PWM信号
连接到Arduino:我们需要移除EnA和EnB引脚中的2个跳线,然后将6个引脚In1,In2,In3,In4,EnA,EnB连接到Arduino。以下步骤中的详细信息。
了解有关L298N模块的更多信息。
SS495a霍尔传感器
SS495a是一款带模拟输出的线性霍尔传感器。
注意模拟输出和数字输出之间的区别,你不能在这个项目中使用带数字输出的传感器,它只有两个状态1或0,所以你无法测量磁场的输出。
模拟传感器的电压范围为250mV至Vcc,您可以使用Arduino的模拟输入读取。
需要两个霍尔传感器来测量X和Y轴的磁场。
钕铁硼磁铁
维基百科:“钕是一种铁磁性金属(更具体地说它具有反铁磁性质),这意味着它可以像铁一样被磁化成磁铁,但它的居里温度是19 K(-254°C),所以纯净形式它的磁性只出现在极低的温度下。然而,钕与过渡金属如铁的化合物可以使居里温度远高于室温,这些用于制造钕磁铁。
强,这就是我用来形容钕磁铁的词。你不能使用铁氧体磁铁,因为它们的磁性太弱。钕磁铁比铁氧体磁铁贵得多。
小磁铁用于制造基件,大磁铁用于制造浮动件。
注意:使用钕磁铁需要小心,因为它们的强磁性会伤害您,或者它会破坏硬盘驱动器或受磁场影响的其他电子设备的数据。
提示:您只能将两块磁铁拉到水平方向,将它们分开,因为它们的磁场太强,所以不能将它们分开。它们也很脆,容易破碎。
准备底座的盖子
我使用一个直径为3 3/4“的小陶土锅,通常用来生长多汁或仙人掌。你也可以使用陶瓷锅或木锅,只要它们完美搭配。
使用8毫米钻头在锅底部附近创建一个孔,用于固定直流插孔。
小贴士:你应该用一个扁平的木头钻进兵马俑锅,我用的是铁钻,几乎烧了,真的没用。
您也可以使用水来冷却钻头,避免使其过热。
3D打印浮动磁铁支架和丙烯酸激光切割
3D打印
使用我附带的STL文件打印浮动磁铁支架。
如果您有3D打印机,这真的很棒。恭喜,您有机会用这台机器制作一切。如果没有,请不要失望,因为您可以使用廉价的3D打印服务,这是现在非常流行的。
提示:您只需要大约20分钟即可完成此部件并且仅填充30%。
激光切割
您应该使用本地激光切割服务来切割两个带有文件的丙烯酸片,我将其作为AcrylicLaserCut.dwg附加。这是一个autocad文件。
丙烯酸片用于支撑磁铁和电磁铁,其余部分用于覆盖陶土锅的表面。
[zrz_file link="https://cdn.instructables.com/ORIG/F6H/1PMH/JHKU0X73/F6H1PMHJHKU0X73.stl" name="MagnetHolder.stl" code=""] [zrz_file link="https://cdn.instructables.com/ORIG/FOA/9MVF/JHKU0UB5/FOA9MVFJHKU0UB5.dwg" name="AcrylicLaserCut.dwg" code=""]准备SS495a霍尔传感器模块
将pcb面包板切成两块,一块用于连接霍尔传感器,另一块用于制作LM324电路。
将两个磁传感器垂直连接到PCB。注意两侧刻有传感器相互旋转,固定焊接。
使用细线将传感器的两个VCC引脚连接在一起,对GND引脚执行相同操作。输出引脚是分开的。
运算放大器电路
按照原理图将插座和电阻器焊接到PCB,注意将两个电位器放在同一方向,以便以后轻松校准。
将LM324连接到插座,然后将霍尔传感器模块的两个输出连接到运算放大器电路。
连接两根LM324输出线连接到Arduino。12V输入应与L298N模块的12V输入共用,L298N模块的5V输出连接到电位器的5V。
组装电磁铁
将电磁铁组装到丙烯酸板上,注意固定在靠近中心的四个孔处。
拧紧螺钉以避免移动。
因为电磁铁在中心对称,所以它们总是在相反的磁极上,因此电磁铁内侧的导线连接在一起,电磁铁外侧的导线连接到H型驱动器L298N。
将丙烯酸板下方的电线拉下穿过附近的孔,连接到L298N。
提示:铜线涂有绝缘层,因此必须先用刀将其拆下才能将它们焊接在一起,记得在焊接后使用热缩管。
连接传感器模块和磁铁
使用热胶将传感器模块固定在电磁铁之间,注意每个传感器必须是两个电磁铁的正方形,一个在前面,另一个在后面。
尝试尽可能集中校准两个传感器,使它们不重叠,这将使传感器最有效。
下一步是将磁铁组装在丙烯酸基底上。将两个D15 * 4mm磁铁和一个D15 * 3mm磁铁组合在一起形成一个圆柱体,这将使磁铁和电磁铁具有相同的高度。
在成对的电磁铁之间组装磁铁,注意向上磁铁的磁极必须相同。
DC电源插孔和L298N 5V输出
用两根电线焊接直流电源插孔并使用热缩管。将DC电源插孔连接到L298N模块的输入端,其5V输出将为Arduino供电。
用两根电线焊接直流电源插孔并使用热缩管。将DC电源插孔连接到L298N模块的输入端,其5V输出将为Arduino供电。
L298N和Arduino
按照上面的原理图将L298N模块连接到Arduino。
L298N ===> Arduino
输出5V ===> VCC
GND ===> GND
EnA ===> 7
In1 ===> 6
In2 ===> 5
In3 ===> 4
In4 ===> 3
EnB ===> 2
Arduino Pro Mini Progamming
由于Arduino pro mini没有任何USB到串口,因此您需要连接外部编程器。
FTDI Basic将用于编程(和供电)Pro Mini。
按照Sparkfun指令获取更多信息。
浮动件的制备
将两个D35 * 5磁铁连接在一起以增加磁性。
校准设定值
将程序ReadSetpoint.ino加载到我附加的Arduino。该程序将读取霍尔传感器的值并通过串口将其发送到计算机。打开COM端口查看它。
将12V DC插入直流电源插孔,您还可以使用示波器读取传感器值。
观察屏幕上的数值,通过调节两个电位计进行调整。最佳值为560,此时传感器的输出约为2.5V。
设定设定值后,将浮动磁铁片放在基座上方并摇动,以查看屏幕上设定值的变化。
提示:分别在X和Y轴上标记一对电磁铁和电位计,以便日后轻松修正。
[zrz_file link="https://cdn.instructables.com/ORIG/FEB/SY41/JHKU1K8H/FEBSY41JHKU1K8H.ino" name="ReadSetpoint.ino" code=""]加载主程序
校准设定值后,现在是享受结果的时间。
加载Levitation.ino主程序,我在下面附上。
使用超级胶水固定磁铁片和磁铁支架,之前是3D打印的。
提示:加载主程序后,可以对电位器进行小幅调整,使浮动件固定在中心位置。
[zrz_file link="https://cdn.instructables.com/ORIG/FAE/5JY1/JHKU1V0I/FAE5JY1JHKU1V0I.ino" name="Levitation.ino" code=""]全部放在一起
首先将DC电源插孔连接到锅中,然后将剩余部分放入锅中。
最后,使用剩余的丙烯酸板制作锅的表面。
最后准备
将”木锅“连接到浮动磁铁片上。
我用一个小仙人掌来种植。您可以使用仙人掌或多肉植物或任何对称或小而轻的迷你盆景。
完成
享受您的成果,您将在自己的办公桌上使用盆景气罐来实现您的努力。