WWW.TKURZ.NET - Basteleien und mehr!
Projekte  
11.02.2012

Wattenscheider Decoder - Konfiguration für Eingänge

Beschreibung Link Groesze Anmerkung
Anleitung n.a. Link

Diese Konfiguration verhält sich unabhängig zu dem eingestellten Sw-Typ! Dies bedeutet, dass eine Konfiguration sich auch auf die Ausgangs-Varianten auswirken kann!

Der Wattenscheider decoder stellt eine eigene Gruppe von 8 Pins für Eingänge zur Verfügung. An diesem Stecker sind neben 4 echten Prozessor-Eingängen auch Versorgungspins vorhanden.

Dabei ist darauf zu achten, dass die Software die internen Pullups des Prozessors nicht verwendet, da die Toleranz zu groß ist. Die Platine bietet auf der Unterseite die Möglichkeit, PullUps zu verlöten. (Beschriftet mit I1-I4). Als guter Wert hat sich 10K erwiesen.

Sind keine PullUp Widerstände verlötet, kann es zu nicht vorhersehbaren Verhalten des Decoders kommen, wenn die Inputs aktiv geschalten sind, da der Eingang eventuell kein definiertes Potential hat und floatet.

GND INT1 INT2 5V
GND INT3 INT4 5V
PCB Border
INT1, INT2, INT3, INT4 - Inputs External Interrupts
5V .. Versorgung 5V
GND .. Ground

Software

Die Software ist dabei so ausgelegt, dass das Verhalten der Eingänge über 2 Register eingestellt werden kann.

Reaktion auf Änderungen auf den Eingängen

45 Input Configuration RW
Bitmap to configure the usage of the 4 Inputs
BIT 0 - Send OPC_INPUT_REP on every state change
BIT 1 - not used
BIT 2 - not used
BIT 3 - Input N controlls outputs like an OPC_SW_REQ on address index N
BIT 4 - Strong filter for transition from low to high
BIT 5 - Strong filter for transition from high to low
BIT 6 - not used
BIT 7 - not used

ist das Bit 0 gesetzt, wird bei jeder Änderung eines Eingangs eine Nachricht über das LocoNet gesendet. Dabei wird der Opcode INPUT_REP verwendet. Die verwendete Adresse ist pro Eingang konfigurierbar.

Ist das Bit 3 gesetzt, wirt sich der Zustand der Pins auf die LocoNet Adressen 1-4 aus. Dies bedeutet, wenn die Ausgänge zB auf Servo gestellt sind, dass über die Einänge direkt die Lage der entsprechenden Servos gesteuert werden kann. Dies ermöglich, durch einen Kippschalter, der zwischen 0V und 5V schaltet, die Lage des Servos zu steuern. In diesem Fall sollte der Servo nicht mehr über LocoNet gesteuert werden, sich beide Varianten dann gegenseitig stören würden.

Über die Bits 4 und 5 kann eingestellt werden, ob eine starke oder schwache Entprellung vorgenommen wird. (zB bei Verwendung von Stomverbrauchssensoren).

36 - 37 LotusNet Adress of Input 1 RW
Die Adresse setzt sich aus den beiden SVs zusammen. Dabei ist zu beachten, dass die Adresse in BCD (Binary Coded Dezimal) einzutragen ist. Die niedrigere Adresse gibt die 1000er und 100er Stelle an. Die höher SV gibt die 10er und 1er stelle an.
Beispiel: Adresse 521.
SV20: 0x05 (5 dezimal)
SV21: 0x21 (33 dezimal)

38 - 39 LotusNet Adress of Input 2 RW
Die Adresse setzt sich aus den beiden SVs zusammen. Dabei ist zu beachten, dass die Adresse in BCD (Binary Coded Dezimal) einzutragen ist. Die niedrigere Adresse gibt die 1000er und 100er Stelle an. Die höher SV gibt die 10er und 1er stelle an.

40 - 41 LotusNet Adress of Input 3 RW
Die Adresse setzt sich aus den beiden SVs zusammen. Dabei ist zu beachten, dass die Adresse in BCD (Binary Coded Dezimal) einzutragen ist. Die niedrigere Adresse gibt die 1000er und 100er Stelle an. Die höher SV gibt die 10er und 1er stelle an.

42 - 43 LotusNet Adress of Input 4 RW
Die Adresse setzt sich aus den beiden SVs zusammen. Dabei ist zu beachten, dass die Adresse in BCD (Binary Coded Dezimal) einzutragen ist. Die niedrigere Adresse gibt die 1000er und 100er Stelle an. Die höher SV gibt die 10er und 1er stelle an.

Anschluss von Achszählern

Die Software unterstützt auch den Anschluss von Achszählern, wenn diese pro Achszähler 2 digitale Signale (zB Lichtschranken) ausgeben.

Siehe zum Beispiel:

Die Auswertung von Achszählern funktioniert unabhängig von der Konfiguration über SV 45. Siehe oben. Diese ist auch unabhängig davon zu konfigurieren.

Dabei wird der Achszäher 1 über die Eingänge 1 und 2 angeschlossen. Der Achszähler 2 wird über die Eingänge 3 und 4 angeschlossen.

Die SW wertet dabei die Anzahl der Achsen, die vorbei fahren, selbst aus. Je nachdem, in welche richtung die Räder sich bewegen, werden die Achsen dazu oder weg gezählt. Nach jeder Änderung wird die Anzahl der Achsen über OPC_ANALOG über das LocoNet gesendet. Mehrere Achszähler müssen dann über eine SW ausgewertet werden, die die Nachrichten am LocNet empfängt. Die Adresse der Nachricht wird über die SV Register 71-74 eingestellt.

Zusätzlich zu der Achsanzahl wird ein virtueller Belegtsensor erzeugt. Sobald eine Achsbewegung festgestellt wird, sendet der Decoder eine INPUT_REP Nachricht mit "belegt" an das LocoNet. Wenn 5 Sekunden keine Achse mehr gezählt wird, wir eine Nachricht "frei" gesendet. Die Adresse der Nachricht wird über die SV Register 75-79 eingestellt.

Konfiguration

70 Konfiguration der Achszählauswertung RW
0 ... Achszähler deaktiviert
1 ... Achszähler aktiviert

71 - 72 LotusNet Adress of Achszäher 1 RW
Die Adresse setzt sich aus den beiden SVs zusammen. Dabei ist zu beachten, dass die Adresse in BCD (Binary Coded Dezimal) einzutragen ist. Die niedrigere Adresse gibt die 1000er und 100er Stelle an. Die höher SV gibt die 10er und 1er stelle an.
Beispiel: Adresse 521.
SV71: 0x05 (5 dezimal)
SV72: 0x21 (33 dezimal)

73 - 74 LotusNet Adress of Achszäher 2 RW
Die Adresse setzt sich aus den beiden SVs zusammen. Dabei ist zu beachten, dass die Adresse in BCD (Binary Coded Dezimal) einzutragen ist. Die niedrigere Adresse gibt die 1000er und 100er Stelle an. Die höher SV gibt die 10er und 1er stelle an.

75 - 76 LotusNet Adresse Virtueller Belegtsensor 1 RW
Die Adresse setzt sich aus den beiden SVs zusammen. Dabei ist zu beachten, dass die Adresse in BCD (Binary Coded Dezimal) einzutragen ist. Die niedrigere Adresse gibt die 1000er und 100er Stelle an. Die höher SV gibt die 10er und 1er stelle an.

77 - 78 LotusNet Adresse Virtueller Belegtsensor 2 RW
Die Adresse setzt sich aus den beiden SVs zusammen. Dabei ist zu beachten, dass die Adresse in BCD (Binary Coded Dezimal) einzutragen ist. Die niedrigere Adresse gibt die 1000er und 100er Stelle an. Die höher SV gibt die 10er und 1er stelle an.