PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Getriebemotor mit analogen Joystick steuern.



jppix
22.01.2012, 15:37
Hallo.
Ich bin neu hier im Forum und auf dem Gebiet.
Ich hoffe ich bin hier richtig. Die SuFu hat leider nicht das ergeben was ich brauche, nur ähnliche Dinge die mir aber leider nicht sehr weitergeholfen haben.
Nun zu meinem anliegen. Ich baue mir gerade einen neuen Remotehead mit Steuerung, für einen Kamera Kran.
Es ist bereits der zweite Remotehead den ich baue. Den ersten habe ich mit Teilen aus dem Modellbau gebaut. 2 Getriebemotoren, 2 Fahrtregler, 2 Servotester die ich an einen Computerjoystick gebaut habe.
Jetzt möchte ich aber einen kleinen Analogen Joystick, wie er in einem Playstation Controller verbaut ist, in ein Gehäuse verbauen. Dieser eine Joystick soll beide Motoren über eine Modul steuern können. Weiters soll bei beiden Motoren die Geschwindigkeit über einen Poti eingestellt werden können. Das ganze soll mit einem Kabel verbunden werden. Also Stromversorgung, Joystick und Platine sind hinten am Kran montiert und nur die Motoren sind vorne. Ich habe leider keine Ahnung wie ich ein solches Modul programmieren kann. Möglich sollte es aber schon sein dass sich ein Modul so programmieren lässt. Kann mir jemand sagen wie ich selbst so ein Modul programmieren kann? Welches Modul ist dafür geeignet? Oder kann mir sogar jemand ein passendes Modul programmieren? Bin über jede Hilfe dankbar.

Hubert.G
22.01.2012, 15:45
Ganz klar ist mir deine Fragestellung nicht.
Wenn du die Computerjoystick gegen die analogen austauscht dann kannst du doch die Motoren über die Fahrtenregler in der Geschwindigkeit steuern.
Oder habe ich da was falsch verstanden?

jppix
22.01.2012, 16:03
Ja aber die Fahrtenregler haben eine eingebaute Bremse und jetzt ist die steuerung etwas schwammig. Der Vorwärtsgang ist schneller als der Rückwärtsgang. Der Rückwärtsgang startet auch etwas langsamer und nimmt erst später fahrt auf. Daher ist das ganze auch recht schwierig zu steuern. Ideal wäre eben eine Lösung die es möglich macht das alle Richtungen gleich schnell gehen. Was ich noch vergessen habe. Der Motor soll sich je weiter ich den Joystick in eine Richtung drücke schneller drehen. Also wenn ich nur ein bisschen drücke soll er auch nur langsam drehen. wenn ich bis zum anschlag drücke soll er sich so schnell drehen wie er mit den Potis eingestellt worden ist. Ich hoffe es ist verständlich erklärt ;)
Danke.

Hubert.G
22.01.2012, 16:39
Genau das machst du mit dem analogen Joystick. Mit dem digitalen Joystick hast du nur Vollgas oder Stop.
Mit dem analogen veränderst du die Impulsbreite langsam und über den Fahrtregler damit die Geschwindigkeit des Motor.

jppix
22.01.2012, 17:07
Ja genau deshalb möchte ich ja einen analogen stick nehmen. Ich hab nur keine Ahnung wie ich ein Modul programmiere damit ich mir Fahrtenregler, servotester usw. sparen kann. Würde auch weniger Platz brauchen.

Hubert.G
22.01.2012, 17:23
Möglich wäre es mit RN-Motor-Control und RN-VNH2-Dualmotor.
Wenn die Getriebemotoren nicht mehr als 1A brauchen geht auch RN-Control.

jppix
22.01.2012, 17:52
Ich habe 2 von diesen Motoren
http://www.conrad.at/ce/de/product/221936/GETRIEBEMOTOR-RB-35-1600/SHOP_AREA_19781&promotionareaSearchDetail=005
max Laststrom 2,1A
Brauche ich dazu beide Teile und welchen joystick kann ich da verwenden?
Bei der Schaltungsskizze steht was über den PWM Port. Über diesen kann ich einen Poti anschließen um den Max. Speed der Motoren einzustellen, hab ich das so richtig verstanden?
Kabel sollten auch alle dabei sein wie ich gesehen habe. Muss ich aber da noch etwas programmieren oder ist das "ready to run"?
Danke noch einmal für die schnellen antworten. :)

