Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Магнитная левитация на отталкивании с Arduino: Простая схема и DIY-руководство

Компоненты и материалы

Arduino UNO×1
Резистор 1 кОм×1
Транзистор BD241 (или любой средней мощности)×1
Линейный датчик Холла UGN3503 (любой 5V ратиометрический)×1
Соленоид (RobotGeek Medium или ~200 витков медной проволоки 30AWG)×1
Тороидальный магнит от старой колонки (диаметр 9-11 см+) или группа неодимовых магнитов в форме гексагона×1
Универсальный диод 1N4001×1

Инструменты

Паяльник

Приложения и сервисы

Arduino IDE

О проекте

Несколько лет назад я пытался сделать устройство для отталкивающей магнитной левитации, но все схемы были сложными, а настройка — очень сложной.

После нескольких неудачных и полууспешных попыток я купил готовый левитатор (на фото), но сделать его дома (DIY) почти невозможно.

Магнитная левитация на отталкивании с Arduino: Простая схема и DIY-руководство

Теперь представляю отталкивающий левитатор, который кроме Arduino содержит всего несколько компонентов и очень прост для DIY:

Схема очень проста (см. ниже). Arduino питается от 5В, соленоид через транзистор — от 12-20В. Общая земля. Полярность магнитов и соленоида показана на рисунке.

Для настройки понадобится немного терпения и времени — и в этом есть удовольствие от создания устройства. Датчик Холла должен быть сверху над соленоидом. Над ним размещается магнит, который должен левитировать. В моем случае настройка заключалась в перемещении тороидального магнита вверх-вниз. Кроме аппаратной настройки, есть настройка в коде — изменение значения первой строки (set_point) в диапазоне 200-350. Комбинация этих двух настроек дает лучший результат.

Код

Arduino
int set_point = 250; // настройка порога
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: Простая схема и DIY-руководство

Производственный процесс

  1. Цифровые кости на Arduino: генератор случайных чисел с LCD-дисплеем и кнопкой
  2. Многопозиционная система датчиков температуры для интеграции в умный дом
  3. DIY USB-геймпад на Arduino: собственный высокопроизводительный контроллер
  4. MotionSense: умная система обнаружения проникновения на Arduino и ESP8266
  5. Пожарная безопасность 3D-принтера: умная система обнаружения дыма
  6. Pixel Chaser: игра на один тап с NeoPixel Ring и Arduino Nano
  7. Веб-управляемый IoT-индикатор на Arduino, Yaler и IFTTT
  8. Высокопроизводительный регистратор данных для метеозонда на Arduino
  9. Arduino Flip Clock на матрице 8×8 LED — DIY проект реального времени
  10. CoroFence: термический детектор на GridEye + PIR с IoT