PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Servo als Motor verwenden



Zwerwelfliescher
23.07.2009, 17:31
Hi,

ich möchte einen kleinen Roboter bauen, der nur einer Schwarzen Linie folgt.
Nun zu meinem Problem:
Da es ein kleiner Roboter werden soll, benötige ich auch einen kleinen Antrieb. Bürstenmotoren kann ich nicht verenden, da ich kein Platz für ein Getriebe habe.
Ich habe ein sehr kleines Servo gefunden und möchte nun wissen, wie ich einen Motor daraus bauen kann.

MFG Flexxx


PS: Ansteuerung erfolgt über den ATmega8.

Bammel
23.07.2009, 17:55
poti und endanschläge entfernen. da das poti als spannungsteiler dient baust du zwei widerstände als solche ein. somit kannst du das poti in der richtung und geschwindigkeitsteuern wie ein normales servo auch. bei weitem ausschlag dreht der motor dann halt sehr schnell. oder du könntest die elektronik entfernen und über eigene h-brücke ansteuern.

Zwerwelfliescher
23.07.2009, 18:00
Wenn man das Poti entfernt, muss man doch Wiederstände dafür einsetzen. Wie viel Ohm müssen dei haben und kann man sie auch extern anbringen(Platiene)?

Tido
23.07.2009, 19:19
Nimm zwei gleich große Widerstände, die jeweils den halben Wert des Potis haben.

Besserwessi
23.07.2009, 19:23
Für die Widerstände sollte man ausmessen was der Poti für einen Wert hat. Dann 2 Widerstände mit etwa dem halben Wert vom Poti. Meistens kommt es da aber nicht so sehr drauf an. Ich habe z.B. mal 2 mal 2,7 K für einen 5 KOhm Poti genommen.

Man könnte die Widerstände auch extern haben, das macht aber eigentlich keinen Sinn, eine Platine schon gar nicht.

Bei einigen Ausführungen kann man auch den Poti drinlassen, und nur die Übertragung der Drehung unterbrechen. Also z.B. die Ache kürzen oder dünner machen.

Zwerwelfliescher
12.08.2010, 16:09
Hallo,
dieses Thema ist zwar sehr alt, aber ich möchte kein neues aufmachen.
Ich habe mir heute bei Conrad zwei Standart Car Servos gekauft. Diese lassen sich sehr gut hacken.
Nun habe ich mein Multimeter auf 20k eingestellt und habe beim Poti an den beiden äußeren Pins 4,91 gemessen. Das sind doch 4,9k Ohm.
Welche Widerstände soll ich da am besten benutzen?
2,2k Ohm oder 2,7k Ohm?

Gruß

oberallgeier
12.08.2010, 17:30
... Welche Widerstände ... ? 2,2k Ohm oder 2,7k Ohm? ...Wichtig ist es, zwei einigermassen gleiche Widerstände zu verwenden - absolute Genauigkeit ist nicht notwendig. Also sollten zwei 2k7 sicher eine gute Wahl sein.

Hintergrund: damit wird der Servoelektronik vorgegaukelt, dass das Poti auf "Mitte" steht - und Du kannst mit der PWM je nach Impulsdauer gut vor- und zurückdrehen, je nach Abstand vom "Mittensignal" der PWM mit unterschiedlichen Geschwindigkeiten. Das PWM-Mittensignal soll dann irgendwo um die 1,5 ms sein - wo genau, musst Du durch Versuche herausfinden, wenn die Widerstände eingebaut sind. Du kennst vermutlich die übliche PWM-Signale für Servos!?

Viel Erfolg

Zwerwelfliescher
12.08.2010, 18:03
Danke oberallgeier,

ich habe jetzt 2k7 eingelötet.
Soweit fünktionieren sie auch gut, nur manchmal bleiben sie stehen, oder laufen nur in eine Richtung. Das kann damit zusammenhängen, dass ich als Stromversorgung meinen ISP Porgrammer verwende.

Hier mein Testcode:

$regfile = "m8def.dat"
$crystal = 16000000
Config Servos = 1 , Servo1 = Portd.2 , Reload = 20
Config Portd = Output
Enable Interrupts
Do
Servo(1) = 150
Loop
End

Bei Servo(1) ändere ich immer die Zahl.

Gruß
Flexxx

Edit: Was bedeutet Reload?

