Jump to content
Schiffsmodell.net

Kommentare zu Pumpjet und Schottelsteuerung


Time Bandit

Recommended Posts

Deinen Baubericht kenne ich :mrgreen: einer der ganz wenigen selber gebauten Pumpjets die man im Netz findet.

Normale Potis haben leider meistens einen mechanischen Anschlag, da ist nix mit endlos drehen.

 

Spaß beiseite, ich benutze auch sowas wie ein Poti, nur hat das 2 Spuren die um 180° versetzt sind und es dreht endlos und springt dann irgendwann von 100% auf 0% mit nem kleinen Totbereich. Mehr dazu aber dann demnächst.

 

Was ich haben möchte, ist eine Steuerung die eben immer den kürzesten Weg also maximal 180° dreht.

Im Moment kämpfe ich aber eher mit den richtigen Einstellungen für die Lageregelung :cluebat: Per trial and error ist das eine ziemlich langwierige Arbeit. Zumal ich den jetzigen Motor aufgrund seiner Größe nachher so oder so nicht benutzen kann :mrgreen:

Link to comment

Hallo Tobias,

 

die Encoder sind echt ein Schnäppchen, vorallem wenn mal mal den Preis der Alternativen anschaut..

Hast Du mal untersucht, wie groß der Totbereich ist? Das würde mich mal noch interessieren.

 

Die Motortreiber sind echt schon steinalt :) wobei der L6205 auch nicht unbedingt taufrisch ist. Vorllem muß man bei dem mit der minimalen Betriebsspannung aufpassen, der möchte gerne mindestens 8 Volt sehen.

 

Eine Überlegung wäre eventuell der SI9987, integrierte H-Brücke im SO8. Ist halt SMD, SO8 läßt sich aber noch ganz gut von Hand löten. Einzig die Verfügbarkeit ist eventuell ein Problem, im Zweifel mal ganz lieb nach Samples fragen. Belastbar bis 1A, Betriebsspannungsbereich 3,8 -13,2V

 

Kürzester Weg läßt sich am einfachsten über einen Überlauf einer 8-Bit-Variablen erreichen, zumindest in C. Dabei kann man ausnützen, das negative Zahlen als Zweierkomplement gespeichert werden. Wie das bei Basic funktioniert, weis ich allerdings nicht.

 

viele Grüße,

hermann

Link to comment

Beim L6205 fallen aber wenigstens nicht 2V ab :bäh:

Der L293D ist auch ein bißchen mistig zum regeln, mit nem Volksregler bringe ich trotz viel größerer Taktfreuquenz deutlich geringere Drehzahlen hin. L293D funzt am besten bei möglichst niedriger Frequenz.

 

Der Totbereich des Encoders ist deutlich kleiner als im Datenblatt angegeben. Geschätzt ungefähr 2-3°.

Ich les das mal noch mit meinem Impulsencoder hinten auf dem Motor aus. Sollte bei einer geschätzten Übersetzung von 500-1000:1 was halbwegs Vernünftiges bei rauskommen.

Aber in einem Drehwinkel um den Totpunkt rum ist der Widerstand deutlich ausserhalb der Linearität, das sieht man sogar beim von Hand drehen. Vermutlich wird mir nix anderes übrigbleiben als beide Spuren auszulesen.

Aber erstmal muss eine Einzelne funktionieren.:mrgreen:

 

Mit kürzestem Weg und vor allem dem 0-Übergang hab ich vor am Wochenende ein wenig zu kämpfen, da fehlt mir nach 14h Arbeiten einfach ein wenig die Lust zu.

Die max 180° Drehung lässt sich ja auch recht easy mit E selber steuern. Wenn E kleiner als -180° dann einfach 360° dazuzählen bzw. umgekehrt wenn E > 180°. Der Variablenüberlauf ist mit Bascom glaube ich schwieriger zu realisieren, wobei ich mir das noch nie so richtig angeschaut habe 8-)

 

 

Bleibt immernoch das Problem mit dem Nullübergang es sei denn das wäre damit auch gelöst, da muss ich mir morgen nochmal Gedanken drüber machen und den Regler bei Gelegenheit mal im Excel nachbilden:cluebat:

Link to comment

Ich habe nachgemessen.

Der Geber ist in einem Bereich von ca. 10° nicht vernünftig auslesbar. 4° komplett tot und in jeweils 3-4° stark nichtlinear. Da kann man mit 10Bit ADC nix mit anfangen.

Ich brauche also beide Spuren.

Link to comment

Neugierigerweise hab ich mich jetzt auch mal ein satz dieser Sensoren bestellt, ich wollte am Wochenende eh mal an unserer Schottelsteuerung weiterbasteln.

Aus den zwei Spuren eine absolute Position zu generieren ist ein interessantes Problem :)

Praktischerweise hängt bei unserer Hardware der Hallsensor an Port C des Mega88, also einfach nur den Sensor austauschen und testen. Mal sehen, wie weit ich mit der Auswertung komme.

 

viele Grüße,

Hermann

 

EDIT: automatisch kalibrieren hört sich interessant an... mal sehen, vl. fällt mir da auch noch was ein

Edited by hoppppla
Link to comment

Aus den zwei Spuren eine absolute Position zu generieren ist ein interessantes Problem :)

 

Eigentlich ganz einfach.

Du musst dir nur die Schnittpunkte zwischen 5V und beginnenden 0V suchen.

Das ist dann zwar nicht 100%tig linear (weil für die 360° eigentlich noch 10° Totbereich fehlen) wenn das aber in Sender und Dekoder gleich "Unlinear" ist merkt man das gar nicht.

 

In Bascom sieht das so aus, läst sich sicherlich analog bzw. noch einfach in C übertragen:

Schnittpunkt1=Spur1 Wechsel von 5V auf 0V

Schnittpunkt2=Spur 2 Wechsel von 5V auf 0V

 

If Analogeingang(1) >= Schnittpunkt(2) And Analogeingang(1) <= 1024 Then
       Drehwinkel = Analogeingang(1)                                          
Else
       Drehwinkel = Analogeingang(2) - Schnittpunkt(1)
       Normierungskonstante = 1024 - Schnittpunkt(1)
       Normierungskonstante = Normierungskonstante / Schnittpunkt(1)
       Drehwinkel = Drehwinkel / Normierungskonstante
End If

 

Die Schnittpunkte liegen nur nich genau bei 511 sondern durch den Totbereich eher so bei 470. Deswegen hat die Gerade im "Else-Teil" eine geringere Steigung.

Link to comment

Klingt sehr interessant - auch für eine Kransteuerung oder für einen Suchscheinwerfer...

 

Werde mir wohl auch einmal einen Satz bestellen (es sei denn jemand hat viel zu viele und möchte ein paar Stück loswerden... ;-) ).

 

Gruß, Kai

Link to comment

Hallo Tobias,

 

bin leider selbst noch nicht zum spielen gekommen, aber mal ein paar Ideen von mir:

Zum Ausgang an den Sender: mit einem Spannungsteiler ließe sich der Ausgangspegel des Tiefpasses an die Eingangspegel der Anlage anpassen, dann würdest Du vermutlich mit der 8-Bit-PWM hinkommen. Getestet hab ichs bei ner alten FM414 und einer Europa MC1005, sollte daher auch bei einer FC16 funktionieren.

 

Alternativ einen aktiven Tiefpass 2.Ordnung (z.B. Sallen-Key-Filter) ´dazu gibts einen Haufen Berechnungstools. Würde halt einen zusätzlichen Opamp im Sender erfordern.

Oder das ganze mit einem Digital-Poti erschlagen, da kann dann der MC den Wert per SPI vorgeben.

 

viele Grüße,

Hermann

Link to comment

Hallo Hermann,

 

nen Spannungsteiler ist ne gute Idee, damit ließe sich zumindest der Maximalpegel begrenzen.

Damit würde die Auflösung um Faktor 1,6 steigen für 8 Bit PWM irgendwie immernoch zu wenig, ist dann ne Auflösung von max. 3° im Modell. Bei 10 bit PWM isses prima.

Das teste ich am WE gleich mal.

 

Digipoti schließe ich per se jetzt mal aus, die haben alle nur 8 Bit Auflösung, zumindest die die ich kenne.

Das Problem des "langsamen" Einschwingens beim Übergang von 0V auf 5V würde sich mit einem besser dimensionierten Tiefpass mit Sicherheit noch verbessern lassen.

Das ist bisher eine reine Trial-and Error-Lösung. Ich hab einfach so lange mit unterschiedlichen Widerständen und Kondensatoren rumexperimentiert bis kein Ripple mehr messbar war.

 

Ich hab leider noch kein Tool gefunden mit dem man Ripple und Einschwingzeit eines Tiefpasses höherer Ordnung (2. oder 3.) berechnen kann.

Für 1. Ordnung finde ich den prima (ganz unten, direkt für PWM Ansteuerung)

http://sim.okawa-denshi.jp/en/CRlowkeisan.htm.

 

Um da noch zu optimieren muss ich mich erstmal mit der Theorie befassen, bisher hat die "Hand am Arm-Lösung" aber ganz gut funktioniert ist aber mit Sicherheit nicht mal in der Nähe von einem Optimum was Einschwingzeit und Ripple angeht.

Link to comment

Hallo Tobias,

 

alternativ kannst Du auch im Sender einen MC mit integrierter PLL, wie z.b. den Tiny261 verwenden. Der hat einen 10-Bit-Timer, den Du mit 64Mhz takten kannst, bei 10 bit bleiben Dir dann noch 62,5KHz, das ist dann für das Filter noch etwas mehr Luft...

Oder den Tiny85, der hat aber dann wieder nur 8-Bit-Timer.

 

Mit einem Spannungsteiler kannst Du Dein Signal nicht nur im Maximalpegel, sondern auch im Minimalpegel begrenzen. Zumindest wenn die Signale den gleichen Mittelwert haben.

Einfach an den Ausgang einen Spannungsteiler zwischen Gnd und Versorgungsspannung des MCs.

 

viele Grüße,

Hermann

 

EDIT: Tipps zur Filterdimensionierung

btw, was Bauteile angeht, kann ich auch CSD empfehlen, die haben teilweise interessante ICs, und die Preise passen auch. Vorallem gibts da die Krimpkontakte für Servostecker :)

Edited by hoppppla
Link to comment
Hallo Tobias,

 

alternativ kannst Du auch im Sender einen MC mit integrierter PLL, wie z.b. den Tiny261 verwenden. Der hat einen 10-Bit-Timer, den Du mit 64Mhz takten kannst, bei 10 bit bleiben Dir dann noch 62,5KHz, das ist dann für das Filter noch etwas mehr Luft...

Oder den Tiny85, der hat aber dann wieder nur 8-Bit-Timer.

 

Mit einem Spannungsteiler kannst Du Dein Signal nicht nur im Maximalpegel, sondern auch im Minimalpegel begrenzen. Zumindest wenn die Signale den gleichen Mittelwert haben.

Einfach an den Ausgang einen Spannungsteiler zwischen Gnd und Versorgungsspannung des MCs.

 

viele Grüße,

Hermann

 

 

10 bit PWM mit 64 Khz hört sich nach nem Traum (derzeit läuft das @ 8Mhz mit 2 kHz) an. Danke für den Tip.

Mit 10 bit ADC würde der Tiny261 (mit Ausnahme der Größe, DIL8 wär mir lieber :lol:) dann auch genau meinen Bedarf zum Auslesen des Gebers decken.

Jetzt muss ich nur noch rausfinden wie man PLL mit Bascom ansteuert 8-) oder sind das einfach Fusebits?

 

Bei der Spannungsteilergeschichte kommt jetzt aber wieder mein Elektroniknixblickerwissen durch.

Dass man aus 5V mittels 2 Widerständen und "Mittelabgriff" zwischen den beiden Widerständen 3V machen kann kapiere ich noch.

Aber wie macht man aus 0V (bei Tastverhältnis der PWM 0) 1,9V :Bahnhof:

Link to comment
Guest LostInSpace

Hi,

irgendwie verstehe ich das ganze Problem nicht. Vielleicht liegt es daran, das ich kein Modell mit Schottel/Pumpjet besitze.

 

