Arduino 简易排斥式磁悬浮:电路与 DIY 指南
组件与物料
| Arduino UNO | × | 1 |
| 电阻 1kΩ | × | 1 |
| 功率三极管 BD241 | × | 1 |
| 线性霍尔传感器 UGN3503 | × | 1 |
| RobotGeek 中型电磁铁 / 螺线管 | × | 1 |
| 大型扬声器环形磁铁 (直径 9-11cm) | × | 1 |
所需工具
| 电烙铁(通用) |
应用与在线服务
| Arduino IDE |
项目简介
几年前我尝试制作排斥式磁悬浮装置,但网上的电路都很复杂,调试极难。经过多次失败与半成功,曾买过成品悬浮器(如图),但那种结构几乎无法在家自制。
现在介绍一个极简排斥式磁悬浮,除 Arduino 板外仅需寥寥几个元件,非常适合 DIY:
- 任意中功率三极管(本例用 BD241)
- 通用二极管 1N4001
- 电阻 1kΩ
- UGN3503 霍尔效应传感器(任何 5V 比例输出霍尔传感器均可)
- 旧音箱环形磁铁(直径 9-11cm 或更大)
- 也可用小钕铁硼磁铁按正六边形排列(商用方案)
- 约 200 匝 30AWG 漆包线绕制的螺线管(本例拆自旧钱箱电磁铁)
电路极简(见原理图):Arduino 取 5V 供电,螺线管经三极管由 12-20V 驱动,共地。磁铁与螺线管极性如图所示。调试需耐心:主要通过上下移动环形磁铁位置,配合代码中 set_point 值(200-350 可调)微调。霍尔传感器置于螺线管正上方,悬浮磁铁置于传感器上方。
代码
int set_point = 250; // 调节阈值,范围 200-350
int sensorPin = A1; // 霍尔传感器信号脚
int output_pin = 2; // 驱动三极管基极控制脚
int sensorValue = 0;
void setup() {
Serial.begin(9600);
pinMode(output_pin, OUTPUT);
}
void loop() {
sensorValue = analogRead(sensorPin);
// Serial.println(sensorValue); // 调试用
if (sensorValue <= set_point)
digitalWrite(output_pin, LOW); // 磁场弱,开启线圈排斥
else
digitalWrite(output_pin, HIGH); // 磁场强,关闭线圈
}
原理图
制造工艺
- Arduino 数字骰子:LCD 显示随机点数的电子骰子
- 多位置温度传感器系统,助力智能家居集成
- DIY Arduino USB 游戏手柄 — 自制高性能游戏手柄
- MotionSense:基于 Arduino 与 ESP8266 的智能入侵检测系统
- 3D 打印机防火卫士:智能传感器安全系统
- Pixel Chaser:Arduino Nano 单键 NeoPixel 追逐小游戏
- 基于 Arduino、Yaler 与 IFTTT 构建 Web 化 IoT 仪表盘
- 高性能 Arduino 气象气球数据记录器
- Arduino 8×8 LED 矩阵翻页时钟 - DIY 实时时钟项目
- 进阶微控制器实验平台:ESP32、Arduino、PIC 与多传感器模块集成
- Arduino Nano 驱动 NeoPixel 矩阵:自制霓虹乒乓游戏
- CoroFence 热成像检测器:Panasonic GridEye + PIR + IoT 集成