Forum: Mikrocontroller und Digitale Elektronik Temperatur Datenlogger


von Alex B. (alex96)


Lesenswert?

Hallo,

ich habe vor einen Wetterballon an dem eine Kapsel mit zwei Kameras und 
einem GPS Tracker befestigt ist, in eine Höhe von etwa 30Km steigen zu 
lassen.
Dabei würde ich gerne sowohl die Innen als auch die Außentemperatur in 
10 Minuten Intervallen mit einem ATMega 32 aufzeichnen und dann später 
über RS232 auslesen.
Da ich mich erst seit etwa einem Monat mit Mikrocontrollern beschäftige, 
müsst ihr verstehen, dass ich manche Sachen vielleicht nicht ganz 
verstehe.

Mit freundlichen Grüßen Alex B.

von Thomas (Gast)


Lesenswert?

Der ATmega32 wird sich da etwas langweilen, aber egal. Für die 
Datenspeicherung ist es gut, zunächst den Gesamtspeicherbedarf 
abzuschätzen, wobei ein Abtastintervall von 10 min arg groß ist.
Als Speichermedium gibt es verschiedene Möglichkeiten:
 - internes EEPROM vom ATmega
 - externes EEPROM über I2C oder SPI
 - SD-Card (Vorteil - Auslesbar über jeden PC)

von Karl (Gast)


Lesenswert?

Hallo Alex,

auch wenn ich bei dem Ballon passen muss... Alles weitere erscheint mir 
nicht so problematisch. Man kann sogar alles auf eine SD-Karte schreiben 
und die Ausleseprozedur über RS232 bleibt Dir erspart.

Stellt sich für mich noch die Frage, ob das aufgrund der Temperatur und 
des Drucks in 30 km Höhe noch zuverlässig funktioniert.

Alex B. schrieb:
> Da ich mich erst seit etwa einem Monat mit Mikrocontrollern beschäftige,
> müsst ihr verstehen, dass ich manche Sachen vielleicht nicht ganz
> verstehe.

Das steht, ehrlich gesagt, noch ein wenig zwischen Planung und 
Umsetzung. Versuch doch erst einmal, nur die Temperatur in Deinem 
Wohnzimmer über einen Tag lang aufzuzeichnen und auf SD-Karte zu 
schreiben. Danach geht es dann Schritt für Schritt......

von Alex B. (alex96)


Lesenswert?

Hallo

Das mit der SD Karte klingt ziemlich gut.
Allerdings weis ich nicht wirklich wie ich das Programm ansich aufbauen 
muss.
Dabei bräuchte ich aufjeden fall Hilfe.
Kennt jemand von euch vielleicht eine Seite wo ein ähnliches Projekt 
durchgeführt wurde um den Grundaufbau eines solchen Programms zu 
verstehen?
Das mit Druck und Temperatur ist eigendlich kein Problem, weil die Box 
in der alles ist so konstruiert wurde, dass auch die Kameras die 
Bedingungen Überleben.


Mit freundlichen Grüßen Alex B.

von Ingo W. (Gast)


Lesenswert?

Hier könntest Du dir ein paar Anregungen holen:
Beitrag "Datenrekorder auf SD-Karte mit mega88"
mfG ingo

von Rainer W. (rawi)


Lesenswert?

Zur Handhabung der SD-Card hat Daniel eine tolle Bibliothek geschrieben
Beitrag "MMC SD library FAT16 FAT32 read write"

Gegen die Kälte in 30 km Höhe hilft gute Isolation und die 
Verlustleistung der Elektronik. Ein erster Test wäre schon mal im 
Gefrierschrank, aber da fehlen dann natürlich noch ein paar 10°.

von Jo (Gast)


Lesenswert?

Alex B. schrieb:
> Da ich mich erst seit etwa einem Monat mit Mikrocontrollern beschäftige,
> müsst ihr verstehen, dass ich manche Sachen vielleicht nicht ganz
> verstehe.
>
Hi Alex,
ja, das verstehen wir gut.
Dieses Forum ist voll von Projekten dieser Art, sogar mit Gps. Weso hast 
Du noch nichts passendes gefunden, wenn Du Dich schon seit 4 Wochen mit 
Mikrocontrollern beschäftigst?
Welcher Art ist Deine Beschäftigung mit Mikrocontrollern?
Welche Programmkersprachen kannst Du schon?

Berichte uns von Deinen Fortschritten.

Jo

von Bastler (Gast)


Lesenswert?

Mal kurz eine andere Frage zum Ballon. Wie fundest due das ding den 
wieder? Ohne Funk kann dies glaub ich ziemlich schwierig werden. Und 
dann giebt ja noch Läute die dan soetwas auch einfach als Müll 
betrachten und dann wegwerfen anstatt die Adresse zu lesen. Ist mal 
einem ehemaligen Bekannten passiert geortet wurde das ding dan in einer 
solchen Tonne.

von Jo (Gast)


Lesenswert?

Rainer W. schrieb:
> Re: Temperatur Datenlogger
> Zur Handhabung der SD-Card hat Daniel eine tolle Bibliothek geschrieben
> Beitrag "MMC SD library FAT16 FAT32 read write"
>
> Gegen die Kälte in 30 km Höhe hilft gute Isolation und die
> Verlustleistung der Elektronik. Ein erster Test wäre schon mal im
> Gefrierschrank, aber da fehlen dann natürlich noch ein paar 10°.

Eine SD Karte finde ich für ein Einsteigerprojekt etwas heavy, mal 
abgesehen das das völliger overkill für die geplante Anwendung ist. Bei 
10min Messintervallen reicht wahrscheinlich schon das interne eeprom, 
das kann sogar ganz ohne serielle Schnittstelle per Programmer 
ausgelesen werden. Außerdem spart das Probleme mit  Fassungen, 
Erschütterungen, Wackelkontakten und vor allem mit der Einbindung von 
komplexen Libraries. Vom Testaufwand mal ganz abgesehen.

Grüße,
Jo

von Alex B. (alex96)


Lesenswert?

Die Box wird mit einem GPS Tracker der seine Position per sms sendet 
geortet.
Meine Programmierkenntnisse beschränken sich bisher nur auf Ein und 
Ausgänge verwalten und ein paar Bedingungen mit Variabelen.
Ich kann bisher nur in Bascom programmieren.

Der Link den Ingo Wendler geschrieben hat ist so in etwa das was ich 
suche.

Mit freundlichen Grüßen Alex B.

von Rainer W. (rawi)


Lesenswert?

Jo schrieb:
> Eine SD Karte finde ich für ein Einsteigerprojekt etwas heavy, mal
> abgesehen das das völliger overkill für die geplante Anwendung ist. Bei
> 10min Messintervallen reicht wahrscheinlich schon das interne eeprom

Ich sehe eher das 10 min Meßintervall als arg dürftig. Bei vielleicht 2 
m/s Steigrate kommt man damit nichtmal auf 1 km Vertikalauflösung. Wenn 
man also vielleicht einen Faktor 10 besser auflösen möchten und außer 
der Temperatur vielleicht auch noch Position und Luftdruck speichern 
möchte, kann das mit dem internen EEPROM schon ein bisschen knapp 
werden. Insofern ist externes EEPROM vielleich ganz gut skalierbar und 
auch bei einigen Stunden Flugdauer noch ausreichend. SD-Card ist 
natürlich schon heavy, aber das Einbinden und passende Konfigurieren der 
Lib ist so wild dann auch nicht. Auch ins EEPROM müssen die Daten 
irgendwie reinkommen. Zusätzlich braucht man eine Wiedergabefunktion, 
die bei SD-Card wegen PC-Kompatibilität entfallen kann.

von Kümmelkorn H. (mrcrabs_muh)


Lesenswert?

Viel spass beim wiederfinden, haben wir auch mal probiert mit gps und 
anderen ortungssachen und windkalkulation und wir ham das dingen net 
mehr gefunden, aber du muss bei sd aufpassen, dass die auch bei 
minusgraden noch kontakt hat und kondenswasser!!!
coole idee, aber is echt mehr arbeit als du denkst, hab ich auch 
unterschätzt

von Alex B. (alex96)


Lesenswert?

Also wenn ich die Daten auf einer SD Karte speichern kann dann wär es ja 
auch möglich kürzere Intervalle zu wählen.
Ich hab mir den link von Ingo Wendler jetzt mal ganz durchgelesen und 
von den Funktionen und der Bedienung passt es eigendlich.
Nur welche Programmiersprache wurde da verwendet?
Und so wie ich da verstanden habe speichert das nicht automatisch 
sondern nur bei Tasten Druck.

Mit freundlichen Grüßen Alex B.

von Olaf (Gast)


Lesenswert?

> Mal kurz eine andere Frage zum Ballon. Wie fundest due das ding den
> wieder?

Interessanter finde ich ja schon die Frage wie man dafuer sorgt das man 
selber nicht gefunden wird wenn das Dingen ein Dach, ein Auto oder einen 
Kopf durchschlaegt wenn es wieder runterkommt.

Olaf

von Karl (Gast)


Lesenswert?

Jo schrieb:
> Eine SD Karte finde ich für ein Einsteigerprojekt etwas heavy, mal
> abgesehen das das völliger overkill für die geplante Anwendung ist.

Das führt wieder zu der Frage mit den Programmierkenntnissen. Mit Bascom 
sind das 5 bis 10 Zeilen Code. Mit dem Arduino nicht viel mehr:

http://arduino.cc/en/Tutorial/Datalogger

von Jo (Gast)


Lesenswert?

Rainer W. schrieb:
> Ich sehe eher das 10 min Meßintervall als arg dürftig. Bei vielleicht 2
> m/s Steigrate kommt man damit nichtmal auf 1 km Vertikalauflösung. Wenn
> man also vielleicht einen Faktor 10 besser auflösen möchten und außer
> der Temperatur vielleicht auch noch Position und Luftdruck speichern
> möchte, kann das mit dem internen EEPROM schon ein bisschen knapp
> werden. ...

Na ja, wenn Du die Kriterien neu definiert, braucht es auch andere 
Lösungen.

Für Innentemp, Außentemp und Nummer der Messung braucht es nur 4 Byte 
ohne Tricks. (Wenn man nicht gerade 1/10 Grad messen will...)
Das ist halt der geringste Programmieraufwand für einen Anfänger.

Ach ja, wegen der Auswertbarkeit: es ist bestimmt nicht schwerer ein 
print aif die serielle Schnittstelle zu machen als auf eine SD Karte... 
Nur eie Terminalemulation muss noch gestartet sein.

Hier noch ein Link zur Ansteuerung eines externen eeproms unter Bascom, 
falls doch öfter gemessen werden soll...
http://www.avr-praxis.de/forum/showthread.php?48-Internes-EEPROM-und-externes-EEPROM-24C512-mit-ATmega128-unter-BASCOM-AVR

Jo

von Rainer W. (rawi)


Lesenswert?

Jo schrieb:
> Na ja, wenn Du die Kriterien neu definiert, braucht es auch andere
> Lösungen.

Der Appetit kommt bekanntlich beim Essen ;-)

Die SD-Card wäre dann deutlich zukunftorientierter. Die Zuverlässigkeit 
der Kontakte sollte man allerdings im Auge behalten.

von Alex B. (alex96)


Lesenswert?

> Interessanter finde ich ja schon die Frage wie man dafuer sorgt das man
> selber nicht gefunden wird wenn das Dingen ein Dach, ein Auto oder einen
> Kopf durchschlaegt wenn es wieder runterkommt.
>
> Olaf

