Forum: Mikrocontroller und Digitale Elektronik [AVR] Step-Up LED-Treiber


von Nico K. (nkp)


Angehängte Dateien:

Lesenswert?

Hallo...

nach langem suchen fand ich dennoch irgendwie keine zufriedenstellende
Antwort, weshalb ich mich entschloss mal mein Problem hier zur
Diskussion bereit zu stellen. (Bin neu hier... vll etwas nachsicht -
oder auch nicht xD)

Mein Problem:

Ich habe eine Campingtaschenlampe, welche nach einigen Kontakten mit
Wasser nicht mehr möchte. Deshalb möchte ich diese Umbauen: heißt Leds
rein statt der Leuchtstoffröhre.
vorhandene Hardware (nicht verändern):
1 Taster
4 Batterien (Mono)
geplante einzusetzende Hardware:
6 High-Power LEDs (jeweils 300mA bei ca 3,4V)
1 ATTiny13 (Steuerung des ganzen)

Ich hatte mir da jetzt schon ein wenig was zusammengesucht und wollte
Fragen ob der Schaltplan so wie er ist auch funktionieren könnte
(Auswahl Bauteile und Dimmensionierung ausgeschlossen) oder ob noch
Bauteile fehlen/zu viel sind.
Details:
Beim Tiny würde ich die beiden PWM-Channel nutzen: einen für den
Step-Up-Wandler und den anderen zur Dimmung der Leds.
Über einen Spannungsteiler würde ich dann durch den ADC auslesen ob die
erzeugte Spannung innerhalb der Toleranzen liegt -> Regelung
Step-Up-Wandler. Außerdem dient der Spannungsteiler als
"Leerlaufverbraucher", falls die Leds fast aus sind ... (ganz aus per
PWM wird nicht benötigt, weil da kann ich die Lampe ja auch ausmachn
wenn ich kein Licht mehr brauche).
Mosfets hatte ich hier geplant mit P-Kanal Logik-Level.

Ich hoffe ihr könnt mir da ein wenig helfen :)

Mfg

von Alexander S. (esko) Benutzerseite


Lesenswert?

An deiner Stelle würde ich den Strom direkt über den Schaltwandler 
regeln, anstatt eine extra PWM einzusetzen. Zwar ändert sich die Farbe 
der Leds etwas mit dem Strom, aber es ist viel effizienter und 
einfacher. Außerdem hast du dann eine echte Stromregelung.
Also weg mit: C1, D1, Q3, R2, R11. Die Leds dann alle in Reihe schalten 
und einen kleinen Shunt zum Strommessen zwischen den Leds und Masse 
einbauen.

R3 soll sicher nach Masse und nicht nach Plus.

von Nico K. (nkp)


Angehängte Dateien:

Lesenswert?

Danke für die schnelle Antwort.

1. Eine Stromregelung ist natürlich schon besser, aber woher weiß man da 
welche spannung erreicht wird mit der spule? oder pegelt die sich selber 
ein (als resultat des stromflusses)?
2. Kann man das da wirklich ohne Diode betreiben? Dachte die ist ein 
wichtiger Bestandteil der Step-up-wandlung damit am Ende eine 
Gleichspannung erzeugt wird oder wird das hier durch die leds erreicht?
3. mit der verstärkung sollte das prinzipiell dann auch klappen oder ? 
(noch nie mit OPs gearbeitet^^)

mfg

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


Lesenswert?

Nico K. schrieb:
> 1. Eine Stromregelung ist natürlich schon besser, aber woher weiß man da
> welche spannung erreicht wird mit der spule?
Vor du loslegst: sieh dir mal die einschlägigen Seiten der bekannten 
Schaltreglerhersteller an. Jeder hat zwischenzeitlich eine eigene 
LED-Ecke. Verstehe, was da gemacht wird. Und du wirst sehen, dass dein 
LM358 und insbesondere dein AVR viel zu langsam sein werden.

von Alexander S. (esko) Benutzerseite


Lesenswert?

Lothar Miller schrieb:
> Und du wirst sehen, dass dein
> LM358 und insbesondere dein AVR viel zu langsam sein werden.

Man kann den AVR einfach ein festes PWM-Verhältnis ausgeben lassen, den 
Strom messen und ihn dann diesen regeln lassen.
Den Strom den man am Shunt abnimmt kann glätten, weil er sich sowieso 
nicht schnell ändert.
http://spritesmods.com/?art=ucboost&page=3

Nico K. schrieb:
> 1. [...] oder pegelt die sich selber ein (als resultat des stromflusses)?
Ja

> 2. Kann man das da wirklich ohne Diode betreiben?
Wenn die Schaltfrequenz niedrig genug ist, dann kann man die Leds als 
Dioden benutzen. Ob das mit so großen Leds noch funktionert (Kapazität) 
kann ich nicht sagen. Du kannst ja eine Diode im Plan vorsehen und dann 
ausprobieren wie das Ergebnis mit einer Drahtbrücke ist.

> 3. mit der verstärkung sollte das prinzipiell dann auch klappen oder ?
Schau mal hier nach wie das geht: 
Operationsverstärker-Grundschaltungen

Der Shunt muss an Masse angeschlossen werden und den Transistor braucht 
man hier auch nicht.

von Nico K. (nkp)


Angehängte Dateien:

Lesenswert?

Alexander Schmidt schrieb:
> Man kann den AVR einfach ein festes PWM-Verhältnis ausgeben lassen, den
> Strom messen und ihn dann diesen regeln lassen.

Genau das wäre die vorgehensweise gewesen :) (ob es klappt weiß ich nur 
noch nicht^^)

@Lothar Miller

Ja ich weiß das ich die 120kHz und mehr damit nie erreiche, aber ich 
weiß auch das bereits ab einer Frequenz von 150Hz PWM-gedimmte Leds 
nicht mehr flackern. Bzgl der Spule mach ich mir weniger sorgen, da ich 
diese notfalls auch zwischen den Leds verstecken kann (Kühlung und 
magnetische Abschirmung wird natürlich beachtet).

Da ich leider in Richtung Elektronik nie etwas gelernt hatte und alles 
im "Selbststudium" mitbekommen habe bin ich nicht so bewandert in der 
Berechnung... Daher meine Frage an euch:
1. Stimmen die berechneten Widerstandswerte so in etwa? (Als 
Referenzspannung zum ADC hätte ich die internen 1,1V genommen, da diese 
unabhängig von der Spannung der Batterien immer vorhanden ist und daher 
eine halbwegs zuverlässige Grundlage darstellt)
2.Die Induktivität der Spule habe ich mit der Seite berechnet:
http://schmidt-walter.eit.h-da.de/smps/aww_smps.html
(6V eingang, 21V ausgang, 0,35A ausgangsstrom, fast-PWM des Tiny13 bei 
9,6MHz -> 37,5kHz) ... allerdings ändert sich die Induktivität stark 
nach unten wenn die Batterien leerer werden... ist das schlimm? oder 
heißt das dann nur das der Wirkungsgrad mit leerer werdenden Batterien 
sinkt?
3.Ist der MOSFET dafür so geeignet? Kann man den so treiben oder ist 
eine indirekte Ansteuerung mit Push-Pull-Transistoren notwendig?
4.Ich hab leider keine Ahnung welchen Kondensator man für so etwas nimmt 
und wie groß der Dimensioniert wird... (Elko oder Keramik oder eine 
Kombination oder irgendwas ganz anderes? - persönliche vermutung wäre ja 
größerer Elko mit kleinem Keramik) - laut Formel C=Q/U -> 
C=0,35A*(1/37500)s/21V=444,4nF kommt mir aber recht klein vor^^

Sorry für so viele Fragen... ich hoffe Ihr könnt mir verzeihen ...

MfG

von Maik M. (myco)


Lesenswert?

Nico K. schrieb:
> Da ich leider in Richtung Elektronik nie etwas gelernt hatte und alles
> im "Selbststudium" mitbekommen habe

geht mir ähnlich :)

der IRFR9024N ist ein P-Kanal Mosfet, du brauchst einen N-Kanal mit 
Logic-Level. Für meinen Wandler verwende ich den IRL3705N, der dürfte es 
bei dir auch tun (evtl. sogar schon überdimensioniert)

