Forum: Analoge Elektronik und Schaltungstechnik LED am AVR-Pin per Buck Power Stage anstelle Vorwiderstand


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Thomas S. (zeilentrafo)


Angehängte Dateien:

Lesenswert?

das ist sicherlich overkill, aber ich würde gern ausprobieren, ob eine 
LED anstelle über einen Vorwiderstand mit einer Buck Power Stage 
angesteuert werden kann und die Ausgangsspannung analog eingelesen wird 
und diese so geregelt werden kann ?
Vorteil (neben dem Lernen) wäre, dass man einfach weitere LEDs parallel 
schalten kann und sich das System entsprechend nachregelt. Natürlich 
solange man unter der max. Belastbarkeit eines PINs bleibt.
In der Folge könnte ein Transistor höhere Ströme schalten und man kann 
in der Software einfach festlegen, welche max. Duchflussspannung je nach 
LED-Typ anliegen soll.

: Verschoben durch Moderator
von Markus E. (markus_e176)


Lesenswert?

Für eine LED müsstest du den Strom messen, z.B. über einen 
low-side-Shunt, dann könnte das funktionieren.
Auf die Spannung regeln wird nicht (sauber) funktionieren, da du dann 
einfach eine LED an einer Konstantspannungsquelle betreibst - mit den 
bekannten Problemen.
Aus denselben Gründen ist auch der Betrieb von mehreren LEDs parallel so 
nicht sauber möglich.

von Wolfgang (Gast)


Lesenswert?

Thomas S. schrieb:
> In der Folge könnte ein Transistor höhere Ströme schalten und man kann
> in der Software einfach festlegen, welche max. Duchflussspannung je nach
> LED-Typ anliegen soll.

Wenn du dann noch einen Shunt einbaust, kannst du aus Durchflussspannung 
und Strom, nach Kalibrierung auf das LED-Exemplar, die Chip-Temperatur 
bestimmen.

von Thomas S. (zeilentrafo)


Lesenswert?

Danke Euch. Den Strom zu messen macht es eine sichere Angelegenheit; 
stimmt. Durch den Low-side shunt wäre dann die an der LED anliegende 
Spannung durch die Differenz der am Shunt abgefallenen Spannung zur an 
der high-side gemessenen Spannung zu ermitteln; richtig ?

Wenn man damit dann höhere LED-Ströme erzeugen wollte, macht es dann ein 
Transistor als Schalter oder muss es gleich ein MOSFET sein (falls ja -- 
welche MOSFET kann man in einer 5-V-Umgebung nutzen ?)

von Thomas S. (zeilentrafo)


Angehängte Dateien:

Lesenswert?

Tach nochmal .... habe das mal zusammengelötet und erstmal ohne Messung 
von Spannung und Strom an langsam gesteigerter PWM ausprobiert. 
Anscheinend zieht die Schaltung aber mehr, als der 2560 abkann: die 
schönen Flanken am Oszi brechen auf unter 1V ein (und die LED bleibt 
aus). Die Schaltung ist unterkomplex. Hat jemand eine Idee, woran das 
Verhalten liegen kann ?

von MaWin (Gast)


Lesenswert?

Thomas S. schrieb:
> brechen auf unter 1V ein

Diode falschrum ?

Eigentlich brauchst du die Diode am push-pull Ausgang eines uC har 
nicht.

Dann sieht man eine PWM mit recht kurzer Einschaltdauer. Die erreicht eh 
nicht mehr als ca. 25% der VCC von vermutlich 5V.

Dann kann ein uC Ausgang eh nicht mehr Strom liefern, als eine 5mm LED 
überlebt, also (wenn die blaue LED auch eine blaue LED sein sollte) auch 
nicht über ca. 3.2V bringen.

Dein Glück, denn sonst hättest du dir in der primitiven Schaltung in der 
du auf die empfohlene Messung des LED Stromes per shunt und A/D Eingang 
verzichtest dir auch die LED schon grillen können.

