Forum: Analoge Elektronik und Schaltungstechnik Schalten über wenig Adern


von JanNiklas (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen!

Ich stehe vor folgendem Problem:
Zur Zeit suche ich nach einer Lösung um viele Schaltimpulse von dem 
Weichenbildstellpult unserer Modellbahnanlage über möglichst wenige 
Adern zu den Weichen zu führen. Bis jetzt hat jede Weiche ihr eigenes 
Kabel vom Schaltpult, was sich jedoch als äußerst unpraktisch erwiesen 
hat.
In dem derzeitigen Stadium noch auf Märklins Digitalsystem umzusteigen, 
scheidet wegen den hohen Kosten für mich aus.

Daher kam ich auf die Idee, die Eingangsimpulse über ICs 4021 zu 
"codieren" und über angefügte Schaltung mit 4094 (jede Leitung noch über 
4,7V ZD auf GND gezogen) wieder zu decodieren und die Weichen (über 
Transistoren) anzusteuern.

Ist dies prinzipiell derart möglich oder funktionieren oben genannte ICs 
nur mit der Seriellen Schnittstelle? Gäbe es andere Lösungen?

Danke im Voraus!

von Michael M. (Gast)


Lesenswert?

idee: gut
ausführung: wird nicht klappen.

da die anlage scheinbar größer ist, wirst du um eine 
differentiell-wandlung nicht herumkommen, um die distanz fehlerfrei 
überbrücken zu können.
tipp: billigerer wandler als die bekannten von maxim ist der SN75176

ich würde auch nicht direkt von der RS232 auf die schieberegister gehn, 
sondern einen mikrocontroller zur kopplung zu verwenden. allein schon, 
ums der PC-software einfacher zu machen.


vielleicht wäre es auch eine überlegung wert, "intelligente" 
weichenknoten zu bauen.
z.b. 8 weichen zu einem knoten zusammenfassen und diesen knoten einem 
einzelnen mikrocontroller überlassen. diese controller werden über ein 
differenielles bussystem (z.b. uart -> 2 adern) an einen master 
angeschlossen, der mit dem (scheinbar vorhandenen) pc verbunden ist.
der ansatz hätte den vorteil, dass du weniger adern brauchst und nicht 
bei jeder änderung alle register neu durchladen musst.

von Zwie B. (zwieblum)


Lesenswert?

Ich würd' mal sagen, probier's aus. Ich hab' mal vor ewigen Zeiten so 
was ähnliches gebaut und hat eigendlich ganz gut funktioniert. Ich hab' 
aber nur TX verwedet, CLK hab' ich einfach über ein Verzögerungsglied 
realisiert und das Datenbit als 0xff oder 0x00 gesendet. CLK kam 
Zeitversetzt irgendwann im Datenbyte :-)

Bei deiner Schaltung solltest nur OE explizit setzen können ...

von Reinhard Kern (Gast)


Lesenswert?

Hallo,

am konsequentesten wäre die Verwendung eines 8poligen 
mimimicroprozessors pro Weiche z.B. von Microchip oder Atmel. Der müsste 
bloss 1 serielles Byte analysieren und feststellen "ich bin gemeint" und 
dann einen Impuls für rechts oder links ausgeben (über je einen 
Schalttransistor). Das reicht dann für 128 Weichen, und man muss nur 
Versorgungsspannung plus 1 Datensignal direkt von Weiche zu Weiche 
weiterleiten. Weniger Aufwand ginge nur mit einem Spezial-Weichenchip.

Gruss Reinhard

von Michael M. (Gast)


Lesenswert?

Reinhard Kern schrieb:
> mimimicroprozessors pro Weiche z.B. von Microchip oder Atmel. Der müsste
http://www.atmel.com/dyn/products/product_card.asp?part_id=4605 =)

> Versorgungsspannung plus 1 Datensignal direkt von Weiche zu Weiche
nicht differentiell? hmm...

von Jan niklas D. (janniklas)


Lesenswert?

Schonmal vielen Dank für eure wirklich schnellen Antworten!

Ein PC ist leider nicht vorhanden. Ich dachte, dass man von den Tastern 
des Stellpults an die Eingänge der 4021 geht, diese dann die "Daten" 
codieren und durch die Gegenseite mit 4094 wieder an die Ausgänge 
gegeben werden. Scheint jedoch wegen der Leitungslänge (?) nicht zu 
funktionieren (s. oben).
Ich bin leider nicht so bewandert in diesem Gebiet, darum Fragen vorweg:
Was ist die differentielle Wandlung?
Was ist der Unterschied zwischen RS232 und RS485, da der SN75176 wohl 
ein solcher Wandler zu sein scheint?

Mit Mikrocontrollern habe ich mich zwar schon mal kurz befasst, 
allerdings bin ich nicht in der Lage mir die Software für so einen µC 
selbst zu schreiben. An eine solche Lösung dachte ich nämlich auch 
schon, bis ich auf den 4021 gestoßen bin …

>Der ansatz hätte den vorteil, dass du weniger adern brauchst und nicht bei jeder 
>änderung alle register neu durchladen musst.
Auf die paar Adern käme es jetzt auch nicht an. Zur Zeit stören nur die 
großen Kabelbüschel, von 25-poligen Sub-D-Kabeln, da jede Weiche einzeln 
angesteuert wird. Wie viel Zeit benötigt denn das vollständige 
Durchladen der Register? Unter 2-3 Sek. wäre es noch akzeptabel …

Da die komplette Anlage in Modulen organisiert ist, würde sowieso jedes 
Modul eine "zentrale" Steuereinheit bekommen.

OffTopic: Da die Weichen aufgrund verschiedener Ausführungen teils mit 
Wechselstrom und teils mit Gleichstrom betrieben werden müssen, ist es 
doch notwendig den Schaltstrom über ein Relais (mit Transistor davor) 
von den ICs zu trennen oder gibt es eine andere Möglichkeit auch 
Wechselstrom mit Transistoren o.Ä. zu schalten?

Ich hoffe die Sache wird nicht zu komplex …

von Olaf (Gast)


Lesenswert?

> Was ist der Unterschied zwischen RS232 und RS485, da der
> SN75176 wohl ein solcher Wandler zu sein scheint?

Wie du schon gehoert hast kann man ICs nicht einfach mit 10m Kabel 
verbinden weil das nicht zuverlaessig genug ist und auch die Gefahr 
besteht das ein IC mal durch Potentialunterschiede kaputt geht.

Ein Loesungsansatz dafuer ist RS232. Dort uebertraegt man Information 
nicht mit 0 und 5V, sondern mit -12V und +12V. Wegen des groesseren 
Abstands ist das sicherer.

Ein anderer Loesungsansatz ist RS422. Da uebertraegt man die Daten mit 0 
bis 5V, aber nochmal dasselbe Signal invertiert auf einer anderen 
Leitung. Wenn der Empfaenger dann ein Signal invertiert und danach 
beides addiert steigt der Rauschabstand auf 10V, sollte es aber bei der 
Uebertragung zu einer Stoerung gekommen sein so wurde die ja invertiert 
und faellt dadurch weg.

RS485 ist dasselbe wie RS422, aber man verwendet fuer hin und 
rueckleitung dasselbe Leitungspaar. Das heisst die Leitungstreiber 
muessen in ihrer Datenrichtung umschaltbar sein und die verwendete 
Elektronik und ihre Protokolle muessen darauf eingerichtet sein.

Es gibt natuerlich noch viele weitere Moeglichkeiten. Zum Beispiel LVDS 
Driver oder 20mA Stromschleifenschnittstelle.


> Mit Mikrocontrollern habe ich mich zwar schon mal kurz befasst,
> allerdings bin ich nicht in der Lage mir die Software für so einen µC
> selbst zu schreiben.

Es waere aber em effizientesten wenn du dieses Wissen nochmal deutlich 
vertiefen wuerdest. Auch wenn viel, auch von mir <BG>, ueber Bascom 
hergezogen wird, du bist der anvisierte Kundenkreis. Damit solltest du 
nach ein paar Tagen rumprobieren zu einer Loesung kommen und dieses 
Wissen wird dir dann in der Zukunft bei anderen Projekten weiterhelfen.

> von den ICs zu trennen oder gibt es eine andere Möglichkeit auch
> Wechselstrom mit Transistoren o.Ä. zu schalten?

Das koenntest du z.B mit einem Triac. Es gibt kleine Optotriacs die wohl 
leisten was du willst. Eine andere denkbare Moeglichkeit waere es 
vielleicht an den Ausgang eines Schalttransistor einen Gleichrichter zu 
schalten.

Olaf

von Schrotty (Gast)


Lesenswert?

>Wenn der Empfaenger dann ein Signal invertiert und danach
>beides addiert steigt der Rauschabstand auf 10V, sollte es aber bei der
>Uebertragung zu einer Stoerung gekommen sein so wurde die ja invertiert
>und faellt dadurch weg.

Stimmt nicht ganz.
Durch die differenzielle Übertragung "sieht" der Empfänger zwischen 
seinen beiden Eingangspins einmal eine Spannung mit einem negativen 
Vorzeichen und einmal mit einem positiven Vorzeichen (je nach logischem 
Bit)
Der Empfänger wertet diese DIFFERENZ aus und nicht den absoluten Bezug 
zur Masse.
Dadurch werden zum einen Ptenzialunterschiede zwischen den Teilnehmern 
in einem gewissen Rahmen uninteressant und zum anderen werden 
Gleichtaktstörungen unterdrückt.
Eine Gleichtaktstörung wäre, wenn auf die Datenleitung eine Störung 
einwirkt, die den Spannungspegel (bezogen auf Masse) verändert. Diese 
Veränderung würde auf BEIDE Leitungen gleichermaßen wirken und somit 
würde die Differenz zwischen den beiden Leitungen unverändert bleiben.
Beispiel:
Leitung A = 0v Leitung B = 5V : Differenz = +5V
Störung verursacht hebt beide Pegel um 3V an:
Leitung A = 3V Leitung B = 8V : Diffenrenz = +5V

Bei sogenannten Single-Ended Übertragungen, wo man mit nur einer Leitung 
die Daten gegen Massen bezogen überträgt, funktioniert das nicht, da die 
Signalleitung mit einer anderen Impedanz übertragen wird, als die Masse 
und die Störung somit auf den Leitungen unterschiedliche Spannungshübe 
verursacht.

RS485 ist lediglich eine elektrische Übertragungsform (differenziell). 
In welcher Form du dabei Daten überträgst, ist ersmal nicht so wichtig. 
Du könntest also den von dir genannten Pegelwandler direkt an Seriellen 
Ausgang und Eingang deiner Schieberegister anschliessen.

Über die Geschwindigkeit würde ich mir keine Gedanken machen:
wenn du das Ganze mit nur 1KHZ taktest, dann kannst du bereits 1000 Bit 
/ sekunde übertragen. Also Daten für 1000 Weichen :-)

von Jan niklas D. (janniklas)


Lesenswert?

Vielen Dank für die ausführlichen Erklärungen!

Dann werde ich in der nächsten Zeit die oben genannten ICs bestellen und 
experimentieren ...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.