dafür hängt ein Fallschirm mit dran :)

>Das führt wieder zu der Frage mit den Programmierkenntnissen. Mit Bascom
>sind das 5 bis 10 Zeilen Code. Mit dem Arduino nicht viel mehr:

das schreiben in den Speicher oder das ganze Programm?

Das Programm hätte ich jetzt so aufgebaut, dass in bestimmten 
Intervallen der Wert des Sensor in eine Variabele geschrieben wird und 
dann wird die Variabele auf die SD Karte/EEPROM geschrieben, ohne den 
vorherigen Wert zu überschreiben.
Würde der Grundaufbau des Programms so klappen?

und was soll ich für einen Sensor nehmen?

Mit freundlichen Grüßen Alex B.

von Thomas (Gast)


Lesenswert?

Rainer W. schrieb:
> Der Appetit kommt bekanntlich beim Essen ;-)

Zu Anfang muß man es ja nicht übertreiben. In einem fest eingelöteten 
1024kbit EEPROM (z.B. 24LC1025 über I²C oder 25LC1024 über SPI) ließen 
sich auch schon recht komfortable 8192 Datensätze zu 16 Byte 
unterbringen.

von Alex B. (alex96)


Lesenswert?

Kann ich mit dem 93C66 was anfangen?

von Andy H. (vinculum) Benutzerseite


Lesenswert?

SD-Karte => Openlog
einfacher gehts nicht, was die Hardware angeht

von Jens M. (dl4aas) Benutzerseite


Lesenswert?

Moin,

als einer, der viele Nutzlasten mitentwickelt und schon gut 10 solcher 
Starts hinter sich gebracht hat, würde ich gern auf einen (aus meiner 
Sicht) schwierigen Aspekt aufmerksam machen: Temperaturmessungen bei 
geringem Luftdruck sind gar nicht so einfach, die thermische Kopplung 
ist sehr schwach. Da misst man eher die Eigenerwärmung des Sensors als 
die Außentemperatur...

Wir haben in Laufe der Jahre einen modularen Datenlogger entwickelt, der 
die Messwerte aufzeichnet und per Sprach- und Datenfunk ausgibt. Aber im 
Prinzip ist wirklich jeder Logger geeignet. In einer gut isolierten Box 
wird es kaum unter 0 Grad kalt, es reicht also Standard-Technik.

Viele GPS-Empfänger funktionieren in Höhen über 20-25km nicht mehr so 
richtig gut, fangen sich aber wieder, wenn die Höhe wieder geringer 
wird.

Einige weitere Informationen findest Du unter www.ballonprojekt.de (aber 
leider noch zu wenig...)

Gruß
Jens

von Karl (Gast)


Lesenswert?

Alex B. schrieb:
> das schreiben in den Speicher oder das ganze Programm?

Also in Bascom würde das so aussehen ("data.csv" auf SD-Karte):
1
$include "Config_MMC.bas"                                   'AVRDOS
2
$include "Config_AVR-DOS.BAS"                               'AVRDOS
3
4
Open "data.csv" For Append As #11
5
Print #11 , Date$ ; ";" ; Time$ ; ";" ; Temperature 
6
Close #11

Nachteil: Braucht recht viele Resourcen, aber Du wolltest sowieso einen 
ATmega32 nehmen.

Ein I2C-EEprom Code verbraucht nicht so viele Resourcen, ist aber etwas 
aufwendiger zu programmieren, da Du die Daten hinterher seriell abrufen 
willst.

von Bastler (Gast)


Lesenswert?

Was für ienen Sensor verwendest du? Die DS1820 sind ganz simpel in 
Bascom zu verwenden. Und Das interne EEPROM auch. Und wenn ein 
Temparaturwert mit 2 byte kommen und 2 Temparatursensoren und alle 10 
Minuten eine Messung dann sind es 24 Byte die Stunde und der Atmega32 
hatt glaub ich 1024 Byte.

