Jump to content
Usertreffen 2024: 29.5.-2.6. | Anmelden bitte bis 30.4. ×
Schiffsmodell.net

Lösungsansatz 360° Schottelsteuerung


Torsten

Recommended Posts

Guest Marc-Hamburg

Hallo zusammen,

 

wenn ich Dich richtig verstehe, Du meinst jetzt den Kompasskurs des Bootes was zum Beispiel 90 Grad fährt. Auch wenn der eine Antrieb + 45 Grad und der andere - 45 Grad zur Längslinie laufen würden, wäre der Kompasskurs immer noch 90 Grad. Bei dieser Anstellung der Antriebe, hätte das Boot nicht seinen vollen Pfahlzug.

 

gruß Marc

Link to comment
  • Replies 179
  • Created
  • Last Reply

Top Posters In This Topic

  • hoppppla

    19

  • xoff

    15

  • Torsten

    13

  • BlueWater

    13

Top Posters In This Topic

Posted Images

Guest TeKieler

Darum gehts ja jetzt gar nicht. Gerd meinte nur, dass er sich den aktuelle Kurs per Funkstrecke auf seinem Display anzeigen lässt.

 

Vom Prinzip könnte man einfach den Endlosdrehmotor des Schottels mit einem Fahrtregler drehen lassen und sich die IST_Position per externer Funkstrecke auf die Fernbedienung zurück senden lassen.

Link to comment
Admiral von Schneider
Der Endoder wird den Nord und Südpol des Magneten erkennen können...

 

Ah, danke

 

An diese Möglichkeit hatte ich garnicht gedacht.

Schön, dass auch, wenn man garnicht dabei ist und sich auskennt, kompetente Antworten bekommt :that:

Link to comment
Guest TeKieler

Schön, dass auch, wenn man garnicht dabei ist und sich auskennt, kompetente Antworten bekommt :that:

Klar! Obwohl... so kompetent war sie dann doch nicht... sollte nämlich Encoder heissen ;):lol:

Link to comment

...

Wenn man die Position genau wissen will braucht man unbedingt eine Rückmeldung vom Schiff zum Sender, dann kann man jederzeit einen Orginalbetrieb annähernd betreiben, alles nur eine Frage von Software.

...

 

Hallo Gerd,

 

das ist eine Möglichkeit, oder man verlässt sich eben "blind" darauf, dass der Stellantrieb im Modell der Positionsvorgabe am Sender (mittels Encoder) richtig folgt.

 

Deine Lösung hat was, weil sie den Aufwand an den Stellelementen im Sender und am Schottel kleinhält. Dafür muß man eben mehr Aufwand in die Positionsrückmeldung und Anzeige am Sender stecken.

 

Unter´m Strich ist der Aufwand wahrscheinlich ziemlich identisch.

 

Grüße

 

Torsten

Link to comment

Hallo zusammen

 

An der Sache bin ich auch dran.

 

Wir (meine Gattin und ich) machen seit Jahren im Winter einen Fahrgastschiffkurs. Schiff ist 26 Meter lang.

 

Von vorwärts auf rückwärts = 4 Sekunden.

 

Wenn man am Ruder 4 Umdrehungen macht, dann dreht der Schottel schlicht und einfach eine ganze Weile und das Manöver ist hin.

 

Ich hab da Erfahrung, weil beim meinem Schiff drehe ich von Backbord nach Steuerbord 7 Umdrehungen. Mache ich das beim Schottel (aus Gewohnheit), dann ist einfach Warten angesagt.

 

Deshalb ist eine saubere Lösung nur dann gegeben, wenn die Realität, mit all seinen negativen Auswirkungen, auch gegeben ist.

 

Auf dem Papier habe ich die Lösung, muss sie noch umsetzen.

 

Ganz klar, wer als erster die Lösung perfekt nachbildet, ist der KING.

Link to comment
...Deshalb ist eine saubere Lösung nur dann gegeben, wenn die Realität, mit all seinen negativen Auswirkungen, auch gegeben ist....

Einige Fahrgastschiffe bei uns am See sind jetzt auch im Winterlager. Wie's der Zufall will liegt zur Zeit ein Schottelschiff neben an und ich habe mich mit dem Eigner unterhalten.

 

Kurz zusammen gefasst: Alle Theorie hängt im Wesentlichen von der Reaktionszeit des Schiffes ab. Die Drehachse der Rumpflänge, die Geschwindigkeit und die Position des Schottels / der Schottel im Rumpf sind hier Ausschlag gebend. "Geradeaus fahren kaum möglich, ständiges korigiergen der Ruderlage, Anlegemanöver mit/ohne Wind/Strömung sind immer unterschiedlich."

 

