Forum: Mikrocontroller und Digitale Elektronik lange Leitung


von Stefan N. (stefan-n)


Angehängte Dateien:

Lesenswert?

Hallo,

ich möchte mit einem Mikrocontroller bzw. Raspberry Pi ohmsche Lasten 
(je ca. 1W bei 24V) galvanisch getrennt per Optokoppler und FET schalten 
(kein PWM nötig).

Zwischen Controller und Last sind allerdings zwischen 10m und max. 50m 
Distanz zu überbrücken (indoor). Nun zerbreche ich mir etwas den Kopf, 
was an Schutzmassnahmen bzgl. Einstrahlungen und Störimpulsen notwendig 
bzw. sinnvoll ist. Hauptsächliches Augenmerk liegt eher darauf, dass der 
Mikrocontroller, respektive Raspberry Pi, nicht zerstört wird. Die 
ohmsche Last ist weder etwas kritisches , noch sonderlich empfindlich.

Ich habe zwei Möglichkeiten skizziert, siehe Bild.
Bei der oberen Variante sitzt der Optokoppler nahe am Controller und 
sollte für dessen Schutz eigentlich schon ausreichen. Dafür kann ich mir 
auf der langen Leitung zur Last einiges einfangen, was dem FET 
vielleicht nicht gefällt.
Die zweite, untere, Variante sollte recht störsicher sein, allerdings 
befürchte ich, dass die lange Leitung am Controller einiges an Schaden 
anrichten könnte. Hier evtl. zwei 1N4148 Richtung Versorgung und GND?

Wie sind Eure Meinungen?

Danke und viele Grüße
Stefan

von Migelchen (Gast)


Lesenswert?

Ich denke, dass beide Varianten sich nicht so viel nehmen.
Aber wenn ich mich entscheiden müsste, würde ich Variante 1 nehmen, 
sofern die Ströme durch LED und Vorwiderstände / Spannungsteiler 
großzügig gewählt sind.
Denn dann wirken sich vermeintliche Störungen auf der langen Leitung 
nicht mehr so aus.
Niederohmiger Spannungsteiler halt. :)

Gruß

Migelchen

von Migelchen (Gast)


Lesenswert?

Oder ich würde ich würde Variante 2 mit Funkschaltern basteln.
Die FETs sind dann nahe an den 24V und die Ansteuerung geschieht 
kabellos. ^^

von Migelchen (Gast)


Lesenswert?

Oder eine kleine abgewandelte Variante 2 mit Eingangstreibern, um mehr 
Strom durch den OPtokoppler zu drücken.

Möglichkeiten über Möglichkeiten.

von Georg G. (df2au)


Lesenswert?

Ein gutes Kabel als Grundlage wäre ein Doppelzweier vom Telefonbau, 
abgeschirmt und verdrillte Leitungen. Das kann man parallel zu 
Starkstromleitungen legen und hat dennoch Ruhe.

Die Variante 2 ist mir sympathischer. Der Ausgang ist niederohmig. 
Schutzdioden nach VCC und GND können nicht schaden.

von Codix (Gast)


Lesenswert?

Ich würde Variante 2 nehmen und am Ausgang des Controllers ein Diode 
antiparallel zu Diode des OK schalten.
Wenn die Schaltgeschwindigkeit kein Thema ist, würde ich noch ein C von 
10-100nF (FKP) parallel zur Diode setzen.
Wäre noch zu erwähnen, dass man eine abgeschirmte Leitung verwenden 
sollte.

von Joachim B. (jar)


Lesenswert?

ein PI ist kein Arduino, er reagiert viel sensibler auf Pegel am GPIO.

Ich würde den Optokoppler dicht am GPIO lassen um dort keine 
Leitungseinkopplungen zu provozieren.

Ein GPIO Port sollte möglichst nicht über 2 bis 3mA belastet werden, 
ergo bieten sich bessere Koppler an mit CTR 300% oder CTR 400% wie der 
CNY17 F3/F4 oder der IR LED vom Opto muss noch ein Treiber spendiert 
werden für höhere Ströme. Ist alles eine Lastfrage, je nachdem wie 
schnell der FET umschalten soll und welche Gatekapazität umzuladen ist.

Jedenfalls der 680 Ohm passt schon mal zu 3mA.

Evtl noch Ableitdioden nach VCC 3,3V und GND am GPIO dann ist der PI 
schon mal besser geschützt.

: Bearbeitet durch User
von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Ich würde Variante 1 bevorzugen und den MOSFET wie folgt schützen:

- R3 und LED1 tauschen, so dass R3 an die "lange Leitung" angeschlossen
  ist
- an der Verbindung zwischen R3/LED1 einen kleinen Kondensator
  und ggf. ESD-Schutzdiode gegen Massse anbringen

: Bearbeitet durch User
von Alexander S. (esko) Benutzerseite


Lesenswert?

Ich halte beide Lösungen für schlecht, weil sie recht störanfällig sind. 
Der RPi gibt nur 3,3 Volt aus, die schon bei wenigen mA zusammenbrechen. 
Daher würde ich zuerst mit einem Transistor den Strom auf 10 mA erhöhen, 
dann auf einen Optokoppler gehen, damit wird ein Schaden am RPi 
ausgeschlossen.
Dann die lange Leitung und auf einen Transistor, der an der Basis noch 
einen Widerstand und Kondensator erhält.

Stefan N. schrieb:
> Zwischen Controller und Last sind allerdings zwischen 10m und max. 50m
> Distanz zu überbrücken (indoor).

Zeichne bitte noch den Ort der Spannungsquelle ein.

von Stefan N. (stefan-n)


Angehängte Dateien:

Lesenswert?

Hallo,

vielen Dank für Eure Anregungen. Ging also nicht nur mir so, dass ich 
auf zahlreiche Möglichkeiten gekommen bin. :-)

Mir war nicht bewusst, dass die GPIO-Pins des RPi nur so wenig Strom 
hergeben, bin, warum auch immer, von 20mA ausgegangen. Danke für den 
Hinweis.

Aus allen Beiträgen zusammen genommen tendiere ich zu einer 
abgewandelten Variante 1 (Optokoppler nah am Pi), siehe Bild.

Widerstand und LED am FET getauscht, zusätzlich Kondensator gegen Masse 
als Tiefpass. Der Strom durch den Zweig wäre auf ca. 2mA abgestimmt, 
passend zu einer low current LED (ggegnüber meiner ersten Zeichnung 
Strom erhöht). Oder wäre hier eine "normale" LED und 20mA über die lange 
Leitung geschickter? Nur dann bin ich bald schon bei der gleichen 
Leistung wie meine eigentliche Last ;-)

Strom durch Optokoppler könnte ich erhöhen, vom GPIO des RPi unabhängig, 
mit z.B. 74HC04...

..irgendwie so, oder?

Viele Grüße
Stefan

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Was hältst Du eigentlich von der grundsätzlichen Idee, die Last direkt 
mit einem PhotoMOS-Relais zu schalten? Von Panasonic gibt es durchaus 
eine ganz erhebliche Auswahl an Schaltspannungen und Strömen. Allerdings 
sind PhotoMOS-Relais wesentlich langsamer als Optokoppler, d.h. 
teilweise mit Schaltzeiten im Millisekundenbereich, was natürlich durch 
die Funktionsweise bedingt ist.

von Joachim B. (jar)


Lesenswert?

Stefan N. schrieb:
> Mir war nicht bewusst, dass die GPIO-Pins des RPi nur so wenig Strom
> hergeben, bin, warum auch immer, von 20mA ausgegangen. Danke für den
> Hinweis.

die können von 2 bis 16 mA liefern, dazu werden 1 oder 4 Ausgangstreiber 
geschaltet!

Keiner weiss aber bei welchem Kernel welche Grundkonfiguration 
geschaltet wird und ob nicht irgendeine SW das umstellt während der 
Laufzeit.

Auch ist die Summe nach VCC als sink oder als hidrive nach GND begenzt, 
der SoC kann nur ca. 50mA zusätzlich aufnehmen für GPIO und wer alle 17 
GPIO belegt der hat pro GPIO nur 50mA / 17 nach VCC und GND übrig.

Es fehlt jede Strombegrenzung, also kann ein GPIO für eine Weile 
zumindest auch 20mA aber wielange steht auf einem anderen Blatt weil der 
Strom eben nicht begrenzt wird, der Strom der von 2 - 16mA genannt wird 
ist der Ausgangstrom den die Treiber sicher liefern ohne Schaden zu 
nehmen, wenn ich aber nur einen Treiber einschalte der mit 2mA 
spezifiziert ist wird der mit 16mA dauerhaft überlastet.

Es gibt so ein Symbolbild mit den 4 ausgangstreibern in Stufen
1. 2mA
2. 2mA
3. 4mA
4. 8mA

was alle zusammen 16mA für einen GPIO geben würde, aber wie oben 
geschrieben, auch Schutzbeschaltung gibt es nicht wie beim Arduino.

Suchwort wäre
BCM GPIO output strength

von Stefan N. (stefan-n)


Lesenswert?

Andreas S. schrieb:
> Was hältst Du eigentlich von der grundsätzlichen Idee, die Last direkt
> mit einem PhotoMOS-Relais zu schalten?

An sich wäre das auch denkbar.

Wenn ich ein Kabel mit relativ geringem Querschnitt für die lange 
Leitung verwenden wollte (z.B. Telefon, Cat 6, etc), dann wäre der 
PhotoMOS wieder eher auf der Last-Seite zu sehen... hm....

> Von Panasonic gibt es durchaus
> eine ganz erhebliche Auswahl an Schaltspannungen und Strömen. Allerdings
> sind PhotoMOS-Relais wesentlich langsamer als Optokoppler, d.h.
> teilweise mit Schaltzeiten im Millisekundenbereich, was natürlich durch
> die Funktionsweise bedingt ist.

Das ist unerheblich, das zeitliche Schaltverhalten ist für die Anwendung 
nicht relevant. Ein mechanisches Relais täte es im Prinzip auch.

Viele Grüße
Stefan

von Alexander S. (esko) Benutzerseite


Lesenswert?

Stefan N. schrieb:
> Wenn ich ein Kabel mit relativ geringem Querschnitt für die lange
> Leitung verwenden wollte (z.B. Telefon, Cat 6, etc), dann wäre der
> PhotoMOS wieder eher auf der Last-Seite zu sehen

Deine Last hat nur 40 mA, das schafft jedes Kabel.

von Stefan N. (stefan-n)


Lesenswert?

Alexander S. schrieb:
> Deine Last hat nur 40 mA, das schafft jedes Kabel.


Im Schnitt bzw. Dauerbetrieb, nach dem Einschalten bis zu 300mA (Angaben 
laut Hersteller) für einige Minuten.
Ist ein PTC-Heizelement. Mit einem gewissen Sicherheitsfaktor bin ich 
von max. 500mA ausgegangen.

von W.A. (Gast)


Lesenswert?

Joachim B. schrieb:
> Ein GPIO Port sollte möglichst nicht über 2 bis 3mA belastet werden

Das hast du genau welchem Datenblatt entnommen?

von Alexander S. (esko) Benutzerseite


Lesenswert?

Der RPi (BCM2835) stellt 2 bis 16 mA zur Verfügung, je nachdem, wie er 
konfiguriert wurde.
Bei HIGH bricht die 3,3 Volt Spannung auf 1,3 Volt ein.
Bei LOW fließt der Strom in den RPi hinein und die Spannung steigt 
maximal von 0 Volt auf 0,8 Volt.
Es lässt sich also sagen, dass die IO-Pins ausgesprochen schwach sind.

http://elinux.org/RPi_Low-level_peripherals#Interfacing_with_GPIO_pins
http://de.scribd.com/doc/101830961/GPIO-Pads-Control2


Stefan N. schrieb:
> Im Schnitt bzw. Dauerbetrieb, nach dem Einschalten bis zu 300mA

Schreib das doch gleich.

> ... bin ich von max. 500mA ausgegangen.

Mit der Faustformel 10 A/mm² kommt man auf 0,05 mm², von der Kühlung her 
kann ein solches Kabel sogar noch mehr vertragen, allerdings würde die 
Spannung mit so einem dünnen Kabel ganz schön einbrechen, denn es hätte 
36 Ω.
1
17,8 mΩ*mm²/m / 0,05mm² * 2 * 50m = 35,6 Ω
Mit einem 0,26 mm² Kabel, wie es für CAT 6 typisch ist, wären es noch 7 
Ω. Damit sollte es sich gut leben lassen.

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.