Forum: Mikrocontroller und Digitale Elektronik Pegelwandler mit BS170 - Erzeugt Peak?


von Martin R. (cornholio)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich möchte Signale in Form eines Rechtecks an die I/O-Pins eines ATmega8 
führen. Der ATmega wird mit 5 Volt betrieben. Das Rechtecksignal sieht 
wie folgt aus:
- 0 Volt soll als "Low" erkannt werden
- 4 bis 8 Volt als "High"
- Das Signal steht für 1 bis 2 Millisekunden auf "High" und es hat eine 
Frequenz von 50 Hz.
-> Es handelt sich um die PWM-Signale eines RC-Empfänger im 
"Hochvolt"-Modus

Spannungsteiler und Z-Dioden zur Pegelanpassung fallen aus, weshalb ich 
mir einen Pegelwandler in Form von 2 BS170 ausgedacht habe (siehe 
Anhang). In der Simulation in LTspice klappt das auch ganz gut, bis auf 
ein Problem:

Im Diagramm ist das grüne Signal das PWM-Signal aus dem Empfänger (= 
V1). Im konkreten Fall mit 4,2 Volt. Das blaue Signal ist zwischen R2 
und M2 abgegriffen und soll so direkt in die I/O-Pins des ATmega.

Man sieht nun im Diagramm, dass das blaue Ausgangssignal am Ende der 
High-Phase einen Peak von 5,5 Volt hat, den ich mir nicht erklären kann. 
Dieser Peak tritt auf, egal wie hoch das PWM-Signal ist und egal wie ich 
die Widerstände dimensioniere.

Tritt dieser Peak auch real auf oder ist das ein LTspice-Problem? Und 
wenn er real auftritt, dann wäre ich mit diesem 5,5 Volt Peak ja am 
absoluten Limit, welches die ATmega-I/Os laut Datenblatt aushalten. Muss 
ich dann zur Sicherheit noch eine Diode zwischen R2/M2 und dem I/O-Pin 
des ATmega schalten, um sicher bei 5 Volt oder knapp darunter 
rauszukommen?


Gruß,
Martin

von Stefan P. (form)


Lesenswert?

Das scheint ein Simulationsfehler zu sein, da eine so hohe Spannung in 
der Schaltung gar nicht vorkommt.

Aber warum machst Du das so kompliziert? Es reicht doch ein einziger 
Widerstand (in Kombination mit der internen Z-Diode).

von Achim S. (Gast)


Lesenswert?

es ist kein Simu-Artefakt, sondern kapazitives Übersprechen vom Gate auf 
den Ausgang deines zweiten Transistors: bei der fallenden Flanke des 
Eingangssignals beginnt M1 zu sperren und U_GS von M2 läuft nach oben. 
Das koppelt kapazitiv über auf das Drain von M2, und solange M2 noch 
hochohmig ist, kann der Strom nur über R2 abfließen. Die Höhe des Pulses 
sollte von der Steilheit der Flanke und vom Wert von R2 abhängen.

Dein IO-Pin des Controllers wird sich daraus nichts machen. Wenn der 
Puls auftritt, schneidet ihn die ESD-Diode am Eingang auf einen 
ungefährlichen Wert ab. Den geringen Strom, der dabei fließt, kann die 
ESD-Diode verkraften.

schöne Grüße

Achim

von slow (Gast)


Lesenswert?

Hallo Martin R.
Wieso hast Du Dir diese aufwendige Schaltung ausgedacht?
Was spricht gegen einen simplen Serienwiderstand in Verbindung mit der 
internen Schutzdiode? Oder meinetwegen auch mit einer externen 
Schutzdiode?

von Andreas D. (rackandboneman)


Lesenswert?

AFAIK gilt schaltungstechnische Nutzung der ESD-Dioden kategorisch als 
Murks... gibt es hier modernere Meinungen dazu?

von spess53 (Gast)


Lesenswert?

Hi

>AFAIK gilt schaltungstechnische Nutzung der ESD-Dioden kategorisch als
>Murks... gibt es hier modernere Meinungen dazu?

