Forum: Analoge Elektronik und Schaltungstechnik Pegelwandler 5V -> 12V an IO-Pin eines Atmega328p


von Sim J. (unimetal)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

eines vorweg:
Verzeiht mir, wenn ich nicht in den KFZ-Bereich gepostet habe. Aber die 
Frage bezieht sich ja eher auf den µC-Ausgang.

Um einen Drehzahlmesser (Ersatzschaltbild C2+DZM) zu befeuern, möchte 
ich ein Signal, welches aus einem Atmega328P kommt und 5V Pegel hat auf 
12V anheben.

Es handelt sich um Frequenzen < 1000Hz.
Da die Triggerspannung des DZM möglicherweise über 5V liegt und ich den 
Ausgang des Atmega möglicherweise nicht direkt nutzen kann und 
eigentlich auch nicht will, möchte ich als Spannungsquelle für das 
Signal 12-14,5V Batteriespannung nutzen.

Dabei bin ich auf folgenden Pegelwandler gestoßen, welchen ich mir 
eigentlich auch schon selbst per LTSpice überlegt habe:

https://www.mikrocontroller.net/articles/Pegelwandler#5_V_.E2.87.92_9..15.28..30.29_V

Dieser funktioniere lediglich an einem Open-Collector Ausgang.
Ich verstehe das so, dass der 0V Signalpegel auch wirklich auf GND 
gezogen werden müssen und deshalb einen Pulldown (R2) hinzugefügt.

Funktioniert der Pegelwandler so wie im Anhang gezeigt?
Was hat der Atmega328P für einen Ausgang?
Wie muss ich die Spannungsquelle in LTSpice konfigurieren, dass sie dem 
µC-Ausgang entspricht?
Was hat es mit R6 auf sich? Dieser bremst einfach den 
Basis-Emitter-Strom, oder?

Beste Grüße

: Bearbeitet durch User
von Hein (Gast)


Lesenswert?

Prinzipiell sollte die Schaltung für eine derart hochohmige Last 
funktionieren. Das Signal muss jedoch invertiert ausgegeben werden. 
Solange der Ausgang durch die Software nicht initialisiert ist, ist der 
Pin jedoch hochohmig. Dann sperrt der Transistor und der Drehzahlmesser 
zeigt Vollausschlag.
Wenn der Drehzahlmesser potentialfrei ist könnte man jenen anstelle von 
R3 setzen und den Rest rechts davon weglassen.

Die Simulation des Ausgangs sollte für den Fall, dass das 
Datenrichtungsregister bereits auf Ausgang gesetzt ist, so stimmen.

Ein bipolarer Transistor hat zwischen Basis und Emitter eine 
Diodenstrecke, daher ist R6 zur Begrenzung des Basisstroms, wie bereits 
angenommen.

von Stefan F. (Gast)


Lesenswert?

Sim J. schrieb:
> Funktioniert der Pegelwandler so wie im Anhang gezeigt?

Ja. Den R2 kannst du weg lassen.

von Sim J. (unimetal)


Lesenswert?

Hein schrieb:
> Prinzipiell sollte die Schaltung für eine derart hochohmige Last
> funktionieren. Das Signal muss jedoch invertiert ausgegeben werden.
> Solange der Ausgang durch die Software nicht initialisiert ist, ist der
> Pin jedoch hochohmig. Dann sperrt der Transistor und der Drehzahlmesser
> zeigt Vollausschlag.

Das ist kein Problem. Im DZM sitzt idR. ein Frequenzzähler, welcher auf 
steigende Flanken mit bestimmter Schwellspannung reagiert. Er sollte 
also bei 12V nichts anzeigen. Aber das muss ich testen.

> Wenn der Drehzahlmesser potentialfrei ist könnte man jenen anstelle von
> R3 setzen und den Rest rechts davon weglassen.

Es ist noch unklar, ob der DZM potentialfrei gegen Sensormasse ist. Das 
werde ich heute mal messen. Mir wäre es natürlich auch recht, das ganze 
auch an anderen Autos einsetzen zu können, wo dieser Fall nicht gegeben 
ist. Deshalb lieber auf nummer Sicher gehen.

> Die Simulation des Ausgangs sollte für den Fall, dass das
> Datenrichtungsregister bereits auf Ausgang gesetzt ist, so stimmen.

Super, dann ist LOW auch wirklich LOW, sprich 0V? der Pulldown jedoch 
aus Angstgründen sinnvoll im Falle, dass der µC ausfällt?

> Ein bipolarer Transistor hat zwischen Basis und Emitter eine
> Diodenstrecke, daher ist R6 zur Begrenzung des Basisstroms, wie bereits
> angenommen.

Danke, dann macht es ja Sinn :)

Stefan ⛄ F. schrieb:
> Sim J. schrieb:
>> Funktioniert der Pegelwandler so wie im Anhang gezeigt?
>
> Ja. Den R2 kannst du weg lassen.

Macht er denn aus bereis erwähnten Redundanzgründen Sinn, wenn der uC 
ausfällt? Sprich stört er? Da habe ich ihn ohnehin.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Sim J. schrieb:
> Macht er denn aus bereis erwähnten Redundanzgründen Sinn, wenn der uC
> ausfällt? Sprich stört er? Da habe ich ihn ohnehin.

Er stört nicht, er bewirkt hier aber auch nichts hilfreiches. Im 
Gegensatz zu MOSFET brauchst du bei bipolaren Transistoren nicht 
fürchten, dass sie von ganz alleine leitend werden.

Sie werden es schon, aber so schwach, dass das hier keine Rolle spielt.

von Sim J. (unimetal)


Lesenswert?

Okay, vielen Dank!
Ich verstehe, wo kein Strom in die Basis fließt, kann er auch nicht 
leitend werden.

Ich finde den folgenden Teil des Artikels "Pegelwandler" dennoch 
irreführend:

5 V ⇒ 9..15(..30) V

"Am einfachsten geht das mit einem (geeigneten!) Open-Collector-Ausgang, 
einfach einen Pull-Up hinzufügen (an die hohe Spannung) und fertig. Ein 
74xx03 geht hier nicht! Auch kann man nicht einen Push-Pull-Ausgang 
eines Mikrocontrollers dafür verwenden, indem man den Ausgang bei HIGH 
zum Eingang macht."

Wie ist das zu interpretieren? Ich meine speziell den Satz:

"Auch kann man nicht einen Push-Pull-Ausgang eines >Mikrocontrollers 
dafür verwenden, indem man den Ausgang bei HIGH zum Eingang macht."

Dieser führte mich nämlich etwas in die Irre :)

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Sim J. schrieb:
> "Auch kann man nicht einen Push-Pull-Ausgang eines >Mikrocontrollers
> dafür verwenden, indem man den Ausgang bei HIGH zum >Eingang macht."

Das halte ich für einen Fehler. Denn in der Regel dürfen alle I/O Pins 
nicht mehr als VCC haben. Es gibt wenige Ausnahmen. Bei STM32 vertragen 
einige Pins ein paar Volt mehr als VCC. Aber ganz sicher keine 15 oder 
gar 30V.

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.