Mini-RGB-Fader Bausatz - Programm-Code

  • Hallo Leute,


    hab noch ein Programm für Benklys Mini-RGB-Fader geschrieben. Da ich mit GCC gearbeitet habe
    ist noch Platz frei für weitere Modi. Bitte mal an testen, Vorschläge sind willkommen.


    S4 Brightness + (hold)
    S5 Brightness - (hold)


    S8 Toggle Mode // noch nicht so gut entprellt


    Mode Auto:
    S6 Speed + (hold)
    S3 Speed - (hold)


    Mode Manual:
    S6 Hue + (hold)
    S3 Hue - (hold)


    Werde noch autosave implementieren und eben noch weitere Funktionen Blitz usw...


    Gruss Vodka

  • Hallo,
    ich habe folgendes Problem bei meinem Probierversuch "Sonnenuntergang" mit dem Controller:


    Ich will mit einer Zeitschaltuhr den Controller einschalten, danach soll in einem gewissen Zeitablauf folgendes passieren
    - nach dem einschalten leuchtet die RGB-Leiste gelb
    - grün wird langsam rausgedimmt, um in ein rot zu kommen
    - rot soll dann langsam runtergedimmt wreden
    - wenn rot nur minimal leuchtet, soll das blaue mit reingedimmt werden
    - rot geht komplett aus, blau leuchtet ca. noch für 2 stunden als Mondlicht nach.


    Den Code hab ich vom Standardprogramm angepasst, nur hab ich einen Fehler im Ablauf. Die grüne LED wird gedimmt und geht aber nicht mit dem vorgegebenen Wert von 50 in die nächste Schleife, sondern grün geht komplett aus und dimmt dann wieder hoch auf 100%. Dann läuft die Schleife wie gewünscht weiter, der Übergang von rot auf blau funktioniert komischerweise ohne dieses komplett runter und raufdimmen...


    Die Variablen hab ich alle angepasst, der LED1 und 2 geb ich den Startwert 255 mit, der LED3 standardmäßig die 0. Ich benutze die Variablen vom "manual mode", da ich den nicht benutze und diese aber schon aus dem eeprom geladen werden.


    Entweder bin ich blind oder mein Gedankengang lässt sich so doch nicht umsetzen.. evtl findet von euch ja jemand den Fehler


    Danke und Gruß
    Michael

  • Ich würde das mit der while-Schleife machen,statt mit if.


    So in etwa,da fehlen eben noch die Wait-Befehle.
    Mit deinem Code kann ich leider nicht viel anfangen,da nichts kommentiert ist.

  • Hallo,


    ich bin neu hier und habe da eine frage.
    Hab den Fader soweit nachgebaut, nur leider funktioniert das ganze nicht.
    Brauche das Aquarium Programm.
    Habe den Text in Bascom eingefügt, kompiliert und die hex und eep datei mit Myavr_progtool geflasht.
    Die Fusebits habe ich auf standart gelassen.


    Könnt ihr mir sagen was ich falsch mache?
    Ich wäre dankbar für jede Hilfe!!!


    MfG

  • Hallo Kollegen,


    habe die Links angepasst. Vor kurzem musste ich ja meinen Server neu aufsetzen und habe da einiges aussortiert. Daher kann es vorkommen das hier manche direkt verlinkte Bilder oder Texte nicht mehr angezeigt werden. BITTE schreibt mir eine PN wenn jemand so nen kaputten Link findet, dann kann ich das anpassen, Danke!


    Gruß, Benny.


    PS.:
    Aso, flackern sollte das ganze natürlich nicht.

  • Ups, sorry.
    War nicht so gemeint. Wollte damit ja nur sagen, dass der Quelltest den du mir geschickt hast funktioniert.
    Das der von Benkly und nicht von dir war ist mir natürlich bewusst.


    Weiss trotzdem jemand, warum die Leds leicht flackern?


    Danke im Vorraus!


    MfG

  • Weiss trotzdem jemand, warum die Leds leicht flackern?

    wissen nicht, da ich den Code nicht kenne von dem geredet wird.
    Daher nur eine Vermutung, da ich das selbe auch mal in C beobachtet hatte.


    Beim Dimmen wird ja normalerweise nichts anderes gemacht, als das OCRnx-Register zu ändern, die die Pulsweite einstellt.
    Wird z.B. im CTC-Modus das OCRnx-Register neu beschrieben, wird aber auch das Zählerregister rückgesetzt.
    Geschieht diese Ausgabe hier nicht synchronisiert kann das Flackern sichtbar werden wenn die Frequenz der LED-Ansteuerung an sich nicht hoch sein sollte.


    Gruß Gerd

  • wissen nicht, da ich den Code nicht kenne von dem geredet wird.
    Daher nur eine Vermutung, da ich das selbe auch mal in C beobachtet hatte.


    Beim Dimmen wird ja normalerweise nichts anderes gemacht, als das OCRnx-Register zu ändern, die die Pulsweite einstellt.
    Wird z.B. im CTC-Modus das OCRnx-Register neu beschrieben, wird aber auch das Zählerregister rückgesetzt.
    Geschieht diese Ausgabe hier nicht synchronisiert kann das Flackern sichtbar werden wenn die Frequenz der LED-Ansteuerung an sich nicht hoch sein sollte.

    Kann sein das dies in C eine Falle sein kann, in Bascom nicht -> es sei denn man würde an den Registern per Hand herumfummeln. Aber wenn er meinen Code benutzt dann dürfte dies nicht der Fall sein, da muss der Fehler wo anders liegen.


    Gruß, Benny.

  • benkly:
    Der Code ist von dir und die Schaltung auch ;)


    Man sieht es nur am Anfang der Dimmfase.
    Anfangs "springen" die Dimmstufen sogar. Sprich es wird nicht linear heller, sondern die helligkeit "springt" die ersten Minuten.
    Und das Flackern ist so ca. 10min. lang "sichtbar".


    Kann das am Netzteil liegen?


    MfG

  • Das ist mir auch mal aufgefallen, da ich meine Fadingzeiten gerne mal auf 3-5 Minuten oder länger für einen kompletten Farbdurchlauf stelle. Für ganz smoothe Übergange auch in den untersten Helligkeitsbereichen müsste wohl was mit höherer "Auflösung" her. Günstige Alternativen, die man auch fertig oder als Bausatz bekommen kann, wären mir da aber noch nicht bekannt - vielleicht kennt ja jemand Alternativen?

  • Hi,


    ok, wenn es langsam ist kann es in den unteren Stufen stufig erscheinen. Aber Flackern sollte es nicht. Könnte dann natürlich schon am Netzteil liegen, kommt auf das Netzteil drauf an. Dieses sollte genug Power haben und vor allem am besten ist ein Schaltnetzteil. Es gibt auch manche Netzteile die eben nicht so gut mit einer PWM-artigen Belastung zurecht kommen.
    Was für ein Netzteil hast denn?


    Gruß, Benny.


    zongo


    Ja wäre denn ein größeres Interesse an einem 10-Bit PWM Controller vorhanden? Ich entwickle da gerade eh einen für einen anderen Kunden. Da könnte man dann ja auch die Hardware ein bissel allgemeintauglicher gestalten und dies dann wieder als Bausatz anbieten. Aber nur wenn Interesse besteht.


    Gruß, Benny.

  • Also ich hätte auf jeden Fall Interesse, würde halt in gewissem Maß auch wieder vom Preis abhängen. Was auch noch ne Idee wäre: könnte man die Software so auslegen, dass man bspw. einen Teil der Taster, wie man sie am Mini-Fader hat, durch Drehencoder ersetzt? Pollin hat da nämlich günstig welche von Panasonic, kosten so um die 75 Cent und fühlen sich zu dem Preis sehr wertig an.
    Das wäre gerade für das Einstellen der Fadinggeschwindigkeit oder zum Abmischen einer statischen Farbe ne feine Sache, dann bräuchte man vielleicht auch nicht mehr unbedingt zwei verschiedene Schrittgrößen - nur so ne Idee.


    Sobald du einen konkreten Plan bzgl. der Funktionen und einen groben Preisrahmen hast, könnte man ja mal nen Umfragethread dazu starten.

  • Hi,


    also möglich wäre es schon so einen Controller zu erstellen. Es gibt da einen ATMEGA der anscheinend 4 Hardware 10-bit PWM Ausgänge hat. Das muss ich mal noch testen und dann könnte man auf Basis von diesem einen Controller erstellen. Dieser hat dann auch genügend IOs da es den nur in 40er DIP gibt.


    Von Encodern bin ich allerdings gar nicht überzeugt. Laut mehreren anderen Stellen in Foren machen die ab und zu Timing Probleme oder reagieren nicht so zuverlässig, und für 75 Cent bekomme ich viele Taster.
    ABER, ich bin auch keine Freund mehr von einem Blind zu bedienenden Controller und würde daher gerne in Zukunft bei allen Controllern ein Display hinzufügen. Preislich geht das und man kann dann halt wesentlich einfacher Werte einstellen. Ich wollte das dann so lösen das man quasi auch mehrere Controllerbausätze haben kann, aber nur ein Display. Das könnte man dann, wenn mans mal braucht, auf den Controller stecken -> alles einstellen und dann wieder abstecken.


    Nen ATTINY2313 werde ich auch nicht mehr verwenden. Ein ATMEGA48 z.B. kostet nur unwesentlich mehr aber kann dafür um einiges mehr. Daher sollte ein Displayport auch immer drin sein. Und die ATMEGAx8 Serie geht bis zum ATMEGA328 der 32kb Flash hat, da lässt sich dann sogar einiges reinproggen.
    Aktuell habe ich sogar schon einen Prototypen fertig, zumindest was die Hardware angeht. Allerdings werde ich da die Hardware noch etwas abändern und dann, wenn ich mal dazu Zeit haben werde, diesen neu programmieren und wieder als Bausatz zur verfügung stellen.


    Gruß, Benny.