Das macht dieses Thema hier recht interessant. Wenn die Technik so wie Arno es vorschlägt funktioniert, sind weitere Tüfteleien am Teich unumgänglich. Somit ist, meiner Meinung nach, also auch eine Rückmeldung über die Schottel- Ruderlage notwendig. Auch eine sehr reaktionsschnelle Lösung der Ansteuerung des Schottels.

Link to comment

Hallo Torsten,

 

 

Hallo Gerd,

 

das ist eine Möglichkeit, oder man verlässt sich eben "blind" darauf, dass der Stellantrieb im Modell der Positionsvorgabe am Sender (mittels Encoder) richtig folgt.

 

 

 

Der Aufwand ist wahrscheinlich höher wenn man mit einer herkömmlichen Fernsteuerung und einem z.B. minimum 8-Kanal-Schalter das Ganze realisiert.

Die Übertragung einer einzelnen, neuen Position dauert dann zudem noch 8 x 20ms, da pro Durchlauf der Kanäle nur ein Bit (Schaltposition aus n Schaltern) verändert wird.

Wann ist dann eine Position am Drehknopf im Sender gültig?

Laufend übertragen geht nicht, da dann die Zeit der Übertragung unendlich lang wird. Ob sich das Schiff dann noch richtig und zeitnah steuern lässt?

Spass machen wird es auf jeden Fall ein Schiff so zu steuern.

Unser Team hat es im Sommer geschafft nach digital übertragenem Kurs zu fahren. Hier wird die gleiche Funktion in "bischen" abgewandelter Form auch verlangt.

Wenn mein jetziges Projekt fertig ist, werde ich mich mal mit solch einer Steuerung beschäftigen. Die Umsetzung kann aber dauern, denn Modellbau ist bei mir keine Akkordarbeit sondern wirklich Hobby ...eins von vielen anderen Dingen.

Ich kriege dann wohl aber mit den Scale-Bauern hier Ärger oder darf bzw. kann man einen Bugsier3 mit Schottel fahren?:)

 

 

Gruss

 

Gerd

Link to comment

...

Der Aufwand ist wahrscheinlich höher wenn man mit einer herkömmlichen Fernsteuerung und einem z.B. minimum 8-Kanal-Schalter das Ganze realisiert.

Die Übertragung einer einzelnen, neuen Position dauert dann zudem noch 8 x 20ms, da pro Durchlauf der Kanäle nur ein Bit (Schaltposition aus n Schaltern) verändert wird.

Wann ist dann eine Position am Drehknopf im Sender gültig?

Laufend übertragen geht nicht, da dann die Zeit der Übertragung unendlich lang wird. Ob sich das Schiff dann noch richtig und zeitnah steuern lässt?

...

 

Hallo Gerd,

 

ich meinte eigentlich, der µC im Sender erfasst laufend die Position am Encoder und überträgt alle 20ms einmal den Positionswert (1...2ms für 0..360°), analog zur Übertragung der normalen Sender-Kanäle. Eigentlich sollte sogar 0,5...2,5ms möglich sein, das erhöht die Auflösung.

 

Wenn wir den Positionswert digital über 8 einzelne Bit senden wollten, hättest Du natürlich Recht. Ich sehe aber eigentlich keine Notwendigkeit für diese Form der Übertragung.

 

Grüße

 

Torsten

Link to comment

Hallo,

 

wie siehts eigentlich aus, hat irgendjemand Interesse/Zeit an einer Realisierung in absehbarer Zeit? Helfen kann ich gern, wie gesagt auch Adapterplatinen für die Magnetencoder zur Verfügung stellen.

Ansonsten würde ich mich jetzt aus der Diskussion ausklinken, was ich zu dem Thema weis, hab ich glaub ich gesagt, und Zeit für ne eigene Implementierung hab ich keine :)

 

viele Grüße,

Hermann

Link to comment

Hallo Torsten,

 

ich meinte eigentlich, der µC im Sender erfasst laufend die Position am Encoder und überträgt alle 20ms einmal den Positionswert (1...2ms für 0..360°), analog zur Übertragung der normalen Sender-Kanäle. Eigentlich sollte sogar 0,5...2,5ms möglich sein, das erhöht die Auflösung.

 

 

Wenn das so geht wäre es ja super:that:

Ich habe da im Moment Probleme den Übergang von 360° über 0° zum nächsten kleineren Wert ab Null programmtechnisch zu realisieren ohne einen Sprung zu erzeugen. Wobei ich für Max 360° und für Min 0° annehme.

Irgendwie müsste es ja gehen, aber wie?

