Forum: Mikrocontroller und Digitale Elektronik Open Collector am Mega 8?


von Marc Wessels (Gast)


Lesenswert?

Hallo, das ist bestimmt ne absolute Noob Frage, aber hat der Mega
8(Mega16) Open Collector Pins? irgendwie werde ich auchdem Datenblatt
nicht schlau..

Danke schonmal.

von crazy horse (Gast)


Lesenswert?

collector schon mal gar nicht, da CMOS - wenn, dann wäre es open drain.
Falls du das wirklich brauchst - eine einfache Diode 1N4148 (Katode zum
Portpin) macht aus einem Gegentakt-Ausgang einen fast vollwertigen
open-xx Ausgang. Fast, da der L-Pegel um die Durchlassspannung der
Diode höher liegt. Ob das stört, hängt von den nachfolgenden
Komponenten und der Betriebsspannung ab. Zur Not Schottky-Dioden
einsetzen.

von Matthias (Gast)


Lesenswert?

Hi

kann man auch über das DDRx-Register simulieren. PORTx stellt man auf 0
und schaltet dann den Port über das DDRx-Register auf Low bzw.
hochohmig.

Matthias

von Michael (ein anderer) (Gast)


Lesenswert?

Das einzige was man beachten muss, egal ob beim Verfahren mit der Diode
oder der Lösung in Software: Man darf an einen solchen Ausgang keine
höhere Spannung anlegen als die Versorgungsspannung des AVR, da sonst
die Schutzdioden im AVR überlastet werden.

Wenn man einen echten Open-Kollektor-Ausgang benötigt, nimmt man am
aller einfachsten einen kleinen Mosfet, z.B. BS170 (TO-92, nicht für
unter 5 Volt geeignet) oder  BS130 (SOT-23, SMD, aber "schöner"
Mosfet).

Wer keinen Mosfet mag, kann auch einen normalen NPN-Transistor inkl.
zweier Widerstände verwenden. Wenn er dann noch schnell schalten soll,
benötigt der Transistor über den Basis-Widerstand noch einen
Beschleunigungskondensator. Wenn den Transistor auch richtig lahm
schalten darf, kommt man auch nur mit einem Widerstand aus.

von peter dannegger (Gast)


Lesenswert?

@Michael

"Wenn man einen echten Open-Kollektor-Ausgang benötigt..."


Wenn Du das Portbit konstant auf 0 setzt und nur das DDR-Bit
umschaltest, dann ist das "echt open drain", echter gehts nicht.
Der obere FET ist immer gesperrt.

In alten CMOS-Logikschaltungen hat man früher oft den 74HC125 genommen,
um open-drain Ausgänge nach diesem Prinzip zu realisieren und in CPLDs
macht man es genau so.


Peter

von Matthias (Gast)


Lesenswert?

Hi

er hat schon recht. Die Schutzdiode ist trotz gesperrtem FET immer noch
da. An einem "echten Open-Drain" Ausgang kann man einen LED-Strang an
+12V betreiben. Das wird mit der DDRx Methode nicht funktionieren.

Matthias

von peter dannegger (Gast)


Lesenswert?

"An einem "echten Open-Drain" Ausgang kann man einen LED-Strang an
+12V betreiben."


Völlig falsch !!!

Der 74LS03 ist ein "echter" open-collector und kann nur 5V ab.
Der 74LS26 ist schaltungsmäßig identisch mit dem 74LS03, kann aber 15V
ab.

Welche Spannung der Ausgangstransistor abkann ist also kein Merkmal der
open-collector Schaltung.

Und Schutzdioden sind auch in den ULNxxx drin.


Peter

von Marc Wessels (Gast)


Lesenswert?

Vielen danke euch allen, aber in meinem Fall brauche ich eine PWM Open
Collector oder Drain, das geht mit den genannten TRicks ja nicht.

Sven

von Michael (ein anderer) (Gast)


Lesenswert?

@peter dannegger:

Auch wenn der obere Fet gesperrt ist, hast Du immer noch eine Diode vom
Ausgang nach VCC, also eine Beschaltung des Open-Kollektor- bzw.
Open-Drain-Ausgang.

Ich habe kein Datenblatt von so einem antiken 74LS03 da, aber im
Datablatt zum 74HC03 von Philips kann man nachlesen:

    "The 74HC/HCT03 have open-drain N-transistor outputs,
     which are not clamped by a diode connected to VCC. In
     the OFF-state, i.e. when one input is LOW, the output
     may be pulled to any voltage between GND and VOmax.
     This allows the device to be used as a LOW-to-HIGH or
     HIGH-to-LOW level shifter."

VOmax ist übrigens mit 7 Volt angegeben.

Deine Aussage:

> Wenn Du das Portbit konstant auf 0 setzt und nur das DDR-Bit
> umschaltest, dann ist das "echt open drain", echter gehts nicht.

ist so nicht richtig. Denn ein "echt open drain" ist überhaupt nicht
beschaltet, auch nicht mit einer Diode nach VCC. Die Diode stört in
vielen Fällen bei Open-Drain- bzw. Open-Kollektor-Anwendungen, wie z.B.
Level-Shifter oder Schaltaufgaben.

Und:

> Welche Spannung der Ausgangstransistor abkann ist also kein
> Merkmal der open-collector Schaltung.

Das hat hier noch nie jemand behauptet. Es ging und geht
ausschliesslich darum, dass Du mit der Softwarelösung oder der
Beschaltung mit einer externen Diode in Reihe an die eingebaute Diode
im AVR denken musst und nicht von einem reinem Open-Kollektor-Ausgang
ausgehen darfst.

VCC am AVR kann ja auch kleiner als 5 Volt sein und Du kannst trotzdem
keine Spannungen wegschalten die höher als VCC ist weil über die Diode
ein Strom nach VCC fliessen würde!

von Michael (ein anderer) (Gast)


Lesenswert?

@peter dannegger:

> In alten CMOS-Logikschaltungen hat man früher oft den 74HC125
> genommen, um open-drain Ausgänge nach diesem Prinzip zu
> realisieren

Der 74HC125 hat keine Open-Drain-Augänge sondern 3-State-Ausgänge.
3-State und Open-Drain sind zwei völlig verschiedene Sachen, auch wenn
sie sich in bestimmten Anwendungsfällen ähnlich verhalten.

Im AVR hast Du 3-State-Ausgänge und keine Open-Drain-Ausgänge.

Kleiner, aber sehr entscheidender Unterschied.

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.