Daher meine Frage. Was brauchst Du am Empfänger für ein Signal. Eine absolute Positionsangabe von 0-360°? Brauchst Du überhaupt eine Absolutangabe oder reicht eine Inkrementalsteuerung? Was wird am Empfänger gesteuert. Ein Schrittmotor, ein normaler Motor?

 

Eine Auflösung von mehr als 8Bit auf der Encoderseite halte ich für sinnlos. Gerade im Bereich 2G4 ist die Auflösung des PPM Signals nicht genau definiert. Um eine höhere Auflösung zu erreichen, muss man andere Wege gehen.

Link to comment
Hi,

irgendwie verstehe ich das ganze Problem nicht. Vielleicht liegt es daran, das ich kein Modell mit Schottel/Pumpjet besitze.

 

Daher meine Frage. Was brauchst Du am Empfänger für ein Signal. Eine absolute Positionsangabe von 0-360°? Brauchst Du überhaupt eine Absolutangabe oder reicht eine Inkrementalsteuerung? Was wird am Empfänger gesteuert. Ein Schrittmotor, ein normaler Motor?

 

Eine Auflösung von mehr als 8Bit auf der Encoderseite halte ich für sinnlos. Gerade im Bereich 2G4 ist die Auflösung des PPM Signals nicht genau definiert. Um eine höhere Auflösung zu erreichen, muss man andere Wege gehen.

 

-Absolutsignal 1ms = 0° 2ms = 359°

-Gesteuert wird ein Motor mit Geber, aber auch mit nem Schrittmotor bräuchte man ein "absolutes" Signal aus der Funke.

- 8 bit am Sender wären fein und würden bei geschätzten 3-4° Spiel in der modellseitigen Mechanik auch vollkommen ausreichen, da kommt man aber mit den herkömmlichen Mitteln so ohne Weiteres gar nicht hin.

Link to comment

Hallo,

 

die PLL wird über in Register angesteuert, ich weis nicht, was BASCOM da hergibt. In C kein Problem ;), wird einfach wie bei normalen Timern der Prescaler eingestellt.

 

Hab mal ein Bild von besagtem Schaltung angehängt, vielleicht hilft das zum Verständnis.

Von Links kommt der Analogausgang mit 0V-5V, rechts sind es, je nach Verhältniss zwischen den Widerstandswerten von R6/R7 und dem Poti zu einem z.B. begrenzen Signal von 2-3V.

 

viele Grüße,

Hermann

post-4555-1419862373,6212_thumb.gif

Link to comment

Danke :that:

 

Wenn mich nicht alles täuscht sind die 2 Widerstände R6 und R7 schon im Sender verbaut.

D.h. ich müsste eigentlich nur mit nem Poti rumprobieren bis ich die volle Auflösung nutzen kann. Wird nen Job fürs Wochenende.

Dann gehts auch wieder mit nem normalen 8 Bit Timer und nem Tiny45, das würde Platz sparen.

Link to comment

Hallo Tobias,

 

ja, kann gut sein, das diese zwei Widerstände schon in der Eingangsbeschaltung der Anlage stecken. Bei den alten Graupner-Anlagen ist das auch so, bei der Multiplex nicht, einfach mal rumspielen.

btw. der Tiny45 hat auch ne PLL :) bei 8 Bit Auflösung kommst Du dann sogar auf 250kHz...

 

viele Grüße,

Hermann

Link to comment

Erkenntnisse vom Wochende.....

 

In der FC16 ist definitiv ein Spannungsteiler schon senderseitig verbaut.

Mit einem Poti lässt sich die Spannung prima anpassen, so dass mir die 8bit PWM ausreicht.

Hab den senderseitigen Teil deswegen auf einem Tiny45 aufgesetzt. :that:

 

Am modellseitigen Encoder muss ich noch den Code optimieren.

Da reicht die Free-Version von Bascom wegen 0,1 kB nicht mehr aus :?

Da muss ich wohl noch 1-2 32bit Variablen durch 16bit ersetzen. Da fällt mir aber sicherlich noch was ein :mrgreen:

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.