1zu160 - Forum



Anzeige:
N-tram FineScale-Kupplungen

THEMA: Elektronik: Weiche mit einem Kanal steuern?

THEMA: Elektronik: Weiche mit einem Kanal steuern?
Startbeitrag
weso - 16.01.09 18:26
Hallo zusammen,

eine Frage an die Elektronikexperten unter Euch.

Gibt es einen einfachen Baustein bzw. eine einfache Schaltung,
die mir aus einem einzelnen High/Low-Signal am Eingang,
an zwei Ausgängen jeweils kurze (am besten einstellbar kurze)
Impulse ausgibt und zwar so so, dass der eine Ausgang auf
ansteigende Flanken, und der andere auf abfallende Flanken
reagiert.
Ich hoffe aus der angehängten Grafik mit den Signalverläufen
geht hervor was ich meine.

Hintergrund meiner Frage:
Zu Weihnachten habe ich ein "Lernpaket MicroController" bekommen,
und nachdem ich festgestellt habe, dass mir die Beschäftigung hiermit
sehr viel Spass macht, möchte ich nun einfache Abläufe für die Moba
steuern.
Der von mr verwendete Baustein (AtTiny13) hat nur fünf I/O-Ports.
Und bei "konservativer" Beschaltung würden dann zwei "Beine" für
eine einzelne Weiche weggehen (Spule Geradeaus - Spule Abzweig)
Mit oben beschriebener Schaltung würde ich dann mit einem "Bein"
pro Weiche auskommen.

Mir ist schon klar, dass ich mit einer Digital-Steuerung dieses Problem
nicht hätte, und auch dass es MicroController mit wesentlich mehr
I/O-Ports gibt
Mir geht es hier aber um eine prinzielle Lösung dieses Problems.

Eine mögliche Lösung wären z.B. zwei Timer aus dem NE555,
die jeweils mit dem Ausgangssignal, bzw. dem invertierten
Ausgangssignal angesteuert werden. (Finde ich aber zu aufwendig)
Eine andere Lösung ergäbe sich, wenn man sich auf die Endabschaltung
der Antriebe verlassen könnte, was ich aber auch nicht möchte.

Vielen Dank schon mal für Eure Ideen

Frank


Die von weso zu diesem Beitrag angefügten Bilder können nur von registrierten Usern gesehen werden - Login


Hallo Frank,

mich würde wirklich der Sinn interessieren. Das ist ja nun alles schon sehr: Von hinten durchs Knie in die Brust. Betrachtest Du das als eine Art Sudoku?

Grüße, Axel

EDIT: Was ich meine, ist: So ziemlich jede denkbare Lösung wird teurer als ein größerer Controller.

Hallo Frank,

Wenns nur darum geht mit einem Ausgang eine Weiche anzusteuern nimm doch ein Demultiplexer und ein Datensignal. http://de.wikipedia.org/wiki/Multiplexer
Damit kannst du 2^4=16 Ausgänge= 8 Weichen steuern. Die Weichen brauchen ja nur Kurz einen Impuls. Wenn du damit leben kannst das immer eine Ausgang an ist kannst du sogar 2'% ausgänge ansteuern. Mehrere Weichen gleichzeitig schalten geht dann natürlich nicht doch mit der richtigen Stromversogung geht ja auch das nacheinaderschalten ganz schnell

Ansonsten kannst du einen seriellen Bus z.B. I2C programmieren und I/OBausteine anhängen

Gruss,
Matthias
.. oder Du klemmst an zwei Ausgänge des µP's ein (oder mehrere) Schieberegister (4094) mit nachgeschaltetem Leistungsverstärker (ULN2803) .. dann kannst Du nahezu beliebig viele Weichen ansteuern .. und auch Signale ... auf diese Art habe ich in meiner MoBa 167 Weichen und ca. 50 Lichtsignal in Betrieb.

Gruß
Dieter


http://Eisenbahn.no-ip.org
Hallo Frank,

mittels einer Kombination von JK-Flip-Flop und Monostabilen Multivibratoren kriegt man die Lösung schon hin. Aber Du wolltest Dich doch mit Mikroprozessoren beschäftigen - und nicht mit der Technik der 60er Jahre, oder ?

Wenn Du diese Funktion leicht mit einem ATtiny abbilden möchtest, solltest Du jedoch noch Treiberbausteine (z.B. ULN 2803) für die Weichenantriebe nachschalten.


