www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Beste Lösung für Datenlogger?


Autor: Auli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich plane ein Projekt um Temperaturdaten zu loggen. Habe da an einen 
At90Usb als Controller gedacht um die Daten anschließend per Usb 
auszulesen. Hätte auch daran gedacht das ich die Daten auf einer Sd 
Karte speichere.
Was hält ihr von diesem Ansatz bzw. wie würdet ihr das machen. Um lange 
genug speichern zu können hätte ich da so an einen Speicher von 1Gb 
gedacht.

MFG

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

schon alle Treffer hier im Forum durchgeschaut?

http://www.mikrocontroller.net/search?query=datenl...

Gruß aus Berlin
Michael

Autor: Auli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ja aber es geht mir insbesonders um die Geschwindigkeit. Ob das die 
beste Lösung ist. Die Sd Karte wird ja mit SPI angesprochen, und ist Spi 
schnell genug um USB 2.0 mehr oder weniger auszureitzen?

MFG

Autor: Gast123 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast Du denn einen Mikrocontroller, der USB2.0 mehr oder weniger 
ausreizt? ;-)

Autor: Neubi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie oft möchtest du denn deine temperatur in der sekunde messen ? - bei 
480mbit/s die usb2.0 max. kann weis ich nicht ob das schnell genug ist 
für dich ;) ??

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Neubi wrote:
> wie oft möchtest du denn deine temperatur in der sekunde messen ?

Habe ich mich auch gefragt.

Bei 1GB, 1Jahr und 16Bit komme ich auf 60ms.
Außer einer riesig aufgeblähten Datenflut sehe ich keinen Sinn darin.
Eine Minute sollte in der Regel völlig ausreichen.


Peter

Autor: Auli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
mein Ansatz war dahin gemeint das ich dann die Daten die auf der Sd 
Karte gespeichert werden über Usb auslese.
Also von der Sd Karte zum Controller und dann über Usb raus.
Das ganze wird in ein Gehäuse verpackt dass ich dann wohin lege und dann 
die Temperatur logge (ohne Usb Anbindung).
Oder gibt es eine bessere Lösung als eine Sd Karte was sich aber in der 
Selben Preisspanne bewegt.

MFG

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt auch zur SD-Geschwindigkeit schon einige Beiträge hier im Forum.

