Forum: Mikrocontroller und Digitale Elektronik 16bit 1kSPS 150Ch Datalogger gesucht


von Norbi (Gast)


Lesenswert?

Hallo,

ich suche einen oder mehrere Datenlogger die man triggern kann. Diese(r) 
sollte(n) insgesamt 150 separate 16bit Kanäle über I²C aufnehmen und mit 
einem Zeitstempel indizieren können.
Und eben nicht mehr als 1000€ kosten.

Ich habe bislang leider nichts geeignetes gefunden. Somit habe ich 
folgende Fragen:

- Kennt jemand eine Fertiglösung, mit der man auf SD-Karten schreien 
kann
- Wenn nein, wie geht man ran, es selbst zu machen?

Ich habe schon ein paar FPGAs und DRAM-Bausteine gesichtet. Aber 
vielleicht kann mir jemand ein Kochrezept geben, damit ich das Rad nicht 
neu erfinden muss.

: Verschoben durch User
von Ghast (Gast)


Lesenswert?

6,66€ pro Kanal, dann mal viel erfolg.

von Wolfgang (Gast)


Lesenswert?

Norbi schrieb:
> ich suche einen oder mehrere Datenlogger die man triggern kann. Diese(r)
> sollte(n) insgesamt 150 separate 16bit Kanäle über I²C aufnehmen und mit
> einem Zeitstempel indizieren können.

Und diese 150 Kanäle laufen über wieviele I²C-Busse rein?

Kommt jeder Datenstrom auf einem Kanal oder wie ist dein insgesamt 
2.4MBd (+Protokoll-Overhead) Rohdatenstrom aufgeteilt?

Um den Datenstrom auf einer SD-Karte mitzuschreiben, wirst du einen 
Pufferspeicher benötigen, der schon mal größenordnungsmäßig 100ms 
überbrückt.

von Falk B. (falk)


Lesenswert?

@ Norbi (Gast)

>ich suche einen oder mehrere Datenlogger die man triggern kann. Diese(r)
>sollte(n) insgesamt 150 separate 16bit Kanäle über I²C aufnehmen und mit
>einem Zeitstempel indizieren können.

Was heißt das GENAU? Soll der Logger nur digitale I2C EIngänge haben und 
über diese von externen ICs die Daten mit 1ksmps auslesen und speichern?
Bei einer konstanten Abtastrate braucht man keine Zeitstempel, da reicht 
es, einmalig die Startzeit zu speichern.

>Und eben nicht mehr als 1000€ kosten.

Wird eng.

>- Kennt jemand eine Fertiglösung, mit der man auf SD-Karten schreien
>kann                                                        ^^^^^^^^

NEINNNNN!!! ;-)

>- Wenn nein, wie geht man ran, es selbst zu machen?

Man nehme einen uC mit ausreichend (externem) Speicher, denn eine 
SD-Karte kann mehrere hundert Millisekunden Pausen einlegen. Der 
Speicher sollte den vollen Datenstrom für mindesten 500ms puffern 
können. Der uC liest die Sensoren aus und schreibt die Daten in den 
Speicher, der als FIFO arbeitet. Eine andere Funktion im uC liest 
diese Daten und schreibt sie auf die SD-Karte. Bei den Datenraten ist 
ein 32 Bit uC mit Hardware SD-Interface (SDIO) sinnvoll.

Sind das WIRKLICH 150 einzelne I2C Busse oder nur 150 Sensoren, die an 
deutlich weniger als 150 I2C Bussen angeschlossen sind?

>Ich habe schon ein paar FPGAs und DRAM-Bausteine gesichtet.

Und ich hab schon mal die Queen Marry II gesehen, bin aber trotzdem noch 
eine totale Landratte ;-)

von Norbi (Gast)


Lesenswert?

Danke für die Antworten.

