Introduzione
Avrai bisogno di un adattatore stampato per posizionare l'ADXL345 nel retro del trasportatore X. Puoi trovarne uno qui
Ricambi
-
-
Connetti l'accelerometro alla Raspberry PI
-
Connetti il pin 3V3 dell'accelerometro al pin 17 (3.3v) della Raspberry PI
-
Connetti il pin GND dell'accelerometro al pin 20 (Ground) della Raspberry PI
-
Connetti il pin CS dell'accelerometro al pin 24 (GPIO08) della Raspberry PI (SPI0_CE0_N)
-
Connetti il pin SDO dell'accelerometro al pin 21 (GPIO09) della Raspberry PI (SPI0_MISO)
-
Connetti il pin SDA dell'accelerometro al pin 19 (GPIO10) della Raspberry PI (SPI0_MOSI)
-
Connetti il pin SCL dell'accelerometro al pin 23 (GPIO11) della Raspberry PI (SPI0_SCLK)
-
-
-
Hai bisogno di accedere via SSH alla tua stampante ed installare Numby.
-
~/klippy-env/bin/pip install -v numpy
-
sudo apt update
-
sudo apt install python3-numpy python3-matplotlib -y
-
Verifica che il driver Linux SPI sia abilitato
-
sudo raspi-config
-
#3 Interface Options > P4 SPI > Yes > OK > Finish
-
-
-
Scommenta la sezione "input shaper & resonance tester" nel file di configurazione.
-
"probe_points" (punti di misurazione): è raccomandato l'utilizzo di 1 punto leggermente al di sopra del centro del piatto. Io utilizzo le stesse coordinate utilizzate per la calibrazione dell'asse Z
-
Riavvia il firmware klipper con:
-
RESTART
-
-
-
Controlla per assicurarti che la Raspberry PI possa comunicare con l'accelerometro ADXL345 eseguendo i seguenti comandi nella console:
-
ACCELEROMETER_QUERY
-
Questo dovrebbe restituire qualcosa del tipo:
-
adxl345 values (x, y, z): -152.983740, 10249.910580, 152.983740
-
-
-
Calibra la stampante
-
Durante la risonanza testare le vibrazioni può diventare estremamente violento. Assicurati di essere vicino alla stampante nel caso debba cancellare il test con il comando "M112"
-
Ora puoi lanciare il primo test di risonanza per l'asse X con il comando:
-
TEST_RESONANCES AXIS=X
-
Quando il test è terminato eseguilo nuovamente per l'asse Y con il comando:
-
TEST_RESONANCES AXIS=Y
-
Quando il test sarà stato completato, verrà generato un file CSV all'interno della Raspberry PI
-
-
-
Collegati via SSH alla stampante ed esegui i due comandi seguenti:
-
~/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
-
Questo script genererà i grafici "/tmp/shaper_calibrate_x.png" e "/tmp/shaper_calibrate_y.png" con i valori di frequenza rilevati
-
Otterrai anche le frequenze consigliate per ogni segnale di comando (input shaoer), oltre a quello consigliato per il tuo setup. L'"input shaping" è una tecnica di controllo ad anello aperto per ridurre le vibrazioni nelle macchine controllate da computer. Il metodo funziona creando un segnale di comando che annulla la propria vibrazione.
-
Qui puoi vedere i miei valori per l'asse X
-
Qui puoi vedere i miei valori per l'asse Y
-
-
-
Con "CoreXY" puoi utilizzare il firmware "Klipper" anche per confrontare la tensione della cinghia tra gli assi X e Y. Questo non ti dice se le cinghie sono troppo tirate o troppo allentate, ti dice solo se sono tese allo stesso modo.
-
Esegui i seguenti comandi nella console:
-
TEST_RESONANCES AXIS=1,1 OUTPUT=raw_data
-
TEST_RESONANCES AXIS=1,-1 OUTPUT=raw_data
-
Collegati via SSH alla Raspberry PI ed esegui:
-
~/klipper/scripts/graph_accelerometer.py -c /tmp/raw_data_axis*.csv -o /tmp/resonances.png
-
Basandosi sul grafico generato, X ha una frequenza maggiore di Y. Ho dovuto quindi stringere il tensionatore della cinghia di sinistra per diminuire la differenza tra le due frequenze.
-
Come puoi notare nel secondo test le frequenze per X ed Y sono più coerenti tra loro, ma si potrebbe migliorare ancora. Penso che molta della variazione nella frequenza sia dovuta alla catena di trascinamento. A frequenze inferiori si muove molto di più quando si calibra X.
-
2 commenti
Great Post! You might want to add a paragraph on the RPi Microcontroller for multi mcu with the pi
gary -
You must have known delicious food, right? And now you will play a game called: