Hallo Zusammen,
In diesem Beitrag sollen die Fragen und Antworten zur Ansteuerung von Multiplex Signalen zusammengetragen werden.
Hardi
Erst mal eine Zusammenfassung der Beiträge aus dem Hauptthread:
Zitat von cmfcmf im Beitrag MobaLedLib: 768 LEDs, Servos, Sound, …………… Neu: Version 3.0.0
Hallo zusammen,
ich habe in den letzten Tagen meine ersten erfolgreichen Versuche mit der MobaLedLib gestartet.
Alles in allem ist das wirklich ein tolles Projekt!
Im Moment versuche ich, ein Viessmann 4725 Multiplex HV-Einfahr+Vorsignal anzusteuern. Dafür benutze ich die Servoplatine im Multiplex-Betrieb.
Grundsätzlich funktioniert das auch über den Pattern-Konfigurator. Allerdings möchte ich gerne separate Adressen für Einfach- und Vorsignal vergeben, sodass ich das Einfahrsignal unabhängig vom Vorsignal über jeweils 2 DCC-Adressen steuern kann. Meine Idee war, im Pattern Konfigurator insgesamt 16=4^2 Zustände zu hinterlegen, sodass ich alle 4 Zustände des Hauptsignals mit allen 4 Zuständen des Vorsignals kombinieren kann, wobei jeweils 2 Adressen genutzt werden. Ich denke, dass ich das theoretisch hinbekommen habe, siehe Screenshot:
Leider scheitert das ganze aber an der Konfiguration des Programmgenerators, denn dort kann ich bei der Charlie_Binary-Funktion nur maximal 11 Zustände wählen. Ich bräuchte allerdings am liebsten 16 Zustände, um alle im Pattern-Konfigurator konfigurierten Signalbilder auch anzusteuern.
Kann mir jemand sagen, ob sich das Limit von 11 Zuständen erhöhen lässt, bzw. wie es zu diesem Limit kommt?
Grüße
Christian
Hallo Christian,
Herzlich willkommen bei den LED-Spinnern…
Ich sehe, Du passt sehr gut zu uns, wenn Du mal schnell so eine Konfiguration zusammenbaust.
Man hat mir als ich das Charlieplexing Programm entworfen habe gesagt, dass man bei Signalen nicht alle möglichen Zustände braucht, weil diese in der Realität nicht vorkommen können. Aber ich kann Dir nicht mehr sagen wer das war.
Aber wir haben ja einige Kollegen hier die sich mit Signalen auskennen.
Die Daten zum Charlieplexing Modul werden als Helligkeitswerte übertragen. Theoretisch sind 256 verschiedene Helligkeitswerte möglich. Diese werden als PWM Signal zur LED geschickt. Dummerweise ist die Messung der PWM Signale mit dem ATTiny nicht so genau. Erschwert wird das bei diesem Modul durch die im Hintergrund (Interrupt) laufende Aktualisierung der LEDs. Darum habe ich mich auf 11 Zustände Beschränkt welche einen entsprechend breiteren Bereich haben. Dadurch ist sichergestellt, dass bei Umwelteinflüssen (Spannung, Temperatur, Alterung, …

Das lässt sich jetzt auch nicht mal auf die Schnelle ändern.
Eine denkbare Erweiterung wäre eine digitale Übertragung der Zustände. Das verwende ich zur Konfiguration der LEDs. Damit wären dann beliebig viele Zustände möglich. Aber auch das schüttelt man nicht einfach so aus dem Ärmel.
Hardi
Zitat von Moba_Nicki im Beitrag MobaLedLib: 768 LEDs, Servos, Sound, …………… Neu: Version 3.0.0Zitat von cmfcmf im Beitrag MobaLedLib: 768 LEDs, Servos, Sound, …………… Neu: Version 3.0.0
Hallo zusammen,
ich habe in den letzten Tagen meine ersten erfolgreichen Versuche mit der MobaLedLib gestartet.
Alles in allem ist das wirklich ein tolles Projekt!
Im Moment versuche ich, ein Viessmann 4725 Multiplex HV-Einfahr+Vorsignal anzusteuern. Dafür benutze ich die Servoplatine im Multiplex-Betrieb.
Grundsätzlich funktioniert das auch über den Pattern-Konfigurator. Allerdings möchte ich gerne separate Adressen für Einfach- und Vorsignal vergeben, sodass ich das Einfahrsignal unabhängig vom Vorsignal über jeweils 2 DCC-Adressen steuern kann. Meine Idee war, im Pattern Konfigurator insgesamt 16=4^2 Zustände zu hinterlegen, sodass ich alle 4 Zustände des Hauptsignals mit allen 4 Zuständen des Vorsignals kombinieren kann, wobei jeweils 2 Adressen genutzt werden. Ich denke, dass ich das theoretisch hinbekommen habe, siehe Screenshot:
...
Leider scheitert das ganze aber an der Konfiguration des Programmgenerators, denn dort kann ich bei der Charlie_Binary-Funktion nur maximal 11 Zustände wählen. Ich bräuchte allerdings am liebsten 16 Zustände, um alle im Pattern-Konfigurator konfigurierten Signalbilder auch anzusteuern.
...
Kann mir jemand sagen, ob sich das Limit von 11 Zuständen erhöhen lässt, bzw. wie es zu diesem Limit kommt?
Grüße
Christian
Hallo Christian
die Bilder 5, 9 und 13 sind Kopien vom Bild 0, diese könntest du einsparen.
Zudem hat das Signal laut Bedienungsanleitung nur 7 LEDs, drei im Hauptsignal und vier im Vorsignal.
Das würde nochmals drei Slots (4, 8 und 12) weniger bedeuten und du würdest mit den 11 verfügbaren Slots auskommen.
Das Limit kommt durch das Übertragungssystem zustande. Die 11 möglichen Zustände werden als Helligkeitswert an den Attiny geschickt und leider hat die Erkennung da eine gewisse Fehlertoleranz.
Schöne Grüße
Dominik
Zitat von cmfcmf im Beitrag MobaLedLib: 768 LEDs, Servos, Sound, …………… Neu: Version 3.0.0
Hallo Hardi, Dominik,
danke für eure Antworten.Zitat von Hardi im Beitrag MobaLedLib: 768 LEDs, Servos, Sound, …………… Neu: Version 3.0.0
Man hat mir als ich das Charlieplexing Programm entworfen habe gesagt, dass man bei Signalen nicht alle möglichen Zustände braucht, weil diese in der Realität nicht vorkommen können. Aber ich kann Dir nicht mehr sagen wer das war.
Aber wir haben ja einige Kollegen hier die sich mit Signalen auskennen.
Das stimmt natürlich. Es ist aber die Frage, wie man das Signal software-technisch ansteuert. Das kann dann ggf. zusätzliche/doppelte Zustände erforderlich machen.Zitat von Moba_Nicki im Beitrag MobaLedLib: 768 LEDs, Servos, Sound, …………… Neu: Version 3.0.0
die Bilder 5, 9 und 13 sind Kopien vom Bild 0, diese könntest du einsparen.
Zudem hat das Signal laut Bedienungsanleitung nur 7 LEDs, drei im Hauptsignal und vier im Vorsignal.
Das würde nochmals drei Slots (4, 8 und 12) weniger bedeuten und du würdest mit den 11 verfügbaren Slots auskommen.
Theoretisch hast du recht - praktisch brauche ich sie aber dann doch. Denn ich will ja das Hauptsignal unabhängig vom Vorsignal ansteuern können. D.h. das Hauptsignal bekommt 2 Adressen und das Vorsignal bekommt 2 Adressen. Oder anders gesagt: Wenn ich das Signal über ein Weichenstellpult steuern würde, dann möchte ich gerne 3 Knöpfe haben, die zu zwei Adressen gehören, mit denen ich das Hauptsignal schalten kann (HP0, HP1, HP2) und 3 weitere Knöpfe, die zu zwei anderen Adressen gehören, über die ich das Vorsignal steuern kann (VR0, VR1, VR2). D.h. zwischen Haupt- und Vorsignal bleibt ein Knopf unbenutzt.
So funktioniert, wenn ich das richtig sehe, auch der Viessmann-Multiplexer-Baustein (siehe https://viessmann-modell.com/sortiment/e...lex-technologie -> Anleitungen -> PDF -> Seite 15 -> Abschnitt '4725 Einfahrsignal mit Vorsignal (Bauart 1969)'):
Zwei Adressen steuern das Hauptsignal (B(asis) und B+1) und das Vorsignal wird über zwei weitere Adressen gesteuert (B+2 und B+3).
So wird das Vorsignal auch automatisch dunkel, wenn das Hauptsignal HP0 zeigt, und zeigt automatisch wieder den vorigen Begriff, wenn das Hauptsignal nicht mehr HP0 zeigt.
Durch meinen Wunsch der getrennten Ansteuerung ergibt sich dann, dass im Patternkonfigurator immer 4er-Blöcke einem Vorsignalbegriff entsprechen, und der Hauptsignal-Begriff alle 4 Einträge wiederholt wird.Zitat von Hardi im Beitrag MobaLedLib: 768 LEDs, Servos, Sound, …………… Neu: Version 3.0.0
Die Daten zum Charlieplexing Modul werden als Helligkeitswerte übertragen. Theoretisch sind 256 verschiedene Helligkeitswerte möglich. Diese werden als PWM Signal zur LED geschickt. Dummerweise ist die Messung der PWM Signale mit dem ATTiny nicht so genau. Erschwert wird das bei diesem Modul durch die im Hintergrund (Interrupt) laufende Aktualisierung der LEDs. Darum habe ich mich auf 11 Zustände Beschränkt welche einen entsprechend breiteren Bereich haben. Dadurch ist sichergestellt, dass bei Umwelteinflüssen (Spannung, Temperatur, Alterung, …und bei Bauteiltoleranzen immer der richtige Zustand erkannt wird. Vermutlich hätte man das auch 16 Bereiche verwenden können, aber mir wurde gesagt, dass man das nicht braucht.
Das lässt sich jetzt auch nicht mal auf die Schnelle ändern.
Eine denkbare Erweiterung wäre eine digitale Übertragung der Zustände. Das verwende ich zur Konfiguration der LEDs. Damit wären dann beliebig viele Zustände möglich. Aber auch das schüttelt man nicht einfach so aus dem Ärmel.
Ich habe mir das Attiny-Programm auch mal angeschautLeider habe ich im Moment nicht die Kapazitäten, mich eingehend damit zu befassen. Ich habe mich aber gefragt, ob es neben der digitalen Übertragung, die ja die Hauptplatine mehr auslasten würde, auch möglich wäre, stattdessen auch den blauen Kanal + Reset Pin zur Übertragung zu nutzen.
So wie ich das im Schaltplan lese, ist der Reset Pin ja ungenutzt im Multiplex-Modus (obwohl im Wiki steht, dass man den RESET Jumper schließen solle - der führt, wenn ich im Schaltplan gucke, aber nur ins Leere und sollte keine Auswirkungen im Multiplex-Betrieb haben?).
Dann könnte man ja 11*11 Zustände übertragen - mehr als genug.
Das könnte auch mit der aktuellen Firmware rückwärtskompatibel sein, wenn der zusätzliche blaue Kanal erst ab 12 Zuständen genutzt wird, sofern man R10 noch einlötet.
Ich kann aber auch nicht einschätzen, ohne mich genauer damit zu befassen, ob der RAM für das zusätzliche Einlesen der PWM über den Reset-Pin ausreicht.
Um den Attiny nicht noch weiter auszulasten, könnte man den blauen und grünen Kanal nur abwechselnd lesen.
Grüße
Christian