Contagiri per elimodello

foto

Questo contagiri usa una capsula microfonica come sensore, e sfrutta l'onda di pressione a bassa frequenza presente vicino alle pale in rotazione. La distanza di rilevamento è abbastanza variabile a seconda della velocità di rotazione e dell'inclinazione delle pale, può anche superare i 10cm,ed è ottimale quando le cifre più significative del display rimangono stabili. Non tutte le distanze sono valide, infatti non bisogna essere ne troppo lontani ne troppo vicini al rotore, inoltre il comportamento sopra di esso è diverso da quello di sotto, in particolare la lettura è migliore dal lato in cui l'aria viene risucchiata e difficile dall'altro. Le ultime due cifre variano troppo rapidamente per essere lette agevolmente, nonostante questo la precisione dei calcoli dovrebbe aggirarsi attorno al paio di rpm.


schema


Il segnale, captato dalla capsula microfonica preamplificata, viene amplificato dapprima da uno stadio a FET e successivamente da un amplificatore operazionale che ha anche la funzione di filtro passa basso con frequenza di taglio di circa 70Hz.

Osservando all'oscilloscopio l'uscita dell'operazionale ho notato che in concomitanza con il passaggio delle pale la tensione scende bruscamente sotto il volt. Il secondo operazionale viene usato come comparatore/squadratore, in modo da poter inviare ogni fronte di discesa direttamente all'ingresso di un divisore binario (CD4040).

Sull'uscita del divisore è presente una frequenza pari alla metà di quella di ingresso e con duty cycle del 50%. Questo segnale viene letto dal PIC16F628 che misura la durata di un semiperiodo con una precisione di ±7µS.

Applicando la formula rpm = 1/2 * 60/T (dove T è il tempo misurato in secondi e 1/2 tiene conto del fatto che l'elica è bipala) si ottengono i giri/minuto. Siccome T è dato dalla risoluzione di campionamento (7*10-6S) per il conteggio raggiunto (chiamiamolo N), la formula si può riscrivere così: rpm = 1/2 * 60/(N*7*10-6). Semplificando e risolvendo le parti costanti si arriva ad una semplice formula finale perfettamente calcolabile dal microcontroller usando solo numeri interi: rpm = 4285714 / N.

Gli rpm così ottenuti possono essere visualizzati su un qualsiasi tipo di display a 4 digit. In questo caso ho riutilizzato un vecchio LCD seriale (recuperato dal kit LX1007 di Nuova Elettronica) comandabile tramite soli 3 segnali. Tra l'altro questo modulo ha già a bordo un regolatore a 5V da cui si ottiene l'alimentazione per il microcontroller.


Programma sorgente assembler per PIC16F628

Il programma è lungo 210 istruzioni (368 byte),
e richiede 17 byte di memoria RAM.


foto
foto


Nuova versione con sensore ottico (luglio 2006)

La versione con microfono, per quanto funzionasse bene in certe circostanze, in altri casi non leggeva bene i giri o non li leggeva per niente. Usando un sensore a riflessione infrarossa di tipo QRD1114 invece la lettura è veramente stabile anche sulla cifra delle decine, e le unità variano di pochi rpm. La lettura ottimale si ottiene sui 10cm di distanza, ed è indifferente se fatta sopra o sotto il rotore, potrebbe però essere influenzata dal colore e dalla riflettività delle pale. Come tutti i sensori ottici anche questo purtroppo è in parte sensibile al ronzio dell'illuminazione artificiale, in presenza della quale si rischia di leggere il valore 3000rpm (prodotto dai 100Hz dell'illuminazione).


schema             foto


La modifica è stata semplicissima, in quanto come si vede dallo schema qui sopra basta mettere il fototransistor al posto del microfono e aggiungere una resistenza per alimentare il led infrarosso del sensore.

NOTA: Se il sensore risulta troppo sensibile all'illuminazione solare esterna, ridurre la resistenza del fototransistor da 10k a 4,7k.


Valid XHTML 1.0! Valid CSS!