Zumindest von ST und Atmel kenne ich Appnotes in denen sie das nicht so 
sehen -> Nullspannungserkennung der Netzspannung mit Vorwiderstand am 
IO-Pin.

MfG Spess

von Martin R. (cornholio)


Lesenswert?

Hallo zusammen,

Achim S. schrieb:
> es ist kein Simu-Artefakt, sondern kapazitives Übersprechen vom Gate auf
> den Ausgang deines zweiten Transistors:

Danke für diese Erklärung. Der Peak lässt sich tatsächlich durch 
Variation von R2 und der Steilheit der Flanke beeinflussen.


Bei der Variante mit Z-Diode wäre folgendes passend?

4,7V Z-Diode mit 0,5W. -> Imax ca. 100 mA, Imin ca. 0,1 * 100 mA = 10 mA

Ab 5,5V soll die Z-Diode leiten, wofür 10 mA (oder besser 15 mA) 
benötigt werden: (5,5V - 4,7V) / 15mA = 53 Ohm. Und bei 8V wären es dann 
(8V - 4,7V) / 53 Ohm = 62mA Strom, was deutlich unterhalb von Imax ist.

Allerdings werden dann (8V - 4,7V) * 62mA = 200mW am Widerstand 
verbraten. Bei der Variante mit den MOSFET hingegen fließt fast kein 
Strom. Für die Akkus ist das doch deutlich besser?

Gruß,
Martin

von Gati (Gast)


Lesenswert?

Normalerweise hat man da noch Gate-Widerstände im kOhm-Bereich.

von Gati (Gast)


Lesenswert?

>Zumindest von ST und Atmel kenne ich Appnotes in denen sie das nicht so
>sehen -> Nullspannungserkennung der Netzspannung mit Vorwiderstand am
>IO-Pin.

Da steht auch ausdrücklich drinne, daß die Schaltung nicht surgefest 
ist...

von Stefan P. (form)


Lesenswert?

Martin: Ich weiss nicht was du da an Strömen ausgerechnet hast, aber mit 
10k Vorwiderstand und (optional auch externer) 5,1V Z-Diode fliessen bei 
8 V input max. 300 µA.

von Gati (Gast)


Lesenswert?

Martin, laß doch mal dein Simu-File rüberwachsen.

von Martin R. (cornholio)


Angehängte Dateien:

Lesenswert?

Gati schrieb:
> Martin, laß doch mal dein Simu-File rüberwachsen.

Siehe Anhang. BS170.lib habe ich auch mal angehängt - das ist die von 
der Yahoo-Group.

@Stefan:
Durch die externe Z-Diode muss doch ein Strom in der Größenordnung von 
10mA fließen, damit sie überhaupt richtig funktioniert. Zumindest 
behaupten das die Seiten, auf denen ich mich schlau mache.

Gruß,
Martin

von Gati (Gast)


Lesenswert?

Also, ich denke auch, daß es ein ganz normaler Widerstand in Serie zum 
Eingang tut. Ich würde 10k nehmen, dann wird der Strom auf rund 250µA 
begrenzt. Die Eingangsschutzdioden beim ATMEGA sind sehr robust und 
gehen davon sicherlich nicht kaput.

>AFAIK gilt schaltungstechnische Nutzung der ESD-Dioden kategorisch als
>Murks... gibt es hier modernere Meinungen dazu?

Das ist schon richtig, bezieht sich aber eher auf die Geschwindigkeit 
der Störung, die über die Schutzdioden abfließt und auf den 
Maximalstrom.

Um die Schaltung auch für sehr schnelle Störungen unkritisch zu machen, 
könnte man vom Port-Eingang des ATMEGA noch einen 1nF Cap nach Masse 
schalten. Das sich bildende RC-Glied hat dann eine Zeitkonstante von 
rund 10µsec, womit die Schutzdioden klarkommen sollten.

von Yalu X. (yalu) (Moderator)


Angehängte Dateien:

Lesenswert?

Martin R. schrieb:
> Allerdings werden dann (8V - 4,7V) * 62mA = 200mW am Widerstand
> verbraten.

