RGB-Rebel über LAN+Browser steuern (256 Stufen inteliPWM)

Anleitungen für "hausgemachte" LED Projekte

Moderator: T.Hoffmann

Antworten
J0sch
Mini-User
Beiträge: 7
Registriert: Fr, 13.02.09, 21:41

Fr, 13.02.09, 23:18

Hallo Zusammen,

ich möchte hier mal mein Projekt vorstellen. Bin schon lange hier passiver Mitleser im Forum. Aber nun habe ich etwas fabriziert, dass sich denke doch lohnt mal hier vorzustellen.

Es handelt sich hier um ein Master-Client RGB-LED-Control System, das durch ein Webinterface, und somit auch mit Mobilen Endgeräten wie dem iPhone, bedient werden kann.
Die Ausführung ist insgesamt sehr einfach gehalten, sprich Bascom und Lochrasterplatinen, so kann jeder der will es auch mit einfachsten Mitteln und geringen Kosten nachbauen.

Hier gibt es ein Video der ganzen Sache:
http://www.youtube.com/watch?v=RLTSHFPR8XE

Spezifikationen
- Master/Client System, Bedienung über Webinterface
- bis zu 254 Clients über RS485 Bussystem mit MPCM
- 8 Bit LED-PWM-Dimmer mit intelligentem Ansatz (intelliPWM)
- 3 Software RGB-PWM-Kanäle
- integrierte HSV to RGB Umrechnung im Client
- 4 Speicherplätze im EEPROM für vordefinierte Szenen (dynamisch speicherbar)
- Aufbau komplett mit Lochrasterplatine und THT-Technik (für jeden machbar)
- geringe Gesamtkosten durch Standardbauteile
- einfache zu verstehende Programmierung (BASCOM, HTML, JavaScript)
- Darstellung der aktuellen Einstellungen der Clients im Webinterface beim Aufrufen der Detailseite
- sehr einfache Erweiterbarkeit

Und weil es einfach am praktischsten ist hab ich die Beschreibung des Systems in ein .pdf geschrieben.
Dokumentation_LED-Netzwerk_V5.pdf
(314.18 KiB) 2607-mal heruntergeladen
Außerdem: die zugehörigen Dateien (Software, Eagle, SD-Karteninhalt etc.)
LED-Netzwerk_V5.zip
(656.28 KiB) 1197-mal heruntergeladen
Update1: BASCOM-Dateien aktualisiert
Update2: BASCOM-Dateien vervollständigt

Hier eine Grafik des Aufbaus:
Folie1.png
Ich hoffe auf interessante Rückmeldungen von euch.

Gruß

Johannes
Zuletzt geändert von J0sch am Di, 17.02.09, 22:26, insgesamt 3-mal geändert.
Benutzeravatar
Fightclub
Post-Hero
Post-Hero
Beiträge: 5114
Registriert: Mi, 01.03.06, 18:40

Sa, 14.02.09, 00:07

Wow. Ich bin echt begeistert. Die Umsetzung ist genial einfach und der Effekt einfach genial.
Als kleines Dankeschön gibts 150 Sterne obendrauf
A.E.
Mega-User
Mega-User
Beiträge: 183
Registriert: Mo, 06.10.08, 23:21

Sa, 14.02.09, 08:08

Ich finde das Projekt auch echt genial!
So ein ähnlicher Aufbau ist wirklich Praktisch, um die Anwesenheit in seinem Haus/Wohnung zu simulieren.

Gruß A.E.
STrallO
Mega-User
Mega-User
Beiträge: 369
Registriert: Di, 16.10.07, 09:43

Sa, 14.02.09, 11:23

Ich kann mich nur anschließen, wirklich super und nachvollziebar aufgebaut.
Benutzeravatar
Jay
Hyper-User
Hyper-User
Beiträge: 1096
Registriert: Mo, 08.05.06, 07:54
Wohnort: Österreich

Sa, 14.02.09, 16:47

genial, ich will auch sowas aufbauen, so ein myEthernet hab ich schon hier aber so weit bin ich noch lange nicht
mit diesem Projekt könnte man selber auf einfache weiße da ansetzten. genial

MfG
Jay
J0sch
Mini-User
Beiträge: 7
Registriert: Fr, 13.02.09, 21:41

Sa, 14.02.09, 16:56

Hallo,

freut mich dass es euch so gefällt, die Einfachheit liegt wohl an meinen relativ geringen selbstbeigebrachten Elektronik-Kenntnissen. Von dem her kauf ich lieber ein LAN-Modul für 60 Euro anstatt mortz was kompliziertes zu programmieren.
Einzige Hürde für den Nachbau ist eventuell, dass man eine Lizenz für BASCOM braucht. Der Client hat 70% Belegung des Mega8, die Freeware Version von BASCOM kann nur bis 50% kompilieren. Allerdings hat allein schon mein intelliPWM 50% Speicherbelegung.

Gruß

Johannes

PS. Kennt jemand eine Bezugsquelle für Bistabile 5V-Relais, am besten mit zwei Spulen? Sind vielleicht in Zeitschaltuhren oder dergleichen solche verbaut?
Benutzeravatar
exelero
Mega-User
Mega-User
Beiträge: 184
Registriert: Do, 22.01.09, 20:42
Wohnort: Norddeuschland

Sa, 14.02.09, 22:06

wow ich bin beeindruckt!!! wie bist du auf die idee gekommen so etwas zu bauen? ich fange jetzt grade erst an zu programmieren - und man ... dann kommst du mit einem so hammer projekt :lol: (bin ja froh wenn ich pwm hinbekomme ;) )

super geile sache! besonders gefällt mir die idee mit dem iphone

beim kompilieren der textdokumente in bascom (vollversion) gab es aber probleme. ich wollte die entsprechenden .hex datein eigentlich hier hochladen aber beim kompilieren gab es problem beim master mit dem enable int1 befehl. leider kenne ich mit interrupts kaum aus. es kann gut sein das der fehler nur auf einen copy/paste fehler von bascom in das txt dokument zurückzuführen ist.

Bild

leider gabs beim kompilieren der hex für den mega 8 auch probleme - wie im bild zu sehen.

Bild



oder sind die fehler nicht auf den code sondern auf mich zurückzuführen? richtiger chip war eingestellt.

wie bekomme ich die doppelten bilder unter dieser zeile weg? :oops: einfach nicht berücksichtigen das sind die beiden nocheinmal
Dateianhänge
client_led mega8.JPG
alle Fehler zeigen auf die Zeile von Enable Int1
alle Fehler zeigen auf die Zeile von Enable Int1
J0sch
Mini-User
Beiträge: 7
Registriert: Fr, 13.02.09, 21:41

So, 15.02.09, 10:08

Tja, die Motivation ist ja schon etwas in dem .pdf beschrieben.
Angefangen hab ich mit der Version 1 einer Steuerung, allerdings ist das locker 5-6 Jahre her. Da habe ich gerade erst angefangen mit Elektronik. Die Steuerung war fürs Erste viel zu komplex (Features: LCD, 4-Tastenbedienung, 16 Kanäle), hat mehrere AT-Megas verschlungen ;-), deswegen hab ichs irgendwann aufgegeben. Hat also nie funktioniert.
Version 2 war dann also wesentlich einfacher: 8 Kanäle, RC5-Steuerung, Fading von Ein nach Aus. Die Steuerung ist heute noch bei meiner Schwester im Einsatz.
Version 3 wurde dann wiederum etwas größer: 16 Kanäle, RC5-Steuerung, LCD, Fading von Ein nach Aus. Die Steuerung war soweit ich weis gar nicht, bzw. wenn dann nur eine kurze Zeit im Einsatz, warum weis ich jetzt gar nicht mehr.
Version 4 war ähnlich der Vorgängerversion, aber noch etwas größer: 24 Kanäle, LCD, Zwei-Prozessoren die über UART komunizieren, Fading von Ein nach Aus. Die Steuerung war bis vor ca. einem halben Jahr im Einsatz.
Gründe für die Ablösung war eben die zentrale Verkabelung und dass damit verbundene Kabelchaos --> Bus-System
Bedienung über RC5 war sehr unkomfortabel und hat nicht immer funktioniert --> besseres User-Interface

