Forum: Mikrocontroller und Digitale Elektronik Tiny13 stepup LED Liion


von Frank D. (Firma: Spezialeinheit) (feuerstein7)


Lesenswert?

Hallo,
ich plane für eine LED-Lampe einen Tiny13 einzusetzen, dieser soll in 
fast PWM Modus einen Stepupregler betreiben, der LED-Strom soll über 
einen Shunt gemessen werden und die Regelung beeinflussen. Mal kurz ein 
paar Eckdaten:
-  Betrieb mit einem Liion Akku
-  Ein/Aus- Schalten , Moduswechsel über einen Taster
-  3Watt Cree LED
-  PWM mit etwa 150kHz
Problem bei einen frisch geladenen Akku ist die Spannung für die LED 
relativ hoch, so dass ein Stepupregler vielleicht nicht so optimal wäre. 
Jets hab ich folgende Lösungsideen:
-  einen Sperrwandler aufbauen (wird wahrscheinlich zu groß)
-   den PWM-Ausgang in der Regelung an und abzuschalten anstatt den 
Timerwert zu beeinflussen (hab so was mal auf der loetstelle Website 
gesehen, könnte so was funktionieren?)
-  den Shunt unanständig groß dimensionieren, um den Strom zu begrenzen 
(Verluste)
Weiterhin soll alles so klein wie möglich werden weshalb ich eigentlich 
keinen kombinierten Stepup/Stepdownregler verbauen wollte. Achso und den 
AVR wollte ich halt nehmen weil damit gleichzeitig die Tastenroutine 
Realisiert werden kann.
Also wenn jemand ne Idee hat oder ein Kommentar hat wäre ich echt froh.

Gruß Fred

von Gast2 (Gast)


Lesenswert?

Na sagmal, habe gerade eine Tauchlampe mit dem Tiny13
fertig gestellt. Bis auf das ich mit 12V aus Nimh-Akkus
arbeite und eine Halogen 12V/35W verwende entspricht
das so ziemlich Deinem Projekt. :) Die PWM erfolgt
mit 125Hz (reicht vollig aus!) und in 3 Stufen
(0, 50%, 100%).Der ATTiny13 überwacht die Ub und
schaltet die Lampe bei erreichen der Entladeschluß-
spannung ab. Das Programm ist in ASM geschrieben.
Wenn Du interesse daran hast würde ich es hier
veröffendlichen.

von Frank D. (Firma: Spezialeinheit) (feuerstein7)


Lesenswert?

Na klar besteht Interesse, ASM passt übrigens wunderbar, verwende ich 
auch. Mein Programm ist allerdings noch nicht ganz fertig (wie auch wenn 
ich mir über die Hardware noch nicht ganz im klaren bin, aber die 
Tastenabfrage klappt schon ganz gut). Mein erstes Projekt war übrigens 
eine Lampe mit Tiny13 die mit einer 1.5V AA Batterie betrieben wird. Die 
Lampe funktioniert allerdings ist das Programm ein nicht vorzeigbares 
zusammengestückeltes Anfängerverbrechen. Vielleicht willst du dein 
Projekt ja auch in die Codesammlung stellen, bin sicher da gibt es auch 
großes Interesse von anderen.

von Uhu U. (uhu)


Lesenswert?

Fred Feuerstein wrote:
> -  Ein/Aus- Schalten , Moduswechsel über einen Taster

Was meinst du denn mit Moduswechsel?

von Gast2 (Gast)


Angehängte Dateien:

Lesenswert?

... na dann los mit dem Gemecker.

von Frank D. (Firma: Spezialeinheit) (feuerstein7)


Lesenswert?

Moduswechsel ist sowas wie 25%, 50%, 100% und off vieleicht blödt 
formuliert sollte vieleicht besser Schaltstufen heißen, ging mir bloß 
darum den vorzubeuegen

von Gast2 (Gast)


Lesenswert?

ja das sind die Pulsbreiten in Prozent zur gesammten Periode.

von Uhu U. (uhu)


Lesenswert?

Die Schaltung von Gast2 ist gut für Halogenlampen, für LEDs würde ich 
sie nicht gerade nehmen.

Was für Akkus (Spannung?) willst du denn verwenden? Welche 
Vorwärtsspannung hat die LED?

von ajax (Gast)


Lesenswert?

Stimmt, da sollte man noch eine Speicherdrossel in Serie und eine 
Shottkey-Diode in den Rückwärtszweig schalten.

von Frank D. (Firma: Spezialeinheit) (feuerstein7)


Lesenswert?

Sieht doch ganz schick aus das Programm, eine Sache ist mir allerdings 
aufgefallen, da ich bei meinen ersten versuchen mit dem ADC vom Tiny nur 
Probleme hatte, du schaltest den ADC ein und stellst gleichzeitig den 
Vorteiler .
  ldi   TempReg, 0b11000110
  out   ADCSRA, TempReg
Bei meinen ersten versuchen hat das meist Probleme gegeben, der ADC 
wollte nicht richtig laufen, bis ich nach etlichen Versuchen den Spruch 
im Datenblatt entdeckt habe ADC erst anschalten, den einstellen. Ich hab 
mal Probeweise das  (1<<ADEN) nach vorne und mal nach hinten gestellt, 
weil ich dachte vielleicht übersetzt ja das AVR Studio von rechts nach 
links oder umgekehrt, beides ohne erfolg. Hab’s denn einfach mal so 
probiert und es hat geklappt.
   ldi 
temp,(1<<ADEN)|(1<<ADSC)|(1<<ADATE)|(0<<ADIE)|(1<<ADPS2)|(0<<ADPS1)|(1<< 
ADPS0)
   out     ADCSRA,temp
   out     ADCSRA,temp
PS: Danke das du dein Prog. reingestellt hast, soll übrigens keine 
Kritik sein ich finde das toll wenn jemand seine geistige Arbeit mit 
anderen teilt.

von Frank D. (Firma: Spezialeinheit) (feuerstein7)


Lesenswert?

@ uhu & ajax
klar die Schaltung müsste ein Stepup werden ( Mosfet, Spule, Schottky, 
C)  die Sache mit der Vorwärtsspannung ist ja gerade das Problem, ich 
hab eine LED (Cree 3Watt) die läuft seit Jahren in einer einfachen 
Lampe.  Die wird direkt an der Batterie ohne Vorwiderstand betrieben. 
Die neue LED ( die für die neue Lampe gedacht war) zieht bei 3,6V ein 
Ampere. Als Akku wollte ich eine Zelle von einem Laptopakku verwenden, 
die hätten vollgeladen allerdings eine Spannung von 4,2V und ich wollte 
die Zellen austauschbar verwenden so könnte es passieren, dass bei einer 
Zelle die LED nicht überlastet wird (Innenwiderstand der Zelle groß 
genug) bei einer anderen könnte sie plötzlich durchbrennen. Das heißt 
für 5min mit einer frischen Zelle bräuchte ich ein Stepdown Regler, 
danach ein Stepup, oder halt eine andere Idee....?

von Uhu U. (uhu)


Lesenswert?

Und wenn du 2 LEDs in Reihe - evtl. kleinere - nimmst und einen 
Step-up-Wandler?

von related (Gast)


Lesenswert?


von Frank D. (Firma: Spezialeinheit) (feuerstein7)


Lesenswert?

@Uhu
2Leds geht nicht schon aus Platzgründen, das ganze kommt in ein rundes 
Metallgehäuse und vor die LED kommt ein Alureflektor (den hab ich schon 
fertig gedreht).
@related
Danke für die links, hatte ich mir vorher schon mal angesehen, von dem 
SMPS gibt es hier eine Seite wo auch der Sourcecode steht, allerdings 
ist die Schaltung etwas merkwürdig. (Shunt gegen +, Ausgangsspannung muß 
gegen Betriebsspannung aufgebaut werden)
http://www.mikrocontroller.net/attachment/18905/LED_SMPS.zip
Invertierender Schaltregler wäre auch eine Möglichkeit aber da weiß ich 
nicht genau wie das mit dem ADC Eingang ist. Ich glaube man kann mit dem 
Tiny auch differenziell messen, da müsste ich aber noch mal im 
Datenblatt wühlen.
Bei der anderen Seite ist die Sache etwas leichter dort ist die 
Betriebsspannung immer größer als die LED-Spannung (also Stepdown), bei 
meiner wär’s halt mal so und mal so.

