Forum: Mikrocontroller und Digitale Elektronik Liefert Z-Diode Massepegel?


von André W. (sefiroth)


Lesenswert?

Hallo,

ich möchte in meinem Auto mit einem Mikrocontroller (ATmega168) ein paar 
Bordnetzspannungen abgreifen - rein auf dem simplen Niveau ob Spannung 
vorhanden oder nicht.

Problem beim Auto ist ja die doch mitunter stark schwankende 
Bordnetzspannung (grob 11 bis 15V), so dass ein einfacher 
Spannungsteiler unter Umständen Spannungen von über 5V am Pin liefern 
könnte.

Daher dachte ich mir folgendes Konstrukt:

                     D1                    Z5.1
< Bordnetzsignal > -|>|-----[ 1k ]----X----|<|----- < GND >
                                      |
                                      ------------- < IO Pin >

Wenn eine Spannung anliegt, wird diese durch die Z Diode auf 5,1V 
limitiert, was der AVR ja verträgt. Er hat einen sicheren High-Pegel, 
egal ob nun 11 oder 15V Bordnetzspannung. Den Widerstand habe ich jetzt 
einfach mal auf grob 2mA gesetzt, müsste nochmal nachschlagen was die 
Z-Diode da braucht/verträgt.

D1 soll eine einfache 1N4148 Diode als Verpolungsschutz sein.

Nun frage ich mich aber, ob ich einen sicheren Massepegel am IO Pin 
durch die Z-Diode habe, wenn keine Bordnetzspannung anliegt (Leitung 
z.B. durch Schalter unterbrochen). Musste nicht zur Erkennung eines 
Massepegels ein geringer Strom aus dem IO-Pin fließen können? Hätte 
sonst einen Parallelwiderstand zur Z-Diode mit eingeplant, aber wollte 
möglichst viele Bauteile sparen...

Gruß,
André

von Nico (Gast)


Lesenswert?

> Problem beim Auto ist ja die doch mitunter stark schwankende
> Bordnetzspannung (grob 11 bis 15V), so dass ein einfacher

Ganz so einfach ist es leider nicht, Standard link zu dem Thema:

http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.23

von oszi40 (Gast)


Lesenswert?

Ob da eine mickrige Z-Diode die langlebige Ideallösung ist bezweifle 
ich.
Spätestens die Abschaltung der Zündung oder einer anderen Induktivität 
wird noch böse Spannungsimpulse liefern.

von André W. (sefiroth)


Lesenswert?

Danke für den Link!

Diese Schaltung habe ich schon öfters gesehen:
                       +-|>|- +5V
                       |
Eingang --10k--+--10k--+--| CMOS-Eingang
               |       |
              10nF     +-|<|- GND
               |
              GND

Allerdings frage ich mich, warum die so gerne eingesetzt wird. Die Diode 
hat doch eine Durchlassspannung von 0,6 - 0,7V, d.h. doch dass auf 
Spannungen von 5,6 bis 5,7V begrenzt wird. In der Atmel Spezifikation 
steht aber eine maximal zulässige Spannung von 5,5V an den IO Pins. Und 
das in den "Absolute maximum ratings" - also normaler Betriebsbereich 
ist das ja nicht mehr. Und wenn ich bei hoher Bordnetzspannung ein 
dauerhaftes Schaltersignal erfassen möchte, kann man da ja auch nicht 
mehr von einer Spannungsspitze sprechen...

von André W. (sefiroth)


Lesenswert?

oszi40 wrote:
> Ob da eine mickrige Z-Diode die langlebige Ideallösung ist bezweifle
> ich.
> Spätestens die Abschaltung der Zündung oder einer anderen Induktivität
> wird noch böse Spannungsimpulse liefern.

Naja, der Atmel hat sich bei Spannungsspitzen als ziemlich robust 
erwiesen ;-) Hast aber prinzipiell recht, dass man die auch Abblocken 
müsste.

von Hugo Miller (Gast)


Lesenswert?

Die Frage ist letztendlich was fuer ein Strom zulaessig ist bevor der 
Eingang des Chips kaputt geht. Im Normalfall tut eine hoehere Spannung 
nicht weh solange der Strom vernuenftig begrenzt wird. In deinem 
Beispiel wird dies der 10k Widerstand machen.

von André W. (sefiroth)


Lesenswert?

Ich würde den Eingang jetzt ganz gerne wie vorgeschlagen mit

                       +-|>|- +5V
                       |
Eingang --10k--+--10k--+--| CMOS-Eingang
               |       |
              10nF     +-|<|- GND
               |
              GND

schützen, da es ja dann wirklich die praktikabelste Lösung ist. Dazu 
würde ich aber ganz gerne noch ein paar Detailfragen stellen. Wäre sehr 
nett wen Ihr mir die noch beantworten könntet.

1) Also an den Eingang kann ich dann tatsächlich direkt dauerhaft (!) 
die Bordnetzspannung anlegen und über die beiden Dioden und die 
Widerstände wird der Port in zulässiger Weise betrieben?

2) Im de.sci.elecronics-FAQ wird von einer 4,7V Z-Diode oder der BAV99 
gesprochen. Wie ist das im Detail gemeint? Die BAV99 ist ja eine 
Doppeldiode in einem Gehäuse, was vom Bauraum her sehr praktisch ist. 
Aber was ist nun empfehlenswerter? Die BAV99 oder die Verwendung von 
Z-Dioden? Und im Falle von Z-Dioden: Würden beide Dioden durch Z-Dioden 
ersetzt?

3) Um nochmal auf die Kernfrage des Beitrags zurück zu kommen: Oftmals 
wird im KFZ nur auf Bordnetzspannung geschaltet. Das würde ich auch so 
halten wollen, um Leitungen zu sparen. D.h. am Eingang meiner Steuerung 
habe ich entweder Bordnetzspannung oder gar keinen Signalpegel. Der 
Controller soll aber natürlich auch bei offenem Eingang einen definerten 
(Masse-)Pegel haben, um sicher ein "Low" zu erkennen. Erfüllt die obige 
Schaltung diese Bedingung? Und falls nicht, kann man noch einen 
Pull-Down Widerstand mit einfügen? Wenn sich der Eingang zur Antenne 
wandelt bringt mir die Schutzschaltung nicht viel ;-)

Gruß, André

von Andrew T. (marsufant)


Lesenswert?

Du benötigst für zuverlässige Funktion den Pull-down-Widerstand.

von André W. (sefiroth)


Lesenswert?

Andrew Taylor wrote:
> Du benötigst für zuverlässige Funktion den Pull-down-Widerstand.

Würde den dann einfach vor die ganze Schutzbeschaltung gegen Masse 
hängen, oder was meint Ihr?

                          +-|>|- +5V
                          |
Eingang --+--10k--+--10k--+--| CMOS-Eingang
          |       |       |
         10k    10nF     +-|<|- GND
          |       |
         GND     GND

von Andrew T. (marsufant)


Lesenswert?

Wir meinen: Ja, ersteres.

von André W. (sefiroth)


Lesenswert?

Andrew Taylor wrote:
> Wir meinen: Ja, ersteres.

Ah, das königliche "Wir" :-)

von Uwe W. (dk1kq)


Lesenswert?

Das würde ich so machen:
Bordnetz auf die Leiterplatte wo der Controller drauf sitzt.
Dort Spannungsregler mit einem kleinen 78L05 ( oder 7805 je nach 
Stromverbrauch der Controller- Leiterplatte)
Das wäre eine saubere und verläßliche Schaltung.

Gruß Uwe

von André W. (sefiroth)


Lesenswert?

Uwe Wensauer wrote:
> Das würde ich so machen:
> Bordnetz auf die Leiterplatte wo der Controller drauf sitzt.
> Dort Spannungsregler mit einem kleinen 78L05 ( oder 7805 je nach
> Stromverbrauch der Controller- Leiterplatte)
> Das wäre eine saubere und verläßliche Schaltung.
>
> Gruß Uwe

Die Spannungsversorgung wird natürlich noch seperat geschütz. Dennoch 
muss ich die Eingänge ja separat sichern um einerseits Bordnetzpegel 
auswerten zu können und andererseits abzusichern, dass ein Leiterschluss 
auf 12V/Masse keine Schäden verursacht.

Könnte bitte noch jemand Frage 1 und 2 beantworten? Da weiß ich leider 
weiterhin noch nicht weiter :-(

von André W. (sefiroth)


Lesenswert?

Hmm schade...

Ich hab nochmal allgemein nach Schutzmaßnahmen für Mikrocontroller im 
KfZ gesucht, aber irgendwie scheint es ausser dem oben geposteten Link
(http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.23 )
nicht viel sonstiges zu geben. Zumindest wird von zig Stellen immer 
wieder dorthin referenziert, obwohl die Beschreibung doch sehr knapp 
ist. Oder mir fehlen einfach die richtigen Suchbegriffe um den 
Goldtreffer bei Google zu landen ;-)

von Uwe W. (dk1kq)


Lesenswert?

Hi,
irgendwie kann ich Deine Gedankengänge nicht verfolgen.
Digital gesehen : Es gibt nur Spannung vorhanden (H) oder nicht (L)
Was soll deshalb "Massepotential erkennen" ?

Also Definiere Massepegel, was meinst Du damit ?
Gruß Uwe

von André W. (sefiroth)


Lesenswert?

Uwe Wensauer wrote:
> Hi,
> irgendwie kann ich Deine Gedankengänge nicht verfolgen.
> Digital gesehen : Es gibt nur Spannung vorhanden (H) oder nicht (L)
> Was soll deshalb "Massepotential erkennen" ?
>
> Also Definiere Massepegel, was meinst Du damit ?
> Gruß Uwe

Ähm, lange bist Du auch noch nicht dabei, oder? ;-)

Spannung nicht vorhanden ist auf keinen Fall das Gleiche wie ein 
Low-Pegel! Wenn keinen Spannung anliegt ist der Signaleingang offen und 
kann völlig zufällige Signalpegel erkennen (Flackern zwischen H und L). 
Daher ist es in der Regel ja so wichtig Pull-Up oder Pull-Down 
Widerstände zu verwenden, damit ein Bezug auf eine Spannung bzw. 0V/GND 
besteht wenn der Eingang offen ist - also keine eigene Spannung führt.

Aber was mich momentan einfach nicht loslässt ist eher die Frage welche 
Dioden zum Schutz des eingangs verwednet werden sollen. Z-Diode(n) oder 
die BAZ99? Bitte - ich brauche die Info weil ich sonst mit der Schaltung 
nicht weiter komme.

von André W. (sefiroth)


Lesenswert?

Naja, dann nehm ich jetzt eine 4,7V-Z-Diode nach Masse und eine 1N4148 
nach 5V. Mal sehen ob's qualmt ;-)

von Jacek G. (tfc)


Lesenswert?

Wenn man schon mehrere Leitungen abgreift, kann man sich doch nen Chip 
holen, der mehrere OPs inne hat. Kann man nicht einfach einen wählen, 
der hohe Eingangsspannungen ab kann, den mit 5V-Versorgungsspannung 
anschließen und das dann in Impedanzwandler-Schaltung an den 
Mikrocontroller anschließen?

Ich bin Erstsemester und an der Uni waren OPs jetzt ein breit getretenes 
Thema zu dem wir viel gerechnet haben und das ist nur eine Idee, die ich 
jetzt einfach mal poste, um von erfahrenen Ingenieuren ein "Ja, kann man 
auch machen." oder "Nein, kann man nicht machen, WEIL..." zu lesen.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> Kann man nicht einfach einen wählen, der hohe Eingangsspannungen ab kann,
> den mit 5V-Versorgungsspannung anschließen...
Das würde nur heißen, dass du diese Eingangsbeschaltung dem 
OP-Hersteller überlässt. Einfach mal angenommen, du nimmst so einen OP 
(tolerant bis z.B. 50V), versorgst den mit 5V und schließt direkt an den 
+Pin dein Eingangssignal, an den Ausgang deinen uC. Dann kann eigentlich 
am Ausgang nie mehr als 5V herauskommen.

Aber: leg jetzt mal eine falsche Spannung (z.B. 100V) an diesen Eingang 
an. Kurz darauf wird ein kleine Siliziumschmelze im OP im Gang gesetzt, 
der wird zum Leiter, und du hast 100V an uC-Pin. Kurz darauf wird eine 
Siliziumschmelze im uC ...

von sous (Gast)


Lesenswert?

>Diese Schaltung habe ich schon öfters gesehen:
>                       +-|>|- +5V
>                       |
>Eingang --10k--+--10k--+--| CMOS-Eingang
>               |       |
>              10nF     +-|<|- GND
>               |
>              GND
>
>Allerdings frage ich mich, warum die so gerne eingesetzt wird. Die Diode
>hat doch eine Durchlassspannung von 0,6 - 0,7V, d.h. doch dass auf
>Spannungen von 5,6 bis 5,7V begrenzt wird.

Die Eingänge vieler ICs sind durch genau diese Anordnung zweier Dioden 
gegen Überspannung geschützt. Dadurch erklären sich die Abs. Max. 
Ratings:
Die Spannung darf die Flußspannung dieser Schutzdioden nicht 
überschreiten, sonst fließt hier zu viel Strom.
Man könnte extern Schottky-Diode statt 'normaler' Dioden verwenden, 
deren Flussspannung liegt niedriger, so dass diese zuerst anfangen zu 
leiten.

Davon abgesehen: die beiden 10k-Widerstände begrenzen den Strom durch 
die Dioden (egal ob ausserhalb oder innerhalb des ICs) auf harmlose 
Werte (wenn nicht gerade Dauer-Hochspannung an den Eingang gelegt 
wird...)

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> Musste nicht zur Erkennung eines Massepegels ein geringer Strom aus dem
> IO-Pin fließen können? Hätte sonst einen Parallelwiderstand zur Z-Diode
> mit eingeplant, aber wollte möglichst viele Bauteile sparen...
Den externen Pulldown wirst du für einen definierten LOW-Pegel brauchen, 
wenn du nicht im uC einen solchen Widerstand einfach einschalten kannst. 
Bei den AVR ist m.W. nur ein Pullup möglich.

von Tobi (Gast)


Lesenswert?

Der Atmega hat auch interne Schutzdioden.
Laut Atmel-Vertreter kann man die dauerhaft mit 1mA betreiben
--> ein einfacher Vorwiderstand (ohne weitere Dioden) reicht vollkommen 
aus.
Man muss nur den Strom auf 1mA begrenzen!

-> weniger Bauteile geht wirklich nicht :-)

Tobi

von Tobi (Gast)


Lesenswert?

Also für den Auto-Fall:

Maximal-Spannung 100V (die 5V und die Diodenspannungen vernachlässigt):

R=100V/1mA = 100kOhm

Bei 100kOhm sind halt hohe Frequenzen schlecht zu messen, weil man mit 
dem Portpin einen R-C Tiefpass bildet!
Der Widerstand funktioniert auch für beide Richtungen (+/-100V).
Allerdings müssten auch niedrigere Werte gehen, da ja 1mA die Dauerlast 
ist.
Kurzzeitig dürfen sicher mehr fliessen (allerdings habe ich dazu keine 
Info).

von André W. (sefiroth)


Lesenswert?

Tobi wrote:
> Der Atmega hat auch interne Schutzdioden.
> Laut Atmel-Vertreter kann man die dauerhaft mit 1mA betreiben
> --> ein einfacher Vorwiderstand (ohne weitere Dioden) reicht vollkommen
> aus.
> Man muss nur den Strom auf 1mA begrenzen!
>
> -> weniger Bauteile geht wirklich nicht :-)
>
> Tobi

Wow, ich wusste gar nicht dass die so gut sind. Sind die denn 
ausreichend sicher bzw. genauso gut wie eine externe Beschaltung mit 
Z-Diode und Shottky-Diode?

Klingt vielleicht etwas albern, aber mir ist noch immer ein wenig mulmig 
dabei, die Bordnetzspannung nur über einen Vorwiderstand an den AVR zu 
legen...

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

>> Laut Atmel-Vertreter ...
Das wäre sowieso meine allererste Informationsquelle in solchen Dingen 
:-/

Wenns wenigstens der Atmel-FAE gewesen wäre...

von André W. (sefiroth)


Lesenswert?

Lothar Miller wrote:
>>> Laut Atmel-Vertreter ...
> Das wäre sowieso meine allererste Informationsquelle in solchen Dingen
> :-/
>
> Wenns wenigstens der Atmel-FAE gewesen wäre...

Das sehe ich auch so. Wenn, dann traue ich so etwas erst dann wenn ich 
es schwarz auf weiß in einem Datenblatt oder einer AN gelesen habe. Und 
soweit ich weiß steht im Datenblatt des AVR, dass keine Eingangsspannung 
größer als Vcc + 0,3V (0,5V?) an die Eingänge gelegt werden soll. Das 
hätten sie doch sonst einschränken können,w enn die Dioden so 
leistungsfähig wären. Ein Mikrocontroller, der mit nem Serienwiderstand 
locker 12V Pegel auswerten kann wäre doch was feines ;-)

von André W. (sefiroth)


Lesenswert?

Habe eben in einem anderen Beitrag gelesen, dass es voN atmel eine AN 
gibt, wo die genau das beschrieben was Tobi geschrieben hat. Da sollen 
die angeblich 200V an einen Atmel Pin gelegt haben - nur mit einem 1MOhm 
Widerstand dazwischen!

Kennt jemand die Application Note? Suche sie grad, aber ich finde das 
Mistding grad zwischen den anderen ANs nicht :-D

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Suche im Forum: siehe Beitrag "Re: nulldurchgang"

EDIT:
Suchbegriff war "+nulldurchgang +avr +app*"

von André W. (sefiroth)


Lesenswert?

Grad hab ich's auch gefunden: AN AVR182
http://www.atmel.com/dyn/resources/prod_documents/doc2508.pdf

von André W. (sefiroth)


Lesenswert?

Das scheint tatsächlich so machbar zu sein. Also warum dann noch groß 
extern beschalten, wenn die internen Clamping Dioden das eh in 
Kombination mit einem Vorwiderstand begrenzen?

Ich würde die Eingänge dann einfach so gestalten:

Eingang --+--10k--+--10k--+--| CMOS-Eingang
          |       |
         10k    10nF
          |       |
         GND     GND


Mit 20 kOhm in Reihe müsste der Pin, sofern ich die AN richtig verstehe, 
dauerhaft gut 20V vertragen. Den Kondensator würde ich zum Abblocken 
ganz gerne beibehalten - da ich überwiegend nur Schalter und Taster 
abfrage, kann das Signal ruhig etwas verschliffen werden. Und den 
Pull-Down werde ich ja weiterhin benötigen, um den offenen Eingang als 
Low interpretieren zu können.

Hat das schonmal jemand so aufgebaut und dauerhaft laufen lassen?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Mach den 10k Pulldown direkt an den uC-Pin. Dann hast du eine 
Schaltschwelle von ca. 8V. Also wird nicht schon die kleinste Störung 
vom uC als High erkannt.

von André W. (sefiroth)


Lesenswert?

Lothar Miller wrote:
> Mach den 10k Pulldown direkt an den uC-Pin. Dann hast du eine
> Schaltschwelle von ca. 8V. Also wird nicht schon die kleinste Störung
> vom uC als High erkannt.

Hmm, guter Tipp. Danke!

Aber falls ich mal mit 'gefährdeten' 5V Pegeln arbeite (die bei 
Leiterschluss 12V führen könnten), müsste ich meine erste variante 
einsetzen, gell?

von André W. (sefiroth)


Lesenswert?

André Wippich wrote:
> Lothar Miller wrote:
>> Mach den 10k Pulldown direkt an den uC-Pin. Dann hast du eine
>> Schaltschwelle von ca. 8V. Also wird nicht schon die kleinste Störung
>> vom uC als High erkannt.
>
> Hmm, guter Tipp. Danke!

Wobei... Wenn ich den Pull-Down direkt an den Eingangspin lege, liegen 
dort bei 12V eingangsspannung lediglich 4V an! Ich müsste den Pull-Down 
erhöhen - denke 47k wären ganz gut. Dann kommt es auch mit den ca. 8V 
hin.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> lediglich 4V an!
Bitte beachten: Schaltschwelle CMOS = 2,5V

von André W. (sefiroth)


Lesenswert?

Lothar Miller wrote:
>> lediglich 4V an!
> Bitte beachten: Schaltschwelle CMOS = 2,5V

Ist das generell so? Bzw. ist die Schwelle garantiert? Dachte immer es 
wären bei AVR-Eingängen 0,6 * Vcc (@5V: Vh = 3V). Und das wäre schon 
knapp, wenn man bedenkt, dass Bordnetzspannung zwischen (ca.) 9 und 15V 
liegt.

Bei einer Schaltschwelle von 2,5V würde es auch mit 10k gehen, aber ein 
etwas größerer Pull-Down tut ja nicht weh, solange er nicht 
unverhältnismäßig groß wird. Werd das in ner ruhigen Minute nochmal so 
ausrechnen, dass ich bei 9V Bordnetzspannung so bei ca. 3,5V am Pin 
liege. 9V wäre auch ein sehr extremer Fall - nominal sind es ja 12 bis 
14,7V mit denen man arbeitet.

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.