Hast Du dafür eine passende Lösung?

 

Gruss

 

Gerd

Link to comment
...hat irgendjemand Interesse/Zeit an einer Realisierung in absehbarer Zeit? Helfen kann ich gern, wie gesagt auch Adapterplatinen für die Magnetencoder zur Verfügung stellen...

 

Hermann, ich möchte in meiner «Endless Summer» sehr gern eine 360°, resp. unendlich drehende Technik realisieren, vor Februar wird's aber bei mir bestimmt nichts, da ich noch lange weg sein werde und dazu noch sehr viel zu tun habe...

Bei mir ist es aber nicht nur die elektronische Steuerung, sondern auch noch die Mechanik der Schotteldrehung, die erneuert werden muss...

 

Ich werde mich hier im Thread melden, sobald das Thema für mich aktuell wird - und Dich allenfalls direkt anscheiben...;)

 

Vielen Dank auf jeden Fall für das liebe Angebot! :that:

Link to comment

...

Ich habe da im Moment Probleme den Übergang von 360° über 0° zum nächsten kleineren Wert ab Null programmtechnisch zu realisieren ohne einen Sprung zu erzeugen. Wobei ich für Max 360° und für Min 0° annehme.

...

 

Hallo Gerd,

 

einen fertigen Algorithmus kann ich leider nicht runterbeten, aber vielleicht einen Denkansatz liefern:

 

Der Prozessor im Modell bekommt ja im 20ms-Takt die aktuelle Soll-Position (bleiben wir mal bei 1...2ms) von der Funke geliefert und rechnet die Position zurück in einen Zahlenwert auf der Encoder-Periode (nehmen wir mal 360 Grad an, wahrscheinlich wird es in der Praxis aber ein anderer Wert sein). Diese vergleicht er mit seiner aktuellen Ist-Position (wenn der Antrieb steht) bzw. der Position, die er gerade anfährt und berechnet sich die Richtung für die kürzeste Distanz zur nächsten Soll-Position.

 

Hasb da schon eine Idee für die Formel... mal sehen, vielleicht komme ich heute Abend dazu, das ganze in eine kleine Programmroutine zu gießen.

 

Viele Grüße

 

Torsten

Link to comment
U-Jäger D185

Hallo,

 

in "Siemens S7" bekomme ich das hin, aber ´ne SPS in ein Modell ??

 

Ansteuerung pos/neg mit Plausibilitätsprüfung des Ist-Wertes:

wenn Richtung + gefahren wird, dann muß ein Anstieg des Istwertes erfolgen. Bei jedem SPS-Zyklus wird der momentane Istwert mit dem letztem Zykluswert verglichen. Ist dieser größer als der letzte, dann ist alles io; ist der aktuelle Istwert kleiner, dann überspringe Vergleicher 1x bis zur nächsten Istwertaufnahme (so überspringt man den Übergang zwischen 360° und 1°, bwz. anders herum) ......

 

Bei Nockenschaltwerken an Exzenterpressen etc. hat man auch diesen Übergang !!

Link to comment
Guest Design-HSB

Ich verfolge diese Diskussion ja auch mit großem Interesse, weil mir auch immer noch der Bau eines Schiffes am Herzen liegt, bei dem solch eine Steuerung sehr sinnvoll wäre.

 

Es geht doch sicher darum immer dem Dreh zu folgen und dabei auch über 0° bzw. 360° drehen zu können.

 

Sicher ist es auch sinnvoll das Ganze 2 Mal und eventuell sogar mit Rückmeldung zu haben.

Wobei sicher ein Kreis von 16 Led's am Sender das genau genug anzeigen würden.

 

So dürfte ein Drehen von z.B. 320° auf 360° sicher zu lösen sein.

Genau so ein drehen von z.B. 40° auf 0° ist sicher einfach, nur wenn es dann von 40° auf 320° Grad oder umgekehrt gehen soll, kommt die große Frage was nun oder?

 

Nur haben wir ja das Glück das unsere Elektronik ja schon bei der kleinster Veränderung zu drehen beginnt und hier sollte es ja möglich sein aus der Drehrichtung einen Algorithmus zu errechnen, der die Drehrichtung bei behält.

Link to comment

Hallo,

 

 

Hallo,

 

in "Siemens S7" bekomme ich das hin, aber ´ne SPS in ein Modell ??

 

Ansteuerung pos/neg mit Plausibilitätsprüfung des Ist-Wertes:

wenn Richtung + gefahren wird, dann muß ein Anstieg des Istwertes erfolgen. Bei jedem SPS-Zyklus wird der momentane Istwert mit dem letztem Zykluswert verglichen. Ist dieser größer als der letzte, dann ist alles io; ist der aktuelle Istwert kleiner, dann überspringe Vergleicher 1x bis zur nächsten Istwertaufnahme (so überspringt man den Übergang zwischen 360° und 1°, bwz. anders herum) ......

 

Bei Nockenschaltwerken an Exzenterpressen etc. hat man auch diesen Übergang !!

 

Ich bekomme Deinen beschriebenen Fall auch mit einem Microprozessor hin, da liegt nicht das Problem.

So ähnlich hab ich das bereits schon realisiert für einen anderen Anwendungsfall.

 

Nebenbei, es gibt einen programmierten Atmel-Chip der genau eine S7? nachbildet und auch nach dem gleichen Chema und Symbolen wie eine SPS programmiert wird.

Also SPS im Modell kein Thema:D

 

Trotzdem stehen wir hier vor einem ganz anderen Problem, wir kommen mit dem Impuls der Fernsteuerung nicht ohne weiteres über 360° Drehbewegung hinaus.

Ich versuche es zu erklären:

Wir fangen bei Schottelstellung 0° an, Impulsbreite Min = ca. 1ms,

wir fahren den Schottel auf 360°, Impulsbreite Max = ca. 2ms ....mehr geht nicht!

 

So und nun kommt es:

wir wollen über 360° hinaus auf 10° fahren.

Was passiert nun?

Genau das, was wir nicht wollen!!

Der Impuls verändert sich schlagartig von 2ms auf 1,xx, da nun einmal dieser Wert für die Position 10° zugeordnet wurde.

Also dreht der Schottel sich komplett um und schiebt in die entgegengesetzte Richtung.

Richtig so?

Das wollen wir aber nicht!

 

Ein Nockenwellenschaltwerk ist Impulsgesteuert, oder?

Es spielt da dann der Nullpunkt in diesem Fall keine Rolle, denn ein "Impuls" schiebt das Schaltwerk in die nächste Position?

So hab ich das wenigstens in Erinnerung.

 

Wir haben es hier aber mit einer Impuls-Breitenregelung zu tun, mehr kann der Sender nicht liefern bei herkömmlichen Fernsteuerungen.

Die Impulsbreite lässt sich nun nicht mal so von 0° = 1ms über 360° = 2ms bzw. auf den Wert über Maximum regeln um den Wert 360 + 10° als neuen Wert zu erreichen.

Genau diesen Vorgang brauchen wir um die gewünschte, neue Position zu erreichen wenn unser Schottel über 360° hinaus sich bewegen und funktionsgerecht arbeiten soll.

Wir wollen nämlich genau genommen nach "370°" fahren um es einfach darzustellen.

Also in meinen Augen das Problem noch nicht gelöst.

Wenn ich die Lösung weiss, schreibe ich dann eventuell das Programm dafür ...aber erst nach unserem Umzug.

 

 

Gruss

 

Gerd

Link to comment
Guest TeKieler

Der Impuls verändert sich schlagartig von 2ms auf 1,xx, da nun einmal dieser Wert für die Position 10° zugeordnet wurde.

Also dreht der Schottel sich komplett um und schiebt in die entgegengesetzte Richtung.

Das wird wohl leider passieren!

Deshalb brauchen wir entweder empfängerseitig einen µC, der erkennt, dass der Bereich von 1,75ms...1,25ms nicht durchfahren wurde und den Drehmotor korrekt ansteuert....

 

oder wir kommen nochmal auf die Sache mit dem Multiswitch zurück, die ich schon beschrieben habe.

Wenn wir im Sender einen µC haben, der 12 Ausgänge hat, können wir so die Absolutwerte zum Multiswitch schicken.

Ich habe das hier schonmal beschrieben.

Empfängerseitig ist dann aber wieder der µC von Nöten, um die 12 Kanäle auszuwerten und ein Signal für den Fahrtregler des Drehmotors zu generieren

Link to comment

Hallo,

 

oder wir kommen nochmal auf die Sache mit dem Multiswitch zurück, die ich schon beschrieben habe.

Wenn wir im Sender einen µC haben, der 12 Ausgänge hat, können wir so die Absolutwerte zum Multiswitch schicken.

Ich habe das hier schonmal beschrieben.

Empfängerseitig ist dann aber wieder der µC von Nöten, um die 12 Kanäle auszuwerten und ein Signal für den Fahrtregler des Drehmotors zu generieren

 

Das wird leider ohne erhebliche Zeitverzögerung nicht funktionieren.

