Левитирующий ночник

Публикация 01.04.2017

Собрал левитрон на катушках индуктивности и датчике холла. Обеспечил возможность медленного вращения и подсветки без батарей и проводов. Интересно?

Левитирующий ночник

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

Катушка индуктивности во время работы создает достаточно сильные помехи и дает ошибочные наводки на датчик холла. Что бы отфильтровать такие помехи необходимо в код добавлять дополнительные методы фильтрации. Но Arduino не распологает достаточными мощностями, что бы обеспечить фильтрацию в полном объеме и по тому приходится добавлять механический демпфер.

Для борки установки нам потребуется:

  • arduino
  • неодимовые магниты
  • проволока для катушки 0.4мм - 20 метров
  • болт с гайкой и шайбами (сердечник катушки)
  • датчик холла
  • светодиоды
  • силовой транзистор Toshiba 2SC1815 или какой-нибудь хороший мосфет
  • резисторы 1 к
  • конденсатор 0.1 мКф
  • блок питания 5-12 вольт
  • два металлических кронштейна
  • пластиковый полупрозрачный шар
  • небольшой куллер для придания вращения нашему шару

Левитирующий ночник

Распиновка для подключения датчика холла и силового транзистора к arduino:

Левитирующий ночник

В первую очередь нам понадобится намотать 20 метров проволоки на наш блот. Тем самым получим соленоид, который будет удерживать наш шар в воздухе. 

После намотки к торцу соленоида нужно прикрепить датчик холла.

Простейший код для управления магнитом:

void setup () {
 pinMode(10, OUTPUT);
 pinMode(11, OUTPUT);
}
void loop (){
 if ( analogRead(0) > 200 ) { //Adjust the threshold value to levitate.
 digitalWrite( 10, HIGH );
 digitalWrite( 11, LOW );
 } else {
 digitalWrite( 10, LOW );
 digitalWrite( 11, HIGH );
 }

При изготовлении соленоида заметил, что болт с шестигранной головкой в качестве сердечника катушки не создавал однородного магнитного поля вне катушки. Поэтому я скруглил грани болта напильником. Сила удержания заметно выросла.

Левитирующий ночник

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

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

Сначала я попробовал добавить программный фильтр, но оказалось это сложнее, чем я думал.

int x, y;
int recX1, recX2;
const int cp = 192; //Adjust the value of cp, kA or kB to levitate.
const int kA = 87;
const int kB = 55;
void setup () {
 TCCR1B &= B11111000;
 TCCR1B |= B00000001;
 pinMode(9, OUTPUT);
 pinMode(10, OUTPUT);
 pinMode(11, OUTPUT);
}
void loop (){
 recX2 = recX1;
 recX1 = x;
 x = analogRead(0);
 y = min( max( (x-cp)*kA + (2*x-recX1-recX2)*kB, -255), 255 );
 if ( y > 0 ) {
 analogWrite( 9, y );
 PORTB |= _BV(2);
 PORTB &= ~_BV(3);
 } else {
 analogWrite( 9, -y );
 PORTB |= _BV(3);
 PORTB &= ~_BV(2);
 }
}

Для придания вращения в начале хотел сделать вторую катушку, но все таки решил сделать все проще - поставил куллер, который потоком воздуха обдувал сферу и заставлял ее медленно вращаться.

Теперь остается решить последнюю задачу - заставить сферу светиться. Т.к. мы уже имеем генератор переменного магнитного поля от нашего соленоида, то мы можем его индуцировать в электрический ток внутри сферы. Намотку второй катушки производил опытным путем. Катушка закреплена термоклеем возле подвесного магнита.

Левитирующий ночникЛевитирующий ночник

В более поздних версиях добавил отдельную катушку и генератор колебаний что бы добиться более яркого свечения диодов в сфере.

Левитирующий ночник

Левитирующий ночник

Левитирующий ночник

* комментарии публикуются после модерации
Нет комментариев