Deine Überlegung ist völlig falsch. Es gibt bei Z-Dioden keinen
Mindeststrom. Du musst lediglich dafür sorgen, dass bei der kleinsten
Eingangsspannung (4,2V) der Low-High-Schwellwert des AVR-Eingangs (3V)
deutlich überschritten und bei der größten Eingangsspannung (8V) die
maximale Eingangsspannung des AVR (5,5V) nicht erreicht wird. Mit einem
1kΩ-Vorwiderstand liegst du ganz gut (linke Hälfte der obigen 
Schaltung).

Trotzdem ist die Begrenzung per Diode nach VCC die bessere Lösung, da du
dir dann keine Gedanken über Toleranzen der Z-Diode machen musst und die
Signalspannung am AVR trotz eines größeren Widerstands höher liegt. Wenn
du der internen Schutzdiode nicht traust, kannst du eine externe
Schottky-Diode nehmen. Mit einer BAT54 und einem Vorwiderstand von 10kΩ
bewegst du dich perfekt innerhalb der Limits im Datenblatt (rechte
Hälfte der obigen Schaltung). Du kannst den Vorwiderstand auch noch
größer machen. Das vergrößert zwar wegen der Eingangskapazität des AVR
theoretisch etwas die Schaltzeit, was aber in in deinem Fall kein
Problem sein dürfte.

von Martin R. (cornholio)


Lesenswert?

Hallo Yalu,

danke für die Erklärung. Jetzt habe ich verstanden, wie ihr das mit der 
Diode meint und wie das funktioniert. Ich werde wohl eine 1N5817 nehmen, 
da ich keine SMD-Teile verwenden möchte.

Yalu X. schrieb:
> Deine Überlegung ist völlig falsch. Es gibt bei Z-Dioden keinen
> Mindeststrom.

Ich ging von dem aus, was ich auf 
http://www.elektronik-kompendium.de/sites/slt/1012151.htm und 
http://www.elektroniktutor.de/analog/uz_stabi.html gelesen habe. Beide 
schreiben von einem Mindeststrom, der durch die Z-Diode fließen muss.

Gruß,
Martin

von Yalu X. (yalu) (Moderator)


Lesenswert?

Martin R. schrieb:
> Ich ging von dem aus, was ich auf
> http://www.elektronik-kompendium.de/sites/slt/1012151.htm und
> http://www.elektroniktutor.de/analog/uz_stabi.html gelesen habe. Beide
> schreiben von einem Mindeststrom, der durch die Z-Diode fließen muss.

Benutzt man eine Z-Diode zur Spannungsstabilisierung, ist es prinzipiell
günstiger, sie mit einem höheren Strom zu betreiben, weil dort ihr
differentieller Widerstand kleiner und damit die Stabilisierung genauer
wird. Der Strom sollte allerdings nicht so hoch sein, dass sich die
Diode merklich erwärmt, da sich mit der Temperatur ihre Kennlinie
ändert. Als guten Kompromiss nimmt man den im Datenblatt angegebenen
Nennstrom der Z-Diode oder — wie in deinen Links — etwa 10% des
Maximalstroms.

Im Fall der Überspannungsbegrenzung ist die Konstanz der Ausgangsspan-
nung aber nicht so wichtig, solange diese sich klar im Bereich zwischen
3V und 5V bewegt. Deswegen kann man hier auch mit geringeren Strömen
arbeiten. Man muss allerdings gewisse Toleranzen der Z-Diode berücksich-
tigen, um zu verhindern, das bei einem ungünstigen Exemplar dieser
Spannungsbereich verlassen wird.

Diese Unsicherheiten hat man, wie ich schon geschrieben habe, bei der
Schaltung mit einer Schottky-Diode gegen VCC nicht.

von Gati (Gast)


Lesenswert?

>Ich werde wohl eine 1N5817 nehmen, da ich keine SMD-Teile verwenden
>möchte.

Du mußt überhaupt keine zusätzliche Diode nehmen. Der ATMEGA8 hat 
bereits robuste Dioden an den Eingängen.

