Forum: Mikrocontroller und Digitale Elektronik Wie encodiert ihr Can Bus aus?


von Robotiker (Gast)


Lesenswert?

Hallihallo,

Ist diese Adapter überhaupt zum Encodieren geeignet?

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

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

Ist letzteres auch geeignet? Weil "USB To CAN" hört sich ah wie wenn er 
damit nur Can Bus Daten schicken kann.

Ich will herausfinden ob dieser Shield überhaupt Daten sendet, weil es 
tut sich nämlich gar nix:
https://www.aliexpress.com/item/32242321274.html

von Harald A. (embedded)


Lesenswert?

Bei den Aliexpress-Dingern steht:
“Open PC-side debugging software source code!”. Open Source klingt gut, 
heißt aber meist, dass man selber sehen muss, wo man gescheite Software 
herbekommt.
Etwas Vernünftiges wäre Peak CAN Dongle, ist für privat aber reichlich 
teuer. Falls es geschäftlich ist, fange garnicht erst nicht mit dem 
Aliexpress-Zeug an.

Du sagst, nichts sendet. Hast Du zwei Shields? Abschlusswiderstand (min 
einer) vorhanden?

von Robotiker (Gast)


Lesenswert?

Also ich will RMD x8 pro v2 ansteuern wie in diesem Video:
https://www.youtube.com/watch?v=gsOPZltbvgM&t=342s

Bei mir funktioniert nur die mitgelieferte USB-Adapter für diesen Motor. 
D.h. der Motor funktioniert. Aber sobald ich Arduino + Shield dranhänge, 
funktioniert nichts.

Der Motor hat einen Widerstand eingebaut. Also (Bus Terminal Resistance) 
aktiviert.

Mein Oszilloskop Rigol DS1054Z hat kein CAN encoder

von NichtWichtig (Gast)


Lesenswert?

Wenn man geeignete PC Software nimmt sind vermutlich alle geeignet.

Der erste Link erzeugt beim überfliegen der Anleitung aber derartige 
Lachkrämpfe das ich da nicht weiter nach geschaut habe.

Zu 3:

KÖNNEN BUS Schild Expansion Board Entwicklung .. :groel:

Da muß man erstmal drauf kommen was das sein soll haha

Wenn man vom Sender UND Empfänger keine Ahnung hat könnte es aber 
schwierig werden.

Womöglich wäre ein Oszilloskop hilfreich(er).

von Harald A. (embedded)


Lesenswert?

Robotiker schrieb:

> Mein Oszilloskop Rigol DS1054Z hat kein CAN encoder

Öhm, das kann man doch so freischalten, oder irre ich mich da?

Ansonsten kann man CAN auch mit jedem Saleae Clone für <10€ decodieren, 
allerdings dann eher auf der Logikebene vor dem Transceiver.

Wie sieht denn das Scopebild generell aus? Totale Ruhe oder 
Dauersendung?

von Falk B. (falk)


Lesenswert?

https://www.can232.com/?page_id=16

Ist mit ~100 Euro bezahlbar, wenn gleich nicht auf arme Studenten 
Niveau.

von Thomas F. (igel)


Lesenswert?

Robotiker schrieb:
> Ist letzteres auch geeignet? Weil "USB To CAN" hört sich ah wie wenn er
> damit nur Can Bus Daten schicken kann.

Die können natürlich Senden und Empfangen. Allerdings braucht man dazu 
eine passende PC-Software.
Ich habe mir vor einigen Jahren mal so einen Billigen für 13€ von Ali 
gekauft. Hat nie funktioniert und ich habe ihn dann weggeworfen.


> Ich will herausfinden ob dieser Shield überhaupt Daten sendet, weil es
> tut sich nämlich gar nix:

Dazu braucht es doch keinen CAN-Decoder im 1054. Ich habe das gleiche 
Oszi: Einfach CAN-H an einen Kanal, CAN-L an den anderen und die Massen 
mit einem 1k - 10k Widerstand verbunden. Schon sieht man ob da was 
gesendet wird.

von Harald A. (embedded)


Lesenswert?

Falk B. schrieb:
> https://www.can232.com/?page_id=16
>
> Ist mit ~100 Euro bezahlbar, wenn gleich nicht auf arme Studenten
> Niveau.

Auf den ersten Blick ist das doch das Original mit LAWICEL Protokoll. Da 
könnte er auch einen Nachbau nehmen, z.B.
https://fischl.de/usbtin/

von Robotiker (Gast)


Lesenswert?

Harald A. schrieb:
> Öhm, das kann man doch so freischalten, oder irre ich mich da?

Alle Funktionen sind freigeschaltet. Aber der hat nur RS232, I2C, SPI

CAN Encoder hat nur Rigol ds4054 der aber zu teuer ist, oder nicht 
erhältlich.

Harald A. schrieb:
> Wie sieht denn das Scopebild generell aus? Totale Ruhe oder Dauersendung?

Eher totale Ruhe

von Harald A. (embedded)


Lesenswert?

Robotiker schrieb:
> Eher totale Ruhe

Dann würde ich schauen, ob das Shield zur Software passt oder ob es da 
evtl. kleinere Unterschiede gibt. Wenn der MCP2515 richtig angesteuert 
wird ist da eigentlich recht schnell eine vernünftige Ausgabe zu 
erwarten.

von Robotiker (Gast)


Angehängte Dateien:

Lesenswert?

Wenn ich den Send-Beispielscode von "Seeed_Arduino_CAN-master"
hochlade dann zeigt er immer "Can init fail. retry"

Dasselbe mit "CAN_BUS_Shield-1-master"

Wenn ich "SparkFun_CAN-Bus_Arduino_Library-master" nehme, zeigt er "Can 
init ok"

Oszilloskop zeigt dann wie im Foto.

Soll das so aussehen?

von Robotiker (Gast)


Lesenswert?

>  die Massen mit einem 1k - 10k Widerstand verbunden

Wie soll ich das genau verstehen? Ein Widerstand zwischen CANH und GND 
vom CanBus Shield verbinden? Dasselbe für CANL?

von Thomas F. (igel)


Lesenswert?

Robotiker schrieb:
>>  die Massen mit einem 1k - 10k Widerstand verbunden
>
> Wie soll ich das genau verstehen?

Die Oszi-Masse von CH1 oder CH2 über einen Widerstand mit der Masse des 
MCP-Shield verbinden.

von Thomas F. (igel)


Angehängte Dateien:

Lesenswert?

Hier mal ein Screenshot von einem funktionierenden Bus mit 500kBit ohne 
Masseverbindung zum Oszi.

von Robotiker (Gast)


Angehängte Dateien:

Lesenswert?

Ich verstehe die Wirkung des Widerstandes nicht. Ob mit (getestet 1,2k 
und 4,7k) oder ohne, also überhaupt nicht mit Masse verbunden, in beiden 
Fällen sieht das so aus wie im Foto. Immer noch irgendwas falsch?

von Harald (Gast)


Lesenswert?

Um zu sehen, ob überhaupt etwas gesendet wird, braucht man noch nicht 
unbedingt die zwei Kanäle. Schließe die Masseklemme fest an GND und gehe 
mit dem Scope auf CAN_H (oder auch CAN_L). Jaja, da kann man dann den 
differentiellen Pegel nicht bewerten, das ist im ersten Moment aber mal 
egal. Bei deinem Scopebild sieht es eher so aus, als ob da überhaupt 
kein Massebezug vorhanden ist.

Schau doch mal, ob da am SPI des MCP2515 überhaupt etwas ankommt. Mal 
alle Leitungen durchgehen, MOSI, CLK und CS.

von Robotiker (Gast)


Lesenswert?

Okay da kommen jetzt brauchbare Ergebnisse. Mit dem Kabel wo zwei 
Widerstände 120 ohm zwischen CANL und CANH verbunden sind.

Ich muss jetzt nur noch herausfinden warum das nicht mit

Seeed_Arduino_CAN-master

und

CAN_BUS_Shield-1-master von Mebus

geht. Wenn "init failed" zeigt, sind die MCP2515-Chips unterschiedlich?

von Falk B. (falk)


Lesenswert?

Robotiker schrieb:
> Wenn ich "SparkFun_CAN-Bus_Arduino_Library-master" nehme, zeigt er "Can
> init ok"

Schön. Aber wer sagt, daß dann auch gesendet wird?

> Oszilloskop zeigt dann wie im Foto.

Geht's noch etwas künstlerischer? Schon mal versucht, mit einem 
DIGITALOSZILLOSKOP einen Screenshot mit der eingebauten Funktion und 
USB-Stick zu machen? Das könnte die Bildqualität(tm) geringfügig 
verbessern.

> Soll das so aussehen?

Nö. Außerdem sollte man mal seinen Oszi und Trigger gescheit einstellen. 
Dann sieht man vielleicht auch was.

von Falk B. (falk)


Lesenswert?

Robotiker schrieb:
> Okay da kommen jetzt brauchbare Ergebnisse. Mit dem Kabel wo zwei
> Widerstände 120 ohm zwischen CANL und CANH verbunden sind.

Ohje, noch so ein Experte mit Null Grundlagenwissen. CAN braucht IMMER 
zwei Abschlußwiderstände an den physikalischen Enden des Busses. Nicht 
nur, um Signalreflektionen zu vermeiden, sondern auch, um den rezessiven 
Pegel herzustellen. Denn CAN arbeitet mit differentiellen Open Collector 
Signalen.

Und für eine gescheite Messung der CANH/L Signal MUSS die Masse der 
Tastköpfe an der Masse des CAN-Bus angeschlossen ein!

von Harald (Gast)


Lesenswert?

Robotiker schrieb:
> Wenn "init failed" zeigt, sind die MCP2515-Chips unterschiedlich?

MCP2515 bleibt MCP2515. Was soll sich da unterscheiden?

Ich kenne mich mit dem ganzen Arduino-Gedöns nicht so aus, aber das von 
Dir verlinkte Board hat ja offensichtlich so einige Sonderfunktionen wie 
GPS, Joystick, SD-Card usw.
Da sich vermutlich SD-Card und MCP2515 den SPI teilen könnte ich mir 
vorstellen, dass bei diesem speziellen Board die Verdrahtung von anderen 
CAN-Shields abweicht. Bitte Schaltpläne vergleichen.

von Rudolph (Gast)


Lesenswert?

Immer mehr mit meinem eigenen Adapter:
Beitrag "USB/CAN-FD Hardware und Software"

von Thomas F. (igel)


Angehängte Dateien:

Lesenswert?

Wenn die Massen des CAN-Boards, also des CAN-Transceivers mit den Massen 
der Oszi-Kanäle verbunden sind dann stimmt auch der Ruhepegel von 2,5V 
des CAN-Bus, hier im Bild.

von Falk B. (falk)


Lesenswert?

Thomas F. schrieb:
> Wenn die Massen des CAN-Boards, also des CAN-Transceivers mit den Massen
> der Oszi-Kanäle verbunden sind dann stimmt auch der Ruhepegel von 2,5V
> des CAN-Bus, hier im Bild.

Das muss nicht so ein, daß hat man nur bei Split Termination. Es gibt 
aber auch viele Tranceiver ohne diese, dann liegt der Ruhepegel NICHT 
bei VCC/2.

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.