Universeller Controller mit ATmega8

  • Jo die kann man für die Quarze verwenden. Wenn man aber keine Quarze verwendet, kann man sie als Ein- oder Ausgang verwenden.


    Wenn du in den Source Code schaust. Siehst du auch dass du PB7 mit einer Drahtbrücke auf GND legen musst um das display zu aktivieren.


    So steht es auch in der Pdf von turi.


    -->>also lege PB7 auf Masse um das LCD zu aktivieren. andernfalls wird nichts auf dem display angezeigt.


    Edit:

    Code
    if (! (PINB & (1 << LCDEn)) )
    	{
    		//LCD initialisieren
    		lcd_init();
    		lcd_string("Uni-Controller");
    		set_cursor(0,2);
    		lcd_string("V5.1 (c) turi");
    	}


    Also wenn "LCDEN"= 0 (GND) ist, soll das display initialisiert werden.
    Und weiter oben ist LCDEn defieniert:

    Code
    #define LCDEn PB7
  • Dann ändere doch mal die ersten paar Zeilen.


    z.B. so


    Code
    //EPROM-Speicher
    uint16_t ee_pwm1 EEMEM = 255; //Red
    uint16_t ee_pwm2 EEMEM = 255; //Green
    uint16_t ee_pwm3 EEMEM = 255; //Blue
    uint16_t ee_pwm4 EEMEM = 63; //brightness
    uint16_t ee_pwm5 EEMEM = 127; //sat
    uint16_t ee_pwm6 EEMEM = 10; //hue
    uint8_t ee_pwm7 EEMEM = 7;  //Programm (7="weiß" - abhängig von red/grenn/blue/brightness)
    uint16_t ee_pwm8 EEMEM = 10;  //speed


    Darin kannst du abwechselnd die Werte Red/Green/Blue (0-255) anpassen. (z.B. red=0;green=0;blue=255 danach red=0;green=255;blue=0 etc.)
    Und dann kannst du noch "brightness" (0-63) anpassen, das ist die Helligkeit. Standardmäßig ist die eben auf 50% (~30). Das dürfte vl. dein Problem bzgl. der 50% erklären.


    Vorher war Programm 6 eingestellt mit dem Wert hue=10 und brightness=30. Also rot und 50% helligkeit.



    Korrigiert mich falls ich falsch liege. Ich habe Version 5.2 verwendet.


    Edit: @ turi:
    es wäre ganz nett wenn du die aktuellsten Versionen in deinem ersten Thread verlinken würdest. Ich habe gerade letzte woche auch erst alle Posts durchsucht um die aktuellste Version für das LCD zu finden.

  • Ok. Ich habe vorn die v52 eingestellt. Hatte ich vergessen. Er gibt zwar auch schon eine v60 mit veränderter Bedienung, aber auch geringerer Funktionalität derzeit. Die stelle cih dann erst ein, wenn ich einen sinnvollen Stand habe.


    Wichtig nochmal: wenn keine Potis dran sind, bitte auch PB6 nicht auf Masse legen, da sonst wirre Werte am ADC-Eingang gemssen werden und das Programm darauf reagiert.


    Zur Fehlersuche: Der Tipp mit dem Ändern der Standardwerte ist schon gut. Wenn Du den Controller mit originalem Programm 6 ansteckst, sollte auch das RGB-Fading zu sehen sein. Wenn das nicht der Fall ist, stimmt etwas nicht. Evtl. ist die Diode defekt. Der 7805 dürfte bei 12V gar nicht warm werden, erst bei 24V wird er warm und benötigt einen kleinen Kühlkörper. Aber prinzipell sollten die eingestellten Standardwerte auch im Ergebnis resultieren. Vielleicht könntest Du das nochmal beschreiben.

  • So habe es jetzt hinbekommen war nur eine defekte Diode.
    Aber Leider habe ich noch Probleme mit der bedienung, RGB Fading funktioniert irgendwie nicht es bleiben dauerhaft alle 3 farben an HSB geht komplett garnicht. und gibt es irgenwie die möglichkeit den kontoler so einzustellen das wenn ich gerade lila habe und ich den strom wegnehme das er beim anschalten ohne das ich was auf der FB drücken muss auch wieder mit dieser farbe startet ?

  • Die Einstellungen werden nicht automatisch gespeichert. Das musst Du manuell machen (über die Fernbedienung). Das wäre auch nicht lange realisierbar, da die Schreibzyklen im EEPROM begrenzt sind und das automatische Speichern müsste dann ja gerade im Fading-Programm ständig erfolgen.

  • Ginge theoretisch schon, und zwar so: An die Versorgung des AVR (also direkt dran) nen dicken Elko, der den noch ein paar ms weiter versorgen kann, wenn der Saft weg ist - diesen über Diode von der eigentlichen Versorgung entkoppelt. Die an nen Interrupt-Pin...


    nimmt man nun den Saft weg, gibt's nen Interrupt über den Pin (negative Flanke), der µC springt in ne ISR, in der er alle momentanen Einstellungen abspeichert... das kann er ja, weil er mit dem Elko noch ein bisschen weiter läuft...


    so ähnlich muss das auch bei diesen Taschenlampen-Treibern mit mehreren Modi gemacht sein, die schalten ja auch um, wenn man kurz ausschaltet, irgendwie müssen die das ja merken, dass nur kurz ausgeschaltet wird, auch wenn da in dem Moment kein Strom da ist...


    oder da ist es andersrum: Ein Elko wird geladen, µC startet und fragt den ab, ist noch was drin, kann das letzte Einschalten nicht so lange her sein..


    wie auch immer, zusätzlicher Aufwand...


    beim Fading müsste man ja nicht unbedingt den aktuellen Zusatnd speichern, sondern eben nur, dass das Fading-Programm ausgewählt ist - ebenso wie bei den festen Farben... einmal speichern pro Modus-Wechsel sollte das EEPROM nicht vorzeitig "ausbrennen"....


    bei mir liegt ja noch so ein halbfertiger RGB-Controller rum, der nur mit einem Encoder mit Taste bedient wird... und zwar so:


    Grundsätzlich ist der Drehknopf *immer* erst mal ein Dimmer - kurzer Klick, Farbe einstellen, kurzer Klick, Sättigung einstellen, kurzer Klick, wieder Dimmer...


    da man ja nach ein paar Minuten/Stunden nicht mehr weiß, was man zuletzt eingestellt hat, schaltet der automatisch nach ein paar Sekunden wieder auf Dimmer - und *in dem Moment* wird dann gespeichert... also nur einmal wenn sich was auf Dauer geändert hat


    ebenso beim Moduswechsel, der durch einen langen Knopfdruck ausgelöst wird - lang drücken, kommt Rainbowfader, drehen ist erst mal wieder Dimmer, kurzer Klick Geschwindigkeit... langer Klick das nächste Programm (Disco-Blinker) usw.


    selbst wenn man da 20x am Tag Dimmt oder Programm wechselt, hält das EEPROM dann 14 Jahre... ;)

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

  • Eigentlich wollte ich ja nicht das speichern eines fading programms sondern lediglich das er im RGB oder HSB modus die lezte eingestellte farbe speichert.
    Aber trotzdem habe ich immernoch das Problem das ich weder HSB noch RGB Fading aktivieren kann sondern lediglich das wenn ich auf rgb Fading gehe leuchen nur alle drei farben habe das mal ne halbe stunde laufen lassen hat sich aber nicht geändert


    Aber Pesis ansatz mit dem elko ist super aber wäre es nicht sicherer eine Knopfzelle zu nutzen die den ic versorgt wenn die Netzspannung weg ist damit der IC noch in aller ruhe speichern kann fast so wie bei nen PC damit die Bios einstelleungen erhalten bleiben, leider ist das ein größerer aufwand wegen ladeelktronic.

  • selbst wenn man da 20x am Tag Dimmt oder Programm wechselt, hält das EEPROM dann 14 Jahre... ;)

    könnte knapp werden, der Controller soll ja ein wenig halten :P nein, ich hab immer 10000 Zyklen im Kopf, aber das EEPROM kann ja 100000 Zyklen. Stimmt, da könnte man schon sowas einbauen. Ich würde es eigentlich nach einem Programmwechsel machen wollen. Aber eigentlich sind auch noch andere Einstellungen als Auslöser für das speichern denkbar. Müsste man sich mal Gedanken machen. Das Speichern nach einer gewissen Zeit ist schon eine gute Idee.

  • display habe ich nicht angeschlossen muss erst welche besorgen.
    Die Fernbedienung ist die von turi angegebene Vivanco UR12
    Und mit Quelcode umbasteln da bin ich noch nicht so der profie zumal ich mich mit C kaum auskenne.
    Zum nächste brauch ich sowas wi HSB nicht wichtig ist nur das ich per FB die farben hoch und runter dimmen kann und natürlich das ich die letzte farbe speichern kann und das fading mehr brauch ich eigentlich nicht.

  • Also ich versteh noch nicht so ganz. Ich möchte diesen Universal Contraoller für mein Projekt einsetzte, da ich meine Highpower LEDs über eine Fernbedienung dimmen möchte.
    Aber welche Spannung muss ich denn an das Board anlegen? Und wie schließe ich dann meine LEDs an? An die KSQ und dann diese an einen PWM Kanal des Controllers?

  • Also ich versteh noch nicht so ganz. Ich möchte diesen Universal Contraoller für mein Projekt einsetzte, da ich meine Highpower LEDs über eine Fernbedienung dimmen möchte.
    Aber welche Spannung muss ich denn an das Board anlegen? Und wie schließe ich dann meine LEDs an? An die KSQ und dann diese an einen PWM Kanal des Controllers?


    am dem Controller kannst du so ziemlich alles zwischen ca. 8V bis ungefähr 24V (mit kühlung des 7805) anlegen
    An die KSQ legst du eben auch eine Spannung an und an der Sekundärseite deine LEDs
    Den PWM Pin hängst du eben an die PWM Ausgänge des Controllers