Forum: Fahrzeugelektronik I²C-Bus für Kfz-Offroad-Steuerung


von Fl B. (nils-productions)


Lesenswert?

Hallo zusammen,

ich bin recht neu (bzw. lange nicht mehr) im Thema und Versuche mir eine 
Steuerung fürs Fahrzeug der Offroad-Hilfsmittel zu bauen.

Es müssen Signale vom Fahrzeug ausgewertet werden:
- Zündung
- ZV
- Scheinwerfer
- Rückwärtsgang
- ...

Geschaltet werden sollen:
- div. Zusatzscheinwerfer
- Seilwinde
- Batterien koppeln
- Solarmodule
- Wasserversorgung
- ...

Diese müssen dann zusammen mit Einstellungen über ein Benutzerbedienfeld 
verarbeitet werden, um die richtigen Komponenten anzusteuern.

Aufnahme der Signal aus dem Fahrzeug und die Steuerung als Master wollte 
ich über einen Controllino Mini oder Maxi aufbauen.

Doch jetzt wird es interessant, da die Signale im ganzen Fahrzeug 
(Motorraum, Dach, Schnorchel,...) verteilt werden müssen. Um nicht 
40-adrige Kabel mit je 4mm² pro Ader verlegen zu müssen (was auch gar 
nicht passen würde), wollte ich die Ansteuerung über einen I²C-Bus 
steuern.

Da ich recht viele Geräte steuern muss, bin ich auf den MCP23017 
gekommen, um die Signale zu expandieren und dann wieder auf den 12V 
Pegel anzuheben.

Ich weiß nicht, ob ich das Datenblatt des MCP23017 nun richtig gelesen 
habe und daher folgende Fragen:
- Kann ich den MCP23017 gleichzeitig im Read und Write betreiben? 
Bedeutet für mich, ein Datenpaket schicken, wo im MCP23017 GPA 
ausgelesen werden soll und GPB geschrieben werden soll?
- Die Adresse wird HW über A0 bis A2 eingestellt werden, was für mich 
bedeutet ich kann "nur" 8 Stück MCP23017 auf einem I²C-Bus betreiben 
kann. Ist das richtig?

Aber nun nochmal zurück zum Grundgedanken.
Der Master: Controllino
Der I²C-Bus-Repeater: P82B715
Der I²C-Bus Wandler: MCP23017

Hat jemand schon Erfahrungen, welche Vorschaltung ich vor die ICs 
P82B715 & MCP23017 zum Entstören der Versorgungsspannung setzen kann? 
Zum Beispiel bestehend aus:
- L/C-Glied
- Festspannungsregler

Hat jemand schon Erfahrungen, welche Lastregelung ich nach dem MCP23017 
zum Entstören setzen kann? Ich muss Leistungen bis 300 W schalten, daher 
dachte ich, ich müsste über MOSFET treiben und dann mit Relais die Last 
schalten...

Danke schon mal für jede Antwort und eure Hilfe.

Viele Grüße

von STK500-Besitzer (Gast)


Lesenswert?

Warum man in Kfz wohl den CAN-Bus verwendet?

von Flo (Gast)


Lesenswert?

Vergiss I2C, nimm CAN.

von Maxx (Gast)


Lesenswert?

Fl B. schrieb:
> wollte ich die Ansteuerung über einen I²C-Bus
> steuern.

Davon würde ich abraten. Störungen, die du dir im KFz bei den langen 
Leitungen einfängst hauen dir das Protokoll durcheinander.

Warum nicht das, was die Industrie für genau diese Anwendung entworfen 
hatnutzen? Schau mal nach CAN.

von Fl B. (nils-productions)


Lesenswert?

Kennt jemand CAN-Bus ähnliche Bausteine?

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Fl B. schrieb:
> wollte ich die Ansteuerung über einen I²C-Bus
> steuern.

Das ist keine gute Idee. I²C ist mal dazu gedacht gewesen, um ICs 
innerhalb von Geräte zu verbinden und hat keinerlei Vorkehrungen gegen 
kippende Bits oder Spitzen - um ungünstigen Fall hängt der Bus und es 
geht nichts mehr.

von STK500-Besitzer (Gast)


Lesenswert?

Fl B. schrieb:
> Kennt jemand CAN-Bus ähnliche Bausteine?

Controller? Transceiver?

