Forum: Mikrocontroller und Digitale Elektronik An- Ausschalter mit Mehrfachfunktion


von Chricky (Gast)


Lesenswert?

Hallo zusammen,
ich möchte eine zwiteilige Lampe über einen Schalter bedienen können, 
ohne große bauliche Verränderungen durchzuführen.

Ich habe eine Lampe mit 5 Spots und einem "Sternenhimmel" (100 LED's). 
Einen Deckenauslaß 220 V und die üblichen 3 Adern. Außerdem gibt es den 
nötigen An- Ausschalter dazu.

Mein Vorhaben:
1) Schalter an -> Spots an; "Sternenhimmel" bleibt aus.
2) Schalter aus, Schalter an -> "Sternenhimmel" an Spots bleiben aus.
3) Schalter aus, Schalter an -> "Sternenhimmel" an Spots an.
Beim nächsten Schaltvorgang wieder 1).

Soweit kein Problem, das bekomme ich noch hin!

Mein Problem:
Eigentlich soll immer nur 1) eintreten - nach z.B. 10 Sekunden Schalter 
aus soll beim nächsten Einschalten auch wieder 1) kommen. Da der AVR 
aber zu diesem Zeitpunkt stromlos ist, kann ich den Timmer nicht dazu 
befragen.

Jemand eine Idee?


Gruß Chricky

von Skua (Gast)


Lesenswert?

Kondensator Laden und geladen halten
wenn aus langsame Entladung
beim Einschalten Spannung messen.

von Chricky (Gast)


Lesenswert?

Hallo Skua,
wie mach man soetwas?

von Peter D. (peda)


Lesenswert?

Chricky schrieb:
> Da der AVR
> aber zu diesem Zeitpunkt stromlos ist

Warum ist der dann stromlos?
Ein AVR im Powerdown braucht <1µA, ein kleiner Elko reicht dann dicke 
für 10s Strom.


Peter

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Arbeite mit einer Fernbedienung statt mit Klappern am Netzschalter.

Der Schalter gibt Saft auf den AVR (als 5V DC) und die Beleuchtung.
Der AVR steuert die Beleuchtung Spot und/oder Sterne (oder AUS!).
Du steuerst mit der Fernbedienung den AVR.

Feinheiten:

Der AVR kann sich den letzten Zustand im EEPROM merken, für den Fall, 
dass der beim nächsten Einschalten wieder verfügbar sein soll.

Der AVR kann sich in der Hauptzeit schlafen legen und kann durch einen 
Impuls der Fernbedienung wecken lassen.

Die Fernbedienung kann sein:

Eine käufliche IR-Universalfernbedienung. Ein RC5 Dekoder für AVRs gibt 
es als Beispiel in der Codesammlung. Kosten und Zeit überschaubar.

Eine einfache modulierte IR-Diode mit einen kleineren AVR plus Batterie 
als eigener, selbstgebauter IR-Dongle. Etwas geringere Kosten, dafür 
mehr Zeitbedarf, weil der Sender auch programmiert werden muss 
(Codesammlung).

Funk-FB. Die sind als Selbstbau in der Programmierung anspruchsvoller.

Vorteile der FB-Lösung

Die FB kannst du mit auf die Couch nehmen und von dort aus bedienen.

Mehrere Personen können eine FB haben. Besonders bei dem selbstgebauten 
IR-Dongle kann man die strategisch verteilen (nahe Schalter eine, am 
Tisch eine...)

von Chricky (Gast)


Lesenswert?

Danke Stefan B.,
aber das wird füre meine Frau, die mal eben das Badlicht einschalten 
möchte und die Fernbedienung nicht findet, nicht akzeptabel sein...

Es sollte schon beim Wandschalter bleiben (Frauen sind eben keine Männer 
:-))!

von ulli (Gast)


Lesenswert?

