Klipper + ADXL345 Input Shaper guide: Difference between revisions
No edit summary |
|||
Line 50: | Line 50: | ||
# You should get a resonse that looks like this: | # You should get a resonse that looks like this: | ||
# <blockquote><code>Recv: // adxl345 values (x, y, z): 611.934960, 305.967480, 11473.780500</code></blockquote> | # <blockquote><code>Recv: // adxl345 values (x, y, z): 611.934960, 305.967480, 11473.780500</code></blockquote> | ||
=== You are now ready to run the actual tests on the two axis. === | |||
# "Home" your printer: | # "Home" your printer: | ||
# Issue the "G28 X0 Y0 Z0" command in your klipper terminal window - I use OctoPrint for this. | # Issue the "G28 X0 Y0 Z0" command in your klipper terminal window - I use OctoPrint for this. |
Revision as of 11:00, 27 November 2021
Guide
- Aquire an ADXL345
- Solder 6 wires on to the ADXL345.
- Monut the ADXL to you Extruder. If you got a moving printbed as X you need to move the ADXL345 halfway into the calibration guide. Watch NEROs video!
- Connect the 6 wires to your Raspberry Pi - DO it correct please or you COULD risk frying either your ADXL345, Your Raspberry Pi... or both ;-)
- Install the software - if you havent done so already.
- Update your Raspberry Pi:
sudo apt update -y
sudo apt upgrade -y
- Install "numpy" - Note: this will take quite some time - NERO says 20 minutes. It was faster on my Raspberry Pi 4 but still...
~/klippy-env/bin/pip install -v numpy
- Install additional dependencies
sudo apt install python-numpy python-matplotlib
- Configure your Raspberry Pi as a secondary MCU - Note: I got this working together with screen on my Creality Ender 5 Plus :-)
sudo cp ~/klipper/scripts/klipper-mcu-start.sh /etc/init.d/klipper_mcu
sudo update-rc.d klipper_mcu defaults
- Rebuild the microcontroller code:
cd ~/klipper/
make menuconfig
- Select "Micro-controller Architecture (Linux process)"
- Select "(X) Linux process" - make sure the X is set.
- Press Q
- Respond Yes to save changes.
- Stop the klipper service:
sudo service klipper stop
- Build and flash the new code to the microcontroller.
make flash
- Start the klipper service again.
sudo service klipper start
- Make sure the Linux SPI driver is enabled:
sudo raspi-config
- Select "3 Interface Options"
- Select "P4 SPI"
- Respond Yes to the question "Would you like the SPI interface to be enabled?"
- Respond Ok to the information that "The SPI interface is enabled"
- Press TAB twice to mark the "Finish" button.
- Press Enter.
- Open your klipper configuration file in your favorite linux text-editor. I use nano.
nano ~/printer.cfg
- copy the Additional lines below.
- paste the Additional lines into your klipper configuration file above the [mcu] section.
- In the [printer] section set max_accel: to 10000
- In the [printer] section set max_accel_to_decel: to 10000
- Save the changes in the klipper configuration file.
- Exit the texteditor.
- Issue the "restart" command in your klipper terminal window - I use OctoPrint for this.
- Software is now fully installed and configured.
- Test if the ADXL345 is recognised and talking with Klipper.
- Issue the "ACCELEROMETER_QUERY" command in your klipper terminal window - I use OctoPrint for this.
- You should get a resonse that looks like this:
Recv: // adxl345 values (x, y, z): 611.934960, 305.967480, 11473.780500
You are now ready to run the actual tests on the two axis.
- "Home" your printer:
- Issue the "G28 X0 Y0 Z0" command in your klipper terminal window - I use OctoPrint for this.
- Run the test on X axis:
- Issue the "TEST_RESONANCES AXIS=X" command in your klipper terminal window - I use OctoPrint for this.
- Run the test on Y axis:
- Issue the "TEST_RESONANCES AXIS=Y" command in your klipper terminal window - I use OctoPrint for this.
Additional lines
[mcu rpi] serial: /tmp/klipper_host_mcu [adxl345] cs_pin: rpi:None [resonance_tester] accel_chip: adxl345 probe_points: 150,150,20 # This is where the extruder will be positioned during the resonance test.
Credits
I wrote this guide using NERO 3Ds Youtube video as inspiration, so I had the commands needed handy to cut'n paste into my Raspberry Pi when ever I want to rerun the calibration.