Найти тему
Михаил Девятков

Подключение и прошивка BIGTREETECH EBB 36/42

BIGTREETECH EBB 36/42
BIGTREETECH EBB 36/42

Оригинальная документация находится на https://github.com/bigtreetech/EBB

Что это такое? Это плата с MCU которая устанавливается на печатающую голову 3D принтера. Имеет на борту MCU (STM32F072C8T6 - V1.0, STM32G0B1CBT6 - V1.1, V1.2), датчик акселерометра ADXL345, аналогово-цифровой преобразователь Max31865 (есть версия без него), интерфейс USB, CAN, I2C, драйвер шагового двигателя TMC2209, мосфеты для подключения двух вентиляторов и нагревателя.

Что она позволяет? Подключать шаговый двигатель, датчики температуры (100K NTC, PT1000, PT100), два управляемых вентилятора, нагреватель Hotend, RGB подсветку, 3 концевых датчика, датчик типа BLTouch.

Зачем она нужна? Позволяет подключить печатающую голову (со всем богатством указанным выше) четырьмя проводами (земля, питание, 2 провода шины CAN или провод USB), освободить драйвер двигателя на основной плате MCU (может кто испытывает недостаток двигателей), освободить выходы для подключения вентиляторов и датчика температуры (можно сделать охлаждение управляемое температурой).

Для каких принтеров подходит? Для принтеров под управлением прошивкой Klipper. EBB 36 для печатающих голов с круглым двигателем 36 мм, EBB 42 - квадратным 42 мм.

Можно ли не прошивать платы EBB после покупки? Нельзя, потому что версия Klipper в основной плате MCU, плате EBB и Host (малинка, апельсинка, ноутбук и т.п. которые управляют принтером) должны совпадать. Если не совпадают, то ни кто не застрахован от неожиданностей.

Прежде чем собирать прошивку рекомендую ознакомиться с методом прошивки по CAN тут.

Собираем прошивку

Запускаем putty, подключаемся

Далее вводим:

cd ~/klipper
make clean
make menuconfig

➤ Выбираем
Micro-controller Architecture (STMicroelectronics STM32)
Processor model (STM32G0B1) (Для версии V1.0 Processor model (STM32F072))
Bootloader offset (No bootloader)
Clock Reference (8 MHz crystal)
Communication interface (USB (on PA11/PA12)) (для USB подключения)
Communication interface (CAN bus (on PB0/PB1)) (для CAN подключения V1.1)
Communication interface (CAN bus (on PB8/PB9)) (для CAN подключения V1.0)
(250000) CAN bus speed (для CAN подключения)
➤ Жмем "Q", "Y"
Вводим:

make

Запускаем и соединяемся FileZilla
Идем в каталог /home/pi/klipper/out/klipper.bin
Копируем klipper.bin в свой каталог на ПК

-5

Скачиваем STM32CubeProgrammer. Устанавливаем. Запускаем. Можно тут скачать актуальную на 22.10.22 для Windows 64, на официальный сайт на сегодняшний день надо заходить с VPN.

Устанавливаем перемычку. Если EBB запитана от 12-24В то перемычку не надо. Но нужно иметь в виду, что если плата V1.1 и подано основное питание, в режиме прошивки будет греться hotend бесконтрольно! Нужно отключить hotend! Я прошиваю с перемычкой и без питания, так проще. Подключаем EBB к ПК кабелем USB. Зажимаем и держим кнопку boot, нажимаем и отпускаем кнопку reset, отпускаем кнопку boot.

-6

В STM32CubeProgrammer нажимаем кнопку со стрелочками, потом кнопку Connect, потом Open file и выбираем свою прошивку. Жмем Download. Прошивка быстро зальется. Жмем disconnect, отключаем кабель.

Идем в FileZilla и копируем файл sample-bigtreetech-ebb-canbus-v1.1.cfg в директорию /home/pi/klipper_config.

-8

Подключение EBB по USB

Подключаем плату EBB к малинке по USB. Загружаемся. Подключаемся Putty. Вводим команду:

ls /dev/serial/by-id/*

Результат запоминаем (записываем или копируем, выделяем мышкой и жмем Ctrl+V)
/dev/serial/by-id/usb-Klipper_stm32g0b1xx_450011000350415833323520-if00

-9

Открываем Fluidd и правим файл конфигурации sample-bigtreetech-ebb-canbus-v1.1.cfg. Вставляем строку скопированную выше:

[mcu EBBCan]
serial: /dev/serial/by-id/usb-Klipper_stm32g0b1xx_450011000350415833323520-if00

Правим файл конфигурации printer.cfg. Добавляем:

[include sample-bigtreetech-ebb-canbus-v1.1.cfg]

И удаляем (а лучше комментируем) блок связанный с экструдером, вентилятором охлаждения, настройками Uart драйвера экструдера (если есть)

Сохраняем и перезагружаем. Теперь настраиваем шаги двигателя, термистор, PID, ток двигателя и т.д. Радуемся.

Подключение EBB по CAN

Для подключения EBB через CAN понадобится модуль BIGTREETECH U2C или подобный. Оригинальная документация находится тут https://github.com/bigtreetech/U2C. Этот модуль USB to CAN bus, который позволяет подключать к USB-порту Raspberry Pi устройства работающие по протоколу CAN, BIGTREETECH EBB 36 / 42 CAN и другие платы MCU.

-12

Если ранее прошивали EBB для работы через USB, тогда заново конфигурируем прошивку для работы через CAN и прошиваем в EBB.

Устанавливаем перемычки в EBB и U2C

Соединяем USB кабелем Raspberry и U2C. Заходим в putty. Вводим:

sudo nano /etc/network/interfaces.d/can0

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

auto can0
iface can0 can static
bitrate 250000
up ifconfig $IFACE txqueuelen 1024

Закрываем редактор (Ctrl + X) и сохраняем файл. Перезагружаем малинку sudo reboot

Опять идем в putty, вводим:

~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0

Получаем: Found canbus_uuid=7925657ba371, Application: Klipper

Копируем это значение Found canbus_uuid. Заходим в интерфейс Fluidd, правку sample-bigtreetech-ebb-canbus-v1.1.cfg и вставляем значение как на картинке.

-16

И не забываем править файл конфигурации printer, как в подключении через USB. Добавляем:

[include sample-bigtreetech-ebb-canbus-v1.1.cfg]

И удаляем (а лучше комментируем) блок связанный с экструдером, вентилятором охлаждения, настройками Uart драйвера экструдера (если есть) (аналогично как описано в подключении через USB).

Сохраняем и перезагружаем. Теперь настраиваем шаги двигателя, термистор, PID, ток двигателя и т.д. Радуемся.

Если используем обычный термистор, то оставляем как есть. Если используем PT1000 или PT100, то используем Max31865 (есть версия EBB с ним). Для этого комментируем строки как на картинке и подключаем датчик в соответствующий разъем и выставить комбинацию микропереключателями на плате согласно инструкции (выбирается в зависимости от типа датчика и подключения двумя или четырьмя проводами)

-17

Если используются концевики endstop подключенные к плате EBB, то необходимо их внести в printer.cfg в разделы [stepper_x] и (или) [stepper_y]

endstop_pin: EBBCan:PB5
endstop_pin: EBBCan:PB6
endstop_pin: EBBCan:PB7

В зависимости от подключения.

В любом случае нужно внимательно ознакомится с официальной инструкцией, в этой публикации я не все возможности применения платы EBB охватил. Это публикация для тех кто не знает с чего начать.

Спасибо, что дочитали до конца. Про подключение 3D touch (BL touch) можно почитать тут.

Также что б ни чего не пропустить подписывайтесь на этот канал, на мое сообщество ВК и канал Telegram
https://vk.com/cncand3d
https://t.me/cncand3d