Es wird bei jedem kompletten Kanaldurchlauf von ca. 20ms jeweils nur ein Bit von 12 im Multiswitch verändert. Ein Datenpaket dauert demnach 12 x 20ms was wiederum keinen vernünftigen Fahrbetrieb ermöglicht.

 

Vielleicht hat ja Torsten die Lösung.

 

Ich hab zwar eine Zweikanallösung im Kopf.

Ob die aber einwandfrei funktioniert kann ich im Moment nicht sagen.

Ich müsste das real mal probieren.

Hab aber im Moment leider keine Zeit dafür.

Im Sender müsste dafür ein Microcontroller eingebaut werden.

Um den Microcontroller im Boot kommen wir sowieso nicht herum, egal welche Lösung angestrebt wird.

Programmtechnisch können wir ja da reinbasteln was wir wollen.

Speicherplatz ist dafür im jeden Fall genug da.

 

Mein Vorschlag wäre, wir machen mal ein Projekt dafür auf.

Wer "opfert" sich dafür?

Wer macht mit?

Ich mache auch mit:D

 

Gruss

 

Gerd

Link to comment
Guest TeKieler

Das wird leider ohne erhebliche Zeitverzögerung nicht funktionieren.

...

Ein Datenpaket dauert demnach 12 x 20ms was wiederum keinen vernünftigen Fahrbetrieb ermöglicht.

Warum nicht?

12x20ms sind 240ms.

Dadurch, dass wir die direkte Kursangabe übertragen, zB 275° auf 300°, und nicht jede Gradzahl einzeln (275°, 276°, 277°.....) ergeben sich 4 Kurswechsel in der Sekunde!!

 

An der Funke wäre das wohl grade so möglich, aber ich möchte mal den Stellmotor sehen, der 4 Kurswechsel, zB 180° auf 270° auf 240° auf 090°, in der Sekunde schafft!

 

Der wird höchstwahrscheinlich kurz hin und her zittern und dann direkt von 180° auf 090° gehen ;)

 

Ich wäre übrigens auch dabei...

Link to comment
Warum nicht?

12x20ms sind 240ms.

Dadurch, dass wir die direkte Kursangabe übertragen, zB 275° auf 300°, und nicht jede Gradzahl einzeln (275°, 276°, 277°.....) ergeben sich 4 Kurswechsel in der Sekunde!!

 

Ich wäre übrigens auch dabei...

 

Entschuldige erstmal, dass ich so hartnäckig nachhake!

 

Naja, das ist nur der halbe Lösungsweg, denn wann ist der eingestellte Wert am Sender gültig?

Auch hier häufen sich Wartezeiten an.

Wenn z.B. ein Bugsiermanöver mit einem Schlepper durchführst, was meinst wie oft Du den Steuerknüppel bzw. Drehsteller bewegst?

Welcher Wert ist dann gültig und wird übertragen?

Man könnte das ja mal real testen, mal kucken was rauskommt.

Wir Basteln ja und stehen nicht unter Erfolgsdruck:D

 

Ich habe mit den Stellzeiten in meinem Kompaßmodul bischen rumgespielt.

Wenn man nur alle 200ms einen Wert überträgt und dann noch wechselnde Istwerte hat, hackt das Servo ganz munter umher.

Mir gefiel das nicht so sonderlich und habs abgestellt.

 

Im Moment sind wir ja schon zwei, die im Projekt mitmachen wollen, super:that:

 

 

Gruss nach Kiel

 

Gerd

Link to comment
Guest TeKieler

Schaltungsanordnung:

Drehgeber - µC - FlipFlops - 12KMS Encoder - Sender

 

Die Werte vom Drehgeber werden vom µC in Binärcode umgerechnet und dann über die 12 Ausgänge ausgegeben. Dieses müsste mindestens alle 20ms geschehen.

Man könnte die Werte der 12 Kanäle mit JK oder RS-FlipFlops zwischenspeichern. Sie werden dann nacheinander vom 12KMS ausgelesen und alle 240ms refreshed.

Dies könnte man zB realisieren, indem man den Takt aus dem Sender mit einem Zähler ausliest und dadurch einen eigenen Takt, alle 12 Zyklen, erzeugt. Mit dem werden dann die FlipFlops zurückgesetzt.

So wäre alle 240ms der jeweils anstehende Wert der momentane IST-Wert.

 

 

Am Empfänger sieht es dann ähnlich aus:

Empfänger - 12KMS Decoder - FlipFlops - µC

 

Auch hier werden die 12FFs von einem Takt alle 240ms refreshed

 

Mir ist schon klar, dass beim Manövrieren schnelles Schwenken notwendig ist.

Ich gehe aber davon aus, dass 4 Kurswechsel pro Sekunde reichen werden.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.