von Michael B. (laberkopp)


Lesenswert?

Fl B. schrieb:
> Danke schon mal für jede Antwort und eure Hilfe.

Moderne Fahrzeuge sind vollständig durchelektronisiert, alle Messwerte 
kannst du also dem ODB2 Stecker entnehmen.

ABER: Jeder Hersteller verbirgt und verschlüsselt seine Daten, nur die 
gesetzliche geforderten werden standardkonform übertragen. Wenn ihr also 
Informationen über das Auto habt, dann könnt ihr alle Daten über den 
OBD2 Stecker abgreifen.

Fl B. schrieb:
> - div. Zusatzscheinwerfer
> - Seilwinde
> - Batterien koppeln
> - Solarmodule
> - Wasserversorgung
> - ...

Alles Hochstromanwendungen. So eine Seilwinde ist ein Anlassermotor, da 
tun es nur 1000A Relais (meist schon in der Winde eingebaut) und kurze 
dicke Kabel. Dafür sind alles gemächliche Daten, nichts schnelles dabei. 
Es täte also der langsame LIN Bus, wie er im Auto für Schaltanwendungen 
benutzt wird. Aber man kann nur abraten euch auf den vorhandenen Bus 
aufzuschalten. Ihr braucht einen getrennt davon verlegten. Und wenn dann 
was NICHT funktioniert, steht ihr ziemlich in der Wüste, dann 
funktioniert gleich alles nicht was am Bus hängt. Daher: Vergesst das 
mit dem Bus. Die Steuerkabel, jedes einzeln zu den dicken Relais am 
Verwendungsort, sind billig im Verlgich zu dem was die Teile kosten. 
Baut simple Technik, deren Fehler man zurückverfolgen kann und die man 
reparieren kann ohne Elektronik und Direktinternetverbindung.

Selbst Autohersteller trauen dem Bus nicht. So laufen dutzende Kabel 
nach hinten, wo Rücklichter, Heckscheibenwischer, 
Kofferraum-Bordsteckdose, Tankklappenentriegelung, 
Ultraschallabstandswarner, ABS-Sensoren, eventuell Motorantenne, 
elektrische Handbremse, Beladungserkennung, Allradkupplungssteuerung, 
Anhängerkupplung und elektrische Heckklappe verbaut sind, an statt daß 
dort nur EINE dicke Plusversorgung (oder meinethalben eine links und 
eine rechts wegen getrennter Sicherungen) an allen Verbrauchern 
vorbeiläuft und per EINER Ader LIN Bus parallel einfach ein und 
ausgeschaltet werden. Das ist den Herstellern und Zulassungsbehörden 
VIEL ZU UNSICHER obwohl sich damit haufenweise Geld einsparen liesse und 
der Aufbau drastisch vereinfachen würde.

von Markus K. (markus777)


Lesenswert?

Fl B. schrieb:
> Kennt jemand CAN-Bus ähnliche Bausteine?

Nein

Bauteile welche zum Betrieb eines CAN Knotens geeignet sind, ja.
Derzeit verwende ich folgende Komponenten:
- ATSAM70N21 als Controller
- MCP2662FD als CAN Tranciever

Gibt aber natürlich wie immer unzählige Alternativen
Google hilft auch hier.

von Fl B. (nils-productions)


Lesenswert?

STK500-Besitzer schrieb:
> Fl B. schrieb:
>> Kennt jemand CAN-Bus ähnliche Bausteine?
>
> Controller? Transceiver?

Wie die heißen weiß ich auch...

Ich meinte, ob jemand einen bestimmten Controller oder Expander kennt, 
welcher für diese Anwendung passen könnte?

von Fl B. (nils-productions)


Lesenswert?

Michael B. schrieb:
> Daher: Vergesst das
> mit dem Bus. Die Steuerkabel, jedes einzeln zu den dicken Relais am
> Verwendungsort, sind billig im Verlgich zu dem was die Teile kosten.

Danke, dass hilft mir weiter!

von Florian (Gast)


Lesenswert?

Fl B. schrieb:
> Kennt jemand CAN-Bus ähnliche Bausteine?

at90can128

von Soul E. (Gast)


Lesenswert?

Fl B. schrieb:

> Kennt jemand CAN-Bus ähnliche Bausteine?

Warum ähnliche? TJA1050 oder TJA1043 sind ja nun wirklich nicht teuer.

Dem Transceiver ist es in weiten Bereichen auch egal welches logische 
Datenformat er überträgt, es muss nicht CAN sein. Du kannst auch UART 
drüberschicken (RS-485) oder Pulsbreitenmodulation oder NRZ/Manchester 
oder was Dein Controller halt sonst so kann.

von Schlumpf (Gast)


Lesenswert?

Fl B. schrieb:
> Um nicht
> 40-adrige Kabel mit je 4mm² pro Ader verlegen zu müssen

So dick müssen die Kabel doch gar nicht sein. Eine dünne Steuerleitung 
zum Schalten eines Relais würde doch reichen.

Dass I2C hier die falsche Wahl ist, wurde ja schon mehrfach gesagt.
Und dass CAN hier eigentlich das Mittel der Wahl ist, wurde ebenfalls 
gesagt.

Allerdings würde ich bedenken, dass es das auch nicht "geschenkt" gibt.
Du brauchst die entsprechende Hardware, Stack, etc. Das musst du alles 
erst mal implementieren, was auch Zeit und Geld kostet.

Wenn du aber trotzdem CAN möchtest, dann würde ich mal schauen, was es 
da auf Basis von Arduino gibt.

Auf die Schnelle habe ich gefunden:
Arduino Nano + MCP2515 Modul.

Oder du schaust dich mal bei den STM32 Controllern um. Da ist dann aber 
die Programmierung garantiert aufwändiger, als beim Arduino.

von Fl B. (nils-productions)


Lesenswert?

Danke schon mal für die Tipps. Ich werde mal schauen, was in diesem Fall 
am besten passt.

40x4mm² war auch nur "künstlerische Freiheit" :-)

von Michael B. (laberkopp)


Lesenswert?

Fl B. schrieb:
> 40x4mm² war auch nur "künstlerische Freiheit" :-)

Du brauchst auch bei CAN die dicke Stromzuleitung zu deinen 
Verbrauchern, und ob du nun eine einfache 1mm2 FLRY KFZ Leitung zur 
Relaisansteuerung verwendest (Rückleitung-Minus ist Chassis, falls dein 
Auto nicht aus Plastik ist) oder eine CAN Doppelader: Verlegen musst du 
beide, und mit Isolierung sind beide auch etwa gleich dick und ohne 
Umhüllung hätte die Leitungen keinen Schutz. Dann bleibt noch, daß du 
zwar eine dicke Stromzuleitung hast, aber nicht unbedingt ungestörte 12V 
am CAN Empfänger, der möchte aber gerne eine ungestörte Versorgung 
haben, das macht eine aufwändige Schutzschaltung nötig, oder eben eine 
zweite Stromzuführungsader.

Wenn ich mir mein Auto so ansehe, was da alles an dummen Kabelbäumen 
verbaut ist, weil es ja unbedingt modern sein musste, grausam, 10 mal 
mehr als wenn man alles mit Eizeladern versorgt hätte. Nicht mal in die 
Tür haben sie es unter 22 Leitungen geschafft. EIN plus, EIN LIN, hätte 
gereicht UND dann wäre wenigstens auch der Türöffnerhebel beleuchtet 
wenn man mit der Zündung das Licht ausschaltet, an statt genau in dem 
Moment auszugehen - alles Idiotenpack, nichtmal die Scheiben kann man 
dann noch hochdrehen.

von Moe (Gast)


Lesenswert?

Du scheinst mir ja recht fit zu sein in Sachen Mikrocontroller. Von 
daher wuerde ich einfach auf die gute alte RS485 zurueckgreifen und ein 
eigenes Busprotokol implementieren (da kann man sich ja von anderen was 
abschauen).
Dann sparst dir den ganzen Heckmeck mit dem CAN-Bus. Im prinzip kannst 
ja sogar das I2C-Protokoll ueber die 485 seriell uebertragen and am Ziel 
dann einfach den MCP23017 an deinen uC haengen.

von Rainer W. (rainer_w)


Lesenswert?

>ich bin recht neu (bzw. lange nicht mehr) im Thema und Versuche mir eine
>Steuerung fürs Fahrzeug der Offroad-Hilfsmittel zu bauen.


Fährt das schneller als 5 kmh ?
Sitzt da einer drin ?

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.