Forum: Mikrocontroller und Digitale Elektronik Einfacher CAN-FD (streaming-)logger mir Rpi(?)+?


von Fabian N. (flyget)


Lesenswert?

Hallo zusammen,

ich müsste Daten von zwei Sensoren mit CAN-FD Schnittstelle aufzeichnen. 
Wichtig is dass ich das ganze in ein dichtes kleines Gehäuse packen 
kann, damit es mobil einsatzfähig ist. Ich brauche online keine 
Datenverarbeitung sondern nur die Rohdaten mit Timestamp. Wichtig is 
zudem, dass alle Frames empfangen werden, auch wenn beide Busse mit 
voller Auslastung bei 5Mbit laufen.

Aktuell nutze ich einen Laptop im Rucksack mit Peak PCan-USB. 
Funktioniert, is aber wenig praktikabel für längerfristigen Einsatz.

Das einfachste wäre evtl. den Peak USB-Dongel zu Schlachten und 
möglichst direkt an den Raspi zu flanschen. Interessant wäre hier, ob 
der Raspi den Datendurchsatz packt, bevor ich den Dongel schlachte. Hat 
da jemand Erfahrung mit?
Alternativ gibt's auch jede Menge Boards für den Raspi, aber wie es sich 
da mit dem Datendurchsatz verhält is mir leider nicht wirklich 
ersichtlich.

Mir ist bewusst dass es hierfür Lösungen zu kaufen gibt, die liegen aber 
preislich deutlich über den angedachten 200-300€ und bieten meist 
allerlei Zusatzfunktionen die ich nicht benötige.

Viele Grüße und besten dank!

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Den Peak würde ich nicht schlachten, das wäre mir zu riskant dass da was 
kaputt geht.

Satt dem Laptop könnte man einen anderen Kleincomputer verwenden, z.B. 
ein "Intel NUC", die gibt es für recht kleines Geld und haben einen 
Standard 19V Eingang. Mit einem 12V Akku zu 19V Adapter sollte das dann 
mobil gehen.

Für die Bedienung:
Bei dem Computer den Hotspot aktivieren, dann kann man sich mit dem 
Handy darauf verbinden und z.B. mit VNC den Desktop bedienen. (VNC 
Server auf dem PC installieren)

Diese Lösung sollte Preislich in die 200..300€ passen.

: Bearbeitet durch User
von Fabian N. (flyget)


Lesenswert?

Hallo Markus,

ja im Prinzip wäre das natürlich auch möglich mit dem NUC. Ansich hätte 
ich aber gern etwas kleineres, also z.B. alles komplett im 
NUC-Gehäuse-Format. Daher auch die Idee mit dem Schlachten der 
PEAK-Adapter (Gehäuse weg, Kabel weg, SUBD weg), um dann alles kompakt 
zu haben. Die Sensoren befinden sich an einem Fahrrad/eBike und werden 
Outdoor verwendet, daher die Forderung nach dem dichten, kompakten und 
robusten Gehäuse.

An das selbst gefertigte Gehäuse sollen außen dann nur z.B. 
Binder-Einbaustecker für Power und 2xCAN. Daher ja auch die Idee mit den 
2xCAN-Boards für den Raspi, die wären natürlich sehr kompakt an dem 
Raspi dran und würden ausreichen, sofern sie denn sauber funktionieren 
und den Datendurchsatz schaffen.

von Stephan S. (uxdx)


Lesenswert?

Der MCP2515 ist ein CAN-to-SPI-Adpater, den kannst Du direkt an den 
Raspi verbinden. Den gibt es sogar im PDIP-Gehäuse oder im akzeptablen 
SOIC-Gehäuse.

https://www.mouser.de/datasheet/2/268/MCP2515_Family_Data_Sheet_DS20001801K-2303489.pdf

Ich sehe gerade, da gibt es fertige Boards mit Transceiver

https://www.ebay.de/itm/404464359827

: Bearbeitet durch User
von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Wenn das ganze richtig Outdoor tauglich sein soll und klein und Kompakt, 
ich denke da sollte man in Richtung Engenentwicklung denken.
So ein NUC verbraucht dazu einfach zu viel Strom, ein Raspi könnte man 
als Raspi Zero nehmen, der ist recht sparsam.
Dazu ein CAN IC und dann die Aufzeichnung auf eine SD-Card machen.
Vermutlich wirst du dann die Software ebenfalls selbst entwickeln 
dürfen.

Für wie viele Stunden soll die Aufzeichnung denn laufen?
Wie groß darf der Akku sein?

von Sebastian W. (wangnick)


Lesenswert?

Häng einen Saleae-Klon an einen Transceiver. Ist dann auch komplett 
passiv, sendet also nicht einmal ACKs.

LG, Sebastian

von Frank K. (fchk)


Lesenswert?

Wenn Du es klein haben willst, brauchst Du sowas hier:

https://www.peak-system.com/PCAN-M-2.473.0.html

Das ist ein M.2 PCIe CAN-FD Adapter, und der schafft auch volle 
Buslasten bis 12 MBit/s. Gibts mit ein, zwei und vier Kanälen.

