PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fahrtenregler "misbrauchen" zum starken servo mit



Devil
18.03.2008, 17:35
Hallöchen Bastlerfreunde,

vielleicht kennt ja der eine oder andere mein kleines Roboterprojekt und die damit typischen verbundenen Problemen.
Für alle andern eine kurze Zusammenfassung:
Ich baue ein Roboter mit zwei Armen die fünf "Drehachsen" haben. Die Schwierigkeiten die bei der Automatiesierung, bzw. Steuerung, auftreten dürfeten wohl jeden klar sein. Ein riesieger Algorithmus muss entwickelt und programiert werden und dann noch die Winkelerfassung und Motorsteuerung.
Die meisten büßen hier "Kraft" ein und nehmen Servos, wegen ihrer "einfachen" Handhabung und der relativ einfachen Ansteuerung mit dem Mikrokontroler. Ich aber wollte dises nicht und bestand auf der lösung mit Getriebemotoren, was zugleich auch die Probleme exponentiel wachsen lies.
Beim Robotiktreffen Niedersachsen musste ich aber lernen das es in der Robotik für jedes Problem eine mechanische, elektronische oder Softwaretechnische Lösung gibt. So auch bei diesen Problem. Man kann entweder mir aufwendigen Programmen hantieren oder sich diese arbeit mit hilfe von ein bischen Elektronik herbeiführen.

