www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik OpenCollector/PullUp-Widerstand - Funktionsweise &Dimension


Autor: EreburX (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten "morgen",

ich schlage mich jetzt seit ein paar Tagen mit follgendem Problem rum,
habe google auch schon befragt, erhalte aber nur unzulängliche
informationen....

Also, ich habe einen Opencollectorausgang, wenn dieser durchschaltet,
möchte ich an einem PIC ein logisches signal erhalten, um dieses weiter
verarbeiten zu können. Bzw andersrum, wenn der OpenCollector-Ausgang
nicht aktiv ist, soll am PIC auch ein logisches signal anliegen,
welches ich dann ebenfalls verarbeiten möchte.
Ich bin jetzt schon so weit, dass ich weiß, dass das ganze mit einem
PullUp-Widerstand zu realisieren ist, allerdings hab ich keine Ahnung,
wie dieser zu dimensionieren ist, und wie die schaltung da aussehen
muss :-/

Bin über jede Hilfe dankbar!

MfG
EreburX

Autor: Hubert.G (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ein Pull-Up ist ein Widerstand nach VCC. In deinem Fall würde ich es mit
10k versuchen.
Also vom Opencollectorausgang ein Widerstand nach VCC und zum Eingang
des PIC.
Siehe auch hier: www.elektronik-kompendium.de/public/schaerer/pullr.htm

Autor: EreburX (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wow, das ging schnell :)

also einen widerstand von dem OpenCollector zur masse, und eine leitung
ohne widerstand zum PIC?

und die nächste frage wäre, wie kommst du auf die 10k? würde das ja
auch gerne verstehen :D

Danke & MfG

Autor: Hubert.G (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nicht zur Masse, VCC ist +, drum heisst es ja Pull-Up, nach GND wäre es
ein Pull-Down.
Ein Widerstand in die Leitung wäre zur Sicherheit notwendig, denn wenn
das Eingangsport als Ausgang geschaltet wird und Highpegel bringt und
gleichzeitig der Opencollectorausgang schaltet würde dieser den Strom
begrenzen.
10k ist ein Standardwert. Der minimale Widerstand ist abhängig vom max.
Collektorstrom, der maximale Widerstand ist abhängig vom
Eingangswiderstand der nachfolgenden Schaltung, er muss diesen noch
sicher auf high ziehen können.

Autor: EreburX (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mh, und wie groß soll dann der widerstand zwischen opencollector und PIC
sein?

so ganz wirklich versteh ich das nicht...

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist doch ganz simpel:
Den OpenCollector Ausgang kannst du dir vereinfacht
wie ein Relais oder einen Schalter vorstellen.

   5 V -----+
            |
           ---
           | | 10 k
           | |
           ---
            |
            +-------------------------> PIC
            |
            o
              /
   ----------/
            /
            |
   Gnd -----+--------------------------

Ist das Relais offen, dann hast du auf der Leitung zum Pic
Vc, da der PIC Anschluss über den 10k Widerstand mit 5V
verbunden ist. Wird das Relais geschlossen, so hat der
PIC Anschluss direkte Verbindung mit Masse und ist daher
0 Volt (und über den 10K Widerstand rinnt ein kleiner
Strom nach Gnd)

Soweit so gut. Nun passieren aber auch Fehler. Zb. könnte
der Fehler passieren, dass der PIC Eingang irrtümlich als
Ausgang programmiert wird. Und weil es der Teufel so haben
will, stellt das Programm auch noch zufällig einen 1 Pegel
(also 5V) auf diesen Ausgang ein. Hat jetzt das Relais angezogen,
so gibt es eine direkte Verbindung von diesem PIC Ausgang (der
5V führt) zu Masse: Ein Kurzschluss. Das wird der PIC nicht
lange mitmachen, da dann sehr viel Strom rinnt. Also musst
du den Strom für diesen Fehlerfall begrenzen. Was kein dein
PIC maximal an einem Ausgang liefern? Ich hab keine Ahnung, aber
um einen Wert zu haben, sage ich mal 15 mA. Du musst also einen
Widerstand finden, sodass wenn auf der einen Seite 5V anliegt
und auf der anderen Gnd, dann sollen nur ~15mA rinnen.
Ohmsches Gesetz  R = U / I  ->  5 / 0.015 -> 330 Ohm.

Also wirst du die Schaltung so modifizieren:


   5 V -----+
            |
           ---
           | | 10 k
           | |
           ---
            |         ------
            +---------|    |----------> PIC
            |         ------
            o           330
              /
   ----------/
            /
            |
   Gnd -----+--------------------------

Autor: EreburX (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
na :)

das is doch mal richtig schön! top, hab nirgens so ne beschreibung
gefunden :) einfach simpel, und nun geht es zum probieren weiter :)
danke!

MfG
EreburX

Autor: Hubert.G (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Opencollector hat z.B. einen max. Strom von 20mA bei 5V. Der
Widerstand rechnet sich dann aus U/I, in diesem Fall wäre das 250 Ohm,
das ist aber das absolute Minimum. Wenn keine weitere Beschaltung
vorliegt würde ich 1k verwenden. Das muss man sich aber von Fall zu
Fall wenn sich die Beschaltung ändert ausrechnen.

Autor: EreburX (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
öhm, könnte man nicht auch einfach ne diode vom vor den PIC setzen,
welche vom PIC in richtung OpenCollector sperrt?

MfG
EreburX

Autor: Hubert.G (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann kannst du aber in Richtung PIC auch keinen GND mehr schalten um den
Eingang auf low zu ziehen.

Autor: Ronny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Theoretisch kann der Pullup beliebig gross sein.Je höher,desto weniger
Strom fliesst wenn 'das Relais' geschlossen ist gegen Masse.Jedoch
muss der Pic-Eingang noch sicher den High-Pegel erkennen können,weshalb
ein SEHR geringer Strom noch fliessen muss.

Wenn die Schaltfrequenzen dann grösser werden(grösser mehrere
10KHz),limitiert zusätzlich noch die Eingangskapazität des Eingangs-Pin
den Wert der angeschlossenen Widerstände.Diese Kapazität muss quasi
'umgeladen' werden,bis der Pegel erkennbar für den Pic anliegt.Bei zu
hohen Werten für R wäre dann kein definierter Pegel mehr erkennbar.

Der genannte Werte von 10K ist einfach ein Erfahrungswert,bei dem man
meistens auf der sicheren Seite ist.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.