Это робот-пожарник, способен обнаружить огонь с помощью датчиков пламени, и переместиться к огню для его тушения. Он также может избегать препятствий при движении к возгоранию с помощью ультразвуковых датчиков. Кроме того, он отправляет вам электронное письмо, когда он тушит пламя.
Разработчики - группа проекта Bruface Mechatronics 5
Члены команды:
Арктит Илиади / Махди Рассулян / Сара Ф. Амбросеккия / Джихад Альсамарджи
Шаг 1: Список деталей
Arduino Mega - 1 шт.
9V DC motor - 2 шт.
Серводвигатели 9g - 1 шт.
Сервомотор 442hs - 1 шт.
Водянной насос - 1 шт.
Ultrasonic sonic sensor - 2 шт.
1way Flame sensor - 4 шт.
Н-мост - 2 шт.
Wi-Fi модуль- 1 шт.
Выключатель - 1 шт.
Mini breadboard - 1 шт.
Arduino кабель для батареи 9В - 1 шт.
9V battery plug - 1 шт.
LIPO 7.2Volt battery - 1 шт.
Rubber track set - 2 шт.
Motor mounting - 2 шт.
Spacer (M3 female-female 50mm) - 8 шт.
Screws (M3) Water tank (300 ml) - 1шт.
Water hose - 1 шт.
Шаг 2: Некоторые технические рекомендации по выбору компонентов
Электродвигатели постоянного тока с энкодером (датчик угла поворота):
Преимущество электродвигателя постоянного тока с энкодером над простым двигателем постоянного тока - это способность компенсировать скорости, когда требуется больше одного двигателя с одинаковой скорость на обоих. Как правило, когда у вас есть более одного двигателя с одним и тем же входом (напряжение и ток), и ваша цель состоит в том, чтобы соблюдалась одинаковая скорость, может случиться, что некоторые моторы могут проскользнуть, что приведет к разнице скоростей между ними, что, например, для нашего случая (два двигателя в качестве движущей силы) может вызвать отклонение с одной стороны, когда цель должна двигаться вперед. Энкодеры контролируют количество оборотов для обоих двигателей и в случае разницы компенсируют их. Однако, поскольку, когда мы протестировали наш робот, разница в скорости двух двигателей не наблюдалась, и мы не использовали Энкодеры.
Серводвигатели:
Для механизма водяного пистолета нам понадобились серводвигатели, которые могут обеспечить относительно точное движение в определенном диапазоне. Для чего существуют два варианта: сервомотор или шаговый двигатель.
Как правило, шаговый двигатель дешевле сервомотора. Однако, в зависимости от приложения, есть много других факторов, которые следует учитывать. Для нашего проекта мы рассмотрели следующие факторы:
- Коэффициент мощности / массы серводвигателя выше, чем шагового двигателя, что означает, что для того же уровня мощности шаговый двигатель будет тяжелее сервомотора.
- Сервомотор потребляет меньше энергии, чем шаговый двигатель, что связано с тем, что серводвигатель потребляет энергию, когда он вращается в командном положении, но затем останавливается двигатель и потребление тока. Шаговые двигатели продолжают потреблять энергию для блокировки и удерживания заданного положения.
- Сервомоторы могут придать больше ускорение при нагрузке, чем шаговые двигатели.
Эти причины ведут к меньшему потреблению энергии, что было важно в нашем случае, поскольку мы использовали батарею в качестве источника питания для всех двигателей.
Если вам интересно узнать больше о различиях между серво и шаговыми двигателями, проверьте следующую ссылку:
http://www.cncroutersource.com/stepper-vs-servo.html
H-мост:
Роль Н-моста, это возможность контролировать направление и скорость ваших двигателей постоянного тока. В нашем случае мы просто использовали их для управления направлением вращения для обоих двигателей постоянного тока (Подключённых к ведущим колесам).
Кроме того, другой н-мост используется как простой переключатель включения / выключения для насоса. (Это также можно сделать с помощью транзистора)
Ультразвуковые датчики:
Они используются для того, чтобы избегать препятствия. Мы использовали 2 датчика, однако вы можете увеличить диапазон наблюдаемой области за счет увеличения числа датчиков. (Эффективный диапазон каждого ультразвукового датчика: 15 градусов)
Датчики пламени:
Всего используется 4 датчика пламени. 3 датчика под шасси подключены как к аналоговым, так и к цифровым контактам Arduino. Цифровые соединения используются для обнаружения огня для дальнейших действий, в то время как аналоговые соединения используются только для обеспечения показаний расстояния до огня для пользователя. Другой датчик сверху используется в цифровом виде, и его функция заключается в том, чтобы отправить команду на остановку транспортного средства на подходящем расстоянии от огня, поэтому в тот момент, когда верхний датчик, обнаруживает огонь, он будет отправьте команду на остановку транспортного средства и запуск водяного насоса для тушения огня.
Arduino Mega:
Причиной выбора Arduino Mega вместо Arduino UNO является следующее:
- Наличие модуля Wi-Fi значительно увеличивает количество строк в коде и требует более мощный процессор, чтобы избежать возможных сбоев при запуске кода.
- Наличие большего количества контактов в случае заинтересованности в расширении дизайна и добавлении некоторых дополнительных функций.
Резиновые гусеницы:
Резиновые гусеницы используются, чтобы избежать каких-либо проблем или проскальзывания при наличии скользкого пола или небольших предметов на пути движения.
Шаг 3: Изготовление деталей
Ниже приводятся технические чертежи деталей, которые производятся либо на 3D-принтере, либо лазерным резаком. Дизайн вашего робота-пожарного может быть изменено в зависимости от вашего интереса, поэтому Вы можете изменить форму тела и дизайна любым способом, который вам подходит.
Лазерная резка:
Шасси (Орг. стекло 6мм) 1 шт.
Крышка (Орг. стекло 6мм) 1 шт.
Задняя Часть (МДФ 3мм) 1 шт.
Боковая часть (МДФ 3мм) 2 шт.
3D-печать:
Ультразвуковой держатель 2 шт.
Держатель датчика пламени 1 шт.
Держатель подшипника ступицы 4 шт.
Установка водяного пистолета 1 шт.
Шаг 4: Лазерная резка (все размеры в См)
Шаг 5: Технические чертежи для 3D-печати: (все размеры в См)
Шаг 6: Тестирование
Это короткое видео, которое показывает некоторые варианты тестирования для проверки функциональности различных компонентов.
Шаг 7: Сервомоторы и водянной спрей
Шаг 8: Финальная сборка
Шаг 9: Подключение компонентов к Arduino
Шаг 10: Распиновка контактов Arduino
Шаг 11: Программная блок-схема
Шаг 12: Программирование