感谢电路城卖家dimension提供了这么好的资料!
该悬浮装置用arduino uno控制,l298n驱动四个线圈电磁铁,配合霍尔传感器就能悬浮了。
装置用到的东西有:arduino主控板、线圈、大磁铁、霍尔传感器
视频演示:
磁力对悬浮物的控制,其基本原理是:
霍尔传感器在浮子的正下方,当检测到浮子向左运动时,两边的线圈一个吸一个拉,把它推向右;反之如果浮子想右运动,那么两个线圈的电流都反向。用前后左右共四个线圈,两个霍尔传感器配合,就可以把浮子稳定的悬浮住。但是线圈产生的力是比较小的,因此只能够推动浮子在水平面移动,要克服浮子的重力让它悬浮起来,就要在四个线圈下面再加一个大的环形磁铁提供斥力。
霍尔传感器介绍:
霍尔传感器是一种测量磁场强度的元件,可以把通过它垂直面的磁力线强度转化为不同的电压值,这样我们用单片机ADC读取之后就可以得到浮子的位置信息了。霍尔传感器的安装位置很有讲究,前面说了它是测量通过其垂直面的磁力线,也就是浮子发出的磁力线,而我们电磁线圈在调节的同时磁力线也在变,如果这个变化被霍尔感应到了结果就很不可靠了,所以霍尔的安装位置应该是位于四个线圈的中间高度,这里的磁力线刚好是与霍尔平行,不产生影响。
霍尔元件一般需要放大电路放大,但是考虑到对一些初学者比较复杂,大家可以考虑直接到网上买那种线性霍尔元件模块,内置放大的直接接到arduino上就能用,注意一定要线性的!
为了让悬浮更加稳定,采用了PID控制的平衡算法。把霍尔元件度数也就是浮子的位置作为输入变量输入PID函数,设定一个目标值也就是浮子在中间位置时的读数值,然后把输出赋值给PWM驱动线圈,剩下的就是调整PID参数让它自己控制浮子。
至于线圈,用漆包线在支架上绕200-300圈基本就够了。