CAN-Device oder Platine zum üben

OP #7503934
Lesenswert?

Hallo Zusammen,

Ich suche ein CAN-Device oder Platine als Gegenstelle um mich mit CAN beschäftigen zu können. Der Mikrocontroller, den ich verwende, ist STM32L432KC auf einem Nukleo-Board. Ein Transceiver ist nicht enthalten!

Ich möchte lediglich mit einer Gegenstelle Daten austauschen können. Ob ich dadurch LEDs schalte, Temperaturen auslese etc. ist Nebensache.

Kennt ihr da was?

Viele Grüße

#7503940
Lesenswert?

Ali K. schrieb:

Ich suche ein CAN-Device oder Platine als Gegenstelle um mich mit CAN beschäftigen zu können. Ich möchte lediglich mit einer Gegenstelle Daten austauschen können. Ob ich dadurch LEDs schalte, Temperaturen auslese etc. ist Nebensache.

Was für ein CAN? Gibt ja verschiedene Variätäten. Wie wäre es mit "MCP2515 CAN Bus Monitor Demo Board"?

Gruß Gunther

OP #7503945
Lesenswert?

Ja genau ein Demoboard benötige ich, das Wort ist mir beim erstellen des Threads nicht eingefallen.

Der "MCP2515 CAN Bus Monitor Demo Board" geht schon in die richtige Richtung, ist aber sau teuer für mein vorhaben. Des Weiteren ist es ein CAN <--> SPI?

Ich will mit meinem Nucleo-Board die CAN-HW initialisieren (ob selbst oder mit Cube) und dann einfach Nachrichten austauschen können.

Das heißt, ich brauche eine fertige Platine als Gegenstelle mit Firmware, Transceiver etc.

#7503969
Lesenswert?

Ali K. schrieb:

Kennt ihr da was?

Warum nicht einen Arduino plus MCP2515-Modul als Gegenstelle? Dann für den Nucleo noch einen Transceiver, und es kann losgehen. Oder halt zwei Nucleos, jeweils mit Transceiver, wie schon vorgeschlagen.

Hilfreich dabei sind Oszilloskop und Logikanalysator (den LA nicht direkt an die CAN-Leitungen, sondern an RX und TX der Transceiver).

LG, Sebastian

(Firma: EleLa - www.elela.de) #7503971
Lesenswert?

Als Gegenstelle um nicht nur zu üben sondern auch um eine Verbindung überprüfen zu können empfehle ich von der Firma Peak System den USB Adapter:

https://www.peak-system.com/PCAN-USB-FD.365.0.html

Damit hat man nicht nur eine 100% sicher funktionierende Gegenstelle sondern auch ein gutes Werkzeug incl. Software um das auf dem Bildschirm sehen zu können. Abgesehen davon hat die Firma eine sehr gute und dokumentierte API für eigene Programme.

Daher: Kaufempfehlung für jeden der mit CAN was machen möchte.

Dieser Adapter kann auch FD-CAN und ist somit für die Zukunft ebenfalls gut zu gebrauchen.

Ein Selbstbastel Board als Gegenstelle kann man zwar machen, spätestens beim zweiten oder dritten mal ist das dann nervig. Daher empfehle ich gleich ein gutes Werkzeug zu kaufen.

** Ich empfehle den Peak Adapter nicht aus Werbegründen sodern weil ich davon selbst welche habe und damit sehr zufrieden bin. Ich habe keine Verträge mit der Firma. **

Beitrag #7504024 wurde von einem Moderator gelöscht.
#7504591
Lesenswert?

Markus M. schrieb:

Als Gegenstelle um nicht nur zu üben sondern auch um eine Verbindung überprüfen zu können empfehle ich von der Firma Peak System den USB Adapter:

https://www.peak-system.com/PCAN-USB-FD.365.0.html

Dem schließe ich mich an. Ich habe auch so ein Teil. Bei CAN Entwicklung ist es absolut notwendig, einen definitiv funktionierenden Knoten am Bus zu haben. Du debuggst Dich sonst zu Tode.

** Ich empfehle den Peak Adapter nicht aus Werbegründen sodern weil ich davon selbst welche habe und damit sehr zufrieden bin. Ich habe keine Verträge mit der Firma. **

Dito.

fchk

#7505016
Lesenswert?

Ich würde dir zum Einstieg den fischl empfehlen:

https://www.fischl.de/usbtin/

Der arbeitet mit dem SLCAN Protokol das sich extrem einfach auf allen Systemen (win,osx,linux) verwenden lässt. Die üblichen Linux-Verdächtigen mit SocketCan sind da wesenlich unflexibler.

Etwas ähnliches gibt es massenhaft im Netz als canable:

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

sowohl isoliert als auch nicht isoliert. Eventuel mit der candelight Firmware wie oben genannt.

OP #7506250
Lesenswert?

Markus M. schrieb:

Als Gegenstelle um nicht nur zu üben sondern auch um eine Verbindung überprüfen zu können empfehle ich von der Firma Peak System den USB Adapter:

https://www.peak-system.com/PCAN-USB-FD.365.0.html

Damit hat man nicht nur eine 100% sicher funktionierende Gegenstelle sondern auch ein gutes Werkzeug incl. Software um das auf dem Bildschirm sehen zu können. Abgesehen davon hat die Firma eine sehr gute und dokumentierte API für eigene Programme.

Daher: Kaufempfehlung für jeden der mit CAN was machen möchte.

Dieser Adapter kann auch FD-CAN und ist somit für die Zukunft ebenfalls gut zu gebrauchen.

Ein Selbstbastel Board als Gegenstelle kann man zwar machen, spätestens beim zweiten oder dritten mal ist das dann nervig. Daher empfehle ich gleich ein gutes Werkzeug zu kaufen.

** Ich empfehle den Peak Adapter nicht aus Werbegründen sodern weil ich davon selbst welche habe und damit sehr zufrieden bin. Ich habe keine Verträge mit der Firma. **

Hi Leute, danke für eure Beiträge.

Auf der Arbeit habe ich in der Tat bereits ein Peak Adapter, aber für zu Hause ist das zu teuer. Auf der Arbeit konnte ich mich noch nicht wirklich mit CAN tiefer auseinander setzen, denn wir haben zwei Stacks fertig und funktionsfähig eingekauft.

Daher war die Idee, ein bisschen etwas zu Hause zu machen. Ich denke, ich werde lediglich versuchen, die CAN Hardware auf meiner Platine zu initialisieren und einfach irgendwelche Daten nach draußen zu senden. Mit einem Logic Analyser werde ich es dann tracen, ohne eine Gegenstelle zu haben.

#7506309
Lesenswert?

Ali K. schrieb:

Auf der Arbeit habe ich in der Tat bereits ein Peak Adapter, aber für zu Hause ist das zu teuer.

Wenn Du schon Peak teuer findest, wie bezeichnest Du dann die Vector-Produkte? Vector nutzen wir in der Firma, aber FZH (für zu Hause) habe ich mir einen Peak-Adapter geleistet, den billigen, nicht galvanisch getrennten empfinde ich als preiswert (er ist seinen Preis wert), der dazu verfügbare Linux-Stack ist perfekt für meine Anwendungen. So ein Teil hast du für die Ewigkeit. Wenn Du mehr Knoten brauchst, kannst Du mit dem Adapter funktionierende Gegenstellen designen und dann ebenfalls als "Master" für die Entwicklung nutzen. Ist wie in der Messtechnik, ein gutes Normal genügt, um davon alles abzuleiten.

#7506317
Lesenswert?

Martin H. schrieb:

habe ich mir einen Peak-Adapter geleistet, den billigen, nicht galvanisch getrennten empfinde ich als preiswert (er ist seinen Preis wert)

Dem kann ich nur zustimmen, die Peaks und die dazugehörigen Softwareprodukte sind super, in einem meiner Bastelrechner habe ich einen als PCI Karte und denke schon länger nach mir auch einen „mobilen“ zu holen.

OP #7506428
Lesenswert?

Martin H. schrieb:

Ali K. schrieb:

Auf der Arbeit habe ich in der Tat bereits ein Peak Adapter, aber für zu Hause ist das zu teuer.

Wenn Du schon Peak teuer findest, wie bezeichnest Du dann die Vector-Produkte? Vector nutzen wir in der Firma, aber FZH (für zu Hause) habe ich mir einen Peak-Adapter geleistet, den billigen, nicht galvanisch getrennten empfinde ich als preiswert (er ist seinen Preis wert), der dazu verfügbare Linux-Stack ist perfekt für meine Anwendungen. So ein Teil hast du für die Ewigkeit. Wenn Du mehr Knoten brauchst, kannst Du mit dem Adapter funktionierende Gegenstellen designen und dann ebenfalls als "Master" für die Entwicklung nutzen. Ist wie in der Messtechnik, ein gutes Normal genügt, um davon alles abzuleiten.

Ok, ihr habt mich überzeugt. Wenn ich mir das Teil besorge, will ich es dennoch auf meinem Nucleo-Board betreiben können. Das heißt, ich brauche einen Transceiver welcher mit 3,3V oder 5V läuft und in Dip-Package verfügbar ist. Ich will kein SPI-CAN haben sondern reines CAN. Desweiteren brauche ich eine Terminierung, müsste ich irgendwo in der Schublade haben.

#7506440
Lesenswert?

Ali K. schrieb:

Das heißt, ich brauche einen Transceiver welcher mit 3,3V oder 5V läuft und in Dip-Package verfügbar ist.

Gibt's sowas nicht zu Hauf als "Arduino"-/Maker-Zubehörplatine? Notfalls lötet man sich sowas selber (CAN-Transceiver kosten ja nun nicht die Welt und kompliziert zu verarbeiten sind die auch nicht). Ich habe mir eine CAN-RS485-Adapterplatine von Waveshare gegönnt, die auch auf einn Nucleo-Board passte, um damit (erfolgreich) ein Entwicklungssystemm für einen MODBUS-CAN-Umsetzer zu bauen. Allerdings hatte das Arduino- und Morpho-Steckverbinder. Das wird also nicht unbedingt für dein Nucleo passen.

#7506458
Lesenswert?

Ali K. schrieb:

Das heißt, ich brauche einen Transceiver welcher mit 3,3V oder 5V läuft und in Dip-Package verfügbar ist.

https://www.reichelt.de/bus-controller-1-treiber-1-empfaenger-dip-8-mcp-2562-e-p-p143744.html

https://www.microchip.com/en-us/product/mcp2562

Desweiteren brauche ich eine Terminierung, müsste ich irgendwo in der Schublade haben.

120 Ohm Widerstände, nichts besonderes.

fchk

#7506467
Lesenswert?

Ali K. schrieb:

Ok, ihr habt mich überzeugt.

Wovon?

Wenn ich mir das Teil besorge, will ich es dennoch auf meinem Nucleo-Board betreiben können.

Was möchtest du darauf betreiben?

Das heißt, ich brauche einen Transceiver welcher mit 3,3V oder 5V läuft und in Dip-Package verfügbar ist.

MCP2562

Ich will kein SPI-CAN haben sondern reines CAN.

Was ist SPI-CAN?

Desweiteren brauche ich eine Terminierung, müsste ich irgendwo in der Schublade haben.

Zwei Widerstände von je 120R für 2 Cent.

Ich fürchte du hast CAN nicht verstanden. Wie bereits erwähnt brauchst du einen zweiten Teilnehmer am BUS. Das kann ein CAN<->PC Adapter sein (Peak o. Ä.) oder ein beliebiger Knoten. Den du auch z.B. mit einem Arduino und den MCP2515 plus MCP2561 billig aufbauen kannst. Dazu nochmal der passende Stack, Hardware und Info: http://www.kreatives-chaos.com/artikel/can

Was möchtest du tun. Ans Mobil?

Ich hätte noch einen PEAK CAN-Dongle für 20 Taler abzugeben. Sollte mit einer LPT-Karte auch unter aktuellem WIN funktionieren. (?) https://www.peak-system.com/PCAN-Dongle.212.0.html

Als Software sei Busmaster empfohlen. https://rbei-etas.github.io/busmaster/

Uwe

Beitrag #7506470 wurde von einem Moderator gelöscht.
OP #7506557
Lesenswert?

Uwe B. schrieb:

Ali K. schrieb:

Ok, ihr habt mich überzeugt.

Wovon?

Wenn ich mir das Teil besorge, will ich es dennoch auf meinem Nucleo-Board betreiben können.

Was möchtest du darauf betreiben?

Das heißt, ich brauche einen Transceiver welcher mit 3,3V oder 5V läuft und in Dip-Package verfügbar ist.

MCP2562

Ich will kein SPI-CAN haben sondern reines CAN.

Was ist SPI-CAN?

Desweiteren brauche ich eine Terminierung, müsste ich irgendwo in der Schublade haben.

Zwei Widerstände von je 120R für 2 Cent.

Ich fürchte du hast CAN nicht verstanden. Wie bereits erwähnt brauchst du einen zweiten Teilnehmer am BUS. Das kann ein CAN<->PC Adapter sein (Peak o. Ä.) oder ein beliebiger Knoten. Den du auch z.B. mit einem Arduino und den MCP2515 plus MCP2561 billig aufbauen kannst. Dazu nochmal der passende Stack, Hardware und Info: http://www.kreatives-chaos.com/artikel/can

Was möchtest du tun. Ans Mobil?

Ich hätte noch einen PEAK CAN-Dongle für 20 Taler abzugeben. Sollte mit einer LPT-Karte auch unter aktuellem WIN funktionieren. (?) https://www.peak-system.com/PCAN-Dongle.212.0.html

Als Software sei Busmaster empfohlen. https://rbei-etas.github.io/busmaster/

Uwe

Du hast den ganzen Thread nicht gelesen. Es geht einfach nur ums üben.

Die Kollegen hier im Thread haben mich überzeugt, einen PCAN-Adapter zu besorgen. Mir ist übrigens eine alternative Möglichkeit eingefallen. Ich besitze neben dem Nucleo-Board auch einen SAMC21-Xplained Pro. Dort ist ein CAN-Tansceiver bereits drauf und die CANH und CANL sind nach außen hin ausgeführt. Mein Plan ist, den CAN vom Nucleo-Board zu verwenden. Die CAN TX und RX werden mit dem Transceiver auf dem Xplained-Board verbunden. Die CANH und CANL verbinde ich dann mit einem PCAN-Adapter.

-> Sollte so funktionieren.

#7506738
Lesenswert?

Ali K. schrieb:

Mein Plan ist, den CAN vom Nucleo-Board zu verwenden. Die CAN TX und RX werden mit dem Transceiver auf dem Xplained-Board verbunden. Die CANH und CANL verbinde ich dann mit einem PCAN-Adapter.

Wenn du CAN TX des Nucleo STM32 mit TXD des ATA6561 auf dem Xplained-Board verbindest, und GND des Nucleo mit GND des Xplained, und das Xplained-Board mit Strom versorgst damit der ATA6561 läuft, dann musst du aber aufpassen, dass die CAN0TX-Leitung des SAMC21 (also PA24) hochohmig bleibt.

LG, Sebastian

#7506799
Lesenswert?

Ali K. schrieb:

Hi, bevor ich über 180€ ausgebe, weiß jemand ob man damit zb die PCAN Software verwenden kann?

https://www.amazon.de/Konverter-Raspberry-Computer-Support-Windows/dp/B07Q812QK8

Nein. Der PCAN-Explorer kostet übrigens ca. 500,- Euronen. Die kostenlose Variante ist recht eingeschränkt. Wie geschrieben: Busmaster.

Oder welche Alternativen an Software hätte ich

Da wäre der CANable Open-Source USB to CAN Adapter: https://canable.io/ Die Dinger gibt es aus dem Reich der Mitte fertig im bekannten Auktionshaus für um die 10 Euro.

Dazu gibt es den open source can bus analyzer Cangaroo (Win & Linux): https://github.com/HubertD/cangaroo

Ich habe beides nicht getestet, steht aber auf der ToDo-Liste.

