Datanlogger mit uC basteln

F

Florian Rist

Guest
Hallo,
ich denk grad über ein Projekt nach und um nicht gleich am Anfang arge
konzeptionelle Fehler zu machen würde mich Eure Meinung interessieren.

Ich möchte einen Datenlogger bauen, an den verschiedene digitale
Sensoren angeschlossen werden können sollen. Die Messwerte sollen
gespeichert und später mit einem PC ausgelesen und weiterverarbeitet
werden. Soweit mal nicht allzu Spannend, aber auch nicht ganz einfach.

Es sollen digitale Sensoren, etwa der Maxim Chip DS1621, verwendet
werden. Oft wird zur Übertragung der Messwerte ein I˛C Bus verwendet.
Leider setzen etliche interessante Sensoren eigene ein- oder
zweidrahtige Bussysteme ein, das ist je nur eine frage der Software.

Die Sensoren werden an einen ľController angeschlossen. Fragt sich nur
welcher sich eignet. Ich dachte an einen der AVR Typen von Atmel. Der
ľController muss die Messwerte einsammeln, so vielleicht all 60
Sekunden, und in einen nichtflüchtigen schreiben.

Als Speicher bietet sich ein serieller Flash-RAMs mit I˛C Bus an. Oder
ist der Aufwand für I˛C zu groß und unnötig und man setzt besser was
paralleles ein?

Das ganze soll am besten mit einem Akku als Energiequelle auskommen,
auch über Monate hinweg. Wenn das nicht geht, dann eben Netzteil und
Akkupuffer für den Fall eines kurzen Stromausfalles.

Mir scheint die Hardware einigermaßen überblickbar zu sein. Im Moment
macht mir die Software mehr Sorgen, die muss immerhin die Daten von
etlichen (verschiedenen) Sensoren sammeln und speichern, außerdem muss
sie die Daten auch wieder über eine geigende Schnittstelle (RS-232?)
an einen PC übermitteln können und das am besten ohne die Messungen zu
unterbrechen. Ich hab bisher noch keine Erfahrung in der
Programmierung von ľControllern, war aber mal in Pascal, C/C++ und x86
Assember recht fitt, mit nur etwas aus der Übung.

Was meint Ihr klingt das einigermaßen sinnvoll so? Irgendeine
Empfehlung für ľController, Flash, Bustreiber, etc.?

Ich hoffe das ist nicht noch alles viel zu allgemein. Naja und
vielleicht sind meine Überlegungen ja schon sinnvoll zu kommentieren.

Grüße
Flo
 
"Florian Rist" <frist@fs.tum.de> schrieb im Newsbeitrag
news:dv74g1hpsbthdgjjekc3laueut97sp03bc@4ax.com...
Hallo,
ich denk grad über ein Projekt nach und um nicht gleich am Anfang arge
konzeptionelle Fehler zu machen würde mich Eure Meinung interessieren.

Ich möchte einen Datenlogger bauen, an den verschiedene digitale
Sensoren angeschlossen werden können sollen. Die Messwerte sollen
gespeichert und später mit einem PC ausgelesen und weiterverarbeitet
werden. Soweit mal nicht allzu Spannend, aber auch nicht ganz einfach.
....
Mit nem AVR ist das alles kein Problem, denn I2C und ser.Schnittstelle
sind als Hardware vorhanden.
Natürlich baut und programmiert sich das nicht von selbst, aber es
dürfte relativ problemlos realisierbar sein.
Aber tu dir selbst einen Gefallen und schreib es nicht in Assembler,
dessen Vorteile brauchst du dafür nicht und in einer Hochsprache
gehts viel schneller und macht mehr Spass.
Du wirst vielleicht Basic nicht mögen, aber ich find BascomAVR genial !
Die Samplingroutine in nen 10 Sek Interrupt, dann kannste im
Hauptprogramm währenddessen mit dem PC komunizieren.

-Klaus-
 
Hallo Klaus,
danke für Deine Antwort. Tut mir leid, dass wir jetzt zwei Threds
haben, ich hab den mit dem Tippfehler ausgerechnet in der Überschrift
leider nicht schnell genug gecancelt.

Ich möchte einen Datenlogger bauen, an den verschiedene digitale
Sensoren angeschlossen werden können sollen. Die Messwerte sollen
gespeichert und später mit einem PC ausgelesen und weiterverarbeitet
werden. Soweit mal nicht allzu Spannend, aber auch nicht ganz einfach.
....

Mit nem AVR ist das alles kein Problem, denn I2C und ser.Schnittstelle
sind als Hardware vorhanden.
Ah, da muss ich mir mal die Datenblätter genau durchlesen, das wär' ja
schon praktisch, ich dachte ich muss alles selber machen. Lieder haben
nicht alles Sensoren I˛C.

Natürlich baut und programmiert sich das nicht von selbst, aber es
dürfte relativ problemlos realisierbar sein.
Klingt gut.

Die fertigen Sachen, die man so kaufen kann sind entweder zu teuer
oder nicht leistungsfähig genug. Mal sehen, ob ich was passendes
hinbekomme.

Aber tu dir selbst einen Gefallen und schreib es nicht in Assembler,
dessen Vorteile brauchst du dafür nicht und in einer Hochsprache
gehts viel schneller und macht mehr Spass.
Ja? Obwohl das alles so "maschinennah" ist? Ich kann mir kaum
vorstellen, dass der Basic Quellcode für die Controllersoftware lesbar
aussieht. Wird mir mal ein paar Beispielprogramme anschauen.

Du wirst vielleicht Basic nicht mögen, aber ich find BascomAVR genial !
Danke für den Tipp, ich schau's mir an. Ansonsten gibt's ja auch
Pascal und C für AVR.

Die Samplingroutine in nen 10 Sek Interrupt, dann kannste im
Hauptprogramm währenddessen mit dem PC komunizieren.
Ja, so in etwa, denk ich mir das auch. Im Normalfall wird die
Samplingroutine sogar nur alle paar Minuten aufgerufen werden. Die
AVRs haben sicher programmierbare Timer mit denen man so was machen
kann.

Grüße
Flo
 

Welcome to EDABoard.com

Sponsor

Back
Top