von Uhu U. (uhu)


Lesenswert?

Es gibt Mehrfach-Kollimatoren, die mehrere LEDs zu einem Strahl 
vereinen.

Z.B. hier gibt es sowas: 
http://www.dotlight.de/de/LEDs/LED-High-Power/Seoul-Z-LED/Seoul-Z-LED-Optiken

Ich habe eine Lampe mit 6 3W Luxeons gebaut, die in 2 
3-fach-Kollimatoren mit 6° Öffnungswinkel eingebaut sind - die 
Strahlgeometrie ist sehr gut.

von Frank D. (Firma: Spezialeinheit) (feuerstein7)


Angehängte Dateien:

Lesenswert?

@Uhu
Ja kenn ich, bin aber mehr ein Fan von Reflektoren (der ist ja nu auch 
schon da). Sieht schicker aus wenn die LED noch sichtbar ist 
(Geschmackssache). Denke das ich eine Lösung gefunden habe. Ich nehme 
einfach einen Vorwiderstand in reihe zum Stepup und Parallel zu den 
Widerstand ein Transistor. Wenn der LED Strom nicht erreicht werden kann 
(zB 1A) wird der Vorwiderstand einfach durch den Transistor überbrückt.
Versuche das mal als eagle Datei anzuhängen (soll nur als Skizze dienen, 
hab da irgendwelche Bauteile gegriffen)

von Uhu U. (uhu)


Lesenswert?

Der Nachteil ist, daß solcherlei Tricksereien auf Kosten der Effizienz 
gehen.

Tipp: Nimm LTspice und simuliere die Sache - dann wirst du sehen, ob es 
funktioniert.

Das Modell für eine 3W Luxeon kann ich beisteuern...

von Frank D. (Firma: Spezialeinheit) (feuerstein7)


Lesenswert?

Was meinst du mit auf Kosten der Effizienz, ein Transistor brauch ich um 
die Spannung abzuschalten, den nächsten um den Widerstand zu 
überbrücken, Verluste wären ja den nur über Rds der FETs. Ich denke auch 
mal dass, der Widerstand die meiste Zeit überbrückt wird da die 
Akkuspannung bei Last zusammensacken wird, also mehr so in Richtung 
kurzeitiger Einschaltstrombegrenzung gedacht. Spice hab ich nicht auf 
dem Rechner, irgendwo existiert noch ne Switchercad Version. Ich bin 
aber kein Freund von Simulationen, den Stepup kann ich über diese 
Schmidt Walter Seite grob dimensionieren und bei den Bauteilen muß ich 
ohnehin gucken was die Bastelkiste hergibt.

von Uhu U. (uhu)


Lesenswert?

Der Widerstand verbrät doch Energie - die nicht als sichtbares Licht 
freigesetzt wird. Also sinkt der Wirkungsgrad.

Switchercad = LTspice

Ich find das prima. Damit kann man Ideen entwickeln und testen, ob sie 
was taugen, bevor man die Schaltung realisiert.

von Frank D. (Firma: Spezialeinheit) (feuerstein7)


Lesenswert?

Ja der Verbrät Energie aber nur solange wie Q1 geöffnet ist. Das wäre 
der Fall wenn der Akku voll ist und die Eingangsspannung größer als die 
Flussspannung der LED ist. Sobald die Spannung sinkt müsste Q1 
geschlossen werden und R1 wäre überbrückt. Vielleicht ein bisschen 
tricky mit der Software OCR0B (Ton/Toff) als Stellgröße und bei einen 
minimalwert Q1 schließen. Wie sieht’s eigentlich mit der anderen 
Variante aus die PWM mit fester Frequenz und festen Tastverhältnis 
laufen lassen und beim erreichen des Sollwerts den PWM-Ausgang 
abschalten. Damit müsste es doch möglich sein selbst mit einem Stepup 
eine Ausgangsspannung (Strom) zu erzeugen die unter der Eingangsspannung 
liegt?