Uwe

#7506805
Lesenswert?

Ali K. schrieb:

Uwe B. schrieb:

Du hast den ganzen Thread nicht gelesen.

Doch, aber du schreibst recht wirres Zeug.

Es geht einfach nur ums üben.

Du solltest erst lernen. (und verstehen)

Die Kollegen hier im Thread haben mich überzeugt, einen PCAN-Adapter zu besorgen. Mir ist übrigens eine alternative Möglichkeit eingefallen. [...] Mein Plan ist, den CAN vom Nucleo-Board zu verwenden. Die CAN TX und RX werden mit dem Transceiver auf dem Xplained-Board verbunden. Die CANH und CANL verbinde ich dann mit einem PCAN-Adapter.

Das ist wirklich schwer zu verstehen. Was ist der "CAN"? wie kann man damit einen PCAN-Adapter ersetzen.

Ich habe mal für dich die Suchmaschine angekurbelt. Erster Treffer: https://controllerstech.com/can-protocol-in-stm32/

Anm. dazu: Der MCP2551 tut auch mit 3.3V, die Pegel auf dem Bus sind aber nicht normgerecht. Besser geeignet ist der bereits mehrfach erwähnte MCP2562, den gibt es auch im freundlichen DIL-Gehäuse. Braucht aber 3.3 und 5Volt Versorgung.

Uwe

Gast #7506807
Lesenswert?

Markus M. schrieb:

https://www.peak-system.com/PCAN-USB-FD.365.0.html

Damit hat man nicht nur eine 100% sicher funktionierende Gegenstelle sondern auch ein gutes Werkzeug incl. Software um das auf dem Bildschirm sehen zu können.

Hmmm, 260,- EUR. So wie ich verstanden habe, will der OT einfach ein wenig mit CAN basteln und Erfahrung sammeln. Ich denke, da wird er das Geld eher nicht ausgeben wollen! Wenn er sich beruflich mit dem Thema beschäftigen möchte, sieht es natürlich anders aus.

Und: ohne gegoogelt zu haben, denke ich, dass solche Adapter auch günstiger zu bekommen sind. CAN ist ja keine Geheimwissenschaft.

ciao

Marci

#7509922
Lesenswert?

kein SPI-CAN, ja verstehe du willst nicht vom µC, per SPI mit dem MCP2151 kommunizieren. Dann brauchst du entweder einen µC der den CAN-Controller integriert hat oder einen SJA1000 der hat einen ganzen 8bit Port und ein paar zusätzliche Pins wie ChipSelect, Read, Write,..... der könnte sogar 2 CAN-Bus-Systeme betreiben.

Gast #7511871
Lesenswert?

Es gibt bei AliExpress Netzteile, die man sehr einfach über CAn steuern kann, leider habe ich auch noch nicht so viel gut dokumentiertes gefunden, dass günstiger ist. Bei dem Netzteil sind alle Befehle etc ausgeführt

#7511895
Lesenswert?

Max M. schrieb:

Wäre halt ganz cool, wenn so KFZ Zeug gut dokumentiert wäre und man einfach bei ebay ein alten Teil kaufen könnte

Gateways z.B. von VW kosten unter EUR 20. Da liegt der Diagnose CAN-Bus an, OBD ist dokumentiert und zu UDS bei VW findet man genügend Informationen im Netz. Und es gibt zusätzlich noch diverse andere CAN-Busse auf denen das Gateway normalerweise periodisch Messages verschickt. Zum ersten Experimentieren mit dem CAN-Bus sollte das ausreichen.

#7511941
Lesenswert?

Alexander schrieb:

Zwei Stühle, eine Meinung. Aber ein einzelnes Gateway reicht da womöglich nicht.

Du meinst weil das Senden eventuell wegen des fehlenden ACK eingestellt wird? Bei keinem der Fahrzeug Gateways, die ich bisher gesehen war das so. Das heisst nicht dass es vielleicht doch welche gibt die das tun, es gibt aber genügend bei denen das nicht passiert.

Gast #7512036
Lesenswert?

Max M. schrieb:

Wäre halt ganz cool, wenn so KFZ Zeug gut dokumentiert wäre und man einfach bei ebay ein alten Teil kaufen könnte

Hol Dir doch einen ESP-Sensor vom Schrottplatz. Ohne Gegenstelle geht der ins Failsafe und sendet dann zyklisch Drehrate und Beschleunigung. Wenn man das Teil bewegt sieht man, welche Zahlen sich ändern. So hast Du einen Testsender mit 500 kbit/s.

OP #7512057
Lesenswert?

Alexander schrieb:

??? meine Radsensoren senden nichts

Das wird eine Einstellungssache sein. Beim STM32 z.B. gibt es die Möglichkeit, dass bei einem NACK von einem Knoten der Sender automatisch erneut sendet. Eventuell ist das ausgeschaltet.

Bit 4 NART: No automatic retransmission 0: The CAN hardware will automatically retransmit the message until it has been successfully transmitted according to the CAN standard. 1: A message will be transmitted only once, independently of the transmission result (successful, error or arbitration lost).

#7514406
Lesenswert?

Der Vollständigkeit halber zu dem Hinweis weiter oben auf ein Fahrzeug-Gateway ein konkretes Beispiel:

Das VW Gateway Teilenummer 3C0907530C gibt es für unter EUR 20 inklusive Versand. Andere Varianten mit einem anderen Buchstaben als das "C" am Ende gehen vermutlich ebenfalls.

Das Gateway hat folgende CAN-Busse:

1
Diagnose-CAN     500 kbit/s (im Gateway mit 60 Ohm terminiert)
2
Antrieb-CAN      500 kbit/s
3
Kombi-CAN        500 kbit/s (im Gateway mit 60 Ohm terminiert)
4
Komfort-CAN      100 kbit/s
5
Infotainment-CAN 100 kbit/s

Eine Anschlussbelegung gibt es z.B. hier (Bild im Anhang):

https://www.dunt.at/b6-gateway/

T20d/11 kommt an Masse, T20d/14 und T20d/1 an +12 Volt.

Wenn das Gateway an die Spannungsversorgung angeschlossen ist werden auf allen CAN-Bussen bis auf den Diagnose-CAN periodisch Nachrichten verschickt, auch wenn keine Gegenstelle angeschlossen ist und damit keine Bestätigung des Empfang erfolgt (das kann man mit dem Oszilloskop prüfen).

Der Diagnose-CAN reagiert z.B. auf die folgende Nachricht (VW Transport Protocol 2.0, "Channel setup"):

1
Request  0x200: 1F C0 00 10 21 03 01
2

3
Response 0x21F: 00 D0 21 03 2E 03 01   (wird mehrfach wiederholt)
4
Response 0x321: A8

Ein paar Informationen zum VW Transport Protocol 2.0 findet man z.B. hier:

https://jazdw.net/tp20

Als Anmerkung: in dem Gateway 3C0907530C von Temic sind ein µPD70F3178(A) (V850E/CG3), zwei TJA1054 (CAN Transceiver), drei TLE6250 (CAN Transceiver) und ein M95160 (SPI EEPROM) verbaut.

Angehängte Dateien:
#7514484
Lesenswert?

Alexander schrieb:

Und wo sind die dazu passenden CAN IDs und Bitfelder die es angeblich genügend im Netz gibt? Ohne die versteht man nur 火车站

Wenn Du mit dem Informationen unter dem angegebenen Link zum VW Transport Protocol 2.0 nicht in der Lage bist z.B. einen "Read Data By Local Identifier" Request an das Gateway zu schicken solltest Du Dich vielleicht zuerst mit den Grundlagen beschäftigen.

Und nein, es geht nicht um sämtliche Details dieses VW Gateways sondern um eine günstige Gegenstelle mir der man die ersten Experimente mit dem CAN-Bus machen kann.

Und ja, wenn man im Netz sucht würde man auch einige Details zu den Messages finden, die auf den anderen CAN-Bussen des Gateways verschickt werden. Aber darum geht es nicht wenn man als allererstes nur eine Gegenstelle braucht die irgend etwas auf dem CAN-Bus verschickt.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren