User Tools

Site Tools


mgv84-de

MGV84 4-fach Servodecoder

InhaltHardwareMGV


Von Peter Giling


Letzte Neuigkeiten.......

Bitte Gelduld, wenn geplant ist, diese Schnittstelle zu kopieren und zu bauen.

Für Mitte April (2010) wird die neue Baugruppe MGV136 erwartet, die MGV81, MGV84 und MGV84s ersetzten soll.

Für die neue Schnittstelle wird eine fabrikgefertigte Platine verfügbar sein. Die Programmierung mit Rocrail ist auch für MGV84 verwendbar.

Es ermöglicht, den linken und rechten Auslenkwinkel des Servo's, die Laufgeschwindigkeit und die Relaisposition einzustellen.

Das ist alles möglich, während der MGV84 mit dem MGV50 verbunden bleibt.

Es wird keine besondere Verbindung oder irgend etwas sonst benötigt. Nur eine neue Firmware muß in den PIC-Chip programmiert werden.

Die Jumper sind nach Installation der neuen Firmware ohne Funktion.

Die Implementation von Programmierung mit Rocrail wurde mit Rev. 1521 realisiert.

Einleitung

Das Stellen von Weichen in einer Modellbahnanlage ist normalerweise recht teuer und nicht sehr zuverlässig.

Das MGV84 Modul ermöglicht es, 4 preiswerte Servomotoren zu steuern und ist dabei sehr preiswert und zuverlässig.

Es gibt 4 isolierte Eingänge die jeweils durch eine 5V Gleichspannung aktiviert werden. (Höhere Spannungen optional)

4 Relais für das Schalten von Weichen-Herzstücken werden zur Verfügung gestellt.

Das MGV84 Modul bietet auch galvanisch getrennte Ausgänge für Rückmelder, die aktiviert werden, wenn der Servomotor die Endlagen erreicht hat.

Diese Baugruppe ist ein Selbstbauprojekt, für das keine fertigen Platinen verfügbar sind.

Wenn die Herzstückumschaltung nicht benötigt wird, können die vier Relais weggelassen werden. Das reduziert den Preis der Baugruppe um fast 50%.

Die Version V1.2 ist mit zwei selbstrückstellenden Sicherungen und LED's zur Anzeige falscher Relaispositionen erweitert.

Das Bild zeigt, wie MGV84(rechts)
mit MGV50(links) verbunden wird.
Siehe:
Anschlusskabel MGV50 <> Schnittstellen


Schaltungsbeschreibung

Die mit J5 verbundene Stromversorgung kann irgendetwas zwischen 8 bis 18V AC und 10 bis 18V DC einschließlich digitaler Gleisspannung sein.

Laufende Servo's ziehen hohe Stromspitzen von der Stromversorgung.

Deshalb wird ein zweiter 5V-Regler für den Mikroprozessor verwendet.

Transistor TR1 schaltet erst Spannung zu den Servo's, wenn sich die Stromversorgung stabilisiert hat.

Das verhindert, dass sich die Servo's beim Start 'spastisch' bewegen.

Über J6 (Pin 3 bis 6) kommt ein Signal vom MGV50 oder irgendein anderes Signal.

5V an einem dieser Pin's aktiviert den zugehörigen Optokoppler in U1 und bringt den Eingang an U4 im I2C-Expander(Pin 9 bis 12) auf 0 Volt.

Dieses IC wird ständig vom Mikroprozessor U2 ausgelesen. Damit wird der Servo aktiviert, sich gegen den Uhrzeiger zu bewegen.

Das Programm ist so eingestellt, dass sich der Servo in einem Winkel zwischen 45 und 135 Grad bewegt.

Diese 90 Grad sind normalerweise der max. Winkel für lineare Bewegungen.

Eine Änderung der Zahlen 100 und 200 im Programm zu min. 50 und max. 250 ändert den Winkel auf volle 180 Grad.

Wenn der Servo die mittlere Position passiert, schalten die Relais K1, K2, K3 bzw. K4 und ändern die Herzstück-Polarisierung der Weichen.

Nachdem der Servo seine endgültige Position erreicht hat, erfolgt die Rückmeldung durch U4 zu den Optokopplern U3.

Die Rückmeldeausgänge haben in der Endposition im Uhrzeigersinn logisch "0" und in der Endposition gegen den Uhrzeigersinn logisch "1".

Einstellungen für Bewegungswinkel, Laufzeit und Polarität der Relais sind unter Einstellungen durchführen beschrieben.

Weil die Stromversorgung nur einen Servo bedienen kann, wird auch nur ein Servo aktiviert.

Mit der Laufzeit von einigen Sekunden, kann es schon eine beträchtlich lange Zeit dauern, bevor alle Servo's sich bewegt haben - wenn das so vorgegeben wird.

In einem Schattenbahnhof kann es passiern, dass Züge aus dem Gleis laufen.

Deshalb beinhalten Rocrail und dieser MGV84 die Rückmeldemöglichkeit. Mit dieser Option starten Züger erst, wenn alle Weichen in der belegten Fahrstraße ihre Position erreicht haben.

Funktionen

Für jede Weiche sind drei individuelle Einstellungen zu machen:

  • Geschwindigkeit des Motors.
  • Der gesamte Winkel, einstellbar zwischen 10 und 180 Grad.
  • Die Relaisposition. (normal oder umgekehrt)

Eigenschaften

  • Realis für jedes Herzstück
  • bistabile Relais um die Leistungsaufnahme zu reduzieren.
  • Rückmeldung für jeden Servo
  • Isolierte Eingänge und Rückmeldungen, um Masseschleifen zu vermeiden.

Programmierung des PIC-Chip

Der PIC16F873(A) benötigt ein Programm.

Wegen meiner geringen Kenntnisse der Programmierung, benutze ich einen einfachen und weit verbreitetetn BASIC-Compiler dafür.

Für die Funktionen dieser Baugruppe wird nichts für schnelle Programme benötigt, wie Kommunikation und Echtzeitlösungen.

Der Compiler, den ich verwende nennt sich Pic Simulator IDE und kann bei www.oshonsoft.com heruntergeladen werden.

* MGV84.bas

Das folgende Hex-Programm kann direkt in den PIC-Chip programmiert werden.

* MGV84.hex

Einstellungen durchführen

Zum Setzen dieser Parameter den nächsten Schritten folgen:

Schritt Maßnahme
1 Alle erforderlichen Anschlüsse zum MGV84 herstellen
2 Stromversorgung zum MGV84 abschalten
3 Alle 4 Eingänge ausschalten (wenn sie EIN waren)
4 Servo's am MGV84 anschließen
5 Jumper Jp1 stecken
6 Stromversorgung zum MGV84 einschalten
7 MGV84 ist nun im Einstellmodus
8 Einen der 4 Eingänge aktivieren
9 Der entsprechende Servo läuft nun hin und her
10 Die Geschwindigkeit des Motors kann durch P1 geändert werden.
HINWEIS: Die Geschwindigkeit ändert sich erst, nachdem der Servo in der linken Endlage war
11 Der Winkel des Motors kann mit P2 eingestellt werden.
HINWEIS: Der Winkel ändert sich erst, nachdem der Servo in der linken Endlage war
12 Das Relais für das Herzstück der Weiche schaltet um, wenn der Servo die mittlere Position passiert.
Die Relais-Position kann durch stecken/ziehen von Jumper Jp1 umgekehrt werden
13 Wenn der Servo zufriedenstellend läuft und die Relais-Position korrekt ist, wird der Eingang deaktiviert
14 Die Parameter werden gespeichert und der Servo stoppt in der linken Endlage.
15 Wenn erforderlich, wird - beginnend mit Schritt 8 - mit den anderen Servo's fortgefahren
16 Bevor ein anderer Eingang aktiviert und bevor die Stromversorgung abgeschaltet wird,
muß gewartet werden, bis der zuvor eingestellte Servo zur Ruhe kommt.
17 Nachdem alle Servo's eingestellt sind, wird die Versorgung abgeschaltet
und - falls gesteckt - der Jumper Jp1 gezogen.
18 MGV84 wieder einschalten.


Der MGV84 ist jetzt betriebsbereit.

MGV84 Dateien für die Baugruppe

SVN

Materialliste MGV84

Bezeichnung Beschreibung
R1,R2,R3,R4,R7,R25 1kΩ
R5,R6,R23,R24 3,3kΩ
R8,R10 10kΩ
R11,R13,R15,R17 4,7kΩ
R12,R14,R16,R18 220Ω o. 270Ω
R19,R20,R21,R22 560Ω
RP1 array 8 x 3,3kΩ
P1,P2 Trimmer pot 10kΩ
C1 Elko 1000µF 35V radial
C2,C3 Elko 10µF 35V radial
C4,C7,C8 100nF
C5,C6 15pF
D1 - D10 Diode 1N4148
Led1 - Led3 LED 3mm
TR1 Transistor BD678 TO-126
U1,U3 LTV847
U2 PIC16F873(A)
U4 PCF8574
X1 Quarz 20MHz
GR1 B80C1500 www.reichelt.de B80C1500 RUND
F1 Multifuse 0,9A www.reichelt.de PFRA 090
VR1,VR2 7805
K1..K4 Relais RALD5W-K Conrad 502880-8A
JP1 2Pin-Jumper
J1..J4 3pol Stiftleiste www.reichelt.de PSS254/3G
J5 2pol Schraubanschluß www.reichelt.de AKL012/02
J6 10pol Stiftleiste www.reichelt.de PSS254/10G
J7 6pol Schraubanschluß www.reichelt.de 2 x AKL012/03


Kabel zum MGV50

Siehe: Anschlusskabel MGV50 <> Schnittstellen

Das PSK- oder Flachkabel kann an J5 oder J6 des MGV50 angeschlossen werden.

Abhängig davon sollte der MGV50 in Rocrail so programmiert werden:

Anschluß MGV50 I/O # Eing. o. Ausg. Funktion
J5 1 Schalter-Adresse Befehl Servo 1
J5 2 Schalter-Adresse Befehl Servo 2
J5 3 Schalter-Adresse Befehl Servo 3
J5 4 Schalter-Adresse Befehl Servo 4
J5 5 Eingangs-Adresse Rückmeldung Servo 1
J5 6 Eingangs-Adresse Rückmeldung Servo 2
J5 7 Eingangs-Adresse Rückmeldung Servo 3
J5 8 Eingangs-Adresse Rückmeldung Servo 4
J6 9 Schalter-Adresse Befehl Servo 1
J6 10 Schalter-Adresse Befehl Servo 2
J6 11 Schalter-Adresse Befehl Servo 3
J6 12 Schalter-Adresse Befehl Servo 4
J6 13 Eingangs-Adresse Rückmeldung Servo 1
J6 14 Eingangs-Adresse Rückmeldung Servo 2
J6 15 Eingangs-Adresse Rückmeldung Servo 3
J6 16 Eingangs-Adresse Rückmeldung Servo 4


Die Schalter- u. Eingangsadressen sollten nach dem eigenen Plan nummeriert werden.

BEISPIEL:
Angenommen MGV84 ist mit MGV50(J6) verbunden.
Der hier angeschlossene Servo 3 soll mit Portnummer 52 aktiviert werden.
Die Rückmeldung der Weichenposition mit Servo 3 soll Portnummer 121 haben.

Das bedeutet, dass MGV50 I/O #11 als Schalter mit Nummer 52 programmiert werden muß.
MGV50 I/O #15 sollte als Eingang mit Nummer 121 programmiert werden.

mgv84-de.txt · Last modified: 2018/11/12 08:56 (external edit)