Актуальный на октябрь 2023 года гайд по установке Klipper с ADXL345 на Orange Pi Zero для немного продвинутых
Без предисловий.
Данная простынка разбита на 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.
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.

Слева направо rst rx2 tx2 gnd +5v
Подключив rx2-uart2_tx tx2-uart2_rx gnd-gnd +5v ко 2 или 4 контакту мы запитаем и саму пишку от платы принтера, что очень удобно.
Ток потребления без веб камеры порядка 0.2A.
Далее подключение акселерометра подрубленного согласно схемы по spi1 к opi.

Пин 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
Еще больше интересных статей
Snapmaker U1 - подключаем Anycubic ACE 2 Pro, часть первая (аппаратная).
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Сегодня мы продолжим р...
Восстановление работы видеокамеры AI от креалити. (Проверено на моём K1)
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Blue Pill & SSD1306, ну очень маленькие.., но 32 бит!
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Решил я тут попробовать перейти с 8 бит на 32.
Готовы...



Комментарии и вопросы
Ничего хорошего в этом не вижу...
Можете пояснить, пожалуйста, ч...
Вместе с инвестором он вложил....
Здравствуйте. На Ender-3 V3 SE...
Спецы выручайте.Построил себе...
Приветствую. Печатаю на Anycub...
Спецы выручайте. Построил себе...