Eiwomisa 1 - v1.2 (RGBW Controller) Bausatz - aktuell mit 25% Rabatt!!!

  • Hi,


    ich habe ja bisher nichts mehr von mir hören lassen bezüglich des neuen Controllers. Aber ich arbeite daran und habe alle eure Beiträge gelesen und versuche auch die Wünsche zu berücksichtigen.


    Ich habe eigentlich beabsichtigt einen ATMEGA-48, -88 oder -168 zu verwenden. Praktisch andiesem ist das der günstig ist, kompakt und wenn nötig mit 16kbyte zu haben. Sollte es jemand hier geben der mit der Programmierung Erfahrung hat und der Meinung ist das die 16kbyte zu wenig sind, dann soll mir dieser schreiben. Dann könnte ich noch umdenken, ansonsten bleibt es erstmal beim ATMEGA168.


    Momentan bearbeite ich folgende Funktionen:
    - Fernbedienung ist ja ein muss und kommt auf jeden Fall da rein.
    - Ich versuche alle 4 PWM-Kanäle (2 des Timer0 gehen für den RC5 drauf) für LEDs zu verwenden.
    - 4 PWM Kanäle für RGB und dann noch weiß wer möchte oder einfach weglassen.


    Das wären die Funktionen die ich auf jeden Fall hinbekomme. Weitere Funktionen an denen ich gerade rumüberlege und mir nicht sicher bin ob Machbar/Notwenig:
    - DMX Empfänger (weiß ich nicht ob noch möglich)
    - LCD Display als User-Interface (wei0 nicht ob möglich bzw. nötig)
    - Analogteil (nötig?)
    - Master/Slave Funktion (ich denke eigentlich nicht nötig, ich möchte lieber starke Mosfets einsetzen und die Möglichkeit einen KK zu montieren)
    - Serielle Schnittstelle (nötig?, was könnte man damit machen?)


    Ihr seht es sind noch viele Fragen offen und ich freue mich auf jede Antwort! Ich zähl auf Euch! :D :thumbup:


    Gruß, Benny.

  • hört sich ja sehr viel versprechend an.


    Die meisten sachen die du aufgefürht hast, wie analogteile, lcddisplay, oder sonstiges könnte man wenn man es wollte ja selbst anschließen :D
    Hoffe du fürhst, die Pins die du nicht brauchst raus, mit einem Lötpunkt.


    Für andere die nicht programmieren können, wrüde ich sagen analogteile fallen weg,
    serielle schnitstelle wäre veilleicht zum verknüpfen zweier avrs nötig, braucht man aber eigentlich auch nicht, da dies nur leite brauchen, die programmiren können -> kann dann selbst angelötet werden.


    Master/slave kein plan was das ist :rolleyes:


    DMX, hm.... wäre ne feine sache,


    Leider mache ich momentan Prüfung, neben mir leigt schon fast so ein teil wie du bauen willst. Ich bin nach meiner Prüfung auch drauf und dran mir nen dmx empfänger zu basteln. Wenn du ihn dann bei dir einbaust hättest du mir einiges an arbeit erspart :thumbup: , :whistling: ^^


    MfG

  • Hi,


    also, ich habe mich nochmals ein wenig mehr da reingelesen.


    Ich denke ein Dot-Matrix-Textdisplay wäre schon toll. Darin könnte man den Helligkeitswert für jede LED anzeigen lassen. Und natürlich auch wo im Programm man sich gerade befindet. Ich glaube da wäre dann der Fantasie fast keine Grenzen mehr gesetzt.
    Die Frage ist nun was für ein Display man verwenden soll. In Bascom gibt es schon Befehle dafür und sind für Displays bis max. 80 Zeichen gut, danach wirds vom Code und Preis her schlecht.


    Also was für ein Display? 8x1, 8x2, 16x1, 16x2, 16x3, 20x2 oder 20x4? Ist natürlich alles ne Preisfrage. Die Preise gehen dabei von ca. 6,-€ bis 23,-€ für ein Display. Je nach dem wie groß es ist und welche Hintergrundbeleuchtung verbaut ist.


    Was den Analogteil angeht, den finde ich gar nicht so schlecht. Da könnte man z.B. einen Eingang davon zum einstellen der LED-Helligkeit und Geschwindigkeiten bzw. Zeiteneinstellung missbrauchen. Nur hat der AD-Wandler ja eigentlich 10-Bit Auflösung, weiß einer wie man den auf 8-Bit bringt?


    Taster, brauchen wir noch so viele Taster wie früher oder soll ich da einfach eine Fernbedienung voraussetzen? Diese Fernbedienungen würde ich dann natürlich auf Lager halten.


    Gruß, Benny.

  • Nur hat der AD-Wandler ja eigentlich 10-Bit Auflösung, weiß einer wie man den auf 8-Bit bringt?

    Ja - einfach durch 4 teilen! ;) (in Assembler halt um 2 Bit nach rechts schieben....)

    Könnte man an den Analogeingang ein Poti anschliessen und z.b. ein Farblauf (wie bei Philips living colors) realisieren?

    Ja, reine Software-Sache...

    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!

  • Das mit den ADCs find ich schon wichtig. So wird die Platine universeller einsetzbar. Ich habe mir zwar inzwischen aus Zeitnot selbst schon eine Platine mit ATMega8 erstellt (da führe ich 4 ADCs nach Außen). Die vielen Taster beim ersten Fader fand ich ziemlich nervig. Ohne Anleitung konnte ich mir das nie merken.


    Das Display ist für Endanwender-taugliche Projekte sicher sehr gut. Da sieht man, was man einstellt und ggf. Programm etc. Ich habe z.B. sämtliche Tests auf dem myAVR-Board mit LCD-Display gemacht. Da kann man zur Kontrolle viel ausgeben, z.B. den Wert des ADC. Übrigens hatte ich zuerst auch einfach durch 4 geteilt, um auf 8-Bit zu kommen. Hab dann aber zeitweise mt 10-Bit PWM gearbeitet. Letztlich bin ich beim LED-Fading-Programm gelandet und habe dies sinngemäß eingebaut. Schau mal hier . Da hatte ich an meinen Problemen gearbeitet.


    Die Fernbedienung war ja schon lange ein Wunsch von mir. Ich habe dies inzwischen auch hinbekommen. Aber Vorsicht, falls Du mit BASCOM arbeitest. Da hatte ich große Probleme, was die Dauer der FB-Abfrage betraf. Das hat bei mir Ewigkeiten gedauert. Ich bin dann auf C umgestiegen.


    Ich werde demnächst mal das Projekt inkl. Quellcode posten, auch wenns noch nicht ganz fertig ist.


    VG
    Nino

  • Der AD Wandler speichert die 10Bit in 2Bytes. ADhigh und ADlow. In den Registern kann man einstellen, ob die rechts- oder linksbündig gespeichert werden sollen.
    Dann braucht man z.B. nur noch das ADhigh Byte weiterverarbeiten und hat automatisch die 8 obersten Bits des AD Wandlers.

  • Hi,


    also ich habe mich entschieden mal ein Display mit 16x2 Zeichen zu verwenden. Damit sollte man eigentlich alles machen kööen was wir brauchen. Mal schauen wie ich da ein sinnvolles Menu realisieren kann.


    Was den DMX Empfang angeht, da habe ich interessante Hinweise bekommen wie man das in Bascom lösen kann. Das muss ich mir noch anschauen und dann versuchen umzusetzen, anscheinend soll das aber funktionieren und der Controller soll dabei noch genug Zeit haben andere Dinge zu erledigen.


    Das durch 4 teilen bei der Analoggeschichte hätte mir auch einfallen können, peinlich. Wie sieht das aber in Bascom aus? Geht das so leicht? Was passiert wenn Kommawerte raus kommen, rundet der das dann automatisch auf oder wird die Zahl nach dem Komma einfach weggestrichen (also kein Runden)? Das wäre natürlich praktisch, die Variante mit dem Low- und High-Byte möchte ich ungern verwenden weil es kein reines Bascom-Basic mehr ist.


    Pesi
    Wie war das nochmal mit diesen DMX Kanälen? Wenn ich 4 8-Bit PWM Kanäle habe, dann müsste ich 4 von diesen 512 DMX Kanälen für meinen Fader belegen, oder? Müssen die an einem Stück sein oder kann ich die wie ich will belegen? Ich wollte die Einstellung der Kanäle ins Menu legen damit man die dann über das Display einstellen kann.
    Und pro Kanal wird doch ein Byte übertragen, oder?
    Ach und noch was, wenn ich die UART Schnittstelle für den MAX485 verwende damit ich DMX empfangen kann, dann brauch ich ja nur den RX Pin am µC. Kann ich dann den TX Pin als normalen IO benutzen oder geht das nicht?


    Gruß, Benny.

  • Das durch 4 teilen bei der Analoggeschichte hätte mir auch einfallen können, peinlich. Wie sieht das aber in Bascom aus? Geht das so leicht? Was passiert wenn Kommawerte raus kommen, rundet der das dann automatisch auf oder wird die Zahl nach dem Komma einfach weggestrichen (also kein Runden)? Das wäre natürlich praktisch, die Variante mit dem Low- und High-Byte möchte ich ungern verwenden weil es kein reines Bascom-Basic mehr ist.

    Sollte kein Problem sein, da das Ergebnis in ein Integer gespeichert wird, entfällt das Runden. Es entstehen u.U. Sprünge beim Drehen des Potis, was aber höchstens im unteren Bereich sichbar sein sollte.


    Ich habe ja die Tabelle mit den 64 Werten verwendet und dividiere durch 16. Selbst das ist problemlos möglich.


  • Wie war das nochmal mit diesen DMX Kanälen? Wenn ich 4 8-Bit PWM Kanäle habe, dann müsste ich 4 von diesen 512 DMX Kanälen für meinen Fader belegen, oder?

    Ganz genau!

    Müssen die an einem Stück sein oder kann ich die wie ich will belegen?

    Kannst Du theoretisch wüst verteilen, aber das macht hier keinen Sinn, und zusätzlich die Empfangsroutine komplizierter - normal stellt man eine Startadresse ein, und dann kommen die 4 Kanäle am Stück - also z.B. Startadresse 7, dann belegt das Teil die Kanäle 7, 8, 9 und 10 - weil die ja auch am Sender normal zusammengefasst sind, wenn ich z.B. ein Lichtpult benutze, macht es ja null Sinn, dass ich die 4 Kanäle auf 4 irgendwo liegende Fader wüst verteile, die will ich ja am Stück haben....


    Einzig Sinnvolle Anwendung für sowas wäre, wenn Du z.B. 4 Weiße LEDs an dem Ding hast, und die dann patchen willst, also eben jeder LED (warum auch immer) eine individuelle Adresse geben willst... aber auch das macht man dann normal eher in der Lichtsteuer-Software, sonst hat man irgendwann gar keinen Durchblick mehr, was nun wo liegt... ;)

    Und pro Kanal wird doch ein Byte übertragen, oder?

    Richtig

    Ach und noch was, wenn ich die UART Schnittstelle für den MAX485 verwende damit ich DMX empfangen kann, dann brauch ich ja nur den RX Pin am µC. Kann ich dann den TX Pin als normalen IO benutzen oder geht das nicht?

    Doch, kannst Du weiter benutzen - die sind voneinander unabhängig....


    Wäre evtl. zu überlegen (Du hast ja eh' massig Pins beim Megax8 ) ob Du nicht den Tx trotzdem benutzt, und dann noch nen Pin, um den Bustreiber von Empfangen auf Senden umzuschalten - dann kannst Du z.B. auch sowas machen, dass der Fader (wenn er autonom läuft) seine Daten per DMX ausgibt und damit andere synchron steuert - das können sogar diese ganzen billigen LED-PARs..


    Ansonsten noch ne Überlegeung: zu dem MAX485 noch nen MAX232 dazu, dann kannst Du das auch gleich als serielle Schnittstelle für den PC benutzen - ob da nun DMX reinkommen soll, oder das Ding (so wie der Chromoflex) dann mit irgendner PC-SW angestuert wird, ist ja reine SW-Sache...


    Wenn Du Dir ne sinnvolle Belegung der Tasten überlegst, brauchst Du auch gar nicht viele - Wenn ein Display dabei ist, reichen 4 leicht für ne ordentliche Menuestruktur... ansonsten gibt's ja auch noch die Möglichkeit, die Taster per Multiplex abzufragen - also Taster, IR, Display, DMX/serielle Schnittstelle, ein paar Status-LEDs, Analog in und die 4 PWM-Ausgänge sollte bei so nem µC schon gehen...


    Das alles da drin wäre dann echt die "eierlegende Wollmilchsau" 8o


    Sollte kein Problem sein, da das Ergebnis in ein Integer gespeichert wird, entfällt das Runden. Es entstehen u.U. Sprünge beim Drehen des Potis, was aber höchstens im unteren Bereich sichbar sein sollte.

    Ja, so war das gemeint, weil Benkly ja in Bascom macht - einfach 10-Bit-Wert abfragen und integer durch 4 Teilen - die Sprünge im unteren Bereich kommen eher daher, weil man da kleine Unterschiede in den Werten ja gleich als große Unterschiede in der Helligkeit sieht - da macht die Methode keinen Unterschied, auch wenn man (guter Tipp übrigens, Danke, Kanwas!) nur das High Byte vom ADC nimmt, kommt letztlich die selbe Zahl bei raus...

    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,


    also das mit der parallelen RS232 Schnittstelle gefällt mir nicht so, aber das mit dem zusätzlichen DMX Sender hört sich gut an. Dabei muss ich aber immer bedenken das ich den Timer1 und 2 für meine PWM brauche und somit nicht mehr, wie den Timer0, für eine andere Funktion opfern kann. Der Timer0 geht ja für den RC5 Empfang drauf.


    Um Controller dann als DMX Sender bzw. Empfänger nutzen zu können habe ich mir gedacht das ich dann den MAX488 oder MAX490 verwenden werde, welcher ist da wohl besser geeignet? Das tolle an der Sache gegenüber dem MAX 485 wäre dann halt das man gleichzeitig senden und empfangen könnte. Ob das der Controller allerdings noch packt weiß ich nicht, vor allem weil ja alles mit Bascom realisiert werden soll.


    Wobei beim DMX Senden ja wirklich nur die 4 PWM Werte ausgespuckt werden sollen die diese gerade haben.


    Gruß, Benny.

  • Hi,


    also, der ATMEGA 168 hat zu wenig Pins und geht somit nicht. Ich habe jetzt alle Pins belegt, wenn das so funktioniert und ich nicht wieder wegen irgendeiner Eigenart nen Pin doch nicht benutzen kann, dafür habe ich aber noch keinen Analogeingang. Da ich das aber für die PWM-Wert Einstellung haben möchte muss ich wohl auf den nächst größeren ATMEGA gehen.


    Gruß, Benny.

  • Hi,


    SMD ist Tabu! Nicht weil ich SMD nicht löten könnte, habe sehr viel SMD in der Ausbildung gelötet (vor allem die kleinen Speicherchips sind echt gemein), sondern weil ich möchte das auch jeder Anfänger den Bausatz verlöten kann, und das möglichst schnell.


    Die ISP Schnittstelle war schon doppelt belegt, also ISP wenn Reset aktiv oder dann die PWM Kanäle. Aber macht nix, ich steige dann jetzt halt einfach auf den ATMEGA16 bzw. 32 um. Etwas teurer aber dafür wesentlich mehr Pins.


    Gruß, Benny.

  • Dabei muss ich aber immer bedenken das ich den Timer1 und 2 für meine PWM brauche und somit nicht mehr, wie den Timer0, für eine andere Funktion opfern kann.

    Für DMX brauchst Du ja keinen Timer - das geht einfach so: Byte wird empfangen -> USART löst Interrupt aus -> ISR verarbeitet das Byte, und dann ist der µC wieder "frei" bis zum nächsten empfangenen Byte...


    Senden analog: Byte senden -> wenn das durch ist, wird ein Interrupt ausgelöst -> ISR, die das nächste Byte sendet - usw.

    Das tolle an der Sache gegenüber dem MAX 485 wäre dann halt das man gleichzeitig senden und empfangen könnte. Ob das der Controller allerdings noch packt weiß ich nicht, vor allem weil ja alles mit Bascom realisiert werden soll.

    *Wirklich gleichzeitig* senden und empfangen kannst Du nicht! - das ist ja ein Bus, ist nur halbduplex - ausser Du willst nen extra DMX in und *eigenständigen* DMX Out machen, das wäre dann aber zum Verkabeln ka**** bzw. Du müsstest dann per SW die Daten vom in zum out übertragen, wenn alle Receiver an ner Kette hängen und von extern gesteuert werden (so *ähnlich* wie bei meiner DMX-Lichterkette).*


    Also besser so: Gerät auf DMX-Empfang -> Bustreiber auf empfangen - Gerät im Standalone -> Bustreiber auf senden und die 4 PWM-Werte rausschicken...


    *btw.: weiß das jemand, gibt's da ne Funktion, den Tx mit dem Rx-Pin hardwaremäßig "parallelzuschalten"...? also dass der Tx einfach immer den selben Pegel hat, der am Rx anliegt...? - das würde das dann natürlich sehr vereinfachen....


    Andere Frage: wozu gleichzeitig DMX senden und empfangen, kann mir jetzt gerade keine sinnvolle Anwendung dafür vorstellen... ?(

    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!

    Einmal editiert, zuletzt von Pesi ()

  • Hi,


    @ Pesi
    Der Max488 oder 490 hat ja 2 Treiber, einen für IN und einen für OUT. Das finde ich eigentlich gar nicht so schlecht. Wenn ich den als Empfänger betreiben will dann klemme ich halt meine 2 Busleitungen an IN per Federkraftklemme oder wenn ich das Teil als Sender benutzen will dann klemme ich meine Leitungen halt an OUT. Das müsste doch so gehen?
    Und man könnte halt auf diese Art einen Repeater realisieren der gleichzeitig sogar noch als Empfänger arbeitet.


    Überleg Dir das mal, wenn nicht kann ich eigentlich auch den Max485 nehmen. Da ich ja jetzt eh einen größeren µC verwenden muss ist das ja egal, sind genug Pins da. Leider kann ich den ATMEGA16 bzw. 32 nicht verwenden da diese nur 4 PWMs haben im Timer0 und 1. Ich brauche aber 6 PWMs bzw. eigentlich nur 4 aber die in den Timern 1 und 2, so ein Mist.
    Jetzt habe ich mir mal den ATMEGA644 ausgesucht. Der hat nebenbei sogar 64kbyte, dürfte ne weile reichen :D


    Gruß, Benny.

  • Der Max488 oder 490 hat ja 2 Treiber, einen für IN und einen für OUT. Das finde ich eigentlich gar nicht so schlecht. Wenn ich den als Empfänger betreiben will dann klemme ich halt meine 2 Busleitungen an IN per Federkraftklemme oder wenn ich das Teil als Sender benutzen will dann klemme ich meine Leitungen halt an OUT. Das müsste doch so gehen?
    Und man könnte halt auf diese Art einen Repeater realisieren der gleichzeitig sogar noch als Empfänger arbeitet.


    Überleg Dir das mal, wenn nicht kann ich eigentlich auch den Max485 nehmen.

    Also überlegen musst Du Dir wie Du das haben willst, bzw. die anderen hier im Forum, die an dem Teil interessiert sind... ich will das ja dann nicht kaufen, sind halt nur Vorschläge, wie ich sowas bauen würde und/oder das "üblicherweise" gemacht wird... ;)


    Wenn Dir/Euch das mit dem umklemmen lieber ist und SW-Repeater für die Kette, dann mach's doch so, spricht ja nix dagegen...

    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!

  • Anstatt zum ATmega644 würde ich eher zur Reihe der picopower-Typen ATmega164p/324p/644p raten, wenn es denn schon 40polige Typen sein sollen. Diese drei Typen sind pinkompatibel und eigentlich von den enthaltenen Funktionsgruppen genau gleich, und sie varieren nur im Flash-, SRAM- und EEPROM-Speicher. Man kann dann also jeweils noch entscheiden, was einem von der Speichergrösse her reicht. Der grosse Vorteil dieser Reihe gegenüber dem ähnlichen ATmega644 (eigentlich waren auch ein 164 und 324 geplant, es wurde aber dann eben gleich die picopower-Reihe entwickelt und rausgebracht) ist, dass die p-Typen ZWEI unabhängige asynchron-serielle Schnittstellen haben, welche als Pins mit RXD0 TXD0 und RXD1 TXD1 bezeichnet sind. Das eröffnet mehr Möglichkeiten zur Kommunikation.


    Gruss
    Neni

  • Anstatt zum ATmega644 würde ich eher zur Reihe der picopower-Typen ATmega164p/324p/644p raten, wenn es denn schon 40polige Typen sein sollen. Diese drei Typen sind pinkompatibel und eigentlich von den enthaltenen Funktionsgruppen genau gleich, und sie varieren nur im Flash-, SRAM- und EEPROM-Speicher. Man kann dann also jeweils noch entscheiden, was einem von der Speichergrösse her reicht. Der grosse Vorteil dieser Reihe gegenüber dem ähnlichen ATmega644 (eigentlich waren auch ein 164 und 324 geplant, es wurde aber dann eben gleich die picopower-Reihe entwickelt und rausgebracht) ist, dass die p-Typen ZWEI unabhängige asynchron-serielle Schnittstellen haben, welche als Pins mit RXD0 TXD0 und RXD1 TXD1 bezeichnet sind. Das eröffnet mehr Möglichkeiten zur Kommunikation.

    Hi,


    ja, das habe ich auch schon gehört. Nur wo bekomme ich diese Typen in größerer Menge her. Schukat hat diese nicht, da muss ich wohl mal wo anders schauen.....


    Gruß, Benny.

  • Wenn es dich nicht stört, direkt von US-Grossdistris zu bestellen, dann schau mal bei Digikey (http://www.digikey.de) oder Mouser (http://www.mouser.com) vorbei. Beide Distris haben auch Deutsche Portale (zum Teil auch Filialen) und gute Versandbedingungen auch nach DE. Beide haben jeweils auch immer die neuesten, erhältlichen AVRs an Lager, wobei Digikey noch etwas stärker diese Tradition eines ATMEL-Full-Line-Distributors verfolgt. Als Alternative mit kompetitiven Preisen ist auch TME (http://www.tme.eu) in Polen zu nennen, allerdings haben die nicht immer die ganze Linie im Angebot, insbesondere haben sie die jeweiligen AVRs oft nur im TQFP und nicht im DIP-Gehäuse an Lager.
    Farnell (http://www.farnell.de) ist auch immer eine Option, allerdings haben die häufig eher Preise auf Apotheken-Niveau.


    Gruss
    Neni