Bernd the Brick
27.05.2006, 17:02

Problem: Monorail Start/Stopp mittels Motor und RCX regeln.

Hallo,

wir (mein Bruder und ich) haben ein Problem. Wir wollen eine Monorail über
einen RCX steuern, und haben dazu die Start-/Stoppschiene mit einem Motor
ausgerüstet (mittels Schneckengetriebe). Jedoch muss nun die Mittelposition
(STOP) des Schieber möglichst exakt bestimmt werden.

Dazu hatten wir uns überlegt, den Motor vorwärts und dann rückwärts laufen
zu lassen, so wie man es auch per Hand an der Schiene machen würde. Nur leider
stellte sich heraus, dass der Motor in beiden Drehrichtungen unterschiedlich
schnell ist.

verwendeter Motor:

[image]



Start-/Stoppschiene:

[image]



Vielleicht hat jemand eine Idee, wie man das Problem ohne großen zusätzlichen
Aufwand, wie z.B. zusätzliche Sensoren oder riesiges Getriebe lösen könnte.

Problem:
Es gilt die Mittelposition einer Monorail Start-/Stoppschiene möglichst exakt
mittels eines RCX/Minimotors (bei über 50 Richtungswechsel) zu bestimmen.

Gruß
Bernd


Maggimutti
27.05.2006, 19:16

Re: Problem: Monorail Start/Stopp mittels Motor und RCX regeln.

Hi Bernd,

auf diesen Bildern siehst Du wie ich vor einiger Zeit einen 9V Motor mit einer Monorail Start/Stopp Schiene gekoppelt habe:

[image]


[image]



Ich hoffe, Du kannst den Aufbau erkennen.

» Jedoch muss nun die
» Mittelposition
» (STOP) des Schieber möglichst exakt bestimmt werden.
»
leider habe ich meinen damaligen Aufbau nicht mehr komplett da, aber ich denke ich kann Dir ein paar mündliche Anregungen geben.
Nach viel Probiererei habe ich ein Kreuz (gebaut mit schmalen technic-Balken wie im zweiten Bild zu sehen) im 90° Winkel auf die senkrechte Achse geschoben. Dann habe ich einen Tast-Sensor so angebracht, dass er bei jeder validen Stellung der Start/Stopp Schiene durch einen Kreuzbalken gedrückt ist.
Soviel zur Hardware.

