Hallo liebes Forum, Aktuell arbeite ich an einem Projekt für meine doch recht große Modelleisenbahn. Ziel ist es 10 Leds auf einer Platine, welche maximal 15x7mm groß sein darf, mit nur drei oder maximal 4 Zuleitungen zu steuern. Die Zuleitung verläuft durch einen 1.6mm breiten und 1mm dicken Mast. Dieser Mast wird dann mit einer FR4 Platine ausgestattet welche die 3 Kontakte in die Anlagenplatte führt. Das händische Verlöten von Kupferlackdraht ist mir persönlich blöd und in der Stückzahl in welcher ich vorhabe die Anzeigen zu verbauen, extrem zeitraubend. Die LEDs haben alle verschiedene Farben und würden von JLCPCB bestückt werden. Meine Idee wäre, einen MC auf einer externen Steuerungsplatine zu verbauen und diese dann mit VCC, GND und einer DATA Leitung durch den Mast in die LED Platine zu verbinden. Also quasi wie jede LED einfach einzeln zu verbinden, was aber aufgrund der geringen Platzverhältnisse und dem großen Aufwand nicht möglich wäre. Außerdem wäre es dann keine Herausforderung mehr :). Auf der Platine soll dann wieder ein winziger MC sitzen, welcher die Signale decodiert und die entsprechenden LEDs einschaltet. Auf der Steuerungsplatine wird für jede LED eine Schraubklemme verbaut. Wenn auf diesem Kontakt der Stromkreis durch einen externen Decoder geschlossen wird, soll die entsprechende LED auf der LED Platine leuchten. Das Thema WS812 habe ich mir schon angesehen, aber aufgrund verschiedenster Gründe, welche zu umfangreich wären um sie alle zu nennen, wieder verworfen. Was sagt ihr zu dieser Idee? Habt ihr andere Vorschläge? Was denkt ihr, wie kann ich diese Aufgabe am besten meistern? Ich freue mich über hilfreiche Antworten, Tipps, Vorschläge aber auch über Kritik.
Charlieplexing. Deine 10 LEDs können mit 4 GPIOs und daher auch 4 Leitungen angesteuert werden. Kein Microcontroller auf der Anzeige-Platine notwendig. Die Verbindung durch den Mast lässt sich zum Beispiel mit einer doppelseitigen Flex-Platine umsetzen, ist aber natürlich alles relativ empfindlich.
WS2812 gibts im Miniformat 2020 https://www.mouser.com/pdfDocs/WS2812B-2020_V10_EN_181106150240761.pdf?srsltid=AfmBOoqjFuQkvhiO6k2oJdbcn1ipMcWNtQHW78UZNzL1wJN8pcqg7NCx 3 Leitungen Masse +5V und Data reichen. Die werden Daisy Chain, wie auf den Stripes verschaltet. Masse und ´5V parallel und Data ain Input der Ersten, Optput der ersten an Input der 2. usw. Kannste auch Kupferlackdraht für die paar cm im Mast nehmen.
> Das Thema WS812 habe ich mir schon angesehen, aber aufgrund > verschiedenster Gründe, welche zu umfangreich wären um sie > alle zu nennen, wieder verworfen. Nenne mal bitte die vermeintlich wichtigen. Diese LEDs würden Dein Problem zuverlässig lösen und der Programmieraufwand bzw. der ständige Refresh beim Charlieplexing ist mehr Arbeit als die Ansteuerung der seriell gesteuerten LEDs.
Gerald B. schrieb: > WS2812 gibts im Miniformat 2020 > https://www.mouser.com/pdfDocs/WS2812B-2020_V10_EN_181106150240761.pdf?srsltid=AfmBOoqjFuQkvhiO6k2oJdbcn1ipMcWNtQHW78UZNzL1wJN8pcqg7NCx Die gibt sogar noch viel kleiner, mit 1.1 mm Kantenlänge. https://cdn-shop.adafruit.com/product-files/5849/SK6805-EC10-000_REV.01_EN.pdf Aber der Threadstarter mag auch dieses Mal nicht darauf eingehen, warum diese LEDs nicht für ihn in Frage kommen, das war bei der letzten Signalselsbtbaudiskussion genau das gleiche. Hier hieß der Threadstarter zwar anders, aber ich habe das starke Gefühl, daß da eine enge Verwandtschaft besteht: Beitrag "Platinen Anschluss?"
Danke für eure Antworten, F. schrieb: > Charlieplexing. Deine 10 LEDs können mit 4 GPIOs und daher auch 4 > Leitungen angesteuert werden Gute Idee, allerdings habe ich auch diese Möglichkeit schon umfangreich durchdacht. Es muss wirklich jede der 10 LEDs einzeln ansteuerbar sein und auch bis zu drei verschiedene LEDs sollen kombiniert werden können. Gerald B. schrieb: > WS2812 gibts im Miniformat 2020 Für meine Prototypen habe ich bereits WS2812 im 1010 Format und mit einer unglaublichen Höhe von 0,33mm verwendet. Ben B. schrieb: > Nenne mal bitte die vermeintlich wichtigen. Diese LEDs würden Dein > Problem zuverlässig lösen und der Programmieraufwand bzw. der ständige > Refresh beim Charlieplexing ist mehr Arbeit als die Ansteuerung der > seriell gesteuerten LEDs. Natürlich, sehr gerne. Ich habe die Ws2812 Thematik schon sehr intensiv durchgearbeitet. Hauptproblem sind die schon gut sichtbaren, einzelnen Lichtpunkte welche bei geringen Leuchtstärken sehr deutlich sichtbar sind. Die Leuchtstärke kann ich aber nicht erhöhen, weil sie sonst durch die sehr dünnen Sonnblenden scheinen würden. Ich habe in die Richtung auch schon versucht mit Harz die LEDs zu verblenden oder die Blenden in mehreren Schichten mit einem sehr gut deckenden Lack zu lackieren. Erfolglos. Wenn ich die Blenden breiter gestalte, sehen sie sehr unrealistisch aus. Ich habe bereits Prototypen mit "normalen" LEDs fertiggestellt. Sie treffen genau meine Erwartungen, allerdings mit mit den oben beschriebenen Nachteilen. Im Bereich der Programmierung bin ich noch ein ziemlicher Neuling. Aber momentan hatte ich die Idee, mit dem MC auf der Steuerungsplatine vielleicht Stromstöße zu senden. Also das zb 8 Stromstöße gesendet werden und der MC auf der LED Platine erkennt dann, dass zwischen 5 und 10 Stöße gesendet wurden und schaltet die zugehörige LED 1. Das geht dann mit jeder Led und verschiedenen Werten immer so weiter. -Nur ein Gedächnisprotokoll- Was sagt ihr zu meiner Idee? Habt ihr noch Fragen?
Harald K. schrieb: > Aber der Threadstarter mag auch dieses Mal nicht darauf eingehen, warum > diese LEDs nicht für ihn in Frage kommen, das war bei der letzten > Signalselsbtbaudiskussion genau das gleiche. Lieber Harald, natürlich möchte ich auf die Probleme eingehen, um euch die Problematik vorzuzeigen. Wie schon im letzen Beitrag von mir beschrieben, sollen die LEDs nur mit einem Zehntel der eigentlich maximalen Leuchtkraft leuchten, da es sonst unrealistisch wirkt und das oben genannte Problem mit dem Durchscheinen der LEDs eintritt. Wenn ich die LEDs dann aber herunterdimme sind die einzelnen Lichpunkte vorallem bei den grünen und weißen Farbmischungen sehr deutlich sichtbar. Ich habe sie schon versucht zu verblenden aber aufgrund der geringen Platzverhältnisse ist das nur sehr schwer möglich. Oft war das nur gering aufgrtragene Harz schon im Weg um die Platinen ins dafür vorgesehene Gehäuse zu verbringen.
Also geht es Dir nicht um die Leitungen zwischen einem µC auf der LED-Platine, sondern um die Kommunikation mit diesem µC auf der LED-Platine, der dann wiederum die LEDs einfach mit seinen GPIOs einschaltet? Wenn ich das so korrekt verstanden habe, kannst Du Dir da fast jedes Bussystem aussuchen. I2C, UART/RS232 mit 5V (oder 3,3), CAN würde auch gehen... kommt auf die verwendeten Controller an. Kannst natürlich auch ein eigenes Protokoll oder 1-Wire nehmen, was mit Impulsen und Pausen arbeitet, das ist alles Deinen Programmierkünsten überlassen.
Nico schrieb: > Gute Idee, allerdings habe ich auch diese Möglichkeit schon umfangreich > durchdacht. Es muss wirklich jede der 10 LEDs einzeln ansteuerbar sein > und auch bis zu drei verschiedene LEDs sollen kombiniert werden können. Sind sie doch. Da nimmst du effiziente LEDs und einen Microcontroller, der seine Ausgänge auch ordentlich treiben kann, dann ist eine hohe Multiplexfrequenz kein Problem und führt auch nicht zu unangenehmem Flimmern. Nico schrieb: > Im Bereich der Programmierung bin ich noch ein ziemlicher Neuling. Aber > momentan hatte ich die Idee, mit dem MC auf der Steuerungsplatine > vielleicht Stromstöße zu senden. Also das zb 8 Stromstöße gesendet > werden und der MC auf der LED Platine erkennt dann, dass zwischen 5 und > 10 Stöße gesendet wurden und schaltet die zugehörige LED 1. Das geht > dann mit jeder Led und verschiedenen Werten immer so weiter. -Nur ein > Gedächnisprotokoll- > Was sagt ihr zu meiner Idee? Habt ihr noch Fragen? Du machst dir Gedanken über die absolut falschen Sachen. Die wichtigste Frage ist, wie du so viele LEDs auf so kleiner Fläche ansteuern willst. Es wird ja schon schwierig, da einen Microcontroller draufzusetzen und das entsprechend anzuschließen. Klar geht das mit einer 6-lagigen Platine, aber du wirst schon Schwierigkeiten haben, jemanden dazu zu bringen, so ein winziges Ding überhaupt zu bestücken, das macht nämlich nur Ärger. Jetzt gibt's also folgende Möglichkeiten: 1) MCU auf LED-Platine, der mit 10 GPIOs die 10 LEDs treibt 2) 11 Leitungen durch den Mast, um jede LED einzeln anzusteuern 3) Multiplexing, braucht 7 Leitungen 4) Charlieplexing, braucht 4 Leitungen 5) Individuell adressierbare LEDs, braucht 3-4 Leitungen, je nachdem, was man nimmt Die Kommunikation zwischen Microcontrollern ist übrigens absolut kein Problem. Da kann man sich einfach irgendein Protokoll aussuchen, meinetwegen auch einen langsamen UART in eine Richtung. Wir brauchen ja überhaupt keine Rückmeldung. Das ist in sehr kurzer Zeit programmiert, das Problem hier ist die starke Miniaturisierung. Wenn du sowieso Probleme damit hast, dass dir LEDs zu hell sind, dann ist Multiplexing oder Charlieplexing ja optimal für dich, dadurch werden sie automatisch etwas dunkler.
Moin, Nico schrieb: > Gute Idee, allerdings habe ich auch diese Möglichkeit schon umfangreich > durchdacht. Es muss wirklich jede der 10 LEDs einzeln ansteuerbar sein > und auch bis zu drei verschiedene LEDs sollen kombiniert werden können. Du solltest evtl. charlieplexing nochmal und deutlich umfangreicher durchdenken. Bei meinem ollen VU-Meter leuchten alle moeglichen LED-Kombinationen "gleichzeitig": Beitrag "VU-Meter mit Attiny13a statt LM3916" Und wenn man sich etwas anstrengt, werden wahrscheinlich auch noch 2 verschiedene Helligkeiten fuer jede LED unabhaenging moeglich sein. Guck' mal das Schaltbild (vumeter.pdf) an. Den linken Teil - also die 12 LEDs und 4 Widerstaende musst du irgendwie auf deine Miniplatine quetschen, der Rest kann ja dann am anderen Ende des Masts rumoxidieren. Auch der Laie erkennt sofort: Da sind 4 Leitungen zwischen der linken und der rechten Haelfte des Schaltbilds. Statt dem ganzen Analogkrams in der Schaltung (alles was unterhalb des attiny gemalt ist) koenntest zu z.b. den PB4 des attiny mittels eines seriellen (UART) Protokolls ansteuern, "gschwind" die Software anpassen und schon ist's fertig. Oder irgendwas mit einem moderneren µC... Gruss WK
Naja wenn er bereits einen µC auf seiner LED-Platine hat, dann wäre es ja kein Problem, die LEDs damit per PWM zu dimmen wenn sie ihm zu hell sind. Welche µCs sind das eigentlich und wie möchte er die programmieren wenn er da noch keine großen Kenntnisse hat? AVR-Controller und Arduino?
Nico schrieb: > Was sagt ihr zu dieser Idee? Ich kann die Lage erst einschätzen, wenn ich weiß, warum du die WS2812 ausgeschlossen hast. Nico schrieb: > Es muss wirklich jede der 10 LEDs einzeln ansteuerbar sein Leuchtet mir nicht ein. Wenn die LEDs mit 2 mA hell genug sind, kann sie problemlos 1:10 multiplexen.
Nemopuk schrieb: > wenn ich weiß, warum du die WS2812 > ausgeschlossen hast. Schrieb er, bei geringer Helligkeit würden die Einzel-LEDs als solche erkennbar werden: > Hauptproblem sind die schon gut sichtbaren, einzelnen > Lichtpunkte welche bei geringen Leuchtstärken sehr deutlich > sichtbar sind. Wobei mir dabei unklar ist, ob er das auch auf die sk6805-10 bezieht, die ja nur 1.1mm Kantenlänge haben. Wenn man deren Oberfläche mattiert bzw. einen nicht völlig opaken Lack verwendet, sollte die Lichtverteilung eigentlich kein Thema sein.
RGB-LEDs können schon ein Problem sein, wenn komische Farben gemischt werden sollen und dann auch noch eine geringe Helligkeit gefragt ist. Ein dunkles "warmweiß" mit einer WS2812 sieht tatsächlich echt nicht gut aus und im Modellmaßstab kann es durchaus sein, dass das dann unschön auffällt. Aber ist ja egal, Charlieplexing sollte bei 10 modernen LEDs überhaupt kein Problem sein. Da nimmt man einen Microcontroller, dessen GPIO ordentlich treiben kann und dann großzügig niedrige Vorwiderstände, ewig leben müssen die LEDs auch nicht und durch das Tastverhältnis vertragen die auch ein wenig mehr Strom.
Ich kann mir gerade auch nicht vorstellen, was daran so schwer sein soll, einen funktionierenden Diffusor vor die LEDs zu packen. Und wo das Problem bei Charlieplexing sein soll, weiß der Geier.
Ich weiß im Moment nicht mal, ob er sowas wie Charlieplexing oder Multiplexing überhaupt braucht, wenn er auf seiner LED-Platine bereits einen extra µC für die LEDs hat. Bei Multicolor-LEDs ist mir teilweise auch schon aufgefallen, daß die einzelnen Farben irgendwelche Linseneffekte haben. Wenn man einen Diffusor davor setzt, hat man keine einheitliche Farbe, sondern bunte Farbverläufe auf dem Diffusor und das wird nicht mal durch Anschleifen der LED deutlich besser.
Ben B. schrieb: > Also geht es Dir nicht um die Leitungen zwischen einem µC auf der > LED-Platine, sondern um die Kommunikation mit diesem µC auf der > LED-Platine, der dann wiederum die LEDs einfach mit seinen GPIOs > einschaltet? Kann man so sagen, ja. Aber bei mir sind alle Ideen von euch sehr willkommen. F. schrieb: > Sind sie doch. > Da nimmst du effiziente LEDs und einen Microcontroller, der seine > Ausgänge auch ordentlich treiben kann, dann ist eine hohe > Multiplexfrequenz kein Problem und führt auch nicht zu unangenehmem > Flimmern. Die Idee klingt auch sehr interessant und extrem vielversprechend. F. schrieb: > Die wichtigste Frage ist, wie du so viele LEDs auf so kleiner Fläche > ansteuern willst. Es wird ja schon schwierig, da einen Microcontroller > draufzusetzen und das entsprechend anzuschließen. Ja, da hast du recht. Es kommt nämlich noch besser (oder kleiner) Die kleinsten Anzeigen sollen dann nämlich nur mehr 7x7mm messen, allerdings auch nur mehr 3 Leds tragen. Zwecks der Platzverhältnisse habe ich eventuell an die Verlegung des MCs auf die Rückseite der Platine gedacht. Dergute W. schrieb: > Du solltest evtl. charlieplexing nochmal und deutlich umfangreicher > durchdenken. Das ist allerdings sehr richtig. Ich lasse mich gerne eines Besseren belehren, wenn es mir weiterhilft. Ganz zum Schluss würde ich noch gerne ein paar Dinge aufschreiben welche ich ganz cool finden würde: 1. 4 Helligkeitsstufen welche mittels Drucktaster auf der Steuerungsplatine gewählt werden können. 2. 3 Stufen der sanften ein und ausblendung. 1 LED Modus, sofortiges umschalten, 2 Glühbirnen Modus, sanftes ein und ausblenden, 3 Glühbirnen Modus langsam, exakt wie bei 2 nur noch langsamer. 3. Wenn eventuell nur drei Leitungen mit der LED Platine verbunden werden müssen. (Hardware bereits vorhanden) Vielen Dank für eure zahlreichen Antworten
Ben B. schrieb: > Bei Multicolor-LEDs ist mir teilweise auch schon aufgefallen, daß die > einzelnen Farben irgendwelche Linseneffekte haben. Wenn man einen > Diffusor davor setzt, hat man keine einheitliche Farbe, sondern bunte > Farbverläufe auf dem Diffusor und das wird nicht mal durch Anschleifen > der LED deutlich besser. Ben, du hast es auf den Punkt gebracht. Das habe ich vergessen zu erwähnen. Die WS2812 wurden bereits angeschliffen und mit einer Kuppel aus transparentem Harz welches Matt aushärtet, überdeckt. Fazit: Das Blau rechts und das Gleb links ist fast schon noch auffälliger. Ben B. schrieb: > Welche µCs sind das eigentlich und wie möchte er die programmieren wenn > er da noch keine großen Kenntnisse hat? AVR-Controller und Arduino? Ja genau. Wie für die WS2812 möchte ich die Prototypen auf einem Arduino programmieren. Für die WS2812 habe ich das auch geschafft ^^
:
Bearbeitet durch User
Neuer Versuch, selber Ansatz: Der WS2814 ist das Treiber IC, ohne LEDs, analog zum WS2811. Der WS2814 ist eigentlich für RGBW, kann aber 4 eigenständige LEDs treiben. Mit dem WS2814F gibt es eine Gehäusevariante FSOP8, die Kleinste unter mehreren Varianten. Ich persönlich habe schon mit Suffix C im SOP 8 Gehäuse gearbeitet. Wenn du vorne deine LEDs drauf machst und auf die Rückseite 4 ICs, hast du 16 Kanäle, und 15 wolltest du. Jeweils 100nF KerKo als Puffer-C neben jedem WS2814 nicht vergessen ;-) Falls es Schwierigkeiten geben sollte, mit der doppelseitigen Bestückung, machst du 2 Subboards mit jeweis 0,6mm Dicke und Dukos mit 0,7mm Durchmesser. Auf ein Board kommen die LEDs, auf das andere die Treiber. Dann legst du beide Boards übereinander, steckst 0,5mm versilberten Draht in die Dukos und verlötest beide Platinen übereinander. Castellated Holes (Briefmarkendesign mit aufgeschnittenen Dukos am Rand, wie bei den ESP Boards ginge natürlich auch. Das hat dann den selben Effekt. ICs unten und LEDs oben und ist mit 1,2mm Gesamtdicke auch nicht dicker, wie sonst eine Platine.
0. Vergiss das Multi-/Charlieplexing wenn Du schon einen µC mit einer LED pro GPIO auf Deiner LED-Platine hast. > 1. 4 Helligkeitsstufen welche mittels Drucktaster auf der > Steuerungsplatine gewählt werden können. Erfordert mindestens 2 Bit Datentransfer von der Steuerungsplatine zur LED-Platine. > 2. 3 Stufen der sanften ein und ausblendung. 1 LED Modus, > A sofortiges umschalten, 2 Glühbirnen Modus, sanftes ein und > ausblenden, 3 Glühbirnen Modus langsam, exakt wie bei 2 nur > noch langsamer. Das ist alles Deinen Programmierkünsten überlassen und ich würde das mit dem Controller auf der LED-Platine machen (per Software-PWM). Dem musst Du dann nur noch über einen Datenbus von der Steuerungsplatine aus mitteilen, was er mit welcher LED machen soll und die Programmierung des LED-Controllers muss non-blocking sein, d.h. alle Funktionen müssen gleichzeitig ausgeführt werden können. Also eine Funktion mit einer LED darf z.B. nicht die Software-PWM der anderen LEDs blockieren, sollte mit Arduino LEDC oder analogWrite kein Problem sein. > 3. Wenn eventuell nur drei Leitungen mit der LED Platine > verbunden werden müssen. (Hardware bereits vorhanden) Kein Problem, schränkt Dich auf einen 1-Wire-Datenbus ein, ist aber problemlos machbar. Welche Controller verwendest Du denn und womit willst Du sie programmieren?
Nico schrieb: > Ben B. schrieb: >> Bei Multicolor-LEDs ist mir teilweise auch schon aufgefallen, daß die >> einzelnen Farben irgendwelche Linseneffekte haben. Wenn man einen >> Diffusor davor setzt, hat man keine einheitliche Farbe, sondern bunte >> Farbverläufe auf dem Diffusor und das wird nicht mal durch Anschleifen >> der LED deutlich besser. > > Ben, du hast es auf den Punkt gebracht. Das habe ich vergessen zu > erwähnen. Die WS2812 wurden bereits angeschliffen und mit einer Kuppel > aus transparentem Harz welches Matt aushärtet, überdeckt. > Fazit: Das Blau rechts und das Gleb links ist fast schon noch > auffälliger. Von den WS2812 würdest keine 10 Stück auf deine 15x7mm bekommen. Von den WS2812B-2020 schon 10 Stück, aber nicht in einer Reihe. Wie sollen die LEDs angeordnet werden?
:
Bearbeitet durch User
Nico schrieb: > F. schrieb: >> Die wichtigste Frage ist, wie du so viele LEDs auf so kleiner Fläche >> ansteuern willst. Es wird ja schon schwierig, da einen Microcontroller >> draufzusetzen und das entsprechend anzuschließen. > > Ja, da hast du recht. Es kommt nämlich noch besser (oder kleiner) Die > kleinsten Anzeigen sollen dann nämlich nur mehr 7x7mm messen, allerdings > auch nur mehr 3 Leds tragen. Zwecks der Platzverhältnisse habe ich > eventuell an die Verlegung des MCs auf die Rückseite der Platine > gedacht. Natürlich muss der Microcontroller auf die Rückseite, anders geht's nicht. Aber dann such doch mal einen geeigneten Microcontroller, der auf deine 15x7-Platine passt und mit dem du die ganzen LEDs noch angeschlossen bekommst. Das geht schon, keine Frage. Aber layoute das doch mal mit einem entsprechenden ATTiny als Grundlage. Du willst auf jeden Fall einen Controller nehmen, den du mit dem Arduino-Ökosystem programmieren kannst. Dann wirst du sehen: Geht alles, ist aber viel Aufwand. Multiplexing löst die ganze Sache relativ elegant. Nico schrieb: > 1. 4 Helligkeitsstufen welche mittels Drucktaster auf der > Steuerungsplatine gewählt werden können. Bei Multiplexing/Charlieplexing kein Problem > 2. 3 Stufen der sanften ein und ausblendung. 1 LED Modus, sofortiges > umschalten, 2 Glühbirnen Modus, sanftes ein und ausblenden, 3 Glühbirnen > Modus langsam, exakt wie bei 2 nur noch langsamer. Wie schön du die Helligkeitsstufen hinkriegst (und das ist ja wichtig, damit das bei langsamer Helligkeitsänderung immer noch als fließend wahrgenommen wird), hängt davon ab, wie hoch deine Multiplexfrequenz ist. Muss man ausprobieren, gegebenenfalls direktere GPIO-Ansteuerung verwenden, um Zyklen zu sparen. Sollte aber kein fundamentales Problem sein. > 3. Wenn eventuell nur drei Leitungen mit der LED Platine verbunden > werden müssen. (Hardware bereits vorhanden) Du musst wissen, was du willst. Als nächstes kommt dann die Beschwerde, dass ein Microcontroller auf der Platine ja nen Euro extra kostet und das doppelseitige Bestücken und Vereinzeln dieser Winzplatine nochmal 100 Euro extra, ja, so ist das Leben halt.
Ben B. schrieb: > Kein Problem, schränkt Dich auf einen 1-Wire-Datenbus ein, > ist aber problemlos machbar. Als Kommunikationsprotokoll lässt sich alles nehmen. Ich empfehle einen UART mit niedriger Baudrate, wenn man das schon machen will. Dank niedriger Baudrate kommt man auch problemlos mit den internen RC-Oszillatoren aus. 1-Wire ist kompliziert und super langsam und hier soll ja nicht ein MCU die Ansteuerung aller LED-Platinen übernehmen, sondern ein MCU die Ansteuerung einer LED-Platine. Adressieren muss man die LED-Platine also nicht. Ein langsamer UART überträgt Daten zuverlässig und ist sehr leicht programmiert, außerdem benötigt er keine Timer oder anderen Kram. Die "modernen" ATTinys haben glaube ich alle einen Hardware-UART.
Moin, Nico schrieb: > kleinsten Anzeigen sollen dann nämlich nur mehr 7x7mm messen, allerdings > auch nur mehr 3 Leds tragen. Zwecks der Platzverhältnisse habe ich > eventuell an die Verlegung des MCs auf die Rückseite der Platine > gedacht. Wenn du den µC mit auf die LED-Platine bauen willst, wirds bei deinen Groessenvorstellungen wohl nicht anders gehen. Dumm nur, dass dann auch der Platz fuer die LEDs dank der noetigen Durchkontaktierungen knapp wird. Dagegen helfen dann "Vias-mit-Faxen" (buried, plugged, oder wie's sonst grad so heisst). Das wird dann halt nur unangenehm teuer. Und irgendwie muss der µC auch noch irgendwann mal mit Software aufgefuellt werden, d.h. irgendwie mit einem Programmer verbunden werden... Nico schrieb: > Ich lasse mich gerne eines Besseren > belehren, Besser ist's, sich selbst zu belehren, anstatt drauf zu warten, dass es ein Anderer tut. Nico schrieb: > ich ganz cool finden würde: > 1..2..3. Ist alles schon irgendwie per Software machbar. Aber halt programmiertechnisch ggf. nicht so ganz ohne... Gruss WK
Gerald B. schrieb: > Der WS2814 ist das Treiber IC, ohne LEDs, analog zum WS2811. > Der WS2814 ist eigentlich für RGBW, kann aber 4 eigenständige LEDs > treiben. Mit dem WS2814F Ahh sehr interessant. Da könnte man die "normalen" LEDs dann an den Anschlüssen für rot Gelb und Grün bzw. Weiß anschließen und in der Helligkeit im Arduino Sketch einstellen wenn ich das richtig verstehe? Das WS2814F ist für meine Platzverhältnisse recht groß. Ich bin aber auf den WS2811N gestoßen welcher augenscheinlich noch kleiner sein sollte, aber einen Ausgang weniger hat. Ich werde die Chinesischen Hyroglyphen mal entschlüsseln. Ben B. schrieb: > Das ist alles Deinen Programmierkünsten überlassen und ich würde das mit > dem Controller auf der LED-Platine machen (per Software-PWM). Dem musst > Du dann nur noch über einen Datenbus von der Steuerungsplatine aus > mitteilen, was er mit welcher LED machen soll und die Programmierung des > LED-Controllers muss non-blocking sein, d.h. alle Funktionen müssen > gleichzeitig ausgeführt werden können. Also eine Funktion mit einer LED > darf z.B. nicht die Software-PWM der anderen LEDs blockieren, sollte mit > Arduino LEDC oder analogWrite kein Problem sein. Da muss ich wohl meine Programmier Fähigkeiten auf ein neues Level bringen. Der MC sollte sich im Bereich maximal 4x4mm bewegen um ihn auf der Vorderseite lokalisieren zu können. Jörg R. schrieb: > Von den WS2812 würdest keine 10 Stück auf deine 15x7mm bekommen. Von den > WS2812B-2020 schon 10 Stück, aber nicht in einer Reihe. > > Wie sollen die LEDs angeordnet werden? Doch das geht sich mit bereits verwendeten 1010er LEDs aus. Die Anordnung steht bereits fest und ist auch ertestet. Ben B. schrieb: > Ich glaube, er will gar kein Multicolor, > er scheint einfarbige LEDs genommen zu haben. Ja genau einfärbige LEDs sind vollkommen ausreichend. Leidiglich eine LED muss in zwei Farben leuchten, was sich aber dank DoppelLEDs recht einfach realisieren lässt. Siehe: https://www.lcsc.com/product-detail/C404277.html F. schrieb: > Wie schön du die Helligkeitsstufen hinkriegst (und das ist ja wichtig, > damit das bei langsamer Helligkeitsänderung immer noch als fließend > wahrgenommen wird), hängt davon ab, wie hoch deine Multiplexfrequenz > ist. Muss man ausprobieren, gegebenenfalls direktere GPIO-Ansteuerung > verwenden, um Zyklen zu sparen. Sollte aber kein fundamentales Problem > sein. Klingt sehr interessant. In das Thema Charlieplexing werde ich mich morgen mal einlesen. F. schrieb: > Als nächstes kommt dann die Beschwerde, > dass ein Microcontroller auf der Platine ja nen Euro extra kostet In den meisten Fällen ist das so, ja. ich bezahle aber lieber ein paar Euro mehr pro Stück als den Lötkolben in die Hand zu nehmen und mich mit dem heißen Werkzeug erstens 100mal zu verbrennen, zweitens kalte Lötstellen zu haben und mit Lötzin und Lötpaste zu hantieren und zu guter letzt irgendwelche haudünnen Drähte zu verbauen, welche schon reißen, wenn man sie nur ansieht. Löten in den Massen-Nein danke. Dergute W. schrieb: > Besser ist's, sich selbst zu belehren, anstatt drauf zu warten, dass es > ein Anderer tut. Genau finde ich auch. Bei diesem Projekt sind mir aber meine Ideen ausgegangen und deswegen lasse ich mich gerne mit euren Ideen berieseln. Dergute W. schrieb: >> ich ganz cool finden würde: >> 1..2..3. > > Ist alles schon irgendwie per Software machbar. Aber halt > programmiertechnisch ggf. nicht so ganz ohne... Eine Herausforderung ist das Projekt von Anfang an, aber genau das gefällt mir richtig gut. Ständig was neues zu lernen und den Horizont zu erweitern.
Nico schrieb: > Eine Herausforderung ist das Projekt von Anfang an, aber genau das > gefällt mir richtig gut. Ständig was neues zu lernen und den Horizont zu > erweitern. Also jetzt machst du mal Folgendes: Such dir einen geeigneten Microcontroller und mach mal ein Platinenlayout damit. Dann können wir mal weiter darüber reden, denn so ist das irgendwie unsinnig. Du suchst eine Herausforderung, der wirklich herausfordernde Teil, nämlich das alles auf die Platine zu quetschen, ist dir aber noch überhaupt nicht bewusst. Dann geht's jetzt los. :) Beim Preis für die Bestückung wirst du dann mit den Ohren schlackern, denn je kleiner es wird, umso fürstlicher lassen sich die Bestücker das bezahlen.
Das grösste Problem wird sein die ganzen WS-LEDS über sehr dünne Leitungen zu versorgen. Es wird also viele Kondensatoren brauchen und damit eine Herausforderung für das Netzteil. Aber mal sehen was passiert.
Nico schrieb: > In das Thema Charlieplexing werde ich mich morgen mal einlesen. Ein Beispielprojekt kann ich dir hier anbieten: https://github.com/darc-s09/thermometer-bausatz Dort hatten wir ausreichend Pins, sodass ich die LEDs in zwei 6er-Gruppen aufgeteilt habe, die je 3 Pins brauchen. Die machen auch zwei Helligkeitsstufen gleichzeitig (also verschiedene LEDs verschieden hell). Für die Kommunikation würde ich schlicht Standard-UART nehmen: dann kannst du das einfach vom PC aus alles ausprobieren mit einem simplen USB-("TTL"-)Seriell-Wandler. Gerade geschaut, QFN-Gehäuse gibt es halt nicht mit allzu wenigen Pins. Bei den 8-Pinnern ist man dann schnell bei SOIC und damit ziemlich groß (ein SOT-23-6 reicht ja nicht). Wenn du einen ATtiny406 im 3x3 QFN-Gehäuse nimmst, dann hättest du sogar wirklich genügend Pins, um ohne Multi- oder Charlieplexing auszukommen.
Jörg W. schrieb: > Wenn du einen ATtiny406 im 3x3 > QFN-Gehäuse nimmst ... oder einen CH32V002/3. Der hat dann ebenfalls 20 Pins, womit sich jede LED auch einzeln ansteuern ließe. Den CH32V002 gibt es laut Datenblatt auch im QFN-12, das ist dann nur noch 2x2 mm groß, allerdings kenne ich keine Bezugsquelle.
:
Bearbeitet durch User
Nico schrieb: > Jörg R. schrieb: >> Von den WS2812 würdest keine 10 Stück auf deine 15x7mm bekommen. Von den >> WS2812B-2020 schon 10 Stück, aber nicht in einer Reihe. >> >> Wie sollen die LEDs angeordnet werden? > > Doch das geht sich mit bereits verwendeten 1010er LEDs aus. Die > Anordnung steht bereits fest und ist auch ertestet. Das ist ja eine vollkommen unwichtige Information. Bloß keine weiteren Informationen liefern, die könnten am Ende noch hilfreich sein. Die Information hätte in den Eröffnungsthread gehört, spätestens aber nach dem 2ten Kommentar in dem ein LED Vorschlag gemacht wurde. Jetzt liefere wenigstens detaillierte Informationen zu den bereits ausgewählten LEDs. Deine Titelzeile ist auch wenig aussagekräftig. Anschlüsse zu reduzieren suggeriert mir das es eine Schaltung gibt, die aber verändert/verbessert werden soll. Wie sieht die Schaltung aus?
:
Bearbeitet durch User
Nico schrieb: > Gerald B. schrieb: >> Der WS2814 ist das Treiber IC, ohne LEDs, analog zum WS2811. >> Der WS2814 ist eigentlich für RGBW, kann aber 4 eigenständige LEDs >> treiben. Mit dem WS2814F > > Ahh sehr interessant. Da könnte man die "normalen" LEDs dann an den > Anschlüssen für rot Gelb und Grün bzw. Weiß anschließen und in der > Helligkeit im Arduino Sketch einstellen wenn ich das richtig verstehe? > Das WS2814F ist für meine Platzverhältnisse recht groß. Ich bin aber auf > den WS2811N gestoßen Ja, jeder LED Ausgang kann 256 Helligkeitsstufen (1 byte) Der WS2811 ist im DFN Gehäuse. Das ist für mich kein bauelement, das ist Feinstaub :P Aber wenn du bestücken lässt und die dafür keine Mondpreise aufrufen, warum nicht... Du kannst Deine Signale alle in einer Reihe hintereinander schalten. Dann braust du zwar statt 3, 4 Leitungen, den Data Output dann weiterführen zum nächsten Signal... Da brauchst du keine zig µC, einer reicht, für die ganze Kette. Da es aber bei einer Bahnanlage vorkommen kann, das es von einem Signal zum nächsten mehr als 10-20 cm Datenleitung sein können, ist es nicht von Schaden, die Datensignale am Ausgang in RS485 zu wandeln und am nächsten Eingang dann wieder zurück zu wandeln. Ich habe das für Deckenspots so gemacht. Jeder Spot hat 2x MAX485, einen WS2814 und 4 Schaltregler für eine RGBW Power-LED. Da waren die Spots auch jeweils ca 1 Meter auseinader. Bis 500m Abstand sind da theoretisch möglich :-) Du kannst, wenn du 1x so einen Bus hast, auch in jedes Modellhaus so eine Platine setzen und verschiedene Räume, die Fenster zufällig ein und ausschalten. Oder Straßenlaternen usw.
Nico schrieb: > Programmier Fähigkeiten Jo, nicht nur das, aber mach das mal. Nico schrieb: > lokalisieren du meintest eher platzieren, oder? F. schrieb: > Charlieplexing. Nico schrieb: > Gute Idee, allerdings habe ich auch diese Möglichkeit schon umfangreich > durchdacht. Nico schrieb: > Klingt sehr interessant. In das Thema Charlieplexing werde ich mich > morgen mal einlesen. Du schreibst zu viel nebensächliches Zeug, kannst und weißt viel zu wenig und du widersprichst dir ständig selbst. Arbeite dich doch erstmal in die Fachthemen ein, bevor du dir noch mehr Möglichkeiten aufzählen lässt die du nicht verstehst, das bringt doch nichts... Nico schrieb: > lasse ich mich gerne mit euren Ideen berieseln. Wenn du eine Berieselung möchtest, geh doch einfach mal duschen.
:
Bearbeitet durch User
Nico schrieb: > Im Bereich der Programmierung bin ich noch ein ziemlicher Neuling. Aber > momentan hatte ich die Idee, mit dem MC auf der Steuerungsplatine > vielleicht Stromstöße zu senden. Warum nimmst du statt der "Stromstöße" nicht sowas simples wie eine serielle Schnittstelle? Funktioniert zigmilliardenfach ganz problemlos und das Beste: du bezahlst die beim Kauf des µC sowieso, es kostet nichts zusätzlich, wenn du die dann auch verwendest. > Meine Idee wäre Mach doch mal eine Skizze (mechanisch und elektrisch) statt nur mit Prosa um dich zu werfen und auf das Kopfkino der möglichen Helfer zu vertrauen. Daniel S. schrieb: > Arbeite dich doch erstmal in die Fachthemen ein In dem viertel Jahr seit dem letzten Thread zum selben Thema wäre dafür einiges an Zeit gewesen. Irgendwie sieht das hier für mich aus wie eine Totgeburt mit Ansage.
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.