Металл2024 Реклама
Метобр2024 Реклама

Подключение реле к mks sbase и управление питанием из octoprint при помощи g-code

Mutant
Идет загрузка
Загрузка
11.04.2017
10078
15
Техничка

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

8
Статья относится к принтерам:
RepRap
Захотелось мне управлять дистанционно питанием принтера. Покопался в интернете, нашёл много ценной информации, после этого осталось только все соеденить вместе и заточить конкретно под мои нужды.

Мой стартовый набор:

1) Raspberry pi 2 c Debian jessie (stable) на борту и octoprint Version 1.3.2 (master branch);

2) 2-х канальная реле с али (https://ru.aliexpress.com/item/2-Channel-Relay-Module-Optocoupler-Expansion-Board-Single-chip-Control-New-BS/32534152528.html), оно с обвесом и управлением в 5 В сразу (на плате распаяно преобразование из 3,3 В на 5 В);

3) Блок питания (БП) на +24 В, 20А;

4) Плата MKS Sbase v. 1.3;

5) Провода (пара толстых проводов, диаметр которых зависит от мощности, который обеспечивает ваш БП и 3 провода с практически любым диаметром)и другие принадлежности для пайки.

Примечания к стартовому набору: реле может использоваться любое, способное работать с 220 В и током, который потребляет ваш блок питания. В моём случае заявлено что БП способен обеспечить ток в 20 А при 24 В, это значит что его мощность 480 Вт (P = U*I (1), где P - мощность в Ваттах, U - напряжение в Вольтах, I - ток в Амперах), а отсюда следует что при напряжении 220 В (напряжение розетки, откуда мы питаем БП) максимальный ток в проводах будет ~2,2 А (I=P/U, это следует из формулы 1, в моём случае P=480 Вт, напряжение розетки 220 В ). Отсюда следует что реле мне нужно с заявленными характеристиками по управляемому напряжению НЕ МЕНЕЕ чем в 220 В и способное проводить ток НЕ МЕНЕЕ чем 2,2 А. Реальность такова что ток по напряжению и току нужно брать всегда с приличным запасом. В моём случае первое реле сгорело после пару дней использования, второе реле пока живо (пара недель использования). Диаметр провода выбирать по таблице ниже:
Подключение реле к mks sbase и управление питанием из octoprint при помощи g-code
В принципе, мне хватит медного провода диаметром 0,1 мм, но беру с запасом около 0,5 мм. Не забывать что по проводу будет идти переменный ток в 220 В, поэтому нужна хорошая изоляция.

И так, перед работой настоятельно рекомендую обесточить полностью принтер и сопутствующее ему оборудование, связанное электрически. Выкручиваем один из старых проводов от БП и подкручиваем его к силовой части реле, затем берём новый провод подкручиваем его так же к силовой части реле с одной стороны и к БП, где был прикручен старый провод (использовать провода, которые рассчитывали). Силовая часть готова, осталось подключить управление реле с помощью сигналов с малым уровнем и малыми токами. Для этого на реле имеются выводы: GND (общий провод), VCC (питание, +5 В), IN1 и IN2 (логические входы, куда нужно ставить либо низкий уровень, либо высокий). Берём mks sbase ищем там выводы GND и +5 В (он же VCC) и подсоединяем их соответственно. VCC на sbase можно взять со свободных концевиков, так же есть 1 выход +5 В на одном из выводов для дисплея и группа контактов, которая возле радиаторов для драйверов. Ну и вообще вот распиновка sbase (5 В есть в J7, EXP1 и во всех разъёмах для концевикоав, я использовал в J7):
Подключение реле к mks sbase и управление питанием из octoprint при помощи g-code
Теперь берём и подсоединяем выход P1.22 с MKS sbase на IN1 (в случае если вдруг решено использовать второе реле, то нужно перебросить P1.22 на IN2 и тогда будет использоваться второе реле). Схематично набросал на картинке, как все подключать, надеюсь понятно. Суть перемычки на реле особо не понял, если её перебросить на GND и VCC, то получим КЗ по +5 В, но подозреваю что при присутствии перемычки на JD-VCC и VCC, реле замыкается при присутствии высокого уровня на входе IN1 или IN2, а при отсутствии перемычки реле замыкается при низком уровне.
Подключение реле к mks sbase и управление питанием из octoprint при помощи g-code
Теперь посмотрим что надо сделать в прошивке sbase. Берём конфигурационый файл config.txt и добавляем туда данные строки:
switch.psu.enable true # turn atx on/off

switch.psu.input_on_command M80 #

switch.psu.input_off_command M81 #

switch.psu.output_pin 1.22 # small mosfet (NB not inverted)

switch.psu.output_type digital # on/off only
Если вдруг подсоединили управляющий выход (который идёт на IN1 или IN2 в реле) с sbase не 1.22, а какой либо другой, то необходимо переписать строчку в конфиге switch.psu.output_pin 1.22, заменив '1.22' на выход, который вы подсоединили, посмотрев его номер на картинке выше или в даташите на плату.

После записи исправленного конфигурационного файла на карточку и подсоединения её к sbase электронная и аппаратная часть в 'нижней части' принтера готова. Сразу можно упаковать реле в коробочку (модель под конкретно мою плату со сдвоенными реле, если у вас другое то нужно искать другую модель): http://www.thingiverse.com/thing:859388

Фотографии дополнительно сделал (у меня подключено сейчас 2 реле, ибо первое сгорело (а точнее оптопара, судя по всему, так или иначе реле всё время замкнуто)):
Подключение реле к mks sbase и управление питанием из octoprint при помощи g-code
Подключение реле к mks sbase и управление питанием из octoprint при помощи g-code
Переходим в octoprint, затем настройки, в разделе octoprint видим Plugin Manager/Get More..., ищем там плагин PSU control и устанавливаем его. Заходим в настройки плагина (в разделе Plugins вкладка PSU control). Выставляем настройки как на скриншоте.
Подключение реле к mks sbase и управление питанием из octoprint при помощи g-code
Остальные настройки на своё усмотрение, отмечу что в плагине можно настроить автоматическую подачу питания на принтер при поступлении определённых г-код команд на принтер. Можно настроить, например, автоматическое включение принтера при начале печати. Так же интересна настройка автоматического отключения принтера (при достижении определённой температуры на экструдере и кровати) через определённое время. Так же есть классная функция обратной связи, которая позволяет мониторить реальное наличие напряжения на принтере (в нашей схеме это не возможно).

Теперь можно подключить весь принтер в сборе. После полной загрузки устройства с octoprint принтер должен быть в выключенным состоянии. И при нажатии на главной странице, вверху кнопки он должен включится, а кнопка поменяет цвет.
Подключение реле к mks sbase и управление питанием из octoprint при помощи g-code
Возможные проблемы:

1) Возможна проблема при которой у вас будет всё наоборот, т. е. при нажатии кнопки в веб-интерфейсе - включить питание, он у вас будет выключать питание. Это можно решить перебросив провода , которые идут от БП к реле (куда перебрасывать может зависеть от реле) в моём случае необходимо перебросить крайний провод выше среднего( средний остаётся на месте). Ещё проще переставить или вытащить перемычку (если имеется) отвечающую за логику (при низком уровне одно положение выхода реле, при высоком другое положение выхода реле) работы на самом реле.



ИЗВЕСТНЫЕ ПРОБЛЕМЫ:


1) Во время включения принтер у меня производит цикл вкл/выкл несколько раз, думаю связанно с тем что во время загрузки с Raspberry pi подаётся +5 В, затем снимается и так несколько циклов.

2) После выключения принтер уходит в такой же бесконечный цикл, пока не переключу кнопку выключения на самом принтере (предполагаю что поможет диод на сигнальный провод и/или +5 В, что бы обратка не шла).

Первая статья, поэтому ищем ошибки, не точности, предлагаем улучшения, просим помощи. ;)

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

8
Комментарии к статье
Кремень КБ Реклама
Кремень КМ Реклама