My3DF Реклама
My3DFm Реклама

Моё подключение лазера к контроллеру BIGTREETECH SKR V1.3

Migele
Идет загрузка
Загрузка
01.03.2020
7358
9
Личные дневники

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

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

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

5
Статья относится к принтерам:
Ender 3 Pro

Наконец приехал долгожданный контроллер skr 1.3. После печати корпуса, установки и 2х недельной настройки tmc2208 в режиме uart вспомнил одну из целей данного приобретения: подключить лазер, который лежал на полке уже полгода.

Предупреждение: автор не несёт ответственности за возможные последствия и поломки, которые могут произойти при попытке повторения изложенного материала. Также не забывайте об опасностях при использовании лазера. Пользуйтесь специальными защитными очками! Всё, что вы делаете - вы делаете на свой страх и риск.

Итак, имеем принтер Ender 3 pro с платой контроллера bigtreetech skr 1.3. Для быстрой смены рабочего инструмента был напечатан Quick tool change for Creality CR-10 / Ender series.

Лазер мощностью 5500 мВт был приобретен у китайцев. В комплект входит сам лазер, драйвер, блок питания на 12В и проводок для соединения с принтером. Для управления лазером на плате драйвера имеется разъем, обозначенный как TTL.

Лазер

Моё подключение лазера к контроллеру BIGTREETECH SKR V1.3

ДрайверМоё подключение лазера к контроллеру BIGTREETECH SKR V1.3

Вход управления

Моё подключение лазера к контроллеру BIGTREETECH SKR V1.3

На плате контроллера есть разъём для управления нагревом вторым хотэндом (HE1). Именно этот выход я и хотел использовать для управления лазером. Для начала надо разобраться с уровнями сигналов. Включение/отключение луча происходит подачей напряжения 5В на вход TTL. Высокий уровень сигнала - луч включен, низкий - луч погашен. Вход притянут через резистор на плате драйвера к 5В, поэтому без подключения входа управления лазер жарит "на полную". На skr 1.3 для нагрева хотэнда используется напряжение питания (в моем случае 24В), которое великовато для нас. В интернете люди по-разному выкручиваются из этой ситуации. Резистивным делителем напряжения, развязкой на транзисторе. Я, поизучав схему контроллера, решил припаяться прямо к ключевому транзистору. Нам нужен Q1. На вход затвора (G) с микросхемы буфера (U5) приходят необходимые 5В. Минус можно взять с вывода истока (S) того же транзистора.

После прошивки Marlin на skr 1.3 там появилась опция управления вторым вентилятором обдува (если в прошивке не прописывать второй хотэнд). Это и есть нужный нам выход ШИМ.

На всякий случай смотрим осциллографом сигнал. Поставил обдув на 25%:Моё подключение лазера к контроллеру BIGTREETECH SKR V1.3Форма сигнала между выводами S-G:

Моё подключение лазера к контроллеру BIGTREETECH SKR V1.3По амплитуде 5В, что нам и надо, а вот с частотой проблемы... 2.5 деления * 50 мс = 125 мс или 8 Гц... В принципе это видно и на светодиоде, который установлен на плате около нужного нам транзистора. Мигания различимы невооруженным глазом :) Как я с этим справился напишу ниже.

Итак, припаиваемся...

На схеме это будет выглядеть так (красная и черная стрелки):

Моё подключение лазера к контроллеру BIGTREETECH SKR V1.3

На плате:

Моё подключение лазера к контроллеру BIGTREETECH SKR V1.3Аккуратно припаиваем провода:

Моё подключение лазера к контроллеру BIGTREETECH SKR V1.3

Обращаем внимание на полярность!

Проводок, шедший в комплекте с лазером, имел на концах два одинаковых разъёма, но c разной полярностью. Именно его я, обрезав разъём, припаивал к транзистору.

Для теста подключил лазер и поигрался оборотами обдува. Мощность меняется, но частота никуда не годится. Цветомузыка.

В общем надо увеличить частоту и научиться управлять ШИМом.

Сначала думал нужно копать в сторону параметра SOFT_PWM_SCALE,  но осталось непонятно, как управлять мощностью через G-код. Пока изучал мат. часть в файле Configuration_adv.h наткнулся на то, что в прошивке Marlin уже заложена возможность управления шпинделем/лазером командами M3, M4 и M5. Для этого выход должен быть аппаратным PWM. Из интернета узнаем, что процессор LPC1768 имеет шесть выводов с возможностью запрограммировать под ШИМ, в том числе нужный нам порт P2.4.

Определим порт для управления лазером.

Находим файл Marlin\src\pins\lpc1768\pins_BTT_SKR.h

В нем добавляем строки:

#define SPINDLE_LASER_ENA_PIN     P2_03

без этой строки прошивка не компилируется.  Определяет порт включения/выключения лазера. У меня такого нет, поэтому я прописал порт, к которому подключен вентилятор обдува детали. Не уверен в правильности

#define SPINDLE_LASER_PWM_PIN     P2_04  // digital pin - MUST BE HARDWARE PWM

Определяет порт ШИМ управления мощностью.Имевшиеся до этого строки с определением порта P2_04 просто закомментировал.

Получилось так:

Моё подключение лазера к контроллеру BIGTREETECH SKR V1.3Далее в файле Marlin\Configuration_adv.h ищем строку //#define LASER_FEATURE и раскомментируем её. У меня это выглядит так:

//#define SPINDLE_FEATURE

управление шпинделем нас не интересует

#define LASER_FEATURE

а вот лазер нам нужен

#if EITHER(SPINDLE_FEATURE, LASER_FEATURE)

  #define SPINDLE_LASER_ACTIVE_HIGH     true  // Set to "true" if the on/off function is active HIGH

у меня, как я и говорил, нет отдельного включения лазера, поэтому тут без разницы

  #define SPINDLE_LASER_PWM             true   // Set to "true" if your controller supports setting the speed/power

А эта строка определяет управляется лазер с помощью ШИМ или нет

  #define SPINDLE_LASER_PWM_INVERT      false   // Set to "true" if the speed/power goes up when you want it to go slower

Тут можно инвертировать сигнал ШИМ, вернее определить, включается лазер низким уровнем напряжения или высоким

  #define SPINDLE_LASER_POWERUP_DELAY   1   // (ms) Delay to allow the spindle/laser to come up to speed/power

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

  #define SPINDLE_LASER_POWERDOWN_DELAY 1   // (ms) Delay to allow the spindle to stop

Задержка для остановки шпинделя/выключения лазера. Должна быть больше 0

  #if ENABLED(SPINDLE_FEATURE)

...эта часть относится к шпинделю, я её не трогал...

  #else

    #define SPEED_POWER_SLOPE      1

коэффициент пересчета задаваемой мощности в мощность ШИМ (0-255). Например, если вы решили задавать мощность в процентах (0-100), то этот коэффициент надо установить равным 0.3922

    #define SPEED_POWER_INTERCEPT  0

сдвиг для задаваемой мощности

    #define SPEED_POWER_MIN        0

Минимальная задаваемая мощность

    #define SPEED_POWER_MAX      255   

Максимальная задаваемая мощность

  #endif

#endif

Моё подключение лазера к контроллеру BIGTREETECH SKR V1.3

После заливки прошивки на главном экране появляется новый значок

Моё подключение лазера к контроллеру BIGTREETECH SKR V1.3и новый пункт меню

Моё подключение лазера к контроллеру BIGTREETECH SKR V1.3в нем можно вручную включить/выключить лазер и установить мощность.

Моё подключение лазера к контроллеру BIGTREETECH SKR V1.3Моё подключение лазера к контроллеру BIGTREETECH SKR V1.3

Внимание, после включения через меню лазер включается на максимум

Частота ШИМ увеличивается до 50 Гц

Моё подключение лазера к контроллеру BIGTREETECH SKR V1.3Ну вот в принципе и всё.

Команды для включения "M3 Sxxx", где xxx - мощность или "M4 Sxxx" (отличия при работе со шпинделем. Для разного направление вращения, но нам это не надо). Отключается лазер командой "M5".

Далее с помощью маленькой софтинки на единственно найденном огрызке фанеры протестировал гравировку.

Моё подключение лазера к контроллеру BIGTREETECH SKR V1.3

результат

Моё подключение лазера к контроллеру BIGTREETECH SKR V1.3Как видно, полученная гравировка имеет дефекты в виде точек и вертикальных волнистых линий. Чем это вызвано пока не изучал.

Всем удач!

PS. Строго не судите, мой первый пост

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

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

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

5
Комментарии к статье