Licht simulation mit 3 Led Strips

Fragen zu Schaltungen, Elektronik, Elektrik usw.

Moderator: T.Hoffmann

AlexK2508
Mega-User
Mega-User
Beiträge: 100
Registriert: Do, 26.11.09, 22:17
Wohnort: Thüringen

So, 11.03.12, 00:36

Nachdem ich mich mit meinem letzten Projekt ein wenig übernommen habe wollte ich nach 2 Jahren Pause mal etwas neues Anfangen.

Mein Wunsch wäre mit den 3 Led Strips die ich hier liegen habe einen Sonnenauf und untergang sowie ein Mondlicht zu simulieren.Das ganze Zeitgesteuert wobei es mir hier nicht auf die Sekunde ankommt.

Nur wo fang ich an hat eventuell jemand so etwas schon geplant und hätte nen schaltplan für mich ?

Mfg Alex
Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

Mo, 12.03.12, 13:39

Selbst bauen oder fertig kaufen?
Weil Schaltplan allein reicht nicht. Das geht (sinnvoll) nur mit µC. Wenn es nicht soo genau sein muss und Du auf Display und 'Zeiteinstelltasten' verzichten kannst, reicht aber schon ein kleiner ATTiny45 + Quarz dafür aus.
Ich habe testweise mal einen Tiny25 knapp 2 Monate laufen lassen. Nach zweimaliger Kalibrierung war die Zeitabweichung von meiner Funkuhr weniger als 2 Sekunden...
AlexK2508
Mega-User
Mega-User
Beiträge: 100
Registriert: Do, 26.11.09, 22:17
Wohnort: Thüringen

Mo, 12.03.12, 20:16

Naja denke mal zur Steigerung des lerneffektes würde ich das selbst bauen wählen , wenn mir natürlich was günstiges über den weg läuft warum nicht .

Für den Einstieg sollte ich wohl erstmal Taster und Display weg lassen da das ja dann wieder die Programierung einer Bedienoberfläche erfordet .

Dieses mal fang ich lieber klein an und zur Not bau ich halt 3 Revisionen.Habe ja noch den ATmega328P-20pu vom letzten mal hier ist zwar mehr als überdimensioniert aber warum nicht nehmen was man da hat :roll:

Wäre es auch möglich anstelle der drei einzelnen Strips(gelb,rot,blau) einfach 1 oder 2 RGB Strips zu verwenden ? Oder wird das dann vom Programieren zu heftig da man ja gelb auch erst "erzeugen" müsste um es dann zu dimmen ?
Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

Di, 13.03.12, 09:19

Wäre es auch möglich anstelle der drei einzelnen Strips(gelb,rot,blau) einfach 1 oder 2 RGB Strips zu verwenden
Klar. Das ist kein Problem. Allerdings sind die RGB meist weniger effizient. ATmega328P-20pu geht natürlich auch. Hast Du einen Quarz dafür? Respektive was hast Du denn noch alles?
AlexK2508
Mega-User
Mega-User
Beiträge: 100
Registriert: Do, 26.11.09, 22:17
Wohnort: Thüringen

Di, 13.03.12, 12:16

Tja was habe ich noch , den Prozessor, glaube zwei verschidene rtc s(leider SMD aber das geht auch ) , mehrere Lochraster platten, jede menge Widerstände, die Mosfets (irgendwas mit irz34 ) und alles was fehlt bekomm ich schnell über meine Frau .Also was das material betrifft bin ich relativ ungebunden außer es werden ganz krumme Werte .

Werde es diesmal aber erst auf nem Testboard stecken bevor ich löte.Dann kann ich auch relativ einfach erweitern wenn es dann laufen sollte .

Was die Stripes betrifft bleibe ich dann wohl lieber bei den einzel Farben es soll ja zumindestens bei Gelb und Rot ein entsprechender effekt sichtbar sein .
Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

Di, 13.03.12, 13:02

Ok. Damit man ohne Uhr auskommt (also den µC als Uhr verwenden kann) ist ein Quarz (egal ob 4,8,16 oder 20 Mhz) + 2 Stützkondensatoren (ca. 22pF) erforderlich. Ansonsten solltest Du eigentlich alles erforderliche haben. Netzteil für LEDs und µC (bzw. 5V Regler dafür) setze ich mal voraus...
AlexK2508
Mega-User
Mega-User
Beiträge: 100
Registriert: Do, 26.11.09, 22:17
Wohnort: Thüringen

Di, 13.03.12, 13:35

Ok also müsste das im groben so aussehen , X1-1 ist +5V, X1-2 und X1-3 ist GND, und X1-4 sind +12V.

Vor die Led Strips habe ich jetzt keine Widerstände gemacht da die die ja schon an Board haben .

Auch wenn es egal ist welcher Quarz wäre denn besser 4 oder 20 mhz ? Und warum wird nicht der interne genutzt oder ist der auf dauer zu Ungenau ?
Dateianhänge
test.PNG
Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

Di, 13.03.12, 13:52

Ja, genau! Der ATmega328 hat ja 6 PWM Ausgänge. Welche 3 Du davon verwendest ist eigentlich egal. Damit das Programm aber auch mit einem alten Mega8 kompatibel bleibt, würde ich allerdings vorschlagen nimm Pin15/16/17 (OC1A/OC1B/OC2A).
Auch wenn es egal ist welcher Quarz wäre denn besser 4 oder 20 mhz ? Und warum wird nicht der interne genutzt oder ist der auf dauer zu Ungenau ?
Intern ist zu ungenau (ist ja kein Quarz sondern nur ein Kondensator). Jede Temperaturschwankung um ein paar Grad macht bei dem internen schon ein paar Prozent aus, beim Quarz nur PPM (!!!). Ob 4 oder 20 Mhz ist hier eigentlich wirklich egal. Je höher der Takt, desto mehr Stromverbrauch, aber desto mehr (Berechnungen) kann der Chip pro Sekunde machen. Nur bisher hat der ja quasi nichts zu tun... Also sagen wir mal: Im Sinne der Kompatibilität mit einem Mega8: Nimm einen 4 oder 8 oder 16Mhz Quarz.
AlexK2508
Mega-User
Mega-User
Beiträge: 100
Registriert: Do, 26.11.09, 22:17
Wohnort: Thüringen

Di, 13.03.12, 14:11

Ok also kommt ein 16mhz auf die liste , mal schauen ob ich heute abend schon alles beisammen habe dann könnte ich ja schonmal stecken .

Heist also was dann noch fehlt wäre schon das Programm ? Na das ging ja schnell .
Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

Di, 13.03.12, 14:36

Programm habe ich quasi fertig auf meiner Festplatte (zu Hause). Bin aber grade auf Dienstreise und kann es Dir daher erst übermorgen geben.
AlexK2508
Mega-User
Mega-User
Beiträge: 100
Registriert: Do, 26.11.09, 22:17
Wohnort: Thüringen

Di, 13.03.12, 14:49

Na das ist kein Problem , habe jetzt 2 Jahre nix mehr gemacht da machen 2 Tage keinen Unterschied :roll:

Bis dahin habe ich dann den Quarz auch sicher zuhause und alles passend zusammen gesteckt .
Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

Di, 13.03.12, 15:03

Ok. Noch was... Du brauchst noch an irgendeinem Port ein 'Anzeige-Led'. Nimm einfach Pin 14 (PB0). Da kommt dann ein Widerstand dran (ca. 330Ohm) und ein 5mm LED (LED-Minus dann an Masse).
Der 'Trick' bei diesem Verfahren ist folgender:
Du schaltest um eine bestimmte Zeit an (z.B. Gongschlag der Tagesschau :) ). Die Schaltung schaltet dann kurz (0.5 Sek) das Anzeige-Led an. Am nächsten Tag schaust Du um genau die gleiche Zeit, wann das Anzeige-Led wieder kurz blitzt und notierst Dir die Differenz zur 'echten' Zeit (am besten mit einer Funkuhr oder hinreichend genauer Quarzuhr vergleichen). Diese Differenz wird dann im Programm als Korrekturfaktor eingetragen. Danach das gleiche noch mal, aber diesmal erst nach einer Woche oder 10 Tagen den Zeitunterschied bestimmen. Dann wieder Korrekturfaktor bestimmen und im Programm eintragen. Danach (nach dieser zweiten Korrektur) hatte ich bei meinem Test nach knapp 2 Monaten eine Zeitdifferenz von weniger als 2 Sekunden...
AlexK2508
Mega-User
Mega-User
Beiträge: 100
Registriert: Do, 26.11.09, 22:17
Wohnort: Thüringen

Di, 13.03.12, 15:28

Das klingt gut , so werde ich es machen die Led und den Widerstand habe ich sicher auch noch irgendwo daheim rumfliegen .

2 sec in 2 Monaten da sind ja die Zeitschaltuhren am Aqua ungenauer :lol:

Wie und wo das eingetragen wird kannst du mir ja dann am Programm nochmal zeigen damit ich auch verstehe was da Abläuft und ich die Dimmverläufe auch selbst anpassen kann wenn ich lust drauf habe.
Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

Di, 13.03.12, 16:17

2 sec in 2 Monaten da sind ja die Zeitschaltuhren am Aqua ungenauer
Klar. Sind die auch. Weil da macht sich ja keiner die Mühe, die 'Quarzungenauigkeit' nachzukalibrieren.
Die Temperaturdrift bei einem Standard-Quarz liegt bei etwa 3ppm wenn es sich um 'Zimmertemperatur' (15°-35°) handelt. Das entspricht etwa 0,6 Sekunden pro Woche. Der 'Fertigungsfehler' liegt dagegen bei 30-50ppm. Ist also gut 10 mal so groß, kann aber wie beschrieben nachkalibriert werden.
AlexK2508
Mega-User
Mega-User
Beiträge: 100
Registriert: Do, 26.11.09, 22:17
Wohnort: Thüringen

Mi, 14.03.12, 12:07

Ok das klingt einleuchtend , anbei der neue Plan so steckt es momentan schon auf dem Steckbrett nur der Quarz fehlt leider noch .

Wenn meine Theorie stimmt funktioniert dein Programm abhängig von der Start zeit oder ? Damit meine ich das zb der erste Dimmvorgang 1 Stunde nach Start beginnt , sei es nun 17 oder 21 uhr .
Dateianhänge
test.PNG
Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

Mi, 14.03.12, 13:26

Damit meine ich das zb der erste Dimmvorgang 1 Stunde nach Start beginnt , sei es nun 17 oder 21 uhr .
Genau so ist es. Problematisch ist dabei eigentlich nur ein Stromausfall. Aber die sind ja doch recht selten. Zur Not könnte man auch noch eine Backup-Akku/Batterie Lösung dazu bauen, aber das halte ich fast für übertrieben. Wir haben durchschnittlich etwa 1-2 Stromausfälle pro Jahr. Es kann aber in anderen Gegenden durchaus mehr sein.
AlexK2508
Mega-User
Mega-User
Beiträge: 100
Registriert: Do, 26.11.09, 22:17
Wohnort: Thüringen

Mi, 14.03.12, 14:48

Da ja mit der Schaltung vorerst nix gemacht werden soll außer das Dimmen halte ich es auch für unkritisch .

Falls mich die Motivation dann doch wieder Packt und ich es Schritt für Schritt erweitern sollte kann man sicher auch über eine Pufferbatterie nachdenken aber soweit bin ich noch nicht :roll:
Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

Do, 15.03.12, 13:52

Na dann probier mal...

Der code ist vom ATTiny25-Test portiert (da hab ich aber andere Timer und einen anderer Takt verwendet) und ist so noch nicht getestet. Sollte zwar so funktionieren, 100% versprechen kann ich es aber nicht. Als Chip steht ein Standard-Mega8 in der Datei. Diese Zeile muss also an den speziell verwendeten Mega8 kompatiblen Chip angepasst werden. Bei Dir müsste es:

Code: Alles auswählen

$regfile = "m328pdef.dat"
sein.

Ich habe den Code (hoffentlich) ausreichend kommentiert, falls noch Fragen dazu sind, einfach hier posten...

Momentan wird einfach nur ein Kanal (blau) hochgedimmt, bleibt dann einige Zeit an und wird wieder runtergedimmt. Das Gleiche dann noch mal mit Rot. Kann man natürlich auch 'gleichmässig' oder 'gegengleich' oder wie auch immer machen. Um ggf. eine ganz bestimmte Lichtfarbe zu einer bestimmten Zeit zu haben, müsste man das erst mal ausprobieren (wie viel % von welcher LED-Farbe soll zu welcher Zeit an sein) und in eine 'Lookup' Tabelle verpacken.
Dateianhänge
Mega8_Uhr_LED_Fader2.zip
(3.03 KiB) 214-mal heruntergeladen
AlexK2508
Mega-User
Mega-User
Beiträge: 100
Registriert: Do, 26.11.09, 22:17
Wohnort: Thüringen

Di, 03.04.12, 09:35

Alos die Schaltung steht ja nun schon ne weile ,momentan Ärgert mich das programmieren noch ein wenig (kommt davon wenn man alles 2 Jahre einstauben lässt)
Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

Di, 03.04.12, 09:51

Wo klemmt's? :)
AlexK2508
Mega-User
Mega-User
Beiträge: 100
Registriert: Do, 26.11.09, 22:17
Wohnort: Thüringen

Mi, 04.04.12, 10:46

Sagen wir mal vorsichtig an allem :?

der rechner mit dem ich damals alles gemacht habe ist inzwischen verschrottet worden , somit ist/war natürlich sämtliche Software + Einstellungen weg .
Dazu kommt das ich gestern in meinem Selbstbau Programmier Adapter ne Kabelbruch gefunden habe ... mal schauen ob ich heute abend nen Schritt weiter komme .
Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

Mi, 04.04.12, 10:50

Ok. Aber Du hast einen Rechner mit einer 'echten' seriellen Schnittstelle? Weil mit USB-Seriell Adaptern klappt es i.d.R. nicht. Dann lieber gleich in einen USB Programmier Adapter investieren...
AlexK2508
Mega-User
Mega-User
Beiträge: 100
Registriert: Do, 26.11.09, 22:17
Wohnort: Thüringen

Mi, 04.04.12, 11:15

Ja echte seriele Schnittstellen also com ports sind vorhanden .

denke mal das ich es über Ostern spätestens zum Laufen bringe , ging ja mal also sollte ich es auch nochmal schaffen :lol:
Strumboe
Ultra-User
Ultra-User
Beiträge: 622
Registriert: Mi, 25.08.10, 11:19
Wohnort: Quickborn

Mi, 04.04.12, 11:15

Zumindest das STK500 läuft mit dem deLock USB nach Seriell Konverter ohne Probleme. Zumindest bei mir. Habe diese Kombi bei mir im Einsatz.

Gruß
Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

Mi, 04.04.12, 14:40

Ja das STK500 schon. Da ist ja auch ein eigener Chip drauf der sich um das ISP Protokoll kümmert und die RS232 Verbindung wird wirklich als serielle Verbindung genutzt. Wir reden hier aber von Simple-Selbstbau-Proggern (Ponyprog kompatibel) und da wird der serielle Port 'zweckentfremdet': Hier werden die Steuerleitungen RTS, CTS, DTR... verwendet und direkt gesetzt/geprüft um das ISP Protokoll abzubilden. Dafür sind die USB-Seriell-Konverter aber nicht gebaut. Da werden die Steuerleitungen meist nur mit geringer Frequenz geprüft/gesetzt (das reicht bei einer üblichen RS32 Verbindung ja auch) und schon gar nicht synchron zur TxD Leitung.
Antworten