Hallo, ich habe vor eine Schaltung aufzubauen in der ein ATtiny45 (Läuft auf 8Mhz) eine High power LED schalten soll. Ein vereinfachtes (KSQ usw. weggelassen) Schaltbild befindet sich im Anhang. S1 ist ein Handschalter welcher auf jeden Fall sicherstellen muss dass die Schaltung stromlos ist. Nun soll aber über S1 auch eine Stufenschaltung realisiert werden: An-> 1.Stufe, An-Aus-An -> 2. Stufe, An-Aus-An-Aus-An -> 3. Stufe. Die An-Aus Schaltvorgänge sollen alle im definierten Zeitfenster t (z.B. t=3 Sekunden) erfolgen. Da die Spannungsversorgung des ATtiny bei jedem Schaltvorgang unterbrochen wird, kann dieser also schlecht "mitzählen" wie oft geschaltet wurde. Meine Idee war jetzt zwischen +5V und GND des Attiny einen ausreichend groß dimensionierten Elko einzusetzen der den (und nur den) tiny noch einige Sekunden am Leben erhält. Ich könnte dann durch lesen der Spannungswerte an A1 feststellen wie oft ein und aus geschaltet wurde. Die Frage ist jetzt: Macht diese Schaltung so überhaupt Sinn oder gibt es eine viel Einfachere Lösung meines Problems? Wie berechne ich die notwendige Kapazität des Elkos in Abhängigkeit von t?
Ein paar Sekunden kannst Du den schon locker mit einem Elko überbrücken. Wegen der Rückwirkung dann eine kleine Diode zwischen Regler und Elko/AVR schalten. Du kannst den letzten Zustand aber auch im EEProm speichern, und nach jedem Reset -der ja beim Einschalten passiert- abhängig davon das Schaltmuster laufen lassen. Gegenüber der Elko-Lösung klappt dies dann auch, wenn aus irgendwelchen Gründen mal eine lange AUS-zeit vorkommt.
Wenn du schon 12-15V hast sollte der Elko VOR den 7805 (+ 1 Diode). Dann muss er auch nicht ganz so gross sein. Aber: Was spricht gegen dauerbetrieb des AVR? Oder ist die Autobatterie zu klein?
Witzige Idee, aber ziemlicher Schrott. Transistor und Diode sind ganz falsch gepolt. Der Spannungswert am Kondensator wird durch die Ladezeiten gestimmt. Wie lange wird gedrückt? Ist ja nicht konstant, nur das wieoft gibst Du vor. Alos ist die Spannung am Kondensator der reine Zufall und die Anzahl der Tastenbetätigungen nicht feststellbar. Laß doch lieber des µC jedes Mal wenn er eingeschalten wird den Kondensator etwas aufladen, definierte Zeitspanne und ein Vorwiderstand ist wichtig. Mit jedem "An" wird die Spannung höher und Du kannst andere Helligkeiten ausgeben.
Nimm doch einfach das EEPROM und speichere einen Zähler weg. Den Zähler bearbeitest du nach jedem Reset/Neustart. Ich denke die 10000 Zyklen wirst du nicht erreichen.... Ich würde das so machen als irgendwelche Elko-Akrobatik Ingo
spontan schrieb: > Transistor und Diode sind ganz falsch gepolt. Michael schrieb: > Ein vereinfachtes (KSQ usw. weggelassen) Schaltbild befindet sich im > Anhang.
Tim schrieb: > enn du schon 12-15V hast sollte der Elko VOR den 7805 (+ 1 Diode). > Dann muss er auch nicht ganz so gross sein. Ein Schaltregler wäre auch definitiv besser. Ansonsten machst Du aus Energie nur viel Wärme. Dann noch anstatt des Transistors ein kleiner Logig-Level-Mosfet und Du kannst die LED über PWM dimmen. Der uC liegt ständig im Low-Power-Mode und wacht nur durch einen Timer (Spannung messen) oder durch einen externen Interrupt (Helligkeit ändern) auf. Michael schrieb: > Läuft auf 8Mhz Um Strom zu spraren würde ich da auch deutlich runter gehen. Spart auch nochmal einiges.
Danke für eure Antworten. Die Schaltung ist gedacht für eine Tauchlampe in einem Druckfesten Gehäuse. Es werden mehrere High-Power LEDs damit geschaltet. Am Schalter selbst kann ich nichts ändern da das Gehäuse nur dicht bleibt wenn ich den Werkseitig eingebauten verwende. Die Gesamte Schaltung muss stromlos sein um z.B. bei Flügen den Beförderungsbedingungen gerecht zu werden. Zum anderen wird das Ding über 10 AA Zellen betrieben (Wahlweise Akkus(12V) oder eben Batterien (15V)). Wenn die Lampe also nicht in Benutzung ist soll sie eben auch keinen Strom verbrauchen ;) @Tim Elko vor dem 7805 würde doch bedeuten dass ich die gesamte Schaltung mit dem Elko versorge. Das ist der "Laufzeit" des Elko vielleicht nicht so dienlich wenn die LEDs mit >1A dran ziehen ;) @Bödefeld Diese Lösung hab ich mir auch schon überlegt. Problem allerdings: Ich kann nicht feststellen wie lange die Schaltzyklen auseinander liegen. Somit würde die Lampe IMMER einen Modus weiter schalten. Auf Dauerlicht würde also zwangsweise SOS-Blinken o.ä. folgen. @Mani Um die 8MHz komme ich mangels "richtigem" programmer nicht herum. Das Ding wird bei mir über einen Arduino als ISP programmiert.
Achso...man könnte auch einen Taster nehmen. Beim ersten Mal drücken bekommt der uC Strom, läuft los und steuert einen Mosfet an, der den Schalter überbrückt und sich somit selbst hält. Der uC läuft also weiter wenn der Taster wieder losgelassen wird. Jeder weitere drücker verursacht einen Wechsel der Helligkeit. Nach dem x-ten Mal drücken macht der Mosfet auf und der uC geht nach Zeit y durch den Brownout in den Reset. [Edit]: zu lange gebraucht...
> Diese Lösung hab ich mir auch schon überlegt. Problem allerdings: Ich > kann nicht feststellen wie lange die Schaltzyklen auseinander liegen. > Somit würde die Lampe IMMER einen Modus weiter schalten. Auf Dauerlicht > würde also zwangsweise SOS-Blinken o.ä. folgen. DAS Problem hast Du aber in Deinem Eingangsbeitrag NICHT erwähnt. Überhaupt ist das gewünschte Timing, Pausenzeiten, etc. vollkommen unklar für jeden Leser hier, bitte reiss Dich jetzt mal etwas zusammen und schildere GENAU was nun eigentlich in welcher Zeit/Pausenfolge mit was für Wartezeiten und Anliegen und Sinn des Ganzen passieren soll. Eines ist aber schonmal sicher: Wenn Du kontinuierlich eine Zeit messen willst, muss der Zähler eben auch kontinuierlich laufen können. Komplettes Abschalten fällt also sowieso aus.
Bödefeld schrieb: > bitte reiss Dich jetzt mal etwas zusammen Ich denke nicht dass ich mich "zusammen reissen" muss. Jedem halbwegs logisch denkenden Leser wird sich auch erschliessen, dass wenn ich einen Schalter z.B. innerhalb von 5 Sekunden 3x betätige, das als "ein Schaltzyklus" betrachtet werden kann. Während wenn ich innerhalb von 30 Minuten den Schalter 3x betätige die Situation schon etwas anders aussieht. Bei deinem Vorschlag würde aber letztendlich beides zu ein und dem selben Zustand führen. Somit nochmals ganz klar für alle anderen ausgedrückt: Unmittelbares hintereinander Ein-/Ausschalten -> Stufe weiter schalten Alles andere -> Wieder bei Stufe 0 beginnen
So, mittlerweile habe ich das Teil auch mal auf dem Rechner gezeichnet. Die beiden Transistoren habe ich durch IRF740er ersetzt. Aus und Eingänge des ATtiny (hier mit Arduino I/O beschriftet) sind zwecks Schaltungssimulation hier als Schalter ausgeführt. Die Idee von Bödefeld die Stufe im EEPROM zu speichern habe ich übernommen. Allerdings messe ich die Zeit t die von der Initialisierung vergangen ist. Ist der uC länger als z.B. 1 Sekunde mit Strom versorgt, so wird die Stufe im EEPROM wieder mit 0 Initialisiert. Somit wird nur eine Stufe weitergeschaltet wenn der Bediener die Lampe nicht länger als eine Sekunde brennen lässt. Passt die Angehängte Schaltung so oder habe ich hier noch etwas maßgebliches vergessen / nicht berücksichtigt? Kann ich die MOSFETs ohne Kühlung betreiben bei ca 1.5 A geschalteter Nutzlast?
Michael schrieb: > Um die 8MHz komme ich mangels "richtigem" programmer nicht herum. Das > Ding wird bei mir über einen Arduino als ISP programmiert. Aber auch wenn du einen Arduino als Programmer nutzt, kannst du doch die Fuses des Ziel-Mikrocontrollers ändern, oder? Du bist dann also nicht aufs Quarz angewiesen und kannst den internen langsamen Oszillator nehmen. Ich glaub, der hat 128 kHz. Wenn du dann noch den Teiler durch 8 aktivierst, sind es 16 kHz, was für deine Schaltung locker reicht. Der Stromverbrauch sinkt dann auf ... weiß nicht mehr. Müssten um die 100 uA sein.
was spricht denn gegen standby? das ganze stromlos zu schalten verlangt doch auch keine airline. und er verbrauch im standby ist doch so minimal dass das ja nu wirklich keine rolle spielt ansonsten goldcap + diode nehmen anstelle von nem normalem elko. und das dann HINTER den 7805. damit kannste dann einige sekunden überbrücken selbst wenn der mit uc 8mhz rennt, obwohl er nur um nen paar led's pwm't..
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.