Anstelle des Opamps und des Shunts kannst du auch den ACS714 oder 
vergleichbares nehmen. Da brauchst du nur noch Filterkondensatoren, und 
bist auf der sicheren Seite.

von Alexander S. (esko) Benutzerseite


Lesenswert?

Die Diode muss schnell sein, 1N400x geht hier nicht.
Stattdessen eine Schottkydiode, z.B.: 1N5819 oder 1N5822

Nico K. schrieb:
> Ja ich weiß das ich die 120kHz und mehr damit nie erreiche, aber ich
> weiß auch das bereits ab einer Frequenz von 150Hz PWM-gedimmte Leds
> nicht mehr flackern.
Du brauchst aber eine Frequenz im 10kHz Bereich weil sonst die Spule zu 
groß wird. Ein AVR schafft das auch locker.

> Spule [...] magnetische Abschirmung
Magnetfelder kann man praktisch nicht abschirmen.

> 1. Stimmen die berechneten Widerstandswerte so in etwa?
Ergibt 0,9V bei 300mA -> Passt. Aber mach die Widerstandswerte der 
Spannungsteiler ruhig um Faktor 10...100 kleiner.

Außerdem muss du den die Spannung über R4 mit einem RC-Glied glätten, 
weil du sonst den Ripple der Schaltfrequenz misst, und dafür ist der OPV 
und der AVR zu langsam.

> 3.Ist der MOSFET dafür so geeignet? Kann man den so treiben oder ist
> eine indirekte Ansteuerung mit Push-Pull-Transistoren notwendig?
Datenblatt vom Mosfet habe ich jetzt nicht angeschaut, das muss ein 
Logic-Level-Mosfet sein. Mach den 1kΩ raus und der AVR sollte den Mosfet 
treiben können.

> 4.Ich hab leider keine Ahnung welchen Kondensator man für so etwas nimmt
> und wie groß der Dimensioniert wird...
Elko oder ganz weglassen. Der Strom ist durch die Diode schon halbwegs 
glatt.

> C=0,35A*(1/37500)s/21V=444,4nF
Dann wäre er in einer Schaltperiode schon komplett leer. Du muss hier 
mit z.B. 1V rechnen und das ergibt dann auch sinnvolle 10µF. Oder 
weglassen wie gesagt.

Du ziehst aus den Batterien mehr als ein Ampere. Bedenke das dabei die 
Spannung ganz schön einbricht.
-> Am Eingang einen Kondensator ca. 22µF vorsehen
-> Versorgung vom OPV filtern mit einem RC-Glied
-> 10µF + 100nF an der Versorgung des AVR, evtl. auch dessen Versorgung 
filtern.

von MaWin (Gast)


Lesenswert?

> Steuerung des ganzen

Was zum Teufel willst du da steuern ?

Diskolight ?

4 Monos heisst 6V, und man entlädt garantiert nicht 3 davon anders als 
die 4.

6 LEDs a 300mA bei 3.4V heisst 6.2 Watt, das ist schaffbar.

Und Taschenlampe heisst, der Schalter ist ja wohl schon drin.

Alles was du brauchst, ist ein Spannungswandler 6V auf 21V, was im 
Bereich der fertigen integrierten step up Spannungswandler liegt, z.B. 
ein LM2577 schaltet problemlos die 3A die primär notwendig sind, mit 
52kHz reicht ihm eine 50-100uH(3A) Spule, und du kannst je nach Shunt 
den Strom in Stufen einstellen, Schaltplan Figure 1 wobei R1 deine 6 
LEDs in Reihe sind und R2 4 Ohm haben sollte für 300mA.

Wozu da ein uC bei dem du nicht weisst wie er regeln soll und der bei 
Gelegenheit die LEDs auf grund eines Programmfehlers grillt ?

von Simon B. (nomis)


Lesenswert?

Nico K. schrieb:
> Ja ich weiß das ich die 120kHz und mehr damit nie erreiche, aber ich
> weiß auch das bereits ab einer Frequenz von 150Hz PWM-gedimmte Leds
> nicht mehr flackern.

Ich bin nicht überzeugt. Ich habe hier eine LED-Matrix die mit ca. 168Hz 
angesteuert wird und das erste, was mir ein Bekannter um die Ohren 
gehauen hat, als er die gesehen hat, war: Oh, das flimmert aber!

Ich habe auch den Eindruck, dass bei einigen Autos die LED-Bremslichter 
flackern, was mich manchmal schon etwas irritiert (wobei es mir in der 
letzten Zeit seltener auffällt, möglicherweise setzt sich da gerade ein 
Erkenntnis bei den Herstellern durch, dass man da mit der PWM-Frequenz 
noch deutlich höher muss...)

Viele Grüße,
        Simon

von Maik M. (myco)


Lesenswert?

> Ich bin nicht überzeugt. Ich habe hier eine LED-Matrix die mit ca. 168Hz
> angesteuert wird und das erste, was mir ein Bekannter um die Ohren
> gehauen hat, als er die gesehen hat, war: Oh, das flimmert aber!
>
> Ich habe auch den Eindruck, dass bei einigen Autos die LED-Bremslichter
> flackern, was mich manchmal schon etwas irritiert (wobei es mir in der
> letzten Zeit seltener auffällt, möglicherweise setzt sich da gerade ein
> Erkenntnis bei den Herstellern durch, dass man da mit der PWM-Frequenz
> noch deutlich höher muss...)

Das kommt aber nicht durch die PWM-Frequenz selbst, sondern durch die 
Samplingrate des Auges. Was du da siehst wäre quasi Aliasing :)

Wenn man mit der Augenabtastrate 24Hz rechnet, ist deine Frequenz exakt 
das 7 fache... probier's mal mit 169 Hz

von Alexander S. (esko) Benutzerseite


Lesenswert?

Maik M. schrieb:
> Wenn man mit der Augenabtastrate 24Hz rechnet, ist deine Frequenz exakt
> das 7 fache... probier's mal mit 169 Hz

Der Mensch hat keine "Augenabtastrate". Die Wahrnehmung ist analog und 
bei den Augen integrierend. Daher gibt es keine Abtastrate.

von MaWin (Gast)


Lesenswert?

> Das kommt aber nicht durch die PWM-Frequenz selbst, sondern durch die
> Samplingrate des Auges. Was du da siehst wäre quasi Aliasing :)
> Wenn man mit der Augenabtastrate 24Hz rechnet, ist deine Frequenz exakt
> das 7 fache... probier's mal mit 169 Hz

So ein Schwachsinn.
Schöner Trollversuch, aber wehe du glaubst das selber.

Es entsteht bei Bewegung des Kopfes (bzw. Autos bei den Bremslichtern) 
der Tröpfcheneffekt, durch den höhere Frequenzen sehr wohl erkennbar 
sind, nur wissen das die strunzdoofen BMW Ingenieure nicht und waren 
lieber geil darauf bei ihren schweineteuren Luxusautos eine 
centbetrags-Spule einzusparen.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

MaWin schrieb:
> Es entsteht bei Bewegung des Kopfes (bzw. Autos bei den Bremslichtern)
> der Tröpfcheneffekt, durch den höhere Frequenzen sehr wohl erkennbar
> sind, nur wissen das die strunzdoofen BMW Ingenieure nicht und waren
> lieber geil darauf bei ihren schweineteuren Luxusautos eine
> centbetrags-Spule einzusparen.

100%ACK. Aber nicht nur die bei BMW.