oberallgeier
12.08.2010, 18:12
... nur manchmal bleiben sie stehen ... als Stromversorgung meinen ISP Porgrammer verwende ...Uuuups, mal schauen, wie lange die Schnittstelle im PC das mitmacht, bis sie zu anfängt zu rauchen. Meine (Billig-) Servos fangen so bei 400 bis 500 mA an zu laufen. Drunter ist nix. Mit einem Wort: das ist eine schlechte Lösung zur Versorgung der Servos. Vor Allem dann, wenn Du vielleicht den Servo zusammen mit dem Controller aus der gleichen Stromquelle bedienst.


... Was bedeutet Reload ...Keine Ahnung, ich bin bei Bascom völlig ahnungslos.

Zwerwelfliescher
12.08.2010, 18:40
Uuuups, mal schauen, wie lange die Schnittstelle im PC das mitmacht, bis sie zu anfängt zu rauchen.
Oh :-s Na dann muss ich das RN Mega8 Board doch extern Versorgen.
Ich habe halt das Problem, sobald ich das Programm auf den µC lade, beginnt das Programm an zu laufen, da der Controller Strom vom ISP bekommt. Wenn ich den Strom am ISP Programmer via Schalter abstelle, kann ich nicht programmieren.


Meine (Billig-) Servos fangen so bei 400 bis 500 mA an zu laufen.
Wie misst du, wie viel mA deine Servos verbrauchen?

Gruß

oberallgeier
12.08.2010, 18:51
... Wie misst du, wie viel mA deine Servos verbrauchen ...Das darf ich jetzt nicht in der Öffentlichkeit schreiben: ich hänge die an (m)ein regelbares Netzgerät, bei dem ich die maximale Stromstärke einstellen kann. Und solange die Ser vos stottern und/oder die Spannung beim Servobetrieb deutlich einbricht, liefere ich eben unterhalb ihres Durstes . . . .

Zwerwelfliescher
12.08.2010, 18:55
Ok danke!
Da ich kein regelbares Netzgerät habe, gehe ich mal davon aus, dass meine Servos ca.500mA pro Stück ziehen. Da ich nur 7805 mit 1A besitze muss ich zwei davon verwenden. Motor und µC.

mfg
Flexxx

oberallgeier
12.08.2010, 19:04
... Da ich nur 7805 mit 1A besitze muss ich zwei davon verwenden. Motor und µC ...Genauso hatte ich das bei meinem R2D03/Dottie auch gemacht. (https://www.roboternetz.de/phpBB2/viewtopic.php?p=390565#390565)

Zwerwelfliescher
12.08.2010, 19:20
Ich finde die Verkleidung echt super.
Meinen ersten Roboter baue ich erst einmal aus Lego, da es so vielseitig ist.
Was kann ich denn für Räder verwenden. Ich finde einfach nichts, was passt.

Gruß

5Volt-Junkie
12.08.2010, 21:07
Hi :)


Oh Na dann muss ich das RN Mega8 Board doch extern Versorgen.
Ich habe halt das Problem, sobald ich das Programm auf den µC lade, beginnt das Programm an zu laufen, da der Controller Strom vom ISP bekommt. Wenn ich den Strom am ISP Programmer via Schalter abstelle, kann ich nicht programmieren.

Dann soll dein Code vielleicht mit der Tasterabfragung beginnen :wink:

Die Servos von C***** die ca. bei 5€ liegen hatte ich auch als Motor benutz. Wenn ich mich noch gut erinnern kann, haben sie bei mir im Leerlauf um die 250mA gezogen. Bei Belastung so um die 400-450mA.

Bau dir doch eine kleine Motortreiberplatine mit z.B.L293D zu deinem Board. Dann bist du auf der sicheren seite.

Wenn man den 7805 mit einem Kühlkörper ausstattet, kann man diese 1A etwas überschreiten.

oberallgeier
12.08.2010, 21:46
... Was kann ich denn für Räder verwenden. Ich finde einfach nichts, was passt ...Danke für das Lob. Wenns weiter nichts ist als ein Rad-schlag. Ich habe runde Ser voscheiben genommen und darüber einen Rundschnurring (vulgo O-Ring) gestülpt. Läuft bestens und lässt sich an der Abtriebswelle befestigen ohne irgendwelche Kunstgriffe. Der O-Ring muss etwas stramm sitzen.

................http://oberallgeier.ob.funpic.de/Rad_Dottie.jpg (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=404959#404959)
................Siehe Link (klick aufs Bild).


... Bau dir doch ... Motortreiberplatine mit z.B.L293D zu deinem Board ...Das nutzt nix. Flexxx hat im Ser vo ja die gesamte Ansteuerelektronik gelassen und nur das Poti umgangen. Da hilft kein zusätzlicher Motortreiber, die Ansteuerung erfolgt wie bei Servos. Vorteil der eingebauten Elektronik ist die sehr einfache Ansteuerung über nur einen Port pro Motor. Mit einem Motortreiber braucht man schon pro Motor drei Ports.

5Volt-Junkie
12.08.2010, 21:56
Das nutzt nix. Flexxx hat im Ser vo ja die gesamte Ansteuerelektronik - da hilft kein zusätzlicher Motortreiber.

Oh Sry, hab das übersehen, mein Fehler. Bei meinen Servos habe ich die Elektronik komplett rausgenommen und nur 2 Leitungen rausgeführt.

oberallgeier
12.08.2010, 22:11
... Bei meinen Servos ... Elektronik komplett rausgenommen und nur 2 Leitungen rausgeführt.Ja, so habe ich es auch gemacht, hatte aber noch eine Drehzahlmessung mit Gabellichtschranke eingebaut und in einem zweiten Projekt (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=437282#437282) ausserdem noch eine Getriebestufe entfernt. Dadurch drehen die "Ser vo"-Getrie bemotoren in meinem MiniD0 mittlerweile mit maximal 8 ½ Hz (rund 500 Upm). Deshalb habe ich auch einen separaten Moto rtreiber genommen (Schaltplan, teilw.). (http://oberallgeier.ob.funpic.de/m168d-schaltung-x97.pdf) Umständlich sind halt jetzt die fünf Drähte pro Motor. (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=432909#432909)

Zwerwelfliescher
13.08.2010, 09:38
Hallo,
ich habe nicht die 5€ Servos genommen, sonder die Standard Car Servos. Die sind ein ganzes Stück größer und dort ist nur so ein Kreuz für das Servo dabei und kein Kreis.
Ich möchte mit einem ATmega8 die zwei Servos für den Antrieb und noch ein Servo, auf dem ein Sharp Sensor sitzt ansteuern.
Kann ich überhaupt 3 Servos ansteuern?

Gruß

5Volt-Junkie
13.08.2010, 10:40
Du kannst damit auch mehr als 3 Servos ansteuern \:D/

Kampi
13.08.2010, 10:50
Du kannst soviele Servos ansteuern wie die Pins reichen. Nur du brauchst eine Treiberstufe dafür, weil direkt am Controller ansteuern geht nicht.

oberallgeier
13.08.2010, 11:34
... soviele Servos ansteuern wie die Pins reichen ... brauchst eine Treiberstufe ... direkt am Controller ansteuern geht nicht.Ohhh - wieso das? Meine Ser vos ziehen an der Signalleitung Ströme im Bereich von Milliampere, vermutlich sogar weniger, da geht keine Leistung drüber. No Problem für den Controller, solange der Controller an allen Ports zusammen nicht mehr als die für ihn spezifizierten Ströme abgeben soll, meist etwa max. 200 mA. Anders ist es mit der Stromversorgung des Ser vos - die soll sowieso vom Controller getrennt sein.

Kampi
13.08.2010, 11:37
Oh.....hab da wohl was durcheinander geworfen 8-[

Zwerwelfliescher
13.08.2010, 11:53
Wie sieht es mit der Spannungsversorung aus?
Da ich jetzt ein größeres Servo verwende, steigt auch der Stromverbrauch.
Mit normalen AA Akkus wird das nichts mehr. Ich denke da an einen Bleiakku. Die Servos haben einen Stellmoment von:
4,8V 35Ncm
6V 45Ncm

Könnte ich da einen Bleiakku bewegen, der ca. um die 1kg wiegt?

Gruß

oberallgeier
13.08.2010, 17:30
... größeres Servo ... steigt ... Stromverbrauch. Mit normalen AA Akkus wird das nichts mehr ...Aha. Interressant. Wo steht das mit dem höheren Stromverbrauch? Steht das im Datenblatt zum Ser vo? Wenn nicht, solltest Du den Stromverbrauch messen - sonst wird ja die Akkugeschichte ein Blindflug!

Zwerwelfliescher
13.08.2010, 18:43
Ich finde es logisch, um so größer der Motor, desto großer der Stromverbrauch. Lieder habe ich keine möglichkeit, den Stromverbrauch(mA) zu messen.
Ich habe ein Multimeter bei dem man auf A Gleichstrom stellen kann(200µ, 2m, 20m, 200m, 20)
Geht das damit?

mfg
Flexxx

5Volt-Junkie
13.08.2010, 20:02
Es muss nicht immer heißen "je größer der Motor desto mehr Strom zieht er".
Bei meinem Projekt verwende ich Motoren die im Leerlauf 15mA ziehen und bei Belastung (ich halte sie fast fest) 250-300 mA.

Bei Strommessung immer auf die höchste Stufe stellen (wenn kein Autorange vorhanden) und dann wenn nötig runterschalten.

Fang mit 20A an.

Zwerwelfliescher
14.08.2010, 09:06
Leider zeigt mir das Multimeter nichts an. Ich habe es zwischen den Pluspol meines Netzteiles und den Pluspol des Motors gehängt.

Gruß

oberallgeier
14.08.2010, 09:20
... Motoren die im Leerlauf 15mA ziehen und bei Belastung ... 250-300 mA ...Die Stromaufnahme bei blockiertem Motor ist der Spitzenbedarf, daher kann ein Motor als Anfahrstrom den Blockierstrom ziehen. Deshalb muss bei Ser vos, auch bei normalen Motoren, als Spitzenbedarf mit dem Blockierstrom gerechnet werden. Ser vos regeln die anzufahrende Position und dabei kann immer wieder der "Anlaufzustand" mit dem entsprechenden Anfahrstrom auftreten. Beispiel, 5V : hier ziehen meine Ser vos als Getriebemotor (ohne Elektronik) im Leerlauf 45 mA und blockiert 300 mA. Trotzdem gibt es einen zusätzlichen Hunger: der gleiche Typ - in der originalen Konfiguration als Ser vo (ES-05 JR) - funktioniert ohne Last störungsfrei erst oberhalb einer Strombegrenzung von 400 mA. Mit Last ist für einen sauberen, glatten Lauf eine Strombegrenzung von mind. 600 mA notwendig. Dabei zieht der Ser vo bei der Testlast grad mal 150 bis 200 mA. Möglicherweise tritt Strombedarf zusätzlich zum Blockierstrom beim Umschalten der Drehrichtung ein.


Leider zeigt mir das Multimeter nichts an. Ich habe es zwischen den Pluspol meines Netzteiles und den Pluspol des Motors gehängt ...Klar - bei 20 A ist die Anzeige eher im untersten Digit zu finden. Schalte mal den Strombereich vorsichtig, erstmal nur eine Stufe, runter. Und wenns dann nix anzeigt wieder ne Stufe . . . . *ggg*

Edit 19.Aug.2010 12:05, danke an Jakob L. Ursprünglich stand da:
... Die Stromaufnahme bei blockiertem Motor ist nicht der Spitzenbedarf. Beim Anfahren kann ein Motor als Anfahrstrom viel mehr als den Blockierstrom ziehen. Deshalb muss bei 5ervos, auch bei normalen Motoren, als Spitzenbedarf mit mehr als dem Blockierstrom gerechnet werden...

radbruch
14.08.2010, 09:27
Hallo


Leider zeigt mir das Multimeter nichts an.Das ist typisch für den Strommessbereich von selten benutzten Messgeräten. Sehr häufig fliegt irgendwann mal die interne Sicherung und ab diesem Moment kann man damit keinen Strom mehr messen. Öffnen, Sicherung suchen und ersetzen.

Gruß

mic

Zwerwelfliescher
14.08.2010, 10:19
Also ich habe jetzt mal das Multimeter aufgeschraubt und alle Sicherungen sind in Ordnung.
Ich habe das Voltcraft 220. Ich weis, es ist nicht das beste :cheesy:

mfg
Flexxx

5Volt-Junkie
14.08.2010, 13:24
Die Stromaufnahme bei blockiertem Motor ist nicht der Spitzenbedarf. Beim Anfahren kann ein Motor als Anfahrstrom viel mehr als den Blockierstrom ziehen.
Danke wieder was dazu gelernt \:D/


hast du die Sicherungen auf Durchgang überprüft? Manchmal sehen sie optisch OK aus, sind sie aber nicht.

radbruch
14.08.2010, 13:29
...alle Sicherungen sind in Ordnung.Bewegt sich das Servo bei der Strommessung?

Zwerwelfliescher
14.08.2010, 15:26
Nei, das Servo bewegt sich nicht.

mfg

radbruch
14.08.2010, 15:35
Ich habe es zwischen den Pluspol meines Netzteiles und den Pluspol des Motors gehängt.Aber ohne Messgerät, also mit direkter Verbindung zwischen Pluspol Netzgerät und Pluspol Servo, dreht das Servo? Bei einer Strommessung hängt das Messgerät in Reihe zum Servo und stellt eine Verbindung her. Zuckt das Servo, wenn du die Verbindung herstellst? Wenn das Servo ohne Messgerät dreht und mit Messgerät nicht ist eindeutig das Messgerät (bzw. dessen Sicherung) defekt.

Plan B: Bei der Strommessung muss man meist die Messleitung am Messgerät umstecken...

GND-Servo an GND-Netzteil angeschlossen?

Zwerwelfliescher
14.08.2010, 15:43
Genau so habe ich es angeschlossen:
http://www.lern-online.net/physik/elektrizitaetslehre/stromkreislauf/stromkreise/bilder/stromkreis_geschlossen.jpg
Nur statt einer Lame einen Motorverwendet und eine Portleitung geht zum µC (PWM)

Gruß

oberallgeier
14.08.2010, 16:14
... zeigt mir das Multimeter nichts an ... zwischen den Pluspol meines Netzteiles und den Pluspol des Motors gehängt ...
Grundlage:
Bedienungsanleitung Voltcraft VC 220 (klicks Dir) (http://www.produktinfo.conrad.com/datenblaetter/100000-124999/121414-an-01-de-Digital_Multimeter_VC_220.pdf)
Netzteil = NT
Anmerkung: Zum Lesen des Codefensters nur den EINEN Abwärtspfeil picken


NT (-)------+------ an Controller GND
+------ an Motor=Servo GND

NT (+)------+------ an Controller Vcc
+------ an Messgerät (1b)

Controller (Pin ??-für Servosignal) ------- an Servo (Sig)

Servo (+ = Vcc)--------- an Messgerät (1c)

Anmerkung: in diesem Fall wird Ser vo (+) an Messgerät (GND) gelegt, damit der Strompfad für den Servoantrieb geschlossen wird.

Jakob L.
18.08.2010, 18:14
Die Stromaufnahme bei blockiertem Motor ist nicht der Spitzenbedarf. Beim Anfahren kann ein Motor als Anfahrstrom viel mehr als den Blockierstrom ziehen.

Kannst du das bitte begründen? Ich dachte, dass die Stromaufnahme beim Anfahren ziemlich genau dem Blockierstrom entspricht, da der Motor ja quasi durch das Trägheitsmoment der Motorwelle blockiert wird. Bei blockiertem Motor ergibt sich der Strom aus dem Widerstand der Motorwicklung und der angelegten Betriebsspannung. Noch mehr Strom kann doch auch beim Anfahren nicht fliessen. Der einzige Unterschied ist, dass sich die Motorwicklung bei längerer Blockade durch den Strom erwärmt und Kupfer bei hohen Temperaturen einen höheren Widerstand hat (=> weniger Strom).

oberallgeier
19.08.2010, 11:12
... Kannst du das bitte begründen ...Im Prinzip ja - wenn auch sehr ungern: ich habe hier totalen Blödsinn geschrieben.


... Ich dachte, dass die Stromaufnahme beim Anfahren ziemlich genau dem Blockierstrom entspricht, da der Motor ja quasi durch das Trägheitsmoment der Motorwelle blockiert wird ...So ist es. Ich hatte - so entfernt - daran gedacht, dass der Motor nicht nur von seinem eigenen Trägheitsmoment blockiert wird sondern auch von der Trägheit eines evtl. zu beschleunigenden Gesamtsystems - und dann kam wohl dieser Unsinn raus. Durch zusätzliche Trägheit steigt ja nur die Dauer des Anfahrzustandes. Daneben tritt aber möglicherweise beim Regeln der Ser vos zusätzlicher Strombedarf durch schnelle Änderung der Drehrichtung ein - d.h. Beschleunigen gegen den drehenden Motor. Trotzdem war meine Aussage Schwachsinn. Danke für den Hinweis, ich hab die Stelle korrigiert.