Forum: Mikrocontroller und Digitale Elektronik Günstiger CAN-Adapter, der unter Linux unterstützt wird?


von Steffen K. (botnico)


Lesenswert?

Hallo,,

ich habe mich gerade nach günstigen CAN-Adaptern umgeschaut, die unter 
Linux unterstützt werden. Im Vergleich zu SWD-Adaptern oder 
RS232-Adaptern sind CAN-Adapter ziemlich teuer.

Eigentlich müsste es doch möglich sein, mit wenig Aufwand einen 
CAN-Adapter herzustellen, der sogar CAN-FD kann:

USB - FTDI-Chip - MCP2517FD - Transceiver - CAN

Das sollte mit einem Bauteilwert von <10 Euro möglich sein, PCB 2-Lagig.

USB müsste High-Speed sein, wegen CAN-FD.

Kennt jemand ein Projekt/Produkt, das das umgesetzt hat?

von Rüdiger B. (rbruns)


Lesenswert?


von Oliver R. (orb)


Lesenswert?

Steffen K. schrieb:
> Das sollte mit einem Bauteilwert von <10 Euro möglich sein, PCB 2-Lagig.

Ja, aber wer macht's?
Wer Can professionell einsetzt hat auch das Geld für die Adapter, die 
Bastler bringen nicht genug Umsatz. Also gibt es keinen Anreiz für eine 
Entwicklung von Low-Cost.

von Christian M. (likeme)


Lesenswert?

Und was bringt dir das? Das ist so wie Telefon abhören ohne die Sprache 
zu kennen. Datenbank zu den Signalen?!?

von Steffen K. (botnico)


Lesenswert?

Rüdiger B. schrieb:
> 10 nicht aber 20:
> https://www.ebay.de/itm/393164526886

Da steht nur, dass es unter WINXP/7/10 32/64 bit läuft.
Was genau geliefert wird (Software) steht nicht dabei, was für Chips in 
dem Adapter sind, auch nicht.
Weisst du ob das Ding unter Linux funktioniert?

von Scyte R. (scyte)


Lesenswert?

https://github.com/candle-usb/candleLight_fw
Funktioniert sehr gut als Firmware für gängige Adapter.

Such dir da die Hardware raus

von Torsten R. (Firma: Torrox.de) (torstenrobitzki)


Lesenswert?

Steffen K. schrieb:

> Eigentlich müsste es doch möglich sein, mit wenig Aufwand einen
> CAN-Adapter herzustellen, der sogar CAN-FD kann:

Viele vergessen bei solchen Kalkulationen, dass auch noch Software dazu 
entwickelt werden muss. Nimm mal 3 Mann-Monate Aufwand, kleine 
Stückzahlen und mach' die Rechnung dann noch mal :-)

von Stephan S. (uxdx)


Lesenswert?

Rüdiger B. schrieb:
> 10 nicht aber 20:
> https://www.ebay.de/itm/393164526886

Da gibt es noch mehr, z.B. https://www.ebay.de/itm/275548560488 da ist 
zumindest der Chip bezeichnet TJA1051

von Frank K. (fchk)


Lesenswert?

Stephan S. schrieb:
> Rüdiger B. schrieb:
>> 10 nicht aber 20:
>> https://www.ebay.de/itm/393164526886
>
> Da gibt es noch mehr, z.B. https://www.ebay.de/itm/275548560488 da ist
> zumindest der Chip bezeichnet TJA1051

Das ist nur der Transceiver, und der ist für die Software irrelevant.

Ich hab für Kundenprojekte immer die Teile von PEAK gekauft - die 200 
oder 300€ gingen in den Entwicklungsdienstleistungen einfach unter.

fchk

von Steffen K. (botnico)


Lesenswert?

Torsten R. schrieb:
> Steffen K. schrieb:
>
>> Eigentlich müsste es doch möglich sein, mit wenig Aufwand einen
>> CAN-Adapter herzustellen, der sogar CAN-FD kann:
>
> Viele vergessen bei solchen Kalkulationen, dass auch noch Software dazu
> entwickelt werden muss. Nimm mal 3 Mann-Monate Aufwand, kleine
> Stückzahlen und mach' die Rechnung dann noch mal :-)

Wieso denn das? Wenn die Hardware kompatibel zu einem bereits 
vorhandenen Treiber im Linux-Kernel ist, entfällt das. Und darauf setzen 
dann unzählige Tools auf, die es auch schon gibt...

von Torsten R. (Firma: Torrox.de) (torstenrobitzki)


Lesenswert?

Steffen K. schrieb:

> Wieso denn das? Wenn die Hardware kompatibel zu einem bereits
> vorhandenen Treiber im Linux-Kernel ist, entfällt das. Und darauf setzen
> dann unzählige Tools auf, die es auch schon gibt...

Wenn so ein Treiber existiert, dann ist das super. Dann funktioniert es 
immerhin schon mal unter Linux.

von Stephan S. (uxdx)


Lesenswert?

Steffen K. schrieb:
> Wieso denn das? Wenn die Hardware kompatibel zu einem bereits
> vorhandenen Treiber im Linux-Kernel ist, entfällt das. Und darauf setzen
> dann unzählige Tools auf, die es auch schon gibt...

Ich hab da nochwas gefunden: https://elinux.org/CAN_Bus

von Ge L. (Gast)


Lesenswert?

Steffen K. schrieb:

> Eigentlich müsste es doch möglich sein, mit wenig Aufwand einen
> CAN-Adapter herzustellen, der sogar CAN-FD kann:
>
> USB - FTDI-Chip - MCP2517FD - Transceiver - CAN

Da gibt es von Lawicel den CAN-USB: 
https://www.canusb.com/products/canusb/
Das Ding setzt CAN auf USB um, und läuft als virtueller COM-Port mit 
einem Terminalprogramm Deiner Wahl.

Im Netz und beim freundlichen Chinesen findet man Dutzende von Geräten, 
die funktions- und SW-kompatibel zum CAN-USB sind. Der stellt damit eine 
Art Quasi-Standard im Hobbybereich dar.

von Harry L. (mysth)


Lesenswert?

Der läuft unter Linux, allerdings sollte man keine 
Geschwindigkeits-Wunder erwarten:
https://www.amazon.de/USBtin-USB-CAN-Adapter-Evaluation-Board-SMD/dp/B00U42KYOG

von Jürgen (temp1234)


Lesenswert?

zum fast gleichen Preis in isoliert:

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

Sourcecode gibts auch:

https://github.com/karlyamashita/CANable_USB_CAN

Ich benutze nur slcan kompatible Adapter und schreibe meine Software 
(privates Umfeld) auch nur dafür. Damit sind die Adapter unter 
Win/Linux/OSX einsetzbar ohne im Code Anpassungen machen zu müssen. Das 
ist in meinen Augen besser als SocketCan

von Thomas F. (igel)


Lesenswert?

Steffen K. schrieb:
> Eigentlich müsste es doch möglich sein, mit wenig Aufwand einen
> CAN-Adapter herzustellen, der sogar CAN-FD kann:
>
> USB - FTDI-Chip - MCP2517FD - Transceiver - CAN

Da fehlt zwischen FTDI und MCP noch ein Mikrocontroller als Übersetzer.
Da könnte man einen ATXmega mit USB nehmen und den FTDI einsparen. Oder 
einen STM32.


> Das sollte mit einem Bauteilwert von <10 Euro möglich sein, PCB 2-Lagig.

Ja, geht. Schon gemacht:
Beitrag "Re: USBtin Protokoll"

