Управление питанием принтера через Octoprint: различия между версиями

Материал из Ender 3 Wiki
Перейти к навигации Перейти к поиску
Строка 31: Строка 31:
 
8. Приступаем к настройке. Заходим по ssh на наш одноплатный компьютер под пользователем root
 
8. Приступаем к настройке. Заходим по ssh на наш одноплатный компьютер под пользователем root
 
9. Переходим в домашнюю директорию пользователя, под которым работает Ocroprint(Для raspberry pi это пользователь pi. Для пользователей [https://github.com/Nebari-xx/octoprint_installer нашего установщика] - пользователь octo). <pre>cd /home/octo</pre>
 
9. Переходим в домашнюю директорию пользователя, под которым работает Ocroprint(Для raspberry pi это пользователь pi. Для пользователей [https://github.com/Nebari-xx/octoprint_installer нашего установщика] - пользователь octo). <pre>cd /home/octo</pre>
10. Если у вас не Raspberry Pi - скачиваем библиотеку для управления пинами на нашем одноплатном компьютере.<br>
+
10. Если у вас не Raspberry Pi - скачиваем библиотеку для управления пинами на нашем одноплатном компьютере. Если Raspberry Pi - переходим к шагу 13<br>
 
Для Orange Pi Lite это  
 
Для Orange Pi Lite это  
 
<pre>
 
<pre>
Строка 46: Строка 46:
 
gpio readall
 
gpio readall
 
</pre>
 
</pre>
Должна появиться такая таблица
+
Должна появиться подобная таблица
 
<pre>
 
<pre>
 
+-----+-----+----------+------+---+-Orange Pi+---+---+------+---------+-----+--+
 
+-----+-----+----------+------+---+-Orange Pi+---+---+------+---------+-----+--+
Строка 75: Строка 75:
 
  +-----+-----+----------+------+---+-Orange Pi+---+------+----------+-----+-----+
 
  +-----+-----+----------+------+---+-Orange Pi+---+------+----------+-----+-----+
 
</pre>
 
</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>
 +
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>
 +
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!

Версия 23:05, 26 ноября 2019

Цели:

  1. Выключать питание принтера по окончании печати и охлаждении хотенда до 50 градусов
  2. Выключать питание принтера при возникновении ошибок при печати или обрыве связи октопринта с принтером

Что потребуется:

  1. Твердотельное реле, например такое https://is.gd/CzGbqn (SSR-25DA)
  2. Установленный Octoprint на один из одноплатных компьютеров(Например https://is.gd/Vvaclx), доступ к одноплатнику по ssh.
  3. Провода для управления реле, например такие https://is.gd/gGW4Qx
  4. Опционально: Паяльник, припой, флюс, изолента

Начнем:
1. Отключаем блок питания от электроники принтера

Photo 2019-11-26 20-18-39.jpg
















2. Откручиваем блок питания и снимаем его

Photo 2019-11-26 20-35-15.jpg
















3. Снимаем защитный кожух проводки

Photo 2019-11-26 20-41-01.jpg
















4. Отсоединяем два провода от тумблера включения питания принтера

Photo 2019-11-26 20-42-50.jpg
















5. Наращиваем маленький проводочек. Подойдет кабель 16-18 AWG. Выводим свободные концы наружу.

Photo 2019-11-26 20-50-08.jpg










6. Прикручиваем блок питания обратно. Подсоединяем наши проводочки к выходам 1 и 2 реле. Реле закрепляем на раме. Я приклеил на двусторонний скотч

Photo 2019-11-22 17-01-48.jpg
















7. Выход 4(-) реле присоединяем к 39 пину нашего одноплатного компьютера, 3(+) присоединяем к 40 пину нашего одноплатного компьютера. Нумерация начинается с квадратика на обратной стороне платы

Photo 2019-11-26 21-08-17.jpg

















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 попросит перезапустить себя. Перезапускаем

Screenshot 20191126 234723.png













16. Настраиваем PSU Control. Сохраняем настройки. Проверяем включение/выключение принтера по кнопке с значком молнии вверху

Screenshot 20191126 235506.png
Screenshot 20191126 235541.png













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!