Auch mit shunt und A/D Wandlung: weil die A/D Wandler meist recht 
langsam sind, man aber den Strom am Ende jeden PWM Impulses messen 
sollte, darf die PWM nicht zu hochfrequent sein und muss somit die Spule 
eine recht hohe Induktivität haben.

Im Moment passt deine Spule zur Frequenz.

von Thomas S. (zeilentrafo)


Angehängte Dateien:

Lesenswert?

Habe die Diode mal rausgenommen ... same same.

Der C hat 100 µF. Jetzt sind das noch zwei Bauteile und dennoch das 
selbe Bild am Oszi.

Habe es mit einem kleineren C und größeren L probiert ... immer noch das 
selbe.

Und dann (weniger geht nimmer !) nur mit dem Kondensator: und auch da 
bricht die Spannung genauso ein.

Zeit, ein anderes Hobby zu suchen ?

von Theor (Gast)


Lesenswert?

Thomas S. schrieb:
> Habe die Diode mal rausgenommen ... same same.
>
> Der C hat 100 µF. Jetzt sind das noch zwei Bauteile und dennoch das
> selbe Bild am Oszi.
>
> Habe es mit einem kleineren C und größeren L probiert ... immer noch das
> selbe.
>
> Und dann (weniger geht nimmer !) nur mit dem Kondensator: und auch da
> bricht die Spannung genauso ein.
>
> Zeit, ein anderes Hobby zu suchen ?

Naja ... Sooo drastisch würde ich mich nicht dazu äussern. Muss ja Dir 
überlassen bleiben was Du so tust.

Praktisch: Ich würde Dir empfehlen, einmal den Strom zu messen und ihn 
mit dem maximalen Strom zu vergleichen, den der AVR liefern kann.

Theoretisch: Aber auch die Frage, durch was und wo hinein denn 
eigentlich zu welchem Zeitpunkt Strom fliesst und was den Strom 
eigentlich begrenzt, ist, bei dem Bemühen eine funktionsfähige Schaltung 
zu bauen, vermutlich interessant für Dich.

Vielleicht liest Du z.B. mal hier: 
https://www.ti.com/lit/an/slva057/slva057.pdf

Falls Du Deine Vorkenntnisse beschreibst, gebe ich vielleicht noch 
passendere Literaturhinweise.

von c-hater (Gast)


Lesenswert?

Thomas S. schrieb:

> das ist sicherlich overkill

Nö, ist es nicht. Das Grundprinzip kann man an vielen Stellen gut 
gebrauchen. Z.B. um eine LCD-Hintergrundbeleuchtung zu betreiben oder 
auch nur schlicht eine blaue LED an einem µC mit 1,8V.

> angesteuert werden kann und die Ausgangsspannung analog eingelesen wird
> und diese so geregelt werden kann ?

Bei LEDs regelt man sinnvollerweise den Strom, nicht die Spannung. 
Spannungsregelung kann aber auch sinnvoll sein, z.B., wenn man nach 
diesem Prinzip die Versorgungsspannung für ein LCD bereitstellt.

> Vorteil (neben dem Lernen) wäre, dass man einfach weitere LEDs parallel
> schalten kann

Nein, aber in Reihe. Genau das wird bei vielen 
LCD-Hintergrundbeleuchtungen auch so gemacht.

> Natürlich
> solange man unter der max. Belastbarkeit eines PINs bleibt.
> In der Folge könnte ein Transistor höhere Ströme schalten

Ein FET als Schalter solltest du dem Kram in jedem Fall gönnen. Die 
AVR-Pins sind als Leistungsschalter sehr ineffizient. Für den 
Anwendungsfall einer LED zur Signalisierung reicht so ein Pin aus, aber 
alles, was in Richtung Beleuchtung geht, braucht einen externen FET.

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


Lesenswert?

Thomas S. schrieb:
> Die Schaltung ist unterkomplex.
Trotzdem wäre ein Schaltplan deiner Schaltung interessant, wenn wir 
über deine Probleme damit diskutieren.

Thomas S. schrieb:
> Vorteil (neben dem Lernen) wäre, dass man einfach weitere LEDs parallel
> schalten kann
Mit all den üblichen Nachteilen, die das Paralellschalten von LEDs mit 
sich bringt.

> das ist sicherlich overkill, aber ich würde gern ausprobieren, ob eine
> LED anstelle über einen Vorwiderstand mit einer Buck Power Stage
> angesteuert werden kann
Kann sie sicher. Aber trotzdem ist der "Schalter" im µC ein schlechter 
Schalter für einen Schaltregler. Und dieser schlechte Schalter lässt 
sich auch durch zusätzlichen Aufwand nicht "schönsaufen".

> und die Ausgangsspannung analog eingelesen wird
Bei LEDs sollte sinnvollerweise der Strom geregelt werden. An diesem 
Messshunt würde dann aber "wertvolle" Betriebsspannung abfallen. Und 
schlimmstenfalls verkommt der zusammen mit dem Schalterwiderstand zum 
üblichen LED-Vorwiderstand, wenn die PWM dann 100% ausgibt.

> und diese so geregelt werden kann ?
Zeichne doch mal genau den Schaltplan für diese Schaltung. Schreib dann 
noch ein paar Spannungen dazu und du findest schnell heraus, dass da 
nirgends "viel" Luft ist.

> Anscheinend zieht die Schaltung aber mehr, als der 2560 abkann: die
> schönen Flanken am Oszi brechen auf unter 1V ein (und die LED bleibt
> aus).
Was passiert denn, wenn du 100% high ausgibst? Wenn die LED dann nicht 
"viel zu hell" leuchtet, ist sie für diese Schaltung nicht geeignet oder 
die Schaltung is falsch aufgebaut.

> kann ?
Bitte nicht Plenken.

Weil das Ganze ein grundlegend überwiegend analoges Problem darstellt, 
habe ich den Thread mal nach "Analogtechnik" verschoben.

: Bearbeitet durch Moderator
von Thomas S. (zeilentrafo)


Angehängte Dateien:

Lesenswert?

Danke fürs Verschieben und die Tipps. Habe mich eben in 
Eagle-Grundwissen eingearbeitet. Anbei ein Schaltbild.

Will heute mal versuchen, einen Transistor zu verwenden, um die 
Belastung vom µC zu trennen.

Habe gestern mal die Geschwindigkeit ausgerechnet. Die war bei Nutzung 
von Phase_Correct_PWM und 10 Bit bei einem Vorteiler 8 sicher zu 
langsam. Heute mal mit nur 8 Bit Breite und ohne Vorteiler.

von Stefan F. (Gast)


Lesenswert?

Thomas S. schrieb:
> und die Ausgangsspannung analog eingelesen wird
> und diese so geregelt werden kann ?

LEDs betreibt man nicht mit einer bestimmten Spannung.

> dass man einfach weitere LEDs parallel schalten kann

Und auch nicht parallel.

Bevor du dich hier völlig verfährst, lerne erst einmal wie LEDs 
funktionieren. Schau dir das an: http://stefanfrings.de/LED/index.html

von Thomas S. (zeilentrafo)


Angehängte Dateien:

Lesenswert?

Danke. Habe verstanden, dass es auf den richtig eingestellten Strom 
ankommt.

Habe nun den Abend überlegt, wie der Transistor da reinkommt? So wie in 
dem Bild "hängt" die Basis so komisch in der Luft, aber die Masse ist 
durchgehend. Wenn man die Last über den Transistor setzt, wäre die Basis 
in warmen Tüchern, aber die Masse ist dahin. Letzteres wäre zu 
verkraften, wenn man low-side dann eh einen shunt für die Strommessung 
reinlegt. Aber halt: man weiß ja dann die Spannung vor dem shunt auch 
nicht, da sie vom Massepotential abweicht.

Das löte ich jetzt mal so und probiers aus.

von Stefan F. (Gast)


Lesenswert?

So ein Transistor leitet, wenn in die Basis ein Strom fließt. Das 
wiederum passiert, wenn die Spannung an der Basis 0,7V höher ist, als am 
Emitter.

Oder anders gesagt: Am Emitter kommen immer 0,7V weniger heraus, als du 
in die Basis hinein schickst. Ich glaube nicht, dass du das wolltest.

Grundlagen zu Transistoren (als Schalter) kannst Kapitel 2.2 und 3.4 
entnehmen: 
http://stefanfrings.de/mikrocontroller_buch/Einstieg%20in%20die%20Elektronik%20mit%20Mikrocontrollern%20-%20Band%202.pdf

Ich denke, dass diese Spannungswandler Sache ein nettes Experiment zum 
lernen ist. Wirtschaftlich sinnvoll wird das aber niemals. Ich hoffe du 
bist dir dessen bewusst.

von c-hater (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:

> Ich denke, dass diese Spannungswandler Sache ein nettes Experiment zum
> lernen ist. Wirtschaftlich sinnvoll wird das aber niemals.

Du kannst nichtmal rechnen, du Depp. Einfaches Beispiel: An einem AVR, 
der aus eine Blei-Zelle versorgt wird, ist ein blaue LED zu 
Signalzwecken zu betreiben.

Deine Aufgabe: nenne ein billigere Lösung für dieses Problem als die vom 
TO angedachte...

von Joachim B. (jar)


Lesenswert?

Thomas S. schrieb:
> Anbei ein Schaltbild.

ach, deine Übeschrift und dein Schaltbild:
wo ist die LED?
Wo ist der R zur LED?

Thomas S. schrieb:
> Danke. Habe verstanden
NÖ
wo ist die LED?
Wo ist der R zur LED?

: Bearbeitet durch User
von Thomas S. (zeilentrafo)


Lesenswert?

Stimmt. Das Schaltbild ist ein wenig unvollständig. Werde die LED noch 
rechts dranmalen.

Den R zur LED lasse ich weg. Den zu ersetzen ist der Zweck der gesamten 
Übung.

Und ja -- es ist eine Übung. Damit sind keine wirtschaftlichen Ziele 
oder Grundlagenforschung verbunden.

Habe mir überlegt, die Diode durch einen PNP-Transistor zu ersetzen, der 
auch aktiv geschaltet wird. Mit zwei Compare Registern auf dem selben 
Timer kann man per Software sicherstellen, dass nie beide gleichzeitig 
auf Durchzug schalten und so die Rauchentwicklung eindämmen.

von Maxim B. (max182)


Lesenswert?

Thomas S. schrieb:
> Den R zur LED lasse ich weg. Den zu ersetzen ist der Zweck der gesamten
> Übung.

Kondensator am Ausgang ist eigentlich überflüssig. LED braucht Strom, 
nicht die Spannung. Drossel alleine macht das besser.

Aber R, um Strom zu messen, ist kaum verzichtbar. Bekannte Wandler-IC, 
die für LED ausgelegt sind, haben Vfb ca.um 0,1...0,25 Volt. So sollte 
auch R sein.

: Bearbeitet durch User
von Crazy Harry (crazy_h)


Lesenswert?

@TO: Das was du da machst, habe ich erst vor kurzem irgendwo gelesen, 
mir fällt nur nicht mehr ein wo. Entweder alte Elektor- oder 
Make-Ausgabe.

Gefunden: 
https://www.elektormagazine.de/articles/ledbooster-fr-mikrocontroller

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

c-hater schrieb:
> Deine Aufgabe: nenne ein billigere Lösung für dieses Problem als die vom
> TO angedachte...

Sehr ähnlich aber tatsächlich billiger: Ladungspumpe mit Kondensatoren. 
Mache ich auch gerne mit LC-Displays für die Kontrastspannung.

Bei blauen und weißen LED's könnte man auch erwägen, ihre Anode an 5V zu 
hängen und die Kathode (mit Vorwiderstand) an den Ausgang des 
Mikrocontrollers. Falls 5V zur Verfügung stehen.

Thomas S. schrieb:
> abe mir überlegt, die Diode durch einen PNP-Transistor zu ersetzen

Überlege dir, was mit der Induktions-Spannung passiert, wenn der 
Transistor nur eine Mikrosekunde zu spät einschaltet. Oder wo der Strom 
hin fließt, wenn dieser Transistor nur eine Mikrosekunde zu spät aus 
schaltet, während der andere schon einschaltet.

Was du da vor hast ist sicher machbar, nur nicht einfach und nicht mit 
jedem Mikrocontroller. Einige STM32 haben dazu spezielle komplementäre 
Ausgänge mit konfigurierbaren Zeitversatz.

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


Lesenswert?

Crazy H. schrieb:
> Gefunden:
> https://www.elektormagazine.de/articles/ledbooster-fr-mikrocontroller
Ohne es angesehen zu haben: das ist vermutlich ein StepUp für weiße 
LEDs.
So, und jetzt reingeschaut: Tatsächlich.

Und der Ansatz, das so zu machen, ist naheliegend, aber das ist halt 
letztlich auch nur Gefrickel mit lausigem Wirkungsgrad. Die nötige 
Strombegrenzung bringt der µC-Pin dank hoher Bahnwiderstände dann von 
sich aus mit.

EDIT: nett ist dort die Rechnung, die unter Vernachlässigung der ganzen 
Widerstände dann auf "eine Induktivität L von 97,66 µH" kommt. Richtig: 
"Komma sechs sechs"...   ;-)