Aber das Problem ist die Firmware des Controllers. Da wird es ganz rar 
etwas passendes zu finden. Mein obiges Projekt ist nur zu 90% fertig 
geworden, das hat für meine Zwecke ausgereicht. Aber noch ohne CAN-FD.
Eine Platine mit ATXMega32A4U und MCP2517 habe ich schon seit 2 Jahren 
fertig. Aber bei der Software bin ich nie über den Anfang rausgekommen. 
Keine Zeit mehr.

von Ge L. (Gast)


Lesenswert?

Der hier ist Lawicel-kompatibel: 
http://www.kreatives-chaos.com/artikel/can-debugger

von Rudolph R. (rudolph)


Lesenswert?

Die Software läuft wohl auch unter Linux:
https://github.com/jgressmann/supercan

Und die hier sind von mir:
https://github.com/RudolphRiedel/USB_CAN-FD

Das ist nur mehr so DIY, dafür komplett offen und der Hardware-Support 
wächst langsam.
Und ja, meine Platinen sind jetzt nicht auf No-Budget getrimmt, auch 
nicht wenn man die selber aufbaut.

von Jens R. (tmaniac)


Lesenswert?

Rudolph R. schrieb:
> Und die hier sind von mir:
> https://github.com/RudolphRiedel/USB_CAN-FD

Rudolf, hast du mit dem CANpp welches da als Windows Programm erwähnt 
wird auch was am Hut? Das sieht ja von der Oberfläche viel versprechend 
aus. Nur leider nicht als OpenSource, so das man andere Hardware 
anbinden könnte.

von Rüdiger B. (rbruns)


Lesenswert?

Jens R. schrieb:
> Nur leider nicht als OpenSource

https://github.com/TDahlmann/canpp

von Jens R. (tmaniac)


Lesenswert?

Rüdiger B. schrieb:
> Jens R. schrieb:
>> Nur leider nicht als OpenSource
>
> https://github.com/TDahlmann/canpp

Janeee, da ist eben nicht der Source. Der Code der dort hinterlegt ist, 
sind "Plugins". Man kann im CANpp Simulationen und so in C++ 
programmieren. Das macht das Programm eben so interessant.

von Rudolph R. (rudolph)


Lesenswert?

Direkt habe ich damit nichts zu tun, aber das Repository hat doch sogar 
"Discussions" eingeschaltet, frag doch einfach. :-)

von Ricardo M. (ricardodidneineleven)


Lesenswert?

Warum unbedingt Linux? Hast du ein Projekt wo du den Adapter einbinden 
willst?

von Jens R. (tmaniac)


Lesenswert?

Rudolph R. schrieb:
> Direkt habe ich damit nichts zu tun, aber das Repository hat doch sogar
> "Discussions" eingeschaltet, frag doch einfach. :-)

Ich hatte jetzt gehofft auf Deutsch fragen zu können 😁

von Rudolph R. (rudolph)


Lesenswert?

Jens R. schrieb:
> Rudolph R. schrieb:
>> Direkt habe ich damit nichts zu tun, aber das Repository hat doch sogar
>> "Discussions" eingeschaltet, frag doch einfach. :-)
>
> Ich hatte jetzt gehofft auf Deutsch fragen zu können 😁

Frag doch auf Deutsch, rein zufällig (hust) bin ich sicher, dass er kein 
Problem damit hat das zu verstehen. :-)

von Caniot T. (caniot_t)


Lesenswert?

es kommt drauf an was du vor hast... bei uns waren die low cost adaptern 
nicht viel entsprechend...

Wir haben denn ein selbst entwickeltes tool  zum Prototypen von CAN/LIN 
Produkten realisiert.wenn jemand dran interessiert ist, kann mich 
kontaktieren.

https://youtu.be/v7mLR_Qxoy0

von Jürgen (temp1234)


Lesenswert?

Jürgen L. schrieb:
> zum fast gleichen Preis in isoliert:
>
> https://www.ebay.de/itm/275548569148
>
> Sourcecode gibts auch:
>
> https://github.com/karlyamashita/CANable_USB_CAN
>
> Ich benutze nur slcan kompatible Adapter und schreibe meine Software
> (privates Umfeld) auch nur dafür. Damit sind die Adapter unter
> Win/Linux/OSX einsetzbar ohne im Code Anpassungen machen zu müssen. Das
> ist in meinen Augen besser als SocketCan

So, ich hab zu den Adaptern neue Infos. Heute sind 3 angekommen und da 
ist die candleLight software installiert:

https://github.com/candle-usb/candleLight_fw

unter linux sollte das kein Problem sein.
Mein wichtigstes Tool ist immer CanHacker 2.00.02, das ich sowohl unter 
Windows bzw. unter Linux/Wine verwende. Dank des USB-Bootloaders kann 
man ja auch die slcan Firmware von hier verwenden:

https://github.com/makerbase-mks/CANable-MKS/

die spielt aber mit CanHacker nicht besonders zusammen. Das 
Connecten/Trennen dauert ewig der Listen Only Modus geht nicht.
Das kann natürlich auch am CanHacker liegen. Hier mal ein Link zur recht 
schwer zu findenden Software:

https://mk4-wiki.denkdose.de/artikel/can-bus/canhacker

Die Software von karlyamashita spricht doch nicht SLCAN, also ist 
Handarbeit angesagt.

von Steffen K. (botnico)


Lesenswert?

Stephan S. schrieb:
> Da gibt es noch mehr, z.B. https://www.ebay.de/itm/275548560488 da ist
> zumindest der Chip bezeichnet TJA1051

Mein Exemplar ist angekommen.
Da ist ein STM32F072C8T6 verbaut.
Meldet sich unter Linux als candleLight USB to CAN adapter.

von Steffen K. (botnico)


Lesenswert?

Jürgen L. schrieb:
> Hier mal ein Link zur recht
> schwer zu findenden Software:
>
> https://mk4-wiki.denkdose.de/artikel/can-bus/canhacker

Letzte Version von 2015?
Ich denke die SW ist EOD.

von Steffen K. (botnico)


Lesenswert?

Jetzt habe ich cangaroo getestet. Das Programm erkennt den Adapter.
https://github.com/HubertD/cangaroo

Für Windows gibt es Binaries:
https://canable.io/getting-started.html

Für Linux muss selbst compiliert werden. Hier ein Howto:
https://acassis.wordpress.com/2021/05/27/compiling-canable-cangaroo-for-linux/#comment-28808

Das Programm scheint nicht hotplug fähig zu sein.
Deshalb muss der Adapter vor dem Programmstart angeschlossen werden.

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


Lesenswert?

Peak-System kann das:
https://www.peak-system.com/Treiber.523.0.html

Das Preis/Leistungsverhältnis finde ich OK, zumal die sehr gute Treiber 
und eine API samt ordentlicher Doku bieten.
Ich nutze die unter Windows und bin sehr zufrieden. Ich habe schon 
mehrere Programme geschrieben und deren API genutzt. Mit Linux habe ich 
bisher noch keine Erfahrung.

Hier z.B. ein USB/CAN Adapter, der auch FDCAN kann:
https://www.peak-system.com/PCAN-USB-FD.365.0.html

Der günstigere kann nur CAN 2.0x, wenn, dann sollte man schon in FDCAN 
investieren.

Absolute Vorteil:
Mit einem einzigen Adapter kann der Treiber bis zu 8 Programme 
gleichzeitig nutzen, somit kann man seine eigene EXE sowie den Viewer 
parallel nutzen.

Nachteil:
Ist deutlich teurer als 10€.
Dafür hat er eine galvanische Trennen gleich mit drin.

Sorry, der Thread ist ja schon über einen Monat alt, da ist das Thema 
für den TO wahrscheinlich eh schon vorbei.

: Bearbeitet durch User
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.