PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : CAN mit AT90CAN128



Christoph2
16.07.2012, 19:17
Hallo,

ich versuche gerade, mit einem AT90CAN128 Mikrocontroller CAN Nachrichten zu verschicken.
Da ich mit 3,3V arbeite, verwende ich den CAN Transceiver SN65HVD232D von TI. Der arbeitet laut Datenblatt mit 5V CAN Systemen zusammen.

In meinem Programm verwende ich die CAN Library von Kreatives Chaos (http://www.kreatives-chaos.com/artikel/universelle-can-bibliothek). Das Programm ist im Anhang.

Mein CAN Netzwerk besteht aus dem AT90CAN128, der im 500ms Abstand Sensorwerte versenden soll, und einem CANUSB (http://www.canusb.com/), der die Daten empfangen soll. Zwischen CANH und CANL ist auf beiden Seiten ein Abschlusswiderstand von 120 Ohm.

Mein Problem ist, dass die Pegel am CAN Bus nicht stimmen, sobald ich mein Programm auf den AVR Flashe.
Ich habe zwar kein Oszilloskop da (bin in einem Segelschiff an der Ostsee...), aber ich habe die Spannungspegel mit dem Multimeter gemessen, und bin der Meinung dass da was nicht passt.

Die uC Ausgänge (zwischen uC und CAN Treiber) sind zwar beide konstant auf 1,6V, was passen würde, aber die Ausgänge des CAN Treibers (also direkt am Bus) sind 1,8V und 2,7V.
Dadurch leuchtet am CANUSB die rote ERROR Led und er empfängt natürlich nichts.
Sollten die beiden CAN Bus Pegel nicht auch gleich hoch sein, wenn sie direkt am uC gleich hoch sind??

Wenn ich die Zeile "can_send_message(&msg);" auskommentiere, oder in AVR Studio auf "Erase Device" drücke, sind auf beiden Busleitungen 2,2V, so wie es glaube ich sein sollte...

Woran kann das liegen?? Den Can Transceiver habe ich schon ausgetauscht, das hat nichts verändert.

Ich sende mal mein Programm mit, vielleicht erkennt jemand die Fehlerursache.
Vielen Dank schon mal.

lg

Christoph

Manf
18.07.2012, 06:24
ich habe diesen Beitrag schon in "AVR (http://www.rn-wissen.de/index.php/AVR-Einstieg_leicht_gemacht) Programmierung" gepostet, aber da der Fehler auch an der Elektronik liegen kann, poste ich es hier nochmal.

https://www.roboternetz.de/community/threads/58586-CAN-mit-AT90CAN128-und-SN65HVD232D (https://www.roboternetz.de/community/threads/58586-CAN-mit-AT90CAN128-und-SN65HVD232D)

Nachdem jetzt eine Antwort im anderen Thread kam machen wir den hier erst einmal zu damit es in einem Thread laufen kann.