Sommario:

Un anemometro per la registrazione dei dati autonomo: 11 passaggi (con immagini)
Un anemometro per la registrazione dei dati autonomo: 11 passaggi (con immagini)

Video: Un anemometro per la registrazione dei dati autonomo: 11 passaggi (con immagini)

Video: Un anemometro per la registrazione dei dati autonomo: 11 passaggi (con immagini)
Video: Abuso di potere. 2024, Luglio
Anonim
Un anemometro per la registrazione dei dati autonomo
Un anemometro per la registrazione dei dati autonomo

Amo raccogliere e analizzare i dati. Amo anche costruire gadget elettronici. Un anno fa, quando ho scoperto i prodotti Arduino, ho subito pensato: "Vorrei raccogliere dati ambientali". Era una giornata ventosa a Portland, OR, quindi ho deciso di acquisire i dati del vento. Ho esaminato alcune delle istruzioni per gli anemometri e le ho trovate abbastanza utili, ma avevo bisogno di apportare alcune modifiche tecniche. Innanzitutto, volevo che il dispositivo funzionasse in modo autonomo, all'aperto, per una settimana. In secondo luogo, volevo che fosse in grado di registrare raffiche di vento molto piccole, molti dei progetti qui richiedevano venti piuttosto forti per andare avanti. Infine, volevo registrare i dati. Ho deciso di optare per un design del rotore davvero leggero con la minor inerzia e resistenza possibile. Per ottenere ciò, ho utilizzato tutte le parti in plastica (incluse le barre filettate in vinile), i collegamenti dei cuscinetti a sfera e i sensori ottici. Altri progetti utilizzavano sensori magnetici o veri motori CC, ma entrambi rallentano il rotore, l'ottica utilizza un po' più di potenza ma non offre resistenza meccanica. Il data logger è semplicemente un Atmega328P con un chip flash da 8 Mbit. Ho pensato di passare alla SD, ma volevo mantenere bassi i costi, il consumo energetico e la complessità. Ho scritto un semplice programma che registra i conteggi di rotazione a due byte ogni secondo. Con 8 megabit ho pensato di poter raccogliere circa una settimana di dati. Nel mio progetto originale, ho pensato che avrei avuto bisogno di 4 celle C, ma dopo una settimana erano ancora completamente cariche, quindi devo essere stato spento di un ordine di grandezza nel consumo energetico. Non ho usato regolatori lineari, ho portato tutte le linee di tensione a 6V (anche se alcune parti erano classificate a 3,3V. Yay overdesign!). Per scaricare i dati, avevo un sistema complesso che leggeva il flash e lo scaricava sul monitor seriale arduino, e l'ho tagliato e incollato in Excel. Non ho passato del tempo a cercare di capire come scrivere un'app USB da riga di comando per scaricare il flash su standard, ma a un certo punto avrò bisogno di capirlo. Il risultato è stato piuttosto sorprendente, ho potuto osservare alcune tendenze molto interessanti, che conservo per un altro report. Buona fortuna!

Passaggio 1: costruisci il rotore

Costruisci il rotore
Costruisci il rotore
Costruisci il rotore
Costruisci il rotore

Ho provato una serie di idee diverse per le tazze del rotore: uova di Pasqua, palline da ping pong, bicchieri di plastica e palline vuote per l'ornamento dell'albero di Natale. Ho costruito diversi rotori e li ho testati tutti con un asciugacapelli, che forniva una gamma di velocità del vento. Dei quattro prototipi, le conchiglie ornamentali hanno funzionato meglio. Avevano anche queste piccole linguette che rendevano più facile il fissaggio ed erano fatte di una plastica rigida che funzionava bene con il cemento in policarbonato. Ho provato alcune lunghezze dell'albero diverse, piccole, medie e grandi (da circa 1 "a circa 6") e ho scoperto che le dimensioni più grandi si serravano troppo e non rispondevano bene alle basse velocità del vento, quindi sono andato con le aste di piccole dimensioni. Dato che tutto era di plastica trasparente, ho fatto una piccola stampa utile per aiutare a far scendere le tre lame. Materiali: gli ornamenti provengono dalla Oriental Trading Company, articolo "48/6300 DYO CLEAR ORNAMENT", $ 6 più $ 3 di spedizione. Gli alberi in plastica e il disco strutturale provenivano da un negozio TAP Plastics locale, circa $ 4 in più in parti.