Gruß
Burkhard

PS: Falls Du doch noch Gefallen an der Verwendung von Mikroprozessoren für die Digitaltechnik findest, unter z.B. http://www.opendcc.de und http://www.digital-bahn.de gibt es Selbstbau-Projekte, die kompatibel mit Digital-Standards sind und deren Quellcodes frei verfügbar sind.
moin Frank,

So etwas gibt's doch beim C...
http://www.conrad.de/goto.php?artikel=197599

Grüße aus Assen (NL)
Jan
Hallo zusammen,

erstmal vielen Dank für die vielen Ideen und Anregungen.
Das ist jetzt erstmal genügend Stoff für mich dabei, der erstmal
aufgearbeitet werden muss.

@1, Axel
Welch deutliche Worte!
Aber im Prinzip hast Du recht. Ich habe mich bereits viel zu sehr
mit diskreten Schaltungen rumgeplagt, als dass man nun alle
eingetretenen Pfade verlassen kann.
Was das Sudoku angeht: Ja, Modellbahn ist Hobby und Entspannung
für mich. Und manchmal macht es eben halt auch Spass, sich mit
kniffligen Sachen zu beschäftigen, in deren Lösung manche Zeitgenossen
keinen Sinn sehen.

@alle anderen,
Vielen Dank für die vielen Ideen. Die Idee mit dem Schieberegister 4094
find ich ziemlich genial. Auch der Tipp mit dem ULN2803 ist goldwert.
Ich hätte jetzt nächste Woche eine ganze Batterie von Transistoren bei
Reichelt bestellt, die ich jetzt durch diese ULN2803 ersetzen werde.
Der I2C-Bus und die angesprochenen Selbstbauprojekte klingen auch
sehr interessant. Aber da muss ich mich erst mal durcharbeiten, bevor
ich entscheiden kann, ob das was für mich ist.

@5, Jan
So ganz habe ich der Beschreibung von Conrad noch nicht ganz entnommen,
wofür man diese Bausteine nun wirklich braucht.
Aber der Schaltplan sieht dafür sehr komplex aus, und davon wollte ich
eigentlich wegkommen, da ich nicht der große "Löter" bin.
Trotzdem vielen Dank für Deine Mühen.


@Alle

Vielen Dank für Eure Tipps. Ich hätte mich schon viel eher aufraffen sollen,
diese Frage mal ins Forum zu stellen, dann wäre mir viel Denkarbeit
erspart geblieben (aber s.o. darauf stehe ich nun mal, Stichwort: Sudoku)

Liebe Grüße,

Frank
Frank,

vom Controller in Verbindung mit einem Schieberegister bist du ja nun nicht mehr weit entfernt vom S-88 Bus.
Eigentlich ist es jetzt nur noch ein ganz kleiner Schritt !

Viel Spass beim werkeln

wünscht

Günter
Hoi Dieter,

habe mir gerade Deine Seite angesehen - sher schöne Anlage.
Kannst Du mir wohl die Schaltung der Ansteuerung die Du erwähnst zukommen lassen ?

Doei
Trixi
Guten Morgen,

nachdem ich nochmal eine Nacht drüber geschlafen habe, stellt sich mir
doch noch eine einfache (hoffentlich) Frage.
Gibt es eigentlich zu dem Schieberegister-IC 4094 (seriell >> parallel) ein
Pendant, das die umgekehrte Aufgabe löst (also viele parallele Eingänge,
und diese können dann seriell mit einem Taktsignal abgefragt werden)?

@7 Günter,
danke für den Hinweis mit dem S88-Bus. Dann werde ich mir auch mal
hierzu die Theorie zu Gemüte führen.

@8 Trixi,
ich stimme Dir zu: Eine sehr schöne Anlage.
Die Schaltung findet man unter
- Die verwendete Technik
  - Das Weichen- und Signalmodul

Nochmale vielen Dank und liebe Grüße

Frank
@9 Guten Morgen Frank,

Zitat

Gibt es eigentlich zu dem Schieberegister-IC 4094 (seriell >> parallel) ein
Pendant, das die umgekehrte Aufgabe löst (also viele parallele Eingänge,
und diese können dann seriell mit einem Taktsignal abgefragt werden)?



Die CMOS-Bausteine 4014 (parallel/seriell-ein, parallel/seriell-aus)
oder 4021(parallel/seriell-ein, seriell-aus)  können das.

