Hallo zusammen, ich habe ein (erstmal kleines) Beleuchtungsprojekt im Sinn, und mir dazu auch schon einige Gedanken gemacht. Nun würde ich gerne Eure Meinung dazu hören. Was soll passieren? Eine Steuereinheit ("Master") steuert mehrere (10 bis 200 ???) ("Slaves"). Diese Slaves steuern je eine 4-Pin-RGB-LED im PWM-Betrieb. Die Verkabelung erfolgt sternförmig über mehrere Meter (Spannung und Daten vom Master an alle Slaves). Die Slaves sollen dann Farbverläufe, Wellen, equalizer und ähnlichen hübschen Schnickschnack machen, sollten Ihre aktuellen Farb-Werte (3 Bytes) also mit 25 Hz bekommen. Nun stehe ich vor dem Problem der Datenübertragung Master -> Slaves. Folgende Grundüberlegungen: - In der finalen Ausbaustufe sollen bis zu 200 Slaves mit 25 Hz Ihre Daten bekommen, es wird also eine Bandbreite von ca. 130 kBit/s benötigt. - Master und jeder Slave bekommen einen Mikrocontroller (AT-Mega bzw. tiny?) (Oder gibt es ICs die direkt PWM-Signale erzeugen und sich an irgendein protokoll halten?) - Der Master sendet alle Daten, und die Slaves picken sich durch eine individuelle Adressierung die "eigenen" Daten 'raus - Das ganze soll natürlich möglichst günstig/mit wenigen Bauteilen auskommen Folgenden Lösungsansätze sind mir dabei spontan in den Sinn gekommen, die dümmsten zuerst: - Tx des Master-UART an RX aller Slave-UARTS anschließen. Vorteil: fast keine extra-Bauteile nötig Nachteil: geht bestimmt nicht g (Signalwege mehrere Meter, Strombelastung des Sender-UART?) - I2C/TWI benutzen und alle Controller verbinden Vorteil: noch weniger Bauteile, kann mir sogar die Quarze sparen Nachteil: Keine Ahnung, geht das? Mehrere Meter ist vielleicht immernoch zu viel Kabellänge? Und da war doch was mit "nur" 112 I2C-Slaves? - RS-232 benutzen Vorteil: geht relativ sicher? Nachteil: viele externe Bauteile pro Slave (MAX232, Kondensatoren, Quarze, etc...) - RS-485 benutzen Vorteil: geht sicher (siehe DMX) Nachteil: externe Bauteile wie SN75176 nötig, Repeater alle 32 Slaves? Reichen da einfache Schmitt-Trigger an den Datenleitungen??? So, mehr ist mir noch nicht eingefallen, ich freue mich über Verbesserungen, andere Ansätze oder Meinungen/Kommentare! Danke und viele Grüße André
Da du keine Respons planst, was hindert dich ein/zwei Bustreiber an TX zu hängen und mit dem/denen je 10 max232 treiber zu zu pushen. Die slaves bekommen alle ihre Standard UART mit mäxchen davor und können zu 10-20igst ihre RXD an die TXD hängen ohne das wesentliche Spannungseinbrüche zu befürchtn seien.
Hallo, du könntest dir mal den TLC5922 anschauen. Der wird per SPI angesprochen, und kann direkt eine PWM für deine RGB-LEDs. Er hat 16 Ausgänge, du könntest also 4 LED pro Treiber anschliesen. Gruß, Steffen
Braucht man wirklich max232? Bustreiber und gut is, vll noch alle 15 Slaves deine schmitt-trittgger
@ Andre Z. (Gast) >ich habe ein (erstmal kleines) Beleuchtungsprojekt im Sinn, und mir dazu Mal was gaaanz neues ;-) >hübschen Schnickschnack machen, sollten Ihre aktuellen Farb-Werte (3 >Bytes) also mit 25 Hz bekommen. Hmm. >- In der finalen Ausbaustufe sollen bis zu 200 Slaves mit 25 Hz Ihre >Daten bekommen, es wird also eine Bandbreite von ca. 130 kBit/s >benötigt. >- Master und jeder Slave bekommen einen Mikrocontroller (AT-Mega bzw. >tiny?) OK. > (Oder gibt es ICs die direkt PWM-Signale erzeugen und sich an >irgendein protokoll halten?) AFAIK wenige, und für Bastlr schwer zu bekommen. >- Der Master sendet alle Daten, und die Slaves picken sich durch eine >individuelle Adressierung die "eigenen" Daten 'raus Nennt sich DMX512 ;-) >- Das ganze soll natürlich möglichst günstig/mit wenigen Bauteilen >auskommen Was ist "günstig" bei dir? 5 Euro für alles? >- Tx des Master-UART an RX aller Slave-UARTS anschließen. >Vorteil: fast keine extra-Bauteile nötig >Nachteil: geht bestimmt nicht g (Signalwege mehrere Meter, >Strombelastung des Sender-UART?) Unter anderen. Vergiss es. >- I2C/TWI benutzen und alle Controller verbinden >Vorteil: noch weniger Bauteile, kann mir sogar die Quarze sparen >Nachteil: Keine Ahnung, geht das? Mehrere Meter ist vielleicht immernoch >zu viel Kabellänge? Und da war doch was mit "nur" 112 I2C-Slaves? Es gibt 10 Bit Addressierung. Aber elektrisch schafft das I2C nimmer. >- RS-232 benutzen >Vorteil: geht relativ sicher? >Nachteil: viele externe Bauteile pro Slave (MAX232, Kondensatoren, >Quarze, etc...) Dito. Elektrisch nicht wirklich machbar. >- RS-485 benutzen >Vorteil: geht sicher (siehe DMX) Eben ;-) >Nachteil: externe Bauteile wie SN75176 nötig, Repeater alle 32 Slaves? Uhhh, vergiss diesen Dinosaurier. Nimm was moderenes, die Stromrechnung wird es dir danken. Ausserdem gibt es 1/8 Load Empfä nger, da kann man ganz offizielle 256 Slaves an einen Bus schalten. Fettig. >Reichen da einfache Schmitt-Trigger an den Datenleitungen??? Nein. RS485 ist differentiell, aus gutem Grund. Ergo. Nimm DMX und gut. Wenn du einen Slew Rate Limited Driver nimmst, läuft das Ganze auch ohne Terminierung und bei wilder sternförmiger Verkabelung. MFG Falk
@ Jens (Gast) >Braucht man wirklich max232? Nöö, den verkauft Maxim nur an Dumme. >Bustreiber und gut is, hmm, was wohl ein MAX232 sein soll . . .? > vll noch alle 15 Slaves deine schmitt-trittgger Und fertig ist der planlose Murks. Mahlzeit. MFG Falk
Danke schonmal für die Antworten! @ Bereits Fort (Firma D.ade) (bereitsfort) @ Steffen O. (derelektroniker) Habe mich wohl missverständlich ausgedrückt wie die Verkabelung aussehen soll. Je ein Slave hängt mit einer Leuchte am Ende eines längeren Kabels. Aber das mit dem TLC5922 merke ich mir trotzdem! Und Frage am Rande: Kann man einfach so mehrere MAX232 oder Konsorten "Parallel" hängen, um Ihre Belastbarkeit zu erhöhen?? @ Falk Brunner (falk) >>- Der Master sendet alle Daten, und die Slaves picken sich durch eine >>individuelle Adressierung die "eigenen" Daten 'raus >Nennt sich DMX512 ;-) Ja, hab mir schon irgendwie gedacht das es darauf hinausläuft, aber evtl. hätten sich ja Alternativen ergeben g >>- Das ganze soll natürlich möglichst günstig/mit wenigen Bauteilen >>auskommen >Was ist "günstig" bei dir? 5 Euro für alles? Na ja, wenn ich mir davon mal wirklich 200 ins Wohnzimmer hängen will, ist es schon ein Unterschied ob ich noch 200 Quarze und 200 MAX-Wasauchimmer kaufen muss. Und mir hat die Vorstellung gefallen, für jeden Slave quasi nur den AT-Wasauchimmer und 3 Vorwiderstände zu benötigen, am besten noch freischwebend verlötet :) >>Nachteil: externe Bauteile wie SN75176 nötig, Repeater alle 32 Slaves? >Uhhh, vergiss diesen Dinosaurier. Nimm was moderenes, die Stromrechnung >wird es dir danken. Ausserdem gibt es 1/8 Load Empfä nger, da kann man >ganz offizielle 256 Slaves an einen Bus schalten. Fettig. Hmm, klingt vernünftig! Kannst Du mir konkret einen nennen? Sind die pinkompatibel zum SN75176? >>Reichen da einfache Schmitt-Trigger an den Datenleitungen??? >Nein. RS485 ist differentiell, aus gutem Grund. Aber doch trotzdem TTL, nur einnmal invertiert? Je einen Schmitt-Trigger pro Datenleitung, wieso würde das nicht gehen? >Ergo. Nimm DMX und gut. Wenn du einen Slew Rate Limited Driver nimmst, >läuft das Ganze auch ohne Terminierung und bei wilder sternförmiger >Verkabelung. Bitte noch um eine Erläuterung des "Slew Rate Limited Driver" Vielen Dank jedenfalls schonmal André
@ Andre Z. (Gast) >Und Frage am Rande: Kann man einfach so mehrere MAX232 oder Konsorten >"Parallel" hängen, um Ihre Belastbarkeit zu erhöhen?? Theroretisch ja, praktisch aber sinnlos. >Na ja, wenn ich mir davon mal wirklich 200 ins Wohnzimmer hängen will, >ist es schon ein Unterschied ob ich noch 200 Quarze und 200 >MAX-Wasauchimmer kaufen muss. Ein 8 MHz Quarz kostet bei Angelika 24 Cent, macht bei 200 Stück 48 Euro. Die LEDs kosten ein Vielfaches. >Hmm, klingt vernünftig! Kannst Du mir konkret einen nennen? MAX483. 1,75 bei Angelik. Den brauchst du aber nur 1x für dem Master. Die Empfänger können den billigsten MAX485 oder ähnlich verwenden. > Sind die pinkompatibel zum SN75176? Ja. >Aber doch trotzdem TTL, nur einnmal invertiert? Nein. Die Signale können +12 und -7 V Masseverschiebung haben. Das macht der MAX für dich. Der ist sein Geld wert. > Je einen Schmitt-Trigger pro Datenleitung, wieso würde das nicht gehen? Wegen der Masseverschiebung. (Ist das jetzt Dativ oder Genitiv? ;-) >Bitte noch um eine Erläuterung des "Slew Rate Limited Driver" Das sind RS485 Sender, die besonders langsam schalten. Damit bekommt man bei moderaten Kabellängen keine Reflexionen, siehe Wellenwiderstand. Zum Vergleich die minimalen Anstiegszeiten: MAX485: 3ns! MAX483: 250ns MFG Falk
Klingt alles sehr plausibel, werde ich so machen, Danke für die Tips! Werde mal ein paar Test-Slaves mit ATtiny2313 bauen, das scheint der günstigste für meinen Zweck zu sein (Hard-PWM, UART, 0,95 EUR bei Reichelt) Grüße André
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.