Lettura corrente PWM

Salve, sto provando a leggere la corrente assorbita da un carico resistivo tramite il sensore Adafuruit INA219. Finché utilizzo un'alimentazione continua funziona tutto; i problemi iniziano quando passo all'alimentazione con PWM (necessità di lavoro), quindi il sensore inizia a leggermi valori random. Volevo sapere se c'è un modo per eseguire la lettura sempre con l'INA219, o se esiste un altro sensore più specifico. Dimenticavo, altra necessità lavorativa una sensibilità di lettura di 1mA.

Grazie in anticipo a chi risponde

quindi il sensore inizia a leggermi valori random.

Puoi provare a raccogliere questi dati random e fare la media aritmetica. Esempio sommi 100 valori letti e la dividi per 100.
Sostanzialmente si dovrebbe potere fare da software quello che farebbe un filtro RC tarato per avere una frequenza di taglio FT uguale alla frequenza del segnale PWM. Due o più filtri in serie permettono 12dB, 18dB ecc di pendenza.

Ciao.

Grazie mille della risposta. Ora però ho un'altra domanda; le letture con quale frequenza devo farle fare?
Cioè, devo mettere un ritardo fra una lettura e l'altra o farla fare tutte di seguito?
Perché a me serve una lettura precisa, ma non velocissima. Se tra una stampa e l'altra del valore passano 1-2 secondi non è un problema

Maggiore è il numero di campioni maggiore dovrebbe essere la precisione. Tuttavia il problema principale mi sembra la velocità di lettura del dato via i2c. Penso che sia meglio modificare la board per avere una R esterna in modo da potere filtrare la differenza di potenziale che cade nel resistore. Il filtro potrebbe essere una rete passiva RC o filtro attivo basato su amplificatore operazionale. Maggiore è la pendenza del filtro minore sarà il ripple (ondulazione residua).

Serve però sapere la frequenza del PWM.

Quante letture non so, vedi quante letture riesci ad ottenere con i2c in un secondo.

Ciao.

Ho capito poco la parte del filtro con l’operazionale perché non sono ferratissimo con l’elettronica.

La frequenza del pwm come la troverei? Perché la corrente che devo misurare arriva da una scheda che usa il pwm per “dimmerare” la corrente che scorre nel carico. Ieri sera facendo altre prove ho notato che l’arduino emetteva un fischio e si bloccava non appena mettevo il negativo in comune tra il carico e lui. Può essere perché la scheda iniziale che genera il pwm lo fa tramite un MOSFET sul negativo?

Temo che a questo punto ci sia bisogno di uno schema, Anzi, due. Il primo quello funzionante e il secondo che blocca l’Arduino, perché occorre vedere bene come girano le masse.

Ciao,
P.

Credo che la soluzione più semplice sia alimentare il carico tramite un semplice filtro LC, misurando quindi una corrente continua.
In alternativa, dovresti realizzare un integratore - amplificatore della tensione sulla resistenza di misura a basso offset, ma dovresti fare un po' di progettazione e sperimentazione.

Datman:
Credo che la soluzione più semplice sia alimentare il carico tramite un semplice filtro LC, misurando quindi una corrente continua.

Non sono ferratissimo con l'elettronica, sono hobbista autodidatta, puoi spiegarmi meglio cosa intendi e come dovrei dimensionarlo e collegarlo in modo da avere una lettura corretta.

Grazie

Potresti provare con 10mH e 10uF:
10mH - Aliexpress
La bobina deve poter funzionare alla corrente richiesta dal carico senza saturare, quindi deve essere dichiarata per una corrente uguale o superiore.

Quindi per vedere se ho capito bene. Alimento la mia scheda, lei genera il pwm, entro nel filtro LC e poi nel sensore INA219, ed infine al carico.
Ma così il carico non è più alimentato dal segnale pwm ma in continua, giusto? Oppure mi sono perso un passaggio?

Sì, il carico è alimentato in corrente continua (salvo ondulazione residua).

Datman:
Sì, il carico è alimentato in corrente continua (salvo ondulazione residua).

E un modo per continuare ad alimentarlo in PWM o altro modo per la misura ci sarebbe? Perché la scheda a monte non posso cambiarla. O un diverso tipo di sensore che possa leggere la corrente anche se non in continua esiste?

Anche per il filtro LC si dovrebbe conoscere la frequenza del PWM. Non conoscendola si può tentare come ti hanno suggerito. Ma se ad esempio la frequenza del PWM fosse di 10000hz allora quei valori suggeriti sono molto alti, inoltre l'induttanza potrebbe saturare a frequenza elevate del PWM.

La frequenza del pwm come la troverei?

La scheda che genera il pwm non ha un manuale, un link, ecc?

Ciao.

Uh... Avevo perso il filo del discorso e credevo che il pwm fosse generato da Arduino alle sue frequenze classiche!

Maurotec:
La scheda che genera il pwm non ha un manuale, un link, ecc?

Purtroppo è una scheda vecchia, il massimo che sono riuscito a trovare nell'archivio dell'ufficio è un pdf, ma pesa più di 2MB e non riesco a caricarlo

Puoi caricarlo su weshare o altrove.

Spero Google Drive vada bene

Misura la corrente che scorre tra il ponte raddrizzatore e C1! :slight_smile:

Grazie mille della risposta, ma in questo modo la misura riporta anche l'assorbimento dell'integrato e gli altri componenti sulla scheda o sono un valore basso e trascurabile?

Misura l'assorbimento a vuoto e poi lo sottrai. Sarà circa 10mA.