Das zur Einleitung. Ich wollte die Vorzüge der Servos auch bei meinen Getriebemotoren verwenden und so habe ich erst probiert eine Servoelektronik so umzubauen, das ich auch "größere" Motorern mit ihr ansteuern kann, musste aber feststellen das die Lösungen nicht gerade ideal waren. Danach habe ich probiert mir eine Regelelektronik selber mit OP`s zu bauen, was prinziepiell gut funktioniert (aber in meinen fall + - Spannung benötigte). So fing ich wieder bei der Servoelektronik an und versuchte eine neue Motorendstufe zu bauen und kam so, durch ein Verdacht, auf den Mini-Fahrtenregler von Conrad. Ich vermutete das es sich bei der servoelektronik und dem Fahrtenregler um die selbe Schaltung handelt die sich nur in der Motorendstufe unterscheidet. Wie ihr unten sehen könnt ist das auch so.
Und so kam ich dann endlich durch zufall auf eine super simple Lösung gekommen. Der Fahrtenregler hat einen Poti zum einstellen der Nullstellung und diesen Potie verwende ich einfach als den Poti der Lageerkennung beim Servo und das wars. Der Mini-Fahrtenregler reagiert dann genauso wie die Servoelektronik, nur das sie statt 600mA Max. Moterstrom nun bis zu 2A verträgt. Wenn man nun noch Die Transistoren durch Leistungsstärkere ersetzt hat es im prinzip keine ende.
Das schöne an dieser Lösung ist das die Motoren mit einer H-Brücke angesteuert werden und das die H-Brücke , so wie es sein sollte, gepullst angesteuert wird.

Vorteile dieser Lösung (für Arme):

-Einfache ansteuerung über PWM-Signal
-korrigiert Winkel selbständig bei abweichung zum Soll-Wert (z.B. bei Belastung des Armes)
=> wenig Programmieraufwand
-Getriebemotoren können genauso praktisch verwendet werden wie Servos
-Motorgeschwindigkeit regelt sich selbst (um so weiter der Ist-Wert vom Soll-Wert abweicht um so höher die geschwindigkeit und andersrum)
=> Programmierersparnis
-relativ wenig Aufwand für viel "Leistung"
-leicht erweiterbar
-auch für normale RC-Modellbau und deren Fehrnsteuerungen geeignet

Nachteile:

-Der Mikrokontroler weiß nie wirklich ob der arm schon an den vorgegebenen Winkel ist
-zusätzlicher platzbedarf durch zusätzliche elektronik

(bin etwas Pateiisch und deshalb fallen mir gerade keine weiteren Nachteile ein^^)

Dieses Lässt sich prinziepiell mit jeden Fahrtenregler machen der eine "Analoge" einstellung der Nullstellung hat.

So jetzt hab ich genug gelavert, Jetzt seit IHR dran!
Ich würde gerne wissen was ihr davon halten.
Hab euch so zugetextet weil ich der meinung bin das diese simpler Missbrauch vielsaltige Anwendungsmöglichkeiten hat und dieses Problem auch schon öfters hier im Forum aufkam.

MfG Jan

Hessibaby
19.03.2008, 07:27
Zu der Geschichte mit der Positionserfassung :
Entweder setzt Du am Getriebe eine optische Erfassung ein, bei der Du mitzählst, oder Du gehst davon aus das sich die Mechanik wirklich bewegt und wartest, bei bekannter Zeit, diese Zeit ab, bevor Du die nächste Bewegung initialisierst.
Gruß

Jon
19.03.2008, 10:48
Hallo Jan!
Hört sich gut an!

Ein paar Sachen will ich aber noch anmerken, bzw. nachfragen:
Die "fünf Drehachsen" bezeichnet man auch als Freiheitsgrade oder Gelenke.

Was meinst du mit
[quote](aber in meinen fall + - Spannung benötigte)[/qoute]
?
Vielleicht Gleichspannung? Oder dass du die Drehrichtung des Motors nicht ohne weiteres ändern konntest? Oder vielleicht etwas ganz anderes?

Meinst du diesen Fahrtregler: http://www.conrad.de/goto.php?artikel=245232

Hat du mal Bilder, wie das (mechanisch) aussieht?

@Hessibaby, die Methode die du beschreibst ist recht unpraktisch, da du damit nur eine relative Position hast und nie eine absolute. Macht zwar eigentlich nicht so viel aus, nur musst du bei einer relativen Angabe dutlich mehr rechnen als bei einer absoluten.
So müsstest du nämlich immer beim Drehen entweder eine Variable hochzählen, beim drehen in die andere Richtung die Variable runterzählen. Mal abgesehen davon müsste die Startposition beim Anschalten der Elektronik bekannt sein, was sie über dieses Verfahren nicht ist.
Hier ist eine absolute Messung schon deutlich praktischer. Allerdings habe ich erst die Variante mit dem Poti getestet. Es gäbe noch die Möglichkeit ein Gedächtnismetall zu nehmen, bei dem man den Widerstand misst. Allerdings weiß ich hier nicht, in wie fern das Möglich ist. Die dritte Variante, die ich auch noch nicht getestet habe, ist, ein Whiskers (Fühler) zu nehmen. Hier müsste man sich vor allem Gedanken darüber machen, wie man das Teil anbringt. Mal abgesehen davon wären die Messergebnisse nicht proportional und man müsste sie die ganze Zeit mit einer Tabelle vergleichen, was das ganze recht unhandlich und ungenau macht.


Mal zu dem, wie ich es bei meinem Arm mache:
Ich mache es bei meinem Motor, den ich beim Arm als unterstes Element verwende und über einen Fahrtregler steuer, so, dass ich an die Achse des Motors ein Poti mit einer 6mm Welle "angebunden" (über eine Achsverbindung) habe. Somit weiß ich immer, wo sich der Arm gerade befindet, bzw. ob ich noch weiterdrehen muss etc.

jon

Hessibaby
19.03.2008, 10:57
Die Voraussetzung, bei den von mir erwähnten Varianten, ist, das beim Einschalten bzw. initialisieren eine Homeposition angefahren wird. Das ist bei Industriebots eine Standardübung. z.B. bei Kuka und ABB Lackierrobotern in der KFZ-Industrie.
Gruß

Jon
19.03.2008, 11:12
Aber woher weißt du, dass die Homeposition angefahren wurde und der Motor nicht zu weit dreht und dadurch vielleicht im extremstfall Selbstmord begeht, bzw. etwas anderes zerstört?

jon

Devil
20.03.2008, 09:51
Moin moin,

also im prinziep mache ich es ja genauso wie du Jon, nur das ich mein Poti nicht am µc habe um die position auszumessen, sondern den nullstellenpoti fom fahrtenregler verwende. somit funktioniert der fahrtenregler wie ein servo. dasheißt ich gebe über das pwm-signal nicht mehr die geschwindigkeit des motors an, sondern den winkel wie weit er sich drehen soll und den rest macht dan der fahrtenregler (wie die servoelektronik).

zu den drehachsen: ich habe sie drehachsen gennant weil es nicht wirklich freiheitsgrade sind, manche achsen erebn den gleichen freiheitsgrad. also mehrere drehachsen ergeben ein und den selben freiheitsgrad.

zu dem optischen auslesen der winkel mit gabellichtschranke:
eigentlich eine wunderbare sache, wenn man die erste position kennt. ich finde es für meinen fall aber nicht passend da es sich bei meinen max winkeln eh nur um max ca 270° handelt. würde da doch eher einen zweiten poti verwenden wenn ich mit demServoprinziep nicht auskomme. auserdem sollte das nur eine auflistung sein die mögliche nachteile beschreibt, ich aber nicht unbedingt für mich als nachteil sehe.

habe dieses thema nur angesprochen weil ich anderen mit meiner idee vieleicht auch weiter helfen kann, da ich selber sehr lange nach einer einfachen lösung gesucht habe.

trotzdem danke für eure anregungen.

mfg Jan

PsiQ
20.03.2008, 21:36
Mal n bisschen aus meiner Erfahrung:

Ich hab schonmal bei nem kfz-projekt mitgearbeitet, da gings um ne exakte positionierung "Drosselklappe" o.ä.
Prototyp.

Zur Ansteuerung wurde ein pic16 verwendet,
als Positionsrückmeldung am Stellmotor ein magnetring und programmierbarer magnetfeldsensor.
Damit lässt sich auch theoretisch bis fast 360° auslesen, kostet aber.
Die Mechanik wird zusammengebaut,
dann wird der "Arm" auf Anschlag1 gedreht,
Startwert gesetzt =0V, dann Anschlag2,
Endwert gesetzt=5V, anschließend ist der Magnetfeldsensor programmiert.
-Ich weiß leider den Namen von dem Sensor-Bauteil nicht.

Vorteil:
Wenns einmal justiert wurde, stimmt der Messwert immer, egal ob das gerät aus war oder nicht und in welcher Stellung,
man muß also nicht beim "Reset" abgleichen mit einem Nullpunkt.

Wenn man einen Stellmotor von z.B. einem Schaltsaugrohr verwendet, haben einige eine solche Rückmeldung integriert.. drin ist ein Motor mit Schneckenantrieb.
(Vergleichbar der Rückmeldung in einem Poti, von 0-5V)

Als Ansteuerung wurde eine (wie ich finde wirklich geniale!)
IC-H-Brücke nämlich die tle 5205-2
http://www.conrad.de/goto.php?artikel=153814
genutzt..

http://www.postimage.org/PqCt99r.jpg (http://www.postimage.org/image.php?v=PqCt99r)

Die Ansteuerung war trotz "volles Karacho ohne Antakten"
Steuerung exakt genug um in Schritten <1° anzusteuern..

Das Ding ist mittels 2 Pins steuerbar, Überlastschutz, Errorpin..
Sehr robust, evtl hilfts das Design zu optimieren/minimieren..

Ziemlich nettes Teil O:)

Devil
26.03.2008, 15:24
PsiQ hast du noch mehr infos dazu wie man das ding progt und was für sensoren man da nehmen sollte oder gehen auch poties?

PsiQ
26.03.2008, 20:28
alsooo.. ich hab jetzt grade ne stunde gegoogelt, und das ding nciht gefunden ;-)

Was ich noch weiß:
Größe: flaches to-92 ähnliches Gehäuse,ca 1mm hoch
Spannung: 5V-Betrieb, 0..5V Ausgang
Pins: 3 Pin

Messung:
Magnetring mit unterschiedlicher Magnetfeldstärke rotiert vor Sensor.
Auch nach Stromunterbrechung direkte Positionsmessung.
Berührungslos..

Google warf ähnliche Teile bei Suchbegriffen:
Winkelsensor +
Magnetfeldsensor +programmierbar

pdf dazu:
http://www.novotechnik.de/fileadmin/user_upload/novotechnik/pdfs/deutsch/Techn_Info_Multiturn_RSM.pdf

Dreamit
08.02.2009, 11:48
Guten Tag,
vielleicht kann ich hier auch meine Frage stellen? Welches Bauteil muß ich an der Servoelektronik austauschen um einen stärkeren Motor (2Amp oder höher) damit zu betreiben. Devil hat das im thread ganz oben sehr schön beschrieben, nur habe ich nicht allzuviel Ahnung von der Elektronik, das ich das auf der Schaltung erkennen kann.
Gruß Dreamit

vohopri
08.02.2009, 13:20
Hallo

@ Dreamer,

schau doch genau hin: Devil hat 2 Schaltungen gepostet. Teilweise sind sie identisch, aber nur teilweise.
"Servoelektronik" kannst du mit dem Austauschen von Bauteilen allein nicht auf 2A modifizieren.
"Minischaltplan" brauchst du nicht modifizieren, diese Schaltung kann 2A max, kurzzeitig 3A.

@Devil

Was du schreibst, ist nichts neues, und wird so gemacht.
Aber:
Bei der Umwidmung eines Fahrtreglers auf eine Servogetriebemotoranwendung solltest du auf die feinen Unterschiede achten: Beispielsweise ist das Deadband unterschiedlich dimensioniert und der Feedbackwiderstand fehlt beim Fahrtregler.

Man kann unter Umständen einen Scheibenwischrmotor an so einer Servoelektronik + Hbrücke betreiben.
Aber:
Die Präzision von Industrierobotern, wie sie Hessibaby angesprochen hat, erreichst du nicht.

Und ohne flankierende Massnahmen ist so eine Konfiguration SAUGEFÄHRLICH. Beim Modellbauservo nimmt man schon in Kauf, dass es mal in die Begrenzung rauscht, wenn beispielsweise das Poti ausfällt oder die Stromversorgung einen Wackelkontakt hat. Diese Potis sind nicht sehr betriebssicher. Auch ist es nicht so tragisch, wenn man Servo und Steuersignal in der falschen Reihenfolge einschaltet.

Bei einem kräftigen Getriebemotor brauchst du zusätzlich Sicherheitsmassnahmen wie beispielsweise Endschalter und Sicherheitsschalter.

Mit den Sicherheitsmassnahmen kann man die Konfiguration schon für manche Zwecke einsetzen, aber für manche Einsätze ist ein PID mit getrennt und genau einstellbaren Parametern unerlässlich, und den hast mit der Modellbauelektronik nicht.

grüsse,
Hannes

PicNick
08.02.2009, 13:30
Beim Fahrtregler gibt es einen Trimmer, mit dem man den NULLABGLeich durchführt (P1 mit 5 k ).

Diesen Trimmer hat Devil mit einem Poti, wie bei einem Servo, ersetzt

vohopri
09.02.2009, 11:07
Soo schwierig ist die Schaltungstechnik doch gar nicht. Schau die Schaltpläne doch an: da ist die Typenbezeichnung des Chips angeführt. Wenn man die lesen kann, dann kann man sich auch das Datenblatt besorgen. Und - wer hätte das gedacht: Im Datenblatt ist eine Applikationsschaltung abgedruckt. Nein, nicht gleich erschrecken, es ist nur halb so schlimm. Die Applikationschaltung gleicht der vom Schaltplan weitgehend UND jetzt kommt das beste: Schritt für Schritt wird dort die Schaltung erklärt. Auch den Personen, denen die Fähigkeit zum Schaltplanlesen fehlt, den schaltungstechnischen Analphabeten sozusagen, offenbart sich das Wunderwerk der Technik. Man braucht nur lesen zu können und bei Google eintippen. Ist doch fabelhaft, sollte man beides mal versuchen. Wenn dann Fragen auftauchen, kann man gezielter um Erklärung nachfragen.

Wenn das alles immer noch zu schwierig ist, kannst du dir ja für viel Geld in einem Elektronikgeschäft ein Servo umbauen lassen. Das macht zwar sonst niemand, ist aber zugegebenermassen eine originelle Idee. https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=284440&highlight=#284440

grüsse,
vohopri

Edit von BASTIUniversal: OT im Thread entfernt und "böse" Posts entfernt [-X