PCIe schließt natürlich einen normalen Pi kategorisch aus - Du 
bräuchtest ein CM4 oder einen Pi5, wo das PCIe herausgeführt ist. Ein 
NUC oder ein Odroid H2/H3(+) wäre hier die geeignete Plattform.

Aber billig ist das auch nicht.

Der eben erwähnte MCP2515 ist unbrauchbar, weil er kein CAN-FD kann. Du 
bräuchtest einen bzw zwei MCP2518FD (das ist auch der einzige, der nicht 
EOL ist), und dann zwei separate schnelle SPI-Ports, damit Du die Daten 
auch wirklich wegbekommst - plus einen sehr neuen Linux-Kernel. Das 
könnte etwas Arbeit werden, bis das tatsächlich läuft, und lohnt sich 
nur, wenn Du Deine eigene Arbeitszeit mit 0€/h ansetzt.

fchk

Beitrag #7508453 wurde vom Autor gelöscht.
von Stephan S. (uxdx)


Lesenswert?

https://www.aliexpress.com/item/1005004939617931.html

und viele weitere Boards für wenige Taler

: Bearbeitet durch User
von Fabian N. (flyget)


Lesenswert?

Es wird in jedem Fall eine Eigenentwicklung, wobei der Aufwand eben 
optimiert/reduziert sein soll. Die Peak-API für den USB-Dongel z.B. kenn 
ich schon, da hab ich auch eine Software dazu geschrieben. Der 
Stundensatz für das Projekt is bei 0€/h g...

Die CAN-FD -> SPI Boards und ICs kenne ich, da fehlt mir aber eben die 
Abschätzung ob z.B. ein Raspi den Datendurchsatz packt.

@Frank
Das M.2 Board von PEAK kannte ich noch nicht, das klingt eigentlich 
perfekt. Wenn das in Kombination mit dem Raspi 5 funktioniert wäre das 
schon sehr edel. Das CM4 is ja eher nicht erhältlich...

Evtl. probiere ich es im ersten Schritt mit einem vorhandenen Raspi 3 
mit den ebenfalls vorhandenen USB-Dongeln. Im nächsten Schritt dann die 
Version mit dem M.2 Board.

von Frank K. (fchk)


Lesenswert?

Fabian N. schrieb:

> @Frank
> Das M.2 Board von PEAK kannte ich noch nicht, das klingt eigentlich
> perfekt. Wenn das in Kombination mit dem Raspi 5 funktioniert wäre das
> schon sehr edel. Das CM4 is ja eher nicht erhältlich...

Doch, schon:
https://rpilocator.com/?country=DE&cat=CM4

Ich weiß aber nicht, ob der Treiber jemals auf was anderem als amd64 
getestet wurde. Der Pi hat ja PCIe-mäßig einige Quirks. Daher meine 
Empfehlung für Odroid H3(+). Das wird dann tatsächlich einfach so 
funktionieren.

fchk

von Top S. (topsoft)


Lesenswert?

Hallo,
der Teensy 4.1 hat doch unter anderem einen Can-FD. Noch einen MCP2562FD 
dran und fertig. Da gibt es 1 SDIO (4 bit) native SD Card Port an einem 
ARM Cortex-M7 mit 600 MHz, zur Not auch Usb 2.0 Hi Speed. Das sollte 
wohl für zwei Sensoren mehr als ausreichend sein.
Gruß

: Bearbeitet durch User
von Rolf M. (rmagnus)


Lesenswert?

Muss denn unbedingt jeder Sensor seinen eigenen CAN haben?

Frank K. schrieb:
> Ich weiß aber nicht, ob der Treiber jemals auf was anderem als amd64
> getestet wurde.

Die Peak-Treiber sind doch seit längerem Teil des mainline-Kernels:
https://www.peak-system.com/fileadmin/media/linux/index.htm

Top S. schrieb:
> Hallo,
> der Teensy 4.1 hat doch unter anderem einen Can-FD. Noch einen MCP2562FD
> dran und fertig.

Wenn tatsächlich zwei separate CANs nötig sind, müsste man halt noch 
einen zweiten CAN-FD-Controller anschließen. Ansonsten denke ich auch, 
dass der Teensy ziemlich gut für diesen Einsatzzweck geeignet sein 
sollte.
Wenn man die 600 MHz nicht braucht, kann man ihn auch niedriger takten, 
um Strom zu sparen, und platzmäßig wird man wohl auch kaum was 
kompakteres finden.

von Daniel G. (denial)


Lesenswert?

Vergiss den MCP2518FB bzw. MCP25625FD. Der Raspi wird die Daten nicht 
schnell genug abholen können wenn der Bus ausgelastet ist, selbst bei 
einem Bus. Das Protokoll ist viel ineffizienter als beim MCP2515 (der 
aber, wie bereits angesprochen, kein CAN-FD kann).

Meine Empfehlung: Nimm einen kleinen Mikrocontroller mit eingebautem 
CAN-FD Controller und lass den die Daten über eine serielle 
Schnittstelle mit RTS/CTS Flow Control rauspusten.

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.