Управляющий Raspberry Pi подключить к управляемому МК принтера можно двумя основными способами:
От выбора подключения будут зависеть настройки прошивки микроконтроллера принтера, доступность Raspberry Pi и подключение питания и дисплея к нему, наличие проводов и коннекторов снаружи принтера.
Соединение с помощью обычного кабеля USB. Со стороны Raspberry Pi в случае Pi 3 и 4 используется стандартный разъем «USB type-A», в случае Pi Zero W - "MicroUSB type-B OTG через адаптер. Со стороны большинства плат принтера используется «USB type-B». Обычно скорость коммуникации не больше 250000 Бод, самые стабильные показатели соединения при 115200 Бод.
В настройках Klipper я всегда выставлял 250000 и не наблюдал проблем при подключении по USB
Плюсы:
Минусы:
Проще некуда: втыкаем один конец кабеля USB в Raspberry Pi, другой в принтер. Ищем, куда бы удобно пристроить одноплатник, чтобы не мешал.
В случае Pi Zero W у нас 2 гнезда microUSB: одно для питания, другое (OTG) для подключения периферии. Подключаем адаптер OTG в гнездо microUSB-OTG, к нему подключаем кабель USB, а дальше как обычно.
Так называемое 3-Wire соединение 3-х жильным кабелем контактов TX
, RX
и GND
на Raspberry Pi и плате принтера. Контакты TX
и RX
соединяются перекрестно, т.е. TX
Pi с RX
МК и наоборот.
Позволяет более быстрое и стабильное соединение между Pi и принтером. Стабильная скорость коммуникации 250000 Бод
Некоторые платы, такие как MKS Robin Nano, получают питание от Raspberry Pi по USB. Это требует отключение как питания от БП принтера, так и от Pi для отключения управляющей платы. В свою очередь не даёт управлять питанием принтера с помощью Pi, требует дополнительных шагов для перепрошивки принтера, а в некоторых случаях вызывает ошибку «Undervoltage» на Pi не смотря на достаточное питание. Подключение по UART избавляет от этих недостатков. Но требует дополнительную настройку Raspberry Pi и другую конфигурацию прошивки МК. Не все принтеры обладают возможностью такого подключения. Платы как BTT SKR 1.3/1.4 обладают джампером для отключения получения питания по USB.
Плюсы:
Минусы:
Задействует пины
GPIO14
иGPIO15
.
Запускаем конфигурацию Raspberry Pi, удобнее всего выполнить это на этапе Настраиваем Raspberry Pi
sudo raspi-config
Interface Options -> Serial Port
No
- отключаем serial consoleYes
- включаем serial hardwareOK
, затем Finish
и Yes
для перезагрузкиПосле перезагрузки редактируем /boot/config.txt
, потребуется root-доступ
sudo nano /boot/config.txt
Проверяем наличие двух строчек, редактируем, если надо
enable_uart=1
dtoverlay=pi3-miniuart-bt
Сохраняем и перезагружаем
sudo reboot
Подключение будет доступно через серийный порт /dev/ttyAMA0
.
Можно припаять провода напрямую, или припаять гребёнку. Иногда RPi Zero W продаётся с припаянной гребёнкой.
TX
на GPIO14 - пин №8,RX
на GPIO15 - пин №10,GND
на любой свободный, например, на пин №14.У этого одноплатника 2 серийных порта - миниUART и обычный UART. Пины UART в обычном состоянии заняты модулем Bluetooth. МиниUART - обрезанный UART и имеет ряд ограничений и поэтому крайне желательно отключить Bluetooth и использовать обычный UART. Задействует пины
GPIO14
иGPIO15
.
Запускаем конфигурацию Raspberry Pi, удобнее всего выполнить это на этапе Настраиваем Raspberry Pi
sudo raspi-config
Interface Options -> Serial Port
No
- отключаем serial consoleYes
- включаем serial hardwareOK
, затем Finish
и Yes
для перезагрузкиПосле перезагрузки редактируем /boot/config.txt
, потребуется root-доступ
sudo nano /boot/config.txt
Проверяем наличие двух строчек, редактируем, если надо
enable_uart=1
dtoverlay=pi3-disable-bt
Сохраняем и перезагружаем
sudo reboot
Подключение будет доступно через серийный порт /dev/ttyAMA0
.
dtoverlay=pi3-disable-bt
отключает bluetooth и освобождает пины для UART. Если по какой-либо причине bluetooth нужен, то можно заменить наdtoverlay=pi3-miniuart-bt
, что включит миниUART. Подключение через/dev/ttyS0
.
TX
на GPIO14 - пин №8,RX
на GPIO15 - пин №10,GND
на любой свободный, например, на пин №14.У этого микрокомпьютера в общей сложности 5 серийных портов. Самый подходящий для подключения к принтеру -
UART5
. У него нет ограничений, как у других четырёх и его пиныGPIO12
иGPIO13
позволяют подключить экран к освободившимся GPIO14 и GPIO15.
Запускаем конфигурацию Raspberry Pi, удобнее всего выполнить это на этапе Настраиваем Raspberry Pi
sudo raspi-config
Interface Options -> Serial Port
No
- отключаем serial consoleYes
- включаем serial hardwareOK
, затем Finish
и Yes
для перезагрузкиПосле перезагрузки редактируем /boot/config.txt
, потребуется root-доступ
sudo nano /boot/config.txt
Проверяем наличие двух строчек, редактируем, если надо
enable_uart=1
dtoverlay=uart5
Сохраняем и перезагружаем
sudo reboot
Подключение будет доступно через серийный порт /dev/ttyAMA1
.
TX
на GPIO12 - пин №32,RX
на GPIO13 - пин №33,GND
на любой свободный, например, на пин №34.Питание можно подключить:
через GPIO пины №2/4 и №6
Преимущества подключения в компактности и простоте в случае, если Raspberry Pi размещён внутри корпуса принтера, где места не так уж и много. Недостатки в том, что на GPIO нет защиты от перенапряжения или скачков.
через USB: стандартный разъем microUSB на RPi Zero и RPi 3 или USB-C на RPi 4
Преимущества подключения через microUSB/USB-C в том, что питание проходит через предохранитель (polyfuse) и не поджарит одноплатник до состояния Well Done.
Для нестандартных блоков питания можно просто обрезать качественный провод для зарядки смартфона, оставив коннектор для подключения к RPi, и прикрутить к БП. Недостатки в том, что коннектор выпирает из корпуса Pi.
подпаявшись к контактам USB-разъема питания - способ для ценителей
Сочетает в себе плюсы обоих предыдущих. Можно подпаяться к контактам разъема питания на плате, сохранив тем самым компактность и защиту. Но при неумелом использовании паяльника можно зажарить RPi ещё до включения. Подробнее, например, тут и тут.
→