Archiv verlassen und diese Seite im Standarddesign anzeigen : microcontrollergesteurte Windmessanlage
Hallo,
ich studiere Mechatronik und muss im Zuge meiner Praxisphase eine microcontrollergesteuerte Windmessanlage zur Bestimmung von Windlaststrategien von Bäumen entwerfen.
Die Messstation soll in einem Waldgebiet installiert und von einem AVR ATmega16 Mikrocontroller gesteuert werden und in 10-Minuten-Intervallen Daten abspeichern.
Außerdem muss die Station so weit entwickelt sein, dass die Speicherkapazität und die Versorgungsspannung für mindestens 3 Monate ausreichen soll.
Datum, Uhrzeit und Messergebnisse sollen auf einem LCD-Display für den Benutzer sichtbar gemacht werden.(Ich denke hier wäre ein HD44780 20x4 perfekt).
Zusätzlich zu dieser Aufgabenstellung soll eine Schnittstelle zur späteren Erweiterung eines Funkuhr-Moduls (evtl. DFC 77-Empfangsmodul Funk-Antenne) zur Verfügung stehen.
Ich habe mich bereits lediglich vorerst mit dem Quellcode beschäftigt. Dieser soll jedoch optimiert werden und zwar 1.) Verbesserung der Modularisierung und
2.) Erweiterung durch Fail-Safe.
Leider bin ich auf mich allein gestellt und mir fehlen dazu die Kenntnisse und die Zeit die mir übrig bleibt ist knapp.
Deswegen schreibe ich hier an Euch und hoffe dass Ihr mir helfen könnt.
Ich stehe jederzeit zur Verfügung und freue mich über eine positive Nachricht.
P.S: Ihr könnt auch auf meine E-Mail schreiben falls diese nicht sichtbar sein sollte: GramozGashi@hotmail.com
Gruß
021aet04
17.04.2012, 08:12
Es wäre nicht schlecht zu schreiben in welcher Sprache du programmierst. Leider habe ich keine Zeit um zu helfen.
MfG Hannes
Habe noch ca. 10 Wochen und programmiere mit C auf dem free AVR Studio 4.
Leider hatte ich bis jetzt in meinem Studium nicht sehr viel mit Microcontroller-Programmierung zu tun. Habe in der AVR-Familie schonmal einen ATmega2560 programmiert, dort habe ich eine Ampelsteuerung mit LED's simuliert. Allgemein laufen wir Mechatroniker momentan noch auf sehr dünnem Eis was Programmierkenntnisse angeht.
Doch genau dort ist auch mein Reiz, deswegen habe ich dieses Thema gewählt.
Ich würde natürlich gerne die einfachste und beste Lösung nehmen und ich habe auch grünes Licht frei zu wählen und zu arbeiten jedoch habe ich keine Idee, welche Komponenten dazu ratsam wären.
Die Hauptsache ist, dass das System am Ende zuverlässig funktioniert.
Soweit ich weiß welche Komponenten ich benötige ist meine Universität bereit diese zu finanzieren, solang sie nicht den Rahmen sprengen.
Also der Standpunkt ist soweit der hier:
Also 1. ein ATmega16L wurde empfohlen und ist zum Einsatz geplant.
2. was die Stromversorgung angeht, kam auch die Idee eine Autobatterie einzusetzen, welche alle paar Monate ausgetauscht werden soll (was hält ihr davon ?) || energyHarvesting : Anemometer als Stromgenerator ausnutzen wurde mir geraten ! , was hält ihr davon ?
3. zur Datenverwaltung ist der Quellcode auf eine 2GB SD-Kartenspeicherung konzipiert || externer EEPROM wurde mir geraten ! , was hält ihr davon ?
4. für die Synchronisation ein DCF77-Empfänger
5. ein HD44780 20x4 Character LCD
Ich möchte nochmals betonen, dass all dies noch Neuland für mich ist und ich sehr wenig davon verstehe und bitte euch darum geduldig mit mir zu sein.
Darüberhinaus sollen FailSafe-Zusatzfunktionen integriert werden, wovon ich noch keinerlei Vorstellungen habe. Zuerst jedoch soll das Hauptprogramm in guter Modularisierung ablaufen.
Den Quellcode, der bisjetzt entworfen wurde, kann ich uppen. (Wie am besten ?)
Gruß
xEsG
Also 1. ein ATmega16L wurde empfohlen und ist zum Einsatz geplant.Würde ich dringend von abraten.
Warum sollte man für ein neues Projekt einen veralteten Controller auswählen? Nimm einen aktuellen aus einer der "Familien", z.b. Mega164 oder Mega168. Das hat den großen Vorteil, dass du bei Bedarf auf einen größeren der gleichen Familie wechseln kannst, bei voller Hardware-Kompatibilität. Oder gehe gleich auf Nummer sicher und nehme den größten der Familie, geht ja schließlich nur um ein Einzelstück.
2. was die Stromversorgung angeht, kam auch die Idee eine Autobatterie einzusetzen, welche alle paar Monate ausgetauscht werden soll (was hält ihr davon ?)Es macht nicht allzu viel Sinn, sich darüber den Kopf zu zerbrechen, solange du noch keine Vorstellung davon hast, was die fertige Hardware überhaupt verbrauchen wird, oder?
energyHarvesting : Anemometer als Stromgenerator ausnutzen wurde mir geraten ! , was hält ihr davon ?Wenn das Teil nicht frei dreht, sondern einen Generator treibt, wie soll man dann noch zuverlässig und genau die Windgeschwindigkeit damit messen? Wenn du natürlich nur relativ grobe Angaben über den Wind brauchst, dann mag das gehen.
Aber davon abgesehen: Dein Zeitrahmen ist eng genug. Verschwende deine Zeit nicht mit solchen "Spielereien". Sieh zu, erst mal die Kernfunktionalität zum laufen zu bringen. Wenn dann noch Zeit ist, kannst du über "Verfeinerungen" nachdenken.
BastelWastel
17.04.2012, 14:36
Sofer das 'Waldgebiet' und Jahreszeit es erlauben koennte man auch einen deutlich kleineren Akku verwenden und vllt via Solar laden.
Wenn das ganze auch im Winter betrieben werden soll muss man sich auch Gedanken darueber machen wie sich Akkus in permanenter kaelte verhalten.
Zum speichern der Daten koennte ggf auch ein USB Stick herhalten. Der koennte einfach/schnell gewechselt werden ohne dass man mit dem Laptop in den Wald muss um den EEPROM aus zu lesen.
Peripherie sollte natuerlich nur bei Bedarf zugeschalten werden (Power fuer Display etc..)
Gruss, Andreas
021aet04
18.04.2012, 08:21
Ich würde auch empfehlen zuerst das Grundmodul zu bauen. Wenn alles funktioniert kann man sich immer noch mit Energy Harvesting,... kümmern. Die richtige Akkuwahl ist sehr entscheidend, da, wie schon geschrieben, die Akkus Temparaturempfindlich sind. Speichersystem kann man entweder USB-Stick bzw Speicherkarte nutzen. Ist leicht zu beschaffen und kann man einfach mit dem PC auslesen (sofern das Dateisystem passt). Wenn man EEPROM nutzt könnte man sich mehrere Module bauen damit man ein Modul in der Messanlage hat. Beim Auslesen tauscht man das Modul und nimmt das Modul mit den Daten mit. Ist aber aufwändiger (man muss EEPROM Module bauen, Schwieriger auszulesen da man ein eigenes Gerät braucht,...). Am Besten ist es einen USB-Stick/Speicherkarte mit FAT Dateisystem zu nutzen. Achte aber Darauf das du keine Feuchtigkeit in das Gerät bekommst (über Stecker). Wie schon beschrieben kannst du das Display bzw deren Beleuchtung abschalten. so kommst du länger mit der Akkukapazität aus.
Ich versuche schon einige Zeit ein SMPS zu bauen das aus einer Solarzelle (bis 2V) eine Spannung von 5V macht. Auch bei wenig Licht. Deswegen würde ich zuerst raten die Grundfunktionen zum Laufen zu bringen.
Um weiter Energie zu sparen kannst du einen RTC nutzen und den µC in den Sleepmode versetzen. Der RTC weckt den µC alle z.B. 10 Minuten auf. Der µC liest die Sensoren aus und geht wieder "schlafen". Damit du die Daten am Display lesen kannst baust du einen Schalter/Taster ein damit du ihn händisch aufwecken kannst.
Im DB zum Atmega 48/88/168 (http://www.atmel.com/Images/doc2545.pdf) steht z.B. im Sleepmode Ströme nur im µA Bereich.
MfG Hannes
Hallo Roboternetz,
nochmals vielen Dank. Hätte nie gedacht dass soviel zurückkommt. Ich weiß das wirklich zu schätzen.
Habe mir das Ganze durchgelesen und mir Gedanken darüber gemacht.
Ich uppe jetzt erst einmal das Prog.
Habe auch Hilfestellung in einem anderen Forum gesucht und jetzt weiß ich nicht wie ich mich am besten entscheiden soll. Schließlich muss ich ja die Hardware besorgen (Bestellzeiten ?) und irgendwie zusammenbekommen damit ich schonmal simulieren bzw. testen kann.
Erst einmal besorge ich mir schleunigst das AVRISPmk2-Original. Zweitens: welches AVR Starterkit wäre hier zu empfehlen ? STK500 ?
Als 1. zu den Mikrocontrollern: Mega164, Mega 168, Mega32 oder Mega644 (bzw. alle genannten als L-Version) ?
2. fest steht denke ich, dass ich als Dateiverwaltung die SD-Kartenspeicherung mit FAT-Dateisystem nutzen kann, da das Programm schon dafür konzipiert ist oder wäre der Aufwand zu groß um auf EEPROM umzudesignen ?
3. RTC um nach dem Aufwecken direkt die richtige Uhrzeit ohne Synchronisation ?
4. für die Synchronisation ein DCF77-Empfänger ?
5. ein HD44780 20x4 Character LCD ?
6. lediglich für die Stromversorgung mache ich mir sorgen:
1.) Solartechnik: Im Wald und in Deutschland ? ich weiß nicht so richtig.
2.) was spricht gegen eine Autobatterie, welche alle paar Monate ausgewechselt werden müsste bzw. könnte man diese ,falls man sich dafür entscheidet und nachdem man die Grundfunktion erfüllt, mittels energyHarvesting mit einem zweiten Anemometer wieder aufladen. Was würde ich dafür an Hardware benötigen und wieviel Aufwand wäre dies?
3.) Welche Alternativen gäbe es noch: Große Akkus (Kostenspielig) ?....
7. nicht zu vergessen: SD-Speicherkartenplatine, Schaltregler ?, Spannungsregler ?, Quarzoszillator ?, Umschalter für Display um Energie zu sparen ?,
Um das FailSafe genauso wie um das energyHarvesting sollte ich mich am Besten nachdem das Grundprogramm mit der am Ende auserwählten Hardware funktioniert kümmern oder ? Danach kann ich ja noch das System durch Add-Ons erweitern.
Gruß
eXsG
Besserwessi
18.04.2012, 19:01
Hier steht noch nicht, was für ein Sensor genutzt werden soll. Es kann gut sein, dass der Sensor, vor allem die Windrichtung der größte Stromverbraucher wird. Danach richtet sich auch die Spannung, die man benötigt - wegen der SD Karte würden sich etwa 3 V anbieten. Eine SD Karte als Speichermedium ist schon gut. Mit Fat Filesystem braucht man dann aber einen µC mit genügend RAM - der Mega168 oder ähnlich könnte da schon knapp sein. Die Wahl ist aber eher einer der letzten Punkte, wenn die SW fertig ist.
Das Display wird man ggf. nur auf Knopfdruck aktivieren - meistens wird ja keiner da sein.
Für einen sparsamen Betrieb passt eher ein niedriger Takt, ggf. auch nur ein 32 kHz Quarz, oder der interne RC takt (1 MHz oder 128 kHz) und dazu eine externe RTC.
Wenn man den Stromverbrauch kennt, kann man sich über die Stromversorgung Gedanken machen. Wenn man es einigermaßen Sparsam macht, könnte man im Bereich unter 200 µA landen. Eine 2 Ah Batterie (z.B. AA Alkaline) könnte damit für 10000 oder über 1 Jahr reichen.
Sinnvoll wären da z.B. 2 oder 3 Alkaline Zellen (z.B. AA oder ggf. auch C), ggf. ein Lithium Ionen Akku mit Solarzellen als Nachhilfe zum nachladen. Bei wenig Strom sind Primärzellen keine so schlechte Lösung - auch Akkus haben eine begrenzte Lebensdauer und für nur 2 oder 3 Ladezyklen braucht man keine teuren Akkus. Blei-Akkus sind eher ungeeignet, schon wegen der Selbstentladung - bestenfalls noch als Gewicht wären die Brauchbar.
Hallo,
Als Sensor könnte man denke ich sowas hier einsetzen: http://www.wilmers.com/download/0293_de.pdf (siehe Stromverbrauch: 3mA bei 5 V, unbelastet) !
Auf dieser Homepage sind auch andere Anemometer zu sehen, welche präziser und mit noch weniger Stromverbrauch arbeiten.
Hallo,
Als Entwicklungsumgebung sollte eine Lochrasterplatine reichen. Die SD-Karte soll am besten rausnehmbar sein und ausgetauscht werden können.
Ich denke aufgrund der Pin-Anzahl und des Flash und RAM ist der am besten geeignet oder : ATMega 644p-20PU (ist das der sparsamere?) aber wieviele Mikrocontroller bräuchte ich für die Schaltung ?
Also ich hab recherchiert und kann bis jetzt auf diese Module zurückgreifen und möchte gerne die Hardware zusammenstellen.
Auf meiner Einkaufsliste könnt ihr mir bitte bestätigen oder Einwende erbringen:
1.) 1x das AVRISPmk2-Original
2.) 1x DCF77-Empfänger
3.) wieviele Mikrocontroller ?
4.) für die Mikrocontroller benötige ich doch pro Mikrocontroller eine Fassung/Sockel für die Platine oder ?
5.) 1x SD-Speicherkartenplatine mit Spannungsregler (habe hier so etwas gefunden: D-P001 auf http://www.display3000.de/) ?
6.) 1x RTC (den DS1307 ?)
7.) 1x HD44780 20x4 LCD Charakter
8.) 1x Lochrasterplatine: reicht eine 50x100 oder größer ?
9.) was ist mit einem Quarzoszillator ?
10.) was ist mit Spannungs- und Schaltreglern ?
11.) was ist mit Schaltern ? Das Display zum Beispiel möchte ich ja nicht die ganze Zeit anhaben.
12.) Anschlussklemmen etc... ?
Wie würde denn jetzt die Stromversorgung aussehen können nachdem diese Module, falls sie jetzt alle aufgelistet sind und nichts fehlt, aussehen ? Ich würde natürlich sehr gerne auf sowas wie eine Autobatterie verzichten.
Wäre diese Hardwarekonfiguration sparsam genug um AA-Alkaline-Zellen oder ggf. ein Lithium Ionen-Akku mit der bereits erwähnten Idee einen zweiten Propeller zur Stromerzeugung zu verknüpfen einzusetzen ?
P.S: Habt ihr euch mal den Quellcode angeschaut ? Wenn ja, was könnt ihr dazu sagen ?
Gruß
eXsG
BastelWastel
19.04.2012, 14:07
So wie ich das sehe ist die "D-P001" nur eine Adapterplatine ohne 'Hirn' darauf... sprich du solltest den Resourcen fuer ein AVRDOS mit einplanen bei deiner uC Wahl.
Gruss, Andreas
021aet04
20.04.2012, 12:09
Die Liste passt eigentlich so.
µC brauchst du eigentlich nur einen (wenn dieser genug Leistung hat für Dos,...)
Fassung nicht zwingend aber von Vorteil (sollte etwas sein kann man leicht tauschen bzw neu programmieren,...)
zum D-P001 kann ich leider nichts sagen
bei der Platine ist es besser zuviel zu haben als zu wenig (wobei man auch noch nachkaufen könnte)
Quarz brauchst du nicht da der µC einen Taktgenerator eingebaut hat (interner RC Taktgenerator)
Schaltwandler würde ich vorziehen (wegen der Effizienz, außer du willst auch noch eine Heizung für den Winter:-)), bei ELV gibt es den SBC300 (http://www.elv.at/output/controller.aspx?cid=74&detail=10&detail2=28772&flv=1&bereich=&marke=), der kostet nicht viel und wandelt Spannungen von 0,3V bis 5V auf 5V (Anlaufspannnung 0,5V), dadurch kannst du die Batterien bis aufs Letzte "aussaugen"
Schalter brauchst du eigentlich keinen. Ich würde aber einen für die Versorgung einbauen (Akku/Batterie von der Schltung trennen). Ansonsten würde ich nur Taster oder einen Inkrementalgeber einbauen, mit dem du die Einstellungen änderst. Beim Display würde ich die Beleuchtung mit dem µC abschaltbar machen (über Transistor oder besser Fet). Sobald am Einbabefeld (Taster, Drehgeber,...) eine Änderung erkannt wurde kannst du das Display einschalten. Eventuell Helligkeitsgesteuert (mit Umgebungshelligkeit), das ist aber eine Spielerei.
Anschlussklemmen verwende ich eigentlich nur diese Schraubklemmen (https://www.distrelec.at/ishopWebFront/search/luceneSearch.do;jsessionid=B6A16F1E7EE0474848F962A 3A4A1427A.daechj010u?dispatch=find&keywordPhrase=141237) (bzw mit anderer Pinzahl), wobei diese ein RM von 5mm besitzen. Ich würde auf jeten Fall Klemmen benutzen, zumindest zu Bauggruppen die man entfernen kann (Anemometer wenn diese nicht direkt an der Anzeigeeinheit sitzt, Akku,....), einzelne Modulbaugruppen (z.B. Display) würde ich mit Stiftleisten/buchsen mit dem Mainboard verbinden, wenn diese nicht fix am MB montiert ist. Ich würde aber die gesamte Schaltung in Module aufbauen (z.B. Schaltregler, Mainboard, Display, Tastatur,...). Somit kann man einzelne Module im Fehlerfall einfach tauschen bzw zum Testen entfernen.
Das Programm habe ich noch nicht angeschaut. Werde ich bei Gelegenheit machen. Wobei ich noch nie mit AVR-Dos, Fat, o.Ä. gearbeitet habe.
MfG Hannes
(https://www.distrelec.at/ishopWebFront/search/luceneSearch.do;jsessionid=B6A16F1E7EE0474848F962A 3A4A1427A.daechj010u?dispatch=find&keywordPhrase=141237)
Hallo,
danke nochmal für eure Beiträge. Ihr wart mir sehr hilfreich.
also ich glaube ich hab da was falsch vermittelt.
1.)Der Windmesser misst nich nur alle 10 Minuten sondern die ganze Zeit.
Es sollen jedoch die aufgenommenen Werte gemittelt werden und alle 10 Minuten als Mittelwert gespeichert werden.
Tut mir leid für dieses Missverständnis an dieser Stelle.
2.)Nach persönlicher Absprache mit einem Fachmann kam außerdem das RTC-Modul zu Wort. Demnach wäre ein viel zu hoher Zeit-Drift nach monatelanger Aufzeichnung das Resultat, ich solle deshalb auf dieses Modul verzichten. Das Programm, das ich geuppt habe, also die darin enthaltende Softwareuhr, wäre genauer und somit ausreichend.
3.Desweiteren stellte sich heraus, dass der interne Oszillator des Microcontrollers nicht ausreicht und ich einen externen Quarz-Oszillator (4 MHz) benötige.
(Damit wär nicht einmal eine Daten-Kommunikation mit UART möglich, sagte man mir.)
4.)Die Frage, wieviele Mikrocontrollern denn zum Einsatz kämen ist mir jedoch noch offen. Man könnte mit einem Microcontroller zwar die Messung durchführen aber wie ist es denn wenn der Abspeichervorgang des Mittelwertes alle 10 Minuten auftritt und zur gleichen Zeit trotzdem gemessen werden soll ? Mit der Zeit wird die Datei, in der die Werte auf der SD-Karte abgespeichert werden soll immer größer und der Open-Close-Prozess für den Mikrocontroller somit immer zeitaufwändiger oder ?
Ich denke ich wäre somit mit zwei Mikrocontrollern auf der sicheren Seite.
LCD, DCF77 und SD zum Beispiel an Slave und der Anemometer an Master ?
Bitte beachtet dass das System so konzipiert werden soll, dass es mindestens 3 Monate, im besten Fall jedoch 6 Monate wartungsfrei und sicher arbeiten soll.
Der Stromverbrauch geht somit prioritätshalber an zweiter Stelle.
Was habt IHR für Einwände ?
Den Schaltplan-Entwurf mit Eagle werde ich morgen anfangen und so schnell wie möglich uppen .
P.S: Kann jemand schon was zum Quellcode sagen oder soll ich den woanders uppen ?
Gruß
eXsG
Besserwessi
23.04.2012, 20:08
Die eine Frage die Noch offen ist, ist ob auch noch die Windrichtung gemessen werden soll. Der Sensor hätte dann auch noch mal einen Stromverbrauch.
Durch den Sensor hat man schon mal einen Stromverbrauch von rund 3 mA. Für den µC, LCD ohne Licht und Spannungsregler usw. muss man wohl mit etwa 2 mA rechnen - weniger wäre wohl möglich, aber bei schon 3 mA für den Sensor nicht so wesentlich. Wenn die 5 mA direkt aus einer Batterie (Wohl 6 V und dann Spannungsregler dazu, ob low Drop oder Schaltregler macht da nicht viel Unterschied) versorgen will, bräuchte man etwa 11 Ah für 3 Monate. Das ginge ggf. noch gerade so, ist aber schon recht groß. Möglich wären da z.B. 2 oder 3 Batterieblöcke wie sie für Baustellenschilder benutzt werden, oder so etwa wie 8 Zellen Typ D.
Als Regenerierbare Stromquelle käme wohl als ehesten Eine Solarzelle in Frage. Bei 5 mA Stromverbrauch im Mittel müßte die Solarzelle für die Vielleicht 4 Stunden mit einigermaßen viel Licht schon etwa 30 mA (bei gut 6 V), oder 180 mW liefern. Ein Akku für ein paar Tage wäre nicht übermäßig groß. Wenn man volle Sonne hätte wären das nur etwa 20 cm². Im Wald hat man eher 1-10% davon an Licht und bräuchte dann ein Modul für vielleicht nominal 20 W. Den genauen Wert sollte man aber nochmal nachmessen. Das wäre durchaus noch machbar, aber auch schon relativ groß. Ein Problem wäre aber ggf. der Winter mit Schnee, wenn man dann für einige Wochen keinen Strom nach bekommt.
Die Suche nach einem Sensor mit weniger Stromverbrauch wäre ggf. schon sinnvoll. Es würde die Sache auch vereinfachen, wenn alles mit 3,3 V laufen könnte. Für den µC und das LCD sollten weniger als 0,5 mA reichen, wenn es sein soll.
Es reicht auch 1 µC für die ganzen Aufgaben. Sofern man die Uhrzeit tatsächlich direkt vom µC takt ableitet, macht die meiste Arbeit die Hardware. Die Messung der Windgeschwindigkeit muss man auch nicht so oft machen, denn der Sensor hat schon eine mechanische Trägheit. Beide Aufgaben kann man auch ganz in Interrupts verlegen, also unabhängig davon was der µC sonst noch so zu tun hat. Trotz allem kann der µC die meiste Zeit vermutlich noch im Stromsparmodus zubringen, selbst mit nur 1 MHz Takt. Die externen Echtzeituhren sind von der Genauigkeit eher besser als ein einfacher 1 oder 4 MHz Quarz am µC
Hallo,
ich möchte gestehen, dass ich Crosposting bezüglich meiner Problemstellung führe.
Ich habe nicht nachgedacht und die Nachteile eines solchen Fehlverhaltens sind mir erst jetzt bewusst.
Deshalb möchte ich mich bei Euch entschuldigen und hoffe dass Ihr mir verzeiht.
Die Entwicklung meiner Problemstellung findet Ihr ebenfalls in einem anderen Forum unter diesem Link:
http://www.avr-praxis.de/forum/showthread.php?2343-microcontrollergesteurte-Windmessanlage
Gruß
eXsG
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.