Passaggio 2: costruisci la base superiore

Costruisci la base superiore
Costruisci la base superiore
Costruisci la base superiore
Costruisci la base superiore

Per ridurre l'inerzia rotazionale, ho usato un'asta di nylon filettata di McMaster Karr. Volevo usare i cuscinetti, ma i cuscinetti delle macchine sono confezionati con grasso per il rallentamento del rotore, quindi ho comprato dei cuscinetti per skateboard economici che non ne avevano. Si sono adattati all'interno di un adattatore per tubo da 3/4 "di diametro interno in CPVC. Solo quando ho assemblato la struttura mi sono reso conto che i cuscinetti dei pattini gestiscono il carico planare e stavo applicando un carico verticale, quindi avrei dovuto usare un cuscinetto di spinta, ma hanno funzionato bene e probabilmente hanno aiutato a gestire l'attrito dalla coppia di precessione. Avevo programmato di collegare un sensore ottico alla parte inferiore dell'albero, quindi ho montato l'accoppiamento CPVC in una base più grande. Home Depot è un posto divertente per mescolare e abbinare i raccordi CPVC/PVC. Alla fine sono riuscito a inserire il raccordo filettato CPVC da 3/4 "in un riduttore in PVC da 3/4" a 1-1/2". Ci sono voluti molti tentativi per adattare tutto, ma ha lasciato abbastanza spazio per l'elettronica. Materiali: 98743A235 -- Asta in nylon filettata nera (filettatura 5/16"-18) 94900A030 -- Dadi esagonali in nylon neri (filettatura 5/16"-18) Cuscinetti economici per skateboard Adattatore CPVC filettato da 3/4" da 3/4" a 1 -Riduttore in PVC da 1/2" a tubo filettato da 3/4" Nota: le dimensioni del giunto in PVC e CPVC non sono le stesse, probabilmente per evitare un uso improprio accidentale; quindi lo scambio in un normale adattatore normale da 3/4 "in PVC non funzionerà, tuttavia, i FILETTI di un adattatore filettato sono gli stessi, il che è totalmente strano. L'accoppiamento CPVC si infila nella boccola dell'adattatore in PVC. Adattatore… boccola… accoppiamento… Probabilmente sto confondendo tutti questi termini, ma 15 minuti nel corridoio dell'impianto idraulico di Home Depot ti metteranno in chiaro.

Passaggio 3: interruttore ottico

interruttore ottico
interruttore ottico
interruttore ottico
interruttore ottico

Quando il rotore gira, la sua rotazione viene conteggiata da un interruttore ottico. Ho pensato di utilizzare un disco, ma ciò significava che avrei dovuto collegare la sorgente di illuminazione e il rilevatore verticalmente, il che sarebbe stato molto difficile da assemblare. Invece ho optato per il montaggio orizzontale e ho trovato delle piccole tazze che vanno sul fondo delle sedie per proteggere i pavimenti in legno. Ho dipinto e incollato sei segmenti, che mi avrebbero dato dodici (quasi) bordi uniformi, o 12 tick per giro del rotore. Pensavo di fare di più, ma non avevo molta familiarità con la velocità del rivelatore o il campo visivo delle sue ottiche. Cioè, se sono andato troppo stretto, il LED potrebbe insinuarsi intorno ai bordi e attivare il sensore. Questa è un'altra area di ricerca che non ho perseguito, ma che sarebbe opportuno esplorare. Ho incollato la tazza dipinta a un dado e l'ho fissata all'estremità dell'asta. Materiali: tazza di protezione per le gambe della sedia della vernice Home Depot Black

Passaggio 4: collegare il rotore

Attacca il rotore!
Attacca il rotore!

A questo punto stava iniziando a sembrare piuttosto bello. I dadi in nylon sono davvero scivolosi, quindi ho dovuto usare molti controdadi (nel caso non te ne fossi accorto dalle foto precedenti). Ho anche dovuto realizzare una chiave piatta speciale da inserire nel cappuccio sotto il rotore in modo da poter bloccare entrambi i dadi.

Passaggio 5: costruire la base inferiore

Costruisci la base inferiore
Costruisci la base inferiore
Costruisci la base inferiore
Costruisci la base inferiore

La base inferiore ospita le batterie e fornisce una struttura di supporto. Ho trovato una bella scatola impermeabile online da un'azienda chiamata Polycase. È una custodia davvero liscia che sigilla saldamente e le viti sono più larghe alla base in modo che non cadano facilmente dalla parte superiore. Ho usato un compagno in PVC per la boccola superiore in PVC. Questo compagno di base inferiore è solo un accoppiamento filettato in PVC da 1-1/2 . La pressione della base del rotore superiore si inserisce nella base inferiore tramite questo accoppiamento. Come vedrai più avanti, non ho incollato questi pezzi insieme perché volevo essere in grado di aprirlo e apportare modifiche se necessario, inoltre l'assemblaggio è più semplice quando si collegano i circuiti stampati. Materiali: scatola impermeabile di Polycase, articolo n.

Passaggio 6: costruire il sensore ottico

Costruisci il sensore ottico
Costruisci il sensore ottico

Il meccanismo del sensore è un LED da 940 nm e un ricevitore Schmitt-trigger. Amo amo amo il circuito trigger di Schmitt, si prende cura di tutte le mie esigenze di antirimbalzo e invia un segnale compatibile CMOS/TTL. L'unico lato negativo? Funzionamento a 5V. Sì, ho superato l'intero progetto a 6 V, ma avrei potuto passare a 3,3 V se non fosse stato per questa parte. L'idea è che questo circuito si monta sotto la coppa del rotore, che interrompe il raggio mentre gira, generando transizioni logiche per ogni bordo. Non ho una buona immagine di come è stato montato. Fondamentalmente ho incollato due offset di plastica nell'accoppiamento in PVC della base inferiore e li ho avvitati dall'alto. Ho dovuto levigare i bordi della tavola per adattarla perfettamente. Non ho nemmeno uno schema per questo, è davvero facile: basta eseguire un resistore da 1k da Vin e collegarlo in modo che il LED sia sempre acceso e l'uscita del rilevatore sia sul suo pin. Materiali: 1 LED da 940 nm Resistore 1k 1 sensore OPTEK OPL550 1 presa a tre pin (femmina) 1 circuito stampato da 1,5"x1,5" Varie lunghezze di cavo Guaina termorestringente se si desidera che i cavi siano raggruppati

Passaggio 7: crea il registratore di dati

Costruisci il registratore di dati
Costruisci il registratore di dati
Costruisci il registratore di dati
Costruisci il registratore di dati
Costruisci il registratore di dati
Costruisci il registratore di dati
Costruisci il registratore di dati
Costruisci il registratore di dati

La scheda di prototipazione Arduino era troppo grande per adattarsi allo chassis. Ho usato EagleCAD per stendere un circuito più piccolo e ho perso un singolo strato … ci sono quattro brutti fili di cui avevo bisogno per colmare alcune lacune.

(Pensavo di aver misurato questo a una potenza operativa di ~ 50 mW e, in base ai Watt-ora delle batterie, pensavo che sarei sceso sotto i 5 V in una settimana, ma o la mia misurazione della potenza o i miei calcoli erano sbagliati perché 4 celle C hanno mantenuto andrà avanti per molto tempo.) Layout abbastanza semplice: solo un risonatore, l'ATmega328, un chip flash, un ponticello di debug, un LED di debug, un cappuccio di alimentazione e questo è tutto. C'è qualcosa chiamato DorkBoard che avrei potuto usare anch'io, è praticamente tutto il necessario per una scheda di sviluppo ATMega328 delle dimensioni di un socket DIP. Ho preso in considerazione l'acquisto di uno, ma il mio approccio discreto era circa il 50% più economico. Ecco il link di dorkboard:

Ecco l'idea di base (il codice sorgente sarà incluso in seguito) come funziona la scheda: Jumper impostato in modalità "debug": collegare un interrupt di modifica del valore all'uscita del sensore ottico e far lampeggiare il LED di test all'unisono con il rilevatore. Questo è stato molto utile per il debug. Jumper impostato in modalità "record": collega lo stesso interrupt a un contatore e, nel loop principale, ritarda 1000 msec. Alla fine dei 1000 msec, scrivi il numero di conteggi degli archi su una pagina flash da 256 byte e, quando la pagina è piena, scrivilo e reimposta il conteggio. Semplice, vero? Abbastanza. Mi piacciono molto i dispositivi flash Winbond, progettavo flash back negli anni '90, quindi è stato divertente riprogrammarli. L'interfaccia SPI è brillante. Così semplice da usare. Lascerò che gli schemi e il codice sorgente parlino da soli. Ho già detto che EagleCAD è fantastico? È davvero. Ci sono alcuni fantastici tutorial su YouTube.

Passaggio 8: collegare l'elettronica

Attacca l'elettronica
Attacca l'elettronica

Di nuovo, non ho molte buone immagini qui, ma se immagini due distanziatori di plastica incollati all'interno del PVC, entrambe le schede sono avvitate al suo interno. Ecco un'inquadratura della scheda logger collegata al fondo. La scheda del rivelatore è all'interno dell'alloggiamento.

Passaggio 9: calibrazione

Calibrazione
Calibrazione
Calibrazione
Calibrazione
Calibrazione
Calibrazione
Calibrazione
Calibrazione

Ho realizzato un banco di prova per calibrare la bestia in modo da poter convertire i conteggi dei rotori grezzi in MPH. Sì, è un 2x4. Ho attaccato l'anemometro a un'estremità e un debug Arduio all'altra. Il display LCD ha visualizzato i conteggi del rotore. Il processo è andato così: 1) Trova una lunga strada dritta senza traffico. 2) Tieni il 2x4 in modo che sporga il più lontano possibile dalla finestra 3) Attiva la registrazione vocale sul tuo iPhone o Android 4) Attiva un tachimetro GPS digitale sul tuo dispositivo portatile preferito 5) Guida costantemente a diverse velocità e annuncia al tuo registratore la velocità e il rotore medio contano 6) Non crash 7) ? 8) Più tardi, quando non sei alla guida, ripeti il messaggio del tuo telefono e inserisci i dati in excel e spera che un lineare o un esponenziale o un polinomio combacino con un valore R al quadrato maggiore del 99%. Questa conversione # verrà utilizzata in seguito. Il dispositivo acquisisce solo dati grezzi, l'ho post-elaborato in MPH (o KPH) in Excel. (Ho detto che ho applicato uno strato di vernice verde oliva tosta? L'avrei chiamato "Anemometro tattico per la registrazione dei dati", ma poi mi sono ricordato che "Tactical" significa "nero".)

Passaggio 10: vai a raccogliere alcuni dati sul vento

Vai a raccogliere alcuni dati sul vento!
Vai a raccogliere alcuni dati sul vento!
Vai a raccogliere alcuni dati sul vento!
Vai a raccogliere alcuni dati sul vento!
Vai a raccogliere alcuni dati sul vento!
Vai a raccogliere alcuni dati sul vento!

Questo è praticamente tutto. Penso che manchino alcune immagini, ad es. non mostrate sono le quattro cellule C stipate nella base inferiore. Non riuscivo a montare un supporto a molla, quindi ho finito per saldare i cavi alle batterie stesse. Sto scrivendo questo istruttivo un anno dopo averlo costruito e nella revisione n. 2 ho usato batterie AA perché ho grossolanamente sopravvalutato il consumo di energia. L'uso di AA mi ha permesso di aggiungere un interruttore on-off e ho davvero liberato un po' di spazio all'interno, altrimenti era piuttosto stretto. Nel complesso sono rimasto abbastanza soddisfatto del design. Il grafico seguente mostra i dati medi di una settimana. Le batterie hanno iniziato a scaricarsi il settimo giorno. Avrei potuto migliorare la durata della batteria eseguendo il LED a un ciclo di lavoro inferiore a circa 1kHz e non avrei perso alcuno spigolo a causa della velocità angolare relativamente bassa del rotore.

Divertiti! Fammi sapere se vedi margini di miglioramento!

Passaggio 11: codice sorgente

In allegato è un singolo file sorgente Arduino. L'ho GPL perché, ehi, GPL.

EDIT: vorrei sottolineare che la mia implementazione dell'utilizzo di un ritardo 1s() è una pessima idea e in h La quantità di tempo necessaria per scrivere sul flash e leggere il sensore può sembrare piccola, ma nel corso di 7 -10s si aggiunge a qualche deriva significativa. Utilizzare invece l'interruzione del timer a 1Hz (il timer n. 1 sul 328P può essere calibrato perfettamente a 1Hz). Per sicurezza dovresti codificare in una recinzione nel caso in cui la scrittura della pagina e la lettura del sensore per qualche motivo richiedano più di 1 secondo (gestire i campioni persi), ma un'interruzione del timer è IL modo per fare cose che devono essere, beh, tempo- preciso. Saluti!

Consigliato: