Digitaleingang - Spannungsbereich erhöhen

Gast #7066300
Lesenswert?

Hallo,

bin noch ziemlich neu auf dem Gebietn. Das Thema existiert garantiert 
schon irgendwo. Leider finde ich aber nichts passendes.

Ich möchte mit einem Atmega diverse Eingänge überwachen. Die Spannung an 
den Eingängen kann dabei aber variieren und zwischen 3.3V und 24V 
liegen. Ich möchte nur wissen, ob eine Spannung anliegt - nicht jedoch 
deren Höhe.

Wie mach ich das am einfachsten und am platzsparendsten? Brauche das 
Ganze für 12 Eingänge.
Moderator (Firma: Titel) Persönliche Seite #7066312
Lesenswert?

Karsten schrieb:
> Wie mach ich das am einfachsten
Mit wenigen Bauteilen.

> und am platzsparendsten?
Mit kleinen Bauteilen, beidseitig bestückt.

Das mal als Denkansatz:
1
             3V3
2
              |
3
              - 
4
              ^
5
              |
6
  In ---10k---o-----o--- µC
7
              |     |
8
              -    === 10n
9
              ^     |
10
              |     |
11
     ---------o-----o----
12
              |
13
             GND
Die beiden Dioden sind Doppeldioden z.B. BAV99s.

> Brauche das Ganze für 12 Eingänge.
Weil bei 24V an 'In' über die obere Klemmdiode knapp 2mA auf die 
3V3-Versorgung fließen, muss dort natürlich auch ein Verbraucher sitzen, 
der den Strom abnimmt.
Sonst steigen die 3V3 so lange an, bis das der Fall ist...


Ein Knackpunkt an deinem "Weitbereichseingang" ist, dass die 
Schaltschwelle wegen der 3,3V bei 1,6V liegen muss.bei 1,6V liegt. Denn 
dann ist auch bei einem 24V-Signal alles über 1,6V schon "high". Das ist 
für machen überraschend, denn in der "24V-Welt" gelten 3V noch als 
"low".
Gast #7066330
Lesenswert?

Guck dir mal Kapitel 3.3 an
http://stefanfrings.de/mikrocontroller_buch/Einstieg%20in%20die%20Elektronik%20mit%20Mikrocontrollern%20-%20Band%202.pdf

Da findest du ein paar gängige Schaltungen mit Erklärung.

In deinem Fall wäre noch zu überlegen, ob für dich 2 Volt schon 
"Spannung liegt an" erfüllt, oder ob das erst für höhere Spannungen 
gelten soll. Nicht dass das Gerät schon bei kleinen Störungen falsch 
funktioniert.
#7066344
Lesenswert?

Karsten schrieb:
> Wie mach ich das am einfachsten und am platzsparendsten? Brauche das
> Ganze für 12 Eingänge.

Platzsparend trifft bei meiner Lösung nicht so ganz zu, dafür aber am 
einfachsten und sichersten, gerade auch bei dem weiten Spannungsbereich.

Für solche Fälle gehe ich mit der Eingangsspannung auf einen Optokoppler 
und von diesem auf den Eingang vom µC. Den Vorwiderstand am OK 
dimensioniere ich so, dass bei der niedrigsten möglichen Spannung noch 
genug Strom durch die LED fließt. Man muss nur beachten, dass der Strom 
bei höchster Spannung nicht zu hoch wird. Aber bei deinen Werten ist das 
weniger al Faktor 10, das sollte jeder 0815-Koppler schaffen.

Die Schaltung hat außerdem den Vorteil, dass der Eingang galvanisch 
getrennt ist. Nachteilig ist die beschränkte Eingangsfrequenz, abhängig 
von verwendeten OK.
Moderator (Firma: Titel) Persönliche Seite #7066353
Lesenswert?

Jens P. schrieb:
> Die Schaltung hat außerdem den Vorteil, dass der Eingang galvanisch
> getrennt ist.
Wenn man eine potentialgetrennte Versorgung für die Sensoren hat und die 
beiden "Massen" nicht verbindet.

Jens P. schrieb:
> Den Vorwiderstand am OK dimensioniere ich so, dass bei der niedrigsten
> möglichen Spannung noch genug Strom durch die LED fließt.
Das ist eine ziemlich heiße Kiste (im wahrsten Sinne des Wortes) bei dem 
hier verlangten Spannungsbereich, wenn du nicht noch ein 
strombegrenzendes Bauteil (z.B. passend beschalteter  JFET siehe den 
Beitrag "Spannungsabfall bei Strombegrenzung LED durch JFET") zusätzlich mit verbaust.
#7066356
Lesenswert?

Lothar M. schrieb:
> Ein Knackpunkt an deinem "Weitbereichseingang" ist, dass die
> Schaltschwelle wegen der 3,3V bei 1,6V liegen muss.bei 1,6V liegt. Denn
> dann ist auch bei einem 24V-Signal alles über 1,6V schon "high". Das ist
> für machen überraschend, denn in der "24V-Welt" gelten 3V noch als
> "low".

Daher die Frage wozu das gut sein soll. Bei 24V sind manchmal auch 5V 
noch low.
Persönliche Seite #7066376
Lesenswert?

Karsten schrieb:
> Ich möchte mit einem Atmega diverse Eingänge überwachen. Die Spannung an
> den Eingängen kann dabei aber variieren und zwischen 3.3V und 24V
> liegen. Ich möchte nur wissen, ob eine Spannung anliegt - nicht jedoch
> deren Höhe.

Du nimmst einfach einen kleinen Festspannungs-LDO, dessen Enable-Eingang 
den gewünschten Spannungsbereich von 3,3V bis 24V abdeckt.

Für ein 3,3V-System könnte man zum Beispiel einen MIC5233-3.3YM5 im 
SOT-23-5 nehmen. Für ein 5V-System wäre es dann ein MIC5233-5.0YM5.

Bestimmt gibt es noch viele andere, die geeignet sind - so sie denn 
gerade lieferbar sind ...

Sonst nimmt man eine LDO-Spannung, die noch über dem High-Pegel des 
Systems liegt, aber natürlich kleiner als die Systemspannung.

Edit: Ggf. sind an den ATmega-Eingangen noch Pull-Down-Widerstände 
nötig.
Es gibt auch LDOs, die den Ausgang beim Deaktivieren aktiv nach GND 
schalten.
Gast #7066672
Lesenswert?

Eberhard H. schrieb:
>> den Eingängen kann dabei aber variieren und zwischen 3.3V und 24V
>> liegen.
> Du nimmst einfach einen kleinen Festspannungs-LDO, dessen Enable-Eingang
> den gewünschten Spannungsbereich von 3,3V bis 24V abdeckt.

Das nenne ich Aufwandsmaximierung.

Ein NPN-Transistor BC5_irgendwas mit 4k7 an der Basis und am µC 4k7 nach 
dessen Plus. Der Transistor hat kein Problem, wenn er bei 24V 5mA in die 
Basis bekommt, geht aber auch mit 550µA bei 3,3V schon sauber auf.

Die Invertierung aktiv = low löst man in der Software.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren