DIY-RGB-Controller mit IR-Fernbedienung und DMX - modular erweiterbar

  • Das ist natürlich nicht egal, wie die Fuses stehen. In der Datei Definitions.inc sieht man die Taktfrequenz, die mit 16MHz eingestellt ist. Ansonsten stimmt die Zeitbasis nicht und es funktioniert auch nicht. Die anderen Fuse-Bits sollten nicht relevant sein. Hab jetzt gar nicht geschaut, ob ein Quarz verbaut ist, aber ich denke schon.

  • Hallo, danke erst einmal für die Hilfe.
    Ja es ist ein 16Mhz Quarz verbaut.
    Der Tiny folgende Einstellungsmöglichkeiten für die Fuses.


    - Fuse bits
    [ ] (SELFPRGEN=0) Self programming enable
    [ ] (DWEN=0) Debug wire enable
    [ ] (EESAVE=0) Preserve EEPROM memory through the chip erase
    [x] (SPIEN=0) Serial program downloading enabled
    [ ] (WDTON=0) Watch-dog timer always on
    [ ] (RSTDISBL=0) External reset disable
    [x] (CKDIV8=0) Divide clock by 8
    [ ] (CKOUT=0) Clock output
    - Brown-out
    (BODLEVEL=111) Set brown-out detect to disabled
    - Clock option and start-up time
    (CKSEL=0100, SUT=10) Int. RC osc. 8 MHz, start-up time: 14 CK + 65 ms
    Hier gibt es ober 8 verschiedene Einstellungen für den Externen Oszillator. / Die Standard Einstellungen habe ich rot markiert.


    Lampi :)

  • Ja, sorry, habe den Thread etwas vernachlässigt, i.M. wieder mal leider keine Zeit zu gar nix.


    das kommt dann oben noch bei der Beschreibung dazu, die Fuses für externen Quarz, und die CKDIV8 muss weg, sonst wird der Takt ja noch mal durch 8 geteilt...


    Lötmeister hat schon nen Schaltplan und Layout gemacht, mir sogar Platinen und Bauteile geschickt (ganz vielen lieben Dank noch mal dafür!) - ich muss das aber erst komplett zusammen bauen und testen, dann kommt's oben in den Beitrag zur HW rein...


    hier schon mal zur "Voransicht":




    Display und Encoder sind auf einer eigenen Platine, die man an die Frontplatte schrauben kann, und das Ganze mit Flachbandkabel verbinden - dabei ist ein 20-poliger Stecker vorgesehen, man kann jedoch auch nen 16-poligen einlöten nur für das Display, den Encoder noch mal extra anschließen, und so das Ganze ohne Platine verkabeln, so wie hier...


    hier mal Bilder von der Displayplatine:






    es steht *natürlich* jedem frei, auch noch ein eigenes Layout zu machen - Das von Lötmeister ist praktisch die "Luxusversion" (da kommt dann auch ein Tiny4313 drauf), von mir kommt dann mal noch ein ganz kleines, ohne Display und DMX, dafür mit nem Tiny45 sehr kompakt


    so ne Zwischengröße wäre noch cool, also ohne Display und Encoder, aber mit DMX und nicht zu groß, das wäre dann ne nette, selbst konfigurierbare Alternative zu diesen 5-Euro-China-Controllern... also wenn Du Lust hättest, das zu machen....? :)

    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!

  • Hi,
    Das hört sich doch schon alles ganz gut an.
    Ich habe auch schon ein Layout und ein Schematic in Eagle fertig gemacht.
    Habe alles auf SMD Bausteine ausgelegt.
    Auch mit externer LCD Platine mit Encoder.
    Habe nur noch Probleme mit dem einstellen das Oszillators bei meinem Programmiergerät.
    Hier werden 8 verschiedene Möglichkeiten angezeigt den Oszillator größer 8Mhz einzustellen.
    (CKSEL=1110, SUT=00) Ext. crystal osc. >8 MHz, start-up time: 258 CK + 4.1 ms
    (CKSEL=1110, SUT=01) Ext. crystal osc. >8 MHz, start-up time: 258 CK + 65 ms
    (CKSEL=1110, SUT=10) Ext. crystal osc. >8 MHz, start-up time: 1K CK
    (CKSEL=1110, SUT=11) Ext. crystal osc. >8 MHz, start-up time: 1K CK + 4.1 ms
    (CKSEL=1111, SUT=00) Ext. crystal osc. >8 MHz, start-up time: 1K CK + 65 ms
    (CKSEL=1111, SUT=01) Ext. crystal osc. >8 MHz, start-up time: 16K CK
    (CKSEL=1111, SUT=10) Ext. crystal osc. >8 MHz, start-up time: 16K CK + 4.1 ms
    (CKSEL=1111, SUT=11) Ext. crystal osc. >8 MHz, start-up time: 16K CK + 65 ms
    Vielleicht doch noch mal ne kleine Hilfestellung :D
    Kann auch die fertigen Layoutdaten hier bereitstellen. :D

  • ja, gerne - am Besten auch als PDF, damit's auch die ausdrucken können, die kein Eagle haben...


    die Einstellungen unterscheiden sich nur durch die Startup-Time - also wie lange der µC wartet, bis er das Programm startet - je schlechter die Stromversorgung, umso länger sollte man warten, damit die eben schon stabil ist, wenn der µC losläuft...


    ich nehme eigentlich grundsätzlich (CKSEL=1111, SUT=11) Ext. crystal osc. >8 MHz, start-up time: 16K CK + 65 ms - schadet ja nix, und die 0,165 sek. "Verzögerung" nach dem Strom einschalten merkt kein Mensch...

    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!

  • die MOSFETs so anordnen, dass man sie an einen Kühlkörper montieren kann, ...

    Ja, das ist auch erstmal nur eine Art Betaversion.
    Nur mit Schalter-MOSFETs für Stripes, da sollte nicht so sehr viel Verlustleistung entstehen.
    Es wird dann noch eine andere Variante geben, bei der die Leistungsstufe alternativ für Schalterbetrieb bzw. Instructables-KSQ bestückt werden kann.
    Dort wird es eine auch eine praktikable Montagemöglichkeit für passende Kühlkörper geben.

  • In einer "PN-Konferenz" mit Lötmeister (ein paar andere Leute hatten auch wegen dies&das nachgefragt) hat sich folgendes herauskristallisiert:


    So wie i.M. (Originalversion im ersten Post) ist das Teil etwas "weder Fisch noch Fleisch", weder ein wirklich kleiner (wie der name "Tiny" eigentlich sagt) Controller, noch ein "ausgewachsener" mit Display und Bedienung am Gerät zusätzlich.


    das kam daher, ich habe das Ding eigentlich aus 2 Gründen programmiert:


    1. wurde hier immer wieder gefragt, ob man diese kleinen China-Controller "umprogrammieren" kann, also andere Programme etc., das geht ja nicht - also sollte das hier eine Alternative sein, bei der sich jeder selbst die Programme anpassen kann, aus einer Bibliothek die auswählen, die er haben will, soviel halt reingeht.


    2. Auch zum demonstrieren, dass - entgegen anderer Aussagen im Forum - in nen Tiny2313 sehr wohl RC5-Empfang und SW-PWM und Fader-/Blinker-Programme rein passen...


    ich hatte dann das Display ran gemacht, um erst mal die Codes meiner FB raus zu finden - und dann dran gelassen, weil ich es ganz nett fand, und schon auch zum zeigen "sogar das geht auch noch rein" - ebenso wie der DMX-Empfang...


    dann kam eben die Idee auf, wenn man schon Display hat, kann man's ja auch gleich zusätzlich direkt am Gerät bedienen mit nem Encoder, da wurde ja gleich mit großem Elan (vielen Dank noch mal, Lötmeister!) angefangen, ne Platine zu machen mit Display- und Encoder-Ansteuerung etc.


    aber eigentlich braucht man (für die ursprüngliche Idee, ein kleiner RGB-Controller mit FB) das Display nicht, bringt im Normalbetrieb nun auch nicht so viel, wenn das die Dimmstufe (die stellt man ja nach Geschmack, nicht nach Zahlenwert ein :D) oder die FB-Codes (wen interessiert's...) anzeigt - und normal wird so ein Controller ja eh' irgendwo verbaut, wo man ihn nicht sieht... die Display-Ansteuerung macht halt schon auch ca. 1/4 des Flash aus, Platz, den man sinnvoller für weitere Programme nutzen könnte


    also wird das Ganze in 4 Linien aufgespalten, die im Endeffekt alle auf der selben Grund-SW beruhen, also auch Programme untereinander austauschbar, etc.:


    1. Die Standard-Version mit Tiny2313 und 16 MHz Quarz
    Das ist dann der ursprüngliche Gedanke, als "bessere Alternative" zu diesen China-Controllern - mit ordentlichen FETs und Anschlüssen statt diesen Mini-Transen und dünnen Käbelchen, 244 Hz PWM-Frequenz statt um die 100, und eben mehr und vielseitigeren Programmen, die man mit etwas Programmierkenntnissen auch noch selbst anpassen und erweitern kann - sowie (wenn man's braucht) zusätzlich per DMX steuerbar. Man kann dann auch nen Tiny4313 nehmen, für mehr Programme


    dafür mache ich dann ne Platine, die in so ein 1-Euro-Kunststoffgehäuse passt, an das auch der SEDU angepasst wurde - Materialkosten insg. knapp 10 Euro...


    2. die Mini-Version mit Tiny25/45/85
    Diese hat dann kein DMX (werden eh' die wenigsten brauchen) und läuft mit 8 MHz intern - sind immer noch 122 Hz PWM-Frequenz, ebenso mehr Programme als bei so nem China-Teil, mit nem Tiny85 (8k Flash) praktisch bis zum abwinken :D


    dafür mache ich dann ne Platine in SMD mit gleich 3 PLCC6-LEDs drauf, die kann man dann z.B. in so Deko-Kugeln etc. einbauen, fernsteuern oder auch nicht (einfach Programm fest einstellen per .eep-File), wenn's einfach nur Rainbowfader oder sonstwas machen soll...


    3. Die "Nur-Knopf-Version"
    sowas hatte ich ja schon länger vor: ein simpler Controller, der nur mit einem Encoder mit Taste bedienbar ist - mit kurzem Tastendruck schaltet man zwischen den Programm-Optionen durch (Helligkeit, Farbe, Geschwindigkeit, ...), mit langem Tastendruck wechselt man zwischen den Programmen, mit drehen link/rechts dimmt man rauf/runter, stellt die Geschwindigkeit ein etc. - nur ein Knopf an der Wand, wie bei nem Wohnzimmerdimmer, aber eben für nen RGB-Controller... je nach Speicherplatzbedarf evtl. mit FB zusätzlich... und DMX-Empfang


    da bietet sich diese SW nun auch als Basis dafür an, muss eben nur noch die Encoder-Steuerung rein... das Teil stelle ich mir auch interessant vor, man kann eben mit einem Drehknopf alles machen, zusätzlich FB, und dann auch noch extern per DMX steuerbar, nach sowas in der Art wurde ja auch schon öfter gefragt.


    4. Die "Luxus-Version" mit Display und Encoder (Tiny4313)
    die stelle ich mal hinten an, das wäre dann ein weiterer RGB-Controller wie es schon ein paar gibt, halt mit Menu (aber Encoder statt Tasten), FB und DMX-Empfang - da muss dann ein Tiny4313 rein, und es ist noch nicht ganz klar, wie viel Speicher die Menuesteuerung frisst, wenn's dann aussieht wie ein "großer" Controller, aber nur 5 Prograqmme kann, ist's ja auch wieder doof... andere nehmen für sowas ja nen µC mit 64 k Flash statt 4 k...


    da habe ich selbst auch am wenigsten Interesse dran (wie gesagt, Controller in der Art gibt es ja auch schon), daher mache ich den *irgendwann*, wenn ich mal Zeit und Lust dazu habe, das wäre dann auch eher wieder ne "Demo", aus sportlichem Ehrgeiz in nen Tiny4313 gepresst, aber sinnvoller wäre da dann wirklich ein größerer µC, das wäre dann eigentlich ein extra Gerät, hat mit "TinyControl" (im Sinne von "ein kleiner, schlanker Controller") nicht mehr so viel zu tun...


    die Mini-Version mache ich dann als erstes, da wurde nämlich schon danach gefragt...

    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!

  • Hallo,
    Ich finde das ganze auch ein interessantes Projekt. Ich habe mir mal eine Platine dazu aufgebaut, ich habe nur noch keinen ir Empfänger, im Display wird groesenwahn tinycontrol 2k angezeigt, das sollte doch soweit alles richtig sein. Meine Frage, die Software die du anfangs hochgeladen hast, die funktioniert aber schon, oder? Jetzt wolltest du das Projekt an bestimmte Funktionen anpassen. Kann man denn die dmx Adresse auch verändern?
    Und besteht Interesse an der eagle datei?
    Schönen Gruß Andreas

  • ... im Display wird groesenwahn tinycontrol 2k angezeigt, das sollte doch soweit alles richtig sein.

    Ja.


    ... die Software, ... die funktioniert aber schon, oder?

    Ja. Wieso sollte die nicht funktionieren?
    Ich habe die ebenfalls im Einsatz.


    ... besteht Interesse an der eagle datei?

    Im Prinzip schon.
    Die Platinen werden gerade nach Pesis Plänen überarbeitet, so dass sie in handelsübliche Gehäuse passen.

  • Das Layout sieht auch gut aus - ist das so gemacht, dass man das Display gleich Huckepack drauf stecken kann...?


    Die DMX-Adresse kannst Du bei dieser SW nur fest einstellen, indem Du in der Datei "Settings.inc" den Eintrag ".equ DMX_STARTADRESS = 17 ; DMX-Startadresse" entsprechend änderst, und dann die SW neu assemblierst...


    dass man die Adresse auch noch irgendwie über die FB einstellen kann, dazu ist im Tiny2313 halt dann leider echt kein Platz mehr übrig...


    für die "Standard-Version" ist ja nun kein Display mehr vorgesehen, da hat man dann also genug Pins frei, dass man die DMX-Adresse über DIP oder (Löt-)-Jumper einstellen kann, das ändert man bei ner Festinstallation ja so gut wie nie...

    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!

  • @ pesi
    Das Display kann man nicht direkt draufstecken, da die pinbelegungen dabei nicht passen, es fehlen ja Pin 7-10, und wie du schon geschrieben hast kann man das Display auch mit einem Kabel an die Gehäuse Front machen. Ich wollte das mit Display erstmal zum testen bauen, und wenn alles funktioniert nachher auch ohne benutzen.
    @ lötmeister
    Man kann bestimmt etwas anders anordnen, ich wollte es nur möglichst klein und ohne Brücken haben, ich ätze die Platinen auch selbst, hatte dabei aber noch keine Schwierigkeiten, auch beim Aufbau nicht.
    Wenn jetzt noch der ir Empfang funktioniert bin ich voll und ganz zufrieden ;)

  • Ah, so genau hatte ich das nun auch nicht angesehen ;) - sind das Schraubklemmen..? - so von der Optik her...?


    musst Du selbst wissen, aber nur als Tipp: wenn Du den Quarz noch um 90° drehst, und den Tiny etwas runter schiebst, würdest Du da auch ne 16-polige Stiftleiste hin bekommen (2x8), dann kannst Du einfach ein Flachbandkabel mit aufgepresstem Pfostenstecker drauf stecken, macht die Verkabelung einfacher...


    und, ja, nochmal: der IR-Empfang funktioniert, die SW aus dem ersten Post macht genau das alles, was im Video zu sehen ist, also per FB Programme durchschalten (Feste Farbe, Rainbowfader, Blob, Feuersimulation, DMX-Empfang), Geschwindigkeit und Helligkeit einstellen, Einstellungen speichern.


    steht alles im ersten Post, welche Taste für was, und wie dort auch steht, wenn Du das Display dann weg lässt, dann musst Du die SW ohne Display-Ansteuerung neu assemblieren, sonst hängt die beim Display-Initialisieren fest... das geht ganz einfach über eine Einstellung in der Datei "Settings.inc"

    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!

  • Man kann bestimmt etwas anders anordnen, ...

    Habe mich da wohl etwas unverständlich ausgedrückt:
    Ich meinte, da Du keinen ISP-Programmierstecker vorgesehen hast, hast Du mehr Möglichkeiten, ohne Brücken auszukommen.


    0,4mm Leiterzüge würde ich allerdings nur dort einsetzen, wo *unbedingt* erforderlich. Ansonsten 0,8 ... 1mm.
    Aber soll schließlich jeder so machen, wie er seiner Meinung nach am besten zurecht kommt. Ich will da niemandem Vorschriften machen, das sind nur gut gemeinte Tipps.
    Der Lerneffekt stellt sich im Laufe der Zeit automatisch ein. 8)


    Den Abblock-C vom Tiny würde ich auf der Seite , wo Pin10 / Pin11 ist, anordnen, da ist die Anbindung an Pin 10 + Pin 20 auf kürzerem Wege möglich.

  • ohne jetzt jemandem zu nahe treten zu wollen: Ich mache problemlos Layouts mit 0,3 mm Breite und Abstand, früher Tintenbiesler, jetzt Laser ohne Tonerverdichter auf normalem Papier und Klarpausspray... ;)


    die Fehler, die Anfänger so machen (wie man in vielen Threads hier nachlesen kann) sind ja sowas wie völlig falsche Belichtungszeiten, absolut ungeeignete Vorlagen, falsch angesetzte Ätze, etc. - wo dann die Platinen gar nix werden, egal ob 0,3 oder 1 mm... ;)


    wie auch immer, es *schadet* ja nix, noch ein weiteres alternatives Layout zu haben - Lötmeister macht gerade eins (habe ich schon gesehen), das auf ein günstiges, sehr schönes Alu-Gehäuse angepasst ist, und auch dickere Leiterbahnen hat, das ist dann optimal, würde ich hier als die "offizielle" Platine zu diesem Controller (in der Version ohne Display) bezeichnen :thumbup:


    es *wäre* nur schön (*falls* noch mehr Layouts veröffentlicht werden), wenn alle die gleiche Pinbelegung benutzen, damit es nicht Verwirrung gibt, dieses Layout mit jener SW, etc., ideal sollte das (für die, nicht an der SW rumschnitzen wollen) eben immer mit dem fertigen .hex-File funktionieren... nur als Hinweis, habe ich jetzt nicht nachgesehen, wie es hier konkret ist

    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!

  • nee, wie soll das denn gehen..? - der hat dann doch zu wenig Speicher... wenn es Dir reicht, dass man nur ein oder zwei Programme hat (z.B. feste Farbe und Fader), die dimmen und einstellen kann, könnte es in die 1k Flash rein gehen - schau's Dir mal an, die SW, Du müsstest da nur Module entfernen...


    es wird aber ne Version für Tiny25 geben, die - bis auf das Display und DMX - alles kann wie die bereits vorgestellte... bzw. etwas mehr, weil dank fehlendem Display wieder mehr Speicher frei ist (man kann auch noch nen Tiny45 oder 85 nehmen für noch mehr...)


    das Gehäuse wäre das hier...

    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!