Forum: Mikrocontroller und Digitale Elektronik Störungsanfälligkeit I²C / RS232?


von Paul H. (powl)


Lesenswert?

Hi.

Habe mir überlegt in mein Moped etwas hightech einzubauen. Damit meine 
ich ein Bus-System, so dass mein Moped irgendwann nur noch mit 2 
Datenleitungen und 2 Stromleitungen auskommt anstatt so einem riesigen 
verknoteten Kabelbaum.

Das hätte auch den Vorteil dass alle komponenten einzeln ansteuerbar und 
erweiterbar sind.

Anders als beim Auto ist es hier nicht so kritisch falls mal das 
Bussystem ausfällt, allerdings sollte das trotzdem nicht passieren also 
es sollte schon dauerhaft und zuverlässig funktionieren.

Wie störanfällig sind denn I²C Bus und RS232? Bei I²C besteht ja nur 
eine Spannungsdifferenz von 5V, bei RS232 sind es schon 20-30V. Bedarf 
es bei RS485 auch nur einem Konverterbaustein wie dem MAX232 indem der 
Subtrahierer und der Pegelwandler schon integriert sind oder brauch ich 
da noch einen extra subtrahierer?

I²C wär mir schon recht weil ich hier keine externe beschaltung brauche 
und meinen Hauptbaustein bequem per RS232 noch besteuern kann.

mfg PoWl

von Falk B. (falk)


Lesenswert?

@ Paul Hamacher (powl)

>Wie störanfällig sind denn I²C Bus und RS232?

Über I2CF im Moped würde ich nciht mal ansatzweise nachdenken, auch 
RS232 ist da nciht sonderlich das Wahre, wenn gleich um einiges 
robuster.

> Bei I²C besteht ja nur eine Spannungsdifferenz von 5V,

Die kritische Störspannung ist wesentlich geringer, 1V und weniger.

> bei RS232 sind es schon 20-30V.

Dito, ca. 3..5V.

> Bedarf es bei RS485 auch nur einem Konverterbaustein wie dem MAX232
> indem der Subtrahierer und der Pegelwandler schon integriert sind
> oder brauch ich da noch einen extra subtrahierer?

Du meinst invertiert. Nein, ein MAX485 reicht.

MfG
Falk

von Ronny (Gast)


Lesenswert?

Also I²C würde ich nicht über mehr als 20cm legen. Auf dem Labortisch 
mag es auch bei 30cm und hohen Übertragungsraten noch funktionieren.In 
potentiell störbehafteten Umgebungen (wie z.B. direkt neben einem Motor 
;) ) dürfte das nix werden.

RS232 ist da schon besser,allerdings auch nicht wirklich 100% 
störsicher.Da das Signal Massebezogen ist,können sich hier auchmal ein 
paar Störungen einschleichen,die man allerdings über Parität und 
Prüfsummen erkennen kann.

Die günstigste Lösung ist sicherlich eine differentielle Übertragung wie 
RS485.Man muß sich zwar ein Protokoll ausdenken um den Zugriff mehrerer 
Slaves am Bus zu organisieren (z.B. Antwort nur wenn vom Master 
angefragt),dafür sind mehrere Teilnehmer an einem Bus kein Problem und 
die Störsicherheit ist auch deutlich höher als bei RS232 und I²C.

Für RS485 gibt es Chips ähnlich dem MAX232.An die wird nur RX und TX vom 
Controller gehängt,etwas Hühnerfutter und losgehts.Softwareseitig ist es 
weiterhin eine normale UART.

von Düsentrieb (Gast)


Lesenswert?

ich würde weder noch nehmen...
sondern ala midi stromschleife auf opto-koppler!
+ billig, einfach, zuverlässig
+ keine spezial bausteine nötig
+ völlige trennung der einzelnen einheiten
+ für zb drehzahl-anzeige , wo keine rückleitung nötig ist, brauchste 
nur 1 optokoppler
+ daten per rs232 standard-speed zb 9600

von Paul H. (powl)


Lesenswert?

midi stromschleife? An Optokoppler als Pegelwandler hab ich auch shcon 
gedacht. sind wenigstens nicht so riesig, es geht für so kleine teile 
wie die blinker hinten auch darum keine immense schaltung zu brauchen um 
die paar dinger anzusteuern^^

aber RS485 klingt vielleicht doch ganz ordentlich.. wodurch werden denn 
da so störungen verursacht?

OK es gibt da ein E-start relais bei dem schnell mal einige ampere 
fließen. Werden da in den kabeln ströme induziert?

mal ne ganz andere idee: ist es möglich auf die 12V 
boardspannungsleitung signale draufzumodulieren? ;-)

mfg PoWl

von Düsentrieb (Gast)


Lesenswert?

draufmodulieren geht, rs485 wohl auch, can bus...
"midi" stromschleife war nur (der optimale) vorschlag, wenn du's gern 
komplizierter+teurer willst...deine entscheidung :-)

von Paul H. (powl)


Lesenswert?

naja also ich gehe eher in die richtung einfach, klein und billig. hat 
jemand links zu diesem draufmodulierverfahren? hab noch gar keine 
vorstellung wie das so geht^^

mfg PoWl

von Durchblicker (Gast)


Lesenswert?

Genau. Ich würde RS485 nehmen. Ist billig und störsicher. Weiterhin kann 
man dann auch von einem Bussystem sprechen, bzw. ein solches aufsetzen. 
RS232 erlaubt nur Punkt zu Punkt Verbindungen.

RS485 ist an sich schon recht störsicher. Den Rest erledigt dann ein 
entsprechendes Kommunikationsprotokoll das eine Fehlererkennung, 
Fehlerkorrektur oder Datenwiederholung erlaubt. Darin steckt das 
eigentliche Knowhow!

Oder ganz anders: Warum nicht mal alle Komponenten drahtlos ansteuern. 
DAS ist ein Projekt für ein Mofa. Dann kann man die Steuerkonsole auch 
wegnehmen. Könnte einen coolen/lässigen Effekt geben. Stromversorgung 
wie beim Fahrrad über Rahmen und nen Draht für Plus. Ich denke, diese 
Pollin-Module (die ich selber aber noch nicht benutzt habe) sind 
goldrichtig. 2 Meter Reichweite sollten immer drin sein :-)

von Düsentrieb (Gast)


Lesenswert?

na dann doch richtig cool: ethernet/wlan !

von Paul H. (powl)


Lesenswert?

aber mit RS232 ist doch auch bus möglich, man sendet ne adresse raus und 
der teilnehmer der sich angesprochen fühlt empfängt weiter. vorher muss 
man halt sagen wie viel man senden will damit der weiß wann schluss is.. 
oder man macht sein eigenes übertragungsprotokoll genau

aber nein mal echt, auf die spannungsleitung moduliern, könnte das 
gehen? wird aufwendig hm? :-/

naja ich werd einfach mal einene versuch starten und verschiedene I²C 
übertragungen oder RS232 im moped durchzuführen während ich rumfahr

danke :-)

von Durchblicker (Gast)


Lesenswert?

Nochmal RS232. Es stimmt natürlich, dass man mehrere Teilnehmer mit 
einer Sendeleitung ansprechen kann. Das geht aber dann eben nur in einer 
Richtung. Eine bidirektionale Kommunikation ist aber nicht möglich. 
Abgesehen davon kann man an einen RS232-Ausgang nicht sehr viele 
Empfänger hängen, aber das hängt dann von deren Eingangs-Impedanz ab.

Am einfachsten fände ich ehrlich gesagt einen simplen Aufbau asynchron 
auf TTL-Pegel. Noch einen Tiefpass an die Eingänge und fertig. Schnell 
muss die Kommunikation ja nicht sein. Ist um Größenordnungen sicherer 
wie I²C, denke ich.

von Paul H. (powl)


Lesenswert?

Was meinst du mit TTL-Pegel? Asynchron wäre RS232 ja. Mfg PoWl

von Winfried (Gast)


Lesenswert?

RS232 ist für Punkt-zu-Punkt Verbindung entworfen, also keine 
Bus-Topologie. Alles andere ist Bastelei und hat dann nicht mehr viel 
mit RS232 zu tun.

TTL-Pegel Bus im Moped? Ist genauso problematisch wie I2C. Störungen im 
KFZ in den Griff zu bekommen, ist eines der größten Herausforderungen. 
Da würd ich doch besser das nehmen, was sich im KFZ durchgesetzt hat: 
CAN

Ansonsten: Um so ein Vorhaben wirklich dauerhaft funktionsfähig 
hinzubekommen, könntest du in der gleichen Zeit bestimmt 500 Kabelbäume 
von Hand flechten...

von Waldmann (Gast)


Lesenswert?

Also ich würde auch in jedem Fall zu einem Renomierten Bus greifen... Am 
Besten ist CAN, wenn Du aber nur etwas zentral steuern willst, tut es 
sicher auch der LIN.

Eine weitere Möglichkeit, die sich jedoch nur bei 
Punkt-zu-Punkt-Verbindungen gut eignet ist die K-Leitung. Ist im Grunde 
nichts weiter als eine UART-Verbindung, aber mit den Pegeln des 
Bordnetzes... darum bissi weniger störanfällig.

Am Besten und flexibelsten, aber auch am Schnellsten und 
störungssichersten ist man mit CAN.

MfG, Waldmann

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.