von avion23 (Gast)


Lesenswert?

Überleg:
Wenn Ausgangsspannung < Eingangsspannung - 0,7V
dann fließt Strom über Eingang, Spule, Diode, zu Ausgang.


Du suchst einen boost-converter.
Verwende einen mit positive ground, dann kannst du n-fets verwenden.

Synchrone Gleichrichtung lohnt sich nicht nach meiner erfahrung.

von Frank D. (Firma: Spezialeinheit) (feuerstein7)


Lesenswert?

Das mit der Eingangsspannung größer Ausgangsspannung ist  wahrscheinlich 
nur ein Extremfall, der wenn er nicht berücksichtigt würde die LED 
früher oder Später grillen würde. Ich hab da eine einfache 
Eigenbaulampe, zwei Schaltstufen, 1: LED direkt am Akku; 2: LED über 
Stepup am Akku. Ist so eine ältere Pfuschversion kein Vorwiderstand, 
keine Stromüberwachung. Bei dieser Lampe hab ich den Strom beim bauen 
gemessen, er liegt selbst mit dem Schaltregler nicht über 800mA (1A 
erlaubt). Dort ist der Akku allerdings fest verbaut und nicht 
austauschbar. Wenn der Akku frisch geladen ist, ist sie in der ersten 
Stufe heller als in der zweiten, nach wenigen Minuten ist die 
Akkuspannung soweit runter dass die zweite Stufe heller ist. Bei der 
neuen Lampe will ich den Akku extern laden, dadurch kann es passieren 
das mal ein sehr „fitter“ Akku in die Lampe kommt der die LED frisch 
nach dem Laden überlasten kann. Also mit anderen Worten Eingangsspannung 
von 3V bis 4.2V (oder was auch immer die kurz nach dem laden haben), am 
Ausgang je nach Knopfdruck 250mA; 500mA;1000mA mit Spannungen halt je 
nach LED. Die meiste Zeit wird die Akkuspannung nicht ausreichen um die 
LED voll zu betreiben also Stepup oder Boostkonverter, aber kurzeitig 
direkt nach dem Laden evtl. noch mit einem neuen frischen Akku kann und 
dann noch den Boostkonverter dahinter wird’s ein bisschen viel für die 
LED also bräuchte ich irgendetwas was das verhindert. ....Grübel

von Uhu U. (uhu)


Lesenswert?

Schon mal dran gedacht, einfach eine 1N400x zur LED in Reihe zu schalten 
und das Ganze mit dem Step-up zu speisen?

von pillepalle (Gast)


Lesenswert?

moin

ab Wirkungsgrad <60% lohnt es sich schon wieder einfach nur einen 
Widerstand zu nehmen.....

hf

von pillepalle (Gast)


Lesenswert?

moin

Ich würde um die Kosten niedrig und den Wirkungsgrad hoch zu halten 
folgendes versuchen:

Accuspannung messen
wenn zu hoch ( frisch geladener accu )
einfach den Schalttransistor durchschalten und 2 ten Fet anstelle des 
Strom shunt mit pwm ansteuern.

Accuspannung gesunken
mit Spule ,Schalttransistor,Diode einfach das Teil als Boostregler 
laufen lassen . 2te Fet arbeitet jetzt als regelbarer Widerstand (Strom 
shunt) , musste mal ins Datenblatt schauen und dir den Rdson ansehen ( 
so ca. 4 Volt Gate/Source und das ding arbeitet als linearer Widerstand 
)

Accu alle - Lampe abschalten

viel spass

von Invers (Gast)


Lesenswert?

Nimm doch einen Inverswandler, da kannst du alle 
Übersetzungsverhältnisse einstellen. Da die Spannung am Shunt dann auch 
negativ sein wird, musst du die Spannung irgendwie ins positive bringen 
um damit den Strom bestimmen zu können. Dies könnt z.B. mit einer 
Z-Diode und Widerstand geschehen...