Nun die Software:
Wenn der Motor also die Start/Stopp Schiene "einmal rum" dreht, wird der Schalter 4x gedrückt. Die genaue Position der Schiene kann man nun durch Zählen der Schalterbetätigungen im Programm rausbekommen. Da darf der Motor aber nur in eine Richtung drehen!! Ist die Start/Stopp Schiene auf 4, muss der Zähler im Programm wieder auf "0" gestellt werden.
Leider ist mir mein entsprechendes Programm vor einiger Zeit verschütt gegangen :-(

Eine weitere, einfachere, Möglichkeit ist da die Benutzung eines Rotationssensors.

Ich hoffe, ich konnte Dir helfen,
viele Grüsse,
Ulf


Seeteddy
27.05.2006, 19:57

Re: Monorail / Tip von einem Techniker

Hallo Bernd!

Wenn ich es richtig verstanden habe, möchtest du 3 valide Weichenpositionen mit einem Minimum an Sensorik abfragen.
Da bietet sich das Dualsystem als kleine Denkhilfe an: Mit 2 Tastsensoren lassen sich (2 im Quadrat) 4 verschiedene Zustände darstellen (00, 01, 10, 11).
Maschinentechnisch könnte man das Problem am elegantesten lösen, indem man eine kodierte Stange mit der Weichenzunge verbindet (oder zumindest dafür sorgt, das diese sich analog zu Jener bewegt) auf der zweispurig Markierungen für beide Mikroschalter angebracht sind.
Als unverbindlichen Kodierungsvorschlag würde ich empfehlen:

00 (kein Schalter betätigt)= Zwischenposition während des Umschaltens, d.h. keine valide Position.

01 (rechter Schalter betätigt)= Weiche nach rechts eingerastet, valide Position.

10 (linker Schalter betätigt)= Weiche nach links eingerastet, valide Position.

11 (beide Schalter betätigt)= Weiche exakt mittig, valide Position.

Hoffe, dir damit weitergeholfen zu haben; viel Spaß beim Umsetzen!


Hümpfch™
27.05.2006, 20:54

Re: Problem: Monorail Start/Stopp mittels Motor und RCX regeln.

Hi Bernd,
ich denke, dass es zunäxt wichtig ist, das Du ein Getriebe baust, welches, bei ständiger Drehung des Motors in dieselbe Richtung, eine 180°-Pendelbewegung erzeugt.
Dadurch wird die Start-Stop-Schiene bei ständig laufendem Motor nur zwischen den beiden Endstellungen (vorwärts/rückwärts) bewegt.
Wenn Du die Schiene mal mit einem Zug (mit eingeschaltetem Motor) drauf vorsichtig um die Mittelstellung (Stop) hin- und herbewegst, wirst Du feststellen, dass die Stop-Position nicht exakt ermittelt werden muss.
Wenn es Dir nun gelingt, das Pendelgetriebe so zu bauen, dass es um die Mittelposition relativ träge ist, sollte es ausreichen, den Stop-Zeitpunkt über die Motor-Laufzeit zu ermitteln.
Alternativ kannst Du das Getriebe so bauen, dass es in den beiden Endstellungen über eine Rutschkupplung stehen bleibt. Auch dann kannst Du den Stop-Zeitpunkt jeweils über die Motor-Laufzeit ermitteln.
Du kannst auch zwei Motoren nehmen, für jede Fahrtrichtung einen, und jeweils in der Stop- und der jeweilgen Endposition eine Rutschkupplung installieren.

Anderfalls wirst Du wohl um einen Sensor, der in der Stop-Position betätigt wird, nicht drum herumkommen.
Auch dabei kannst Du aber das 180°-Pendelgetriebe verwenden.

Ich habe aktuell auch ein Pendelgetriebe im Einsatz, welches ein Radar um ca. 105° nach links und rechts bewegt (insgesamt also etwa 210°). Das eigentliche Getriebe macht aber nur rd. 70° (der linke, graue 3er Liftarm). Erst durch Übersetzung mit einem kleineren 8er Zahnrad (ganz links=unsichtbar) ergibt sich der größere Winkel. 210° dürften bei der MR-Start-Stop-Schiene auch funzen.

[image]



Gruß Ronald


Bernd the Brick
28.05.2006, 09:43

Re: Problem: Monorail Start/Stopp mittels Motor und RCX regeln.

Hallo,

danke schonmal für die Ideen. Mal sehen, ob sich da was mit machen lässt.
Wer noch Ideen hat, hier nochmal das Problem etwas verdeutlichter:

Es ist nicht wichtig, ob die Fahrtposition exakt bestimmt wird, da der Zug
ja losfährt sobald diese erreicht ist. D.h. der Motor kann sich ja über diese
Position hinaus drehen.

Wichtig ist, dass die Stoppposition wieder erreicht wird, da ja der Zug dann
Stoppen soll, wenn er Einfährt. Dummerweise hat diese nur wenig Spielraum,
also muss die 180°-Stellung möglichst exakt bestimmt werden.

D.h. die Schiene ist zu Anfang auf Stopp. Der Zug fährt ein (wird per Sensor
registriert) der Motor läuft an und der Zug fährt los. Dann muss die Stopp-
position wieder erreicht werden, damit der nächste Zug Stoppen kann.

Da das Ganze an sechs Stoppern passiert (je ein Sensor und ein Motor) heißt
das, dass schon zwei RCX voll belegt sind und ich daher ungern nochmal Sensoren
verbauen würde.

Gruß
Bernd


®³
28.05.2006, 10:30

Re: Re: Problem: Monorail Start/Stopp mittels Motor und RCX regeln.

Hallo Bernd.

Die Lösung von Ulf ist nicht schlecht und ausbaufähig. Du musst in die Gearbox nur eine Rutschkupplung einbauen, dann hast du damit die beiden Endpositionen schon erledigt. Das Problem ist lediglich die Mittelstellung. Und das kannst du über einen auf der Achse angebrachten Excenter und einem Tastsensor erledigen. Es gibt nur ein Problem: In der Regel gehen die Monorail-Umschalter sehr schwer, so dass die Gearbox schon zu Beginn durchdreht :-( Das kannst du durch ein kleines Getriebe umgehen: unterhalb der Gearbox mit der Rutschkupplung ist ein kleines 8er-Zahnrad untergebracht.

[image]



[image]



Von der Steuerung her ist das einfach: Du musst den Motor nur eine gewisse Zeit in eine der gewünschten Richtungen drehen - sobald er den Endanschlag erreicht hat, bleibt er dort verharren. Für die Mittelposition musst du halt nur den Taster abfragen.

Melde dich, wenn ich dir bei der Programmierung behilflich sein soll

Gruß
Andreas

P.S. Mit dem NXT ginge das noch einfacher! Da reicht einer der neuen Motoren - der hat hat genug Power um die Weiche zu schalten und verfügt über einen internen Rotationssensor! Das einzige Problem, dass dabei entsteht ist die Befestigung des Motors, da dieser über keine Noppen mehr verfügt ...


Maggimutti
28.05.2006, 11:21

Problem: Monorail Start/Stopp mittels Motor und RCX regeln.

» Hallo Bernd.
»
» Die Lösung von Ulf ist nicht schlecht und ausbaufähig. Du musst in die
» Gearbox nur eine Rutschkupplung einbauen, dann hast du damit die beiden
» Endpositionen schon erledigt.
»
Das ist wirklich ne genial einfache Lösung, Hut ab. Solch eine Idee hätte ich eher haben sollen...

» Das Problem ist lediglich die
» Mittelstellung. Und das kannst du über einen auf der Achse angebrachten
» Excenter und einem Tastsensor erledigen.
»
Genau.

» Es gibt nur ein Problem: In der
» Regel gehen die Monorail-Umschalter sehr schwer, so dass die Gearbox schon
» zu Beginn durchdreht :-(
»
Wenn Motor und Getriebe entsprechend meiner Bilder aufgebaut und angeordnet werden dann dreht das Getriebe nicht durch. Mein Aufbau ist praxiserprobt. Sollte Bernd die Idee weiterverfolgen wollen, baue ich mal schnell ein dat-File und stell es zur Verfügung.

Das gefällt mir: Konstruktive Problemlösung in der Community :-)

Viele Grüsse,
Ulf


®³
28.05.2006, 14:25

Re: Problem: Monorail Start/Stopp mittels Motor und RCX regeln.

Hallo Ulf

» » Es gibt nur ein Problem: In der
» » Regel gehen die Monorail-Umschalter sehr schwer, so dass die Gearbox
» schon
» » zu Beginn durchdreht :-(
» »
» Wenn Motor und Getriebe entsprechend meiner Bilder aufgebaut und
» angeordnet werden dann dreht das Getriebe nicht durch. Mein Aufbau ist
» praxiserprobt. Sollte Bernd die Idee weiterverfolgen wollen, baue ich mal
» schnell ein dat-File und stell es zur Verfügung.

Sicher - deine einfache Anordnung funktioniert einwandfrei - aber leider ist sie nicht für einen Endanschlag geeignet, da die Kräfte am Anschlag langfristig zur Vernichtung der Anordnung führen - daher ja auch die Rutschkupplung. Diese ist jedoch so "weich", dass ein einfaches Ersetzen des 24er Zahnrades durch die Rutschkupplung nicht ausreicht :-( Darum ja der Umweg über das kleine Getriebe.

Ich habe deinen ersten Vorschlag nachgebaut und das entsprechende Problem bekommen :-(

Gruß
Andreas

P.S. DAT-File habe ich schon ... mail mich an und du kannst es gerne haben ( andreas (ät) dreier (minus) privat (punkt) de ) oder du kopierst einfach den nachfolgenden Teil in eine Textdatei und speicherst diese unter monorail_switch.dat ab

0 Untitled
0 Name: monorail_switch.dat
0 Author: Andreas Dreier
0 Unofficial Model
0 ROTATION CENTER 0 0 0 1 "Custom"
0 ROTATION CONFIG 0 0
1 7 -70 0 -60 1 0 0 0 1 0 0 0 1 2772C03.DAT
1 7 30 16 60 1 0 0 0 1 0 0 0 1 32001.DAT
1 7 30 8 60 1 0 0 0 1 0 0 0 1 32001.DAT
1 7 10 0 -60 1 0 0 0 1 0 0 0 1 2774.DAT
1 7 -70 -10 60 1 0 0 0 0 -1 0 1 0 3648.DAT
1 7 -130 0 60 1 0 0 0 1 0 0 0 1 3941.DAT
1 7 70 0 160 1 0 0 0 1 0 0 0 1 3001.DAT
1 7 70 0 200 1 0 0 0 1 0 0 0 1 3001.DAT
1 7 40 -8 180 0 0 1 0 1 0 -1 0 0 3710.DAT
1 7 100 -8 180 0 0 1 0 1 0 -1 0 0 3710.DAT
1 7 70 -80 180 1 0 0 0 1 0 0 0 1 71427C01.DAT
1 7 -70 16 160 0 0 1 0 1 0 -1 0 0 3020.DAT
1 7 -60 8 140 0 0 1 0 1 0 -1 0 0 3794.DAT
1 7 -80 8 140 0 0 1 0 1 0 -1 0 0 3794.DAT
1 7 -80 8 180 0 0 1 0 1 0 -1 0 0 3794.DAT
1 7 -60 8 180 0 0 1 0 1 0 -1 0 0 3794.DAT
1 7 -70 -16 160 0 0 1 0 1 0 -1 0 0 3002.DAT
1 7 -70 -40 160 0 0 1 0 1 0 -1 0 0 879.DAT
1 0 -130 -20 60 0 0 1 -1 0 0 0 -1 0 3705.DAT
1 0 -70 -20 60 0 0 1 -1 0 0 0 -1 0 3704.DAT
1 4 -70 -30 90 1 0 0 0 1 0 0 0 1 X137.DAT
1 0 30 -20 60 0 1 0 -1 0 0 0 0 1 3705.DAT
1 0 -10 -20 60 0 0.990268 0.139173 -1 0 0 0 -0.139173 0.990268 3705.DAT
1 7 -10 -10 60 -0.139173 0.990268 0 0 0 -1 -0.990268 -0.139173 0 3648.DAT
1 7 30 -10 60 0 1 0 0 0 -1 -1 0 0 3647.DAT
1 47 52 -40 60 0 1 0 0 0 -1 -1 0 0 6588.DAT
1 15 30 -40 61 0 1 0 0 0 -1 -1 0 0 60C01.DAT
1 0 70 -40 60 0 1 0 1 0 0 0 0 -1 4716.DAT
1 0 70 -40 80 0 1 0 0 0 1 1 0 0 3705.DAT
1 0 70 -40 120 0 1 0 -1 0 0 0 0 1 6538B.DAT
1 15 10 24 60 1 0 0 0 1 0 0 0 1 3867.DAT
0


Bernd the Brick
28.05.2006, 14:37

Re: Problem: Monorail Start/Stopp mittels Motor und RCX regeln.

Hallo,

Danke für die Vorschläge. Am Programmiertechnischen hapert es nicht. Und
an der Schwergängigkeit der Stopper auch nicht. Dies kann durch ein bisschen
Öl gelöst werden.

Je Stopper (insges. 6) gibt es schon einen Motor und einen Sensor. Das Fest-
stellen der Mittelposition mit Sensor würde weitere sechs Sensoranschlüsse
erfordern, die nicht vorhanden sind. Also suchen wir eine Lösung die ohne
weiteren Sensor zur Feststellung der Position auskommt. :-(

Die verwendeten Motoren haben ja ein gewisses Spiel, wenn man sie auslaufen
lässt (also nicht gleich stoppen). Wenn jetzt der Motor einigermaßen gut
getimed ist, springt der Schieber automatisch in die Mittelposition, wenn der
Drehknopf einigermaßen in der Mitte ist.

Dieses Timing für jeden einzelnen Motor (insges. 6 Stück) wollten wir eigentlich
vermeiden.

Gruß
Bernd

PS: Wenn man denn 6 NXT-Motoren bis dahin bekäme; und auch zwei NXTs...


®³
28.05.2006, 17:55

Re: Re: Problem: Monorail Start/Stopp mittels Motor und RCX regeln.

Hallo Bernd.

» Je Stopper (insges. 6) gibt es schon einen Motor und einen Sensor. Das
» Feststellen der Mittelposition mit Sensor würde weitere sechs
» Sensoranschlüsse erfordern, die nicht vorhanden sind. Also suchen wir
» eine Lösung die ohne weiteren Sensor zur Feststellung der Position
» auskommt. :-(

Diese Aussage von dir habe ich jetzt nicht ganz verstanden :-| Die von Ulf und mir vorgestellte Lösung benötigt pro Stopper einen Motor und einen Tastsensor. Weitere 6 Sensoren wären somit nicht notwendig ... oder für was wolltest du diese verwenden?

Im Übrigen kann man durch geschickte Programmierung auch mehrere Sensoren an einen Port des RCX hängen So können z.B. ein Taster und ein Lichtsensor sauber voneinander unterschieden werden, da beide in einem anderen RAW-Wertebereich arbeiten. Ich habe auch schon Taster und Rotationssensoren an einem Port des RCX verwendet (wobei es hier einen Totbereich beim Drücken des Tasters gibt). Wenn du jedoch viele Taster an einen Eingang des RCX hängen möchtest, dann kannst du das über eine kleine Widerstandsbrücke machen. Mike hat hierfür eine nette Bauanleitung auf seiner Mindstorms-Page: Multiplexer für Tastsensoren. Wenn du dich auf drei Taster beschränkst, dann ist der Multiplexer sogar ohne das Zerschnippeln eines 9V-Kabels zu realisieren

Vielleicht kannst du mir sagen, warum du soviele Sensoren (zwei je Monorailstopper) benötigst? U. U. gibt es auch eine sparsammere Lösung

Wenn du jedoch den Monorailstopper nur auf "Halt" und "Vorwärts" machen willst, dann kommst du mit einer reinen Motoren-Lösung aus, die keinen Sensor benötigt: Vierteldrehung mit zwei Endanschläge!

Gruß
Andreas

P.S. Ich habe zwar zwei NXT-Sets mit 6 Motoren ... aber die kann/will ich zur Zeit nicht hergeben


Hümpfch™
28.05.2006, 18:04

Re: Re: Re: Problem: Monorail Start/Stopp mittels Motor und RCX regeln.

» » Je Stopper (insges. 6) gibt es schon einen Motor und einen Sensor.


» » Das Feststellen der Mittelposition mit Sensor würde weitere sechs
» » Sensoranschlüsse erfordern, die nicht vorhanden sind. Also suchen wir
» » eine Lösung die ohne weiteren Sensor zur Feststellung der
» Position
» » auskommt. :-(
»
» Diese Aussage von dir habe ich jetzt nicht ganz verstanden :-| Die von Ulf
» und mir vorgestellte Lösung benötigt pro Stopper einen Motor und einen
» Tastsensor. Weitere 6 Sensoren wären somit nicht notwendig ... oder für
» was wolltest du diese verwenden?

Hi Erimkreishochdrei,
oben schrob er doch, dass es bereits pro Stopper einen Motor und einen Sensor gibt, wofür ist doch erstmal egal, oder? Er sucht eine Lösung _ohne_ Sensor.

Abgesehen davon schrob er an anderer Stelle in diesem Thread, dass der Sensor feststellt, wann ein Zug in den Bahnhof fährt.

» Im Übrigen kann man durch geschickte Programmierung auch mehrere Sensoren
» an einen Port des RCX hängen So können z.B. ein Taster und ein
» Lichtsensor sauber voneinander unterschieden werden, da beide in einem
» anderen RAW-Wertebereich arbeiten.

Das könnte sein Problem allerdings lösen.
Lichtsensor = Einfahren des Zuges.
Tastsensor = Stop-Stellung der Schiene.

Gruß Ronald


®³
28.05.2006, 18:23

Re: Re: Re: Re: Problem: Monorail Start/Stopp mittels Motor und RCX regeln.

Sehr geehrter Herr Ronald Borchert.

Dass er registrieren will, ob der Zug in den Bahnhof einfährt ist ja schon etwas innerhalb des Threads versteckt ... das nächste Mal werde ich versuchen, dass ich erst einmal alles dreimal durchlese, bevor ich wage zu antworten!

An Bernd:

Für die Registrierung, ob ein Zug in den Bahnhof einfährt würde ich auf alle Fälle den Lichtsensor nehmen, da dieser berührungslos arbeitet und dadurch keinen Einfluss auf den Monorailzug hat. Man muss nur darauf achten, dass er in nicht allzugroßer Entfernung zum Bahngleis in der Höhe der Seitenverkleidung platziert wird. Der Sensor arbeitet recht einfach und springt am besten auf helle Flächen an - daher sind die Räder selbst nicht so sehr geeignet.

Gruß
Andreas


Bernd the Brick
29.05.2006, 09:08

Re: Problem: Stopp mittels Motor und RCX regeln.

Hallo Andreas,

» Für die Registrierung, ob ein Zug in den Bahnhof einfährt würde ich auf
» alle Fälle den Lichtsensor nehmen, da dieser berührungslos arbeitet und
» dadurch keinen Einfluss auf den Monorailzug hat.

Ich nutze eine Lichtschranke (selbst gebastelt von meinem Bruder) die mit
AN/AUS (wie Tastsensor) funktioniert.

Eigentlich wollte ich nicht konkret werden, jedoch scheint das unabdingbar:

Für die TSL-Moonbase wollten wir die MR einsetzten. Und dazu mehrere Bahn-
höfe und Züge laufen lassen. Nun ergab es sich, dass sich bei meinem Bhf
drei Gleise befinden, auf einem steht ein Zug und wartet darauf, dass der
andere einfährt, um dann loszufahren. Die Fahrtrichtungen ändern sich jedoch.
Also ist es notwendig, die Stoppposition zu wissen.

Ein Hin- und Herpendeln zwischen den Fahrtrichtungen ist daher nicht sinn-
voll. Eine exakte Bestimmung der Fahrtposition ist auch nicht notwendig, da
der Zug ja losfährt sobald diese erreicht ist. Jedoch stoppt er nicht, wenn
die Mittelposition (STOP) nicht exakt erreicht wird. D.h. die Züge können
kollidieren oder die Regelung funktioniert nicht mehr, da sich ein Zug nicht
mehr abfahren lässt, da er über die Stoppschiene hinaus gefahren ist.

Außerdem gibt es noch zwei weitere einfachere Bahnhöfe, die jedoch von
anderen gebaut werden. Diese sollen ebenfalls per RCX gesteuert werden, damit
der Zug nicht einfach durchrauscht. Um nun nicht per Hand in der Anlage rum-
zupfuschen, dachten wir uns, die MR per Motor steuern zu lassen. Um dies zu
erreichen muss aber eine Motorsteuerung konstruiert werden, die von jedem der
Bhf-Bauer einfach nachgebaut werden kann.

Da der RCX nun kontrollieren muss, welcher Zug, wo einfährt haben wir uns
für eine Lichtschranke (EIN/AUS) entschieden. Der Lichtsensor von LEGO selbst
ist nicht dafür geeignet.Insgesamt ergeben sich so also sechs Motoren mit
sechs Sensoren. Eine STOP-Ermittelung mittels Sensor würde weitere sechs
Sensoren (insges. also zwölf) erfordern.

Eine Verkomplizierung durch noch mehr Sensoren, die von den anderen Bauern
ebenfalls noch einzubauen wären, wollten wir daher vermeiden. Aber ohne
Sensoren müssen die einzelnen Motoren individuell getimed werden, da die
Vorwärts- und Rückwärtslaufzeit leider nicht identisch sind (warum?
theoretisch sollten sie das aber :-().

Nun scheint es doch darauf hinauszulaufen, dass wir die Laufzeit für jeden
Motor einzeln abstimmen müssen, was wir eigentlich vermeiden wollten.


Gruß
Bernd