Inhaltsverzeichnis:

Ein eigenständiges Anemometer zur Datenprotokollierung - Gunook
Ein eigenständiges Anemometer zur Datenprotokollierung - Gunook

Video: Ein eigenständiges Anemometer zur Datenprotokollierung - Gunook

Video: Ein eigenständiges Anemometer zur Datenprotokollierung - Gunook
Video: [EN] RWIND Smulation | Freistehende Dächer nach Eurocode 1 im Windkanal (Fall C) 2024, Juli
Anonim
Ein eigenständiges Anemometer mit Datenprotokollierung
Ein eigenständiges Anemometer mit Datenprotokollierung

Ich liebe es, Daten zu sammeln und zu analysieren. Ich liebe es auch, elektronische Geräte zu bauen. Als ich vor einem Jahr die Arduino-Produkte entdeckte, dachte ich sofort: "Ich möchte Umweltdaten sammeln." Es war ein windiger Tag in Portland, OR, also beschloss ich, Winddaten zu erfassen. Ich habe mir einige der instructables für Anemometer angesehen und fand sie sehr nützlich, musste aber einige technische Änderungen vornehmen. Zuerst wollte ich, dass das Gerät eine Woche lang im Freien läuft. Zweitens wollte ich, dass es sehr kleine Windböen aufnehmen kann, einige der Designs hier erforderten ziemlich starke Winde, um in Gang zu kommen. Zuletzt wollte ich die Daten aufzeichnen. Ich entschied mich für ein wirklich leichtes Rotordesign mit so wenig Trägheit und Widerstand wie möglich. Um dies zu erreichen, habe ich alle Kunststoffteile (einschließlich Vinyl-Gewindestangen), Kugellagergestänge und optische Sensoren verwendet. Andere Designs verwendeten Magnetsensoren oder echte Gleichstrommotoren, aber beide verlangsamen den Rotor, die Optik verbraucht etwas mehr Leistung, bietet aber keinen mechanischen Widerstand. Der Datenlogger ist einfach ein Atmega328P mit einem 8-Mbit-Flash-Chip. Ich dachte darüber nach, SD zu verwenden, aber ich wollte die Kosten, den Stromverbrauch und die Komplexität gering halten. Ich habe ein einfaches Programm geschrieben, das jede Sekunde eine Zwei-Byte-Rotationszählung protokolliert. Mit 8 Megabit dachte ich mir, dass ich ungefähr eine Woche Daten sammeln könnte. In meinem ursprünglichen Design dachte ich, dass ich 4 C-Zellen brauche, aber nach einer Woche waren sie immer noch voll aufgeladen, sodass ich beim Stromverbrauch um eine Größenordnung daneben lag. Ich habe keine Linearregler verwendet, ich habe alle Spannungsschienen auf 6 V gefahren (obwohl einige der Teile mit 3,3 V bewertet wurden. Yay Overdesign!). Um die Daten herunterzuladen, hatte ich ein komplexes System, das den Flash las und auf den seriellen Arduino-Monitor übergab, und ich schnitt und fügte ihn in Excel ein. Ich habe keine Zeit damit verbracht, herauszufinden, wie man eine Befehlszeilen-USB-App schreibt, um den Flash auf den Standard zu verschieben, aber irgendwann muss ich das herausfinden. Das Ergebnis war ziemlich überraschend, ich konnte einige sehr interessante Trends beobachten, die ich mir für einen weiteren Bericht aufspare. Viel Glück!

Schritt 1: Bauen Sie den Rotor

Baue den Rotor
Baue den Rotor
Baue den Rotor
Baue den Rotor