Abgesehen davon kann so ein Tiny13 sehr wohl als Spannungsregler 
eingesetzt werden. Dazu braucht es auch den OV nicht. Bei der Verwendung 
der internen Referenz hat man ~1mV Auflösung. Bei 0.25Ohm Shunt wird man 
also Werte um 80dez. messen, wenn der Strom bei 350mA liegt. Wenn man 
das Mess-Signal am Shunt mit 10k und 100nF glättet und den ADC mit der 
PWM synchronisiert, geht das sehr schön. Bei 9.6Mhz hat man 37kHz PWM 
mit 8Bit. Als Spule bietet sich eine geschirmte Induktivität mit 120µH 
und als Puffer-C 220µF an. Das Programm sollte außer dem Strom aber auch 
die Spannung über den LEDs messen, um bei einer kalten Lötstelle den 
Konverter nicht bis unter die physikalische Grenze laufen zu lassen. Dem 
Tiny würde ich noch einen LDO spendieren, dann kann er am kompletten 
Batterieset laufen. Mehr als 10mA wird er nicht ziehen. Gut wäre auch 
noch eine Betriebsspannungsmessung, um bei leeren Batterien kontrolliert 
abzuschalten. Diese Messung kann an einer (ohnehin vorhandenen) LED 
stattfinden, wenn VCC als ADC-Referenz verwendet wird.

von MaWin (Gast)


Lesenswert?

> Abgesehen davon kann so ein Tiny13 sehr wohl als Spannungsregler
> eingesetzt werden.

Sogar ein ganzer PC könnte von der Nintendogeneration dazu verwendet 
werden.

Bloss er kann den Strom genau so wenig schalten wie der Tiny, braucht 
also auf alle Fälle noch ein externes Schaltelement, den MOSFET.

Und der ist so gross und erfordert so viele Zusatzbauteile, daß man 
gleich einen kompletten Spannungsregler in TO220 mit demselben 
Bauteilaufwand bekommt, ganz ohne mühsam zu programmierenden Tiny oder 
PC.

Es ist also einfach hirnrissig, ZUSÄTZLICH einen Tiny einzubauen.

von Alexander S. (esko) Benutzerseite


Lesenswert?

Von den Kosten dürfte es auf dasselbe herauslaufen. Außerdem lernt man 
auf jeden Fall mehr wenn man es selbst baut.
Man ist mit einem Attiny viel flexibler, z.B. kann man bei abnehmendem 
Batteriestand automatisch dimmen, dann hat man noch lange etwas Licht. 
Blinken kann man auch ganz leicht implementieren. Etc. etc.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Alexander Schmidt schrieb:
> Man ist mit einem Attiny viel flexibler, z.B. kann man bei abnehmendem
> Batteriestand automatisch dimmen, dann hat man noch lange etwas Licht.
> Blinken kann man auch ganz leicht implementieren. Etc. etc.

So ist das. Für ´ne simple Konstanstromquelle Marke "AN/AUS" ist ein 
Controller nebst zu schreibendem Programm sicher Overkill.

von MaWin (Gast)


Lesenswert?

> Außerdem lernt man auf jeden Fall mehr wenn man es selbst baut.

Man lernt auch eine Menge, wenn man statt einem Auto ein FliWaTüüt baut, 
aber trotzdem kaufst du deine Autos sicher fertig.

von Nico K. (nkp)


Lesenswert?

Danke für die vielen Antworten...

Hatte am Anfang auch überlegt ob ich einfach nen fertigen 
Step-Up-Wandler nehme im Gehäuse (externe Spule und bla ), allerdings 
hätte ich da den Tiny immer noch gebraucht zur Ansteuerung. (Beides fänd 
ich zB Overkill xD)
Die hatte ich so überlegt: bei kurzen Impulsen auf den Taster EIN/AUS 
... bei länger gedrückt halten eine auf/abwärtsdimmung (hoffe ihr 
versteht was ich meine) ...

Das wegen der ungleichen Belastung der Batterien sollte denke ich 
weniger das Problem darstellen, weil der Tiny als einziger Verbraucher 
dran hängt und nicht die Masse ziehen sollte. Da sind denk ich mal die 
Toleranzen der Hersteller größer was den Energieinhalt von Monozellen 
angeht.

Die Spannungsmessung vor den Leds und der Batterien ist auf jeden Fall 
eine gute Idee... Ports dürften auch noch da sein :D (Tiny hat ja genug 
:D)
Hatte anfangs gedacht die Brown-Out Detection zu nehmen, aber wenn ich 
so ma drüber nachdenke ist das keine gute Idee gewesen...

Mfg

achso... ja ich möchte gerne etwas dazulernen wenn ich etwas bastel :)

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.