Forum: Mikrocontroller und Digitale Elektronik Pull Up - Welche Strecke?


von OADA (Gast)


Lesenswert?

Hallo,

folgende Situation:

Um die 100 Platinen die mit 2 Leitungen AWG 23 oder 24 verbunden sind. 
Die Platinen sind immer im Abstand von 3Metern bis 15Metern verteilt. 
(Sprich min. 100x3m und max 100x15m

Jede dieser Platinen hat einen Schaltregler, jede Platine einen MCU. Und 
jede der Platinen kann die Leitung auf High setzen um die anderen zu 
wecken. Auf jeder Platine sitzt ein Pull Up Widerstand. Es gibt nur ein 
Bezugspotential.

Nun ist die Frage: Ist das pratktisch überhaupt Möglich? Oder gibt es 
Probleme, die Leitung auf high zu ziehen? Sprich schafft der uC auf der 
ersten Platine es, den uC auf der letzten Platine zu wecken?

Ich hoffe ich habe das nicht zu konfuse beschieben.

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


Lesenswert?

OADA schrieb:
> Und
> jede der Platinen kann die Leitung auf High setzen um die anderen zu
> wecken. Auf jeder Platine sitzt ein Pull Up Widerstand.

Das klingt irgendwie falschrum. Wenn jede Platine einen Pullup hat, ist 
ja der Ruhezustand schon 'high', das ist aber dein 'Aufweck' Level. Wenn 
aber ein Bussteilnehmer die Leitung auf low zieht, hat kein anderer die 
Chance, das Signal auf high zu setzen.
Der benötigte Treiberstrom für die Leitung hängt u.a. von der Grösse der 
(empfehle ich jetzt mal) Pulldowns ab. 100 mal 1M Ohm sind auf der 
ganzen Leitung dann 10k und erfordern bei 5V Level dann 0,5mA 
Treiberstrom. Um die Sache betriebssicherer zu machen, würde ich aber 
auf mindestens 10mA gehen, also auf jeder Platine 47k als Pulldown 
benutzen. Auch noch etwas mehr Treiberstrom könnte bei diesen 
Entfernungen sicher nicht schaden.

OADA schrieb:
> 100x3m und max 100x15m

Es ist klar, das du bei solchen Entfernungen das ganze sehr gemächlich 
betreiben solltest. Die schlechten Eigenschaften des Kabels bei hohen 
Frequenzen verschlechtern die Flankensteilheit und damit die maximale 
Frequenz.

von Falk B. (falk)


Lesenswert?

@OADA (Gast)

>Um die 100 Platinen die mit 2 Leitungen AWG 23 oder 24 verbunden sind.

2 Signale + Masse oder 1 Signal + Masse?

>Die Platinen sind immer im Abstand von 3Metern bis 15Metern verteilt.
>(Sprich min. 100x3m und max 100x15m

Ganz schön lange Leitung.

>Jede dieser Platinen hat einen Schaltregler, jede Platine einen MCU. Und
>jede der Platinen kann die Leitung auf High setzen um die anderen zu
>wecken. Auf jeder Platine sitzt ein Pull Up Widerstand.

Wie groß ist der?

> Es gibt nur ein Bezugspotential.

Also sind deine 2 Leitungen 1 Signal + Masse.

>Nun ist die Frage: Ist das pratktisch überhaupt Möglich? Oder gibt es
>Probleme, die Leitung auf high zu ziehen? Sprich schafft der uC auf der
>ersten Platine es, den uC auf der letzten Platine zu wecken?

Das Problem ist erher umgekeht. Schaft es der uC, die Leitung auf LOW zu 
ziehen, wenn alle 100 Platinen einen Pull-Up haben? Denn bei z.B. 
100x10k parallel sind das schon nur noch 100 Ohm, die an 3,3V satte 33 
mA brauchen!
Sprich, der Pull-Up auf den einzelnen Boards sollte eher im Bereich 100k 
angesiedelt sein. Und der Ruhezustand ist HIGH, das Wecken passiert mit 
LOW.

: Bearbeitet durch User
von 6a66 (Gast)


Lesenswert?

OADA schrieb:
> Um die 100 Platinen die mit 2 Leitungen AWG 23 oder 24 verbunden sind.
> Die Platinen sind immer im Abstand von 3Metern bis 15Metern verteilt.
> (Sprich min. 100x3m und max 100x15m

Annahme: es handelt sich um Leitung Signal/GND, die einzelnen Systeme 
sind selbstversorgt.
AWG28 hat etwa 80R/km.
Länge ist 1,5km, angenommener ohmscher Leitungswiderstand ist daher 
120R.
Als Leitungskapazität wird 300nF/km 
angenommen.(https://cache.industry.siemens.com/dl/files/099/34973099/att_70146/v1/kap_21f_einfluss_langer_steuerleitungen_auf_schuetze_v13_end_v2.pdf) 
gibt 450nF Leitungskapazität.

Gibt ein RC-GLied der Leitung von 450nF, 120R.
Für die reine Berechnung der Anstiegs- und Abfallzeiten hast Du schon 
mal Werte. Bei einem gesamten Pullup von 100*1M bekommst du dann ein RC 
Glied mit 10kR/450nF, das gibt ein Tau für den Anstieg von 5ms, mit 
geringeren Widerständen dann schneller. Den Strom aller Pulldowns sowie 
den Ladestrom der Leitung (550nF) muss jeder Treiber auf den Baugruppen 
erzeugen können.

OADA schrieb:
> kann die Leitung auf High setzen um die anderen zu
> wecken. Auf jeder Platine sitzt ein Pull Up Widerstand

Auf den Widerspruch dazu wurde bereits hingewiesen.

OADA schrieb:
> Nun ist die Frage: Ist das pratktisch überhaupt Möglich?

Im praktischen Betrieb dürfte nicht der Leitungsbelag oder die 
Dimensionierung des Pullups ein Problem sein sondern 
Potentialverschiebungen über die Leitungswiderstände und EMV-Probleme. 
Nicht umsonst werden bei diesen Längen Differentialleitungem verwendet.

rgds

von Noch einer (Gast)


Lesenswert?

Unter Stichwort RS-485 findest du eine Lösung für die oben genannten 
Probleme.

von WAWA (Gast)


Lesenswert?

OADA schrieb:
> Auf jeder Platine sitzt ein Pull Up Widerstand.

Üblicherweise sitzt beim Bus genau an jedem Ende ein Leitungsabschluss, 
sonst bekommt die Kabelkapazität an den Enden kaum noch Umladestrom ab.

von Falk B. (falk)


Lesenswert?

@WAWA (Gast)

>> Auf jeder Platine sitzt ein Pull Up Widerstand.

>Üblicherweise sitzt beim Bus genau an jedem Ende ein Leitungsabschluss,
>sonst bekommt die Kabelkapazität an den Enden kaum noch Umladestrom ab.

Dazu sollte man aber den Unterschied zwischen einem Pull-Up und 
Terminierungswiderstand kennen.

von WAWA (Gast)


Lesenswert?

Falk B. schrieb:
> Dazu sollte man aber den Unterschied zwischen einem Pull-Up und
> Terminierungswiderstand kennen.

Praktisch kann man beide Funktionen in einem Widerstand realisieren. Dem 
Widerstand ist das egal (s. CAN)

Der Abschluss sorgt im rezessiven Zustand gleichzeitig dafür, dass beide 
Leitungen pegelmäßig zueinander hin gezogen werden.

von OADA (Gast)


Lesenswert?

Ihr habt natürlich recht. Ich meinte die Leitung auf low ziehen :)

An Potentialtrennung habe ich auch schon gedacht.

Noch einer schrieb:
> Unter Stichwort RS-485 findest du eine Lösung für die oben genannten
> Probleme.

Kannst du etwas konkreter werden?

von OADA (Gast)


Lesenswert?

Sagen wir mal, ich will das ganze nur in eine Richtung mit 
Potentialtrennung machen. Sprich es gibt bei allen Teilnehmern nur 
einen, der alle andern wecken kann. Hat da jemand einen guten Tipp für 
einen IC?

von OADA (Gast)


Lesenswert?

Gefunden habe ich z.b. ADUM1100. Gehäuse ist nur etwas groß wie auch der 
Preis :) Kann jemand was bessere vorschlagen?

von OADA (Gast)


Lesenswert?

Hat sowas noch niemand gemacht?

6n137 könnte man ja auch nutzen.


Mehr als den Pegel toggeln über eine gewisse Distanz sollte es ja nicht 
können :)

von Clemens L. (c_l)


Lesenswert?

Wenn du nicht mehr als ca. 10 kbit/s statt 10 Mbit/s benötigst, kannst 
du auch den kleineren und billigeren PC817 (oder einen seiner vielen 
Klone, siehe Optokoppler) nehmen.

Das wäre ideal für eine 1-zu-1-Verbindung, aber ich bezweifle, dass du 
von einem Ausgang aus einfach so 100 LEDs treiben kannst. Da müssten 
dann die Platinen die Nachricht jeweils einen Schritt weiter senden.

von Falk B. (falk)


Lesenswert?

@OADA (Gast)

>Hat sowas noch niemand gemacht?

>6n137 könnte man ja auch nutzen.

Wozu den? Das ist ein 10 Mbit/s High Speed Teil.

>Mehr als den Pegel toggeln über eine gewisse Distanz sollte es ja nicht
>können :)

Dann braucht man auch keinen Optokoppler. Aber 1500m Kabel sind halt 
viel Holz. Bei einer galvanischen Trenung braucht man außerdem was 
bidirektionales, denn nach deiner Beschreibung soll ja jeder Teilnehmer 
sowohl das Wecksignal senden können als auch darauf reagieren. Also 
braucht man schon mal 2 Optokoppler. Und da die allermeisten 2-kanaligen 
immer in die gleiche Richtung gehen, braucht man 2 ICs, um die 
Isolationsbarriere aufrecht zu erhalten. Für so ein langsames Signal 
reicht der einfachste und langsamste Typ ala 4N33 & Co. Siehe 
Optokoppler.

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.