Ich habe verschiedene Ideen für die Rotorbecher ausprobiert: Ostereier, Tischtennisbälle, Plastikbecher und leere Christbaumkugeln. Ich baute mehrere Rotoren und testete sie alle mit einem Fön, der eine Reihe von Windgeschwindigkeiten lieferte. Von den vier Prototypen funktionierten die Ornamentschalen am besten. Sie hatten auch diese kleinen Laschen, die das Anbringen erleichterten, und bestanden aus einem starren Kunststoff, der gut mit Polycarbonatzement funktionierte. Ich habe ein paar verschiedene Wellenlängen ausprobiert, klein, mittel und groß (ca. 1" bis ca. 6") und stellte fest, dass die größeren Größen zu stark angezogen wurden und nicht gut auf niedrige Windgeschwindigkeiten reagierten, also habe ich mich für die kleinen Wellen entschieden. Da alles aus durchsichtigem Plastik war, machte ich einen praktischen kleinen Ausdruck, um die drei Klingen zu entzünden. Materialien: Die Ornamente kamen von der Oriental Trading Company, Artikel "48/6300 DYO CLEAR ORNAMENT", $6 plus $3 Versand. Die Kunststoffwellen und die Strukturscheibe kamen von einem lokalen TAP Plastics-Laden, etwa 4 US-Dollar mehr in Teilen.

Schritt 2: Bauen Sie die obere Basis

Baue die obere Basis
Baue die obere Basis
Baue die obere Basis
Baue die obere Basis

Um die Rotationsträgheit zu reduzieren, habe ich eine Gewindestange aus Nylon von McMaster Karr verwendet. Ich wollte Lager verwenden, aber Maschinenlager sind in Rotorverlangsamungsfett verpackt, also kaufte ich einige billige Skateboardlager, die keine hatten. Sie passten einfach in den CPVC-Innendurchmesser 3/4"-Rohradapter. Erst als ich die Struktur zusammenbaute, wurde mir klar, dass Skatelager eine ebene Last bewältigen und ich eine vertikale Last aufbrachte, also hätte ich ein Drucklager verwenden sollen, aber sie haben gut funktioniert und haben wahrscheinlich dazu beigetragen, die Reibung durch das Präzessionsdrehmoment zu bewältigen. Ich hatte vor, einen optischen Sensor an der Unterseite der Welle anzubringen, also montierte ich die CPVC-Kupplung in eine größere Basis. Home Depot ist ein lustiger Ort zum Mischen und Passende CPVC / PVC-Fittings. Letztendlich konnte ich die 3/4 "Gewinde-CPVC-Kupplung in ein PVC 3/4" auf 1-1/2" Reduzierstück stopfen. Es brauchte viel Herumspielen, bis alles passte, aber es ließ genug Platz für die Elektronik. Materialien: 98743A235 -- Schwarze Nylon-Gewindestange (5/16"-18-Gewinde) 94900A030 -- Schwarze Nylon-Sechskantmuttern (5/16"-18-Gewinde) Günstige Skateboardlager 3/4"-Gewinde-CPVC-Adapter 3/4" auf 1 -1/2" PVC-Reduzierstück auf 3/4"-Gewinderohr Hinweis: Die Abmessungen der PVC- und CPVC-Kupplungen sind nicht gleich, wahrscheinlich um einen versehentlichen Missbrauch zu verhindern; Das Einsetzen eines normalen 3/4-Zoll-PVC-Adapters funktioniert also nicht, aber die GEWINDE eines Gewindeadapters sind die gleichen, was völlig seltsam ist. Die CPVC-Kupplung wird in die PVC-Adapterbuchse eingeschraubt. Adapter… Buchse… Kupplung… Ich verwechsele wahrscheinlich all diese Begriffe, aber 15 Minuten im Home Depot-Sanitärgang werden Sie auf den richtigen Weg bringen.

Schritt 3: Optischer Unterbrecher

Optischer Unterbrecher
Optischer Unterbrecher
Optischer Unterbrecher
Optischer Unterbrecher

Wenn sich der Rotor dreht, wird seine Drehung von einem optischen Unterbrecher gezählt. Ich dachte daran, eine Scheibe zu verwenden, aber das bedeutete, dass ich die Beleuchtungsquelle und den Detektor vertikal anbringen musste, was sehr schwierig zu montieren wäre. Stattdessen entschied ich mich für eine horizontale Montage und fand einige kleine Tassen, die auf die Unterseite der Stühle gehen, um Hartholzböden zu schützen. Ich habe sechs Segmente bemalt und abgeklebt, was mir zwölf (fast) gleichmäßige Kanten oder 12 Ticks pro Umdrehung des Rotors ergeben würde. Ich dachte darüber nach, mehr zu tun, war aber mit der Geschwindigkeit des Detektors oder dem Sichtfeld seiner Optik nicht sehr vertraut. Das heißt, wenn ich zu schmal gehe, könnte die LED um die Kanten kriechen und den Sensor aktivieren. Dies ist ein weiterer Forschungsbereich, den ich nicht verfolgt habe, aber es wäre gut, ihn zu erkunden. Ich klebte die lackierte Tasse auf eine Mutter und befestigte sie am Ende der Welle. Materialien: Stuhlbeinschutzschale aus dem Home Depot Schwarze Farbe

Schritt 4: Befestigen Sie den Rotor

Bringen Sie den Rotor an!
Bringen Sie den Rotor an!

An diesem Punkt fing es an, ziemlich cool auszusehen. Die Nylonmuttern sind wirklich rutschig, so dass ich viele Kontermuttern verwenden musste (falls Sie es auf den vorherigen Bildern nicht bemerkt haben). Ich musste auch einen speziellen Flachschlüssel machen, der in die Kappe unter dem Rotor passt, damit ich beide Muttern festziehen konnte.

Schritt 5: Bauen Sie die untere Basis

Baue die untere Basis
Baue die untere Basis
Baue die untere Basis
Baue die untere Basis

Die untere Basis beherbergt die Batterien und bietet eine Stützstruktur. Ich habe online eine ziemlich coole wasserdichte Box von einer Firma namens Polycase gefunden. Es ist ein wirklich glattes Gehäuse, das dicht abschließt, und die Schrauben sind an der Unterseite breiter, damit sie nicht so leicht herausfallen. Ich habe einen PVC-Mate zur oberen PVC-Buchse verwendet. Dieser untere Base Mate ist nur eine 1-1/2" PVC-Kupplung mit Gewinde. Der obere Rotorbasisdruck passt über diese Kupplung in die untere Basis. Wie Sie später sehen werden, habe ich diese Teile nicht zusammengeklebt, weil ich es wollte öffnen und bei Bedarf Anpassungen vornehmen können, außerdem ist die Montage beim Anbringen der Leiterplatten einfacher Materialien: Wasserdichte Box von Polycase, Art.-Nr. WP-23F, $ 12.50 1-1/2" PVC-Gewindekupplung

Schritt 6: Bauen Sie den optischen Sensor

Bauen Sie den optischen Sensor
Bauen Sie den optischen Sensor

Der Sensormechanismus ist eine 940-nm-LED und ein Schmitt-Trigger-Empfänger. Ich liebe liebe liebe die Schmitt-Triggerschaltung, sie kümmert sich um alle meine Entprellungsbedürfnisse und sendet ein CMOS/TTL-kompatibles Signal aus. Der einzige Nachteil? 5V-Betrieb. Ja, ich habe das gesamte Design auf 6 V übersteuert, aber ich hätte auf 3,3 V gehen können, wenn dieser Teil nicht wäre. Die Idee ist, dass diese Schaltung unter der Rotorschale montiert wird, die den Strahl beim Drehen unterbricht und logische Übergänge für jede Kante erzeugt. Ich habe kein gutes Bild von der Montage. In die untere Basis-PVC-Kupplung habe ich grundsätzlich zwei Kunststoff-Offsets eingeklebt und von oben eingeschraubt. Ich musste die Kanten des Bretts abschleifen, damit es ordentlich passt. Ich habe nicht einmal einen Schaltplan dafür, es ist wirklich einfach: Führen Sie einfach einen 1k-Widerstand von Vin aus und verdrahten Sie ihn so, dass die LED immer leuchtet und der Ausgang des Detektors auf seinem Ein-Pin liegt. Materialien: 1 940nm LED 1k Widerstand 1 OPTEK OPL550 Sensor 1 dreipoliger Stecker (weiblich) 1 1,5"x1,5" Platine Verschiedene Kabellängen Schrumpfschlauch, wenn Sie Ihre Kabel gebündelt haben möchten

Schritt 7: Erstellen Sie den Datenlogger

Bauen Sie den Datenlogger
Bauen Sie den Datenlogger
Bauen Sie den Datenlogger
Bauen Sie den Datenlogger
Bauen Sie den Datenlogger
Bauen Sie den Datenlogger
Bauen Sie den Datenlogger
Bauen Sie den Datenlogger

Das Arduino-Prototyping-Board war viel zu groß, um in das Chassis zu passen. Ich habe EagleCAD verwendet, um eine kleinere Leiterplatte zu legen, und habe eine einzelne Schicht verloren … es gibt vier hässliche Drähte, die ich brauchte, um ein paar Lücken zu überbrücken.

(Ich dachte, ich hätte dies bei ~ 50 mW Betriebsleistung gemessen, und basierend auf den Wattstunden der Batterien dachte ich, ich würde in einer Woche unter 5 V fallen, aber entweder meine Leistungsmessung oder meine Mathematik waren falsch, weil 4 C-Zellen erhalten blieben für eine lange Zeit.) Ziemlich einfaches Layout: nur ein Resonator, der ATmega328, ein Flash-Chip, ein Debug-Jumper, eine Debug-LED, eine Netzteilkappe und das war es auch schon. Es gibt etwas namens DorkBoard, das ich auch hätte verwenden können, es ist im Grunde alles, was für ein ATMega328-Entwicklungsboard in der Größe eines DIP-Sockels benötigt wird. Ich überlegte, einen zu kaufen, aber mein diskreter Ansatz war etwa 50% billiger. Hier ist der Dorkboard-Link:

Hier ist die Grundidee (Quellcode wird später hinzugefügt) wie das Board funktioniert: Jumper auf "Debug" -Modus gesetzt: Schließen Sie einen Change-Value-Interrupt an den optischen Sensorausgang an und blinken Sie die Test-LED im Einklang mit dem Detektor. Dies war sehr hilfreich beim Debuggen. Jumper auf "Record"-Modus gesetzt: Den gleichen Interrupt an einen Zähler anhängen und in der Hauptschleife 1000 ms verzögern. Schreiben Sie am Ende der 1000 ms die Anzahl der Flankenzählungen auf eine 256-Byte-Flash-Seite, und wenn die Seite voll ist, schreiben Sie sie aus und setzen Sie den Zähler zurück. Einfach, oder? Ja schon. Ich mag die Winbond-Blitzgeräte sehr, ich habe in den 90ern Flash entworfen, also hat es Spaß gemacht, sie wieder zu programmieren. Die SPI-Schnittstelle ist genial. So einfach zu bedienen. Ich lasse die Schaltpläne und den Quellcode für sich sprechen. Habe ich schon erwähnt, dass EagleCAD großartig ist? Ist es wirklich. Auf YouTube gibt es tolle Tutorials.

Schritt 8: Befestigen Sie die Elektronik

Anbringen der Elektronik
Anbringen der Elektronik

Auch hier habe ich nicht viele gute Bilder, aber wenn man sich zwei Plastik-Abstandshalter vorstellt, die auf die Innenseite des PVCs geklebt sind, sind beide Bretter darin verschraubt. Hier ist eine Aufnahme der Logger-Platine, die mit der Unterseite verbunden ist. Die Detektorplatine befindet sich oben im Gehäuse.

Schritt 9: Kalibrierung

Kalibrierung
Kalibrierung
Kalibrierung
Kalibrierung
Kalibrierung
Kalibrierung
Kalibrierung
Kalibrierung