In 30 km Höhe einen Händyempfang zu bekommen wird schwierig werden. und 
wenn du in einer region landest wo gerade kein Empfang ist wird es 
schwierig werden. Vieleicht kann dier ein Funkamateur helfen.

von Alex B. (alex96)


Lesenswert?

>Was für ienen Sensor verwendest du? Die DS1820 sind ganz simpel in
>Bascom zu verwenden. Und Das interne EEPROM auch. Und wenn ein
>Temparaturwert mit 2 byte kommen und 2 Temparatursensoren und alle 10
>Minuten eine Messung dann sind es 24 Byte die Stunde und der Atmega32
>hatt glaub ich 1024 Byte.
Wie genau sendet der DS1820 seine Daten?

wenn die Messungen echt nur so wenig Speicher brauchen, dann können 
natürlich auch kürzere Intervalle gewählt werden.
Die Messung alle 10 min war nur das absolute maximum.
Die Intervalle werden dann so angepasst, dass der Speicher für etwa
5 Stunden ausreicht.

Ich denke ich nehme doch den internen EEPROM des ATMega 32, da das am 
wenigsten störanfällig ist, und trotzdem ausreichend ist.

kennt ihr vielleicht eine Seite wo das Speichern von Daten im EEPROM und 
das Auswerten von Temperatur Sensoren erklärt wird?

Mit freundlichen Grüßen Alex B.

von Jo (Gast)


Lesenswert?

Karl schrieb:
> Also in Bascom würde das so aussehen ("data.csv" auf SD-Karte):
>
> $include "Config_MMC.bas"                                   'AVRDOS
> $include "Config_AVR-DOS.BAS"                               'AVRDOS
>
Braucht man für avrdos nicht eine Privatlizenz für 20 Eur? Oder geht das 
so auch?

von Jo (Gast)


Lesenswert?

Alex B. schrieb:
>
> kennt ihr vielleicht eine Seite wo das Speichern von Daten im EEPROM und
> das Auswerten von Temperatur Sensoren erklärt wird?
>
Alex,

Sag mal, hast Du Dir die bascom Seite überhaupt schon mal angeschaut? Da 
gibt es doch alle Hilfefiles, ein Forum und jede Menge 
Beispielprogramme.

Hast Du eigentlich mal Bascom temperaturlogger und eventuell ds1820 mal 
gleichzeitig in google eingetippt? Da gibt es ja mehr als einen, der so 
was schon mal gemacht hat.

Du wirst Dich schon ein bischen in Thema einlesen müssen, und wenn es um 
Bascom geht ist die Hilfe und das Tutorial wohl erste Wahl.

Wenn Du dann konkrete Fragen hast wird es einfacher zu antworten.

Jo

von Karl (Gast)


Lesenswert?

Jo schrieb:
> Karl schrieb:
>> Also in Bascom würde das so aussehen ("data.csv" auf SD-Karte):
>>
>> $include "Config_MMC.bas"                                   'AVRDOS
>> $include "Config_AVR-DOS.BAS"                               'AVRDOS
>>
> Braucht man für avrdos nicht eine Privatlizenz für 20 Eur? Oder geht das
> so auch?

Das geht für private Zwecke auch so.

"You can use AVR-DOS free for non commercial use or test it."

http://members.aon.at/voegel/

von Alex B. (alex96)


Lesenswert?

Hallo,

Ich hab mich noch ein wenig schlau gemacht, verstehe aber den 1 Wire Bus 
nicht.

Aber ich habe das gefunden:

http://www.elexs.de/ESM32j.html

So wie ich das verstehe nutzt der Datenlogger den ADC.
Da muss ich doch einen Spannungsteiler aus einem fest und einem 
temperatur abhängigen Widerstand dranhängen.
Soll ich einen Heißleiter oder Kaltleiter nehmen?
Welche könnt ihr empfehlen?

Mit freundlichen Grüßen Alex B.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.