PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Schaltung für Sensorkopf



PhilippW
26.07.2005, 20:49
Hallo, Allerseits!

Ich bastle zur Zeit eifrig an einem Sensorkopf für meinen Roboter.
Dieser soll auf einer Hals-Konstruktion befestigt sein, welche sich durch einen MFA Getriebemotor (810:1 = 20 rpm bei 12 Volt) heben und senken lassen soll.
Hinter dem Motor befindet sich noch ein Getriebe mit der Untersetzung 4:1 sodass sich der „Hals“ in 3 Sekunden um 90° drehen kann.
Insgesamt ist eine Drehung um rund 180° möglich.
Auf dem Bild, welches ich angefügt habe, ist bereits die untere Befestigung zu sehen.
Die gleiche Mechanik (inkl. Motor) werde ich noch einmal spiegelverkehrt auf das andere Ende des Halses setzen um den Kopf neigen zu können.
Zusätzlich werde ich noch einen Servo einbauen, welcher es ermöglichen soll, den Kopf nach links und rechts zu schwenken.

So, jetzt erst mal weg vom mechanischen Teil und hin zum elektronischen und somit zu meinem Problem.
Um die ganzen Motoren möglichst exakt zu steuern möchte ich gerne den SD20 I²C-Servo-Controller verwenden, nur brauche ich da ja für die Motoren eine Servo-Elektronik, welche etwa Conrad anbietet.
Da sich damit aber maximal 800mA-Motoren ansteuern lassen, brauch ich irgendeine Schaltung, die es ermöglicht, auch über 2A zu schalten.
Im Internet hab ich eine Möglichkeit gefunden, das mit einem MOSFET-Verstärker zu erledigen, jedoch halte ich diese Möglichkeit für nicht sehr geschickt, da die Kosten und der Aufwand meines Erachtens nach nicht im Verhältnis zur Nutzung >>in meinem Falle<< stehen.
Mit würde es schon genügen, dass die besagte Servo-Elektronik zwei Relais schaltet, welche den Motor umpolen.
Ich bin irgendwie auf folgende Schaltung von http://www.mike-knebel.de gestoßen, hab jedoch keine Beschreibung dazu gefunden.

http://www.mike-knebel.de/servoelektronik.JPG

Ist es das was ich suche?
Kann man damit den Getriebemotor ansteuern und eine bestimmte Position anfahren, wenn man anstatt der zwei Widerstände ein 4.7k Poti einsetzt?
Oder gibt es vielleicht eine noch simplere Methode zum selber bauen, die es ermöglicht über ein SD20 Motoren anzusteuern und ganz auf die Conrad Servo-Elektronik zu verzichten?

Und dann hab ich noch eine Frage, die den Einbau des Potis betrifft.
Soweit ich das verstanden hab, lässt sich der Servo über den SD20 in 256 Schritten ansteuern.
Bei 0 soll sich der „Hals“ ganz unten auf der einen und bei 255 ganz unten auf der anderen Seite befinden.
Würde ich also das Poti direkt an der Achse des „Auslegers“ befestigen, würde die Position 255 den Arm weit über die 180° drehen, wenn ich mich nicht irre.
Also hab ich mir gedacht, mach ich ein weiteres Zahnrad mit 25 Zähnen an das große Zahnrad (40 Zähne (siehe Bild am Ende des Beitrages), an welchem sich auch der Ausleger befindet) und an dieses das Poti.
Dies würde bewirken, dass sich das 25-zähnige Zahnrad :-s um 288° dreht, wenn sich das 40er Zahnrad um 180° dreht, oder?

25 Umdrehungen beim großen Zahnrad = 40 Umdrehungen beim kleinen;
0.5 Umdrehungen beim großen Zahnrad = 0.8 Umdrehungen beim kleinen.

0.5 Umdrehungen = 180°
0.8 Umdrehungen = 180° / 0.5 Umdrehungen * 0.8 Umdrehungen = 288°

Conrad bietet Potis an, welche einen mechanischen Drehwinkel von 300° haben (Best.-Nr. 445657).
Ich nehme an, der elektronische Drehwinkel wird einige Grad (vielleicht 30) darunter liegen (konnte im Datenblatt leider keine genauen Angaben finden) und somit meinen Ansprüchen gerecht werden.
Lieg ich mit meinen Berechnungen richtig oder habe ich irgendwo irgendetwas nicht beachtet?
Wenn ich alles richtig bedacht habe, müsste doch der „Hals“ bei richtiger Einstellung bei Position 0 die eine und bei 255 die anderen Seite anfahren oder?

Ich hoffe, ich hab euch nicht mit meinem langen Text erschlagen und danke allen, die sich meinem Problem bis hier hin angenommen haben.

Mit freundlichen Grüßen

Philipp

PhilippW
28.07.2005, 17:57
Ich hab mich zu kompliziert ausgedrückt, oder? 8-[

Goblin
28.07.2005, 21:39
ok, also erstmal: ja, ich glaub du hast uns mit deinem langen text erschlagen.
2.: warum nimmst du nicht einfach servos?
3.: ich hab zwar gerad ein paar bier getrunken, aber ich kann mir nicht wirklich vorstellungen, wie deine "halskonstuktion" aussehen soll, am ende.
4.: mach mal bitte das bild kleiner. danke
5.: nichts für ungut :)

Manf
28.07.2005, 22:36
ich hab zwar gerad ein paar bier getrunken, aber ich kann mir nicht wirklich vorstellungen, wie deine "halskonstuktion" aussehen soll, am ende.
Wie war das jetzt mit dem Bier, das noch gebraucht wird, bis der Hals voll vorstellbar ist? Es gibt Situationen in denen es nicht gut ist, sich etwas nochmal durch den Kopf gehen zu lassen.

Da ist also ein Motor der das Gerät steuern soll und er soll wie ein Servo angesteuert werden. Wir können ja noch mal überprüfen, ob eine Servosteuerung wirklich das richtige ist.

Nachem der Motor an die Mechanik angekoppelt ist braucht man ein Feedback über die Position. Die kommt hier nicht unmittelbar von einem Servo, sondern dann wohl von einem extra Poti, einem Drehwiderstand oder Spannungsteiler der den Winkel an die Steuerung zurückmeldet.

Ist Deine Vorstellung so, daß nun ein einstellbarer Widerstand an die Mechanik angekoppelt wird, um die Position zurückzumelden? Es gibt "Drehpotis" oder "Schieberegler" mit denen das gehen sollte.

Wenn dann der Controller den Motor ansteuern kann und die Position zurückgemeldet bekommt, dann kann man die Signale einer Modellbau Servo Elektronik verstärken und für die Ansteuerung verwenden oder die Motoransteuerung dirket von Controller ausgeben und die Position direkt von Controller auswerten.

Ist das das Ziel? eine ausreichend starke Motorsteuerung eine H-Brücke bis 2A dazu einzusetzten?
Manfred

BlueNature
28.07.2005, 23:30
Hallo PhilippW!

Man kann die Servosignale sicher mit einem Optokoppler antiparallel an eine eigene H-Brücke ankoppeln. Das würde eben bei Linkslauf und Rechtslauf je den einen oder den anderen Optokoppler durchschalten. Diese beiden Oprokoppler-Ausgänge kann man meinetwegen mit Relais oder einer H-Brücke "verstärken" auf den benötigten Strom.

Vorteil wäre es ist einfach zu bauen, Nachteil es ist zuimlich digital und wird bei schnellem Motor zu einem Schwingen an der Sollposition neigen da es nicht dynamisch regelt.

Ws ich bei der Konstruktion nicht ganz gut finde ist das Servos nicht zur genauen Positionierung geeignet sind und immer einne Fehler haben in ihrer Endposition.

Das könnte man sicher mit einem eigenen kleinen AVR lösen der an einem ADC-Eingang den Istwert als Spannung vom Poti misst, am besten gleich in 10-Bit-Genauigkeit. Im AVR kann man dann sogar gleic hmit Richtung und PWM eine dynamische Bewegung realisieren oder gar einen besseren Regler den man auf die Bewegungsachse abstimmen kann. Es würde dann ein digitaler Sollwert existieren der auch 10-Bit genau ist und eine einfache Endstufe für den Motor (z.B. ein L298N). Mit einem ATMEGA8 kann man schon drei Motoren mit PWM ansteuern was für das gröbste bereits reichen würde. Es entfiele dann auch der SD20 und alle FEhler die sich dort aufsummieren würden. Es wäre damit viel genauer und flexibler.

Grüße Wolfgang

PhilippW
29.07.2005, 08:23
ok, also erstmal: ja, ich glaub du hast uns mit deinem langen text erschlagen.

Sorry :D


2.: warum nimmst du nicht einfach servos?

Ich glaub, bei dem Gewicht würden die auseinander fallen...


3.: ich hab zwar gerad ein paar bier getrunken, aber ich kann mir nicht wirklich vorstellungen, wie deine "halskonstuktion" aussehen soll, am ende.

Hab ne Zeichnung angehängt, die es vereinfachen soll und nen ähnlichen Roboter kannst du hier sehen:

http://www.irobot.com/governmentindustrial/product_detail.cfm?prodid=34


4.: mach mal bitte das bild kleiner. danke

Habs verlinkt!


5.: nichts für ungut :)

:-)

PhilippW
29.07.2005, 08:31
Nachem der Motor an die Mechanik angekoppelt ist braucht man ein Feedback über die Position. Die kommt hier nicht unmittelbar von einem Servo, sondern dann wohl von einem extra Poti, einem Drehwiderstand oder Spannungsteiler der den Winkel an die Steuerung zurückmeldet.

Ist Deine Vorstellung so, daß nun ein einstellbarer Widerstand an die Mechanik angekoppelt wird, um die Position zurückzumelden? Es gibt "Drehpotis" oder "Schieberegler" mit denen das gehen sollte.

Ja, genau so hab ich mir das gedacht! :cheesy:



Ist das das Ziel? eine ausreichend starke Motorsteuerung eine H-Brücke bis 2A dazu einzusetzten?
Manfred

Ja, im groben schon, aber ich möchte halt den Ausleger schrittweise (256 Schritte) wie ein Servo bewegen können.
0 = ganz unten auf der einen, 255 ganz unten auf der anderen Seite... O:)
Und da die Geschwindigkeit unwichtig ist, möchte ich halt Relais einsetzen...
Die werden auch nicht so heiß wie FETs :-)

PhilippW
29.07.2005, 08:38
Ws ich bei der Konstruktion nicht ganz gut finde ist das Servos nicht zur genauen Positionierung geeignet sind und immer einne Fehler haben in ihrer Endposition

Nun, ich denke, eine so exakte Einstellung ist nicht unbedingt nötig.
Mir geht es eigentlich nur darum, das ganze wie einen Servo anzusteuern.
Exakt ist natürlich schön, wie ich auch schon in einen früheren Beitrag geschrieben hab (256 Schritte), aber wenn der Motor noch nen kurzen Moment nachläuft etc, ist das sicher nicht die Welt.

PhilippW
29.07.2005, 08:53
Welche Vorteile hätte denn eine H-Brücke im Vergleich zu Relais?
Sie müsste Strom bis 2,85 Ampere = maximaler Motorstrom vertragen...

Mit freundlichen Grüßen

Philipp

BlueNature
29.07.2005, 17:42
Hallo PhilippW

Eine H-Brücke kann mal aus einem L298N mit 4A bauen wenn du je zwei interne Halbbrücken parallel schaltest. Informationen dazu befinden sich im Application-Sheet des Bausteins oder im Datenblatt.

H-Brücke vs. Relais ist der Vorteil das es zum einen schneller ist und zum andern PWM-modulierbar ist, also Geschwindigkeitregelbar und als Regelung idealer.

Wenn es nachläuft ist es auch kein Promblem, dafür gibts die Kurzschlußbremsung. Diese ist gerade bei Getriebemotoren recht ausgeprägt im Verhalten. Dazu wird einfach nachdem die Pole des Motors mit + und - angesteuert wurden die beiden Motoranschlüsse direkt kurzgeschlossen. => Vollbremsung durch die EMK des Motors.

GRüße Wolfgang

PhilippW
29.07.2005, 18:51
Hi, Wolfgang!


H-Brücke vs. Relais ist der Vorteil das es zum einen schneller ist und zum andern PWM-modulierbar ist, also Geschwindigkeitregelbar und als Regelung idealer.

Lässt sich das denn auch irgendwie an eine Servoelektronik anschließen?
Oder an den Servo-Controller?
Das Problem ist nämlich, dass ich kein PWM-Ausgang an meiner C-Control frei hab... Da hängen schon die beiden Motoren zur Robotersteuerung dran...
Und auf Geschwindigkeitsregelung leg ich in diesem Fall auch nicht viel wert...


Wenn es nachläuft ist es auch kein Promblem, dafür gibts die Kurzschlußbremsung. Diese ist gerade bei Getriebemotoren recht ausgeprägt im Verhalten. Dazu wird einfach nachdem die Pole des Motors mit + und - angesteuert wurden die beiden Motoranschlüsse direkt kurzgeschlossen. => Vollbremsung durch die EMK des Motors.

Das würde doch bei den Relais auch so sein...
Wenn die beide beispielsweise Masse durchschalten läuft der Motor nicht und beide Motor-Pole sind verbunden...