Hier die einzelnen Steuerungen: (von links nach rechts: Version1, Version3, Version4)
P1020347.jpg
P1020347.jpg (37.3 KiB) 27661 mal betrachtet
Aus den Nachteilen wachsen dann die Anforderungen an die neue Steuerung. Durch Recherche und lesen von diversen Internetseiten (LED-Hilfe.de, Mikrocontroller.net, Roboter-Netz.de) finden sich dann Möglichkeiten die Anforderungen umzusetzen.
Dann folgt der Aufbau der Hardware auf einem Breadboard, funktioniert dass dann einigermaßen kann die Schaltung gelötet werden.
Als Bus-System wollte ich Anfangs I2C/TWI verwenden, allerdings hatte ich dann Bedenken dass die Reichweite ausreicht. Deshalb also dann RS485, und da man sich da selbst ein Protokoll überlegen kann, wurde dann auch gleich MPCM integriert.
Dimmbar sollte das alles dann auch sein, und diesmal dann nicht mehr blos Ein und Aus, sondern mehrere Stufen, ideal für die RGB-LEDs um alle möglichen Farben einzustellen. Irgendwie bin ich dann auf das intelliPWM gestoßen, das Konzept hat mir dann sehr gut gefallen, also hab ich es umgesetzt in BASCOM. Das war der erste große Schritt dieses Projektes. Diese Umsetzung hat mich echt viel Zeit gekostet, hab mehrere Wochenenden lang programmiert und probiert. Irgendwann hat es dann zum Glück funktioniert.
Zweiter Schritt war dann die Bedieneroberfläche. Auf das myEthernet bin ich über das mySmartUSB gekommen, ich hab eben einen Programmieradapter für USB gesucht. Das Konzept hat mir dann sehr gut gefallen, denn so konnte ich einfach die Seiten auf eine SD-Karte speichern. Anstatt ein Webmodul wie z.B. von Ulrich-Radig zu verwenden entschied ich mich also dann für eine Kauf-Lösung. Anfangs gab es beim myEthernet kein SharedRAM, es gab nur die Möglichkeit ein ganzes Byte auf einmal auszugeben, deshalb auch noch die Parallelschnittstelle im Master. Mit dieser Lösung dauerte der Datenaustausch aber sehr lange, war eigentlich nicht akzeptabel. Mit der Herausgabe der neuen Firmware 1.08, Anfang des Monats, wurde dann eigentlich die ganze Lösung erst so wirklich möglich. Nun konnte also dann die ganze HTML/Javascript Geschichte programmiert werden.
Nächster Schritt war dann die Komunikation über RS485. Hier habe ich keine wirklich passenden Routinen für den Empfang und Senden gefunden, weshalb ich dass auch selbst entwickeln musste. Dann war da noch das Protokoll, und der Ablauf der Verarbeitung in den Clients.
Und dass wars dann eigentlich auch schon. Hört sich relativ wenig an, aber zwischendrin sind immer wieder diverse Fehlfunktionen aufgetreten, und diese dann zu beseitigen hat auch immer wieder recht lang gedauert. Wie gesagt da läuft halt bei mir dann meistens alles über Try and Error.
Alles in allem möchte ich glaub ich gar nicht wissen wie viele Stunden (und Nerven) ich dafür gebraucht habe.

Es hat sich also mal wieder bewahrheitet, dass man große Aufgaben in kleine Teile/Schritte zerlegen muss.


Zu deinem Problem: Kann ich mir auch nicht so richtig erklären. Könnte mir aber vorstellen dass die Konfigurationsdateien m8def.dat und m32def.dat nicht in dem Ordner, in dem die .bas Files liegen, sind? Ansonsten hab ich mal das .zip im ersten Beitrag aktualisiert und die .def und .cfg Dateien mit angehängt.

Hier noch ein Bild einer LED im Einsatz, die Triple-Rebel eignen sich hervorragend für so eine Ausleuchtung:
P1020349.jpg
P1020349.jpg (35.33 KiB) 27651 mal betrachtet
Zuletzt geändert von J0sch am So, 15.02.09, 14:00, insgesamt 1-mal geändert.
Benutzeravatar
Fightclub
Post-Hero
Post-Hero
Beiträge: 5114
Registriert: Mi, 01.03.06, 18:40

So, 15.02.09, 11:08

Interessant mal zu sehen wie sich sowas entwickelt :D Ich dachte im ersten Moment bei Version 2 und 3 "wofür sind denn da die Rippekühlkörper", bis mir aufgefallen ist, dass das alles Transisotren sind :lol:
Danke für das Bild der Farbmischung, die Rebels sind da wirklich sehr überzeugend.
Es stellt sich doch immer wieder raus:
Bottom-Up Programming, ftw! :mrgreen:
Benutzeravatar
exelero
Mega-User
Mega-User
Beiträge: 184
Registriert: Do, 22.01.09, 20:42
Wohnort: Norddeuschland

So, 15.02.09, 18:56

komisch - selbst mit den updates lassen sich die programme nicht kompilieren -> gleiche fehlermeldungen wie oben schon beschrieben. hat noch jemand das problem mit dem fehlern beim kompilieren?


gruß
J0sch
Mini-User
Beiträge: 7
Registriert: Fr, 13.02.09, 21:41

Di, 17.02.09, 22:29

