Дружим raspbery pi с ADXL345

Дружим raspbery pi с ADXL345


В процессе подготовки, для настройки adxl345(далее аксель), выявил, что не советуют подключать аксель напрямую в Raspberry PI (далее малинка), т.к. возникают проблемы с их настройкой, но оказалось все не так сложно, а даже довольно просто.

Приступим:

Распиновка:

Далее устанавливаем софт:

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

Далее устанавливаем NumPy в среду klipper:

~/klippy-env/bin/pip install -v numpy

*долгое занятие, у меня было примерно 10-15 минут

Далее выполняем команды:

cd ~/klipper/
sudo cp ./scripts/klipper-mcu.service /etc/systemd/system/
sudo systemctl enable klipper-mcu.service

Далее необходимо скомпилировать код микроконтроллера:

cd ~/klipper/
make menuconfig

В меню Microcontroller Architecture выбираем Linux process:

Проверяем, что не было дополнительных параметров на пины GPIO

Если все так же, то выходим с сохранением и выполняем команды:

sudo service klipper stop
make flash
sudo service klipper start

Если у вас ошибка Permission denied, то вам необходимо добавить вашего пользователя в группу tty

sudo usermod -a -G tty pi

*необходимо указать своего пользователя(тут указан пользователь pi поменяйте на своего)


Далее открываем файл printer.cfg и добавляем после меню MCU:

[mcu rpi]
serial: /tmp/klipper_host_mcu

[adxl345]
cs_pin: rpi:None

[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


Далее надо запустить команду:

MEASURE_AXES_NOISE

вы должны получить некоторые базовые цифры для шума акселерометра по осям (должно быть где-то в диапазоне ~1-100). Слишком высокий шум по осям (например, 1000 и более) может указывать на проблемы с датчиком, проблемы с его питанием или слишком шумные несбалансированные вентиляторы на 3D-принтере.


Если все хорошо, то можно приступать к «снятию» показаний. Тут расписывать не буду, и так много инструкций. Я лишь хотел показать, как подружить малинку с акселем так, чтобы работало.

 




Report Page