von Anja (Gast)


Lesenswert?

Yalu X. schrieb:
> Trotzdem ist die Begrenzung per Diode nach VCC die bessere Lösung, da du
> dir dann keine Gedanken über Toleranzen der Z-Diode machen musst

Also ein paar Design-Überlegungen muß man schon noch machen wenn man die 
Eingangsschutzdioden oder externe Dioden zur Spannungsbegrenzung 
verwendet.

Der Strom der Widerstände fließt auf die Versorgung. Je niederohmiger 
desto mehr. Ein normaler Spannungsregler für den ATMega liefert Strom 
kann jedoch keinen aufnehmen. -> falls der ATMega weniger Strom 
verbraucht (z.B. beim Power On-Reset oder im Sleep Mode) als über die 
Serienwiderstände geliefert wird dann steigt die Versorgungsspannung bis 
auf 8V. Wenn natürlich eine Z-Diode als Spannungsregler verwendet wird 
ist dies in der Regel kein Problem.

Wenn die internen Schutzdioden verwendet werden darf der maximale Strom 
über die Schutzdioden ca 0,5-1mA nicht übersteigen.

Teilweise können komische Effekte auftreten wenn die Eingangschutzdioden 
leitend werden. Bei mir ist bei einem PIC der ADC-Wandler verfälscht 
worden durch negative Eingangsspannungen an einem Digital-Pin.

Eine Z-Diode am Eingang begrenzt zwar die Spannung (innerhalb der 
Toleranz) allerdings nimmt der ATMega mehr Strom auf wenn die 
Eingangs-Pegel nicht exakt der Verssorgungsspannung entsprechen.

Wenn du sowieso mehrere Kanäle im Pegel wandeln willst kannst Du auch 
einen CD4050 oder 74HC4050 verwenden. Den schließt Du an deine 5V 
Versorgung an und kannst ohne weitere Maßnahmen Eingangsspannungen im 
Bereich 0-15V verarbeiten. Die Schaltschwelle liegt dann etwa in der 
Mitte (30-70% von der 5V-Versorgung).

Gruß Anja

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Sowas könnte auch gehen:
    + Vcc
    |
    -
    ||
    ||  4k7
    -
    |    Diode
IO--*----|>|-----> Input Signal

Die Schaltung geht den umgekehrten Weg , die Spannung am IO Port kann 
nie grösser als Vcc werden, sondern reagiert aufs Pulldown des 
Eingangssignals. Spitzen auf dem Eingangssignal sind hier egal. Die 
Schaltung benutze ich für Hallsensoren auf einem EMF verseuchten BLDC 
Motor.

von Gati (Gast)


Lesenswert?

>Wenn die internen Schutzdioden verwendet werden darf der maximale Strom
>über die Schutzdioden ca 0,5-1mA nicht übersteigen.

Deswegen habe ich 10k gewählt. Da fließen nur rund 250µA.

>Teilweise können komische Effekte auftreten wenn die Eingangschutzdioden
>leitend werden. Bei mir ist bei einem PIC der ADC-Wandler verfälscht
>worden durch negative Eingangsspannungen an einem Digital-Pin.

Beim ATMEGA ist das noch nicht beobachtet worden.

>Der Strom der Widerstände fließt auf die Versorgung. Je niederohmiger
>desto mehr. Ein normaler Spannungsregler für den ATMega liefert Strom
>kann jedoch keinen aufnehmen. -> falls der ATMega weniger Strom
>verbraucht (z.B. beim Power On-Reset oder im Sleep Mode) als über die
>Serienwiderstände geliefert wird dann steigt die Versorgungsspannung bis
>auf 8V.

Dann siehst du einfach eine Grundlast am Ausgang des Reglers vor. Ein 
einfacher 10k Widertand reicht bei meinem Vorschlag.

von Mischi (Gast)


Lesenswert?

>Beim ATMEGA ist das noch nicht beobachtet worden.

Nützlicher Link dazu:

http://www.elektronik-labor.de/AVR/ADtest.html

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.