docs: Some clarifications for resonances measurements and tuning

Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
This commit is contained in:
Dmitry Butyugin 2021-01-29 21:18:30 +01:00 committed by KevinOConnor
parent d136b1e41a
commit b45b0162bf
1 changed files with 31 additions and 17 deletions

View File

@ -51,6 +51,12 @@ Note that on a bed slinger printer one must design 2 mounts: one for the
toolhead and one for the bed, and run the measurements twice. See the toolhead and one for the bed, and run the measurements twice. See the
corresponding [section](#bed-slinger-printers) for more details. corresponding [section](#bed-slinger-printers) for more details.
**Attention:** make sure the accelerometer and any screws that hold it in
place do not touch any metal parts of the printer. Basically, the mount must
be designed such as to ensure the electrical isolation of the accelerometer
from the printer frame. Failing to ensure that can create a ground loop in
the system that may damage the electronics.
## Software installation ## Software installation
Note that resonance measurements and shaper auto-calibration require additional Note that resonance measurements and shaper auto-calibration require additional
@ -101,11 +107,14 @@ Measuring the resonances
Now you can test a connection. Now you can test a connection.
- For "non bed-slingers" (e.g. one accelerometer), in Octoprint, enter `ACCELEROMETER_QUERY` - For "non bed-slingers" (e.g. one accelerometer), in Octoprint,
- For "bed-slingers" (e.g. more than one accelerometer), enter `ACCELEROMETER_QUERY CHIP=adxl345_x` where `adxl345_x` is the name of the chip as-entered (see: [bed-slinger](#bed-slinger-printers)). enter `ACCELEROMETER_QUERY`
- For "bed-slingers" (e.g. more than one accelerometer), enter
`ACCELEROMETER_QUERY CHIP=<chip>` where `<chip>` is the name of the chip
as-entered, e.g. `CHIP=bed` (see: [bed-slinger](#bed-slinger-printers))
for all installed accelerometer chips.
In Octoprint, run `ACCELEROMETER_QUERY`. You You should see the current measurements from the accelerometer, including the
should see the current measurements from the accelerometer, including the
free-fall acceleration, e.g. free-fall acceleration, e.g.
``` ```
Recv: // adxl345 values (x, y, z): 470.719200, 941.438400, 9728.196800 Recv: // adxl345 values (x, y, z): 470.719200, 941.438400, 9728.196800
@ -118,7 +127,9 @@ the schematics, no wire is broken or loose, etc.), and soldering quality.
Next, try running `MEASURE_AXES_NOISE` in Octoprint, you should get some Next, try running `MEASURE_AXES_NOISE` in Octoprint, you should get some
baseline numbers for the noise of accelerometer on the axes (should be baseline numbers for the noise of accelerometer on the axes (should be
somewhere in the range of ~1-100). somewhere in the range of ~1-100). Too high axes noise (e.g. 1000 and more)
can be indicative of the sensor issues, problems with its power, or too
noisy imbalanced fans on a 3D printer.
## Measuring the resonances ## Measuring the resonances
@ -208,17 +219,18 @@ must be connected to different boards (say, to an RPi and printer MCU board), or
to two different physical SPI interfaces on the same board (rarely available). to two different physical SPI interfaces on the same board (rarely available).
Then they can be configured in the following manner: Then they can be configured in the following manner:
``` ```
[adxl345 adxl345_x] [adxl345 hotend]
# Assuming adxl345_x is connected to an RPi # Assuming `hotend` chip is connected to an RPi
cs_pin: rpi:None cs_pin: rpi:None
[adxl345 adxl345_y] [adxl345 bed]
# Assuming adxl345_y is connected to a printer MCU board # Assuming `bed` chip is connected to a printer MCU board
cs_pin: ... # Printer board SPI chip select (CS) pin cs_pin: ... # Printer board SPI chip select (CS) pin
[resonance_tester] [resonance_tester]
accel_chip_x: adxl345 adxl345_x # Assuming the typical setup of the bed slinger printer
accel_chip_y: adxl345 adxl345_y accel_chip_x: adxl345 hotend
accel_chip_y: adxl345 bed
probe_points: ... probe_points: ...
``` ```
@ -278,12 +290,14 @@ larger, but the smoothing is significantly smaller than previously.
When deciding which `max_smoothing` parameter to choose, you can use a When deciding which `max_smoothing` parameter to choose, you can use a
trial-and-error approach. Try a few different values and see which results trial-and-error approach. Try a few different values and see which results
you get. Note however that if you request the script to find a configuration you get. Note that the actual smoothing produced by the input shaper depends,
for your printer with an unrealistically small smoothing, it will be unable primarily, on the lowest resonance frequency of the printer: the higher
to find a reasonable configuration. The suggested parameters will have a poor the frequency of the lowest resonance - the smaller the smoothing. Therefore,
performance in this case and you can get too much remaining ringing as a result. if you request the script to find a configuration of the input shaper with the
So, always double-check the projected remaining vibrations and make sure they unrealistically small smoothing, it will be at the expense of increased ringing
are not too high. at the lowest resonance frequencies (which are, typically, also more prominently
visible in prints). So, always double-check the projected remaining vibrations
reported by the script and make sure they are not too high.
Note that if you chose a good `max_smoothing` value for both of your axes, you Note that if you chose a good `max_smoothing` value for both of your axes, you
can store it in the `printer.cfg` as can store it in the `printer.cfg` as