PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wetterstation für CCRP5



solo
03.12.2006, 11:31
Im Rahmen einer Projektarbeit möchte ich eine Wetterstation, mit den unten aufgeführten Sensoren, für den Conrad-Roboter CCRP5 realisieren.


Lichtsensor: https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=23901&highlight=
Temperatursensor: https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=15914&highlight=
Feuchtemesser: https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=15953&highlight=
Luftdrucksensor: Motorola
Gassensor : https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=23905&highlight=
Schocksensor: https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=23902&highlight=
Windsensor: https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=23904&highlight=
Niederschlagsmesser: https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=24043&highlight=
Regensensor: Conrad-Bausatz
Geigerzähler: aus Elektor

Alle Sensoren liefern mir entweder eine Spannung oder Frequenz. Die anschließend über einen Microprozessor ausgelesen werden sollen. Da manche Sensoren relativ viel Strom ziehen sollen alle einzeln, ebenfalls über den Microprozessor, abschaltbar sein.
Um die C-Control II nicht gleich komplett mit den Eingängen der verschiedenen Sensoren zu belegen, muss wie oben erwähnt ein eigener Microprozessor dafür sorgen, dass z.B. das Signal (über den emulierten I2C-Bus zur C-Control I https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=15554&highlight= oder) direkt an den I2C-Bus der C-Control II gelangt. Außerdem soll das Wetterboard über USB ebenfalls mit Strom versorgt und an einen Pc angeschlossen werden, damit es unabhängig vom CCRP5 am Computer benutzt werden kann.
Leider kenne ich mich mit Microprozessoren kaum aus und würde gerne wissen was man für einen braucht um das oben beschriebene Problem zu lösen. Kann auch SMD-Variante sein!

Jon
03.12.2006, 11:46
Wie wäre es denn mit einem ATmega? Da gibt es die meisten als DIP, wenn sie größer werden nurnoch als TQPF.
Bei robotikhardware.de gibt es schöne Einsteigerboards. Kannst da ja mal nachschauen.
Die ATmegas haben alle I2C und RS232. Eine verbindung über USB kann man auch ohne Probleme herstellen. Da wird nurnoch ein SMD-IC benötigt ;) (ich hasse SMD-ICs)

Ich hoffe, dass ich dir etwas helfen konnte.

jon

solo
03.12.2006, 17:04
Prozessorgeflüster:

Also z.B. ein ATmega16: http://www.atmel.com/dyn/resources/prod_documents/2466S.pdf
oder ATmega32: http://www.atmel.com/dyn/resources/prod_documents/2503S.pdf

Habe aber auch noch einen Prozessor gefunden der ohne zweiten Baustein USB zur Verfügung stellt: http://www.atmel.com/dyn/resources/prod_documents/6175s.pdf

solo
03.12.2006, 17:23
Hmm.... Rechnet man alle Sensoren der Wettestation zusammen benötigten man folgende Eingänge:

Licht (Strom-Spannungswandler) 1xSpg.
Temperatur 1xSpg.
Luftdruck 1xSpg.
Gassensoren 2xSpg.
Regensensor 1xSpg. bzw. 0/1
Luftfeuchte 1xFreq.
Geigerzähler 1xFreq.? Lautsprecher
Schocksensor 1xSpg.??
Windsensor ?2-Draht-Bus?
Niederschlagsmesser ??

==> min. 8xSpg. 2xFreq. (insgesamt ca. 12 Sensoren)

Jeder Sensor soll an- bzw. ausgeschalten werden können. Eine "dreistufige" LED sollte den Betriebszustand(AN-AUS-STÖRUNG) anzeigen können.
Die gesammelten Infos sollen als I2C und USB Signal zur Verfügung stehen.