: Bearbeitet durch Moderator
von Stefan F. (Gast)


Lesenswert?

Lothar M. schrieb:
> Komma sechs sechs

Dass soll eine gewisse Präzision und Sorgfalt vortäuschen. Wenn du in 
einen Aufsatz schreibst "Die Bauteile habe ich aus dem Bauch heraus 
gewählt und zufällig passten sie" wirst du gefeuert.

von Maxim B. (max182)


Lesenswert?

Lothar M. schrieb:
> So, und jetzt reingeschaut: Tatsächlich.

Entweder kapiere ich etwas nicht, oder... IO (untere) wird doch über VCC 
kommen, dann ist Mikrocontroller kaputt? Und auch wenn LED schlechten 
Kontakt hat, wird Mikrokontroller in jedem Fall sofort kaputt, da dort 
die Spannungsspitzen weit über VCC kommen, z.B. 60 Volt oder auch mehr, 
je nach L und C_pin... IO ist voll ungeschutzt.

Wie ich 10 Jahre alt war, habe ich mal mit Oszilloskop und Drossel 
gespielt: ich wollte mal kucken, wie hoch die Spannungsspitze ist, wenn 
Strom durch Drossel aufhört :) Aber ich war damals nur 10 :) Und es ging 
damals nur um MOSFET am Eingang von Oszi, sonst ging nichts kaputt. 
MOSFET ist aber viel billiger als Mikrocontroller :)

: Bearbeitet durch User
von A-Freak (Gast)


Lesenswert?

Das Gehäuse von der "Leucht"diode erscheint auf dem Foto leicht 
bläulich. ist das vielelicht eine Infrarotdiode? Die haben nämlich so um 
die 1,2V Flußspannung und würden damit den Ausgang deienr Schaltung 
gerade so limitieren


Ich schließe mich an was mehrfach gesagt wurde, laß die LEd erstmal mit 
einem Vorwiderstand an 5V leuchten und dann machen wir weiter

von Thomas S. (zeilentrafo)


Lesenswert?

Tach,
ich gebe das Experiment als gescheitert auf. Vermute mal, dass ein 
AVR-Ausgang eben kein Schalter ist.
Mit nur einer Spule (wie vorgeschlagen) ging es eine Zeitlang; dann aber 
ist die blaue LED ins Nirwana entschwunden.
Will man tatsächlich "schalten", dann muss ein MOSFET rein und den im 
Pluspol zu schalten benötigt eine gesonderte Spannung.
Werde es nun mit der SEPIC-Topologie und einem regulären N-Kanal MOSFET 
probieren. Das wird ein eigener Fred.
Frohe Feiertage ! - Thomas

von Joachim B. (jar)


