Огнедышащий череп на arduino. Пример работы с сервоприводом и реле

Огнедышащий череп на arduino

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

Идея устройства

Идея устройства довольно простоя – взять череп, засунуть в него два провода с нитью накала и шланг, по которому будет подаваться газ. В итоге должно получиться что-то прикольное – изо рта черепа будет вылетать струя пламени. В качестве резервуара с горючей смесью изначально я хотел использовать баллон с газом для заправки зажигалок, но от этой идеи отказался, поскольку побоялся что-нибудь спалить, напор газа из баллона оказался очень сильным. Следующей идеей стала реализация хранилища газа из обычной зажигалки. Напор газа в зажигалке можно регулировать – это большой плюс, но есть и большой минус – количество газа не такое большое. В итоге на роль резервуара с горючим я назначил зажигалку, о чем потом немного пожалел, когда к вечеру газ в устройстве практически закончился и пламя было уже не такое сильное, как мне хотелось. Можно попробовать заправить зажигалку, но есть вероятность, что клапан, который служит для заправки, окажется не рабочим и тогда вообще не останется газа и придется менять зажигалку. Если когда-нибудь решусь повторить этот проект, то буду использовать баллон. После выбора резервуара возникла сложность с реализацией механизма, который бы мог автоматически управлять задвижкой с газом – об этом я напишу чуть позже. Еще один интересный момент, который хочу осветить во вступлении, это запал. В качестве запала я использовал тонкую нихромовую проволоку, которую скрутил в спираль. Тут тоже оказалось не все гладко – для достижения достаточной температуры спирали, которая способна воспламенить газ, мне пришлось использовать сразу два аккумулятора 18650, подключенных последовательно, это 8 вольт, а ардуино работает от 3,3-5. Так же ток оказался довольно сильный, поэтому пришлось использовать реле, для управления запалом, а для питания ардуино пришлось добавить модуль, который понижает напряжение.

Запал огнедышащего черепа

В первую очередь я подобрал подходящую 3D модель черепа и, задав подходящий размер, распечатал его. Кстати, размер черепка я выбрал не самый рациональный, если кто-то будет повторять, то лучше увеличить в 2-3 раза, тогда будет выглядеть внушительнее и работать с ним удобнее. С мелким черепком пришлось повозиться, чтобы правильно просверлить отверстия под два провода и шланг с газом. К двум проводам необходимо было закрепить нихромовую спираль. Первая мысль была очевидная – припаять спиральку. Но не тут-то было, припой ни в какую не хотел прилипать к нихрому, манипуляции с температурой паяльника и подборами флюса ни к чем не привели. И я просто примотал тонкой медной проволокой спиральки к толстым проводам, потом пропаял получившуюся конструкцию. Получилось не очень красиво, зато все крепко держится.
В качество шланга для подачи газа, я использовал оплетку от кабеля, выбрал такую, чтобы плотно налезала на металлический муштук зажигалки. Так же на один край шланга добавил небольшой медный штуцер, в роли которого использовал муштук от другой зажигалки. Что получилось на данном этапе, видно на картинках ниже. Качество фотографий оставляет желать лучшего, но это лучше, чем ни чего.

 Огнедышащий череп на arduino. Череп с проводами и шлангом 1
 Огнедышащий череп на arduino. Череп с проводами и шлангом 2

Механика подачи газа для огнедышащего черепа

Чтобы регулировать подачу газа, было решено использовать простенький сервопривод Tower Pro 9g SG90. Стоит такой серво довольно дешево, но и мощность его также не велика, поэтому пришлось использовать рычаг, чтобы сервопривод осилил задвижку. Сам рычаг был припаян к пружинке, которая в свою очередь расположена на винтике, где ее степень свободы регулируется прижимной гайкой. Для соединения сервопривода и рычага я использовал пружину растяжения – это позволило допустить мелкие просчеты в работе рычага, при жестком соединении есть вероятность сломать серво или сам рычаг. Фотографии механизма приведены ниже:
Механика подачи газа для огнедышащего черепа 1
Механика подачи газа для огнедышащего черепа 2
После тестового запуска оказалось, что длины рычага не достаточно и пришлось немного модернизировать задвижку. Фото доработки ниже.
Механика подачи газа для огнедышащего черепа 3

Питание для огнедышащего черепа и arduino

Как я уже писал в самом начале, в качестве питание для спирали накаливания используется два, последовательно соединенных, аккумулятора 18650, поэтому напряжение получилось 8 вольт. А для питания ардуино в идеале необходимо 3,3 или 5 вольт. Пришлось добавить модуль понижения напряжения LM2596, он позволяет регулировать напряжение постоянного тока в пределах от 4,5 до 40 вольт. Пользоваться таким готовым модулем одно удовольствие, и за считанные секунды, используя подстроечный резистор, удалось выставить ровно 5 вольт, которые будут питать arduino. Другие провода, которые идут напрямую от аккумуляторов, я подключил к спирали накала через реле, которое управляется с arduino.

Питание для огнедышащего черепа и arduino

Что использовалось в проекте:

Корпус для устройства

Когда примерно расположил все элементы на куске текстолита, который у меня использовался «по-колхозному», просто как панель, на которой крепятся различные элементы, я примерно померил размеры необходимой коробки, сделал небольшой напуск и на скорую руку нарисовал 3D модель. Получившуюся модель, я сразу же начал печатать, чтобы потом не ждать, ведь 3д-печать не такая быстрая, как хотелось бы. Спешка сыграла со мной злую шутку, я накосячил с размерами и с одной стороны стенка немного оттопырена, и тумблер питания пришлось переместить на боковую стенку, хотя изначально я планировал поместить его на верхнюю часть коробки, рядом с черепом.

Корпус для устройства. 3D-модель

Скетч для arduino, который управляет огнедышащим черепом

По-хорошему, использование arduino в данном проекте – это расточительство ресурсов, с пушки по воробьям стреляю, но по другому я пока не умею :) Когда-нибудь я доберусь до оптимизации, но только не сегодня. А вообще смысл создания этого проекта заключается в самом процессе реализации, в изучении новых модулей и элементов. Таким образом, в ходе создания этого устройства получилось разобраться с работой реле и сервопривода. Для управления реле, достаточно подавать питание на один из пинов. А для работы с сервоприводом пришлось воспользоваться библиотекой, которая позволяет быстро и просто работать с серво. Достаточно подключить один пин и потом просто указывать градус поворота. Библиотека подробнее описана на официальном сайте: тут.
Код получился довольно простой, он приведен ниже с подробными комментариями, так же он доступен для скачивания тут: скачать.

 
#include <Servo.h>
Servo myservo; 

int pinServo = 9;
int pinRele = 8;
 
void setup()
{
  pinMode(pinRele, OUTPUT);
  myservo.attach(pinServo); 

  // начальное положение сервопривода
  myservo.write(20);

  // зажигаем нить накала
  digitalWrite(pinRele, LOW);
  // ждем, пока нагреется нить накала
  delay(500);   
  // открываем газ
  myservo.write(0);
  // ждем, пока газ загорится
  delay(1000);
  // выключаем нить накала
  digitalWrite(pinRele, HIGH);

  // ждем 3 сек
  delay(3000);
  // перекрываем газ
  myservo.write(60);
} 

void loop() 
{ 
      
} 

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



Рассказать друзьям:


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*