WOO, den Controller gibts nicht!! (-;

Artur
03.12.2006, 18:07
...Da manche Sensoren relativ viel Strom ziehen sollen alle einzeln, ebenfalls über den Microprozessor, abschaltbar sein....

Hi,
das geht nicht bei allen Sensoren - einige brauchen eine gewisse Zeit bevor das Ergebniss genau genug ist ( für die Auswertung ) .
Also nicht einfach alles Abschalten .

Dazu kommt - wie oft sollen die Daten gemessen werden 1 x sec / 1 x min oder gar nur 1x am Tag

Gruss
Artur

solo
03.12.2006, 18:29
Gas- und Regensensor sind beheizte Element die sehr viel Strom, vom Akku des Roboters, beziehen und deshalb auf jeden Fall abschaltbar sein müssen. Fast alle anderen Sensoren sind einfache Bauteile wie etwa Fotodioden und Thermowiderstände die im Verhältnis sehr viel weniger Strom "verbrauchen".
Die Messwerterfassung ist ebenfalls unterschiedlich. Temp., Druck, Feucht, Windrichtung und Stärke sowie Lux und Strahlung sind aktuelle Werte und sollten sekündlich überprüft werden. Der Regensensor kann nass sein oder nicht, aslo 0/I.

Jon
03.12.2006, 19:22
Du hast also insgesamt 12 sensoren.
8 Sensoren, die an einen ADC müssen und zwei an einen Frequenzzähler. Zwei Sensoren stehen noch aus.
Schau dir mal den ATMega32 an. Der hat intern 8ADCs und ein paar Frequenzzähler. Und mehr als 12 I/O-Ports, mit denen du die Sensoren ausschalten kannst.
Wenn die ADCs nicht ausreichen sollten kannst du noch einen PCF anschließen. Da würde dir nochmal ein Bauschtein 4ADCs zur Verfügung stellen und du kannst mehrere über den I2C-Bus anschließen.

jon

solo
05.12.2006, 01:29
Also... Hab mir jetzt mal folgende Schaltung aus dem RN-Wissens Bereich nachgesteckt: https://www.roboternetz.de/wissen/index.php/AVR-Einstieg_leicht_gemacht
Ist noch nicht getestet und außerdem bleiben noch ein paar Fragen offen!

Kann ich ein 16Hz Quarz nehmen?
Ist die Pinbelegung des ICs MAX232 CPE wirklich so durcheinander wie auf dem Bild oder ganz normal von 1-8 bzw.9-16?



Eine Verbindung über USB kann man auch ohne Probleme herstellen. Da wird nur noch ein SMD-IC benötigt ;)


Was für ein Baustein ist das? FT??

Jon
05.12.2006, 11:31
Kann ich ein 16Hz Quarz nehmen?
Ob du einen 16Hz (meinst du 16Hz oder 16MHz?) Quarz nehmen kannst weiß ich nicht. der dürfte zu langsam sein. Du brauchst auch erstmal keinen Quarz der ATMEGA hat einen internen 1MHz Quarz.


Ist die Pinbelegung des ICs MAX232 CPE wirklich so durcheinander wie auf dem Bild oder ganz normal von 1-8 bzw.9-16?
Die Pinbelegung ist ganz normal. Schau dir mal dazu das Datenblatt des MAX232s an.




Eine Verbindung über USB kann man auch ohne Probleme herstellen. Da wird nur noch ein SMD-IC benötigt ;)


Was für ein Baustein ist das? FT??
Schau mal bei robotikhardware.de bei den Controllerboards. Da ist bei dem RN-Mega2560 Modul (Fertigmodul mit USB) schon eine USB-Verbindung vorhanden. Im Datenblatt zu dem findest du auch die Schaltung.

jon

solo
07.12.2006, 00:11
Prozessorgeflüster die Zweite:

Diese sogenannten MCU's haben bereits einen integrierten USB-Wandler!

http://www.atmel.com/dyn/resources/prod_documents/doc4136.pdf
http://www.reichelt.de/?SID=15TtNtW9S4AQ8AAA9ByU801eba016969d3ff3540d799d 4155eb7d;ACTION=7;LA=6;OPEN=1;INDEX=0;FILENAME=A30 0%252FAt_89c5131-TISIL.pdf

solo
07.12.2006, 00:22
Hier ein Bild von meinem Versuch mit dem ATmega32 und den bereits getesteten Sensorn.

Jon
07.12.2006, 06:45
Ich kenn den µC zwar nicht, aber er sieht gut aus.
Kannst es ja mal mit dem probieren.

jon

bergowitch
07.12.2006, 17:10
Hallo,
das sieht ja schon super aus. Der Controler sollt ja auch völlig reichen um die Wetterstation aufzubauen.
Die beiden MC´s sind aber keine AVR´s. Was hälst du denn von einem Funkboard in der Wetterstation und einem Funkboard innen, dass mit dem Pcverbunden ist?
Gruß
stefan

