Forum: Mikrocontroller und Digitale Elektronik Viele Drucktaster und LEDs ansteuern


von Manfred L. (manni)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe für meine Modelleisenbahn ein Bedienpanel erstellt, siehe 
attached Bild. Dieses enthält:
- 38 Drucktaster zum Stellen der Signale
- 38 Duo-LEDs zur Anzeige der Stellung der Signale, rot oder grün
- 20 Drucktaster zum Stellen der Weichen
- 40 grüne LEDs zur Anzeige der Stellung der Weichen
Die LEDs benötigen nur einen Strom von ca. 3mA.

Frage:
Ich möchte diese Tasten und LEDs mit einem 8-Bit Atmel AVR Controller 
ansteuern, bzw. auslesen. Habt ihr Ideen, wie man sowas implementieren 
kann ?

Ich bedanke mich schon jetzt für Eure Vorschläge.

Gruß Manni

von Chris V. (nagut)


Lesenswert?

Sehr hübsch. :-)

Hier der Link zum Artikel über LED-Matrixansteuerung:
https://www.mikrocontroller.net/articles/LED-Matrix

Mit Tasten kann man das im Prinzip genauso machen:
https://www-user.tu-chemnitz.de/~heha/Mikrocontroller/Tastenmatrix.htm

...und man kann auch beides miteinander kombinieren und noch mehr Pins 
sparen, indem man die Spaltenleitungen für beide Matrizen nutzt.

Du brauchst 58 Taster und 116 LEDs. Das ginge mit z.B.
8 kombinierten Spalten,
8 Zeilen für die Taster -> max. 8x8=64 Taster
16 Zeilen für die LEDs -> max. 16x8=128 LEDs.

Der ATmega2560 hat mehr als genug Pins dafür und ist gut erhältlich - 
bei Bedarf auch auf Lochraster-freundlichen Boards.

von Max D. (max_d)


Lesenswert?

Softwarelastige Lösung: 10x12 Matrix (brauchst wsl Spaltentreiber mit 
nem n-mos)
Hardwarelastige Lösung: Schieberegister oder Portexpander hintereinander 
hängen

Für einen Mix könntest du die LEDs auch durch addressierbare (findet man 
unter ebay als "ws2812 5mm") Versionen ersetzen und nur die Taster in 
ner Matrix lesen

von Frederic S. (frederics)


Lesenswert?

Max D. schrieb:
> Für einen Mix könntest du die LEDs auch durch addressierbare (findet man
> unter ebay als "ws2812 5mm") Versionen ersetzen und nur die Taster in
> ner Matrix lesen

Das finde ich eine gute Lösung.

Falls das nicht möglich/nicht gewünscht ist kann ich den MCP23017 als 
I2C Portextension empfehlen, da jeder IO Pin einzel als Input oder 
Output konfiguriert werden kann und so die Verkabelung wesentlich 
einfacher werden kann.

von Falk B. (falk)


Lesenswert?

Manfred L. schrieb:
> ich habe für meine Modelleisenbahn ein Bedienpanel erstellt, siehe
> attached Bild. Dieses enthält:

Ist es Zeitgeist oder grassierender Schwachsinn, daß Leute immer mehr 
Anglizismen verwenden, wo man problemlos deutsche Worte verwenden kann?

Das Bild ist angehangen ober beigefügt. Schon mal was davon gehört?

von Peter (pittyj)


Lesenswert?

Frederic S. schrieb:
>
> Falls das nicht möglich/nicht gewünscht ist kann ich den MCP23017 als
> I2C Portextension empfehlen, da jeder IO Pin einzel als Input oder
> Output konfiguriert werden kann und so die Verkabelung wesentlich
> einfacher werden kann.

Ich würde auch die Portexpander nehmen. Da braucht man keine zeitgenauen 
Schleifen, sondern setzt einmal die LED, und gut ist es.
Bei der Eingabe-Seite kann man sich einen Input erzeugen lassen, falls 
ein Taster gedrückt wurde. Und braucht auch nur dann reagieren.
Der MCP23017 hat 3 Adressleitungen, man kann also 8 Stück an einen I2C 
Bus hängen. Das wären 128 IOs.

Den Chip gibt es auch als SPI-Version. Da könnte man endlos verlängern.

von Rahul D. (rahul)


Lesenswert?

[Offtopic]
Falk B. schrieb:
> Ist es Zeitgeist oder grassierender Schwachsinn, daß Leute immer mehr
> Anglizismen verwenden, wo man problemlos deutsche Worte verwenden kann?
Naja, "Bedienpanel" fällt inzwischen wohl unter Lehnwort, wobei man im 
(Mdell-) Bahnbereich präziser "Stellpult" schreiben könnte.

> Das Bild ist angehangen ober beigefügt. Schon mal was davon gehört?

"angehangen"? Wohl eher "angehängt", "im Anhang"; aber irgendwelchen 
Dialekt muss auch nicht jeder verstehen. ;)

[/Offtopic]

Manfred L. schrieb:
> - 38 Drucktaster zum Stellen der Signale
> - 20 Drucktaster zum Stellen der Weichen
Acht Achtbitschieberegister Parallel rein, seriell raus.

> - 40 grüne LEDs zur Anzeige der Stellung der Weichen
> - 38 Duo-LEDs zur Anzeige der Stellung der Signale, rot oder grün
pro Duo-LED brauchst du zwei Ausgänge, auch wenn die nur zwei "Beinchen" 
haben. Dreibeinige könnten auch noch eine dritte Farbe darstellen.

WS2811-LED-Control lassen sich ziemlich gut für sowas "missbrauchen".
Damit könnte man pro Baustein drei LEDs ansteuern.
Die gibt es fertig auf Platinen verlötet nachgeschmissen.
Es gibt auch vierkanalige LED-LED-Controller (für RGBW-LEDs) - die 
sollten auch gehen.
Meine Häuser (und anderen Beleutchtungsartikel inkl. LED-Signalen) auf 
der Modellbahnanlage werden mit WS2811 problemlos angesteuert.

Für das Stellpult ("Bedienpanel") nutze ich noch das Rückmeldesignal der 
Weichen - geht bei Servoantrieben nicht unbedingt.

von Obelix X. (obelix)


Lesenswert?

Die WS28xx-Lösung hätte auch den Vorteil, dass sie sehr einfach 
erweiterbar ist.

von J. S. (jojos)


Lesenswert?

https://www.mikrocontroller.net/articles/Porterweiterungen

Noch ein Klassiker aus der Artikelsammlung.

von Bauform B. (bauformb)


Lesenswert?

Peter schrieb:
> Bei der Eingabe-Seite kann man sich einen Input erzeugen lassen, falls
> ein Taster gedrückt wurde. Und braucht auch nur dann reagieren.

s/Input/Interrupt/
Ein überaus nettes Feature der meisten Port-Expander. Da kann keine 
Matrix mithalten. Eine Matrix vereinfacht auch nicht die Verdrahtung, 
wenn die einzelnen Taster weiter entfernt sind.

Die LEDs würde ich zwecks EMV statisch ansteuern, mit LED-Treibern wie 
z.B. IS31FL3265A oder PCA9955. Das ist immer noch per I2C, aber Daten 
werden nur bei Änderungen übertragen. Bonus: programmierbarer 
Konstantstrom (Signale nachts dunkler), Diagnose gegen Kurzschlüsse und 
Unterbrechungen, I2C Broadcast, können auch viele LED in Reihe treiben.

von Peter D. (peda)


Lesenswert?

Max D. schrieb:
> Für einen Mix könntest du die LEDs auch durch addressierbare (findet man
> unter ebay als "ws2812 5mm") Versionen ersetzen und nur die Taster in
> ner Matrix lesen

Kommen denn die ws2812 mit den genannten 3mA aus?
Ich nehme ja gerne den MM5450 mit 34 Konstantstromausgängen.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Max D. schrieb:
> Softwarelastige Lösung: 10x12 Matrix
Und auch sehr verdrahtungslastige Lösung.

Bauform B. schrieb:
> aber Daten werden nur bei Änderungen übertragen.
Ganz schlecht, denn wenn 1x eine Übertragung schief geht, dann wird das 
bis zur nächsten Änderung nicht wieder korrigiert. Ich halte das 
Prozessabbild im Speicher meines µC und sorge durch ständiges Schreiben 
der Ausgänge und Einlesen der Eingänge dafür, dass mein Prozessabbild 
mit der Realität übereinstimmt.

Manfred L. schrieb:
> Ich bedanke mich schon jetzt für Eure Vorschläge.
Nimm Schieberegister. Da kannst du mit kleinen Platinchen hinter der 
Platte  jeweils 8 Ein- bzw. Ausgänge gruppieren und mit jewils nur 
kurzen Leitungen verdrahten.

Obelix X. schrieb:
> Die WS28xx-Lösung hätte auch den Vorteil, dass sie sehr einfach
> erweiterbar ist.
So wie jede andere Schieberegisterlösung eben auch: 1 Schieberegister 
dazu --> 1 Byte mehr rausschieben.

Rahul D. schrieb:
> pro Duo-LED brauchst du zwei Ausgänge, auch wenn die nur zwei "Beinchen"
> haben. Dreibeinige könnten auch noch eine dritte Farbe darstellen.
Auch 2-beinige LED können die dritte Farbe darstellen, wenn man sie 
schnell genug umschaltet.

> Für das Stellpult nutze ich noch das Rückmeldesignal der Weichen
Das erscheint mir sinnvoll, denn dann zeigt die LED nicht nur an, wie 
mal will, dass die Wiche gestellt ist, sondern wie sie tatsächlich 
steht. Und wenn nach 10-maligem Knopfdürcken die LED immer noch nicht 
umschaltet, dann reagiert die Weiche nicht.

[OT]
>> Das Bild ist angehangen ober beigefügt. Schon mal was davon gehört?
> "angehangen"? Wohl eher "angehängt", "im Anhang"; aber irgendwelchen
> Dialekt muss auch nicht jeder verstehen. ;)
Es ist kein Problem mit dem Dialekt, sondern mit den starken und 
schwachen Verben.
- https://www.duden.de/rechtschreibung/anhaengen_starkes_Verb
- https://www.duden.de/rechtschreibung/anhaengen_angehaengt
- https://www.duden.de/konjugation/anhaengen_angehaengt

"Ich habe angehangen" ist üblicherweise die Vergangenheit (z.B. mal 
einer Gruppierung angehangen zu haben) und "ich habe angehängt" ist die 
Gegenwart.

- 
https://www.gutefrage.net/frage/hallo-ich-habe-angehangen-im-folgenden-zusammenhang-gehoert-und-dachte-mir-warum-angehaengt-nicht
Insofern

von Gerald B. (gerald_b)


Lesenswert?

Von Holtek der HT16K33 ist als als Displaytreiber für LED Anzeigen 
bekannt, kann aber mehr. Neben 16x8 Matrix LED kann er auch noch einen 
Haufen Tasten abfragen. Wenn das immer noch nicht reicht, ist er auch 
noch kaskadierbar. 8 Stck lassen sich über I2C unterschiedlich 
adressieren. Das sollte wohl langen.
https://cdn-shop.adafruit.com/datasheets/ht16K33v110.pdf

von Rahul D. (rahul)


Lesenswert?

[OT]
Lothar M. schrieb:
> "Ich habe angehangen" ist üblicherweise die Vergangenheit (z.B. mal
> einer Gruppierung angehangen zu haben) und "ich habe angehängt" ist die
> Gegenwart.
Dialekt im Sinne von regionalem "Slang" / Mundart.
Hier im Echten Norden, wird höchtens von Zugereisten / Zugezogenen so 
gesprochen.
> "ich habe angehängt" ist die Gegenwart.
"ich hatte angehängt" ist die Vergangeheit.
Hat aber nichts mit einer Gruppenzugehörigkeit zu tun (zumindest für 
mein Sprachverständnis; und ich bin schon mit einer Frau aus einem 
"interessanten" Sprachkreis (Pfalz) verheiratet...)
[/OT]

Lothar M. schrieb:
> Auch 2-beinige LED können die dritte Farbe darstellen, wenn man sie
> schnell genug umschaltet.

Aber nicht bis 0Hz runter... ;)
Außerdem braucht man Push-Pull-Ausgänge. Dreibeinige kann man mit 
Open-Collector-Ausgängen (wie bei vielen  den meisten  allen 
Lokdekodern üblich) dreifarbig schalten.

Lothar M. schrieb:
> Das erscheint mir sinnvoll, denn dann zeigt die LED nicht nur an, wie
> mal will, dass die Wiche gestellt ist, sondern wie sie tatsächlich
> steht
Um die Information dann auch einem Stellpult-Controller (µC oder PC) zur 
verfügung zu stellen, kann man das Signal dann noch an einen Optokoppler 
weiterleiten.

von Rainer W. (rawi)


Lesenswert?

Peter D. schrieb:
> Kommen denn die ws2812 mit den genannten 3mA aus?

Es ist ein Unterschied, ob die aktuell verbauten LEDs 3mA benötigen oder 
ob 3mA pro LED zur Verfügung stehen ;-)

von Jochen A. (lok01)


Lesenswert?

Könntest auch ein i2c Bus für die Tasten machen

24AA02UID-I/P-ND IC mit individuellen Adressen . Senkt den 
Verdrahtungsaufwand.

von Michael B. (laberkopp)


Lesenswert?

Manfred L. schrieb:
> Ich möchte diese Tasten und LEDs mit einem 8-Bit Atmel AVR Controller
> ansteuern, bzw. auslesen. Habt ihr Ideen, wie man sowas implementieren
> kann ?

Also 58 Taster und 116 LEDs, das sind schon mal 350 Lötverbindungen.

Manfred L. schrieb:
> Die LEDs benötigen nur einen Strom von ca. 3mA.

Somit kann man sie mit 20mA für 1/8 der Zeit bestromen für dieselbe 
Helligkeit. Das ist gut, weil es Matrixverschaltung erlaubt und 20mA 
schafft ein Atmel AVR direkt, du brauchts also keine zusätzlichen ICs 
nur 27 I/O Pins.

LED Matrix heisst an jedem Knotenpunkt der 8 Zeilen und 15 Spalten je 
eine LED von Zeile nach Spalte, und Tastenmatrix heisst an jedem 
Knotenpunkt je ein Taster (falls mehr als 1 Taste gleichzeitig gedrückt 
werden können soll jeweils in Reihe mit einer Diode) der (wenn gedrückt) 
Zeile und Spalte verbindet.
1
       +5V/0.38A---+--+--+--+--+--+--+--+
2
                   |  |  |  |  |  |  |  |S
3
 +-----------------(--(--(--(--(--(--(-|I
4
 | +---------------(--(--(--(--(--(-|I  |   +------------------------...----+
5
 | | +-------------(--(--(--(--(-|I  |  +---|Anoden                         |
6
 | | | +-----------(--(--(--(-|I  |  +------|                               |
7
 | | | | +---------(--(--(-|I  |  +---------|           8 x 15 LED          |
8
 | | | | | +-------(--(-|I  |  +------------|            Matrix             |
9
 | | | | | | +-----(-|I  |  +---------------|           mit 20mA            |
10
 | | | | | | | +--|I  |  +------------------|                               |
11
 | | | | | | | |   |  +---------------------|                               |
12
 | | | | | | | |   +------------------------|           Kathoden            |
13
 | | | | | | | |        PMOSFETs            +------------------------...----+
14
 | | | | | | | |        IRF7413               |   |   |   |   |   |  ...  |
15
 | | | | | | | |                            +------------------------...----+
16
 | | | | | | | |               +------------|                               |
17
 | | | | | | | |               |  +---------|         4 x 15 Taster         |
18
 | | | | | | | |               |  |  +------|           Matrix              |
19
 | | | | | | | |               |  |  |  +---|                               |
20
 | | | | | | | |               |  |  |  |   +------------------------...----+
21
 | | | | | | | |               |  |  |  |     |   |   |   |   |   |       |
22
 | | | | | | | |               |  |  |  |    150 150 150 150 150 150     150 Ohm
23
 | | | | | | | |               |  |  |  |     |   |   |   |   |   |       |
24
 8 Ausgänge des uC       4 Eingänge des uC    15 Ausgänge des uC
Falls der uC keine 27 I/O Pins übrig hat, kann man einen SCT2210 / DM13C 
 ST2221C  TLC5921  DM13A  A6282 / TLC5923 für die 15 LED Ausgänge 
nutzen der 20mA strombegrenzt liefert und spart sich die 150 Ohm 
Widerstände und kommt mit 15 I/O Pins aus. Und wenn das noch zu viel ist 
kann ein HT16K33 die ganze Schaltung übernehmen.

Der ganze Quatsch  mit MCP23017 und WS28xx kommt von Leuten die noch nie 
so viele Bauteile zusammengelötet haben. Niemand will freiwillig 1000 
Lötverbindungen an so einem Stellpult machen.

von Joachim B. (jar)


Lesenswert?

Rahul D. schrieb:
> pro Duo-LED brauchst du zwei Ausgänge, auch wenn die nur zwei "Beinchen"
> haben. Dreibeinige könnten auch noch eine dritte Farbe darstellen.

für dreibeinige reicht EIN Port, es gibt ja nur rot/grün, aus ist nicht 
vorgesehen außer bei Stromausfall oder Leuchtmittel kaputt

von Daniel F. (df311)


Lesenswert?

Manfred L. schrieb:
> Ich möchte diese Tasten und LEDs mit einem 8-Bit Atmel AVR Controller
> ansteuern, bzw. auslesen

also früher (tm) hat man sowas mit Relais gemacht (nach der mechanischen 
Lösung).
inkl. Verriegelung der Fahrstraßen.

das war dann halt für ein Stellpult dieser Größe schon mal ein ganzer 
Raum bis hin zu einem ganzen Stockwerk ;-)
und man hätte/hat das ganze auf mehrere Stellwerke aufgeteilt...

und nein, ich rede nicht von einer Modellbahn, sondern von der Realität 
;-)

zum Thema:
ich würde auch Portexpander nehmen, diese ggf. gruppenweise 
zusammenfassen

von Monk (Gast)


Lesenswert?

Eine Matrix würde ich vermeiden, weil dadurch die Verkabelung schwer 
durchschaubar wird. Lieber ein paar Schieberegister oder I²C 
Portexpander unter dem Bedienpult verteilen.

von Rahul D. (rahul)


Lesenswert?

Joachim B. schrieb:
> für dreibeinige reicht EIN Port, es gibt ja nur rot/grün, aus ist nicht
> vorgesehen außer bei Stromausfall oder Leuchtmittel kaputt

Der Schaltplan würde mich interessieren.

von Daniel F. (df311)


Lesenswert?

btw:

ich weiß nicht wie es in Deutschland ist, aber in Österreich werden für 
Bahnhöfe

die Einfahrsignale in eine Richtung mit A, B, ... bezeichnet, die 
Ausfahrsignale mit R[0-9]+

in der anderen Richtung Einfahrt mit Z, Y, ..., die Ausfahrten mit 
H[0-9]+

: Bearbeitet durch User
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Rahul D. schrieb:
> Joachim B. schrieb:
>> für dreibeinige reicht EIN Port, es gibt ja nur rot/grün, aus ist nicht
>> vorgesehen außer bei Stromausfall oder Leuchtmittel kaputt
> Der Schaltplan würde mich interessieren.
Du kommst selber drauf, du musst dir nur noch irgendeinen Inverter 
dazudenken.

Aber ich könnte mit einem zusätzlichen Inverter dann auch zweibeinige 
LED mit nur 1 Ausgang ansteuern...  ;-)

von Chris V. (nagut)


Lesenswert?

Mir wäre eine Lösung mit Portexpandern/Schieberegistern hardwareseitig 
zu aufwändig. Zum einen muss man die zusätzlichen Bausteine 
unterbringen, zum anderen sind es auch viel mehr Kabel.

Nachteile der von mir favorisierten Matrixlösung:

1.) Die Verdrahtung ist unübersichtlicher. Das stimmt. Wenn man das aber 
sorgfältig plant und dokumentiert, sollte es trotzdem ohne weiteres 
machbar sein. Man macht das ja nur ein einziges mal, und man kommt auch 
an die LEDs und Taster besser heran, weil es in Summe weniger Leitungen 
sind als mit der Portexpanderlösung.

2.) Die Software muss nichts multiplexen. Das stimmt auch, aber ich sehe 
das nicht als Nachteil. Auch hier: einmal gründlich darüber nachgedacht 
und in einer Timer-ISR verpackt, muss man sich anschließend nie wieder 
darum kümmern und kann den Rest der Software genauso unkompliziert 
schreiben wie mit Portexpandern.



Michael B. schrieb:
> Der ganze Quatsch  mit MCP23017 und WS28xx kommt von Leuten die noch nie
> so viele Bauteile zusammengelötet haben. Niemand will freiwillig 1000
> Lötverbindungen an so einem Stellpult machen.

Zu MCP23017 siehe oben.

WS28xx hätte aber wirklich gravierende Vorteile: Billig, in LED-Streifen 
verfügbar, man muss die Farben nicht vorher festlegen, Verdrahtung sehr 
unkompliziert. Mit in die Streckenzüge eingelegten LED-Streifen könnte 
man später noch nach und nach zusätzliche Dinge Umsetzen: Belegtanzeigen 
für die Strecken, oder auch Fahrwegplanung.

Manfred L. hat aber sein Bedienpanel schon fertig mit Tastern und LEDs 
bestückt und es sieht toll aus. Ich nehme nicht an, dass er das nochmal 
wieder ganz anders machen möchte.

von Gerald B. (gerald_b)


Lesenswert?

Chris V. schrieb:
> Manfred L. hat aber sein Bedienpanel schon fertig mit Tastern und LEDs
> bestückt und es sieht toll aus. Ich nehme nicht an, dass er das nochmal
> wieder ganz anders machen möchte.

Darum wird in der Praxis oft an alten Lösungen festgehalten, weil die 
Anpassung komplizierter ist, als ein Neubau.
Wenn er das nicht von Grund auf neu konzipieren und verdrahten will, 
dann läuft es letztendlich auf ein "Grab" aus Portexpandern bzw. 
Schieberegistern hinaus.

von Rahul D. (rahul)


Lesenswert?

Lothar M. schrieb:
> Aber ich könnte mit einem zusätzlichen Inverter dann auch zweibeinige
> LED mit nur 1 Ausgang ansteuern...  ;-)

Die Lösung war mir klar. Ohne weitere Bauteile geht es nicht.
Ich hätte jetzt gerne eine Lösung mit nur EINEM Portpin (ohne weitere 
Bauteile, die auch in einem weiteren Ausgang stecken) gesehen.

von Harald A. (embedded)


Lesenswert?

WS28xx: Dann doch lieber APA102, einfacher anzusteuern ohne die allseits 
beliebten Timingprobleme. (Oh, ich habe Jehova gesagt)

von Michael B. (laberkopp)


Lesenswert?

Lothar M. schrieb:
> Max D. schrieb:
>> Softwarelastige Lösung: 10x12 Matrix
> Und auch sehr verdrahtungslastige Lösung.

116+116+10+12 Lötverbindungen dazu aber die Taster mit 58+58+8+8 
Lötverbindungen, macht 386.

> Nimm Schieberegister.

Selbst wenn die Platinchen z.B. mit 75HC595 und 8 Vorwiderständen und 
Abblockkondensator vorgefertigt sein sollten (ihrerseits 8 x 38)

sind das mindestens 116+116+116+1 + 58+58+58+1 + 7*5 + 8*5 = 599 
Lötverbindungen.

Merkst du was oder merkst du nichts mehr ?

von Chris V. (nagut)


Lesenswert?

Gerald B. schrieb:
> Chris V. schrieb:
>> Manfred L. hat aber sein Bedienpanel schon fertig mit Tastern und LEDs
>> bestückt und es sieht toll aus.
>
> Wenn er das nicht von Grund auf neu konzipieren und verdrahten will,
> dann läuft es letztendlich auf ein "Grab" aus Portexpandern bzw.
> Schieberegistern hinaus.

...oder eben auf die Matrixlösung. Zu hoffen wäre natürlich, dass er die 
LEDs und Taster zwar eingebaut, aber noch nicht verdrahtet hat.

Hm, wenn ich mir das so überlege... Ich glaube ich würde einen schönen 
Kabelbaum dafür bauen, mit Wachsgarn, wie wir das mal in der Ausbildung 
gelernt haben. (siehe ggf. hier 
Beitrag "Kabelbinden mit Wachsband" )

Dann spielt auch die auf den ersten Blick etwas chaotisch wirkende 
Matrixverkabelung gar keine Rolle mehr, die Fehlerwahrscheinlichkeit ist 
sehr gering, der Aufwand hält sich in Grenzen, und das Ergebnis sieht 
wunderbar aufgeräumt aus! :-)

von Rahul D. (rahul)


Lesenswert?

Harald A. schrieb:
> WS28xx: Dann doch lieber APA102, einfacher anzusteuern ohne die allseits
> beliebten Timingprobleme. (Oh, ich habe Jehova gesagt)

Nur aus Interesse: Gibt es den Controller auch einzeln, so wie den 
WS2811?
LEDs sind ja schon vorhanden, nur fehlt ein "busfähiger" LED-Controller.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Chris V. schrieb:
> die Fehlerwahrscheinlichkeit ist sehr gering
Da musste ich doch schmunzeln.
Und am besten noch dazu "die Fehlersuche ist einfach"...  ;-)

Michael B. schrieb:
> Lötverbindungen
Ich hatte nicht von "lötlastige Lösung" geschrieben, sondern explizit 
von einer Lösung, die "verdrahtungslastig" ist. Und dass eine Matrix auf 
dieser Tafel einen unheimlichen Drahtverhau mit sich bringen wird, 
dürfte wohl klar sein.

Die tatsächlich noch herzustellenden immergleichen 
Schieberegisterplatinchen können aber leicht dort hingeschraubt werden, 
wo die Leitungen zu den Bauteilen kurz sind.

> 116+116+10+12 Lötverbindungen dazu aber die Taster mit 58+58+8+8
> Lötverbindungen, macht 386.
Und zwar ganz exakt. Glaub keiner Statistik, die du nicht selbst 
gefälscht hast.

> Selbst wenn die Platinchen z.B. mit 75HC595 und 8 Vorwiderständen und
> Abblockkondensator vorgefertigt sein sollten
Selbst wenn die Platine mit der Matrixansteuerung shcon fertig sein 
sollte...

> Merkst du was oder merkst du nichts mehr ?
Was für eine unötig blödsinnige Bemerkung ist denn das?

: Bearbeitet durch Moderator
von Harald A. (embedded)


Lesenswert?

Rahul D. schrieb im Beitrag
> Nur aus Interesse: Gibt es den Controller auch einzeln, so wie den
> WS2811?
> LEDs sind ja schon vorhanden, nur fehlt ein "busfähiger" LED-Controller.

Du hast natürlich recht, nicht gut genug gelesen. Das Pendant zum WS2811 
wäre dann der allseits beliebte 74HC595

von Chris V. (nagut)


Lesenswert?

Lothar M. schrieb:
> Chris V. schrieb:
>> die Fehlerwahrscheinlichkeit ist sehr gering
> Da musste ich doch schmunzeln.

Hast Du das nicht so erlebt? :-)

Man überlegt sich vorher sehr genau, welcher Draht von wo nach wo gehen 
muss. Das kann man dann (auf dem Papier) x-mal kontrollieren. Beim Bauen 
des Kabelbaums muss man nur noch stumpf das machen, was auf den Papieren 
steht. Und beim einbauen braucht man so gut wie gar nicht mehr 
nachdenken, weil ja an jedem Taster und jeder LED genau die Drähte 
rauskommen, die man da anlöten muss. Gut wäre zudem, wenn man Drähte mit 
vielen exotischen Farben zur Verfügung hat. (Der ganze Kabelbaum mit nur 
einer Farbe sähe zwar gut aus, wäre aber in der Tat dann fehleranfällig)


> Und am besten noch dazu "die Fehlersuche ist einfach"...  ;-)

Nee, da hilft dann oft nur noch "durchklingeln". ;-)

von Michael B. (laberkopp)


Lesenswert?

Lothar M. schrieb:
> dürfte wohl klar sein.

Nein.

176 Leitungen um alle 116 LED und 58 Taster anzuschliessen (und dazu 8 x 
5 Leitungen um die Schieberegisterplatinen zu verdrahten) ist deutlich 
mehr Verhau

als 27 Leitungen in einer Matrix zu verlegen.

Aber du merkst nix mehr, die Frage war überflüssig.

von Norbert (der_norbert)


Lesenswert?

Chris V. schrieb:
> Man überlegt sich vorher sehr genau, welcher Draht von wo nach wo gehen
> muss.

> Nee, da hilft dann oft nur noch "durchklingeln". ;-)

Pragmatiker-Ansatz:

Bei einer 8×8 Matrix kommen an jeden der 8 Ausgänge jeweils 8 grüne 
Kabel. An jeder der 8 Eingänge jeweils 8 gelbe Kabel.

Dann nimmt man jeweils einen beliebigen grünen und einen beliebigen 
gelben Draht und lötet sie an einen beliebigen Taster.

Danach einmalig ein Softwarelauf, welcher die völlig wild verdrahteten 
Taster per einmaliger Bedienung in einer Mini-Tabelle sortiert. Die kann 
dann zB. ins EEPROM.

Nur mal so ins Unreine gedacht…

von Chris V. (nagut)


Lesenswert?

Norbert schrieb:
> Pragmatiker-Ansatz:
> (...)
> Dann nimmt man jeweils einen beliebigen grünen und einen beliebigen
> gelben Draht und lötet sie an einen beliebigen Taster.
> (...)
> Danach einmalig ein Softwarelauf, welcher die völlig wild verdrahteten
> Taster per einmaliger Bedienung in einer Mini-Tabelle sortiert.

Auch eine coole Idee!

Bei der Laberkopp-Schaltung (die etwas verwirren kann, weil er die LEDs 
zeilenweise und die Taster Spaltenweise multiplext, dafür aber mit 
weniger Controller-Pins auskommt) würde man auch nur drei Kabelfarben 
brauchen:

Je 15 graue Litzen an die 8 LED-Zeilenleitungen.
Je 15 gelbe Litzen an die 4 Taster-Zeilenleitungen.
Je 8+4=12 grüne Litzen an die 15 Spaltenleitungen.

Und dann:
LEDs: grau = Anode, grün = Kathode.
Taster: gelb und grün, egal wie herum.

Der Kabelbaum wird dicker als er müsste, dafür muss man pro LED-und 
Tasterbeinchen nur eine Litze anlöten, und kann ansonsten sowohl bei der 
Planung, als auch bei der Ausführung dann komplett das Hirn ausschalten.
Nicht schlecht! :-)


(Achtung: die Duo-LEDs sind dabei etwas tricky. Über die muss man 
nochmal extra nachdenken und braucht noch eine bis max. drei zusätzliche 
Farben)

von Peter D. (peda)


Lesenswert?

Ich denke mal auch, der HT16K33 dürfte den Aufwand minimal halten. Er 
übernimmt komplett das Multiplexen der LEDs und Kontakte.

von Monk (Gast)


Lesenswert?

Eigentlich fehlt noch, dass jemand Charlieplexing empfiehlt. Dann muss 
man halt die Vorhänge zuziehen, aber man hat Kupfer gespart.

von Gerald B. (gerald_b)


Lesenswert?

Chris V. schrieb:
> Hm, wenn ich mir das so überlege... Ich glaube ich würde einen schönen
> Kabelbaum dafür bauen, mit Wachsgarn, wie wir das mal in der Ausbildung
> gelernt haben.

Na ja, es gibt inzwischen auch kleine Kabelbinder. Das sieht auch nicht 
schlechter aus, geht schneller und ist auch schneller geändert, falls 
mal erweitert werden soll

Chris V. schrieb:
> Gut wäre zudem, wenn man Drähte mit
> vielen exotischen Farben zur Verfügung hat. (Der ganze Kabelbaum mit nur
> einer Farbe sähe zwar gut aus, wäre aber in der Tat dann fehleranfällig)

Kann man mit einem Edding auch Ringe aufs Kabel malen. Mit Binärcode 
bleibt das sehr übersichtlich. Wenn man dann noch den ersten Ring dicker 
malt, weiß man auch wie rum man lesen muß.

Rahul D. schrieb:
> Harald A. schrieb:
>> WS28xx: Dann doch lieber APA102, einfacher anzusteuern ohne die allseits
>> beliebten Timingprobleme. (Oh, ich habe Jehova gesagt)
>
> Nur aus Interesse: Gibt es den Controller auch einzeln, so wie den
> WS2811?
> LEDs sind ja schon vorhanden, nur fehlt ein "busfähiger" LED-Controller.

Den WS2811 bekommt man busfähig, indem man ihm RS 485 Treiber vor- und 
nachschaltet. MAX485, oder was baugleiches. Ein Bustreiber kommt an den 
Ausgang, und einer an den Eingang, direkt neben den WS2811. Statt 
weniger cm dürfen die RS485 Leitungen theoretisch bis zu 500m lang sein.
Habe ich mit WS2814 (rgbw) als 3W "Powerpixel" mit 4 KSQs so 
praktiziert. 7 Stck davon sind in einer abgehängten Decke in MR16 Spots 
verbaut.

von Peter D. (peda)


Lesenswert?

Chris V. schrieb:
> Gut wäre zudem, wenn man Drähte mit
> vielen exotischen Farben zur Verfügung hat.

Es gibt farbkodierte Kabel zu kaufen:
https://www.kabeltronik.de/de/kabeltronik/info-download/technical/color-code-international

von Rolf (rolf22)


Lesenswert?

Lothar M. schrieb:
> "Ich habe angehangen" ist üblicherweise die Vergangenheit (z.B. mal
> einer Gruppierung angehangen zu haben) und "ich habe angehängt" ist die
> Gegenwart.

Oh, oh.

Erstens mal ist "ich habe + Verb" immer Vergangenheit ("ich habe 
gesagt"). Gegenwart ist "ich habe + Substativ" ("ich habe einen 
Computer").

Zweitens vermischst du zwei völlig unterschiedliche Bedeutungen, der 
Unterschied spiegelt sich in der Beugung (stark oder schwach) wider. 
Genau das ist ja hier der Knackpunkt.
"Mein Bruder hat früher mal dem Fußballverein Schienbein 04 angehangen, 
an seine Zimmerwand hatte er ein Poster von denen angehängt."

*1 an|hän|gen <st.V.;* hat> (geh.):
1. (...)
2. sich jmdm., einer Sache verschrieben haben, zugehörig fühlen: einer 
Sekte, der neuen Mode, einer Lehre, einem Glauben a.

*2 an|hän|gen <sw. V.;* hat>:
1. a) etw. an etw. hängen: ein Schildchen [an die Tür] a.; den Mantel 
[an einen Haken] a.;
2. (...) 5.

© Duden - Deutsches Universalwörterbuch, 6. Aufl. Mannheim 2006 
[CD-ROM].

: Bearbeitet durch User
von Chris V. (nagut)


Lesenswert?

Chris V. schrieb:
> Norbert schrieb:
>> Pragmatiker-Ansatz:
>> (...)
>> Dann nimmt man jeweils einen beliebigen grünen und einen beliebigen
>> gelben Draht und lötet sie an einen beliebigen Taster.
>
> Auch eine coole Idee!

Korrektur:
Das klang wunderbar verlockend, aber leider klappt das doch nicht. :-(

Mit der Methode kann man nicht sicherstellen, dass es wirklich eine 
Matrix wird. Stattdessen ist leicht möglich, dass man die selbe 
Kombination aus einzelner Zeilen- und Spaltenleitung am mehrere Taster 
anschließt (und andere Kombinationen dafür gar nicht).

Also braucht man doch für die Matrixlösung eine wohlüberlegte 
Verkabelung mit am besten vielen verschiedenfarbigen Drähten!

von Harald A. (embedded)


Lesenswert?

Wie groß ist die Tafel eigentlich? Ich habe vom Bild bei Annahme von 5mm 
LEDs ca. 450x200mm interpoliert. Das könnte man in dem Fall ja 
hervorragend als Platine ausführen, weißer Stoplack, schwarzer 
Bestückungsdruck, LEDs reverse Mount von hinten mit Loch in der Platine. 
Tasten als Sandwich-Platine dahinter. 74HC165 für die Tasten und 74HC595 
für die LEDs. Kommt man mit 5..6 Leitungen von der Platine runter.

Oder alles auf eine Platine, Taster und normale SMD-LEDs, dann 
Frontpanel mit 5..10mm Abstand davor. Lightpipes für die LEDs und die 
Taster schauen durch.

: Bearbeitet durch User
von Norbert (der_norbert)


Lesenswert?

Chris V. schrieb:
> Mit der Methode kann man nicht sicherstellen, dass es wirklich eine
> Matrix wird. Stattdessen ist leicht möglich, dass man die selbe
> Kombination aus einzelner Zeilen- und Spaltenleitung am mehrere Taster
> anschließt (und andere Kombinationen dafür gar nicht).

Korrekt. Gut gesehen! Diese Problemstellung hatte ich wohl irgendwie 
bequemerweise ausgeblendet. Man muss also zumindest ein wenig aufpassen. 
Also immer erst ein Achter-Bündel (row) und dazu acht separate (col) 
verwenden.

Nur gut das ich das nur ›ins Unreine‹ gedacht hatte. ;-)

von Ron-Hardy G. (ron-hardy)


Angehängte Dateien:

Lesenswert?

Harald A. schrieb:
> Tasten als Sandwich-Platine dahinter

es gibt auch reverse mount buttons

von Michael B. (laberkopp)


Lesenswert?

Harald A. schrieb:
> Wie groß ist die Tafel eigentlich? Ich habe vom Bild bei Annahme von 5mm
> LEDs ca. 450x200mm interpoliert. Das könnte man in dem Fall ja
> hervorragend als Platine ausführen,

Ich schätze eher 50 cm x 100 cm, die Taster haben 1cm.

Würde mich mal interessieren was so eine Platine kostet, als 
Einzelstück, mit Porto und Verzollunggebühren.

jlcpcb liefert ja immer 5 Stück, die kosten dann 907€, Europacket geht 
nicht mehr, also DHL Expess Abzocker.

Aisler macht nicht schwarz auf weiss.

von Bauform B. (bauformb)


Lesenswert?

Michael B. schrieb:
> Würde mich mal interessieren was so eine Platine kostet, als
> Einzelstück
1
              maximal
2
Aisler        400 x 400 mm  282.00€ inkl.?
3
Eurocircuits  580 x 420 mm  506.52€ inkl.
4
multi-cb      400 x 250 mm  ?,  1100 x 600 auf Anfrage

von Harald A. (embedded)


Lesenswert?

Ja gut, das ist zu teuer, das von mir geschätzte Maß ging noch gerade so 
für den Hobbybereich.

von Harald A. (embedded)


Lesenswert?

Was mir dazu noch einfällt, um den Verdrahtungsaufwand zu minimieren:

Eine kleine Platine mit einem I2C-16bit-Portexpander entwerfen und alle 
IO auf z.B. JST-PH Steckverbinder legen. Vorwiderstand für die LED in 
jede Leitung, für einen Tastereingang stört der nicht. Weitere 
Steckverbinder vorsehen für VCC und GND, jeweils für die Tasten (gegen 
GND) bzw. LEDs (gegen VCC).
Versorgung und I2C ebenfalls auf Steckverbinder. Davon benötigt man hier 
9..10 Stück, je nach Aufteilung

Was spart das jetzt? Fertig gecrimpte Leitungen für JST usw. kann man 
bei Aliexpress für sehr kleines Geld bekommen. Entweder mit verzinnten 
abisolierten Enden oder selber durchschneiden. Für die I2C-Verkabelung 
und Versorgung ebenfalls auf fertige Leitungen zurückgreifen. Ggf. noch 
ein Zentralboard entwerfen, wo Versorgung und I2C zusammenlaufen. 
Minimiert jedenfalls deutlich den Aufwand und muss noch nicht einmal 
schlecht aussehen.

: Bearbeitet durch User
von Manfred L. (manni)


Lesenswert?

Au weia !!

Mit so vielen tollen Vorschlägen für mein Problemchen habe ich wirklich 
nun nicht gerechnet. Also erst mal ein ganz dickes DANKE an alle !!!

Bevor ich mich entscheide, mit welchem Konzept ich das Ganze dann 
umsetze, muss ich jedoch erst mal Eure Vorschläge richtig verdauen.
So wie ich das jetzt auf die Schnelle sehe, kommt für die Tasten eine 
Matrix-Architektur und für die LEDs die Variante von PeDa mit den 
seriellen MM5450 ICs mit 34 Ausgängen in Frage.

Egal wie man es dreht oder wendet, es war mir bewusst, dass der 
Verdrahtungsaufwand schon erheblich sein wird und sich da und dort 
bestimmt der eine oder andere Fehler einschleichen wird. Aber damit muss 
ich wohl leben.

Wie üblich werde ich bei den Tasten die PeDa Debouncing Software 
verwenden, die bei all meinen bisherigen Projekten immer hervorragend 
funktioniert hat.

Zur Info:
Das Panel hat eine Größe von 270 x 130 mm und ist mit 3mm LEDs bestückt.

Nochmals vielen Dank und Gruß

Manni

: Bearbeitet durch User
von Michael B. (laberkopp)


Lesenswert?

Manfred L. schrieb:
> Das Panel hat eine Größe von 270 x 130 mm

Für 29.05€ könnte man sich wirklich 5 bedruckte und gebohrte schicken 
lassen und die Verdrahtung vorher als Leiterbahnen zeichnen.

von Joachim B. (jar)


Lesenswert?

Rahul D. schrieb:
> Der Schaltplan würde mich interessieren.

ich denke ich habe das mit 2 Anschlüßen verwechselt
https://dieelektronikerseite.de/Lections/Duo-LEDs%20-%20Aus%20zwei%20mach%20eins.htm

mit high low kann man dann alles mit einem Port bedienen.

von Rahul D. (rahul)


Lesenswert?

Gerald B. schrieb:
> Den WS2811 bekommt man busfähig, indem man ihm RS 485 Treiber vor- und
> nachschaltet. MAX485, oder was baugleiches. Ein Bustreiber kommt an den
> Ausgang, und einer an den Eingang, direkt neben den WS2811. Statt
> weniger cm dürfen die RS485 Leitungen theoretisch bis zu 500m lang sein.
> Habe ich mit WS2814 (rgbw) als 3W "Powerpixel" mit 4 KSQs so
> praktiziert. 7 Stck davon sind in einer abgehängten Decke in MR16 Spots
> verbaut.

Der WS2811 ist doch von sich aus busfähig: als daisy chain.

von Rahul D. (rahul)


Lesenswert?

Joachim B. schrieb:
> ich denke ich habe das mit 2 Anschlüßen verwechselt
> 
https://dieelektronikerseite.de/Lections/Duo-LEDs%20-%20Aus%20zwei%20mach%20eins.htm
>
> mit high low kann man dann alles mit einem Port bedienen.

Das Thema haben Lothar und ich schon geklärt:

Lothar M. schrieb:
> Rahul D. schrieb:
>> Joachim B. schrieb:
>>> für dreibeinige reicht EIN Port, es gibt ja nur rot/grün, aus ist nicht
>>> vorgesehen außer bei Stromausfall oder Leuchtmittel kaputt
>> Der Schaltplan würde mich interessieren.
> Du kommst selber drauf, du musst dir nur noch irgendeinen Inverter
> dazudenken.
>
> Aber ich könnte mit einem zusätzlichen Inverter dann auch zweibeinige
> LED mit nur 1 Ausgang ansteuern...  ;-)

Entweder einen zweiten (push-Pull) Ausgang oder weitere Bauteile (aka 
"Inverter") spedieren.

von Rainer W. (rawi)


Lesenswert?

Joachim B. schrieb:
> 
https://dieelektronikerseite.de/Lections/Duo-LEDs%20-%20Aus%20zwei%20mach%20eins.htm

Die letzte Variante dort funktioniert leider ausgesprochen schlecht mit 
5V und zieht, abgesehen vom genannten Kurzschluss bei Bedienung beider 
Tasten, zusätzlich einen ziemlich hässlichen Querstrom.

: Bearbeitet durch User
von Gerald B. (gerald_b)


Lesenswert?

Rahul D. schrieb:
> Der WS2811 ist doch von sich aus busfähig: als daisy chain.

Ja, aber nur auf wenige cm. Ansonsten wird es instabil. Die Umsetzung 
auf RS485 differentiell hat den Vorteil der (fast) unbegrenzten 
Leitungslänge

von Joachim B. (jar)


Lesenswert?

Rainer W. schrieb:
> abgesehen vom genannten Kurzschluss bei Bedienung beider
> Tasten

am EINEM Port für rot/grün LED braucht es keine Taster, Taster gehören 
an anderen Ports!

von Rahul D. (rahul)


Lesenswert?

Gerald B. schrieb:
> Ja, aber nur auf wenige cm. Ansonsten wird es instabil. Die Umsetzung
> auf RS485 differentiell hat den Vorteil der (fast) unbegrenzten
> Leitungslänge

Warum gibt es dann meterlange Lichterketten mit dem Controller?

von Mario M. (thelonging)


Lesenswert?

Weil zwischen den LEDs nur

Gerald B. schrieb:
> wenige cm

sind.

von Rahul D. (rahul)


Lesenswert?

Mario M. schrieb:
> Weil zwischen den LEDs nur
>
> Gerald B. schrieb:
>> wenige cm
>
> sind.

OK.
Was bei dieser Anwendung wohl auch der Fall ist.

von Gerald B. (gerald_b)


Lesenswert?

Rahul D. schrieb:
> Gerald B. schrieb:
>> Ja, aber nur auf wenige cm. Ansonsten wird es instabil. Die Umsetzung
>> auf RS485 differentiell hat den Vorteil der (fast) unbegrenzten
>> Leitungslänge
>
> Warum gibt es dann meterlange Lichterketten mit dem Controller?

Zwischen den einzelnen Pixeln sind es bei den Lichterketten nie mehr als 
10 cm

von Norbert (der_norbert)


Lesenswert?

Es ist zwar etwas sperrig übersetzt (vermutlich aus der antiken 
tibetanische Sprache des 7. Jahrhunderts über viele Umwege in eine Art 
Chenglish), aber das – nennen wir's mal – Datenblatt vertritt dazu die 
folgende Meinung:

Worldsemi – WS2812B – Intelligent control LED integrated light source

* Cascading port transmission signal by single line.
* Any two point the distance more than 5m transmission signal without 
any increase circuit.

Mag aber bei anderen Herstellern anders sein.

von Harald K. (kirnbichler)


Lesenswert?

Monk schrieb:
> Eigentlich fehlt noch, dass jemand Charlieplexing empfiehlt.

Für das Abfragen der Taster könnte man das aber auch verwenden, und da 
spielen Vorhänge keine Rolle.

von Gerald B. (gerald_b)


Lesenswert?

Mehrere Taster kann man auch an einem analogen Input per Spannungsteiler 
abfragen.
Hatten wir hier auch noch nicht, als Vorschlag ;-)

von Bauform B. (bauformb)


Lesenswert?

Gerald B. schrieb:
> Mehrere Taster kann man auch an einem analogen Input per Spannungsteiler
> abfragen.

Der erste vernünftige Vorschlag für die Taster!
Na gut, Port-Expander mit Interrupt geht auch noch. Aber ich werde wohl 
nie verstehen, warum hier Pins-sparen immer die höchste Priorität hat.

von Chris V. (nagut)


Lesenswert?

Bauform B. schrieb:
> ich werde wohl
> nie verstehen, warum hier Pins-sparen immer die höchste Priorität hat.

Weil das gleichzeitig den Verdrahtungsaufwand minimiert.

Wie sich jetzt herausgestellt hat, ist das Teil so klein, dass die Art 
der Verdrahtung meines Erachtens nach eine immer größere Rolle spielt. 
Ich käme nie auf die Idee, hinter ein nur 27cm x 13cm großes Bedienfeld 
noch etliche kleine Portexpander-Platinchen fliegend zu verdrahten. 
Selbst der von mir vorgeschlagene gebundene Kabelbaum (mit den früher in 
der Fernmeldetechnik üblichen starren Drähten mit 0,6mm 
Leiterdurchmesser) würde bei dieser Größe eine ziemliche Fummelei 
werden.

Wahrscheinlich hätte ich es für diese Größe dann auch mit einer Platine 
hinter der Frontplatte gelöst, auf der die Taster und LEDs schon an den 
richtigen Positionen sitzen, und dann vorn durch die Frontplatte 
durchschauen. Dann ist es auch nur noch eine Kosten- und 
Geschmacksfrage, ob man es mit einem Mikrocontroller mit ausreichend 
Ports und Multiplexing in Software, oder mit zusätzlichen 
Schieberegistern/Portespandern/LED-Treibern und dann Buskommunikation 
lösen möchte.

Aber wie gesagt: Die Frontplatte ist fertig und muss nun noch irgendwie 
verdrahtet werden. Ich würde jetzt über lötbaren Kupferlackdraht 
nachdenken. Da darf man sich aber dann beim Aufbau möglichst keinen 
Fehler erlauben.

von Chris V. (nagut)


Lesenswert?

Manfred L. schrieb:
> Debouncing Software

Die brauchst Du hier nicht weil Du die vielen Eingänge (egal mit welcher 
hier bisher vorgeschlagenen Lösung) ohnehin nur in diskreten 
Zeitabschnitten sampelst. Diese Zeitabschnitte macht man jeweils länger 
als die maximal zu erwartende Prellzeit, und braucht so keine 
zusätzliche Entprellung in der Software mehr.



> Das Panel hat eine Größe von 270 x 130 mm und ist mit 3mm LEDs bestückt.

Was sind das für Duo-LEDs? Gemeinsame Anode oder gemeinsame Kathode? 
Oder gar antiparallel mit nur zwei Beinchen?

Und hast Du mal geschaut, ob auch die nur mit den 3mA auskommen, und 
idealerweise für alle LED-Typen und -Farben der gleiche 
Vorwiderstandswert benutzt werden kann, damit es gut aussieht?


Und zuletzt noch die Frage: Wie soll der Mikrocontroller eigentlich die 
Signale und Weichen (und vielleicht auch die Züge?) auf der 
Modellbahnanlage ansteuern? Und gibt es nicht auch noch sowas wie 
"Gleis-belegt-Melder"?

von Mario M. (thelonging)


Lesenswert?

Chris V. schrieb:
> Diese Zeitabschnitte macht man jeweils länger
> als die maximal zu erwartende Prellzeit, und braucht so keine
> zusätzliche Entprellung in der Software mehr.

Und was ist mit Störimpulsen?

von Michael B. (laberkopp)


Lesenswert?

Bauform B. schrieb:
> Gerald B. schrieb:
>> Mehrere Taster kann man auch an einem analogen Input per Spannungsteiler
>> abfragen.
>
> Der erste vernünftige Vorschlag für die Taster

Wenn man im Modelleisenbahn-Umfeld unbedingt gestörte Tastenerfassung 
haben will, die man im uC noch nicht mal sinnvoll entprellen kann...

von Harald K. (kirnbichler)


Lesenswert?

Gerald B. schrieb:
> Mehrere Taster kann man auch an einem analogen Input per Spannungsteiler
> abfragen.

Kommt halt auf die Menge an ... hier ist von 58 Tastern die Rede.

Da wird man wohl eine ganze Handvoll Inputs brauchen; mehr als acht an 
einem halte ich für mutig. Also werden mindestens 8 ADC-Kanäle dafür 
erforderlich.

von Chris V. (nagut)


Lesenswert?

Mario M. schrieb:
> Chris V. schrieb:
>> Diese Zeitabschnitte macht man jeweils länger
>> als die maximal zu erwartende Prellzeit, und braucht so keine
>> zusätzliche Entprellung in der Software mehr.
>
> Und was ist mit Störimpulsen?

Rechnest Du da bei diesem Projekt hier wirklich damit?

Ich empfehle ja Matrixlösung für LEDs und Taster, und da wäre beides 
auch noch automatisch synchronisiert (d.h. keine Einstreuung durch 
Stromflanken der LEDs im Moment des Samplings zu erwarten). Stärkere 
Pullups/Pulldowns können notfalls mögliche Einstreuungen von woanders 
her reduzieren. Und wenn das alles noch nicht reicht, kann man auch noch 
per Software entstören (erst bei X mal identisch gesampelten Zustand 
passiert etwas).

Aber ganz ehrlich: ich hab' sowas bisher nie gebraucht. Bei einer so 
störverseuchten Umgebung sollte man dann vermutlich eher dagegen etwas 
tun.

von Manfred L. (manni)


Lesenswert?

Gute Fragen, nächste Fragen:

Chris V. schrieb:
> Was sind das für Duo-LEDs?

Mit gemeinsamer Kathode, Reichelt: EVL 209SURSYGW, alle LEDs mit 5V über 
1K gespeist.

Chris V. schrieb:
> Wie soll der Mikrocontroller eigentlich die
> Signale und Weichen (und vielleicht auch die Züge?) auf der
> Modellbahnanlage ansteuern?

Die Signale sind Marke-Eigenbau aus dem 3D Drucker mit drei 3mm LEDs - 
rot grün gelb und werden über Digital-Transistoren vom Typ BCR108 
angesteuert.

Die elektrischen C-Gleis Weichenantriebe von Märklin werden über 
MOS-FETs vom Typ IRLML0040 mit 15 Volt und einem Puls von 100 ms 
gestellt. Damit brennt nix durch !

Die Loks werden von einem ATmega32 gesteuert. Die S/W erzeugt das 
CAN-Bus Protokoll, das über ein CAN-Bus Shield von JoyIt an die Märklin 
Mobile Station 2 geschickt wird.

Chris V. schrieb:
> Und gibt es nicht auch noch sowas wie
> "Gleis-belegt-Melder"?

Als Gleis-Besetzt-Melder sind ca. 13 cm vor jedem Signal mittig in die 
C-Gleise IR-Reflex Sensoren vom Typ CNY70 eingebaut - d.h. nur wenn der 
Lok-Schleifer drüber fährt, gibts eine Besetzt-Meldung. Mit Hilfe dieser 
Sensoren (zur Unterdrückung von Tageslicht gepulst mit 1 KHz und gelesen 
mit einem Sallen-Key Hochpass-Filter) werden die Loks dann abgebremst, 
sodass sie exakt vor einem auf Rot gestellten Signal anhalten - und das 
unabhängig von der aktuell eingestellten Lok-Geschwindigkeit.

: Bearbeitet durch User
von Thomas Z. (usbman)


Angehängte Dateien:

Lesenswert?

Es gibt für solche Anwendungen nette ICs von WCH
zB. CH454 kostet bei LCSC ca. 1.80€

Ich hab mal das englische DB angehängt

von Ron-Hardy G. (ron-hardy)


Lesenswert?

Michael B. schrieb:
> Für 29.05€

mit Coupon sogar unter €20

von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Bauform B. schrieb:

> Na gut, Port-Expander mit Interrupt geht auch noch. Aber ich werde wohl
> nie verstehen, warum hier Pins-sparen immer die höchste Priorität hat.

Pins sparen ist nur ein (willkommener) Nebeneffekt. Der Hauptvorteil 
ist: Verdrahtung sparen.

von Martin S. (gibsea106)


Lesenswert?

Hi;

off-topic, aber passend zum Thema "Verkabelung":

Selbst bei Mehrzugbetrieb könnten die Weichenpaare
-   W 7/8
-   W 9/10

auf einen Taster und eine LED zusammengelegt werden.
Ja ok, erleichtert den Verdrahtungsaufwand jetzt nicht großartig...
Wär beim Betrieb der Anlage aber auch ein gewisser Komfort.

Beim Einzugbetrieb könnte man zusätzlich weitere Weichenpaare 
zusammenlegen:
-   W 4/18
-   W 5/19
-   W 13/14
-   W 16/17

So zumindest hatte ich in den 1970er Jahren meine (kleine) analoge 
Anlage verkabelt... ;-)

Würde man das heute ebenso machen?
Hätte der TO gerne ein echtes 1:1-Feeling beim Betrieb und jede Weiche 
wird (muss?) einzeln bedient werden?

LG Martin

: Bearbeitet durch User
von Michael B. (laberkopp)


Lesenswert?

Martin S. schrieb:
> Würde man das heute ebenso machen?

Nein.

Heute nimmt man ein Tablet und programmiert das Gleisbildstellwerk 
darauf.

Macht die Bahn per PC auch nicht anders. Die alten Stellwerke wurden 
abgerissen. Es gibt nur noch Fernsteuerung aus ein paar Zentralen.

von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Michael B. schrieb:

> Heute nimmt man ein Tablet und programmiert das Gleisbildstellwerk
> darauf.
>
> Macht die Bahn per PC auch nicht anders.

Doch, das macht sie durchaus anders. Sie benutzt nämlich keine Tablets 
dafür, sondern ausgewachsene PCs mit vielen riesigen Monitoren daran...

Allerdings: für eine heimische Modellbahn üblicher Größenordnung könnte 
ein Tablet vielleicht wirklich noch ausreichend sein.

von Martin S. (gibsea106)


Lesenswert?

Hi!

@ Michael B.
und
@ Ob S.

Ich wurde von Euch missverstanden, oder habe mich unverständlich 
ausgedrückt (tschuldigung dafür...).

Meine Frage war ja, ob man heute "Weichenpaare" einzeln ansteuert oder 
sie gemeinsam (zeitgleich) bedient?
Betrifft sowohl die Modellbahn als auch die echte Bahn.

Ich oute mich:
Würde nicht verstehen, wieso ein Weichenpaar nicht parallel angesteuert 
wird.

Ist aber ot, nicht wichtig, und soll jetzt dieses Thema nicht 
verunstalten.

lg Martin

von Monk (Gast)


Lesenswert?

Martin S. schrieb:
> Würde nicht verstehen, wieso ein Weichenpaar nicht parallel angesteuert
> wird.

Zum Beispiel wäre ein möglicher Grund, dass der Trafo nicht genug Strom 
für die Parallelschaltung hergibt. Oder die Leitungen dafür zu dünn sind 
(Spannungsabfall).

von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Monk schrieb:
> Martin S. schrieb:
>> Würde nicht verstehen, wieso ein Weichenpaar nicht parallel angesteuert
>> wird.
>
> Zum Beispiel wäre ein möglicher Grund, dass der Trafo nicht genug Strom
> für die Parallelschaltung hergibt. Oder die Leitungen dafür zu dünn sind
> (Spannungsabfall).

Wenn das so ist (spräche für ein sehr schlechtes Design der Anlage), 
dann kann man das Problem auf dem Master lösen. Es spielt dabei 
allerdings überhaupt keine Rolle, ob die Aktoren dann letztlich per 
Multiplex oder seriellen Porterweiterungen angesteuert werden.

von Rainer W. (rawi)


Lesenswert?

Joachim B. schrieb:
> am EINEM Port für rot/grün LED braucht es keine Taster,

Mein Kommentar bezog sich auf die letzte Schaltung auf der von DIR 
zittierten Website. Was hat das jetzt wieder mit den Tasten hier zu tun.

> Taster gehören an anderen Ports!
Warum eigentlich? Wenn die LED regelmäßig für z.B. 1ms ausgeschaltet 
wird, um den am gleichen Port angeschlossenen Taster zu lesen, stört das 
niemanden.

Martin S. schrieb:
> Hätte der TO gerne ein echtes 1:1-Feeling beim Betrieb und jede Weiche
> wird (muss?) einzeln bedient werden?

Zeitgemäßer wäre wohl, komplette Weichenstraßen zu schalten, d.h. sich 
bei der Bedienung gar nicht mit den einzelnen Weichen zu beschäftigen, 
sondern Ausgangs- und Endposition eines Fahrtabschnittes festzulegen und 
dann kann der Rechner machen.

Ob S. schrieb:
> Wenn das so ist (spräche für ein sehr schlechtes Design der Anlage),
> dann kann man das Problem auf dem Master lösen.

Schlechtes Design wäre es, wenn wegen strohdoofer Steuerung völlig 
überzogene Spitzen der Stromaufnahme erzeugt werden, auf die das 
Netzteil dann ausgelegt werden müsste. Sonst hätte man den Worst-Case 
mit Anlaufstrom aller Stellmotoren zum gleichen Zeitpunkt als 
Auslegungskriterium für das Netzteil. Da lohnt es sicher, das 
detaillierte Timing der Steuerung zu überlassen und zumindest die 
Motoren zeitversetzt anlaufen zu lassen.

von Michael B. (laberkopp)


Lesenswert?

Martin S. schrieb:
> Meine Frage war ja, ob man heute "Weichenpaare" einzeln ansteuert oder
> sie gemeinsam (zeitgleich) bedient

Man legt Fahrstrassen fest.

Im Gleisbildstellwerk gibt es also einen Knopf für Startpunkt und einen 
für Zielpunkt. Weichen, abweisende Weichen und Signale werden dann 
automatisch gestellt. Dann werden Fahrstrassen noch verriegelt so lange 
ein Zug sie benutzt.

Also ganz anders als Modellbahnknöpfchen.

Und heute geht sowieso alles automatisiert.

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?

Rainer W. schrieb:
> Joachim B. schrieb:
>> am EINEM Port für rot/grün LED braucht es keine Taster,
>
> Mein Kommentar bezog sich auf die letzte Schaltung auf der von DIR
> zittierten Website. Was hat das jetzt wieder mit den Tasten hier zu tun.

ist das Absicht das du es absichtlich mißverstehst oder ist das deine 
Masche immer aufs unpassende zu antworten um deine Überlegenheit zu 
zeigen?

Rainer W. schrieb:
> Zeitgemäßer wäre wohl,

alles bei der Größe auf eine SMD Leiterplatte bestücken zu lassen.

Einpolige SMD Taster auf Schieberegister, parallel in und seriell 
gelesen und SMD RGB LEDs

: Bearbeitet durch User
von Chris V. (nagut)


Lesenswert?

Manfred L. schrieb:
> Chris V. schrieb:
>> Was sind das für Duo-LEDs?
>
> Mit gemeinsamer Kathode, Reichelt: EVL 209SURSYGW, alle LEDs mit 5V über
> 1K gespeist.

Super, danke. Das Datenblatt ist zwar etwas dürftig, aber die haben dort 
die Kennlinien für die Intensität auch mit 1/10 Duty-Cycle aufgenommen, 
daher sollte 1:8 Multiplexbetrieb gehen.



Manfred L. schrieb:
> Signale (..) Transistoren vom Typ BCR108
> Weichenantriebe (...) MOS-FETs vom Typ IRLML0040
> Loks (...) ATmega32 (...) CAN-Bus
> Gleis-Besetzt-Melder (...) IR-Reflex Sensoren vom Typ CNY70

Sehr schön, danke, da hast Du ja offenbar schon einiges an Elektronik & 
Software am Start. :-)

Hintergrund meiner Fragen dazu war, ob der im Ausgangspost von Dir 
gewünschte 8-Bit Atmel AVR Controller ggf. noch mehr machen soll als das 
Bedienfeld ansteuern, und falls noch andere Mikrocontroller beteiligt 
sind, wie er mit denen kommunizieren soll.

Oben erwähnst Du einen ATmega32 für die Loks. Soll das Bedienfeld da 
auch mit angeschlossen werden? Oder soll es einen eigenen Controller für 
das Bedienfeld geben und wenn ja, wie soll der mit den anderen 
Controller(n) reden?



Michael B. schrieb:
> Martin S. schrieb:
>> Meine Frage war ja, ob man heute "Weichenpaare" einzeln ansteuert oder
>> sie gemeinsam (zeitgleich) bedient
>
> Man legt Fahrstrassen fest. (...) einen Knopf für Startpunkt und
> einen für Zielpunkt. Weichen, abweisende Weichen und Signale
> werden dann automatisch gestellt. (...)
> Also ganz anders als Modellbahnknöpfchen.

Wenn er möchte, kann Manfred L. sowas auch mit seinem Bedienfeld 
realisieren. Die gelben Taster müssen nicht ausschließlich dafür da 
sein, die Signale direkt zu schalten, sondern können auch als Start/Ziel 
der Fahrstraße dienen. Über die Gleismelder "weiß" seine Software auch, 
vor welchen Signalen gerade Züge stehen, und welche Blockstellen daher 
belegt sind.

Ablauf könnte so aussehen:
1.) Zusätzliche Taste "Fahrweg wählen" drücken.
-> Die Anzeige wechselt in den "Fahrweg-wählen-Modus". Alle grünen 
Weichen-LEDs gehen aus. Die Signal-LEDs zeigen gelb für belegte Blöcke 
und grün für freie.

2.) Startblock wählen mit gelber Taste an einem Signal, an dem auch ein 
Zug steht (d.h. dort muss es gelb leuchten)
-> Rückmeldung: die betreffende Signal-LED blinkt gelb.

3.) Zielblock wählen mit gelber Taste an einem Signal, an dem noch kein 
Zug steht (d.h. dort muss es grün leuchten)
-> Software sucht eine freie Fahrstraße dahin, stellt die Weichen 
entsprechend. Anzeige wechselt wieder in den "Übersichts-Modus". 
Eigentlich kann die Software jetzt auch noch gleich den Zug ans 
gewünschte Ziel fahren. :-)

von Manfred L. (manni)


Lesenswert?

Chris V. schrieb:
> falls noch andere Mikrocontroller beteiligt
> sind, wie er mit denen kommunizieren soll

Es gibt einen Main-Controller als Master (ATmega1284P) der mit drei 
weiteren ATmega32 Controllern (als Slaves) über TWI kommuniziert. Einer 
für das Bedienpanel, einer für die Einstellung der Geschwindigkeit von 8 
Loks mittels Potis und der Fahrt-Richtung und einen für die Erzeugung 
der Kommandos via CAN-Bus an die Märklin Mobile Station 2.

Darüber hinaus gibt es für jede der 19 Blockstrecken auf der Anlage 
einen ATmega8 (als Slave), die mit dem Main-Controller über I2C mit 
Bus-Treibern vom Typ PCA9600 kommunizieren. Das geht mit 6-adrigem 
Flachband-Kabel über 15 Meter mit 50Kbit/s ohne Probleme.

: Bearbeitet durch User
von Daniel F. (df311)


Lesenswert?

Michael B. schrieb:
> Die alten Stellwerke wurden abgerissen. Es gibt nur noch Fernsteuerung
> aus ein paar Zentralen.

da fehlt das wichtigste Wort der Eisenbahn: "grundsätzlich"


Michael B. schrieb:
> Und heute geht sowieso alles automatisiert.

danke für den Lacher in der Früh. die Nachtschicht gestern war wieder 
mal der Beweis dafür, dass es grundsätzlich automatisch gehen sollte.

Aber oft geht halt irgendwas nicht automatisch, dann muss der Fdl 
händisch ran...

von Bauform B. (bauformb)


Lesenswert?

Daniel F. schrieb:
> Michael B. schrieb:
>> Und heute geht sowieso alles automatisiert.
>
> danke für den Lacher in der Früh. die Nachtschicht gestern war wieder
> mal der Beweis dafür, dass es grundsätzlich automatisch gehen sollte.

und manchmal hätte es ohne Automatik besser funktioniert...
1
Die Kollision war auf eine Aneinanderreihung von sicherheitskritischen
2
Faktoren zurückzuführen. Ausgangspunkt war die automatische Fortschaltung
3
und Überschreibung einer ZN ohne Zugfahrt aufgrund der Projektierung der
4
ZNL800 in Babenhausen. Mehrere ursächliche, beitragende und systemische
5
Faktoren führten dazu, dass sich eine Ereigniskette bilden konnte und
6
letztlich zur Kollision der Züge führte.
https://www.eisenbahn-unfalluntersuchung.de/SharedDocs/Downloads/BEU/Untersuchungsberichte/2022/215_Altheim_Hess_-_Dieburg.html?v=2

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
Noch kein Account? Hier anmelden.