Итак, убито 12 часов, что бы наконец-то акселерометр ADXL345 для точной калибровки Input Shaper заработал. В наличии заведомо рабочая платка на базе ADXL345 и Orange PI 3 LTS с установленной ОС Armbian.
Начало все как по мануалу: https://www.klipper3d.org/Measuring_Resonances.html
Подключаем проводками Dupont ADXL345 к Orange PI.
Распиновка:
Подключаем:
1 2
3 4
5 6
7 8
9 10
11 12
13 14
15 16
17 18
19 20
21 22
23 24
25 26
Где 1(первый пин) = Out 3.3 V ( на изображении )Последний 26(последний) = PL 8 ( на изображении )
Пин ADXL – Пин Orange Pi
VCC(3v) – Out 3.3 V (1 pin)
GND – GND (6 pin)
SDA – MOSI (19 pin)
SDO – MISO (21 pin)
SCL – CLK (23 pin)
CS – CS (24 pin)
Идем далее по мануалу:
– Устанавливаем:
sudo apt update
sudo apt install python3-numpy python3-matplotlib libatlas-base-dev
~/klippy-env/bin/pip install -v numpy
- Активируем spi:
По мануалу: https://www.klipper3d.org/RPi_microcontroller.html
cd ~/klipper/
sudo cp "./scripts/klipper-mcu-start.sh" /etc/init.d/klipper_mcu
sudo update-rc.d klipper_mcu defaults
cd ~/klipper/
make menuconfig
Выбираем Micro-controller Architecture –> Linux Process:
Далее:
sudo service klipper stop
make flash
sudo service klipper start
Включаем SPI-dev1 (для ARMBIAN):
- sudo armbian-config
- Ваш пароль
- System
- Hardware
- spi-spidev1 пробелом устанавливаем звездочку
Включаем SPI-dev1 (для ARMBIAN):
sudo nano /boot/armbianEnv.txt
overlays=spi-spidev1
param_spidev_spi_bus=1
param_spidev_spi_cs=0
Включаем SPI-dev1 (для DEBIAN):
sudo nano /boot/orangepiEnv.txt
overlays=spi-spidev1
param_spidev_spi_bus=1
param_spidev_spi_cs=0
- Жмем Save
- Перезагружаем Orange Pi
sudo reboot
- И последнее открываем через браузер наш Klipper, идем “Конфигурация” -> printer.cfg
В начале добавляем строчки:
[mcu opi]
serial: /tmp/klipper_host_mcu
[adxl345]
cs_pin: opi:None
spi_bus: spidev1.0
[resonance_tester]
accel_chip: adxl345
probe_points: 100, 100, 20 # an example
Открываем главный экран управлением Klipper и в консоль вводим команду:
ACCELEROMETER_QUERY
Вы должны увидеть:
Recv: // adxl345 values (x, y, z): 470.719200, 941.438400, 9728.196800
Если увидели, значит вы на правильном пути и можете спокойно калибровать резонанс )))
Разместить ADXL необходимо в горизонтальной плоскости, как можно ближе к соплу. Моделей для креплений под разные принтеры в интернете огромное множество.
Обычно калибровка производится от 1 до 133 Гц и занимает какое-то время.
Запускаем калибровку по X:
TEST_RESONANCES AXIS=X
Дожидаемся окончания калибровки по X. НЕ ВЫКЛЮЧАЯ ПРИНТЕР! (Все данные хранятся в папке /tmp, а после перезапуска Orange Pi данные очищаются)
Запускаем калибровку по Y
TEST_RESONANCES AXIS=Y
Дожидаемся окончания калибровки по Y. Запускаем построение графиков (klipper замените на своего пользователя) КОПИРУЕМ ВЕСЬ код и запускаем в консоле PuTTY или Terminal:
~/klipper/scripts/calibrate_shaper.py /tmp/resonances_x_*.csv -o ~/klipper/shaper_calibrate_x.png
Дожидаемся окончания выполнения, запускаем вторую команду(КОПИРОВАТЬ целиком):
~/klipper/scripts/calibrate_shaper.py /tmp/resonances_y_*.csv -o ~/klipper/shaper_calibrate_y.png
Дожидаемся окончания выполнения, открываем FileZilla, WinSCP и подключаемся к нашему одноплатнику. В корне будет лежать два файла shaper_calibrate_x.png и shaper_calibrate_y.png
Вы также получите рекомендуемые частоты для каждого входного формирователя, а также какой входной формирователь рекомендуется для вашей установки. Например:
Предлагаемую конфигурацию можно добавить в [input_shaper]
раздел printer.cfg
, например:
[input_shaper]
shaper_freq_x: ...
shaper_type_x: ...
shaper_freq_y: 34.6
shaper_type_y: mzv
[printer]
max_accel: 3000 # не должен превышать значение max_accel для осей X и Y
На этом калибровка завершено, печатает тестовую угловую башню, наслаждаетесь результатом.