Управление питанием принтера через Octoprint: различия между версиями
(не показано 6 промежуточных версий 2 участников) | |||
Строка 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 | ||
# Опционально: Паяльник, припой, флюс, изолента | # Опционально: Паяльник, припой, флюс, изолента | ||
− | <b>Начнем:</b> | + | <b>Начнем:</b><br> |
1. Отключаем блок питания от электроники принтера | 1. Отключаем блок питания от электроники принтера | ||
[[Файл:Photo 2019-11-26 20-18-39.jpg|200px|thumb|left]] | [[Файл:Photo 2019-11-26 20-18-39.jpg|200px|thumb|left]] | ||
Строка 22: | Строка 22: | ||
5. Наращиваем маленький проводочек. Подойдет кабель 16-18 AWG. Выводим свободные концы наружу. | 5. Наращиваем маленький проводочек. Подойдет кабель 16-18 AWG. Выводим свободные концы наружу. | ||
[[Файл:Photo 2019-11-26 20-50-08.jpg|200px|thumb|left]] | [[Файл:Photo 2019-11-26 20-50-08.jpg|200px|thumb|left]] | ||
− | <br><br><br><Br><br><br><br><br><br> | + | <br><br><br><Br><br><br><br><br><br><br> |
6. Прикручиваем блок питания обратно. Подсоединяем наши проводочки к выходам 1 и 2 реле. Реле закрепляем на раме. Я приклеил на двусторонний скотч | 6. Прикручиваем блок питания обратно. Подсоединяем наши проводочки к выходам 1 и 2 реле. Реле закрепляем на раме. Я приклеил на двусторонний скотч | ||
− | [[Файл:Photo 2019-11-22 17-01-48.jpg| | + | [[Файл:Photo 2019-11-22 17-01-48.jpg|200px|thumb|left]] |
<br><br><br><Br><br><br><br><br><br><Br><br><br><br><br><br> | <br><br><br><Br><br><br><br><br><br><Br><br><br><br><br><br> | ||
7. Выход 4(-) реле присоединяем к 39 пину нашего одноплатного компьютера, 3(+) присоединяем к 40 пину нашего одноплатного компьютера. Нумерация начинается с квадратика на обратной стороне платы | 7. Выход 4(-) реле присоединяем к 39 пину нашего одноплатного компьютера, 3(+) присоединяем к 40 пину нашего одноплатного компьютера. Нумерация начинается с квадратика на обратной стороне платы | ||
− | [[Файл:Photo 2019-11-26 21-08-17.jpg| | + | [[Файл:Photo 2019-11-26 21-08-17.jpg|400px|thumb|left]] |
+ | <br><br><br><Br><br><br><br><br><br><Br><br><br><br><br><br><br> | ||
+ | 8. Приступаем к настройке. Заходим по ssh на наш одноплатный компьютер под пользователем root | ||
+ | 9. Переходим в домашнюю директорию пользователя, под которым работает Ocroprint(Для raspberry pi это пользователь pi. Для пользователей [https://github.com/Nebari-xx/octoprint_installer нашего установщика] - пользователь octo). <pre>cd /home/octo</pre> | ||
+ | 10. Если у вас не Raspberry Pi - скачиваем библиотеку для управления пинами на нашем одноплатном компьютере. Если Raspberry Pi - переходим к шагу 13<br> | ||
+ | Для Orange Pi Lite это | ||
+ | <pre> | ||
+ | git clone https://github.com/zhaolei/WiringOP.git -b h3 && cd WiringOP | ||
+ | </pre> | ||
+ | 11. Устанавливаем библиотеку | ||
+ | <pre> | ||
+ | chmod +x ./build | ||
+ | sudo ./build | ||
+ | </pre> | ||
+ | 12. Проверяем работоспособность | ||
+ | <pre> | ||
+ | cd .. | ||
+ | gpio readall | ||
+ | </pre> | ||
+ | Должна появиться подобная таблица | ||
+ | <pre> | ||
+ | +-----+-----+----------+------+---+-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+---+------+----------+-----+-----+ | ||
+ | </pre> | ||
+ | 13. Создаем папку для скриптов включения и выключения принтеров и скачиваем сами скрипты | ||
+ | <pre> | ||
+ | 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 | ||
+ | </pre> | ||
+ | 14. Проверяем работоспособность:<br> | ||
+ | Включение принтера | ||
+ | <pre> | ||
+ | ./poweron.sh | ||
+ | </pre> | ||
+ | Выключение принтера | ||
+ | <pre> | ||
+ | ./poweroff.sh | ||
+ | </pre> | ||
+ | 15. Заходим в веб-интерфейс Octoprint, ставим плагин PSU Control. После установки Octoprint попросит перезапустить себя. Перезапускаем | ||
+ | [[Файл:Screenshot 20191126 234723.png|400px|thumb|left]] | ||
+ | <br><br><br><Br><br><br><br><br><br><Br><br><br><br> | ||
+ | 16. Настраиваем PSU Control. Сохраняем настройки. Проверяем включение/выключение принтера по кнопке с значком молнии вверху | ||
+ | [[Файл:Screenshot 20191126 235506.png|400px|thumb|left]] | ||
+ | [[Файл:Screenshot 20191126 235541.png|400px|thumb|left]] | ||
+ | <br><br><br><Br><br><br><br><br><br><Br><br><br> | ||
+ | <br><br><br><Br><br><br><br><br><br><Br><br><br><br> | ||
+ | 17. Если все прошло успешно - остался последний шаг. Настройка отключения питания при ошибках и обрыве связи с принтером.<br> | ||
+ | Находим конфигурационный файл Octoprint. Он обычно лежит в папке пользователя, в подпапке .octoprint/config.yaml<br> | ||
+ | Добавляем в конец следующий код | ||
+ | <pre> | ||
+ | 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 | ||
+ | </pre> | ||
+ | Сохраняем. Перезапускаем Octoprint.<br> | ||
+ | Все готово! Enjoy! | ||
+ | |||
+ | <b>P.S.</b> Если не работает автоматическое выключение питания принтера по окончании печати есть другой способ:<br> | ||
+ | P.S.1: Изменяем настройки плагина PSU Control в соответствии с картинкой: | ||
+ | [[Файл:PSU_control.JPG|400px|thumb|left]] | ||
+ | <br><br><br><Br><br><br><br><br><br><Br><br><br><br><br><br><Br><br><br> | ||
+ | P.S.2: Добавляем к завершающему G-коду в слайсере следующие строчки:<pre> | ||
+ | M109 R50 ; Wait for extruder cooldown | ||
+ | M81 ; Turn OFF printer | ||
+ | </pre> | ||
+ | Команда <b>M109 R50</b> Ждет охлаждения хотенда до 50 градусов, после чего выполняется следующая команда <b>M81</b> на выключение питания принтера. Этот вариант работает безотказно. |
Текущая версия на 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 на выключение питания принтера. Этот вариант работает безотказно.