Es sind 150 einkanalige bzw. 50 dreikanalige digitale Sensoren, die 
direkt den I²C-Bus nutzen. Für 16 bit bei 1 kSample bedeutet das für die 
dreikanaligen Sensoren einen Datenstrom von 46 kbps je Sensor und 
insgesamt 2,4 Mbps.

Ich habe schon mal mit einem Teensy 3.2 größere Datenströme auf eine 
SD-Karte geschrieben, und weiß grob um die Tücken, die damit verbunden 
sind...

von Falk B. (falk)


Lesenswert?

@ Norbi (Gast)

>Es sind 150 einkanalige bzw. 50 dreikanalige digitale Sensoren, die
>direkt den I²C-Bus nutzen.

Schön, aber sind die allen an EINEM I2C Bus angeschlossen? Eher nicht, 
denn der schafft die Datenrate sicher nicht.

Eine Handvoll I2C Busse kann man vielleicht noch in Software emulieren, 
bei mehr geht auch einem schnelleren uC irgendwann mal die Puste aus 
bzw. der Bus ist einfach zu langsam. Dann braucht man ein FPGA, das kann 
sehr viele I2C Busse echt parallel einlesen.

von Wolfgang (Gast)


Lesenswert?

Norbi schrieb:
> ... den I²C-Bus nutzen.
> ... insgesamt 2,4 Mbps.

Zu den 2,4 Mbps kommt noch der Protokolloverhead dazu.
Selbst im High speed mode (3.4 Mbit/s) wird das auf einem Bus wohl 
kaum etwas.

von c-hater (Gast)


Lesenswert?

Norbi schrieb:

> ich suche einen oder mehrere Datenlogger die man triggern kann. Diese(r)
> sollte(n) insgesamt 150 separate 16bit Kanäle über I²C aufnehmen und mit
> einem Zeitstempel indizieren können.

Welche Datenrate erwartest du?

Komisch dass immer diese komischen "Suchenden" den entscheidenden 
Knackpunkt nicht selber finden und gleich im ersten Posting 
mitspezifizieren können.

Ich habe da immer den starken Verdacht, dass es sich dabei nur um 
TrafficGenerator-Droiden handelt.

von Lothar (Gast)


Lesenswert?

Norbi schrieb:
> Kennt jemand eine Fertiglösung

Nicht billig aber gibt es:

http://sine.ni.com/nips/cds/view/p/lang/de/nid/212723

> wie geht man ran, es selbst zu machen

Falls 14-Bit reichen gäbe es eine sehr günstige Lösung:

EFM8LB12F64E-QFP32 hat 20 Channel mit je 40 kSPS und I2CF+ mit 3.4 Mbps 
und kostet 1,50

Davon also 8 Stück

Für das SD Card Loggen kann man z.B. ein billiges Dual-Core Board 
nehmen. Ein Core holt über I2CF+ die Daten ins RAM und der andere Core 
loggt:

http://de.farnell.com/nxp/om13027-598/eval-board-cortex-m4-lpc4300-ohne/dp/2217598

von Falk B. (falk)


Lesenswert?

@ Lothar (Gast)

>Nicht billig aber gibt es:

>http://sine.ni.com/nips/cds/view/p/lang/de/nid/212723

Der OP will nicht 150 analoge Eingänge messen sondern die Sensordaten 
von 150 ICs auslesen.

von ягт ден троль раус (Gast)


Lesenswert?

> 150 Kanaele zu 16Bit
> Und eben nicht mehr als 1000€ kosten.

Sportlich.
Du arbeitest die 200+ Stunden Entwicklung gratis, ist schon klar, aber 
von welcher Stueckzahl reden wir denn ?
Bei einem Einzelstueck waere ich von minestens einer Null hintendran 
mehr ausgegangen, mit bezahlter Arbeit allerdings.

von Arc N. (arc)


Lesenswert?

Falk B. schrieb:
> @ Norbi (Gast)
>
>>Es sind 150 einkanalige bzw. 50 dreikanalige digitale Sensoren, die
>>direkt den I²C-Bus nutzen.
>
> Schön, aber sind die allen an EINEM I2C Bus angeschlossen? Eher nicht,
> denn der schafft die Datenrate sicher nicht.
>
> Eine Handvoll I2C Busse kann man vielleicht noch in Software emulieren,
> bei mehr geht auch einem schnelleren uC irgendwann mal die Puste aus
> bzw. der Bus ist einfach zu langsam. Dann braucht man ein FPGA, das kann
> sehr viele I2C Busse echt parallel einlesen.

Aktuelle Controller ala STM32F4/F7/L4, Renesas RX oder PIC32MZ schaffen 
bei weitem genug Durchsatz. Die RX63 hätten bspw. bis zu 13 + 4 I²C. Da 
bräuchte es mit genügend PCA9548A 8:1-I²C-Multiplexern gerade mal zwei 
Controller (nicht nachgeschaut, ob die I²Cs ohne Überschneidungen an die 
Pins gemappt werden können) ohne (falls das der Bus mitmacht) die 
Multiplexer kaskadieren zu müssen...
Anderer Ansatz wäre vielleicht, wir wissen ja weder etwas über den 
Gesamtaufbau, die Buslängen, noch ob alle Sensoren gleichzeitig 
messen/abgefragt werden sollen, n Sensoren an einen Controller mit 
Software-I²C zu hängen und die Daten von dort über was anderes als I²C 
zur "Zentrale" zu schicken.

von m.n. (Gast)


Lesenswert?

Arc N. schrieb:
> wir wissen ja weder etwas über

Mit den Sensoren sollen vermutlich Temperaturen gemessen werden ;-)

von so ein Gast (Gast)


Lesenswert?

Nun, bei Temperaturen braucht man wohl kaum sinnvoll 16 Bit und vor 
allem keine Messrate von ... hast noch nicht gesehen!
Zeig mir mal eine einzige sinnvolle Anwendung, wo Temperaturen derart 
dynamisch sind und dann der Sensor nicht das Messergebnis komplett 
verfälscht.

von so ein Gast (Gast)


Lesenswert?

so ein Gast schrieb:
> Nun, bei Temperaturen braucht man wohl kaum sinnvoll 16 Bit und
> vor
> allem keine Messrate von ... hast noch nicht gesehen!
> Zeig mir mal eine einzige sinnvolle Anwendung, wo Temperaturen derart
> dynamisch sind und dann der Sensor nicht das Messergebnis komplett
> verfälscht.

Ok, sorry, dee OP schrieb nichts von schnell, sorry!
Da sind wohl die Gäule mit mir durchgegangen ;-()

von m.n. (Gast)


Lesenswert?

so ein Gast schrieb:
> Nun, bei Temperaturen braucht man wohl kaum sinnvoll 16 Bit und vor
> allem keine Messrate von ... hast noch nicht gesehen!

Doch, habe ich gesehen. Aber kennst Du alle Einwohner von Pappenheim?

von Arc N. (arc)


Lesenswert?

so ein Gast schrieb:
> so ein Gast schrieb:
>> Nun, bei Temperaturen braucht man wohl kaum sinnvoll 16 Bit und
>> vor
>> allem keine Messrate von ... hast noch nicht gesehen!
>> Zeig mir mal eine einzige sinnvolle Anwendung, wo Temperaturen derart
>> dynamisch sind und dann der Sensor nicht das Messergebnis komplett
>> verfälscht.
>
> Ok, sorry, dee OP schrieb nichts von schnell, sorry!
> Da sind wohl die Gäule mit mir durchgegangen ;-()

Nicht im ersten Text, aber später
> Für 16 bit bei 1 kSample bedeutet das für die dreikanaligen Sensoren einen
> Datenstrom von 46 kbps je Sensor und insgesamt 2,4 Mbps.

1 kS/s ist noch relativ langsam, je nach Anwendung...

http://www.dantecdynamics.com/hot-wire-and-hot-film-probes
Constant Temperature Anemometry

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.