Vai al contenuto

Ronzio a Motori Abilitati


 Condividi

Messaggi raccomandati

Ciao a tutti,

ho cambiato scheda madre da poco a una mia stampante, e dopo aver risolto buona parte dei problemi di compilazione, finalmente sono riuscito a superare il sanitycheck.

Il firmware è MK4Duo, la scheda una minitronics 2.0. La scheda monta i DRV8825, ma per l'asse y uso uno stepper esterno, un TB6600, per avere più potenza (il piano di stampa è un po' peso).

In sostanza, quando i motori X, Z ed E sono abilitati, emettono un ronzio forte. Gli steps/mm sono a posto, i motori si muovono esattamente quanto dovrebbero, ma c'è questo ronzio che cessa solo quando i motori si disabilitano. Se richiedo un movimento più ampio di 10mm (es. 40mm), avviene che i motori restano abilitati per un paio di minuti, rendendo gli assi non spostabili manualmente per quel tempo. Quando i motori sono abilitati, il ronzio non cessa mai! Passati questi minuti, quando i motori si sbloccano cessa anche il ronzio. Anche con il ronzio, i movimenti richiesti continuano ad avvenire correttamente. Ho impostato una stringa per disabilitare immediatamente i motori dopo un movimento, risolvendo così il problema temporaneamente. Ma questo ronzio lo posso ignorare?

L'asse Y funziona alla perfezione (stepper driver esterno). Non so se è rilevante, ma lo stepper esterno utilizza un pin di ENABLE personale, mentre x, z ed e hanno lo stesso pin di enable in comune.

Ho settato la VREF a 1.2 (i motori sono da 2,5A), quindi dovrebbe essere corretta. In ogni caso, ho provato ad abbassare sull'asse Z la Vref, anche drammaticamente (0.6, considerando che è divisa su due motori) e il ronzio è identico.

Ecco come ho impostato i parametri dal firmware (ve li prendo in ordine sparso e da vari config):

#define  X_DRIVER_TYPE  DRV8825
#define  Y_DRIVER_TYPE  TB6600
#define  Z_DRIVER_TYPE  DRV8825
#define E0_DRIVER_TYPE  DRV8825

#define MINIMUM_STEPPER_PULSE 3UL

#define MAXIMUM_STEPPER_RATE 150000

#define DIRECTION_STEPPER_DELAY 0 // (ho provato anche 650 e 1500, senza risultati)

//#define ADAPTIVE_STEP_SMOOTHING  //(ho provato ad attivarlo, senza risultati)

#define INVERT_X_STEP_PIN false  // (ho provato con true, senza risultati)
#define INVERT_Y_STEP_PIN false
#define INVERT_Z_STEP_PIN false
#define INVERT_E_STEP_PIN false

Aiutino? 🙏

Link al commento
Condividi su altri siti

Di rientro dalle vacanze, ho avuto modo finalmente di rimettere le mani sulla scheda!

Leggendo quello che mi hai inviato, e sbirciando al volo su internet, mi sembra di aver capito che non sia niente di problematico, salvo il rumore! Quindi ho pensato di ignorare la cosa, almeno per ora ma forse anche per sempre: il rumore non è un problema per me.

Piuttosto, è sorto un problema ben maggiore! 😖

A qualsiasi VREF (da 0,5V a 1,2V), e con gli stepstick ben raffreddati, sembra che i motori vogliano ignorare gli spostamenti di oltre 10mm per volta. Semplicemente si fermano come se stessero perdendo passi! Però, almeno nella mia esperienza, in caso di perdita di passi, il movimento viene interrotto e poi riprende. Qui proprio cessa! Questo accade, ad esempio, se richiedo un homing dell'asse X: Il motore si sposta di poco verso il finecorsa, poi si ferma. La cosa assurda è che a 0,5V e a 1,2V non noto assolutamente nessuna differenza!

Ho controllato i finecorsa da repetier, e risultano correttamente "not triggered" normalmente e "triggered" se premuti...

Link al commento
Condividi su altri siti

Di rientro dalle vacanze, ho avuto modo finalmente di rimettere le mani sulla scheda!

Leggendo quello che mi hai inviato, e sbirciando al volo su internet, mi sembra di aver capito che non sia niente di problematico, salvo il rumore! Quindi ho pensato di ignorare la cosa, almeno per ora ma forse anche per sempre: il rumore non è un problema per me.

Piuttosto, è sorto un problema ben maggiore! 😖

A qualsiasi VREF (da 0,5V a 1,2V), e con gli stepstick ben raffreddati, sembra che i motori vogliano ignorare gli spostamenti di oltre 10mm per volta. Semplicemente si fermano come se stessero perdendo passi! Però, almeno nella mia esperienza, in caso di perdita di passi, il movimento viene interrotto e poi riprende. Qui proprio cessa! Questo accade, ad esempio, se richiedo un homing dell'asse X: Il motore si sposta di poco verso il finecorsa, poi si ferma. La cosa assurda è che a 0,5V e a 1,2V non noto assolutamente nessuna differenza!

Ho controllato i finecorsa da repetier, e risultano correttamente "not triggered" normalmente e "triggered" se premuti...

EDIT:

Ho risolto!

Ho disabilitato la disabilitazione degli assi in disuso (scusate il gioco di parole) agendo su queste stringhe:

#define DISABLE_X false
#define DISABLE_Y true
#define DISABLE_Z false
#define DISABLE_E false

Ho mantenuto Y, dato che funzionava bene (uso uno stepstick diverso per quello)!

Ho poi risolto il problema del ronzio prolungato, agendo su questo parametro:

#define DEFAULT_STEPPER_DEACTIVE_TIME 1

che prima era settato a 120 (secondi). In questo modo, dopo un secondo il ronzio cessa.

Spero possa essere d'aiuto a qualcuno, grazie ancora per l'aiuto @FoNzY!

Albe.

  • Like 1
Link al commento
Condividi su altri siti

Partecipa alla conversazione

Puoi pubblicare ora e registrarti più tardi. Se hai un account, accedi ora per pubblicarlo con il tuo account.

Ospite
Rispondi a questa discussione...

×   Hai incollato il contenuto con la formattazione.   Rimuovere la formattazione

  Sono consentiti solo 75 emoticon max.

×   Il tuo collegamento è stato incorporato automaticamente.   Mostra come un collegamento

×   Il tuo contenuto precedente è stato ripristinato.   Pulisci editor

×   Non puoi incollare le immagini direttamente. Carica o inserisci immagini dall'URL.

 Condividi


×
×
  • Crea Nuovo...