exelero hat geschrieben:komisch - selbst mit den updates lassen sich die programme nicht kompilieren -> gleiche fehlermeldungen wie oben schon beschrieben. hat noch jemand das problem mit dem fehlern beim kompilieren?
Kann dein Problem leider nicht nachvollziehen. Hab jetzt nochmal die Dateien als dem letzten .zip genommen und mal compiliert. Die gesamten Daten finden sich wiederum in dem .zip aus dem ersten Beitrag. Wenns immer noch nicht geht mal Bascom neu installieren, bzw. vllt auf einem anderen Computer probieren?

Gruß

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

Mi, 18.02.09, 00:08

Nur zur Info: Ich kann den Code auch problemlos compilieren.
@J0sch
Sehr schönes Projekt! Ist mir persönlich zwar zu 'groß' (ich kann für mich bisher keinen Grund sehen, warum ich eine komplette Lichtsteuerung über ein Web-Interface steuern sollte - mir reichen simple Lichtschalter auch), aber die inteliPWM ist durchaus auch für andere (kleinere) Projekte interessant.

Ein günstiges bistabiles Relais mit 3V gibt es bei Pollin:
http://www.pollin.de/shop/detail.php?pg ... OTk4&ts=20
Mit zwei Spulen und 5V beim C: http://www.conrad.de/goto.php?artikel=502880
J0sch
Mini-User
Beiträge: 7
Registriert: Fr, 13.02.09, 21:41

Mi, 18.02.09, 17:33

Borax hat geschrieben: Sehr schönes Projekt! Ist mir persönlich zwar zu 'groß' (ich kann für mich bisher keinen Grund sehen, warum ich eine komplette Lichtsteuerung über ein Web-Interface steuern sollte - mir reichen simple Lichtschalter auch), aber die inteliPWM ist durchaus auch für andere (kleinere) Projekte interessant.
Muss dir grundsätzlich Recht geben, mir wäre es auch zu Blöd jedes mal wenn man das Licht ausmachen oder anmachen will irgendeine Seite aufzurufen. Deswegen hängt die ganze Sache bei mir auch noch an einer geschaltenen Steckdose, die ich einfach über die Lichtschalter im Raum betätigen kann. Für die Detaileinstellungen denke ich aber doch dass die Web-Interface-Geschichte einer einfachen Bedienung z.B. über LCD und Taster überlegen ist.
Borax hat geschrieben: Ein günstiges bistabiles Relais mit 3V gibt es bei Pollin:
http://www.pollin.de/shop/detail.php?pg ... OTk4&ts=20
Mit zwei Spulen und 5V beim C: http://www.conrad.de/goto.php?artikel=502880
Danke! hab ich bis jetzt noch nicht gefunden gehabt. Hab mich für die von Pollin entschieden.

Gruß

Johannes
Benutzeravatar
exelero
Mega-User
Mega-User
Beiträge: 184
Registriert: Do, 22.01.09, 20:42
Wohnort: Norddeuschland

Mi, 18.02.09, 20:36

seltsam... welche bascomversion benutzt ihr?
meine:
Compiler version :1.11.8.7 Compiler build :1.11.8.7.001
J0sch
Mini-User
Beiträge: 7
Registriert: Fr, 13.02.09, 21:41

Mi, 18.02.09, 20:43

exelero hat geschrieben: Compiler version :1.11.8.7 Compiler build :1.11.8.7.001
Compiler version :1.11.9.3 Compiler build :1.11.9.3.001 IDE version :1.11.9.3
Benutzeravatar
exelero
Mega-User
Mega-User
Beiträge: 184
Registriert: Do, 22.01.09, 20:42
Wohnort: Norddeuschland

Mi, 18.02.09, 20:58

dann liegt es wohl an der etwas äteren version die ich von der schule aus benutzten darf...
kann man die so updaten oder muss ich mir da die neuste voner schule holen?
Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

Do, 19.02.09, 09:49

Ich glaube, da musst Du in der Schule fragen. Es gibt zwar die Möglichkeit Bascom online upzudaten, aber dafür brauchst Du eine Registrierung bei MCS. Diese wirst Du mit einer Schul-Lizenz vmtl. nicht bekommen.
Update-Anleitung: http://www.display3000.com/downloads/bascom_update.pdf
espri128
Super-User
Super-User
Beiträge: 51
Registriert: Di, 28.10.08, 11:55
Wohnort: Hessen

Do, 19.02.09, 10:23

@J0sch: finde ich ein super Projekt mit noch viiieel besserem HowTo.
Vielen Dank dafür.

grüße espri128
Antworten