Jon
07.12.2006, 18:26
Die beiden MC´s sind aber keine AVR´s.
Stimmt. Hast recht.
Was hat das denn bei der Programmierung für Auswirkungen? Kann ich dann nicht mehr BASCOM verwenden?
Aber wenn es dir mit den SMD-IC nichts ausmacht, empfehlen ich dir so einen FT232 mit einem ATMega32. Der FT232 ist ganz praktisch, ist nur etwas teurer als andere ICs ;)

jon

solo
07.12.2006, 22:24
Gerade bin ich mit Stöbern fertig geworden und habe mir unter anderem ebenfalls den FT232 angeschaut. Hier der Link zum Datenblatt von Reichelt: http://www.reichelt.de/?SID=15TtNtW9S4AQ8AAA9ByU801eba016969d3ff3540d799d 4155eb7d;ACTION=7;LA=6;OPEN=1;INDEX=0;FILENAME=A20 0%252FFT232BL.pdf

solo
13.12.2006, 01:28
Zwei weitere Dinge die mir jetzt noch fehlen sind ein Schaltplan für den FT232 und eine weitere Schaltung für ein LCD. Damit die ausgelesen Sensordaten sowohl auf einem Display dargestellt als auch über USB zum Computer übertragen werden könne.
Eine weiter Frage für die Kommunikation mit dem Pc ist: Wie sag ich meinem Pc was Sache ist? D.h. ich brauch noch einen Treiber für WinXP. Kann ich den mit C++ selber programmieren wenn ja wie??
Außerdem will ich noch ein nettes Fenster auf meinem Monitor haben wo Werte wie Temp., Druck, etc. dargestellt werden. Das kann ich mit C++ programmieren. Hmm.. und die Schnittstelle zwischen Treiber und Programm? Fragen über fragen...

solo
13.12.2006, 01:32
Was hälst du denn von einem Funkboard in der Wetterstation und einem Funkboard innen, dass mit dem Pcverbunden ist?
Gruß
stefan

Wohl unumgänglich wenn ich Wetterdaten von außerhalb messen will.
Hast Du da eine patente Lösung oder ein Tip für mich?

bergowitch
13.12.2006, 06:26
Hallo,
bei www.shop.robotikhardware.de gibt es Funkboards und ein "dickes" Board mit dem AVR Mega128 mit Funk (mit dem ich liebäugle). Wenn ich das richtig sehe haben die allerdings rs232 Schnittstellen. Es sollte aber wenn ich es richtig sehe nicht das große Problem sein diese auf USB zu wandeln?!
Alternativ könntest du die Daten auch auf einer SD Karte sammeln und dann persönlich holen.

Gruß
Stefan

gckoe
13.12.2006, 11:37
Ist ja hochinteressant, ich plane auch gerade eine Wetterstation. Nicht so ausführlich wie dein Projekt, und andere Sensoren.
Mein Plan:
Zwei Controller (wahrscheinlich Mega128Modul von embedit) die miteinander über I2C kommunizieren. Drinnen ein Display, ev. einen Speicher, draussen folgende Sensoren:

SHTxx von Sensirion (www.sensirion.ch) für die Feuchte und die Temperatur.
Motorola Drucksensor
Windrichtung mit Absolutencoder
Windgeschwindigkeit mit Radencoder
ev noch irgend ein Regenmengesensor.

Das ganze sollte bei mir noch erweiterungsfähig sein.

Du solltest ev. noch die Temperaturunterschiede beachten. Wenn du ein Controller draussen hast, kann der darunter leiden. Oder er leidet unter dem Kondenswasser. Bei mir können immerhin Temperaturen unter -20 und +30°C entstehen (Schweiz). Dagegen abhelfen sind meine Ideen bis jetzt: Gehäuse heizen (Greenpeace kommt bereits) oder das ganze (ausser den Sensoren) eingiessen in irgendwas.

greez
gckoe

Jon
13.12.2006, 13:41
Schaltplan für den FT232
Des gibt es hier: http://www.ftdichip.com/Documents/DataSheets/DS_FT232R_v104.pdf


und eine weitere Schaltung für ein LCD.
Schau dir mal das an: https://www.roboternetz.de/wissen/index.php/Bascom_und_LCD%27s

Kann ich den mit C++ selber programmieren wenn ja wie??
Du kannst mit C++ auch ein eigenes Programm machen, dass dir die Sensorwerte ausgibt. Wie das geht weiß ich aber nicht.
Ich kann kein C geschweige denn C++ :(

jon