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?
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
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).
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?
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.
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
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.
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?
> 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?
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.
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?
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.
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?
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.
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!
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.
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.
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.