Hubert.G
22.01.2012, 18:38
Mit den 2,1A geht die RN-Control nicht mehr.
Bei RN-Motor-Control und RN-VNH2-Dualmotor brauchst du beides. Die RN-VNH2-Dualmotor ist nur der Leistungsteil.
Programmieren musst du dir das ganze selbst. Das Poti kommt an einen ADC-Eingang und mit der Spannung steuerst du die PWM und Drehrichtung.
Fertige Sachen in der Richtung kenne ich nicht, was aber nicht heißt das es so was nicht gibt.

Geistesblitz
22.01.2012, 19:49
Wenn die Geschwindigkeit eh nur von der Stellung des Joysticks abhängen soll, ließe sich der µC sogar einsparen. Es git denk ich mal genug Schaltungen, wie man mit einem Poti eine PWM erzeugen kann. Das zweimal für je eine Achse, PWM geht auf je eine Motorendstufe und dann sollte das eigentlich laufen. µC könnte ich noch verstehen, wenn man eine Positionssteuerung mit Regelung realisieren will, aber so wie jetzt wäre der ziemlich unterfordert. Für die Endstufe könnte man sogar einen L298 hernehmen, da sind gleich zwei H-Brücken drin und der kann bei DC bis zu 2A ab. Wenn man bei den Potis je noch einen kleinen Widerstand an beide Enden hängt, sodass man nur ein Tastverhältnis von 5-95% oder so haben kann, sollte dann ja den möglichen Strom in Grenzen halten können.

PICture
22.01.2012, 19:57
Hallo!

Möglicherweise geht es mit "Der 555 erzeugt PWM-Signal" aus: http://www.domnick-elektronik.de/elek555.htm . ;)

jppix
22.01.2012, 21:32
Die Idee von Geistesblitz gefällt mir ganz gut. Nur ob ich das auch realisieren kann ist die Frage. Wie programmiere ich den L298?

Geistesblitz
22.01.2012, 21:57
Gar nicht, der übersetzt ledigleich dein digitales Signal in Leistung. Das Prinzip einer H-Brücke ist dir bekannt? Ansonsten mal danach oder nach L298 suchen, dann findst auch ein Datenblatt dazu ;)
Wenn du jedenfalls das PWM-Signal an den einen Eingang einer der beiden enthaltenen Brücken hängst und an den anderen das invertierte Signal, schaltet der L298 bei jedem Wechsel des Zustands (H->L oder L->H) die effektiv die Polung des Motors um. Bei einem Tastverhältnis von 50% wird also der Motor genauso lange im Uhrzeigersinn laufen gelassen wie auch dagegen. Passiert dies nun sehr schnell (paar kHz), bewegt sich die Motorwelle fast nicht, nur ein geringes Vibrieren, das einen Ton in der PWM-Frequenz erzeugt. Verschiebt sich nun das Tastverhältnis, wird eine Drehrichtung quasi bevorzugt, sodass sich der Motor je nach Tastverhältnis mehr oder weniger stark in diese Richtung dreht. Bei einem Tastverhältnis von 100% bzw. 0% würde dann die volle Spannung für die entsprechende Drehrichtung anliegen.

jppix
22.01.2012, 22:18
Kann ich jetzt z.b. einen solchen Joystick verwenden? http://www.conrad.at/ce/de/product/425679/3D-JOYSTICK-F-POTENTIOMETER-O-SCHALTER/SHOP_AREA_17440&promotionareaSearchDetail=005
damit ich mit dem einen Joystick beide Motoren bedienen kann. Es müsste jedoch so funktionieren dass wenn ich den Joystick z.b. nach rechts drücke muss sich der Motor nach rechts drehen und wenn ich loslasse muss der Motor stehen bleiben. und natürlich muss er sich dann links drehen. Denke ich da richtig?

Geistesblitz
22.01.2012, 22:31
Klar, der dürfte funktionieren. Sind ja auch nur zwei Potis an einem Hebel gekoppelt. Wenn der in der Mitte steht, sollte sich nichts bewegen, da der Widerstand des Potis quasi in zwei gleichgroße Teiliderstände geteilt wird. Dadurch bekommt man ja das 50%-Tastverhältnis. Wird jetzt eines der Potis ausgelenkt, sind beide Teilwiderstände nicht mehr gleichgroß und das Tastverhältnis verändert sich. Wenn du also nach rechts drückst, sollte sich der Motor rechts herum drehen. Dreht er sich links herum, ist er einfach nur falsch herum angeschlossen, das lässt sich ja leicht beheben. Wenn du loslässt und der Hebel in Mittelstellung zurückgeht (tut er das?), sollte der Motor auch stehenbleiben. In die andere Richtung erfolgt dann entsprechend genauso.

jppix
22.01.2012, 22:43
Das hört sich sehr gut an :) Ich fange sogar an das langsam zu verstehen.
Ich hab auf dieser Seite einen Schaltplan angefunden. http://www.strippenstrolch.de/1-2-9-motortreiber-298.html
kann ich den ersten Schaltplan auf dieser Seite so anwenden? Die einzige frage ist nur wo ich den 2ten Motor und den Joystick anschließe.

Hubert.G
23.01.2012, 10:14
@Geistesblitz
PWM erzeugen ist einfach, z.B. mit einem 555, aber wie willst du die Drehrichtung umkehren.
Der L298 braucht dafür ein Signal auf den Input Pin. Woher nimmst du das?

jppix
23.01.2012, 11:43
Soweit ich das verstanden habe ist der L298 wie eine H schaltung und somit kann ich mit einem joystick links oder rechts drehen lassen. Oder sehe ich das falsch?

Hubert.G
23.01.2012, 12:31
Das siehst du nicht richtig. Die H-Brücke kann die Drehrichtung des Motors umkehren. Das geschieht mit den Eingängen INPUT1 und INPUT2, siehe Tabelle Seite 6 im ST-Datenblatt. Die PWM wird dabei an den Enable-Eingang angelegt. Nur mit dem Poti alleine geht das mit dem L298 nicht.
Wenn du nichts programmieren willst / kannst, dann baust du das Poti des Joystick in einen deiner Servotester ein und verwendest den Fahrtenregler zur Motorsteuerung, oder du machst das über einen µC. Wobei das natürlich nicht ein RN-Motorcontrol und RN-VNH2-Dualmotor sein muss, das wäre nur eine Fertiglösung gewesen. Selbstbau mit einem Mega8 oder dergleichen und einem L298 ist natürlich eine billigere Alternative.
Wenn du einen µC verwendest ist das Programmieren natürlich notwendig.

PICture
23.01.2012, 12:55
Hallo!

Es könnten pro Achse zwei zusätzliche widerstandlose nach dem Verlassen der Mittelstellung vom Joystick Microschalter die Signale INPUT1 und INPUT2 für gewünschte Drehrichtung bereitstellen. ;)

Hubert.G
23.01.2012, 13:18
Dann müssten das aber Spezialpoti sein die den Widerstand aus der Mittelstellung nach beiden Richtungen in gleicher Weise ändern. Mit den weiter oben genannten von Conrad geht das sicher nicht. Oder kennst du da einen Trick wie man die PWM in gleicher Weise ändert, egal ob man den Potihebel nach vorne oder zurück bewegt.

PICture
23.01.2012, 13:39
Das einzige, was mir einfällt ist gekreuzter Stereopoti mit o.g. Umschalter. Vielleicht ist die verrückte Idee wirklich dumm, weil für mich tatsächlich ein µC am einfachsten ist. :p

Geistesblitz
23.01.2012, 13:48
@Hubert:
Ich hab das Prinzip doch oben erklrät, wie das mit der Richtungsumkehr geht. nehmen wir mal die H-Brücke mit Eingang 1 und 2, dann wird am einen das PWM-Signal angelegt und am anderen das invertierte Signal. die Richtung ergibt sich dann ja automatisch, je nachdem, welcher Eingang die längeren Impulse hat. Du gehst in deinen Überlegungen wohl davon aus, dass ein Eingang für die PWM verwendet wird und der andere für die Drehrichtung? Wär eigentlich unnötig und für diesen Anwendungsfall ist die Variante, die ich vorgeschlagen hab, wesentlich eleganter, wie ich finde.

Ich hab mal ein Bild gekritzelt, das das, was ich meine, gut verdeutlichen sollte. Da die PWM-Frequenz natürlich recht hoch sein sollte, würde das bei weitem nicht so dreieckig aussehen, wie ich das gezeichnet hab.

21290

PICture
23.01.2012, 13:54
Prinzipiel finde ich das richtg, bloss der bestrümte aber bewegungslose Motor und die damit verbundene Energieverschwendung tut mir leid. ;)

Hubert.G
23.01.2012, 14:28
@Geistesblitz
Ja, das Prinzip kenne ich, beim ProBot wird das auch so gemacht. Ist vom Stromverbrauch her verrückt und wie gut es für den Motor ist kann man sich vorstellen. Leistungsstarke Motoren brummen herrlich.
Ich würde das nur machen wenn ich im fernen Osten beheimatet wäre und so billig wie es nur geht produzieren müsste. Empfehlen kann ich es niemanden.

Geistesblitz
23.01.2012, 15:12
Dennoch wäre es hier eigentlich die leichteste Realisierung. Der Threadersteller scheint ja auch noch nicht so viel Ahnung von Elektronik zu haben, da kann man ja mal unterschiedliche Prinzipien vorschlagen und er kann sich dann eine Meinung dazu bilden, welche für ihn die Beste ist. Vielleicht ist ihm ja der zusätzliche Stromverbrauch egal, da er sich da wenigstens die Realisierung zutraut.
Außerdem, ließe sich der Strom nicht durch ein Verzögerungsglied oder einen Kondensator glätten?

Bei der Version, die du vorschlägst, wäre halt das Problem, dass in der Nullstellung der Spannungsteiler in der Mitte steht, die PWM aber bei 0 anfangen soll. Die Richtung könnte man ja mit einem Komparator herausbekommen, aber das PWM-Signal wird dann schon schwieriger.

Hubert.G
23.01.2012, 15:40
Ich denke nicht das sich der Strom irgendwie kompensieren lässt, oder die dort verbratene Leistung würde dann dem Motor fehlen.
Wenn man den Joystick mit einem µC auswertet ist es egal wenn die Nullstellung in der Mitte des Spannungsteiler ist. Ohne µC ist es sicher schwierig.

jppix
23.01.2012, 15:41
So...
@ Geistesblitz
Wenn ich die Variante mit dem L298 machen möchte, was brauche ich noch dazu? verwenden möchte ich jedoch den vorher genannten joystick von conrad.

@Hubert.G
Was brauche ich für die Variante mit einem Micro Controller? Welches Modul, Zubehör usw....?

Ich habe außerdem dieses Programmier-Modul http://www.conrad.at/ce/de/product/198318/PROGRAMMIER-MODUL-USB-C-CONTROL-I von einem Freund bekommen. Leider hat der auch keinen Plan davon ;)
kann ich mit dem was anfangen? Könnte man es z.B. von jemanden Programmieren lassen oder ist es dafür gar nicht geeignet?
Danke

Hubert.G
23.01.2012, 16:00
Wenn du nicht die, zugegebener weise teurere, Lösung mit den Fertigmodule nehmen willst, dann brauchst du Stromversorgung, Mega8, L293 und etwas an Widerstände Kondensatoren. Dann noch etwas Gehirnschmalz zum programmieren.
Das Programmiermodul ist für eine C-Control und für was anderes nicht geeignet.

jppix
23.01.2012, 16:43
Preis ist nebensächlich. Nachdem der Kran an die 2000€ kostet spielt das keine Rolle. Es soll nur was gescheites sein. Wenn ich mich für deine (Huber.G) Lösung entscheide, könntest du mir da eine genaue Einkaufsliste schicken? Mit Wiederständen, Kondensatoren usw.
Danke schon im Voraus

Hubert.G
23.01.2012, 17:34
Du müsstest noch sagen für welche Variante du dich entschieden hast. Fertigmodule oder Eigenbau.
Kannst du ein Programm für einen AVR schreiben? Hast du einen AVR-Programmer? Das sind auch noch wichtige Details.

jppix
23.01.2012, 18:31
Was ist einfacher bzw. weniger aufwand? Fertigmodul oder Eigenbau? Mit AVR habe ich leider keine Erfahrung. Aber da sollte ich schon jemanden finden der mir das machen kann.

Hubert.G
23.01.2012, 19:45
Fertigmodul ist natürlich einfacher, da brauchst du nur Spannung und Motor anklemmen, der Joystick kommt an den Wannenstecker vom I2C.
Ich würde dir aber raten, bevor du das kaufst, dich mit deinem Programmierer in Verbindung zu setzen. Nicht das der dann ganz andere Vorstellungen hat.