Оглавление:

Управление платой реле с помощью Octoprint на Raspberry Pi: 5 шагов
Управление платой реле с помощью Octoprint на Raspberry Pi: 5 шагов

Видео: Управление платой реле с помощью Octoprint на Raspberry Pi: 5 шагов

Видео: Управление платой реле с помощью Octoprint на Raspberry Pi: 5 шагов
Видео: Установка octoprint на Raspberry pi для вашего 3д принтера| Настройка Телеграмм Бот 2024, Ноябрь
Anonim
Управление платой реле с помощью Octoprint на Raspberry Pi
Управление платой реле с помощью Octoprint на Raspberry Pi

Итак, у вас есть Raspberry Pi с Octoprint и даже есть настройка камеры. Последнее, что вам нужно, это способ включать и выключать 3D-принтер и, возможно, управлять светом. Это руководство для вас!

Это вдохновлено и упрощено из:

Обязательно ознакомьтесь с моими предыдущими инструкциями, где я построил коробку / вытяжной шкаф для своего 3d-принтера, так как это продолжение.

Протестировано с:

Linux octopi 4.14.79-v7 + # 1159 SMP вс, 4 ноября 17:50:20 GMT 2018 armv7l GNU / Linux

Версия OctoPrint: 1.3.11 Версия OctoPi: 0.16.0

Отказ от ответственности: я не несу ответственности за любые неприятности, которые могут произойти в результате выполнения вами этих инструкций.

Запасы

  • Плата реле 5 В с оптопарой (ebay)
  • Некоторые перемычки
  • Электрический ящик с розетками (по желанию)

Шаг 1. Подключение релейной платы к Raspberry Pi

Подключение релейной платы к Raspberry Pi
Подключение релейной платы к Raspberry Pi

Хотя релейные платы предназначены для логики 5 В, они правильно срабатывают при 3,3 В. Зная это, я смог избежать каких-либо модификаций исходной платы.

Щиток реле Raspberry

------------ --------- Катушки: JD-VCC - 5V VCC - Не подключен GND - GND Логика: GND - Не подключен IN1 - GPIO # 23 IN2 - GPIO # 18 В постоянного тока - 3,3 В

Важно удалить перемычку между JD-VCC и VCC, если она у вас есть. Это позволит подавать 5 В для катушек и 3,3 В для логических входов. И поскольку оба GND соединены между собой внутри, мы подключаем только один из них.

Шаг 2: подключитесь к Raspberry Pi по SSH и настройте его

Подключитесь к Raspberry Pi по SSH и настройте его
Подключитесь к Raspberry Pi по SSH и настройте его

Используя putty или ваш любимый клиент ssh, подключитесь к своему raspberry pi, используя тот же IP-адрес, который вы используете для доступа к Octoprint. Имя пользователя по умолчанию - pi, а пароль - raspberry.

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

gpio -g режим 18 выход

gpio -g mode 23 out gpio -g write 18 0 gpio -g write 23 0 gpio -g write 18 1 gpio -g write 23 1

Первые 2 строки позволяют установить GPIO как выход. Затем вы включаете и выключаете выходы. Это должно заставить реле щелкнуть. Когда на входах низкий уровень (0), реле должно включиться, а когда на входах высокий уровень (1), они должны выключиться. Так что да, это немного нелогично, но так оно и есть!

Шаг 3. Добавьте новые параметры меню в Octoprint для управления реле

Добавьте новые параметры меню в Octoprint для управления реле
Добавьте новые параметры меню в Octoprint для управления реле
Добавьте новые параметры меню в Octoprint для управления реле
Добавьте новые параметры меню в Octoprint для управления реле

Вам нужно будет отредактировать файл config.yaml:

судо нано.octoprint / config.yaml

Внутри этого файла найдите раздел «система» и добавьте следующее:

система:

действия: - действие: команда включения принтера: gpio -g write 18 0 имя: включить принтер - действие: команда выключения принтера: gpio -g write 18 1 подтверждение: вы собираетесь выключить принтер. имя: выключить принтер - действие: команда lon: gpio -g write 23 0 имя: LightOn - действие: команда loff: gpio -g write 23 1 имя: LightOff

После сохранения файла (ctrl + x) перезагрузите raspberry pi:

перезагрузка sudo

Теперь вы можете управлять реле через веб-интерфейс Octoprint!

Шаг 4: высоковольтная проводка (будьте осторожны)

Проводка высокого напряжения (будьте осторожны)
Проводка высокого напряжения (будьте осторожны)

Реле действует как переключатель, только оно запускается контроллером, в данном случае Raspberry Pi. Переключатель состоит из электромагнита, который соединяет контакты вместе, то есть щелчок, который вы слышите.

У вас есть два варианта подключения. Либо вы перерезаете один из проводов блока питания вашего 3d-принтера и подключаете его концы к реле, либо вы делаете для этого розетку. Я предпочитаю второй способ, так как это позволит легче перемещать принтер. Я также буду использовать второй выход для подключения вытяжного вентилятора (см. Другие мои инструкции: Простая и дешевая вытяжка для 3D-принтера).

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

Шаг 5. Настройте выходы GPIO и предотвратите включение реле при перезагрузке Raspberry Pi

Подводя итог проблеме, GPIO устанавливаются на низкий уровень при перезагрузке raspbian (по крайней мере, для определенных версий ядра). Судя по всему, мы мало что можем сделать… да ладно! Таким образом, идея состоит в том, чтобы вызвать сценарий, который вернется к этому после завершения загрузки, установив высокий уровень выходов.

См. Эту ветку форума для получения дополнительной информации: https://www.raspberrypi.org/forums/viewtopic.php? T = 35321

Но самое главное, этот скрипт устанавливает GPIO как выходы, иначе пункты меню не будут работать в Octoprint.

Создайте скрипт с помощью nano:

нано /home/pi/setupgpio.sh

Вставьте этот код и сохраните файл.

#! / bin / sh

echo 18> / sys / class / gpio / export echo 23> / sys / class / gpio / export udevadm установить высокий уровень эха> / sys / class / gpio / gpio18 / direction echo high> / sys / class / gpio / gpio23 / direction

Сделайте файл исполняемым:

chmod + x /home/pi/setupgpio.sh

Отредактируйте файл rc.local:

sudo nano /etc/rc.local

И вызовите только что созданный скрипт, добавив следующие строки:

# настраиваем контакты gpio для управления воротами

/home/pi/setupgpio.sh

Перезагрузите малину и убедитесь, что она работает правильно.

Рекомендуемые: