SPI 1,5m im Auto, galvanische Trennung nötig?

Gast #2613575
Lesenswert?

Guten Abend,

ich baue momentan an einem Wettbewerbsfahrzeug eine elektrische 
Wasserpumpe ein. Diese wird mittels PWM angesteuert und erhält die 
Information dafür (Duty-Cicle) von einem "Hauptrechner" per SPI. Es 
werden also nur sehr sporadisch Daten zur Pumpensteuerung übertragen, 
vielleicht alle 5 Minuten einmal oder so....

Die Entfernung zwischen den Modulen beträgt circa 1,5m, ich weiß, dass 
dies nicht der Verwendungszweck der SPI ist, aber auf Grund der geringen 
Datenmenge möchte ich dennoch einen Versuch wagen.
Die einzige Frage die sich mir stellt ist, ob ich den Bus galvanisch 
trennen sollte? Ich habe vor ein 9-poliges Kabel für die Verbindung zu 
nutzen und zwischen CLK, MOSI und MISO jeweils Masse zu legen...Also vom 
Potentialausgleich sollte das denke ich ok sein....der Knackpunkt über 
den ich nun nachdenke: Der Slave wird wohl irgendwo im Motorraum 
plaziert werden und dort ist das Umfeld sehr sehr rau (Lichtmaschine, 
Zündspulen, etc)...könnte das zu ernsthaften ESD Problemen führen und 
mir die Controller zerhauen?


Gruß Jan
Gast #2613587
Lesenswert?

Datenrate ist im Prinzip absolut egal...könnten von mir aus 100Hz sein, 
es wird nur sporadisch ein Byte übertragen, um den Duty-Cycle der PWM zu 
ändern:

Holger:
Ja prinzipiell wäre das möglich..nur sprechen dagegen 2 Gründe
1: Die Leitungen, über die der gepulste Strom saust wollte ich möglichst 
kurz halten, um zu große Abstrahlungen zu vermeiden
2: Hätte den SPI-Bus gerne im Motorraum, weil dort auch noch einige 
Temperaturfühler sitzen sollen und die alle einzel in den Innenraum 
verkablen fordert natürlich einen Mehraufwand an Kabeln...
Gast #2613611
Lesenswert?

Verwende eine symmetrische Übertragung.

http://de.wikipedia.org/wiki/EIA-485


Mit einer solchen Übertragung haben wir in Autos Meßsysteme mit SPI über 
rund 5 - 6 Meter mit mehr als 2 MBit/s laufen.

Die RS485 Treiber müssen dazu allerdings so nah wie möglich an den SPI 
Controllern liegen.
Zusätzlich verdrillte und abgeschirmte Leitungen verwenden.
Je ein Treiberpaar für Clock, MISO und MOSI.

Für was willst du eine Galvanische Trennung ?
Du hast nur eine Spannungsversorgung im Auto. Also alle haben das 
gleiche Bezugspotential, es sei denn du treibst irgendwelche seltsame 
Spiele.

Grundsätzlich betrachtet wäre allerdings CAN Bus besser geeignet, weil 
dort bereits in Hardware und im Protokoll Absicherungsmaßnahmen , CRC , 
vorhanden sind.
#2613619
Lesenswert?

Jan schrieb:
> Die Entfernung zwischen den Modulen beträgt circa 1,5m, ich weiß, dass
> dies nicht der Verwendungszweck der SPI ist, aber auf Grund der geringen
> Datenmenge möchte ich dennoch einen Versuch wagen.

Nein solltest du nicht. Es gibt keinen Grund sowas zu machen. Nicht 
umsonst machen sich viele intelligente Leute tagtäglich Gedanken zu 
solchen Themen. Und eines darst du mir glauben - Dilettanten sind das 
mit Sicherheit nicht.

Jetzt willst du anfangen SPI für größere Distanzen auszubauen. Mal 
abgesehen, dass das sinnfrei ist ("Mann ohne Beine soll Maraton laufen") 
ist doch der Aufwand viel zu groß. Bau einen CAN-Bus auf, es gibt 
fertige Libraries wenn du dir das von der Komplexität noch nicht 
zutraust, ein CAN-Controller (MCP2515) kostet 2€ und nen Treiber MCP2551 
für 1€ (beides bei Reichelt) und fertig. 3€ + Hühnerfutter für einen Bus 
der - mit vernünftigen Kabeln verlegt und terminiert - sich im Auto seit 
Jahren bewährt hat und nahezu Störungsfrei arbeitet. Automatischer CRC, 
etc. ist alles mit an Bord - brauchst dich nicht drum kümmern. 
Störungsfest bis zum Geht-Nicht-Mehr. Damit hast du dann auch Spaß und 
hast nicht irgend so ein zusammengepfriemeltes Ding. Bitte tu dir den 
Gefallen und versuche nicht das Rad neu zu erfinden. Es gibt mehrere 
zehntausende Menschen die täglich in der Autoindustrie in der 
Entwicklung arbeiten, da gibt es Millionenbudgets für Entwicklung. Und 
die können es einfach besser als wir. Also keine Spirenzchen machen  - 
die denken sich schon was dabei ... nichts für ungut

Einige Probleme hast du aber immernoch. Das KFZ-Netz. Da hilft dir auch 
die Galvanische Trennung recht wenig. Spannungsspitzen sind dein 
Stichwort - eine ordentliche Stromversorgung: schau mal hier:

http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.23
Gast #2613672
Lesenswert?

Wir brauchten auch einmal SPI über längere Distanz. Für die 
Störsicherheit haben wir die Signale zwischendurch nach LVDS gewandelt. 
Das hat zumindest über ein paar Meter funktioniert. Ist allerdings auch 
etwas Aufwand.

Ansonsten möchte ich mich den Vorpostern anschliessen: CAN ist besser 
dazu geeignet.
Gast #2613679
Lesenswert?

Setzt die SPI auf symmetrische Signale um (RS422-Transceiver).
CAN arbeitet u.u. deswegen so störsicher, weil die Übertragung 
symmetrisch erfolgt.
Aber erst auf SPI auf CAN umsetzen und dann wieder zurück, halte ich für 
etwas übertrieben.
#2613710
Lesenswert?

@STK500-Besitzer: ProTip: Lies dir mal das Datasheet zum CAN-Controller 
durch. Danach ist dir vielleicht klar, dass die Dinger über SPI 
angebunden werden.

Ob man jetzt SPI auf CAN, RS422 oder RS485 umsetzt, macht nahezu keinen 
Unterschied. Man muss es so oder so auf ein symmetrisches Protokoll 
übersetzen...auf beiden Seiten.
Gast #2613732
Lesenswert?

Jan schrieb:
> ich baue momentan an einem Wettbewerbsfahrzeug eine elektrische
> Wasserpumpe ein. Diese wird mittels PWM angesteuert und erhält die
> Information dafür (Duty-Cicle) von einem "Hauptrechner" per SPI. Es
> werden also nur sehr sporadisch Daten zur Pumpensteuerung übertragen,
> vielleicht alle 5 Minuten einmal oder so....

Das klingt seltsam.
Wenn die Wasserpumpe schon geregelt werden soll, dann muss diese auch 
einigermassen schnell nachgeregelt werden koennen, wenn z.B. 1 Minute 
Vollgas die Temperaturen steigen lassen.

Wenn das nicht sein muss, kannst Du die Regelung gleich mit einem Poti 
im Motorraum einstellbar machen.

citb
Gast #2613762
Lesenswert?

z.K.

http://www.avagotech.de/docs/AV02-3220DE
Seite 6/7  "SPI Isolation"  (mittels Optokoppler)

Ich denke schon, daß anzuraten ist eine galvanische Trennung 
vorzunehmen.
Ein andere Alternative wäre ggf. noch LIN statt CAN.

By the way:
Der Unterschied zwischen einer Steuerung und einer Regelung, ist der 
bekannt?
Beispielsweise ist der berühmte "Lautstärkeregler" (Drehknopf) am Radio 
eben kein Regler sondern ein Steller.

Gruss
Gast #2613962
Lesenswert?

Sooo erstmal danke für das reiche Feedback.

Zunächst mal, das mit den 5 Minuten war nur ein grober Richtwert um zu 
verdeutlichen, dass hier wirklich keine hohen Datenraten benötigt werden 
und es sich auch nicht um eine zeitkritische Kommunikation handelt.

Ich bin mit dem CAN-Standart bestens vertraut, weiß um die exakte 
Funktion, die Sicherungsmechanismen und die Vorteile. Gerade deswegen 
finde ich den CAN für meine Anwendung aber schlichtweg oversized. Ich 
habe auch kein Problem damit die Kommunikation über CAN zu 
programmieren, trotdem halte ich Gesamtaufwand für unverhältnismäßig 
hoch, nur um ein Byte zu übertragen.
Sicherlich ist CAN für die Anwendung im Automobil bestens geeignet, auch 
für sicherheitskritische Anwendungen....aber für eine einfache 
Pumpensteuerung?

Die Idee der galvanischen Trennung war folgende: Leider ist es eben so, 
dass man im Fahrzeug nicht unbedingt überall das selbe Potential hat, 
gerade bei neuen Fahrzeugen wo Karosserieteile teilweise verklebt sind 
und Compositwerkstoffe eingesetz werden, würde ich meine Hand nicht 
dafür ins Feuer legen, dass man überall eine gleich gute Masseverbindung 
und damit identisches Bezugspotential hat...es sei denn, man greift 
direkt an der Batterie ab, das ist klar.
Gast #2614267
Lesenswert?

Andreas Kist schrieb:
> @STK500-Besitzer: ProTip: Lies dir mal das Datasheet zum CAN-Controller
> durch. Danach ist dir vielleicht klar, dass die Dinger über SPI
> angebunden werden.
>
> Ob man jetzt SPI auf CAN, RS422 oder RS485 umsetzt, macht nahezu keinen
> Unterschied. Man muss es so oder so auf ein symmetrisches Protokoll
> übersetzen...auf beiden Seiten.

Es gibt nur EINEN CAN-Controller?
Na, dann zeig mir mal bitte, wie man einen SJA1000 per SPI anspricht!

Mit dem MCP2515 bin ich auch vertraut...
Gast #2614669
Lesenswert?

Soooo kurzes Update, bin doch auf CAN umgestiegen. Ist zwar immernoch 
voll oversized aber weniger Kabelgedöhns, da ja noch mehrere Knoten im 
Motorraum Einzug finden. Layout ist auch schon fertig, kann ich gerne 
mal hochladen wenn Interesse besteht.
Eingesetzt habe ich die hier vorgeschlagenen MCP 2515 und MCP2551.


Gruß Jan

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren