Hardware

Die Hardware der Steuerung befindet sich in einem 19" Rack unter der Anlage. In diesem Rack sind auch die Stromversorgung sowie die Signalansteuerung uintergebracht.

Rack

Die Steuerung der Beleuchtung teilt sich auf 3 Ebenen auf:

A) Bedienebene 

Visual C Programm mit Basis EXCEL

Beliebiger PC mit USB Schnittstelle.

 

B) Master Unit

C++ Programm auf Basis Arduino Merga 2650

Die Ansteuerung erfolgt zwar über die USB Schnittstelle, jedoch ist die Versorgungsspannung (+5V) der Schnittstelle, um getrennte System zu haben, aufgetrennt.

Der Arduino Mega hat durch die große Anzahl von digitalen Ausgängen die Möglichkeit direkt (bei Berücksichtigung der Seriellen Ports)  46 Verbraucher (LED's) zu schalten.

Derzeit werden nur 6 Ausgänge für die Steuerung der beiden Schieberegister verwendet, zuzüglich der beiden Ausgänghe für den I2C Bus.

Der Mega verfügt über 3 Interrupts, sodaß verschiedene Blinkfrequenzen fix eingestellt werden können.

Die Kommunikation mit den Clients erfolgt über I2C Bus.

 eucard1

 

 

B1) Schieberegister an der Master Unit

 Um einem Umbau schon bestehender Hardware (dies betrifft vor allem die schon bestehende Verkabelung zu 104 Lichtquellen) zu vermeiden, werden mit der Master Unit 2 Europakarten mit je einem  Stufigen Schiebereister angesteuert.

Die Zahl der Ausgänge ergibt sich aus 4 mal 25pol Kabel mit gleichpoligen Sub-Min-D Steckern, wobei die Pole 14-25 als Pluspol parallelgeschalten sind (4 mal 13 Auisgänge = 54).

Für den praktischen Einsatz sollen jedoch (auch zum Schutz des Prozessors) Treiber nachgeschaltet werden. Ich verwende invertierende Treiber 2804 die bei entsprechender Beschaltung auch Spannungen bis 20 V schalten können.

Für den Betrieb mit LED kann der 74 595 direkt mit Vorwiderstand betrieben werden, eine Umsetzung auf 12/16/20 V ist wegen der Kompatibilität zu herkömmlichen Modellbahnbeleuchtungen sinnvoll.

Wobei ist zu beachten, daß der IC nach Masse schaltet, als gemeinsamer Pol also + verwendet wird.

eucard2

 

C) Client unit

C++ auf Basis Arduino Uno/Nano

 

Für die Clients verwende ich einen günstigen Uno/Nano mit nachgeschaltetem Schieberegister 74 595. Die Anzahl der so erreichbaren Ausgänge ist nahezu unbegrenzt, jedoch der endlichen Rechenzeit und der Notwendigkeit bei jedem Lichtwechsel jedesmal das gesamte Register neu zu schreiben ist bei ca. 50 Ausgängen vernünftiger weise Schluß. 

Natürlich können die vetrbleibenden Ports noch für andere Aufgaben benützt werden.

 client  schaltung

 Dies stellt die typische Schaltung der Clients dar. die beiden Steckbrücken, einmal auf der Prozessorkarte dient dazu die Karte mit verschiedenen I2C Konfigurationen zu verwenden (Tausch SDA - SCL), andererseits auf der Registerkarte entweder 5V oder 12V als Lampen (LED) Versorgung zu verwerden.