von Alexander S. (esko) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hallo,

ich hab mir mal eine Schaltung ausgedacht,
und auch gleich simuliert.
Die Led ist nicht die gleiche und es ist komplett ohne Regelung, aber 
die ist ja eh in Software.

  mfg Esko

von Alexander S. (esko) Benutzerseite


Angehängte Dateien:

Lesenswert?

Und hier die Spice Datei.

von Uhu U. (uhu)


Lesenswert?

@Alexander
Kannst du die Plots erläutern?

von Frank D. (Firma: Spezialeinheit) (feuerstein7)


Lesenswert?

@alle
Danke erst mal für die vielen Ideen, die muß ich mir mal in Ruhe 
anschauen. Jetzt ist erst mal Feierabend, Kind ist im Bett Arbeit vorbei 
und ich höre den Lockruf der Kneipe an der Ecke.
Gruß
Feuerstein7

von Alexander S. (esko) Benutzerseite


Angehängte Dateien:

Lesenswert?

Wenn man sich den rechten MosFET wegdenkt ist die Schaltung ist ein 
normaler Step-Up. R1 zur Strommessung.

Solange die Spannung über der Flussspannung der LED ist, wird in den PWM 
Betrieb geschalten. D.h. der linke MosFET bleibt aus und der Led Strom 
fließt getaktet über die Spule. Dafür die Freilaufdiode D3. R1 dient 
hier zur Strombegrenzung.

Der Plot zeigt die absinkende Betriebsspannung (grün) und den Strom 
durch die Led (blau).
In der Mitte der Zeit wird von PWM auf Step-up geschalten.


Anbei eine etwas verbesserte Version, ohne die Schwingneigung im 
PWM-Betrieb.

von Andreas (Gast)


Angehängte Dateien:

Lesenswert?

Macht es doch nicht so kompliziert...

Zur Regelung einfach den Sourcestrom des Mosfets Messen (Shunt)
Der Lastrom lässt sich daraus und aus dem Dutycycle berechnen
Ilast = (1-d) * Isource.

Spannungsregelung geht auch. Mann muss nur die Differenz aus 
Kondensatorspannung und Eingansspannung(muss ja eh gemessen werden) 
bilden.

Die Schalung ist übrigens ein Buck-boost

von Frank D. (Firma: Spezialeinheit) (feuerstein7)


Lesenswert?

Hallo,
so ich fasse mal zusammen. Die Ausgangsspannung kann mit der Schaltung 
logischerweise nicht kleiner als die Eingangsspannung werden, dass gilt 
nicht nur für ein vollen Akku sondern auch für gedimmten Modus (z.B. 
25%). Die einzigen Möglichkeiten sind entweder ein Buck/Boost-Konverter 
oder ein Sperrwandler. Beim Sperrwandler sehe ich vor allem Probleme in 
den bau des Übertragers. Beim Buck/Boost in der Software (Umschaltung im 
laufenden Betrieb von Buck auf Boost). Hmm... sah zu Anfang alles ganz 
einfach aus, wird langsam immer mehr.

von Alexander S. (esko) Benutzerseite


Lesenswert?

> Beim Buck/Boost in der Software (Umschaltung im
> laufenden Betrieb von Buck auf Boost).

Was meinst du?
Da muss nichts umgeschaltet werden.

von Frank D. (Firma: Spezialeinheit) (feuerstein7)


Lesenswert?

Ich bin von einer Ausführung mit zwei Transistoren ausgegangen,(einer 
betreibt einen Stepup der andere regelt durch PWM runter) hab mir aber 
inzwischen überlegt es mit einen Sepic Wandler zu versuchen. Da gibt es 
eine Variante wo beide Spulen auf einen Kern gewickelt werden. 
http://de.wikipedia.org/wiki/SEPIC So in der Art könnte das aussehen, 
mal sehen wenn ich zu komme werde ich das mal versuchen.

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.