ANEMOMETRO
- Stazione meteo con Arduino -
- Weather Station with Arduino -
- 05/02/2014 -
Con questo post continua la costruzione della "nostra" stazione meteorologica.
This post continue the project for the weather station.
Ogni stazione meteorologica dovrebbe avere un anemometro, occorre misurare almeno intensità, e direzione del vento.
L'anemometro a coppette da me acquistato ha al suo interno un sensore reed che chiude il contatto al passaggio di un piccolo magnete, il magnete è solidale alla parte in movimento ( quella con le coppette) e quindi ogni giro passa in prossimità del sensore che si chiude.
In questo modo si hanno inpulsi in numero proporzionale alla velocità del vento.
L'anemometro a coppette da me acquistato ha al suo interno un sensore reed che chiude il contatto al passaggio di un piccolo magnete, il magnete è solidale alla parte in movimento ( quella con le coppette) e quindi ogni giro passa in prossimità del sensore che si chiude.
In questo modo si hanno inpulsi in numero proporzionale alla velocità del vento.
Arduino dovrà contare il numero degli impulsi e il tempo trascorso.
Per calcolare la velocità del vento con questo anemometro occore conoscere: (r) il raggio, o braccio ( distanza asse coppette in metri), il numero dei giri al secondo (f), e quindi:
Velocità = r * 6.28 * f = Velocità in m/s. Per Velocità in Km/h = (Vm/s * 3,6)
Attenzione! il sensore che ho acquistato ha due calamite quindi ogni giro 2 impulsi.
Per collegare l' anemometro ad Arduino ho usato il seguente schema:
L'antirimbalzo è queello pubblicato sul sito di Arduino.
Lo sketch esegue il conteggio degli impulsi e conteggia il tempo ( due secondi), quindi applica la formula descritta qui sopra ( tenendo conto che sono 2 impulsi per giro).
Lo sketch è commentato completamente.
/*
//*********************************************************
Sergio & Adiano Prenleloup
***** Stazione meteo *********
*** Prova per anemometro ****
*** Versione 1.04 ************
****** 31/01/2014 **********
******************************
Sketch per la prova anemometro trasparente
L'anemometro ha due magneti che chiudono
il contatto reed ( ogni giro 2 impulsi).
*/
const float Pi = 3.141593; // Pigreco
const float raggio = 0.06; // raggio dell'anemometro in metri
const int reedPin = 2; // pin assegnato al contatto reed
int Statoreed = 0; // variabile per la lettura del contatto
int Statoreed_old = 0; // variabile per evitare doppio conteggio
int Conteggio = 0;// variabile che contiene il conteggio delle pulsazioni
unsigned long int TempoStart = 0; // memorizza i millisecondi dalla
//prima pulsazione conteggiata
unsigned long int Tempo = 0; // per conteggiare il tempo trascorso dalla prma pulsazione
unsigned long int TempoMax = 2000;// numero di millisecondi (2 seondi)
//per azzerare il conteggio e calcolare la Velocità
// così non si conteggiano brevi folate di vento
void setup() {
Serial.begin(9600); //attiva la porta seriale
pinMode(reedPin, INPUT);// mette in ascolto del reed il pin 2
}
//--------------------------------------------
// loop principale
//--------------------------------------------
void loop()
{
Statoreed = digitalRead(reedPin); // legge il contatto reed
if (Statoreed != Statoreed_old) // si verifica se è cambiato
{
Statoreed_old = Statoreed; // se SI si aggiorna lo stato
if (Statoreed == HIGH) // si controlla SE è alto ( passaggio magnete)
{
if (Conteggio == 0){ TempoStart = millis();} // se E' il primo passaggio
// si memorizza il tempo di partenza
Conteggio = Conteggio + 1; // si aggiorna il contatore
Tempo = ( millis() - TempoStart); // si conteggia il tempo trascorso dallo start conteggio
if (Tempo >= TempoMax) // se il tempo trascorso è maggiore o uguale al tempo impostato
// si eseguono i calcoli e la stampa della velocità
{
float deltaTempo = ( Tempo/1000.0); // si trasforma in secondi
float Metris= (Conteggio*Pi*raggio)/deltaTempo; // si calcola la velocità in metri/s
float Kmora = (3.6*Conteggio*Pi*raggio)/deltaTempo; //formula per il calcolo della velocità
// in Km/h
float Node = (Metris/0.514444); // si porta in nodi
//--------------------------------------
// stampa i valori sul monitor
//---------------------------------------
Serial.print("Velocità m/s = ");
Serial.println(Metris);
Serial.print("Velocità nodi = ");
Serial.println(Node);
Serial.print("Velocità Km/h = ");
Serial.println(Kmora);
Conteggio = 0; // azzeriamo il conteggio per nuova lettura
delay(5000);// attesa per altra lettura
}
}
}
}
/*
//*********************************************************
Sergio & Adiano Prenleloup
***** Stazione meteo *********
*** Prova per anemometro ****
*** Versione 1.04 ************
****** 31/01/2014 **********
******************************
Sketch per la prova anemometro trasparente
L'anemometro ha due magneti che chiudono
il contatto reed ( ogni giro 2 impulsi).
*/
const float Pi = 3.141593; // Pigreco
const float raggio = 0.06; // raggio dell'anemometro in metri
const int reedPin = 2; // pin assegnato al contatto reed
int Statoreed = 0; // variabile per la lettura del contatto
int Statoreed_old = 0; // variabile per evitare doppio conteggio
int Conteggio = 0;// variabile che contiene il conteggio delle pulsazioni
unsigned long int TempoStart = 0; // memorizza i millisecondi dalla
//prima pulsazione conteggiata
unsigned long int Tempo = 0; // per conteggiare il tempo trascorso dalla prma pulsazione
unsigned long int TempoMax = 2000;// numero di millisecondi (2 seondi)
//per azzerare il conteggio e calcolare la Velocità
// così non si conteggiano brevi folate di vento
void setup() {
Serial.begin(9600); //attiva la porta seriale
pinMode(reedPin, INPUT);// mette in ascolto del reed il pin 2
}
//--------------------------------------------
// loop principale
//--------------------------------------------
void loop()
{
Statoreed = digitalRead(reedPin); // legge il contatto reed
if (Statoreed != Statoreed_old) // si verifica se è cambiato
{
Statoreed_old = Statoreed; // se SI si aggiorna lo stato
if (Statoreed == HIGH) // si controlla SE è alto ( passaggio magnete)
{
if (Conteggio == 0){ TempoStart = millis();} // se E' il primo passaggio
// si memorizza il tempo di partenza
Conteggio = Conteggio + 1; // si aggiorna il contatore
Tempo = ( millis() - TempoStart); // si conteggia il tempo trascorso dallo start conteggio
if (Tempo >= TempoMax) // se il tempo trascorso è maggiore o uguale al tempo impostato
// si eseguono i calcoli e la stampa della velocità
{
float deltaTempo = ( Tempo/1000.0); // si trasforma in secondi
float Metris= (Conteggio*Pi*raggio)/deltaTempo; // si calcola la velocità in metri/s
float Kmora = (3.6*Conteggio*Pi*raggio)/deltaTempo; //formula per il calcolo della velocità
// in Km/h
float Node = (Metris/0.514444); // si porta in nodi
//--------------------------------------
// stampa i valori sul monitor
//---------------------------------------
Serial.print("Velocità m/s = ");
Serial.println(Metris);
Serial.print("Velocità nodi = ");
Serial.println(Node);
Serial.print("Velocità Km/h = ");
Serial.println(Kmora);
Conteggio = 0; // azzeriamo il conteggio per nuova lettura
delay(5000);// attesa per altra lettura
}
}
}
}
Scarica qui lo sketch
Nota integrativa (09/05/2015) - 1
Nel nostro caso l'anemometro è
costituito da coppette solidali fra loro che ruotano sull'asse,
descrivendo quindi una circonferenza, misurando quanti giri al
secondo e moltiplicando per la misura della circonferenza si ottiene
la velocità delle coppette che corrisponde alla velocità del vento.
Il numero dei giri può essere misurato
in modi diversi, nel mio caso ci sono due magneti che chiudono un
contatto reed. ( quindi ogni giro due impulsi).
Si tratta quindi di cronometrare il
tempo e conteggiare il numero dei giri, ed è questo che facciamo con
lo sketch proposto.
Cercherò di spiegare meglio la formula
indicata: ( 2*Pi*r)*f
Vediamo in dettaglio (2*pi*r) = è la
circonferenza percorsa da una coppetta che ruota sull'asse
dell'anemometro.
Maggiore è la velocità del vento
maggiore sarà la velocità angolare e quindi il numero dei giri al
secondo che la coppetta esegue.
f = rappresenta gli impulsi al secondo
ovvero il numero dei giri che vengono conteggiati dal magnete
chiudendo il reed.
Sarà quindi f = Numero giri/secondi
ho usato Conteggio/deltaTempo
per avere la velocità del vento
occorre quindi conteggiare quanti giri al secondo e moltiplicarli per
la distanza percorsa che nel nostro caso è una circonferenza.
Nella mia formula ho diviso il tutto
per 2 perché ho due magneti [(2*pi*r)/2]*f che semplificando diventa
: Pi*r*f
La formula finale è dunque Velocità =
(Pi*r*Conteggio)/deltaTempo
r = raggio espresso in metri
Pi = 3.14
Conteggio = Numero intero dei giri
deltaTempo = secondi dall'inizio
conteggio.
Questo restituisce la velocità in m/s
( metri al secondo ) con anemometro con due magneti
altrimenti non si divide per 2.
Per avere Km/h basta moltiplicare per
3.6 ( 3600 secondi ora / 1000 metri km.) = 3.6
Vi sono anche anemometri a coppette che
usano un piccolo generatore di corrente e la misura della velocità
del vento è proporzionale alla corrente generata, in altri casi
anziché un contatto reed viene utilizzato un encoder.
Spero che questa nota possa chiarire
meglio il funzionamento del nostro anemometro.
Lasciate commenti o chiedete per ulteriori chiarimenti.
Il condensatore da quant'è?
RispondiEliminaIo ho utilizzato 100nF, ma in alcuni schemi ho visto utilizzare anche 22nF con la resistenza anziché da 10k da 22k.
RispondiEliminaLo schema come ho scritto si trova nel forum di arduino.
In ogni caso lo schema ed i valori utilizzati funzionano.
100 omm, 10k, e 100nF.
Ciao!
Uso un anemometro come il tuo, e non capisco perché' nelle specifiche viene riportato che 4 contatti al secondo equivalgono a 10kmh
RispondiEliminasecondo la formula (velocità' angolare) dovrebbe essere 2,713 kmh per 4 contatti al sec.
Lumi?
Ciao, Stefano
Probabilmente è invertito, non si tratta di 10 Kmh, ma di 10 ms.
RispondiEliminaInfatti se fai ( 10/3.6) = 2.777 appunto kmh.
La formula utilizzata è teorica, bisogna vedere quanto si riesce a misurare con esattezza il raggio del nostro anemometro, perché i valori siano corretti.
Ma un amico mi ha promesso in prestito un anemometro professionale, in questo modo potrò verificare meglio tutta la questione.
Come ho fatto a suo tempo con il luxmetro (vedi post).
Ti ringrazio per l'osservazione, segui il blog perché appena potrò collaudare e tarare (pluviometro e anemometro ) pubblicherò i risultati.
A presto!
Ho testato il nostro anemometro con un commerciale prestato le velocità segnate dal nostro corrispondono.
EliminaSe farò ulteriori esperimenti segnalerò la cosa.
Cordiali saluti
Sergio
Ottimo! Grazie Sergio!
Eliminasalve, io ho un anemometro con un solo magnete, che parametro dovrei modificare x il mio anemometro?
RispondiEliminagrazie
Ciao!
EliminaCome puoi leggere nel post la formula è : Velocità = r * 6.28 * f = Velocità in m/s.
In pratica circonferenza = ( 2*Pi*r)*f = con (r espresso in metri) ed ( f giri o impulsi al secondo).
Nel tuo caso ogni impulso corrisponde ad un giro quindi applichi la formula senza dividere per 2.
Nel listato io ho scritto = (Conteggio*Pi*raggio)/deltaTempo;
Basterà che scrivi così = (Conteggio*2*Pi*raggio)/deltaTempo;
Ho verificato recentemente con altro anemometro e tutto corrisponde.
Cordiali saluti
Sergio
grazie mille
RispondiEliminaSalve, questo progetto è perfetto per prendere spunto su come risolvere un problema ad un mio progetto appena realizzato
RispondiEliminaVorrei realizzare una stazione meteo completa, con anche l'orologio. Ho tutti i sensori ma, data la mia poca esperienza in programmazione, gradirei qualche consiglio su come assemblare i vari sketch dei sensori in un unico sketch. Meglio uno unico o un main program con le vari subroutine? Come devo procedere? Grazie Alberto
RispondiEliminaSi la cosa è fattibile ma occorre definire dei punti fermi.
EliminaGli sketch che ho postato sul mio blog sono volutamente, di tipo generale per poter essere adattati ad un proprio progetto, ho inserito tutti i commenti anche a questo scopo.
Un progetto completo parte da scelte che vanno fatte solo ad esempio:
E' alimentato da rete o altra fonte di energia?
Visualizza i dati su un display?
Invia i dati in rete?
Via cavo o wi-fi?
Quali sono i dati che si vogliono monitorare?
Li vogliamo memorizzare se si come?
Ci sono altre domande a cui rispondere, io poi non sono un meteorologo e quindi non so una volta raccolti i dati come dare loro una giusta interpretazione.
Certo che se ci limitiamo a temperatura ed umidità la cosa è fattibile.
Fatemi sapere se interessa un progetto di "Stazione meteo minimale" come progetto completo.
Saluti e Buone Feste
Sergio
Ciao Sergio,
RispondiEliminaforse non ti è arrivata la mia risposta. Mi interessa molto il progetto della "Stazione meteo minimale", dove è possibile reperirlo?
Ti serve la mia mail?
Auguri di buon anno
Ciao
Alberto
Ciao! Alberto, penso che ti riferisca al commento su questo post del 21/12/14.
EliminaBene allora vada per la "stazione meteo minimale".
Ora nelle feste ho difficoltà a dedicarmi in quanto ho ospiti, ma dal 7 Gennaio, mi dedico alla cosa.
Si tratta solo di mettere insieme vari sketch che già sono apparsi su questo blog.
Quindi c'è tutto va solo composto i pezzi del puzzle a formare un unico progetto.
Pubblicherò presto un post per questo progetto di "stazione meteo minimale"
Auguri anche a Te
Sergio.
Grazie, non ho fretta. Provo poi ti farò sapere. Se ti interessa ho un mini sito, dove ho pubblicato un servo flash fatto con un PIC. http://home.teletu.it/albertofm. Ciao ed auguri di buon anno Alberto
EliminaCiao!
EliminaHo pubblicato il post stazione meteo v.103 prendiamolo come assaggio ma continuo a lavorarci perchè la cosa è molto interessante.
Saluti, e grazie per il commento.
Sergio
Ciao potresti consigli armi nell'acquisto di un anemometro a un buon prezzo? Non riesco a trovarlo da nessuna parte
RispondiEliminaCiao!
EliminaScusa il ritardo nella risposta, ma ho rivisto solo oggi la tua domanda.
Ho acquistato il sensore a coppette sul sito di Futura Elettronica
"SENSORE VENTO TRASPARENTE CON STAFFA
Codice Prodotto: 6710-WIND02
Prezzo: 27,00€ "
Ho visto lo stesso prodotto anche su Robot Domestici
Il prezzo è contenuto, in realtà è un ricambio che produce una ditta che vende tende, ma non so dirti molto di più di quello che trovi sul mio blog.
Ti saluto e ti ringrazio per il commento.
Fammi sapere come va anche con altro commento, potrà servire così anche ad altri che ci leggono!
Sergio
Ciao uso un anenometro uguale ma con un magnete, però ho un problema, quando l'anemometro è fermo e casca proprio sul magnete inizia a contare ugualmente, riesci ad aiutarmi?
RispondiEliminaGrazie
Stai utilizzando lo sketch che ho scritto?
EliminaNon dovrebbe succedere perché ho inserito il controllo sul cambiamento di stato.
Se utilizzi altro sketch prova a modificarlo seguendo il mio
E' questa la parte che dovrebbe risolvere il problema:
{
Statoreed = digitalRead(reedPin); // legge il contatto reed
if (Statoreed != Statoreed_old) // si verifica se è cambiato
{
Statoreed_old = Statoreed; // se SI si aggiorna lo stato
Prova e fammi sapere...
Ciao!
Sergio
Salve,
RispondiEliminaposso chiederle perchè ha utilizzato un condensatore? Per evitare solo gli sbalzi di corrente?
Sono alle prime armi con l'elettronica.
Grazie mille !
Ciao!
EliminaIl condensatore e le due resistenze formano un circuito che serve come anti-rimbalzo.
Il contatto reed si chiude al passaggio del magnete ma la velocità del vento essendo molto variabile può in certi casi dare origine a contatti incerti.
Nel circuito che ho realizzato il condensatore si carica alla chiusura del contatto reed e successivamente si scarica sulla resistenza da 10k questo dovrebbe creare un segnale sul pin di Arduino più stabile.
I valori proposti sembrano funzionare.
Grazie per il commento
Sergio
ho riscritto il codice come il tuo , funziona, adesso devo provare con la velocità, il mio sensore sembra uguale al tuo ha solo un magnete
EliminaCiao!
EliminaCome puoi leggere nel post la formula è : Velocità = r * 6.28 * f = Velocità in m/s.
In pratica circonferenza = ( 2*Pi*r)*f = con (r espresso in metri) ed ( f giri o impulsi al secondo).
Nel tuo caso ogni impulso corrisponde ad un giro quindi applichi la formula senza dividere per 2.
Nel listato io ho scritto = (Conteggio*Pi*raggio)/deltaTempo;
Basterà che scrivi così = (Conteggio*2*Pi*raggio)/deltaTempo;
Così dovrebbe funzionare bene!!
Avevo già dato questa indicazione a Leonardo, non ho avuto una conferma se è riuscito o meno a risolvere, ma credo di si che abbia risolto il dopo tre giorni c'è un grazie mille anonimo ma penso che sia in risposta a questo problema.
Se queste indicazioni risolvono il problema ti sarei grato di un messaggio in tal senso.
A presto
Sergio.
Salve,
RispondiEliminanon mi è chiara la formula per calcolare la velocità. Perchè ha utilizzato il PiGreco? A cosa serve la circonferenza in questo ambito?
Grazie ancora per il chiarimento !
Ciao!
EliminaHo integrato il post con una spiegazione più dettagliata della formula.
Spero che adesso si comprenda meglio.
Ti ringrazio per il commento e penso che l'integrazione al post sia utile anche ad altri.
Sergio
Salve,
Eliminasto provando a realizzare il suo progetto, ed essendo un neofita volevo farle delle domande.
Il sensore reed raffigurato nell'immagine del circuito non è altro che il sensore installato all'interno dell'anemometro? Da altri progetti che utilizzano lo stesso anemometro leggo che è stata apportata una modifica al sensore poiché montato in posizione errata, lei lo ha fatto?
Per quanto riguarda il condensatore, ho in dotazione questi tre:
101 suntan;
100uf lelon;
u1J63;
tra i tre posso integrarne qualcuno, oppure devo acquistarlo e dove?
P.s. se non le chiedo troppo potrebbe postare una foto con l'intero circuito montato?
Grazie mille!
Ciao! Grazie per il commento.
EliminaComincio dal condensatore:
Ho utilizzato un condensatore ceramico da 100nF.
In base al codice a 3 cifre utilizzato per i condensatori (le prime due indicano il valore di capacità, la terza il numero degli zeri ed il valore si riferisce ai pF)
quindi avremo 100 nF = 100.000 pF segnato 104
Il tuo condensatore 101 dovrebbe essere di 100 pF ( troppo piccolo per avere l'effetto cercato)
il secondo sembra essere da 100 microfarad.
Il terzo sembra da 1 microfarad.
Per quanto riguarda l'acquisto dipende se sei vicino ad una grande città sicuramente trovi un negozio che fornisce questi componenti, altrimenti su internet trovi moltissime occasioni.
Semmai ti consiglio di acquistare un kit con più pezzi e con più valori ( per altri schemi o altri usi).
.... nell'immagine del circuito non è altro che il sensore installato all'interno dell'anemometro? SI
Nel mio anemometro il reed era in posizione corretta.
Nel post stazione meteo c'è la foto del circuito realizzato ( ma ci sono anche tutti gli altri sensori)
Non ho realizzato un circuito con il solo anemometro.
Ho solo realizzato il circuito sulla BB ( che puoi vedere disegnato con friz)
Dopo aver provato i singoli sensori ho assemblato tutto insieme nella stazione meteo realizzando una specie di shield .
Fammi sapere gli sviluppi.
Saluti
Sergio
buon pomeriggio scusate il mio italiano così come brasiliano , sto facendo un progetto con un sensore di parità chiedevo se u avere alcuna idea di come fare dopo scoppiò volta sembra che / s la velocità necessaria e 0m/s
RispondiEliminaI write to your email, I did not understand the problem.
EliminaSergio.
ciao sergio comlimenti per la guida. Ho comprato questo sensore http://www.ebay.it/itm/SENSORE-VENTO-PER-STAZIONE-METEO-WS1080-E-WS3080-WS1080-WS-/331583037184?hash=item4d33e39f00:g:ssUAAOSw~OdVfvly
RispondiEliminacome si calcola il raggio dell'anenometro? o meglio come devo prendere la misura? scusami ma in matematia sono zero.
Io ho misurato il raggio dell'anemometro dall'asse di rotazione all'estremità di una delle coppette.
EliminaSe non riesci ad individuare l'asse puoi misurare il diametro esterno del cerchio e dividere per due.
Bisogna tener conto che questa è un'operazione da fare in mancanza dei dati tecnici che il costruttore dovrebbe fornire.
Se infatti il costruttore indica la velocità del vento in corrispondenza del numero degli impulsi in uscita , la cosa si semplifica.
Va detto ancora che la formula da me indicata è molto semplificata rispetto ai sistemi professionali.
Ma visto che l'applicazione è quella di aggiungere il dato velocità del vento in una "stazione meteo " mi sembra sufficiente la precisione raggiungibile con questo metodo.
Tieni conto inoltre che successivamente ho controllato utilizzando un anemometro prestatomi da un'amico.
Niente vieta di verificare le misure ottenute effettuando una taratura dell'anemometro.
Spero di esserti stato utile.
Cordiali saluti
Sergio
Salve, intanto grazie per la guida. Due piccole domande se è possibile. Quella in foto è una normalissima ampolla reed? Dove colleghi i due capi del sensore? Grazie mille
RispondiEliminaCiao!
EliminaSi è una semplice ampolla reed.
Un capo viene collegato alla GND.
L'altro capo è collegato alla resistenza da 100 omm, e da li al pin digitale 2, con condensatore da 100nF e resistenza da 10k come indicato con friz.
Si comprende meglio nello schema generale che ho fatto nel post sulla stazione meteo.
vedi http://avventurarduino.blogspot.it/2015/01/stazione-meteo-v103.html
Grazie per il commento, e se ci sono altri problemi contattami.
Sergio
Buongiorno
RispondiEliminapremetto che non sono uno sviluppatore ma che assemblo fishino per utilizzare i dati e fare analisi dei dati. in questo caso analisi del vento. nello sketch inserito nella pagina, il sensore invia dati solo se ruota grazie al vento. è possibile ricevere il dato=0 in assenza di vento?
Buongiorno.
EliminaGrazie per la lettura.
Per il tuo problema dovrai semplicemente preparare una logica di lettura.
Prima di tutto dovrai decidere quante letture farai nel tempo... e questo dipende da quanti dati ti servono, ed anche in che modo vengono conservati.
Un esempio di logica di lettura lo puoi trovare nel post "Stazione meteo v 103" su questo blog.
In questo caso la logica di lettura è scritta per leggere i dati da più sensori alternando la lettura nel tempo.
Se incontri difficoltà contattami pure vedremo di risolvere il problema.
Saluti
Sergio.
Buongiorno, scusa Sergio ma il calcolo della velocità mi pare che parta da presupposti errati: si assume che la velocità tangenziale del rotore sia pari alla velocità del vento che lo mette in rotazione.
RispondiEliminaEmpiricamente l'inventore dell'anemometro a coppette stabilì che il rotore ha una velocità che è circa 1/3 della velocità del vento. In realtà il "fattore anemometro" dipende dalla forma delle coppette e dal braccio ed è un numero che varia da 2 a 3.
Fonte: https://en.wikipedia.org/wiki/Anemometer#Cup_anemometers
La velocità da te calcolata quindi è almeno la metà di quella reale a meno che tu non consideri come raggio la distanza dal perno al centro della coppetta: in questo caso l'errore sarebbe inferiore ma comunque non trascurabile.
Grazie per il contributo.
Eliminala taratura dell'anemometro a coppette è cosa molto complessa, intervengono moltissimi fattori e molte variabili.
Le mie indicazioni sono per avere un calcolo approssimato in mancanza dei dati forniti dal costruttore.
Infatti il costruttore in galleria del vento può valutare sperimentalmente i parametri per correggere la funzione da applicare per il calcolo.
Quindi prima utilizzare i parametri forniti dal costruttore.
In mancanza di dati si può procedere come indicato ed eventualmente correggere con un fattore di correzione da applicare caso per caso.
Eventualmente aumentando la velocità del vento di un fattore da due a tre come da Te indicato.
Grazie per il commento.
Sergio
aggiungo qualche informazione a riprova della mia teoria.
RispondiEliminaQui trovi le specifiche di un anemometro "professionale" http://www.carlesistrumenti.eu/Fpdf/anemometro-car-antc-v1.pdf
Sono indicate le dimensioni e c'è una tabella che data la frequenza del segnale in uscita ti da la velocità del vento per cui puoi fare i conti e verificare che ad esempio quando dal sensore escono 403 Hz il vento ha una velocità di 29,9868 m/s mentre il rotore con circonferenza di circa 0,39 m sta girando 33,58 volte al secondo alla velocità di 13,08 m/s. In conclusione il vento è 2,33 volte più veloce dell'anemometro.
Ottimo!
EliminaSi tratta di uno strumento professionale, tarato in galleria del vento quindi direi molto affidabile.
Inserirò una nota aggiuntiva nel post.
Grazie per la segnalazione.
Sergio
Ciao,
RispondiEliminasto entrando nel mondo dell'elettronica da poco tempo, vi spiego cosa cerco di fare, il principio dell'idea è lo stesso, ma anzichè fare un anemometro, vorrei leggere la velocità (in metri/ora) di riavvolgimento di un tubo in polietilene, utilizzando un rullo (rivestito con neoprene per garantire più aderenza) che poggia sul tubo e gira mentre rientra, utilizzando un sensore magnetico fissato a pochi millimetri di distanza dal rullo sottostante (diametro rullo 10 cm.) al quale ho applicato 2 magneti (uno diametralmente opposto all'altro), potrebbe funzionare? E se si dovrei inserire condensatore più resistenza per rendere più precisa la lettura?
Grazie e spero di aver rispettato le regole di questo forum, in caso contrario mi scusso anticipatamente).
Ciao. Grazie per il commento. Scusami se rispondo solo ora ma ho passato un periodo molto impegnativo.
EliminaLa tua idea penso possa funzionare, per quanto riguarda condensatore e resistenza sono un rudimentale circuito anti-rimbalzo.
In ogni caso questo non è un forum, ma un blog che ho fatto e gestito personalmente.
I commenti degli utenti sono graditi e se ci sono domande a cui posso rispondere con un poco di pazienza darò risposta.
Cordiali saluti
Carissimo Sergio, grazie per i tuoi utilissimi sketch. Ho utilizzato la sketch dell'anemometro aggiungendogli la scala Beaufort. Non sono riuscito ad allegarti il listato. La schelta si poteva fare anche con un array ma io non ho troppa dimestichezza con il linguaggio.
RispondiEliminaVolevo chiederti una cosa: ho notato che ad anemometro fermo non viene stampato alcunchè. Volevo modificare lo sketch per ottenere un output di velocità = 0 ad anemometro fermo (condizione infatti improbabile) o quasi fermo, ma non ci sono riuscito.
Ciao
Alberto
Scusami ma solo ora leggo questo post, mi dispiace ma non so se potrò lavorare a migliorare il programma.
EliminaNon ho molto tempo libero, vedrò cosa posso fare
Saluti