В данном репозитории я попробую подробно описать как скомпилировать прошивку и подключить 3D принтер Elegoo Neptune 3 Pro по протоколу UART (не используя USB кабель) в прошивке Klipper, которая установлена на одноплатник BTT Pi, а так же разместить железки в корпусе. Рекомендую сначала прочитать до конца, чтобы сложилась общая картинка.
- Предусловие
- Сборка и Компиляция прошивки
- Прошивка принтера
- Подключение железок
- Подстройка Klipper
Инструкция рассчитана на то, что Вы уже установили Klipper на свой одноплатный компьютер и загрузили конфигурационный файл(printer.cfg) для своего принтера. Если же нет, то найти инструкцию можно тут, но на этапе прошивки принтера можно остановиться и вернуться сюда. Эта инструкция также подойдет для другого одноплатника, нужно будет гуглить pinout.
Хотелось бы отметить, что у меня все заработало спустя три перезагрузки.
- Принтер Neptune 3Pro
- Одноплатник BTT Pi
- СД-карта для прошивки принтера
- Соединительные провода:
- SSH-клиент(например Putty, но я буду пользоваться PowerShell)
Я буду использовать PowerShell, поэтому после открытия пишу команду:
ssh biqu@192.168.0.161
где:
biqu
- имя стандартного пользователя в BTT-CB1,192.168.0.161
- адрес одноплатника в локальной сети.
Далее он запросит пароль, который тоже biqu
- и мы подключились, будет выведен некий логотип платы/ОС.
Теперь нас ждет этап сборки/компиляции прошивки, который будет исполнять сам linux - это нужно, чтобы у нас не было потом ошибки mcu protol error
, которая высвечивается на главной странице, когда версии Klipper-а и mcu(платы принтера) не совпадают.
- Перейдем в каталог
klipper
:
cd klipper
- Очистим каталог от предыдущих компиляций, если такие были:
make clean
- Запустим конфигуратор прошивки:
make menuconfig
- Настроим конфигуратор: Разные версии Klipper-а будут слегка отличаться, но основные пункты останутся:
[ * ] Enable extra low-level configuration options
- Micro-controller Architecture: STMicroelectronics STM32
- Processor model: STM32F401
- Bootloader offset: 32Kib bootloader
- Clock Reference: 8 MHz crystal
- Communication interface: Serial (on USART2 PA3/PA2)
- Baud rate for serial port: 250000
- GPIO pins to set at micro-controller startup
- Сохраним и соберем прошивку:
- После того, как Вы настроили конфигуратор нужно будет выйти, сохранив изменения: нажимаем
Q
иY
. - Чтобы преобразовать это в BIN-арник для принтера нужно будет вписать в консоль:
- После того, как Вы настроили конфигуратор нужно будет выйти, сохранив изменения: нажимаем
make
Если вы увидели такое сообщение, то можно продолжать. Версия может быть другой.
- Закроем SSH подключение:
exit
Для прошивки принтера нужно, чтобы вывод утилиты make, а именно klipper.bin оказался на СД-карте и в принтере:
scp biqu@192.168.0.161:~/klipper/out/klipper.bin e:\prog\klipper_n3pro
где:
- scp - утилита для безопасного копирования данных между Linux-системами по протоколу SSH,
- biqu - стандартное имя пользователя BTT-CB1,
- 192.168.0.161 - локальный адрес одноплатника,
- ~/klipper/out/klipper.bin - стандартный адрес, куда сохраняет make,
- e:\prog\klipper_n3pro - путь на моем ПК, куда я скачал прошивку.
Если не получилось первым способом, можно воспользоваться программой WinSCP
- После установки и открытия программы нужно будет настроить подключение, вписав локальный адрес, логи и пароль; выбрав 22 и метод подключения SCP:
- Переходим по пути к собранному BIN-арнику в правом окне:
/home/biqu/klipper/out/
- В левом окне открываем путь куда мы хотим скачать
- Нажимаем ПКМ по файлику
klipper.bin
и выбираемПолучить
в контекстном меню.
1. Прежде чем копировать *BIN*-арник на карту памяти нужно его переименовать, иначе принтер проигнорирует его: `ZNP_ROBIN_NANO.bin`,
2. Форматируем СД-карту в формат *FAT32*,
3. Копируем `ZNP_ROBIN_NANO.bin` в корень карты.
1. Выключаем питания принтера,
2. Вставляем СД-карту в соответствующий разъем на принтере,
3. Включаем принтер,
4. Ждем в районе 5-10 минут,
5. Выключаем питание и проверяем переименовался ли файл на СД-карте на `ZNP_ROBIN_NANO.CUR` - это сигнализирует о том, что принтер успешно прошился.
На моей BTT Pi есть гребенка GPIO разъемов:
А соединять нужно по принципу:
Пины Robin Nano | Пины GPIO BTT Pi |
---|---|
TX | RX |
RX | TX |
GND | GND |
я специально обвел контакты с разъема под ESP-модуль, чтобы можно было легко подключить соединительным проводом F-M(мама-папа) от Ардуино
Чтобы смонтировать внутри корпуса нужно:
-
заранее распечатать два файлика из папки
models
: -
Запастись 6 винтами и терпением, чтобы смонтировать пластину внутри корпуса: Штырьки нужны, чтобы закрепить переходную пластину на пересечениях ребер жесткости в пластике корпуса. После монтажа всех компонентов можно закрутить крышку, а Wi-Fi антенну приклеить на балку вне корпуса.
- Питание для одноплатника я также взял с платы принтера - правый нижний разъем с маркировкой
-24V/+24V
.
В самом интерфейсе Klipper нужно перейти в конфигурацию принтера - printer.cfg
и заменить эту часть кода:
[mcu]
serial: /dev/ttyUSB0
На:
[mcu]
serial: /dev/ttyS0
Сохранить и перезагрузить.
Подключаемся по SSH к одноплатнику, как указано в п 1.1 и пишем команду:
sudo nano /boot/BoardEnv.txt
Открывается редактор текста, где нужно будет найти строку:
console=display
и заменить ее на:
console=serial
Затем нужно сохранить, выйти и перезагрузить:
- Нажимаем
Ctrl
+O
, - Нажимаем
Enter
- чтобы подтвердить, - Нажимаем
Ctrl
+X
- чтобы выйти из редактора, - Пишем
reboot
- чтобы перезагрузить одноплатник.
- Нужно будет выключить одноплатник,
- Достать СД-карту и подключить ее в Ваш ПК,
- Открываем раздел
boot
, - Ищем там файлик
BoardEnv.txt
и открываем, - Заменяем в нем
console=display
наconsole=serial
, - Сохраняем и безопасно извлекаем СД-карту,
- Возращаем на место в одноплатник,
- Включаем, радуемся.