Maximale Anzahl von Schieberegistern an ESP8266

Hallo,
dies ist mein erster Eintrag hier in diesem Forum, nachdem ich hier schon viel mitgelesen habe.
Ich arbeite an einer Beleuchtung für meine Modelleisenbahn. Dabei benutze ich einen ESP8266, und habe an diesen bislang 2 kaskadierte Schieberegister (74HC595) angeschlossen, und mir eine App programmiert, mit der ich die 16 angeschlossenen LEDs ansteuern kann (daher ESP8266). Dies klappt auch soweit hervorragend.
Ich möchte das ganze jetzt erweitern, habe aber noch keine "Informationen" gefunden, wie viele Schieberegister und somit auch LEDS ich insgesamt anschließen kann, ohne dass mein Board überlastet wird. Geplant sind insgesamt ca. 7 Scheiberegister, also ca. 56 LEDS. Bislang versorge ich mein Board über den Micro-USB Anschluss und eine Powerbank (5v, 2A) mit Strom. Macht es einen Unterschied, wenn ich auf eine Einspeisung über den Vin-Pin umsteige? Über kurze Antworten würde ich mich schon sehr freuen.

Wie versorgst Du die LED?

Gruß Tommy

Bislang über den Vin-Pin, so wie das in den meisten Beispielen gezeigt ist.

Da solltest Du bei mehr LED für die LED und die Schieberegister? (Steuerst Du die LED gegen HIGH oder LOW) eine extra Versorgung vorsehen.

Gruß Tommy

Warum Schieberegister?

Es gibt schöne LED Driver ICs die extra für den LED Anschluss gemacht sind. Warum schaust dir die nicht mal an?

der MAX7219 für 64 LEDs in einer Matrix, SPI Anschluss, kaskadierbar.
der HT16K33 für eine Matrix von 128 LEDs, I2C Bus, mit bis zu 8 verschiedenen I2C Adressen
der SX1509 für diskrete 16 LEDs, auch I2C Bus. Jede einzelne LED PWM fähig, pulsebar, blinkbar, ganz ohne weiteres Zutun des Microkontrollers. Befehl absetzen und den Chip den Rest überlassen.

Für alle 3 gibts bastlerfreundliche Breakout Boards.

Was für ein ESP8266 ist das überhaupt ?
Es gibt ja nicht nur einen.

Zuerst einmal sollte jede Last (hier Schieberegister und LED) nicht vom Controller versorgt werden, sondern von einem eigenen Netzteil. Das darf dann ggf. noch den Controller versorgen, nur umgekehrt sollte man das nicht machen. Dabei auf die ggf. unterschiedlichen Versorgungsspannungen von Controller und Schieberegister achten und bei Bedarf Level-Shifter oder (bei langen Leitungen) Leitungstreiber dazwischenschalten.

Bei mehreren Schieberegistern kommt es drauf an, ob die parallel oder seriell (hintereinander) zusammengeschaltet werden. Viele Eingänge am selben Ausgang sowie lange Leitungen können eine langsamere Datenübertragung notwendig machen.

Erstmal vielen Dank für alle Antworten!
Es handelt sich um diesen ESP8266: https://www.amazon.de/AZDelivery-NodeMCU-ESP8266-ESP-12E-Development/dp/B0754HWZSQ/ref=sr_1_3?__mk_de_DE=ÅMÅŽÕÑ&crid=2A2DS6QZP2C6X&dchild=1&keywords=esp8266&qid=1607323536&sprefix=esp+%2Caps%2C191&sr=8-3
Ich habe mich bisher auf Schieberegister beschränkt, weil es hier die meisten Tutorials gab, die anderen vorgeschlagenen Möglichkeiten gucke ich mir gerade noch an.
Ich habe bisher Pin 8 & Pin 13 mit GND, Pin 10 & Pin 16 mit 5v verbunden.
Ich sollte diese Pins also nicht mehr vom Board aus, sondern über eine externe Stromquelle versorgen, sodass das Board nur noch die Datenübertragung übernimmt?
Grüße,
Johann

Hallo,

HotSystems:
Was für ein ESP8266 ist das überhaupt ?
Es gibt ja nicht nur einen.

Ich kenne eigentlich nur einen ESP8266. :slight_smile:

Mit 8x TPIC595 für eine Uhr sowohl mit Nixie als auch VFD hat er hier keine Probleme, Versorgung der Last natürlich nicht vom (D1 mini) ESP8266 Modul,, von da kommt nur die Ansteuerung.

Und was hat sich hier nun wieder mit dem Quote geändert???
Naja, dafür ging der Login ja fast sofort...

Gruß aus Berlin
Michael

[/quote]

amithlon:
Hallo,

Ich kenne eigentlich nur einen ESP8266. :slight_smile:

Jetzt verwirrst du den TO sicher.

Und was hat sich hier nun wieder mit dem Quote geändert???

Da hat sich eigentlich nichts verändert.
Zumindest funktioniert es bei mir.

Dein Controller arbeitet mit 3,3V, reicht Dir das auch für die LED an den Schieberegistern? Sonst müssen die Schieberegister bei Vcc=5V immer noch mit den Signalpegeln klar kommen, die der Controller liefert (3.3V).

esp8266-fan:
Hallo,
dies ist mein erster Eintrag hier in diesem Forum, nachdem ich hier schon viel mitgelesen habe.

Dann Hallo und willkommen!

Dann hast Du möglicherweise schon mitbekommen, daß ich nur ESP32 habe, wäre eventuell auch für Dich eine Überlegung wert, bist ja kein Anfänger :wink:

esp8266-fan:
Ich arbeite an einer Beleuchtung für meine Modelleisenbahn.
... habe aber noch keine "Informationen" gefunden, wie viele Schieberegister und somit auch LEDS ich insgesamt anschließen kann, ohne dass mein Board überlastet wird. ...

Dazu drei Überlegungen:

  • Wie weit sind die Schieberegister voneinander entfernt? Sie über die ganze Anlage zu verteilen, wäre kein gute Idee.

  • Jedes Schieberegister hat zwischen Eingang und Ausgang eine Verzögerungszeit. Durch Kaskadierung addieren sich logischerweise diese Zeiten. Hat das letzte IC noch keinen stabilen Zustand am Eingang, es kommt aber schon der nächste Takt, geht's schief.

Die Anzahl der maximal kaskadierbaren ICs hängt also mit der Taktfrequenz an den ICs ab und kann daher nicht allgemein angegeben werden. Wie schnell dürfen die ICs getaktet werden, wenn ich x ICs kaskadiert habe, wäre die umgekehrte Frage. Der benötigte Takt hängt dann wieder von der Art der Animation, also an/aus, flackern, gedimmt ab.

  • Beim Wort "Überlastung" bin ich nicht sicher, was Du meinst. Der ESP8266 ist schnell genug und hat auch genügend Speicher, um eine normale Hobbyanlage zu bespaßen.

Beim Strom solltest Du Logik und Leistung klar trennen. Was auf einem Board verbaut ist, soll den µC und ein wenig Drumrum versorgen können, mehr nicht. LEDs gehören zum Leistungsteil und erfordern eine eigene Stromversorgung. Vorsichtige Menschen trennen Logik und Leistung galvanisch, also per Optokoppler. In der Industrie ist das Standard.

esp8266-fan:
Ich arbeite an einer Beleuchtung für meine Modelleisenbahn. ...

Grundsätzlich bietet sich eine dezentrale Steuerung an. Ein ESP8266/32 als Zentrale ist nicht schlecht für eine App. Quer über die Anlage ein störunempfindlicher Bus, lokal dann beispielsweise ein Nano oder MEGA 2560 PRO mit Schieberegistern oder anderen ICs zur LED-Bespaßung. So ein System ist leicht erweiterbar.

Das wäre so mein Ansatz, womit sich die Frage nach ganz vielen Schieberegistern dann auch nicht mehr stellt ;D

Warum überhaupt Schieberegister, wenn sich das leicht mit Led-Stripes lösen lässt.
Da wird dann keine "zusätzliche" Hardware nötig. Ok, evtl. ein bissel Hühnerfutter. :wink:

noiasca:
beim heutigen Kupferpreis bekommt man ja eh einen ESP billger als eine Rolle Kabel, insofern könnte man sowieso jedem Häuschen einfach einen ESP spendieren - anstatt zu jedem Haus mehr als nur VCC/GND zu ziehen 8)

10 Stück ESP8266-12E für 13 Dollar beim FC...

Damit wird es für den TO ja nicht einfacher.

Warum kein Wemos D1 mini ? Die sind nicht viel teurer.

HotSystems:
Warum überhaupt Schieberegister, wenn sich das leicht mit Led-Stripes lösen lässt.

Weil Modellbauer LEDs verwenden möchten, die es als "Led-Stripes" mit Controller im Lichtpunkt nicht gibt. Das hängt natürlich auch vom Maßstab der Anlage ab.

Früher war man stolz auf eine Glühbirne je Haus, jetzt dürfen es einige LEDs pro Haus sein. Hängt also auch vom Anspruch des Modelleisenbahners ab.

All das wissen wir leider nicht, also essen wir Spekulatius ;D

agmue:
Weil Modellbauer LEDs verwenden möchten, die es als "Led-Stripes" mit Controller im Lichtpunkt nicht gibt. Das hängt natürlich auch vom Maßstab der Anlage ab.

Früher war man stolz auf eine Glühbirne je Haus, jetzt dürfen es einige LEDs pro Haus sein. Hängt also auch vom Anspruch des Modelleisenbahners ab.

Ich habe aber auch schon Bahnen mit einzelnen "Stripe-Leds" gesehen, die also voneinander getrennt wurden.
Bedeutet zwar, pro Led 3 - 4 Leitungen, je nach Type. Dafür wird der Rest aber einfacher.

All das wissen wir leider nicht, also essen wir Spekulatius ;D

Gute Idee, werde mich da mal ran machen. :wink:

Vielen Dank für die vielen Antworten! Mir ist schon bewusst, dass es sich bei dem Board eigentlich um einen "Nodemcu" handelt, da ich diese Vokabel aber fast nirgendwo lese, habe ich jetzt die aus meiner Sicht häufiger benutzte Bezeichnung gewählt.

Ich wollte das ganze eigentlich mit dreimal zwei Schieberegistern an drei Stellen in der Anlage realisieren, um an jedem Punkt 16 Ausgänge zu haben. Die Idee für die LEDs einfach eine externe Stromversorgung zu verwenden ist total einleuchtend, ich bin da vorher einfach nicht darauf gekommen, da in den meisten Beispielen einfach alles an das Board angeschlossen wird.
Zu der Idee viele Boards statt der Register zu verwenden: Ich dachte, dass es einfacher ist, sich auf ein Board zu beschränken, und nicht 10 Boards mit einer App ansprechen zu müssen.
Grüße,
Johann

esp8266-fan:
Ich wollte das ganze eigentlich mit dreimal zwei Schieberegistern an drei Stellen in der Anlage realisieren, ...

Alle Schienen und Leitungen bilden Antennen, die in unterschiedlichsten Frequenzen senden. Das gilt grundsätzlich für alte analoge wie neue digitale Anlagen. Daher werden Signale per Leitung oder Funk möglicherweise gestört.

Bei verteilten Schieberegistern mußt Du daher mit Störungen auf den Leitungen rechnen. Eine Fehlererkennung gibt es da nicht. Abgeschirmte Kabel könnten eine Verbesserung bringen, würde ich daher gleich einplanen. Ob diese Variante funktioniert? Ich weiß es leider nicht.

Das kannst Du genauso ausprobieren wie die Kommunikation der ESPs. Dann bräuchtest Du nur eine Stromversorgung zu verlegen.

Als Zwischenvariante gäbe es noch die Kommunikation der dezentralen µCs mittels einer störunemfindlichen kabelgebundenen Variante wie beispielsweise CanBus oder seriell mit Differenzsignalen (RS485).

noiasca:
also ich finde ein verteiltes Netzwerk mit 7 ESP's (in welcher Form auch immer) übersichtlich als ein Grab mit 7 Schieberegistern und einen Wulst von 56 Litzen. Außerdem hat er sich ja als ESP8266-fan ... und nicht als Schiebergister-Fan angemeldet

Da gebe ich dir auch Recht.
Nur der von dir vorher genannte ESP8266-12E ist ja der reine ESP ohne USB-Chip usw. Damit wird es nicht einfacher.
Deswegen der Tipp mit dem Wemos.

Aber wer auf Schieberegister steht, soll seinen Spass haben.

Mein Favorit wäre hier immer noch die Einzelnen intelligenten Leds.
Die gibt es ja auch in unterschiedlichen Bauformen.

Zu der Idee viele Boards statt der Register zu verwenden: Ich dachte, dass es einfacher ist, sich auf ein Board zu beschränken, und nicht 10 Boards mit einer App ansprechen zu müssen.

ich glaube der "App" soll es ganz egal sein ob sie Befehle in der Art schickt:

http://192.168.0.101/set?port1=on
http://192.168.0.101/set?port2=on
http://192.168.0.101/set?port3=off

oder
http://192.168.0.101/set?port1=on
http://192.168.0.102/set?port1=on
http://192.168.0.103/set?port1=off

Aber wenn du dich mit Schieberegister (warum eigentlich keine LED Treiber?!?) wohler fühlst...

Others:
(bitte keine voreilige Diskussion warum http wo doch pures TCP oder UDP so viel kürzer wäre... bitte... es ist nur ein Beispiel)