MCP2551 und PIC18F an Auto CAN Bus

Hi,

ich plane mittels einem MCP2551 und PIC18F den Schluesselstatus, Geschwindigkeit (und wenn moeglich) Gang auszulesen ueber den OBD2 port auszulesen (Fahrzeug-typ unbekannt, soll generisch fuer alle Autos mit CAN am OBD2 sein). Mir ist allerdings noch nicht voellig klar, wie ich den slope Widerstand am MCP2551 (Rs) zu waehlen habe. Ausserdem, muss ich den CAN Bus auf meiner Seite mit Widerstaenden terminieren oder reicht es wenn ich CANH/L direkt an den MCP2551 haenge.

Falls jemand noch einen Tip zu den do's and dont's am CAN Bus hat, oder evtl. einen Link zu einer fertigen Schaltung/Code hat, waere ich dankbar.

Gruss, Nikolaus

Reply to
Nikolaus Correll
Loading thread data ...

Ich bin kein Elektroniker und erst recht kein Spezialist für CAN-Bus. Ich habe aber bei einigen privaten CAN-Projekten den CAN-bus eingesetzt.

  1. Der Slope-Widerstand scheint lt. Doku nur bei hohen Übertragungsraten erfroderlich zu sein. Ich verwedne generell 10k und habe keine Probleme (allerdings bei 125k)

  1. Die nächste Hürde ist die korrekte Einstellung der Timing-Parameter . Bei meinen Projekten funktioniert es bestens bei den Nodes, deren Parameter ich selbst kontrollieren kann. Im Mischbetrieb mit anderen Nodes zeigen sich ejdoch immer wieder mal Übertragungsfehler - 125kBaud sind anscheinend nicht unbedingt gleich 125KBaud.

  2. Keine Ahnung - aber sind die Parameter für OBD2 standardisiert und veröffentlicht ? Weisst Du mit welchen IDs die gewünschten Informationen verschlüsselt sind ?

Gruss und Frohe Ostern

Nico "Nikolaus Correll" schrieb im Newsbeitrag news: snipped-for-privacy@n77g2000hse.googlegroups.com...

Reply to
Nicolas Nickisch

Nikolaus Correll schrieb:

Mit dem MCP2551 hab ich noch nicht gearbeitet, ist das dieser CAN-Controller von Microchip? Ich meine mich zu erinnern das es zu diesem ein Extra-Dokument zu den enthaltenen Bugs (der versch. Versionen) gibt. Im Datenblatt steht u.U. nicht alles was man wissen sollte.

Beim PCA82C250 /251 macht man den Slope-R bei hohen Datenraten zu 0Ohm, bei niedrigeren hängt es halt davon ab was an EMV tolerabel und Aufgrund Verkabelung und Übertragungsrate nötig ist. Also notfalls experimentell ermitteln und/oder leicht austauschbar vorsehen.

Terminieren sollte nicht nötig sein wenn Du das Teil an einen existierenden Bus dranhängst, der muss ja auch so schon laufen. Kann bei OBD aber auch anders sein, wenn es ein eigenes Segment ist. Siehe unten, in solchen Bauanleitungen sollte beschrieben/ersichtlich sein wie man es macht.

Wenn Du nicht unbedingt selbst alles machen willst: OBD-Projekte und fertige Produkte sollte es mittlerweile genug geben. Elektor hat da z.B. Bauanleitungen gebracht, die Teilesätze und Platinen werden wohl auch von einigen Firmen angeboten.

Jörg.

Reply to
Jörg Schneide

Danke Dir fuer Deine Nachricht.

10k habe ich nun wiederholt gesehen. Mir ist das Zusammenspiel von Timing-Parametern, Widerstand, und dem tatsaechlichen Bustakt (tun die Chips sich nicht selber an den Takt angleichen?) nicht ganz klar.

en

Nein, offentlich sind die Message IDs nicht, ausser ein par weniger die Standard sind. Es gibt jedoch bei Amazon einiges an Buechern zur Selbstdiagnose wo viele auch Hersteller-spezifische IDs zusammengetragen worden scheinen. Zusaetzlich gibt es noch einiges an Software fuer kommerzielle OBD2 Stecker, mit denen sich dann die IDs raten liessen.

Gruss, Nikolaus

snipped-for-privacy@n77g2000hse.googlegroups.com...

Reply to
Nikolaus Correll

er

ent

Schaue ich gleich mal rein, der MCP2551 ist ein CAN Transceiver und scheint mir pinkompatibel mit dem PCA82C250 zu sein. Frage mich, was der Unterschied ist.

den Bus

ers sein,

llte

Danke Dir, ich habe jetzt erstmal nicht terminiert. Die meisten MCU/ CAN Schaltplaene die ich gesehen habe, haben bei den Terminatoren einen Jumper. Ich habe allerdings noch kein einiziges OBD2/CAN Projekt gefunden. Die meisten Bausaetze implementieren nur die PWM-basierten Standards und K-Line mittels des (proprietaeren) ELM323 chips (auf PIC18 Basis). OBD2 Adapter die nur K-Line benutzen (Volkswagen) lassen sich soweit ich weiss relativ einfach bauen.

Gruss, Nikolaus

Reply to
Nikolaus Correll

Nikolaus Correll schrieb:

Achso, doch nur ein Transceiver, dann brauchst Du nicht zu suchen. Es gibt da einen Controller der über SPI o.ä. an einen µC angebunden werden kann um ihn CAN-fähig zu machen, den meinte ich.

Kannst Du ja auch vorsehen und falls nötig später auch noch einen Schalter dranlöten.

Oder Du machst es wie im Elektor vom Juni/07 und kopierst Dir die dortige Beschaltung des Transceivers. Bei der Gelegenheit könntest Du auch gleich die _ganze_ Schaltung kopieren oder einen Bausatz oder Fertiggerät bestellen.

Frag mich aber nicht was das Ding kann, in den entsprechenden Foren dazu sollte Dir aber geholfen werden können. Auf jeden Fall hat das Teil eine CAN Schnittstelle.

Jörg.

Reply to
Jörg Schneide

Danke Dir, der Artikel hilft sehr fuer die Beschaltung des Transceivers! Nikolaus

h

llen.

ollte

hnittstelle.

Reply to
Nikolaus Correll

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.