Grüße von Ernie.

Edit: Link

http://www.doctronics.co.uk/4014.htm



Hallo Frank,

vom I2C Bus würde ich persönlich abraten, da man im I2C Bus nur wenige GLEICHE Bausteine adressieren kann. Du brauchst ja, um div. Weichen anzusteuern, mehrere PIO's des I2C Bus, man muss diese Bausteine schon bei der Bestellung für eine bestimmte Adresse auswählen, manche Bausteine haben noch ein externes "Beinchen", mit dem man z.B. A0 beeinflussen kann.
Die Schieberegistertechnik bietet den Vorteil, dass Du nahezu beliebig viele 4094 hintereinanderschalten kannst. Und wenn Du auch noch 4021 einbaust, dann kannst Du über das gleiche Verfahren auch die aktuelle Stellung der Weichen rücklesen. (Siehe dazu auch den Schaltplan in meiner Webpage
http://dnoa.no-ip.org/Eisenbahn/technik/wei/index.html
Einen Nachteil möchte ich aber auch nicht verschweigen: Du brauchst im Prozessor mind. soviel RAM-Speicher, wie Du Schieberegister angeschlossen hast, da Du im Prozessor immer ein aktuelles Ausgangsabbild erzeugen musst. Du musst ja schließlich ALLE Schieberegister mit einem Mal mit Daten befüllen und am Ende den Strobe-Impuls geben. PIC's haben aber häufig zu wenig RAM ..
Gruß
Dieter

http://Eisenbahn.no-ip.org
Frank,

eine sehr hilfreiche Seite ist diese hier:
http://www.mikrocontroller.net/
da treiben sich auch etliche MoBahner rum!

Generell halte ich den Tiny13 für etwas schwächlich auf der Brust, obwohl man in 1K Flash schon (in Assembler programmiert) allerhand an Programm hinein bekommt.
Aber Assemblerprogrammierung ist heutzutage wohl mehr was für senile (wie ich) alte Herren, oder wie mein Lehrjunge sagt: für die "ewig Gestrigen".

@Dieter:
es handelt sich bei Frank´s Controller nicht um einen PIC sondern um einen AT TINY !
Siehe hier:
http://www.atmel.com/dyn/resources/prod_documents/8126S.pdf
in Kurzform.

Soweit mein unmaßgebliches Wort zum Sonntag

Gruß,
Günter

Hi Günter,
zwischen dem AT Tiny und einem PIC von Microchip sind aber Gemeinsamkeiten .. z.B. haben beide wenig RAM "on board" .. der AT Tiny hat auch nur 64 Byte ...
Natürlich bestehen zwischen beiden Prozessoren gravierende Unterschiede ... aber halt auch (einschränkende) Gemeinsamkeiten ... z.B. geringer Flash-Speicher für Programme ...
Aber zum Experimentieren (auch in Assembler --- mmh -- mag ich sehr!!!) sind sie gut geeignet!

Schönen Sonntag noch .. ich schwing mich jetzt in den ICE 627 ..

Dieter
Dieter,

meintest du mit "ICE 627"  den hier

http://cgi.ebay.de/ICE-627-K%F6ln-Frankfurt(Mai...TL090116125004r13500

?



fragt schmunzelnd
Günter
Was es in der "Bucht" nicht alles zu kaufen gibt ..
Ich meinte den echten ICE627 auf dem Weg von Siegburg/Bonn nach Frankfurt HBF ... und dann weiter mit dem ICE29 .. leider dienstlich und keine Vergnügungsfahrt ..

Gruß
Dieter
@10 Danke Ernie,

also bei der nächsten reichelt-Bestellung noch ein paar 4021 hinzufügen.

@Dieter und Günter
Assembler passt schon.

Habe zwar noch nicht so ganz Eure Anzahl von Lenzen auf'm Buckel, aber
ich habe auch schon seinerzeit mit 12 Jahren auf dem (Achtung:
Nostalgie!) ZX Spectrum in Assembler programmiert
Naja, Assembler ist wohl ein wenig hochgegriffen. Denn einen solchen
gab es natürlich auf den Tauschbörsen in der Schulpause nicht.
Also mußten die erdachten Programme an Hand eines Tabellenwerkes in Bytes
umgerechnet werden und dann eingegeben werden. Mit der Zeit kannte man
dann die häufigsten Befehle schon auswendig...

Heute arbeite ich beruflich als Software-Entwickler und erfreue mich
daran zu Hause auf meinem Microcontroller wieder Programme zu erstellen, die
nicht durch irgendwelchen Firlefanz überfrachtet sind, aber dafür wenigstens
keine Probleme mit Frameworks, ServicePacks etc. verursachen.

Zurück zum Thema:
RAM-Speicher dürfte kein Problem sein. Ich rede ich hier erstmal
nicht von einer Riesen-Anlage, sondern von Testaufbauten mit höchstens einer
Handvoll Weichen.

Viele Grüße

Frank
Moin Frank,
hast du schon mal daran gedacht, die 64 Bytes des S-RAM´s teilweise als Ausgabe-Schieberegister mit nur 32 Byte zu nutzen?
Oder über PB0 - PB2 die SPI-Pins zu verwenden? Passende Bausteine gibt es.

Und auch daran, den letzten Betriebszustand vor dem Abschalten im EE-Prom zu speichern, damit nicht beim Neustart der Bahn alles durcheinander läuft?

Frank, in der Regel bereiten bereits die kleinen Anlagen mit einer " Handvoll Weichen " zu Beginn die größten Probleme. Sind diese dann erstemal gelöst, wird es sehr einfach.

Aber, über eines solltest du dir im klaren sein: für "hochkomplexe" Aufgaben ist der Tiny 13 nicht gedacht, auch wenn er bis 20 MHz getaktet werden kann.

Noch mal einige Infoquellen speziell für die AVR Microcontroller:

http://www.rowalt.de/

und ein kleines Büchlein:

http://elmicro.com/de/bu-avrrisc.html


Letzteres dürfte dich allerdings zur Höchstform auflaufen lassen, denn da steht eigentlich alles drinne, was an Grundlagen wichtig ist und erweitertes "gewusst wie" vermittelt.


Datenblätter zu anderen Bauteilen im Netz noch folgender Link:

http://www.alldatasheet.com/


Gruß denn,
Günter


Wenn du es unbedingt kompliziert willst, 2 SN74LS121 oder eventuell auch ein 74LS123 könnten deine Wünsche erfüllen.
74121= 1 Monoflop
74123= 2 Monoflops
oder du nimmst einen 2.Tiny13 und Programierst den so, das er mit jeder Flanke am Eingang je einen Ausgang mit einem Impulls versorgt!
Mit den restlichen beiden eingängen kannstz du dann noch die Impulslänge über 2 Schalter in 4 Stufen Programieren.
74er und Atmels findest du bei www.reichelt.de preisgünstig.
Ich habe mit Tiny 15 einen Blockbaustein Programmiert der auch geschobene Züge ordentlich zum stehen bringt und wieder abfahren lassen kann. zZ. bastele ich an Servoansteuerungen und einem großen Blockbaustein mit Zugtypweitermeldung zur Streckenbeeinflußung (also zB das der ICE nicht im Dorfbahnhof hält, wohl aber die Ferkeltaxe)

PS Bei bedarf kannst du mir auch Fragen per E-Mail stellen
Hallo Frank,

ich könnte Dir noch mit der anhängenden Schaltung dienen. Die Weiche wird durch einen Logikpegel am Steuereingang angesteuert: Logisch 0=Grundstellung, logisch 1=Abzweig. Bei Änderung des Pegels liefert die Schaltung jeweils einen ca. 0,5 sek. langen Stellimpuls, so daß eine Weichenspulen nicht überlastet werden können; ausreichend auch für die brachialen alten Peco-Antriebe.Der Puls wird aus dem "dicken" Elko am Versorgungsspannungseingang gespeist. Letztere beträgt bei mir 30V, eine Gleichrichtung des 16V-Lichtausgangs der üblichen Modellbautrafos wird aber auch reichen.
Die Schaltung habe ich vor rund 20 Jahren entworfen; seit dieser Zeit ist sie störungsfrei im Einsatz. Weiterer Vorteil: Durch den Optokoppler am Steuereingang sind Weichen- und Steuerstromkreis galvanisch voneinander getrennt und somit vollkommen unabhängig. Nachteil der Schaltung: Beim Einschalten der Speisespannung ist die Weichenlage zunächst undefiniert. Es ist daher u.U. ein einmaliges Umstellen der Weiche vonnöten, bis die tatsächliche Stellung mit dem Steuerpegel am Eingang übereinstimmt. Dieses läßt sich aber durch eine Initialisierungssequenz des Eingangssignals via µC (oder auf analoge Weise mittels eines Polwendeschalters für die Steuerspannung) sicherlich leicht realisieren.

LG  Jürgen

Edit: Leider habe ich es nicht geschafft, den Schaltplan in besserer Auflösung hochzuladen. Bei Bedarf bitte Mail senden.

Die von RhönbahNer zu diesem Beitrag angefügten Bilder können nur von registrierten Usern gesehen werden - Login



@ 17, Günter,

danke für Deine Tipps. Das Buch "AVR-RISC Mikrocontroller" habe ich mir jetzt
gerade auf Deine Empfehlung hin bei ebay ersteigert (habs für 25 Euro bekommen).
Ich habe mich da mal ganz auf Dich verlassen!!

@ 18, ptlbahn

von der Idee hierfür eine eigene Schaltung oder externe Bausteine einzusetzen
(um Ports zu sparen), bin im Laufe dieses Threads jetzt schon weggekommen.
Wenn, dann würde ich dies auch mit eigenen Controlern umsetzen, wie Du es
auch vorgeschlagen hast. Allerdings würde ich dann schon eher einen Controler
mit mehreren Ports nehmen.

Servos würde ich natürlich auch gerne früher oder später ansteuern wollen.
Da interessieren mich auf jeden Fall Deine Erfahrungen. Wenn ich mal soweit
bin, komme ich gerne auf Dein Angebot zurück.
Zwei Sachen würden mich aber jetzt schon im voraus interessieren, da ich mir
die entsprechenden Teile dann schon mal vorab besorgen könnte.
1) Planst Du die Servos direkt mit dem MicroControler zu steuern, oder benötigt
man dazu zwingend ein eigenes "Servo-Treiber-IC" o.ä. (mir ist bekannt, dass
die Servos "irgendwie" mit einem Rechtecksignal gesteuert werden)
2) Ist diese Ansteuerung genormt? Kann ich mir also irgendein billiges Servo
zum testen besorgen, damit dann loslegen und dann funktioniert es vom Prinzip
auch mit allen anderen? Oder muss ich da etwas beachten?