Ich habe einen Teststand gebaut, um das Biest zu kalibrieren, damit ich rohe Rotorzahlen in MPH umrechnen konnte. Ja, das ist ein 2x4. Ich habe das Anemometer an einem Ende befestigt und ein Debug-Arduio am anderen. Das LCD zeigte die Rotorzählungen an. Der Vorgang ging so: 1) Finden Sie eine lange gerade Straße ohne Verkehr. 2) Halten Sie das 2x4 so, dass es so weit wie möglich aus dem Fenster ragt 3) Schalten Sie die Sprachaufzeichnung auf Ihrem iPhone oder Android ein 4) Schalten Sie einen digitalen GPS-Tachometer auf Ihrem Handheld-Gerät Ihrer Wahl ein 5) Fahren Sie gleichmäßig mit mehreren Geschwindigkeiten und melden Sie sich an zu Ihrem Rekorder die Geschwindigkeit und die durchschnittliche Rotorzahl 6) Don't Crash 7) ? 8) Später, wenn Sie nicht fahren, wiederholen Sie Ihre Telefonnachricht und geben Sie die Daten in Excel ein und hoffen Sie, dass eine lineare oder exponentielle oder polynomielle Anpassung mit einem R-Quadrat-Wert größer als 99% erfolgt. Diese Umrechnungsnummer wird später verwendet. Das Gerät erfasst nur Rohdaten, ich habe sie in Excel zu MPH (oder KPH) nachbearbeitet. (Habe ich erwähnt, dass ich eine knallharte olivfarbene Farbe aufgetragen habe? Ich hätte dies ein "Tactical Data Logging Anemometer" genannt, aber dann erinnerte ich mich, dass "Tactical" "schwarz" bedeutet.)

Schritt 10: Sammeln Sie einige Winddaten

Sammeln Sie einige Winddaten!
Sammeln Sie einige Winddaten!
Sammeln Sie einige Winddaten!
Sammeln Sie einige Winddaten!
Sammeln Sie einige Winddaten!
Sammeln Sie einige Winddaten!

Das wars so ziemlich. Ich glaube es fehlen ein paar Bilder, z. B. nicht gezeigt sind die vier C-Zellen, die in die untere Basis gepfercht sind. Ich konnte keinen federbelasteten Halter anbringen, also lötete ich Kabel zu den Batterien selbst. Ich schreibe dieses anweisbare ein Jahr, nachdem ich es gebaut habe, und in Revision # 2 habe ich AA-Batterien verwendet, weil ich den Stromverbrauch stark überschätzt habe. Mit AA konnte ich einen Ein-Aus-Schalter hinzufügen und wirklich etwas Platz im Inneren freigeben, ansonsten war es ziemlich eng. Alles in allem war ich mit dem Design ziemlich zufrieden. Die folgende Grafik zeigt die gemittelten Daten einer Woche. Am siebten Tag begannen die Batterien zu sterben. Ich hätte die Batterielebensdauer verbessern können, indem ich die LED mit einem niedrigeren Tastverhältnis bei etwa 1 kHz betrieben hätte, und ich hätte aufgrund der vergleichsweise geringen Winkelgeschwindigkeit des Rotors keine Kanten verloren.

Spaß haben! Lassen Sie es mich wissen, wenn Sie Verbesserungspotenzial sehen!

Schritt 11: Quellcode

Angehängt ist eine einzelne Arduino-Quelldatei. Ich habe es unter GPL gesetzt, weil, hey, GPL.

BEARBEITEN: Ich möchte darauf hinweisen, dass meine Implementierung einer 1s-Verzögerung () eine schreckliche Idee ist und in h Die Zeit, die zum Schreiben in den Flash und zum Lesen des Sensors erforderlich ist, mag klein erscheinen, aber im Laufe von 7 -10s summiert sich zu einer erheblichen Drift. Verwenden Sie stattdessen einen 1-Hz-Timer-Interrupt (Timer Nr. 1 auf dem 328P kann perfekt auf 1 Hz kalibriert werden). Um sicher zu gehen, sollten Sie einen Zaun codieren, falls das Schreiben der Seite und das Lesen des Sensors aus irgendeinem Grund länger als 1 Sekunde dauern (verlorene Samples verarbeiten), aber ein Timer-Interrupt ist DER Weg, um Dinge zu tun, die, nun ja, zeit- präzise. Danke schön!

Empfohlen: