Управление питанием принтера через Octoprint: различия между версиями
(Добавил альтернативный вариант автоматического отключения питания принтера по окончании печати через Завершающий G-код) |
|||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 3: | Строка 3: | ||
# Выключать питание принтера при возникновении ошибок при печати или обрыве связи октопринта с принтером | # Выключать питание принтера при возникновении ошибок при печати или обрыве связи октопринта с принтером | ||
<b>Что потребуется:</b> | <b>Что потребуется:</b> | ||
− | # Твердотельное реле, например такое https://is.gd/ | + | # Твердотельное реле, например такое https://is.gd/faLczI (SSR-25DA). Это клон бренда FOTEK, оригиналов я на Али не нашёл |
# Установленный Octoprint на один из одноплатных компьютеров(Например https://is.gd/Vvaclx), доступ к одноплатнику по ssh. | # Установленный Octoprint на один из одноплатных компьютеров(Например https://is.gd/Vvaclx), доступ к одноплатнику по ssh. | ||
# Провода для управления реле, например такие https://is.gd/gGW4Qx | # Провода для управления реле, например такие https://is.gd/gGW4Qx |
Текущая версия на 22:43, 3 августа 2020
Цели:
- Выключать питание принтера по окончании печати и охлаждении хотенда до 50 градусов
- Выключать питание принтера при возникновении ошибок при печати или обрыве связи октопринта с принтером
Что потребуется:
- Твердотельное реле, например такое https://is.gd/faLczI (SSR-25DA). Это клон бренда FOTEK, оригиналов я на Али не нашёл
- Установленный Octoprint на один из одноплатных компьютеров(Например https://is.gd/Vvaclx), доступ к одноплатнику по ssh.
- Провода для управления реле, например такие https://is.gd/gGW4Qx
- Опционально: Паяльник, припой, флюс, изолента
Начнем:
1. Отключаем блок питания от электроники принтера
2. Откручиваем блок питания и снимаем его
3. Снимаем защитный кожух проводки
4. Отсоединяем два провода от тумблера включения питания принтера
5. Наращиваем маленький проводочек. Подойдет кабель 16-18 AWG. Выводим свободные концы наружу.
6. Прикручиваем блок питания обратно. Подсоединяем наши проводочки к выходам 1 и 2 реле. Реле закрепляем на раме. Я приклеил на двусторонний скотч
7. Выход 4(-) реле присоединяем к 39 пину нашего одноплатного компьютера, 3(+) присоединяем к 40 пину нашего одноплатного компьютера. Нумерация начинается с квадратика на обратной стороне платы
8. Приступаем к настройке. Заходим по ssh на наш одноплатный компьютер под пользователем root
9. Переходим в домашнюю директорию пользователя, под которым работает Ocroprint(Для raspberry pi это пользователь pi. Для пользователей нашего установщика - пользователь octo).
cd /home/octo
10. Если у вас не Raspberry Pi - скачиваем библиотеку для управления пинами на нашем одноплатном компьютере. Если Raspberry Pi - переходим к шагу 13
Для Orange Pi Lite это
git clone https://github.com/zhaolei/WiringOP.git -b h3 && cd WiringOP
11. Устанавливаем библиотеку
chmod +x ./build sudo ./build
12. Проверяем работоспособность
cd .. gpio readall
Должна появиться подобная таблица
+-----+-----+----------+------+---+-Orange Pi+---+---+------+---------+-----+--+ | BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM | +-----+-----+----------+------+---+----++----+---+------+----------+-----+-----+ | | | 3.3v | | | 1 || 2 | | | 5v | | | | 12 | 8 | SDA.0 | ALT3 | 0 | 3 || 4 | | | 5V | | | | 11 | 9 | SCL.0 | ALT3 | 0 | 5 || 6 | | | 0v | | | | 6 | 7 | GPIO.7 | ALT3 | 0 | 7 || 8 | 0 | ALT3 | TxD3 | 15 | 13 | | | | 0v | | | 9 || 10 | 0 | ALT3 | RxD3 | 16 | 14 | | 1 | 0 | RxD2 | ALT3 | 0 | 11 || 12 | 0 | ALT3 | GPIO.1 | 1 | 110 | | 0 | 2 | TxD2 | ALT3 | 0 | 13 || 14 | | | 0v | | | | 3 | 3 | CTS2 | ALT3 | 0 | 15 || 16 | 0 | ALT3 | GPIO.4 | 4 | 68 | | | | 3.3v | | | 17 || 18 | 0 | ALT3 | GPIO.5 | 5 | 71 | | 64 | 12 | MOSI | ALT3 | 0 | 19 || 20 | | | 0v | | | | 65 | 13 | MISO | ALT3 | 0 | 21 || 22 | 0 | ALT3 | RTS2 | 6 | 2 | | 66 | 14 | SCLK | ALT3 | 0 | 23 || 24 | 0 | ALT3 | CE0 | 10 | 67 | | | | 0v | | | 25 || 26 | 0 | ALT3 | GPIO.11 | 11 | 21 | | 19 | 30 | SDA.1 | ALT3 | 0 | 27 || 28 | 0 | ALT3 | SCL.1 | 31 | 18 | | 7 | 21 | GPIO.21 | ALT3 | 0 | 29 || 30 | | | 0v | | | | 8 | 22 | GPIO.22 | ALT3 | 0 | 31 || 32 | 0 | ALT3 | RTS1 | 26 | 200 | | 9 | 23 | GPIO.23 | ALT3 | 0 | 33 || 34 | | | 0v | | | | 10 | 24 | GPIO.24 | ALT3 | 0 | 35 || 36 | 0 | ALT3 | CTS1 | 27 | 201 | | 20 | 25 | GPIO.25 | ALT3 | 0 | 37 || 38 | 0 | ALT3 | TxD1 | 28 | 198 | | | | 0v | | | 39 || 40 | 0 | ALT3 | RxD1 | 29 | 199 | +-----+-----+----------+------+---+----++----+---+------+----------+-----+-----+ | BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM | +-----+-----+----------+------+---+-Orange Pi+---+------+----------+-----+-----+
13. Создаем папку для скриптов включения и выключения принтеров и скачиваем сами скрипты
mkdir power_scripts cd power_scripts wget https://raw.githubusercontent.com/Nebari-xx/octoprint_installer/master/poweron.sh wget https://raw.githubusercontent.com/Nebari-xx/octoprint_installer/master/poweroff.sh chmod +x poweron.sh chmod +x poweroff.sh
14. Проверяем работоспособность:
Включение принтера
./poweron.sh
Выключение принтера
./poweroff.sh
15. Заходим в веб-интерфейс Octoprint, ставим плагин PSU Control. После установки Octoprint попросит перезапустить себя. Перезапускаем
16. Настраиваем PSU Control. Сохраняем настройки. Проверяем включение/выключение принтера по кнопке с значком молнии вверху
17. Если все прошло успешно - остался последний шаг. Настройка отключения питания при ошибках и обрыве связи с принтером.
Находим конфигурационный файл Octoprint. Он обычно лежит в папке пользователя, в подпапке .octoprint/config.yaml
Добавляем в конец следующий код
events: enabled: true subscriptions: - command: /home/octo/power_scripts/poweroff.sh event: Disconnected type: system - command: /home/octo/power_scripts/poweroff.sh event: Error type: system
Сохраняем. Перезапускаем Octoprint.
Все готово! Enjoy!
P.S. Если не работает автоматическое выключение питания принтера по окончании печати есть другой способ:
P.S.1: Изменяем настройки плагина PSU Control в соответствии с картинкой:
P.S.2: Добавляем к завершающему G-коду в слайсере следующие строчки:
M109 R50 ; Wait for extruder cooldown M81 ; Turn OFF printer
Команда M109 R50 Ждет охлаждения хотенда до 50 градусов, после чего выполняется следующая команда M81 на выключение питания принтера. Этот вариант работает безотказно.