Forum: Mikrocontroller und Digitale Elektronik 4 Active-Low-Signale verodern


von Chris (Gast)


Lesenswert?

Hallo,

ich habe Active-Low-Signale von 4 Quellen (Optokoppler + 0,5 Meter Kabel 
je Signal), die ich auf den RX-Uart-Pin von einem Atmega führen will.

Wie kann ich die Signale zusammen führen? Optimal wäre (aus 
Platzgründen) ein IC mit 4 hochohmigen Eingängen, das am Ausgang 5V 
bereit stellt wenn alle 4 Eingänge ebenfalls auf 5V stehen, und 0V wenn 
mindestens einer Eingänge auf 0V ist. Also ein AND. Da scheint es aber 
nichts mit 4 Eingängen zu geben?

Die simpelste diskrete Lösung wäre wohl, 4 Dioden zu nehmen und vom 
Low-Signal dann einen Pullup-Widerstand (oder den AVR-internen) runter 
ziehen zu lassen. Ich befürchte aber, dass das Signal danach grausam 
aussieht. Die einzigen Dioden, die ich da habe, sind 1N4148.

Die Baudrate steht noch nicht fest, im Hinblick auf den Quarz werden es 
wohl 19200 Baud (250.000 macht das Flachbandkabel dazwischen bestimmt 
nicht mit).

Gruß,
Chris

von H.Joachim S. (crazyhorse)


Lesenswert?

Natürlich gibts 4fach AND, (4082 z.B.)
Dioden werden auch funktionieren, die Langweiler erden eh die 
Optokoppler sein.
Probleme werden auftauchen, wenn 2 (oder mehr) sich überlappen. Kannst 
du das ausschliessen, funktionierts.

von amateur (Gast)


Lesenswert?

Wenn Du es nicht allzu eilig hast, keine Angst vor minimalen Leckströmen 
bekommst, was sollte da gegen die gute, alte 1N4184 sprechen?
Im Gegensatz zu vielen anderen Bauteilen kannst Du dich bei der auf die 
Daten verlassen. Wunder sind allerdings im Preis nicht eingeschlossen.

von Stefan++ (Gast)


Lesenswert?

Hallo,

ein 74HCT08 mit seinen 4 2-input AND Gattern tut das was du willst, 
musst nur 3 Gatter davon geeignet verschalten

von Achim M. (minifloat)


Lesenswert?

Chris schrieb:
> werden es wohl 19200 Baud

Dicker Pullup beim Master-RX hilft gegen miese Flanken.
CAN und LIN kennen es nicht/kaum anders.

von Gerd E. (robberknight)


Lesenswert?

Wenn Du das UART vor Deinen Optokopplern invertierst (also wenn ein Bit 
gesendet wird an, idle aus), brauchst Du beim Empfang gar nix: einfach 
ein stärkerer Pullup (z.B. 1K) und da die 4 Kollektoren der Optokoppler 
dran. Jeder Optokoppler kann jetzt das Signal auf GND runterziehen.

Das invertieren vor dem Optokoppler kannst Du mit nem simplen NPN und 
Pullup machen.

von Stefan W. (dl6dx)


Lesenswert?

Gerd E. schrieb:
> Wenn Du das UART vor Deinen Optokopplern invertierst (also wenn ein Bit
> gesendet wird an, idle aus),

Hallo Gerd,

wieso sollte er invertieren müssen?

Der Ruhezustand des Signals ist ein H-Pegel, seine Quellen sind active 
low mit open collector-Ausgängen. Da reicht ein genügend niederohmiger 
Pull-Up-Widerstand und ein wired or.

Grüße

Stefan

von Chris (Gast)


Lesenswert?

Danke für eure Antworten! Ich probiere das mit den Dioden einmal aus.

Ich verwende die 6N137 Optokoppler und habe sie so angeschlossen, dass 
sie Idle nicht "leuchten". Durch den Pullup stellt sich am Ausgang dann 
ein High-Pegel ein.

Gruß,
Chris

von Stefan W. (dl6dx)


Lesenswert?

Chris schrieb:
> Ich probiere das mit den Dioden einmal aus

Hallo Chris,

wenn du die Optokoppler als open collector-Ausgänge betreibst, kannst du 
sie direkt parallel schalten. Ich hab das vor Jahren mal als einfachen 
galvanisch getrennten Bus genutzt.

Wichtig ist nur, dass du den Pull-up-Widerstand ausreichen niederohmig 
machst, damit die steigenden Flanken steil genug sind. Am besten 
solltest du das Signal am Empfänger mit dem Oszilloskop überprüfen.

Grüße

Stefan

von Chris (Gast)


Lesenswert?

Da ich 4 0,5 Meter Flachbandkabel habe die am AVR sternförmig zusammen 
laufen, war meine Idee, jedes Kabel auf einen Eingang eines AND-ICs zu 
führen, damit sich die Signale so wenig wie möglich durch die 
Verkabelung gestört werden.
Daher habe ich jeden Optokoppler getrennt betrachtet und ihm (als open 
Collector schaltung) einen eigenen Pullup spendiert.

Natürlich kann man das auch einfach zusammen knoten.
Manchmal sieht man den Wald vor lauter Bäumen nicht...

Gruß,
Chris

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.