Lesenswert?

Thomas S. schrieb:
> dann aber
> ist die blaue LED ins Nirwana entschwunden.

was wundert dich?
dein Versuch war "broken by design"

Thomas S. schrieb:
> Will man tatsächlich "schalten", dann muss ein MOSFET rein

ist doch Unsinn den du nicht mal erklärst!
Ein AVR hat eine interne Schutzbeschaltung, deswegen überlebt er, deine 
LED eben nicht weil du die LED mißachtest ohne Serien R und deren 
Reverse Spannung.

Du hattest zu keiner Zeit einen vollständigen Schaltplan gezeichnet!
Somit ist eine Diskusion darüber genauso sinnlos!

von Thomas S. (zeilentrafo)


Lesenswert?

Lieber Joachim,
Dein Beitrag nimmt einem den Spaß am Experimentieren. Ist Dir das ein 
Anliegen ? Also nicht helfen, sondern plakativ kritisieren ?
Ganz oben - das war ein Schaltplan. Die LED wäre dann (ich hoffe, das 
ist nicht zu komplex) rechts dran. Anode oben.
Und der "Serien-R" ... nun ja: genau der sollte mit der Übung ersetzt 
werden.
Allseits schöne Weihnacht !

von Stefan F. (Gast)


Lesenswert?

Thomas S. schrieb:
> Dein Beitrag nimmt einem den Spaß am Experimentieren.
> Ist Dir das ein Anliegen ?

Ich bin sicher dass der Jochaim darüber unglücklich ist, dass er dir 
nicht zielsicher und zügig helfen konnte. Das liegt aber am fehlenden 
Schaltplan.

von Thomas S. (zeilentrafo)


Angehängte Dateien:

Lesenswert?

der Vollständigkeit halber ein Eagle-Schaltbild. Der Elko hat 100µF (da 
geht sicher auch deutlich kleiner), die Drossel ... bin mir nimmer 
sicher ... denke mal 100µH. Die LED ist eine reguläre blaue mit max 20 
mA. Die Diode war zuerst eine 1N4001, später SP190.
Als AVR kam (abweichend vom Schaltbild hier) ein Arduino Mega 2560 zum 
Einsatz; der PIN 11 (OC1A).
Am AVR wurde mit dem Timer 1 experimentiert: Fast-PWM, phase-correct, 8 
~ 10 Bit.

von Stefan F. (Gast)


Lesenswert?

Thomas S. schrieb:
> Die Diode war zuerst eine 1N4001

Die ist für Frequenzen bis 60 Hz (nicht kHz!) gedacht und für ihre 
Trägheit bekannt.

> später SP190

Dazu finde ich kein Datenblatt. Tippfehler? War das vielleicht auch eine 
viel zu träge Diode?

von Thomas S. (zeilentrafo)


Lesenswert?

Hast recht ... es ist eine SB190 (mit "Beh"). Eine Schottky-Diode. Habe 
sie ausgewählt, weil der voltage-drop gering ist (und sie in der Kiste 
lag).
Ich wusste nicht, dass Dioden derart langsam sein können. Hast Du eine 
Empfehlung für eine hier geeignete Diode?

von Stefan F. (Gast)


Lesenswert?

Thomas S. schrieb:
> es ist eine SB190

Die scheint auch primär als Gleichrichterdiode gedacht zu sein. Das 
Datenblatt erwähnt wieder nur 60 Hz.

Thomas S. schrieb:
> Ich wusste nicht, dass Dioden derart langsam sein können. Hast Du eine
> Empfehlung für eine hier geeignete Diode?

Es ist nur wichtig, dass die Recovery Time geringer ist, als die 
kürzeste Pulsdauer. Wenn im Datenblatt weder die Recovery Time noch eine 
hohe Frequenz angegeben ist, kannst du davon ausgehen, dass die Diode 
ungeeignet ist.

Die 1N4148 ist billig und schnell, aber nicht Schottky.

Schau dir mal die BAT46 an: https://www.vishay.com/docs/85662/bat46.pdf

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.