Autor: vielleicht so (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei einem Logger sollte der Stromverbrauch im Vordergrund stehen, nicht 
das Interface. Man setzt das Interface auf Standby, und vergleicht den 
Strom. Auch wenn das Auslesen nach einem Jahr eine Viertelstunde oder 
laenger betraegt, was soll's ?

Autor: Mario (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab da vor einer Weile mal was geschustert, auch mit SD-Karte und 
AVR. Allerdings damals noch mit Bascom programmiert.
Das Auslesen erledigte ich über die RS232 Schnittstelle und einer 
Terminalsoftware, welcher mir einen Log speicherte, den ich dann in ein 
Excel-Sheet kopierte.
Bei der Spannungsversorgung beging ich den grössten Fehler...ich 
vernachlässigte den Quiescent Current des Reglers... der war recht 
hoch... Also am besten einen Low-quiescent-current Regler einsetzen oder 
gar keinen.
Gespiesen wurde über 4 serielle AA-Batterien. Die halten recht lange. 
Und eine 1GB SD hatte Platz für etwas über 500 Millionen Messwerte... :)

http://mauerer.m.googlepages.com/autonomertemperaturlogger

Gruss

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

man könnte auch die SD-Karte dann einfach aus dem Logger ziehen und in 
einen Cardreader am PC stecken...

Ich möchte jedenfalls nicht unbedingt über SPI 1GB von einer SD-Karte 
mit einem MC zum PC schaufeln wollen, wenn es sich irgendwie vermieden 
läßt.

Gruß aus Berlin
Michael

Autor: istselberbauenhiersinnvoll (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da gibts beim grossen c was fertiges.

istselberbauenhiersinnvoll?

Autor: vielleicht so (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sicher kann man selber bauen. Man muss aber unbedingt bei jeder 
Komponente den Stromverbrauch anschauen, auch bei pullup Widerstaenden, 
und um jedes ua kaempfen. Ein pullup von 1MOhm zieht bei 3.3V schon 
3.3uA. Spannungsregler gibt's schon mit 20uA Quiescent. Waehrend dem 
Schreiben braucht man 3.3V, im Powerdown genuegen noch 1.8V bei einem 
AVR.

Autor: vielleicht so (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falls  man die SD karte in den PC stecken will benoetigt man ein FAT 
drauf, sonst benoetigt man nichts. Eine FAT implementierung auf einem 
AVR, von der ich gehoert habe, hat noch  eine datenrate von 50kBytes, 
verpufft also um die 100 Befehle pro geschriebenes Byte. Moeglicherweise 
gibt es effizientere FAT. Sonst wuerd ich's sein lassen.

Autor: Auli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also sollte ich das ganze so planen das ich einen möglichst 
Energiesparenden Controller benutze der die Daten auf die SD Karte 
speichert und ich sie dann herausnehmen kann und in den Pc stecke.
Gäbe es noch andere Speichermöglichkeiten in diese Größenordnung die 
schneller sind, sich aber im finanzierbaren Raum befinden?

MFG

Autor: vielleicht so (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine andere Ueberlegung ist die Abtastgeschwindigkeit. Die oben 
genannten 60ms sind in den meisten Faellen uebertrieben. Damit kann man 
noch 8Hz darstellen. Allenfalls genuegt ein Wert pro Minute. Dann sollte 
man bedenken, dass USB & SD Speicher NAND Flash sind, das guenstigst 
moegliche. Beide beinhalten schon Wearleveling. Wenn man mit den nackten 
Chips arbeitet so muss mann das Wearleveling selbst machen, oder auf NOR 
Flash ausweichen.

Autor: Tubie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe meinen Datenlogger, welcher bestandteil meiner 
Heizungssteuerung ist mit dem Vinculum VDRIVE2 (USB Stick Laufwerk) 
realisiert. Klappt wunderbar - einfach per SPI/UART  OPEN, WRITE, CLOSE 
Befehle verschicken und der rest (FAT und Verzeichnisstruktur) macht das 
VDRIVE2 von selbst.

Hier gibt es 2 Möglichkeiten, das VDRIVE kostet mit Versand ca. 60€. Der 
Chip VNC1L ca. 15€ dieser ist im Drive verbaut und muß, wenn er nackt 
ist lediglich mit einer vom Hersteller zur Verfügung gestellten Firmware 
bespielt werden.

Wenn nur 1* pro Minute was geschrieben werden soll, kann man entweder 
ganz die Stromversorgung abschalten oder Prüfen, was Stick+Vdrive im 
Idle Modus verbraten. Evtl. kann man noch hergehen und 1 Std (60 Werte) 
im RAM de µC speichern um dann bei vollem Speicher das Laufwerk zu 
aktivieren und die Daten reinzuschreiben.


Gruß,
Tubie

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Lesen der Karte geht deutlich schneller, als das Schreiben. Der 
Flaschenhals ist aber der Controller mit seiner geringen Taktfrequenz, 
so daß das SPI-Interface mit maximal 8Mhz laufen kann. USB2.0 wird damit 
im Leben nicht ausgenutzt. Der maximale Lesedurchsatz dürfte bei etwa 
500kByte/sek. liegen. Als Alternative würde ich die Nutzung von WinHex 
vorschlagen, damit kann man auch Karten ohne FAT in jedem Windows-PC 
einlesen und die Daten in ein File schreiben. 2GB laufen hier in 3..4 
Minuten durch. Ein Interface braucht der Logger dann gar nicht.

Autor: vielleicht so (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Vinkulum .. 2mA im standby. War wohl eher als Witz gedacht. Der kann 
wieder kommen wenn er 20uA im standby zieht.

Autor: Sandro K. (maexchen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
vielleicht so wrote:
> Der Vinkulum .. 2mA im standby. War wohl eher als Witz gedacht. Der kann
> wieder kommen wenn er 20uA im standby zieht.

Der Vorschlag war ja, ihm die Speisung zu kappen, dann geht das schon.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Speisung zu kappen macht keinen Sinn, solange Datenleitungen mit dem 
Rest der Schaltung verbunden sind, über die dann Strom in den VNC 
fließt.

Autor: Peter Diener (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

meine Empfehlung schaut folgendermaßen aus:

Wenns eine SD-Card sein soll, die die Daten speichert (was ich 
prinzipiell befürworte) sollte der Mikrocontroller auf 3,3 Volt laufen, 
um Probleme mit dem Interface zu vermeiden. Also einen low-voltage AVR 
oder gleich einen MSP430 verwenden.

SPI ist so schnell, wie du es einstellst, kann auch 10 Mbit/sec sein.
Meine Karten können das auch noch.

Über einen MC mit USB auszulesen halte ich für großen Blödsinn, dafür 
muss man ja dem MC beibringen, dass er ein Massenspeicher ist, das ist 
mit allem Ärger rund um USB verbunden. Da bin ich für die Lösung mit FAT 
und dem Auslesen im Cardreader mit dem PC. Dann hast du zudem die 
Möglichkeit auch jeden anderen MC als einen USB-fähigen zu verwenden.

Aber Vorsicht mit FAT: Jede Änderung an einem File wird in der 
File-Allocation-Table abgespeichtert, der betroffenen Sektor der FAT 
also bei jedem Messwert gelöscht und neu geschrieben. Das musst du 
verhindern, die FAT also im RAM halten und erst bein Shutdown speichern 
und sonst event. regelmäßig einmal in der Woche. Wenn du die FAT dauern 
überschreibst, sind schon nach kurzer Zeit die maximalen Schreibzyklen 
der Karte überschritten und das Flash ist zerstört.

Das kann man am PC mit einem USB-Stick ausprobieren, einfach einen 
Ordner mit 50000 Dateien draufkopieren. Das macht man 3 mal und der 
Stick ist kaputt. Also auf die Schreibzyklen der FAT aufpassen!

Wenn du einen ATMega1281V nimmst, hast du 8 kB Arbeitsspeicher, 
erweiterbar auf 64 kB extern, da kannst du die FAT mühelos puffern, und 
der läuft mit 3,3 Volt (das ist wichtig, alle anderen Lösungen machen 
gern Ärger, kann man im Forum oft genug lesen).


Viele Grüße,

Peter

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>SPI ist so schnell, wie du es einstellst, kann auch 10 Mbit/sec sein.

Zumindest bei AVRs ist fSPI max. 1/2 fCPU. Schneller ist nicht. 
Lediglich bei 20Mhz AVRs kann man 10Mbit/s fahren, was dann aber auch 
nicht dem Nettodurchsatz entspricht -> Kommandooverhead, warten auf 
Busy-Ende der Karte, warten auf Ende des gerade übertragenen Bytes...

Autor: vielleicht so (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schreiben mit SPI ... GHeschwindigkeit... waren wir bei einem 
temperaturlogger oder bei einer Videokamera ?

Autor: Tubie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Die Speisung zu kappen macht keinen Sinn, solange Datenleitungen mit dem
Rest der Schaltung verbunden sind, über die dann Strom in den VNC
fließt.

Was spricht dagegen die µC Leitungen, welche an den VDrive gehen 
hochohmig zu schalten? Die müssen ja nur dann eingeschaltet werden, wenn 
was geschrieben/gelesen werden sollte.

Überhaupt hat der USB-Stick den riesen Vorteil, das man auch mal ganz 
bequem mal eine .ini Datei draufspielen kann und dan macht der µC genau 
das, was in der Datei steht. ;) Ist nämlich mein nächstes Projekt, was 
die Heizungssteuerung angeht.


Grüße,
Tubie

Autor: Tubie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Das kann man am PC mit einem USB-Stick ausprobieren, einfach einen
>Ordner mit 50000 Dateien draufkopieren. Das macht man 3 mal und der
>Stick ist kaputt. Also auf die Schreibzyklen der FAT aufpassen!

War da nicht mal was gewesen, das sich bei den ganzen Flash 
Speichern/Karten die Speicherzellen, welche besonders oft beschrieben 
werden irgendwann als Defekt markiert werden und dann woanders 
hingeschrieben werden?

Bin mir nicht sicher aber meine darüber mal was gelesen zu haben.


Gruß,
Tubie

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja - sowas soll es geben ;-). Trotzdem habe ich in der Vergangenheit 
diverse Billigprodukte durch simples Schreiben kaputt bekommen, 
wohingegen Markenprodukte zuverlässig arbeiten. Du vertraust Deinem 
VDrive ja wirklich sehr..


>Was spricht dagegen die µC Leitungen, welche an den VDrive gehen
>hochohmig zu schalten? Die müssen ja nur dann eingeschaltet werden, wenn
>was geschrieben/gelesen werden sollte.

Nichts spricht dagegen. Mir persönlich sind "Vcc-gekappte" ICs in einer 
Schaltung immer ein rotes Tuch.

Autor: Tubie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Du vertraust Deinem VDrive ja wirklich sehr..

Ist halt eine sehr einfache Sache wenn ASM Programmiert und kein C kann. 
Also auch nicht auf fertige FAT Libs zurückgreifen kann. Das nächste mal 
wird es allerdings der VNC1L Chip werden.


> Mir persönlich sind "Vcc-gekappte" ICs in einer
> Schaltung immer ein rotes Tuch.

Warum eigentlich? Noch nie von einer Schaltung die Versorgung 
abgeklemmt, um sie dann, wenn sie wieder benötigt wird unter Strom zu 
setzen? Wenn man vorher die Zuleitungen hochohmig macht, also kein Strom 
ohne Vcc in den Chip fließen kann passiert doch nix.

Gruß,
Tubie

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nun, Du sprichst von einem Chip, der an einem programmierbaren 
Controller hängt. Abhängig von der geistigen Fitness des vor dem Moitor 
sitzenden Humanoiden kann es auch mal sein, daß betreffeder Chip keine 
Vcc hat und die Ausgänge des Controllers doch nicht hochohmig sind. 
Hmmm...

Autor: Tubie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da muß ich Dir natürlich absolut recht geben. Die Software sollte dann 
schon passen. Habe sowas bisher immer über einen Jumper gelöst. Der wird 
erst dann umgesteckt, wenn alles zu 100% funktioniert. Aber wie immer 
kann man ein kleines Rest Risiko nie ausschließen.

Gruß,
Tubie

Autor: Auli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sehr gute Ansätze, hab mich auch ein wenig umgesehen und die Sd Karte 
ist die günstigste Lösung. Werde mich für den ATmega644P entscheiden, 
dieser hat genug RAM um zu Puffern und gehört zur Pico Power Serie.
Werde das ganze auf einer mini Sd Karte abspeichern zum späteren 
auslesen am PC.

MFG

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Paß bei den SD-Karten auf, daß Du keinen Billigramsch kaufst. Lohnt sich 
nicht.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.