Forum: Mikrocontroller und Digitale Elektronik ATTiny45 für einige Sekunden über Elko betreiben?


von Michael (Gast)


Angehängte Dateien:

Lesenswert?

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?

von Bödefeld (Gast)


Lesenswert?

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.

von Tim (Gast)


Lesenswert?

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?

von spontan (Gast)


Lesenswert?

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.

von Ingo (Gast)


Lesenswert?

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

von Ingo (Gast)


Lesenswert?

spontan schrieb:
> Transistor und Diode sind ganz falsch gepolt.

Michael schrieb:
> Ein vereinfachtes (KSQ usw. weggelassen) Schaltbild befindet sich im
> Anhang.

von N. M. (mani)


Lesenswert?

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.

von Michael (Gast)


Lesenswert?

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.

von N. M. (mani)


Lesenswert?

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...

von Bödefeld (Gast)


Lesenswert?

> 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.

von Michael (Gast)


Lesenswert?

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

von Michael (Gast)


Angehängte Dateien:

Lesenswert?

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?

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

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.

von nix k. (nixkoenner)


Lesenswert?

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
Noch kein Account? Hier anmelden.