Interesse an individuellen led Treibern

ichoderso

Mitglied
also wenn wir schon bei "wünsch Dir was" sind:
ich hätte gern einen 1, 2 oder 3 Mode Treiber, der im Bereich von 3,0-4,2 Volt (also eine LiIon) einen 100% konstanten Ausgangsstrom an die LED liefert, müsste also wohl ein Boost Konverter sein. Hab ich leider noch keinen gefunden, und wenn (KD/DX) dann unzählige Modi und extrem schlechter Wirkungsgrad...
Und davon am besten zwei Versionen, einmal für XR-E/P4 mit ca. 1A Ausgangsstrom und einmal für MC-E/P7 mit etwa 2,8A
und der Knaller wäre es, wenn diese Ströme noch variabel wären, zB. die 1A Version von 0,8-1,2A, die 2,8A mit 2,0-4,0A. entweder durch ändern von Widerständen oder besser Jumper/Lötbrücken....halt was, was dann jeder selber machen kann, sofern er des Lötens mächtig ist:)

viele Grüße,
Jens
 

lambda_

Mitglied
also ich werde mir hier weithin eure ideen und anhungern durchlesen
aber die Diskussion ob das gegen die regeln ist ignoriere ich jetzt einfach.

ich habe weder eine ein link zu meine Seite noch mein Mail veröffentlicht!
(weil man von mir nichts kaufen kann)



BTT:

so wie es aus sieht sind doch schon einige mit linear Treibern zufrieden
und die eigenen sich auch sicher gut zum experimentieren mit der UI "Software"

zu mode Wechsel Erkennung
Problem, ist der strom weg ist der atmel aus und somit resettet
er weiß also nicht wie lange er keine strom hatte und wie oft
und somit auch nicht in welchem mode er ist

es gibt prinzipiell wohl 3 Versionen (die mir jetzt auf Anhieb einfallen) um das zu umgehen

1.der Controller schriebt eine zahl in den nicht flüchtigen speicher
und er höht diese bei jedem start um 1
und jeder zahl ist dan ein mode zugewiesen
dann würde die Lampe aber bei jedem ein-aus den mode wechseln
die Lösung währe ein kondensator an einem Eingang.
Wen der atmel jetzt also aufwacht und merkt Moment der Kondensator hat noch Spannung weiß er das er nur kurz aus war und wechselt nur in diesem Fall dem mode in dem er den Zähler erhöht.

Nachtel:
der nicht flüchtige speicher kann soweit ich weiß nur 10000mal oder 100.000 beschrieben werden
das ist sicherlich öfter als der schalter überleben würde trotzdem finde ich das nicht akzeptabel.

2. Nur 2 Modes
wen man das mit dem Zähler und speicher weglassen würde hätte man Version 2
wen der Kondensator lehr ist (lamepe wa also ein par Sekunden aus) un man die Lampe einschaltet geht diese auf high (zb.)
schaltet man sie dann kurz aus zb durch antippen des schalter
startet der Controller neu merkt aber das der Kondensator voll ist und schaltet in mode2 zb. low
Nachteil: nur 2 modi

3.der Controller wird über ein Kondensator gepuffter,
Schaltet man die Lampe aus lauft der Controller weiter (bis der Kondensator lehr ist )
er merkt aber über einen Eingang das die Lampe aus ist
und kann in ruhe zählen wie lange oder wie oft sie wider eingeschaltet wurde
und nach diesen infos die er in den ram schriebt den mod bestimmen

schaltet man die lampe "länger" aus leert sich der Kondensator und atmel geht aus
damit währe auch der ram lehr und er würde in mod 1 starten

Vorteil: beliebig viele Modi, quasi unbegrenzte Lebensdauer, Einfache Bedingung

Nachteil: kein Mode Memory möglich, vllt relativ großer kondensator nötig

die Problematik und die Lösungen sind extrem vereinfacht ...

hat sonst noch jemand ne idee dazu ?
 

Surf

Mitglied
so wie es aus sieht sind doch schon einige mit linear Treibern zufrieden
und die eigenen sich auch sicher gut zum experimentieren mit der UI "Software"
Die Dinger produzieren deutlich mehr Wärme, was gerade bei den hochstromigen Lampen nicht unbedingt erwünscht ist. Da dein Vorhaben ja eh schon ein großer Aufwand ist, dann sollte man zumindest den Ehrgeiz haben, es auch mit einem Buck zu versuchen.

zu mode Wechsel Erkennung
Problem, ist der strom weg ist der atmel aus und somit resettet
er weiß also nicht wie lange er keine strom hatte und wie oft
und somit auch nicht in welchem mode er ist

Hehe, genau darüber hab ich mir gestern Abend auch Gedanken gemacht. Die Möglichkeiten sind auf der einen Seite vielzahlig, auf der anderen Seite scheitern sie oft an den "Verschleißteilen".
Ich habe gerade Datenblätter durchwühlt und festgestellt, dass viele ATTinys gerade einmal 10.000 Schreib/Löschzyklen erlauben. Das ist in der Tat wenig.
Stellen wir uns einen Viel-Nutzer vor: Mal angenommen man benutzt seine Lampe 200 mal im Jahr (zum Beispiel jemand, der sie dienstlich braucht). Im Einsatz wird sie oft an und aus geschaltet. Ich denke so 50 mal eine Schalterbetätigung wäre hier sogar noch eine vorsichtige Schätzung.
Damit wäre die Lampe binnen eines Jahres "aus der Garantie" (=zugesicherte Lese/Schreibzyklen) raus.

Deine Kondensatorlösungen sind also deutlich langlebiger. Stellen uns aber vor riesige Probleme bezüglich der Dimensionierung selbiger.
Kapazität zu groß = dauert zu lang, bis aufgeladen -> zu kurze Tasterberührungen werden nicht beachtet
Kapazität zu klein = man muss verdammt flink sein, damit der Kondensator sich vor dem neuen Antippen nicht wieder verflüchtigt hat.

Da ist also viel Ausprobieren angesagt und die Verschaltung der einzelnen Komponenten ist in Verbindung mit einem Buck/Boost auch nicht ganz leicht.



Ich habe bisher immer nur mit Registern, SRAM und Flash gearbeitet, aber ist es nicht technisch möglich, die Modi-Codes in den EEPROM zu schreiben?
Dort ist die Zahl der Zyklen immerhin 100.000, was meiner Ansicht nach schon deutlich brauchbarer ist.
Im obigen Beispiel könnte man seine Lampe dann 500 mal am Tag an und aus schalten, oder sie reicht für 10 Jahre statt einem Jahr.

Letzte und schlechteste Möglichkeit ist, den Atmel dauerhaft mit Spannung zu versorgen. Das ist meiner Ansicht nach ein No-Go.

Wie machen das denn die Profis. Kann man sich nicht was schlaues abgucken? Ich werde weiter über Möglichkeiten grübeln....
 
Zuletzt bearbeitet:

lambda_

Mitglied
Kapazität zu groß = dauert zu lang, bis aufgeladen -> zu kurze Tasterberührungen werden nicht beachtet
Kapazität zu klein = man muss verdammt flink sein, damit der Kondensator sich vor dem neuen Antippen nicht wieder verflüchtigt hat

wird der Kondensator direkt über eine Diode geladen ist er im Bruchteil einer Sekunde voll selbst wen es ein recht großer elko ist.

und bei Möglichkeit 1 und 2 würde auch kurze Taster Berührungen berücksichtigt werden.

es ist auch möglich in den EEPROM zu schrieben 100.000 sind mir aber immer noch viel zu wenig :glgl:

Letzte und schlechteste Möglichkeit ist, den Atmel dauerhaft mit Spannung zu versorgen.

das ist meiner Meinung nach die beste möglichen effizient programmiert oder im sleep mod braucht der atmel nur wenige µA

dann müsste der Hauptschalter der Lampe auch nicht mehr den gesamt strom der Lampe Schlatten sondern nur den µC "wecken" was natürlich so gut wie kein strom braucht und der Lebensdauer des Schalters zugute kommt

der nachteil ist nur das das nicht bei allen Lampen Nachrüstbar ist
 

Der Wichtel

Mitglied
Letzte und schlechteste Möglichkeit ist, den Atmel dauerhaft mit Spannung zu versorgen. Das ist meiner Ansicht nach ein No-Go.

Würde ich nicht sagen, der Tiny verbraucht im Sleep Modus nur wenige µA, das reicht allemal. Der D2Flex basiert ja anscheinend auch darauf. Vorteil hier ist, dass man auch größere Ströme problemlos und ohne Funkenschlag schalten kann, wenn man geeignete Mosfets benutzt

Ansonsten funktioniert die Kondensatorvariante relativ gut, nennt sich Bootstrapping.
Alles, was man benötigt ist eine Diode und ein Widerstand. Den Widerstand kann man parallel zur Diode schalten und auch als Poti auslegen. Somit kann man die Entladezeit ( t= C*R) einstellen.
 

Stone

Mitglied
es ist auch möglich in den EEPROM zu schreiben 100.000 sind mir aber immer noch viel zu wenig

Das gilt pro Speicherzelle,d.h wenn du nicht immer auf die selbe Stelle schreibst sondern sagen wir bei 3 Modis 2-Bit. Bei jedem speichern schreibst du auf die nächsten 2-Bit usw.


Die Dinger produzieren deutlich mehr Wärme, was gerade bei den hochstromigen Lampen nicht unbedingt erwünscht ist. Da dein Vorhaben ja eh schon ein großer Aufwand ist, dann sollte man zumindest den Ehrgeiz haben, es auch mit einem Buck zu versuchen.
Kommt drauf an, bei einer LIR Zelle kann der Linearregler besser sein als ein Buck-Wandler. Einzige alternative ein Buck-Boost-Wandler.
Ab 2 LIR oder 4 NiMh hast du nätürlich völlig recht.



Ich würde die Kondensator/Dioden Methode verwenden.
Der Tiny muss den Abfall der Versorgungsspannung max. 5 Sekunden überstehen danch kann ihm alles egal sein(ohne Memory).
Ich würds so machen.

Tiny registriert den Spannungsabfall:
-Timer starten
-Sleep
-Timerüberlauf --> Variable erhöhen
-Sleep
-Nach X-tem Überlauf(nach ca. 5 Sek) wenn die Versorgungsspannung nicht wieder da ist geht der entgültig in den Sleppmodus.
-Sollte vor dem X-tem überlauf die Versorgungsspannung wieder auf high gehen
-Tiny wacht auf(Interrupt)
-Stoppt,Rücksetzt den Timer und setzt die Variable auf 0
-Schaltet einen Mod weiter


Ich denke mit 1 µF müsste das gehn.


Gruß
Matthias (der grade sein AVR Entwicklungsboard entstaubt)
 

Surf

Mitglied
Die Ideen sind vielfältig.
Aber wie man sieht, kommt die Sache in Gang.

Wenn wir mit in etwa gleicher Hardware arbeiten würden, könnte man einiges an Testumgebungen auf die Beine stellen.

Die Wahl der richtigen Methode hängt sicher von der Verwendung ab. Da stehen die Vielnutzer im Konflikt mit denen, welche die Lampe im Schrank haben und nur ab und zu rausholen.
Für letztere ist die Sleepvariante evtl. ungünstig, wie stark sich das bemerkbar macht müsste man mal austesten oder ausrechnen.
 

Surf

Mitglied
der Tiny braucht mehr als 20 Jahre, wenn nicht doppelt so viel, um einen 2000mAh Akku im Sleep Modus leer zu saugen.

Das hab ich nicht gewusst. Wow!

Dann sehe ich aber das Problem, wie kriegt der Controller den Strom, wenn hinten der Schalter geöffnet ist.
Klar, das könnte man umbauen und den Eingang des Schalters nur noch als Input verwenden, der im Tiny verarbeitet wird.
Aber dann wäre so ein Treiber nicht mehr ohne erhebliche Änderungen in jeder Lmape nutzbar.
 

lambda_

Mitglied
Aber dann wäre so ein Treiber nicht mehr ohne erhebliche Änderungen in jeder Lmape nutzbar.

und genau das ist das KO für diese Methode...
sie ist einfach nicht universell

außer bei Mag mod
*zwinker* zu Der Wichtel

und für mich selbstverständlich ist es das ganze open source zu machen :super:

wen wir uns alle einigen auf eine atmel Architektur zu arbeiten reicht das eigentlich
 

Stone

Mitglied
wen wir uns alle einigen auf eine atmel Architektur zu arbeiten reicht das eigentlich

Wir könnten uns auch auf einen Chip einingen denn soviele die in Frage kommen gibt es auch nicht.

-ATtiny12 (kein SRam)
-ATtiny13
-ATtiny25
-ATtiny45 (nur mehr Speicher als der Tiny25, den wir nicht benötigen)
-ATtiny85 (nur mehr Speicher als der Tiny25, den wir nicht benötigen)

Also ich wäre für den Tiny13 oder 25.
Der 25 kann mehr ist aber auch teurer.
Arbeiten werde ich mit AVR Studio und in C-Programmieren.


Gruß Matthias
 

ex Vento

Premium Mitglied
Sehr interessantes Thema, hoffe, das gubt auch was. Aber hättet ihr denn ne Möglichkeit Platinen zu ätzen/ SMD löten?
 

Surf

Mitglied
Ich plane mir Ätz Equipment anzuschaffen.
Das wird zwar eine Weile dauern (ein Monat oder mehr), aber bis dahin hatte ich an eine Lochrasterplatine gedacht.

Natürlich fallen damit SMD Bauteile raus, was aber für Testzwecke der Software egal sein sollte.
Ist es nicht möglich, beim Bau des Treibers vorerst ohne SMD auszukommen?
Immerhin haben wir ja noch gar keinen.
 

Stone

Mitglied
Aber hättet ihr denn ne Möglichkeit Platinen zu ätzen/ SMD löten?

Ja und Ja, aber mehr als Prototypen werden daheim eh nicht gemacht.

Ab 10 Stück ist es schon einfacher das ganze fertigen zu lassen(zumindestens die Platinen) und die Qualität ist auch viel besser.

lambdas idee ging aber eh in Richtung DX/KD Platinen zu kaufen und umzurüsten. Was ich fürs erste warscheinlich die bessere Lösung ist.

Gruß
Matthias
 

Der Wichtel

Mitglied
ich würde den attiny45V nehmen.
Mit dem habe ich auch schon ein paar Dimmer gebaut. Der benötigt weniger Spannung, falls man doch mal einen einzelnen Akku dran betreiben will...
Damals habe ich auch verschiedene Modi und Funktionen getestet und auch gleichzeitig, der Speicher stieg dann schon auf knapp die Hälfte an. Aber da war auch sehr viel Müll drauf. Hinterher habe ich nur noch etwa 20% benötigt.

Ich finde es besser, wenn man ein neues Layout entwirft und am besten so, dass alle Pins zu kleinen Lötkontakten an der Unterseite herausgeührt werden, so kann man den Treiber nachträglich ohne viel Mühe proggen und jeder kann hinterher alle Dateien durchtesten und sich eine rauspicken, die ihm gefällt

Die Treiber von DX/KD haben glaube ich keine Diode und keinen Kondensator zum Speichern der Energie.
 

lambda_

Mitglied
Die Treiber von DX/KD haben glaube ich keine Diode und keinen Kondensator zum Speichern der Energie.
wie funktionieren sie den sonst ?

jedenfalls Platinen bis SO8 kann ich selber in guter Qualität ätzen
und das ohne Equipment
einfach in einer lehren mon cheri Dose mit etwas Batterie säure und Bleichmittel...

wegen dem code ... ich hab gehofft das ich noch jemandem der assembler kann dazu überreden kann das zu machen
würde vllt strom sparen :lechz:

aber c ist natürlich viel einfacher
 

Stone

Mitglied
Die Treiber von DX/KD haben glaube ich keine Diode und keinen Kondensator zum Speichern der Energie.
sku_6190_1.jpg

Quelle: www.dealextreme.com

sku_7612_1.jpg

Quelle: www.dealextreme.com

sku_7879_1.jpg

Quelle: www.dealextreme.com

Also ich seh da überall die Dioden/Kondensator Lösung.

ich würde den attiny45V nehmen.
Wenn du am Ende eh nur 20% des Speicher gebraucht hast reicht auch der AtTiny25V

dass alle Pins zu kleinen Lötkontakten an der Unterseite herausgeührt werden, so kann man den Treiber nachträglich ohne viel Mühe proggen und jeder kann hinterher alle Dateien durchtesten und sich eine rauspicken, die ihm gefällt

Find ich gut vielleicht wäre ein kleines Boot-Loader Programm was aber das geht zur Zeit noch über meinen Horizont.


wegen dem code ... ich hab gehofft das ich noch jemandem der assembler kann dazu überreden kann das zu machen
würde vllt strom sparen

Stromsparen mit Assembler:confused: erklär mir das bitte genauer.
Das einzige was man IMHO mit Assembler errreichen kann ist ein etwas schneller laufendes Programm aber das ist in unserem Fall eher unwichtig.

Gruß
Matthias
 

lambda_

Mitglied
Stromsparen mit Assembler erklär mir das bitte genauer.
naja mit ASM kann ma wen man es kann Programme wesentlich effizienter coden

damit sinkt die cpu Auslastung oder der speicher Zugriff und die Leistungsaufnahme sinkt
und man kann höhere PWM Frequenzen erreichen :lach:

ich geb zu das ist alle wahrscheinlich doch eher uninteressant weil die Auswirkungen sehr gering sein werden
 

Stone

Mitglied
Das "wesentlich" hängt vom Programmierer ab;)
Die heutigen C-Compiler scheinen auch sehr effizient zu arbeiten.
Die AVRs haben Hardware PWM d.h. egal was sonst noch läuft davon ist die PWM nicht beeindruckt.

Im Gegensatz zu ner CPU im PC rennt der µC immer mit eagl ob das Programm in ASM oder C-Programmiert ist Ausnahme im Sleep Mode (korrigiert mich wenn ich falsch liege).
Der Stromverbrauch ist bei voller Auslastung verschwindend gering gegen den Verbrauch der LED.

Gruß Matthias
 

chp

Mitglied
Oh es gibt Gleichgesinnte!
Ich plane ein sehr ähnliches Projekt, nämlich den AVR auf den grünen 7135 Platinen zu tauschen und mir so ein eigenes UI zu bauen.

Realisiert werden kann die "Erkennung der Auszeit" meiner Meinungs nach mit einem Puffer Kondensator und der Brownout Detection. Die Umsetzung werde ich in den nächste Tagen mal testen.

Ich verwende übrigens die von Hiltihome gezeigten Platinen die mir DX anstatt der blauen Platinen geschickt hat.

Auf den Platinen ist sowohl ein Kondensator als auch eine Diode zu finden. Allerdings zusätzlich noch ein Spannungsteiler (R1 und R2 gehen an Pin2 des Attiny und VCC/GND), dessen Funktion mir noch unklar ist. Die blauen Boards mit PICs kommen ohne aus.


Mit kleineren Modifikationen und 2 parallelen Boards lassen sich folgende Modi realisieren:
HIGH: 8x 7135 kein PWM
MID: 1x 7135 kein PWM
LOW: 1x 7135 PWM ~5% Dutycycle

Sollte eine nette MC-E Lampe ergeben.