Forum: Mikrocontroller und Digitale Elektronik AVR dierekt an CAN-Signal


von Rene S. (gigastulle)


Lesenswert?

Hallo zusammen

Ich habe mir einen eigenen Can-adapter gebaut der auch super 
funktioniert unter anderem habe ich eine funktion programiert, die die 
baudrate vom jeweiligen Cansignal selber findet...Das fuktioniert auch 
super nur dauert das ewig :( Nich zu letzt liegt das daran, das er immer 
1.Sek wartet bis er Die registerpaare CNF1 CNF2 CNF3 um eins 
erhöht...Nun zu meiner Frage ich hab mir überlegt, wenn ich das CAN_low 
signal dirikt an einen AVR Pin lege, und diesen wärend der "Auto-suche" 
ständig abfrage dann weis ich doch das gerade etwas gesendet wurde und 
wenn ich dann so 10ms später im MCP nachschaue und nix drin ist...usw

Hat das schon mal einer gemacht von euch ???

Ich würde auch gerne den abschlusswiederstand per Reed relais dazwischen 
schalten hab nur angst das mir die spule in dem relais das CAN signal 
negativ beinträchitg oder was meint ihr ???

Vielen dank schon ma im vorraus

von winne (Gast)


Lesenswert?

das finde ich alles ziemlich interresant.

zu deiner frage, nimm doch einen Analogschalter mit FET statt read 
relais oder nur nen digital poti welches du zwischen 50 Ohm und 50 kOhm 
umschaltest.

von Andreas K. (a-k)


Lesenswert?

Rene Schir wrote:

> erhöht...Nun zu meiner Frage ich hab mir überlegt, wenn ich das CAN_low
> signal dirikt an einen AVR Pin lege,

Nimm lieber das Rx-Signal vom Transceiver. Dann lebt der AVR länger.

Und das wiederum liegt da schon. Musst du bloss abfragen.

> Ich würde auch gerne den abschlusswiederstand per Reed relais dazwischen
> schalten hab nur angst das mir die spule in dem relais das CAN signal
> negativ beinträchitg oder was meint ihr ???

Du sollst nicht die Spule vom Relais in Serie zum Abschlusswiderstand 
schalten, sondern den Schaltkontakt.

von Andreas K. (a-k)


Lesenswert?

winne wrote:

> zu deiner frage, nimm doch einen Analogschalter mit FET statt read
> relais oder nur nen digital poti welches du zwischen 50 Ohm und 50 kOhm
> umschaltest.

Jo, und da der Spannungsbereich vom CAN Bus locker ausserhalb von 0..5V 
liegen kann betreibst du diese Dinger natürlich mit +/-12V.

von Andreas K. (a-k)


Lesenswert?

Andreas Kaiser wrote:

> Und das wiederum liegt da schon.

Jedenfalls wenn der CAN Controller intern ist und auf 2 GPIO Pins gemuxt 
ist.

von winne (Gast)


Lesenswert?

Hallo Herr Kaiser,

habe ich irgend etwas über die Pegelanpassung verlautet?, geschweige von 
denn über eine direkte Kopplung?

Aber wer's potetialfrei will, nehme nen Solidstaterelaise z.B. von 
Cosmos. mit 5V steuerbar und mit weitem Spannungsbereich auf der 
Schaltseite verfügbar. Galvanisch getrennt durch optokoppler und in so 
manchem 56K Modem zu finden.

Wenn René bis dahin gekomen ist trau, ich im auch zu diese Hürde zu 
nehmen. Du offensichtlich denkst alle würden nur soweit denken wie du 
selbst, wenn überhaupt, hast du den Durchblick?

Schon mal auf die Idee gekommen er sei in der Lage einen Pegel 
anzupassen? Es ging wohl eher um die Signalauswertung. Ih glaube nicht, 
dass er zu doof ist Spannungsgrenzen eizuhalten wenn er in der Lage ist 
nen CAN-Bus ohne Treiberchip zu bedienen?

von Marius S. (lupin) Benutzerseite


Lesenswert?

Andreas hat schon recht, ist keine gute Idee die CAN-Signale per GPIO 
ein zu lesen. Damit zerschießt du dir am ende nur was.

An RX des CAN Transceivers liegt doch schon das gewünschte Signal... 
also warum noch mehr aufwand treiben?

Gegen das Relais um den Abschlusswiderstand zu schalten ist nichts aus 
zu setzen. Im Schaltmoment kann es sein das du dir Störungen einfängst. 
Aber sobald das Relais geschaltet hat ist es ja ein quasi ohmscher 
Verbraucher.

von Andreas K. (a-k)


Lesenswert?

winne wrote:

> wenn er in der Lage ist nen CAN-Bus ohne Treiberchip zu bedienen?

Und den CAN Controller MCP[2515] mit seinen Registern CNF1-3 hat er nur 
zur Zierde drauf?

von winne (Gast)


Lesenswert?

o.k. darauf hatte ich nicht geschaut, ändert aber nichts daran dass man 
anderen auch etwas zutrauen darf.

von Andreas K. (a-k)


Lesenswert?

winne wrote:

> o.k. darauf hatte ich nicht geschaut, ändert aber nichts daran dass man
> anderen auch etwas zutrauen darf.

Von Potentialtrennung zwischen Controller und CAN-Bus war nirgends die 
Rede, und ohne die dürfen die CAN-Signale mindestens im Bereich -7..+12V 
relativ zum GND Pin von Transceiver und Controller liegen. Da er einen 
CAN Controller verwendet und eine CAN_low Leitung erwähnt, war auch 
klar, dass er einen Transceiver verwendet.

Wenn man also den AVR direkt am Bus anschliesst, dann landet eine 
Potentialdifferenz zwischen den Nodes voll am AVR Pin und das ist nicht 
empfehlenswert.

Das gleiche gilt auch für Analogschalter oder Digitialpotis ohne innere 
Potentialtrennung, auch da wären Pegel ausserhalb von deren zulässigem 
Spannungsbereich laut CAN zulässig.

Nichts anderes habe ich damit ausgedrückt. Auf leicht sarkastische 
Weise, das mag sein. Aber wenn man schon Tipps mit solchen potentiell 
üblen Nebeneffekten gibt, sollte man mindestens darauf hinzuweisen.

von Marius S. (lupin) Benutzerseite


Lesenswert?

Muss man einfach mal mit klar kommen wenn jemand anders recht hat...

von Rene S. (gigastulle)


Lesenswert?

Das mit dem RX PIN ist eine gute Idee das werde ich mal 
probieren....Danke für eure Zahlreichen tips und auch wenn hier der eine 
oder andere der meinung is das ich zu doof sei dem sei gesagt...das soll 
er erstma selber bauen und dann sich noch mal hier melden den der teufel 
steckt im detail !!!

von Rene S. (gigastulle)


Lesenswert?

So ich habe Das Can signal Von RXD direkt an den AVR gehangen und das 
funktioniert einfach wunder bar vielendank noch mal !!!

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.