Weichendecoder mit Servo-Ansteuerung

Antworten
Lorenzo
Beiträge: 34
Registriert: 20.04.2019, 19:24
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Weichendecoder mit Servo-Ansteuerung

Beitrag von Lorenzo » 26.04.2019, 09:50

Hallo zusammen,

kurz zu meiner Person: ich bin mittlerweile etwas über 60 und habe seit ein paar Jahren eine Gartenbahn. Bislang habe ich die Weichen mit Bühler-Motoren angesteuert. Diese sind aber nicht wirklich Freilandtauglich. Bei mir sind durch Feuchtigkeit immer mal wieder die Motoren innen festgerostet. Auf Dauer wird ein Austausch dieser hochpreisigen Antriebe zu teuer. Daher wollte ich zu Servoantrieben wechseln. Ich hab auch seit 2 Jahren ein paar wenige Servos problemlos draußen in Betrieb, aber die Ansteuerung dazu ist im Moment noch etwas provisorisch. Daher war ich auf der Suche nach einer passenden Lösung.

Bei meinen Recherchen im Netz zu einem Weichendecoder mit Servo bin ich auf das Framework von Sven gestoßen. Meine Hochachtung. Es ist genial und super flexibel, aber dementsprechend ist die Konfiguration auch nicht so einfach.

Was ich bisher testhalber realisiert habe: DCC aussenden, Weichendecoder für Magnetartikel über Web Interface steuern und Servo über Web ansteuern. Das hat soweit auch alles funktioniert :D

Jetzt wollte ich versuchen, die Ausgabe der Weichensteuerung anstelle über gpios auf einen Servo umzuleiten.

Mein config File dazu sieht folgendermaßen aus:

Code: Alles auswählen

{
	"version": "3",
	"cfg": 
	[
		{
			"m": "wlan",
			"ip": "xxx.xxx.xxx.xxx",
			"netmask": "xxx.xxx.xxx.xxx",
			"gw": "xxx.xxx.xxx.xxx",
			"ssid": "xxxx",
			"pwd": "xxxxxxxx"
		},

		{
			"m": "i2c",
			"sda": "D2",
			"scl": "D1"
		},

		{
			"m": "i2cslave",
			"d": "MCP23017",
 			"addr":[0,1]
		},

		{
			"m": "z21"
		},

		{
			"m": "dcc",
			"gpio": "D7"
		},

		{
			"m": "webservicewifiscanner"
		},

		{
			"m": "webservicelog"
		},

		{
			"m": "cmdlogger"
		}
	],

	"out": 
	[
		{
			"id": "S1",
			"m": "servo",
			"gpio": "D5",
			"1": "50",
			"0": "150"
		}
		{
			"id": "S1",
			"m": "turnout",
			"dir1": "D6",
			"dir2": "D6",
			"enable": "D6"
		}
	],

	"in": 
	[
		{
			"m": "turnout",
			"addr": "1",
			"out": 
			[
				"S1"
			],

			"turnout":
			{
				"dir1": "50",
				"dir2": "150"
			}
		}
	]
}
Die Weichen gpios habe ich für diesen Test alle auf D6 gelegt, da ich sie ja eigentlich nicht brauche. Mein Ziel war, entweder über dir1 / dir2 Servo Werte zu übergeben, oder aber die Weicheninfo für links/rechts mit 1 bzw 0 an den Servo mit dem entsprechenden Wert zu geben. Das hat aber beides so nicht funktioniert :( Hier benötige ich etwas Unterstützung.

Edit: sehe gerade, dass das Thema schon hier viewtopic.php?f=25&t=67 aufgenommen wurde :D

Beste Grüße
Lorenzo

Antworten