CONTAGIRI DIGITALE PER MOTORI DI LAVATRICE - 2



ITALIANO   ENGLISH    ESPAÑOL

Tachimetro basato sulla misura della ampiezza - AMP_MODE

Nel caso in cui si misuri l'ampiezza del segnale in uscita dal sensore per ricavare gli rpm del motore, bisogna correlare l'ampiezza delle sinusoidi al numero di giri. Ovvero ad ogni volt di tensione all'uscita del sensore corrisponde un valore di RPM ( revolution per minute) o giri al minuto dell'asse del motore. Nella maggior parte dei casi, la relazione che legga gli RPM e la tensione di uscita non e' sempre di tipo proporzionale. In prima approssimazione possiamo pensare che la relazione sia di tipo proporzionale. In questo caso basta misurare la tensione, tramite un voltmetro per tensioni AC, al valore massimo di rotazione del motore e rapportarla al numero di giri dichiarati nella targa del motore. Per esempio, per il motore MCA3064 viene dato un valore RPM_max=13000 giri/min  a cui corrisponde, in uscita del sensore una tensione,  VAC_max =30Vac. 

Schema di misura - amp_mode

Questo tecnica di misura basata sulla tensione e' possibile implementarla  mediante un circuito elettrico che permette di misurare la tensione del sensore  e di visualizzare su display il valore stimato dei giri motore direttamente in RPM.



schema a blocchi contagiri digitale WM

Fig. 2: schema a blocchi del circuito misuratore di giri per motori lavatrici - amp_mode

Il circuito proposto fa uso di Arduino ( versione nano) che campiona e converte digitalmente, tramite la periferica ADC,  la tensione  condizionata del sensore, la moltiplica per il fattore di proporzionalità per poi visualizzare il risultato mediante un display LCD.

Per poter convertire la tensione del sensore, essendo di tipo sinusoidale,  bisogna condizionarla  ovvero convertila in una tensione DC ( corrente continua) e abbassarla nell'intervallo accettabile per l'ingresso del convertitore ADC del modulo Arduino  (vfs=5V).

Quindi bisogna interporre tra l'uscita del sensore e l'ingresso dell'Arduino un convertitore AC / DC, costituto da un ponte di Greatz e da un condensatore di livellamento, seguito da un partitore di tensione che abbassi la tensione VDC in modo che la tensione di uscita dal partitore Vin, al valore massimo di giri motore, sia accettabile all'ingresso del convertitore ADC dell' Arduino.

La tensione VDC di uscita dal convertitore AC/DC,  considerando i valori massimi ( per il massimo regime di rotazione del motore),

VDC_max= (VAC_max *1.414) - 1.2

Il fattore 1,414 e' per ricavare il valore massimo di una sinusoide passando dal valore efficace della sinusoide fornita dal voltmetro
mentre il termine 1,2 e' dovuto alla caduta di tensione che introduce il ponte a diodi di Gretz.
Noto il valore di VDC_max si può calcolare il fattore di partizione p del partitore di tensione che genera la tensione Vin in ingresso all'ADC. IL fattore p e' per definizione:

p= VDC/ Vin

Il partitore di tensione lo si può realizzare tramite un partitore resistivo costituito da due resistori R1 e R2 come indicato in figura. Per questo partitore si può scrivere :

p= 1+R1/R2

 R1 = ( p-1) x R2

Il partitore deve inoltre soddisfare altre specifiche: la prima specifica e' che la resistenza totale, R1+R2, introdotta dal partitore e vista dal convertitore AC/DC deve essere abbastanza alta da non provocare uno scaricamento della tensione del condensatore di uscita nella fasi in cui la sinusoide in ingresso e' più bassa della tensione di uscita, caso in cui il ponte non conduce. La seconda specifica e' che la resistenza che deve vedere l'ingresso dell'ADC deve essere al massimo di 10k ohm.
Questa resistenza e', almeno di qualche approssimazione,  pari al valore di R2.

Definito il partitore di tensione in base al valore del fattore di partizione p, bisogna calcolare il fattore di proporzionalità, Krpm  che permette di ricavare il valore degli RPM attuali a partire dalla tensionei Vin presente all'ingresso del ADC dell'Arduino.

Se a regime massimi RMP_max corrisponde una Vin_max che e' rapportabile alla VDC_max tramite il fattore di partizione p.

VDC_max / p = Vin_max


il fattore Krpm e' definito come il rapporto tra il numero di giri massimi, RPM_max,  e la tensione all'ingresso dell'ADC quando il motore ruota alla veloita RMP_max:

Krpm  = RMP_max / Vin_max

 Krpm  = p *RPM_max /VDC_max

Quindi ricavato il fattore Krpm, il valore attuale dei giri, in rpm si ottiene moltiplicando la tensione di uscita del sensore  per Krpm

RPM = Vin * Krpm

Esempio di dimensionamento


Facendo riferimento al motore  MCA3064  VAC_max=30V   ( misurata tramite tester per tensioni AC) per cui
           
VDC_max = 30*1.414 -1.2= 41.22V

o puo essere misurata con un tester in DC quando il motore e'al massimo dei giri a valle delconvertitore AC /DC

La tensione massima accettabile all'ingresso del canale ADC dell'arduino e' VFS ( tensione di fondo scala) che vale 5V
per cui la Vin_max deve essere sempre minore uguale alla VFS

Vin_max <= VFS

VDC_max / p <= VFS

p >= VDC_max / VFS

Nel caso del MCA3064 e Arduino Nano

p >=  41.22 / 5

p >= 8.244

scegliamo il valore p= 10  per cui dalle formule che definiscono p tramite R1 e R2 possiamo scrivere:

R2= 10k ( per la seconda specifica)

R1= (p-1)*R2= ( 10-1) *10k = 90k

a questo punto il nostro Krpm vale:

Krpm  = p *RPM_max /VDC_max= 10*13000 / 41.22 = 3153 rpm / V

Nello skrect di Arduino Krpm e' calcolato direttamente in quanto dovranno essere immessi come paramteri  RMP_max, VDC_max , R1 e R2.