Octoprint. Плюшки. Часть 1. Питание принтера.
Начнем с комплектующих:
1. OrangePi * (любая версия с GPIO нам подойдет, но в основном у людей или One или PC) с установленным в данном случае Armbian + Octoprint
2. 'Любой' PNP транзистор. В моем случае это какой-то 945 выпаянный с платы управления радиомашинкой самой дешевой (в свободное время переделываю машинки на 2.4ГГц управление со всеми плюшками, по сему такого добра валом). По пинам он в принципе похоже с этим http://paratran.com/2paratranKR.php?tr=120
3. Резистор 100Ом (опять же с той платы, мощность значения не имеет)
4. ATX блок питания
5. Паяльник, припой, канифоль какая-нибудь, немного проводков (я резал с того же БП)
6. Капельку интернета.
Поехали. Для начала любимое - софтварная часть.
Заходим по ssh на нашу апельсину (для малины WiringOP надо менять на WiringPI, ну и гит репозитарий другой).
- cd /home
- git clone https://github.com/zhaolei/WiringOP.git -b h3
- cd WiringOP
- chmod +x ./build
- sudo ./build
- sudo nano /etc/init.d/octoprint
т.е. на выходе получаем:
do_start()
{
# Return
# 0 if daemon has been started
# 1 if daemon was already running
# 2 if daemon could not be started
is_alive $PIDFILE
RETVAL='$?'
if [ $RETVAL != 0 ]; then
start-stop-daemon --start --background --quiet --pidfile $PIDFILE --make-pidfile
--exec $DAEMON --chuid $OCTOPRINT_USER --user $OCTOPRINT_USER --umask $UMASK --nicelevel=$NICELEVEL
-- $DAEMON_ARGS
gpio mode 24 OUTPUT
RETVAL='$?'
fi
}
Этим мы принудительно переведем ножку в режим выхода.Закрываем, сохраняем.
Объясню почему 24. Это нога нам 100% не пригодится ни сегодня, ни завтра. По этому мы ее и используем. До этого юзал 11 ногу, она тоже не сильно нужна, но в дальнейшем мы будем прикручивать экран (тизер) и нам уже не стоит будет возвращаться сюда.
- Закрываем терминал. И идем в WebGUI.
- Settings - Plugin Manager (я надеюсь он у вас уже стоит, если нет, то читаем как установить тут https://github.com/foosel/OctoPrint) - Get More - PSU
- Устанавливаем плагин 'PSU Control'. Соглашаемся на рестарт окты.
- Settings - PSU Control
- Switching Method - System Command
- On System Command - gpio write 24 1
- Off System Command - gpio write 24 0
- Если не стоят галочки на 'Automatically turn PSU ON' и 'Automatically turn PSU OFF when idle' ставим.
- SAVE
Дальше питание самой апельсины. Ей надо 5В2А по даташиту, но лабораторник даже с нагрузкой на проц почти на 100%, 3.5'' экраном с подсветкой и белым экраном, поднятой сетью и подключенной MKS Gen 1.2 (которая не запитана на данный момент от 12В) показал потребление в пике 1А. Так что... у блока питания есть дежурное питание 5В до 2А. Т.е. блок питания включен в сеть, тумблер включен, power_on подтянут к + питания (т.е. висит в воздухе) и мы можем не включая всю эту 'дуру' получить 5В2А, что более чем. Это у нас фиолетовый провод. Вот с него то мы и берем питания для нашей апельсинки. Т.е. по факту она все время будет включена ( Что нам и на руку. Лично я сидя на работе и отрисовав очередной корпус не замедлительно отправляю его на печать). Даже если добавить туда вебку и вентилятор на 5В для охлаждения апельсины, то все равно запаса у нас ВАГОН!
И так, непосредственно подключение:Распиновка GPIO OrangePI:Где первый пин на гребенке на плате отмечен белой стрелочкой. Вообще указанный нами 24 пин на самом деле на плате далеко не 24. Он на самом деле 35. Именно на гребенке. Но для WiringPI именно пин 24. Т.е. подключаем '24 pin GPIO' к 35 пину на гребенке. 'Black wire from ATX' - к любому черном проводу и 'Green wire from ATX' к зеленому проводу блока питания. Т.е. взяв подобный моему транзистор скосой стороной к себе, слева направо подключаем так:
1. Черный провод блока питания
2. Зеленый провод блока питания
3. На 35 (физически) пин гребенки GPIO (со стороны белой стрелочки 3-й снизу)Но не забываем, нам надо обязательно ограничить ток на базу транзистора. 100Ом при 3.3В более чем. Т.е. между 3 пином транзистора и ножкой апельсины чудном образом должен оказаться резистор ;). Все это в термоусадку и... и как-то решите вопрос подключения провода от резистора к апельсине. Тут каждый сам горазд, но я сделал съемным, ибо бывает надо.
На выходе получаем вот такую конструкцию:Описываю порядок действия:
1. Блок питания в сети и тумблер его включен, но сам блок питания находится в спящем режиме и +12В у нас 'нет'
2. Апельсина загружена
3. Заходим в WebGUI и делаем скажем 'set home'. Блок питания автоматически включается, у нас появляется 12В, моторы поехали и мы счастливы.
4. После печати по остыванию хотэнда до указанной температуры в 'Wait For Temperature' либо если температура упала раньше/была меньше чем указанное в 'Idle Timeout' (все это в octoprint - settings - PSU control) время за которое не поступит любая gcode команда за исключением указанных в 'Ignore Commands' питание принтера будет выключено. Точнее будет выполнена команда 'gpio write 24 0', которая разомкнет наш электронный ключ и блок питания обесточит все линии кроме дежурки. Т.е. даже в термокамере мы будет убеждены что хотэнд остыл и скажем между печатью 'по месту' принтер выключаться не будет.
PS. Все это справедливо для заранее целого и качественного блока питания. Всякие дешевые корпусные блоки питания могут и 500мА на дежурке не держать. И опять же пренебрежение тригера готовности блока питания...
PSS. Опять же старался разжевать чтобы не прикладывать велико ума... а просто взять и пользоваться. По сему ребята волокущие можете спокойно пройти мимо, вы и не на такое способны, мы в вас не сомневаемся.
PSSS. Можно настроить на определенные команды в GCODE и добавить их в слайсинг, но как по мне это не удобно.
PSSSS. Принудительно включить питание с помощью данного плагина можно только подвигав любой осью, либо включив нагрев и прочее. Либо же в System Command Editor добавить 2 пункта меню:
Name - Printer power ON
Action -printer-power-on
command - gpio write 24 1
и
Name - Printer power OFF
Action - printer-power-off
command - gpio write 24 0
Use Confirmation - Ставим галочку чтобы при выключении был запрос
Message - Power Supply is currently ON.
Т.е. мы можем принудительно через System - Printer power ON включить питание или через Printer power OFF выключить.
PSSSSS. Если питание активировано плагином PSU, то сверху появится значок молнии. Если он зеленый, значит питание включено, если серый, то выключено. По нажатию на него можно так же включать и выключать питание:За сим откланиваюсь.
Еще больше интересных статей
Датчик наличия пластика для Bambu Lab Х1 Carbon.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Настройка Marlin для датчика Biqu microprobe для платы BigTreeTech_SKR_mini_E3_V2.0
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Сопла и сопли
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Сколько раз этот вопрос поднимался. Сколько тем...
Комментарии и вопросы
А теперь посмотрите по схеме т...
Вот и я про то. При необходимо...
Купил себе как-то дрыгостол, п...
Добрый вечер, может у кого ест...
Сегодня получил заказанный на...
Добрый день, подскажите, пожал...
Что делать если я первый раз к...