Calcolo dell'RMS/Vref
Nel TMC2209 ci sono due modi per impostare il limite di corrente erogata al motore: Se siamo in modalità standalone si può regolare il Vref tramite la vite del trimmer. Se siamo in modalità UART lo si fa via software impostando la corrente RMS.
Il driver.rms_current(valore) della libreria TMCStepper imposta la corrente e da cosa deriva il Vref effettivo.
🔧 Cos’è driver.rms_current(valore)?
Il metodo rms_current() della libreria TMCStepper imposta la corrente RMS del motore. Il TMC2209 imposta internamente il Vref in base alla corrente RMS desiderata, utilizzando una formula che dipende dal valore della resistenza di sense (RSense) e altri parametri interni.
Nel TMC2209, la resistenza di sense (RSENSE) è già saldata sul modulo, e il valore tipico è: R<sub>SENSE</sub> = 0.11 Ω (su quasi tutti i moduli MKS o BigTreeTech, incluso quello in foto) Questo valore è fondamentale perché la libreria TMCStepper lo usa per calcolare il Vref interno. Per verificare se il driver ha questo valore dell' RSENSE osservare sul retro del driver la presenza di due resistenze con su scritto 110.
🔍 Quindi: come impostare correttamente driver.rms_current(valore)?
La libreria TMCStepper calcola tutto internamente in base a RSENSE. Tu devi solo dire quanta corrente RMS vuoi fornire al motore, e il chip regolerà il Vref di conseguenza.
Il tuo motore:1.7 A di picco per fase Quindi:
Questo è il massimo che dovresti fornire con:
driver.rms_current(1200);
dove Peak è il nostro 1.7A del nema e √2 è la radice quadrata di 2 (1.414)
RMS = 1.7/ 1.414 = 1.7 x 0.707 = 1.2A ≈ 1200mA
Se invece volessi impostare manualmente il Vref sul TMC2209 in standalone come dovrei calcolarlo per 1.7A di picco:
🔧 Calcolo del Vref (senza UART)Il TMC2209 in standalone regola la corrente motore in base a un Vref (misurato sul pin Vref, o in alternativa generato internamente via UART in modalità smart).
📊 Tabella per corrente RMS (TMC2209 UART)
(Rsense = 0.11 Ω, come nei moduli più comuni)
Quindi per motivi prudenziali imposteremo l'RMS a 1.06A che corrisponde 1.5A di picco.Nello sketch imposteremo: driver.rms_current(1060); // Imposta corrente in mA
|