Управление питанием и прочая автоматизация в 3D принтере

Собираем, настраиваем, печатаем, делимся опытом, помогаем новичкам

Модератор: Kaktus

schs
Сообщения: 350
Зарегистрирован: 15 сен 2017, 19:41
Имя: Сергей
Откуда: Apatity
Благодарил (а): 79 раз
Поблагодарили: 32 раза

Re: Покупка КИТа СПринтера и ссылки на комплектующие

Непрочитанное сообщение schs » 21 дек 2019, 18:19

Kaktus писал(а):
21 дек 2019, 16:44
У меня с Рампса управление SSR основного БП сделано. Малина по USB постоянно питает Дуню. Т.е. по окончании печати, отключается основной БП, а Дуня работает, дисплей светится, через веб-интерфейс все подключено.
У меня на двух предыдущих так и сделано, только включение\отключение основного БП с апельсины. Теперь хочу чтобы и экран не горел :-)
SPrinter 233, SPrinter mini техно, mini Kossel, anycubic photon mono

Stein
Сообщения: 522
Зарегистрирован: 27 фев 2018, 10:22
Имя: Дмитрий
Откуда: Нижний Новгород
Благодарил (а): 123 раза
Поблагодарили: 15 раз

Re: Покупка КИТа СПринтера и ссылки на комплектующие

Непрочитанное сообщение Stein » 21 дек 2019, 18:29

schs писал(а):
21 дек 2019, 18:19
Но плагин не включает принтер, если не видит его порта
Странно это как-то. У меня отсутствие порта не влияет. Плагин выполняет команду на запуск автоматизации в которой выполняется включение питания, коннект октопринта к принтеру и FIRMWARE_RESTART. SKR питается только при включённом БП. Проверю завтра как оно с мегой работает.

schs
Сообщения: 350
Зарегистрирован: 15 сен 2017, 19:41
Имя: Сергей
Откуда: Apatity
Благодарил (а): 79 раз
Поблагодарили: 32 раза

Re: Покупка КИТа СПринтера и ссылки на комплектующие

Непрочитанное сообщение schs » 21 дек 2019, 18:51

Stein писал(а):
21 дек 2019, 18:29
Плагин выполняет команду на запуск автоматизации в которой выполняется включение питания, коннект октопринта к принтеру и FIRMWARE_RESTART.
Какой то скрипт запускается? Можно глянуть?
SPrinter 233, SPrinter mini техно, mini Kossel, anycubic photon mono

Kaktus
Сообщения: 2130
Зарегистрирован: 05 мар 2018, 19:59
Откуда: красавец Таганрог
Благодарил (а): 133 раза
Поблагодарили: 279 раз

Re: Покупка КИТа СПринтера и ссылки на комплектующие

Непрочитанное сообщение Kaktus » 21 дек 2019, 19:09

schs писал(а):
21 дек 2019, 18:19
Теперь хочу чтобы и экран не горел
Вон оно что... :)

Stein
Сообщения: 522
Зарегистрирован: 27 фев 2018, 10:22
Имя: Дмитрий
Откуда: Нижний Новгород
Благодарил (а): 123 раза
Поблагодарили: 15 раз

Re: Покупка КИТа СПринтера и ссылки на комплектующие

Непрочитанное сообщение Stein » 21 дек 2019, 19:14

schs, Это автоматизация в умном доме, но думаю можно и скрипт написать. Дернуть пин малины с реле, отправить октопринту команду через curl. Можно попробовать отправить их через psu. С bash скриптами я не особо знаком, но должно быть не очень сложно.
Команда на подключение:

Код: Выделить всё


curl -s -H "Content-Type: application/json" -H "X-Api-Key: YOUR_API_KEY" -X POST -d '{ "command":"connect" }' http://YOUR.OCTOPRINT.ADDRESS/api/connection
Команда клипера на перезагрузку:

Код: Выделить всё

echo FIRMWARE_RESTART > /tmp/printer
Позже попробую создать скрипт

Stein
Сообщения: 522
Зарегистрирован: 27 фев 2018, 10:22
Имя: Дмитрий
Откуда: Нижний Новгород
Благодарил (а): 123 раза
Поблагодарили: 15 раз

Re: Покупка КИТа СПринтера и ссылки на комплектующие

Непрочитанное сообщение Stein » 22 дек 2019, 01:00

Для начала мне пришлось обновить утилиту для работы с пинами.

Код: Выделить всё

cd /tmp
wget https://project-downloads.drogon.net/wiringpi-latest.deb
sudo dpkg -i wiringpi-latest.deb
Работа с пинами.
Таблица пинов:
gpio readall
Перевод пина в режим OUTPUT (для примера взят пин GPIO. 1) gpio mode 1 out
Включение реле: gpio write 1 1 - устанавливает на пане логическую единицу или HIGH, 3.3v
Отключение реле: gpio write 1 0
sleep 5 - задержка в 5 секунд.
Создаем скрипт на включение, не забываем указать API и ip:

Код: Выделить всё

sudo nano power_on.sh

Код: Выделить всё

#!/bin/sh
gpio mode 1 out
gpio write 1 1
curl -s -H "Content-Type: application/json" -H "X-Api-Key: API КЛЮЧ" -X POST -d '{ "command":"connect" }' http://OCTOPRINT_IP/api/connection
sleep 5
echo FIRMWARE_RESTART > /tmp/printer
делаем файл исполняемым

Код: Выделить всё

sudo chmod +x power_on.sh
Чтобы запустить скрипт, просто вызываем его

Код: Выделить всё

/home/pi/power_on.sh
Подобная автоматизация у меня реализована через умный дом.

schs
Сообщения: 350
Зарегистрирован: 15 сен 2017, 19:41
Имя: Сергей
Откуда: Apatity
Благодарил (а): 79 раз
Поблагодарили: 32 раза

Re: Покупка КИТа СПринтера и ссылки на комплектующие

Непрочитанное сообщение schs » 22 дек 2019, 08:35

Stein писал(а):
22 дек 2019, 01:00
Подобная автоматизация у меня реализована через умный дом.
Спасибо за примеры. Но тут несколько другая проблема. Как включить принтер по приходу задания, если октопринт видит отсутствие порта принтера?
После включения автореконнект сделал через плагин PortLister, он периодически проверяет порты и подключается к принтеру.
Осталось реализовать собственно включение контроллера принтера по приходу задания.
Kaktus писал(а):
22 дек 2019, 06:54
Кажется, пора в тему Клиппера перебираться
К клипперу это напрямую не относится, скорее общая автоматизация работы с принтером.
SPrinter 233, SPrinter mini техно, mini Kossel, anycubic photon mono

Stein
Сообщения: 522
Зарегистрирован: 27 фев 2018, 10:22
Имя: Дмитрий
Откуда: Нижний Новгород
Благодарил (а): 123 раза
Поблагодарили: 15 раз

Re: Покупка КИТа СПринтера и ссылки на комплектующие

Непрочитанное сообщение Stein » 22 дек 2019, 10:47

schs писал(а):
22 дек 2019, 08:35
Как включить принтер по приходу задания, если октопринт видит отсутствие порта принтера?
А разве в PSU использование М80 как триггера не работает? И порт же должен появляться посте подачи питания на мегу.
schs писал(а):
21 дек 2019, 15:06
Сейчас приходиться заходить на WEB интерфейс, включать принтер через меню, после этого нажимать кнопку Connect
Эта автоматизация так и делает. Включает питание и отправляет команду на коннект, а firmware_restart необходим конкретно в моем случае.
Mazayac писал(а):
22 дек 2019, 08:40
А к покупке КИТ-а Спринтера и ссылкам на комплектующие относится, да?
Здесь в каждой теме оффтоп как бы. Что делать, если из одного вопроса вылилась некоторая проблема? Я не против перейти в соседнюю ветку, но нужно тогда перенести весь диалог, потому что подобные вопросы могут возникнуть вновь.

Stein
Сообщения: 522
Зарегистрирован: 27 фев 2018, 10:22
Имя: Дмитрий
Откуда: Нижний Новгород
Благодарил (а): 123 раза
Поблагодарили: 15 раз

Re: Покупка КИТа СПринтера и ссылки на комплектующие

Непрочитанное сообщение Stein » 22 дек 2019, 15:06

antobel писал(а):
22 дек 2019, 14:44
Да создать тему "Управление питанием принтера" и всё
На отдельную тему это не тянет. Вариантов управления питанием всего несколько. Если только еще и алгоритмы защиты обсуждать. Но и тут вариантов не так уж и много. Я бы только добавил, что в этом скрипте можно прописать MQTT команду на включение реле на базе Sonoff. Чтобы не тянуть лишние провода.
Сейчас хочу проверить какой алгоритм необходим для меги с марлином, а так же с клипером.

schs
Сообщения: 350
Зарегистрирован: 15 сен 2017, 19:41
Имя: Сергей
Откуда: Apatity
Благодарил (а): 79 раз
Поблагодарили: 32 раза

Re: Управление питанием и прочая автоматизация в 3D принтере

Непрочитанное сообщение schs » 22 дек 2019, 19:35

Stein писал(а):
22 дек 2019, 10:47
А разве в PSU использование М80 как триггера не работает? И порт же должен появляться посте подачи питания на мегу.
При подачи питания - появляется.
Исходная позиция - апельсина работает, основной БП и контроллер нет. Порта нет.
Отправляем задание на печать, апельсина файл принимает и пишет в лог ошибку:
2019-12-22 23:28:18,436 - octoprint.filemanager.analysis - INFO - Starting analysis of local:mini_talon_nose_plate_ez_v2.gcode
2019-12-22 23:28:18,441 - octoprint.printer.standard - INFO - Cannot load file: printer not connected or currently busy

т.е. до выдачи M80, как и любого другого gcode не доходит, порта нет.
P.S. Хорошо что тему перенесли, не захламлять ту.
P.P.S. Прописал event:
events:
enabled: true
subscriptions:
- command: /usr/local/scripts/upload_new
event: UpdatedFiles
type: system

Теперь по приходу задания питания включает, но не стартует печать, копаю дальше.
SPrinter 233, SPrinter mini техно, mini Kossel, anycubic photon mono

schs
Сообщения: 350
Зарегистрирован: 15 сен 2017, 19:41
Имя: Сергей
Откуда: Apatity
Благодарил (а): 79 раз
Поблагодарили: 32 раза

Re: Управление питанием и прочая автоматизация в 3D принтере

Непрочитанное сообщение schs » 22 дек 2019, 20:03

Сделал.
В конфиге Octoprint:
events:
enabled: true
subscriptions:
- command: /usr/local/scripts/upload_new {file}
event: MetadataAnalysisStarted
type: system

Скрипт(переносы строк убрать):
#!/bin/sh
#echo file: $1

/usr/local/bin/gpio write 25 1
#sleep 10s
/usr/bin/curl -s -H "Content-Type: application/json" -H "X-Api-Key: xx" -X POST -d '{ "command":"conn
ect" }' http://127.0.0.1:5000/api/connection
sleep 30s
/usr/bin/curl -s -H "Content-Type: application/json" -H "X-Api-Key: xx" -X POST -d '{ "command":"sele
ct", "print": true }' http://127.0.0.1:5000/api/files/local/$1
SPrinter 233, SPrinter mini техно, mini Kossel, anycubic photon mono

Stein
Сообщения: 522
Зарегистрирован: 27 фев 2018, 10:22
Имя: Дмитрий
Откуда: Нижний Новгород
Благодарил (а): 123 раза
Поблагодарили: 15 раз

Re: Управление питанием и прочая автоматизация в 3D принтере

Непрочитанное сообщение Stein » 22 дек 2019, 20:14

schs писал(а):
22 дек 2019, 20:03
Сделал.
Поздравляю!
В таком случае я не буду проводить эксперименты с марлином и мегой)

Stein
Сообщения: 522
Зарегистрирован: 27 фев 2018, 10:22
Имя: Дмитрий
Откуда: Нижний Новгород
Благодарил (а): 123 раза
Поблагодарили: 15 раз

Re: Управление питанием и прочая автоматизация в 3D принтере

Непрочитанное сообщение Stein » 25 дек 2019, 20:21

schs писал(а):
22 дек 2019, 20:03
/usr/bin/curl -s -H "Content-Type: application/json" -H "X-Api-Key: xx" -X POST -d '{ "command":"sele
ct", "print": true }' http://127.0.0.1:5000/api/files/local/$1
Целый день ломаю голову, как вы сделали выбор файла? То есть как подставляется имя файла вместо $1?

schs
Сообщения: 350
Зарегистрирован: 15 сен 2017, 19:41
Имя: Сергей
Откуда: Apatity
Благодарил (а): 79 раз
Поблагодарили: 32 раза

Re: Управление питанием и прочая автоматизация в 3D принтере

Непрочитанное сообщение schs » 25 дек 2019, 22:11

Stein писал(а):
25 дек 2019, 20:21
Целый день ломаю голову, как вы сделали выбор файла? То есть как подставляется имя файла вместо $1?
Дак абзацем выше:
- command: /usr/local/scripts/upload_new {file}
т.е. выполняем команду(скрипт) с передачей параметра - имя файла.
schs писал(а):
22 дек 2019, 20:03
В конфиге Octoprint:
events:
enabled: true
subscriptions:
- command: /usr/local/scripts/upload_new {file}
event: MetadataAnalysisStarted
type: system
SPrinter 233, SPrinter mini техно, mini Kossel, anycubic photon mono

Stein
Сообщения: 522
Зарегистрирован: 27 фев 2018, 10:22
Имя: Дмитрий
Откуда: Нижний Новгород
Благодарил (а): 123 раза
Поблагодарили: 15 раз

Re: Управление питанием и прочая автоматизация в 3D принтере

Непрочитанное сообщение Stein » 26 дек 2019, 00:02

schs писал(а):
25 дек 2019, 22:11
т.е. выполняем команду(скрипт) с передачей параметра - имя файла.
Я просто не совсем понимаю что это за команда)
schs писал(а):
25 дек 2019, 22:11
- command: /usr/local/scripts/upload_new {file}
За передачу параметров отвечает этот аргумент: {file}?
В скрипте должно быть #echo file: $1 и $1 вместо имени файла? event у вас один или два? Но в любом случае имя походу не передается, печать не начинается.
Или должно быть два скрипта? Автоматизация на включение и передача имени?
Запутался окончательно. Нагуглить ничего толкового не получилось.

Ответить

Вернуться в «3D принтеры и 3D печать»

Яндекс.Метрика