@19, Jürgen

auch Dir vielen Dank für Deine Mühen. Deine Antwort passt jedenfalls 100%-ig
auf meine Eingangsfrage. Das ist genau das, wonach ich schon ewig gesucht
habe. Auf den Trick mit dem npn/pnp-Transistorpärchen bin ich (mal wieder)
nicht gekommen.
Die Zeichnung ist vollkommen ausreichend, ausser den Bezeichnung der
Transistoren T1-T4. Könntest Du die nochmal nachreichen?


Allen Antwortern schon mal ein recht herzliches Dank für Eure Mühen.

Liebe Grüße

Frank
Hallo Frank,

vielleicht kennst Du diese Seite schon. Ist, glaube ich, schon mal erwähnt worden.  
Aber wenn nicht, hier ist noch mal der Link:

http://www.steinhartw.de/

Grüße von Ernie.
Hallo Ernie,

ja, die Seite kannte ich schon.
Sie war für mich auch der ausschlaggebende Grund, mich mit Microcontrollern
näher zu beschäftigen.
Als (sehr) langfristiges Ziel würde ich mich auch gerne mal mit diesem Thema
beschäftigen.

Trotzdem danke!

Liebe Grüße

Frank
Hallo Frank,

npn-Transistor (T1): BC548 o.ä.
pnp-Tansistor (T2): BC558 o.ä.
Leistungsdarlingtons (T3 und T4): TIP120

Grüße Jürgen
Servoansteuerung ist genormt. Alle 20ms muß ein Impuls von 1.6ms+/-0,8ms gesendet werden. diese 1,6ms sollten Mittelstellung sein und die +/-0,8ms die beiden Endanschläge.
Der Treiber-IC ist im Servo integriert und verarbeitet diese impulse, der eingang ist TTL-Kompatibel, kann also direkt vom Risc angesteuert werden.
Es gibt lediglich 2 Varianten:
Ruhepegel H und impulse L
Ruhepegel L und Impulse H




Nur registrierte und eingeloggte User können Antworten schreiben.
Einloggen ->

Noch nicht registriert? Hier können Sie Ihren kostenlosen Account anlegen: Neuer N-Liste Account





Zum Seitenanfang

© by 1zu160.net;