Актуальный на октябрь 2023 года гайд по установке Klipper с ADXL345 на Orange Pi Zero для немного продвинутых

59

Без предисловий.

Данная простынка разбита на 2 раздела.

В первом описывается простое подключение по usb, во втором подключение uart и spi1 и adxl345.

Раздел1.

Ставим образ Armbian CLI

включаем wifi и коннектимся к сети.

sudo nmtui

Теперь после перезагрузки opi будет автоматически коннектиться по wifi к выбранному подключению, но лучше конечно все настроить еще по lan.

Добавляем пользователя klipper и даем группы ему.

sudo adduser klipper

sudo usermod -a -G tty klipper

sudo usermod -a -G dialout klipper

sudo adduser klipper sudo

sudo reboot

Перезагружаем.

Редактируем sudoers, добавляем klipper все разрешения.

Этот этап очень важный и нельзя ошибиться.

При открытии может потребоваться закрыть 2 страницу, ctrl+x

sudo nano edit /etc/sudoers

#User privilege specification

root root ALL=(ALL:ALL) ALL

klipper ALL=(ALL:ALL) ALL — дописываем этот блок без сноски

Crtl+o сохраняем, подтверждаем, ctrl+x закрываем.

sudo reboot

Перезагружаем.

Обновляем список пакетов

sudo apt update

Устанавливаем или проверяем установку гит.

sudo apt-get install git -y

net tools

sudo apt-get install net-tools -y

cmake

sudo apt-get install cmake

sudo apt-get update

sudo apt-get upgrade — обновляем все пакеты.

Установка скрипта kiauh

sudo git clone https://github.com/th33xitus/kiauh.git

./kiauh/kiauh.sh — запускаем KIAUH

Устанавливаем klipper для 1 машины*

Moonraker

Fluidd или Mainsail (веб окружение)

Выбираем питон 3.x

Создаем прошивку для платы.

сd klipper

make clean

make menuconfig

Там выбираем нужный мк, оффсет бутлоадера и ваш тип подключения к плате согласно pinout вашей платы, сохраняем выходя.

Я приведу примеры для creality 4.2.2 подключенной по USB и btt mini e3 v 3.0 подключенной по UART2.

Для creality Актуальный на октябрь 2023 года гайд по установке Klipper с ADXL345 на Orange Pi Zero для немного продвинутых

Для btt mini e3 3.0 Актуальный на октябрь 2023 года гайд по установке Klipper с ADXL345 на Orange Pi Zero для немного продвинутых

make

Прошивка компилируется в /home/klipper/klipper/out/firmware.bin

Оттуда ее вытащить можете по ftp используя любой ftp клиент. ip opi в вашей сети, имя-пароль klipper указанные вами, по 22 порту.

Заливаем ее в плату согласно правилам для прошивки вашей платы. (для cr 4.2.2 нужно переименовать в новое незнакомое имя egkdjh2w.bin, для btt нужно название firmware.bin)

В зависимости от вашего подключения коннект можно проверить:

ls /dev/serial/by-id/* — серийное

ls -al /dev/ttyAMA*

ls -al /dev/ttyS*

Пример блока mcu.

[mcu]

serial: /dev/serial/by-path/pci-0000:00:1d.1-usb-0:1:1.0-port0 # для серийного подключения

#serial: /dev/ttyS2 #для подключения по uart, ls -al /dev/ttyS* *=2 для uart2

restart_method: command

baud: 250000 — всегда 250000, тоже значение выбирается при компиляции прошивки для платы.

На этом этапе после указания в конфиге правильного адреса MCU плата уже должна подключиться.

Для доступа к веб морде и всем настройкам и конфигам нужно глянуть в роутере с каким ip подключилась opi. (для lan и wifi будут разные адреса).

Дальнейший шаманизм пойдет для подключения adxl345 по SPI1 к opi или для подключения по UART платы.

Если вы не хотите подключать adxl но хотите подключить плату по uart нужно выполнить Шаг1. из Раздел2.

Раздел2.

Увеличение swap на armbian.

https://diytimes.ru/post/147

После увеличения свопа систему нельзя перезагружать.

Компилируем и устанавливаем numpy версии 1.24.2 в окружение klipper

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

~/klippy-env/bin/pip3 install -v numpy==1.24.2

sudo apt-get install python3-numpy python3-matplotlib libatlas-base-dev

Включаем Spi1 и uart в opi zero 512.

Шаг1. Для подключения акселерометра к opi или подключения платы управления по UART.

sudo nano /boot/armbianEnv.txt

overlays=w1-gpio uart uart1 uart2 i2c0 spi-spidev spi-spidev1

Добавляем ниже.

param_spidev_spi_bus=1

param_spidev_spi_cs=0

ctrl+o сохранить, ctrl+x выход.

sudo reboot

Теперь у нас включены на opi uart uart1 uart2 spi spi1, подключение платы по uart2, подключение акселерометра по spi1.

Помним что они не *идоры, tx подключается к rx, rx-tx.

UART2 находиться у btt 3.0 на разъеме tft. Актуальный на октябрь 2023 года гайд по установке Klipper с ADXL345 на Orange Pi Zero для немного продвинутых

Слева направо rst rx2 tx2 gnd +5v

Подключив rx2-uart2_tx tx2-uart2_rx gnd-gnd +5v ко 2 или 4 контакту мы запитаем и саму пишку от платы принтера, что очень удобно.

Ток потребления без веб камеры порядка 0.2A.

Далее подключение акселерометра подрубленного согласно схемы по spi1 к opi. Актуальный на октябрь 2023 года гайд по установке Klipper с ADXL345 на Orange Pi Zero для немного продвинутых

Пин ADXL – Пин Orange Pi

VCC(3v) – Out 3.3 V (1, 17 pin)

GND – GND (6 9 14 20 25 pin)

SDA – MOSI (19 pin)

SDO – MISO (21 pin)

SCL – CLK (23 pin)

CS – CS (24 pin)

Для коннекта подключенного adxl к opi нам нужно создать новый MCU.

cd ~/klipper/

sudo cp ./scripts/klipper-mcu.service /etc/systemd/system/

sudo systemctl enable klipper-mcu.service

cd ~/klipper/

make menuconfig

Выбираем linux proocess, выходим сохраняем.

sudo service klipper stop

make flash

sudo service klipper start

Добавляем новый блок MCU в конфиг для работы акселерометра

[mcu opi]

serial: /tmp/klipper_host_mcu

Добавляем конфиг adxl.

[adxl345]

cs_pin: opi:None

spi_bus: spidev1.0 #указывается шина spi, должна быть 1.0

[resonance_tester]

accel_chip: adxl345

min_freq: 10 # для сокращения времени теста, минимальный порог

max_freq: 95 # для сокращения времени теста, максимальный порог

#accel_per_hz: 75

probe_points:

    117,117,20 # X100, Y100, Z20 an example

Проверка подключения по spi.

ls -l /dev/spi*

Если все прошло хорошо то введя в консоли fluidd ACCELEROMETER_QUERY

Вы увидите ответ с положениями.

Для запуска теста резонансов нужно ввести

TEST_RESONANCES AXIS=X

TEST_RESONANCES AXIS=Y

После можно построить графики по проделанным тестам (из консоли ssh)

~/klipper/scripts/calibrate_shaper.py /tmp/resonances_x_*.csv -o /tmp/shaper_calibrate_x.png

~/klipper/scripts/calibrate_shaper.py /tmp/resonances_y_*.csv -o /tmp/shaper_calibrate_y.png

Ответ будет тут же в консоли ssh, графики будут в /tmp, если вы не удалите старые графики то при построении новых скрипт будет учитывать и их результаты, выдавая среднее по больнице. Если по какой то неведомой причине у вас все сломалось и ничего не работает, прилагаю 2 готовых образа на 8 и 16гб где все настроено за вас.https://disk.yandex.ru/d/gA_rvOm2Z-ZFCAhttps://disk.yandex.ru/d/HSitzsA7AvMx3Q

Ссылка на источник
Читайте также

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here
Перетащите ползунок, чтобы вставить комментарий