Hallo Chricky:
Vorschlag Fernbedienug:
Ich habe das in meiner ganzen Wohnung so gelöst.
Und damit meine Frau nicht die FB suchen muss, ist diese hinter dem 
Lichtschalter eingebaut.
Nach aussen hin sind es ganz normale Lichtschalter.
Intern jedoch kann ich (abhängig von der Programmierung) mit jedem 
Lichtschalter jede Lampe in der Wohnung schalten.
Universeller geht es nicht.
Und wenn Du schon Deiner Frau helfen möchtest: Mach bloss nichts mit 
"Morsecode"

MfG
Ulli

von Ulrich P. (uprinz)


Lesenswert?

Hi!

Die Lösung ohne Fernbedienung ist vom WAF (Womans Acceptance Factor) 
sicherlich die einzige. Aber auch als Mann habe ich keine Lust immer 
nach der FB zu suchen, die könnte in einem Bad ja an duzenden Stellen 
verschiwnden oder eben einfach in die Wanne fallen.

Also überlege Dir die Lösung mit dem Kondensator. Du benötigst für die 
Steuerung selbst nur einen sehr kleinen und sehr langsam getakteten 
Controller. Also etwa einen ATtiny. Diesen kannst Du problemlos mit der 
internen Clock takten, brauchst also keinen externen Quarz.

Die Stromversorgung des Controllers wird direkt über das Netzteil 
erzeugt. Ein Kondensator wird ebenfalls von diesem Netzteil aufgeladen. 
Dieser Kondensator hängt über einem Spannungsteiler aus zwei 
Widerständen an einem Eingang des Controllers.

Beim Abschalten der Versorgung entlädt sich der Kondensator über den 
Widerstand, der nach Masse geschaltet ist. Der Controller kann nun beim 
erneuten Einschalten feststellen, ob er nur kurz oder eben länger 
ausgeschaltet war, in dem er prüft, ob der Kondensator noch geladen ist 
oder eben nicht.

Hier hast Du zwei Möglichkeiten:
1) Du nimmst einen ADC Eingang und misst/mittelst die 
Kondensator-Spannung um festzustellen, ob die Restspannung Deinen 10s 
entspricht. Derzeugt etwas mehr Programmieraufwand, aber man kann die 
Schaltung recht einfach auf die erforderliche Zeit einstellen.
2) Du nimmst einen Digitaleingang, der Controller schaut nur nach, ob 
der Eingang High oder bereits Low ist. Das ist vom Programmieren her 
einfacher, aber um die richtige Zeit auszutüfteln musst Du ein wenig 
mehr Rechnen oder verschiedene Widerstands/Kondensator Optionen 
durchprobieren, bis es passt.
Du Hast also mehr Lötarbeit.

Der Vorteil dieses Verfahrens ist folgender:
Nimmst Du den Kondensator als Versorgung für den Controller selbst, 
musst Du Dir von Deinem Netzteil eine weitere Leitung an den Controller 
legen, damit dieser feststellen kann, ob er nun die 10s abzählen muss. 
Dafür muss der Kondensator aber die CPU speisen, die weiterhin mit 
voller Leistung weiter läuft, wenn Du da nicht extra noch ein 
Powermanagement einbauen willst. Der Kondensator muss also groß sein, 
was auf einen ELKO hinausläuft. Diese altern aber schnell und damit wird 
Deine Schaltung in ein paar wenigen Jahren anfangen Zicken zu machen.
Außerdem kann es passieren, dass dir wegen des flachen Spannungsabfalls 
des Kondensators und damit der CPU Versorgung diverse Resets dazwischen 
kommen. Und zusätzlich bekommst Du Probleme, wenn Du nicht mehr oder 
weniger sofort die Netzteilabschaltung erkennst, denn dann hat Dein 10s 
immer leicht versetzt Werte, also eine Toleranz.

Mein Vorschlag hingegen kommt mit einem recht kleinen Kondensator aus, 
wenn man die Widerstände hoch genug wählt. Während der Aus-Zeit wird nur 
der Kondensator konstant entladen, da eben nur dieses RC Glied aktiv 
ist. Die Zeit läuft also unabhängig vom Rest der Schaltung.
Bei dieser Schaltung gibt es aber noch etwas zu beachten:
An einem Port-Pin einer CPU sollte keine höhere Spannung anliegen als 
die Versorgungsspannung. Sonst können die im Chip vorhandenen 
Schutzdioden durchbrennen. Also sieht die Schaltung eher so aus:
Widerstand R1 von Netzteil an Kondensator C1, Widerstand R2 parallel zu 
C1 nach Masse, Widerstand R3 von Mittelpunkt R1/C1/R2 an den Controller.
R3 schützt die CPU und verhindert einen zu großen Leckstrom, wenn der 
Kondensator versucht die Spannungslose CPU durch ihren Port pin hindurch 
zu versorgen.
Das Zeitglied ist also C1/R2 wobei es zu einem konstanten Leckstrom über 
R3/CPU kommen kann, den man mit einrechnen muss.

Gruß, Ulrich

Ps: Ich verstehe die Leute nicht, die mit sinnfreien Kommentaren 
erreichen wollen, dass der Elektronik Nachwuchs ( unabhängig vom Alter 
und erlerntem Beruf) verschreckt wird. Haben die alle ganz alleine ihre 
erste Controller-Schaltung in Betrieb genommen? Hat jedes ihrer Projekte 
auf Anhieb funktioniert und das nötige Wissen kam über Nacht? Wenn Ihr 
sinnfreies Zeug posten wollt, geht nach Facebook und WKW, diese 
Plattformen sind dafür geschaffen worden!

von Hauspapa (Gast)


Lesenswert?

Wenn man nur will lässt sich sogar leicht "old school" lösen. Das TTL 
Grab bleibt dabei noch ziemlich klein.

nix gegen Controller schon garnicht im uC Forum...

von Chricky (Gast)


Lesenswert?

Hallo Ulrich,
das war mal eine brauchbare Aussage. Genau das brauche ich. Gute Idee!

Recht vielen Dank.
Gruß Chricky

von Chricky (Gast)


Angehängte Dateien:

Lesenswert?

So, es ist geschafft! Das Modul funktioniert. Vielen Dank noch 'mal an 
alle, die ernsthaft helfen wollten.
Wenn's jemand brauchen kann, der Schaltplan ist im Anhang.

Gruß Chricky

von Chricky (Gast)


Angehängte Dateien:

Lesenswert?

...ach ja, die Assembler-Datei...

von Chricky (Gast)


Lesenswert?

Hallo nochmal,
nun hab' ich doch noch ein kleines Problem:

Ich habe mein Modul an den vorhandenen LED-Transformator 
(Typebezeichnung: SLT15-12VF-1) angeschlossen. Der hat eine 
"Nachlaufzeit" von ca. 1 Sekunde. Das heißt: Zwischen Schalter aus und 
wieder an puffert dieser meine Schaltung und nichts passiert (wenn man 
langsam schaltet geht's natürlich). Das ist nicht wirklich dramatisch, 
aber auch nicht perfekt.

Gibt es hier eine einfache Möglichkeit der Abhilfe, oder sollte ich 
besser eine separate Stromversorgung wählen...

Gruß
Christian

von Sonja (Gast)


Lesenswert?

Ein kleiner Widerstand zwischen Plus und Minus des Transformators sollte 
Abhilfe schaffen...

von DRJ (Gast)


Lesenswert?

Auch wenn die Idee zu spät kommt.
Den Lichtschalter durch einen Taster ersetzen, der öffnet.
Der Controller hat immer Spannung, es muss nur die Zeit des
Tastendrucks überbrückt werden. Dann kann man z.B.
1x drücken Spots gehen An/Aus
2x drücken Sternenhimmel geht An/Aus

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.