Forum: Mikrocontroller und Digitale Elektronik Fragen zu Servos


von 0xUnbenannt (Gast)


Lesenswert?

Hallo, ich habe mal nach ein paar Modellbauservos gesucht (ich brauche 
etwas, um ein Modellauto betreiben zu können) und da stand dann immer 
etwas von ca. 0.2s/60° oder ähnliches. Das würde ja bedeuten, dass der 
Servo nur eine Umdrehung pro Minute hätte. Verstehe ich das richtig?
(wenn es da nix anderes gibt, bräuchte ich halt eine andere Übersetzung)

Hier sieht es ja so aus, als ob sich der Servo auf dem Bild anscheinend 
nur 180° weit drehen kann:
http://www.rn-wissen.de/index.php/Servos
Das stimmt ja vermutlich nicht (zumindest nicht bei allen Servos). Dreht 
sich ein Servo immer nur in eine Richtung (außer, wenn man 
Versorgungsspannung und GND umdreht), oder nimmt er den kürzesten Weg 
zur neuen Stellung?

Und noch eine Frage: Warum findet sich eigentlich kaum/kein C++-Code für 
AVR-Prozessoren im Internet, obwohl es ja auch avr-g++ gibt?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Ein Servo führt immer nur eine Bewegung innerhalb eines Kreisbogens aus. 
Die Stellung, also der Winkel von den beiden Endanschlägen, wird durch 
das Steuersignal bestimmt. Wenn man die Endanschläge entfernt, kann ein 
Servo auch kontinuierlich drehen, aber dafür ist es nicht vorgesehen. 
Was Du brauchst, ist ein Getriebemotor.

von JojoS (Gast)


Lesenswert?

Die Servos haben nur einen Stellbereich wie angegeben, in deinem Bsp 
eben 60 Grad die von Endlage zu Endlage in 0,2s erreicht werden.
Ansteuerung erfolgt über den Pulseingang, Spg verpolen geht nicht, 
beschädigt evtl sogar die Elektronik. Zu Servos weiß Google auch eine 
Menge.

von 0xUnbenannt (Gast)


Lesenswert?

OK, dann werde ich für diesen Anwendungsfall wahrscheinlich auf einen 
Schrittmotor zurückgreifen.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

0xUnbenannt schrieb:
> auf einen
> Schrittmotor zurückgreifen

Ohne Getriebe wird das auch mit einem Schrittmotor nichts.

von Floh (Gast)


Lesenswert?

0xUnbenannt schrieb:
> (ich brauche
> etwas, um ein Modellauto betreiben zu können)
Was willst du bei dem Auto betreiben? Den Antrieb, die Lenkung, den 
draufgebauten Raketenwerfer?
Wie schwer ist das Ganze?

von 0xUnbenannt (Gast)


Lesenswert?

@Floh: Das ist jetzt für den Antrieb. Der Antrieb soll allerdings genau 
gesteuert werden können. Ich kann noch nicht genau abschätzen, wie viel 
das mal wiegen wird, aber es kommen Räder, 3 Motoren, ein 
Mikrocontroller, Achsen und noch diverse andere Teile dran. Ich schätze 
mal im Bereich von 1-3 kg.

@Knut Ballhause: Ich verstehe das Problem nicht ganz (verbessere mich 
gerne, ich bin noch Anfänger). Ich kann da doch ein Getriebe (eine 
Übersetzung) dranbauen. Ein Schrittmotor kann sich wenigstens so oft um 
die Achse drehen, wie man will.

von Floh (Gast)


Lesenswert?

0xUnbenannt schrieb:
> Das ist jetzt für den Antrieb. Der Antrieb soll allerdings genau
> gesteuert werden können.

3 kg.
Teure Variante:
Schrittmotoren mit Getriebe.
Billiger Variante:
DC-Getriebemotoren mit Encoder, entweder direkt am Motor oder am Rad.
Dafür wäre meine neue Frage:
Was heist "genau"?

von 0xUnbenannt (Gast)


Lesenswert?

"Genau" heißt, dass eine Distanz (wenn der Radumfang bekannt ist) auf 
vielleicht 1 cm genau bei einer Fahrtstrecke von XX m abgefahren werden 
kann.

von 0xUnbenannt (Gast)


Lesenswert?

Nachtrag: Die Fläche ist ein normaler Boden, es darf aber auch gerne für 
leichte Schrägheit des Untergrunds geeignet sein. Die Frage ist: Kann 
man mit einem DC-Getriebemotor gut bremsen? (Mit einem Schrittmotor 
könnte man ja einfach die Geschwindigkeit langsam herunterregeln)

von Peter (Gast)


Lesenswert?

0xUnbenannt schrieb:
> Mit einem Schrittmotor
> könnte man ja einfach die Geschwindigkeit langsam herunterregeln)

und warum sollte man das bei einem DC motor nicht können? Man kann dort 
genauso die Leistung regeln(PWM).

von Harald Wilhelms (Gast)


Lesenswert?

0xUnbenannt schrieb:

> @Floh: Das ist jetzt für den Antrieb. Der Antrieb soll allerdings genau
> gesteuert werden können.

Dafür nimmt man im Modellbaubereich einen Gleichstromgetriebemotor
mit einem sog. Motorregler. Ein (Modellbau-)Servo ist für die
Betätigung der Lenkung gedacht. Beide werden durch unterschiedlich
lange Impulsdauer am Eingang gesteuert.
Gruss
Harald

von Alex W. (a20q90)


Lesenswert?

Mach es wie jeder Roboterbastler:

Getriebemotor mit Encoder.

von citb (Gast)


Lesenswert?

>"Genau" heißt, dass eine Distanz (wenn der Radumfang bekannt ist) auf
>vielleicht 1 cm genau bei einer Fahrtstrecke von XX m abgefahren werden
>kann.

Das ist als Anfaenger ziemlich sportlich - 1 cm bei 10m (kleinster 
moeglicher Wert fuer XXm) heisst schon 0,1%. Bei 99m (groesster Wert 
fuer XXm) sind es dann schon 0,01%. Da spielt Schlupf schon eine 
erhebliche Rolle. Und dieser ist beim langsamen und schnellen 
Beschleunigen unterschiedlich. Natuerlich ist der Schlupf beim Bergauf- 
und Bergabfahren auch unterschiedlich.

Ich wuerde vorschlagen, erst einmal kleinere Broetchen zu backen.

citb

von 0xUnbenannt (Gast)


Lesenswert?

Danke für den Tipp mit dem Encoder!

@citb: OK, beschränken wir uns erstmal auf 0.5% Schlupf. Ich kann 
sowieso eher langsam beschleunigen, Gummireifen auf einem guten 
Untergrund nehmen und einen ebenen Untergrund. Von daher denke ich, das 
ist realistisch (?). Auf dem Mikroprozessor habe ich schon etwas 
Erfahrung, mit C und C++ auch.

von ich (Gast)


Lesenswert?

0xUnbenannt schrieb:
> Und noch eine Frage: Warum findet sich eigentlich kaum/kein C++-Code für
> AVR-Prozessoren im Internet, obwohl es ja auch avr-g++ gibt?

Da C unkomplizierter und älter ist als C++, für µC aber zu 99% reicht, 
gibt es dazu viele Compiler. Da ist es dann so wie vor 5-10 Jahren mit 
Windows. Die meisten haben Windows, deswegen machen die meisten Firmen 
die Software auch für Windows, wodurch sich noch mehr Windows zulegen, 
da es dafür ja mehr Software gibt. Quasi wie eine Endlosschleife.

Und Ich geb nochmal ein Link zum guten, falls du die Seite nicht sogar 
schon kennst:
http://roboternetz.de/

Da kann man auch Sachen zu (Schritt-)Motoren und Servos lesen und auch 
Teile bestellen.

von 0xUnbenannt (Gast)


Lesenswert?

Falls ich mal einen Servo brauche:
Ich habe gelesen, dass man GND von Servo und Mikrocontroller unbedingt 
gleichsetzen, aber für beide nicht die gleiche Spannungsquelle verwenden 
soll. Wo liegt das Problem, wenn man beide an die gleiche 
Spannungsquelle anschließt.

Die Suche nach einem Getriebemotor mit Encoder verläuft mäßig, aber 
einen Getriebemotor mit PWM finde ich gar nicht. (Ich bräuchte ja am 
besten beides, PWM für die Beschleunigung und einen Encoder für die 
Rückmeldung, wenn ich das richtig verstanden habe) Muss man sich das PWM 
selber dranbasteln, oder baut man dazu einen Modellbauservo um?

von Peter (Gast)


Lesenswert?

0xUnbenannt schrieb:
> aber einen Getriebemotor mit PWM finde ich gar nicht.
weist du überhaupt was PWM ist?

Die wist auch keine Steichhölzer für rote Kerzen finden.

von Floh (Gast)


Lesenswert?

0xUnbenannt schrieb:
> Wo liegt das Problem, wenn man beide an die gleiche
> Spannungsquelle anschließt.

Beispielszenario: beiden hängen an 5V. Dein Servo soll die Stellung 
ändern, dafür benötigt es relativ viel Strom. Ein kurzzeitiger 
Spannungsabfall der 5V kann die Folge sein, der den uC oder andere 
Komponenten der 5V stören kann.
Daher kann man (muss nicht) die Spannungsversorgungen für Steuerung und 
Last voneinander trennen.

> Die Suche nach einem Getriebemotor mit Encoder verläuft mäßig, aber
> einen Getriebemotor mit PWM finde ich gar nicht.

Du brauchst einen Getriebemotor. Die PWM ist Aufgabe des Motortreibers/ 
der Steuerung.
Für den Encoder kässt sich eine Encoderscheibe an der Radachse 
befestigen, oder es geht auch über farbige/schwarzweise Scheiben und 
Reflexlichtschranken, wie z.B. beim Asuro.
Stichwort Odometrie.

von ich (Gast)


Lesenswert?

0xUnbenannt schrieb:
> Muss man sich das PWM
> selber dranbasteln, oder baut man dazu einen Modellbauservo um?

Guck dir mal an, was PWM ist/macht. Man hat eine bestimmte Spannung, 
z.B. 5V. Ein PWM Signal hat zusätzlich auch eine bestimmte 
Frequenz/Periodendauer. Nach einer Periode wird das Signal quasi 
wiederholt. Jetzt gibt man den PWM-Wert in Prozent an, also 100% heißt, 
dass das Signal die ganze Periodenzeit auf 5V ist. Ist es auf 0% 
eingestellt ist es die ganze Periodenzeit auf 0V. Ist es aber auf 50% 
eingestellt, ist die hälfte der Periodenzeit (eben die 50%) das Signal 
auf 5V und die rest der Zeit auf 0V. Misst man im letzten Fall mit einem 
Oszilloskop sieht man das Muster auch, aber misst man mit einem 
Multimeter misst man 2.5V, da der den Mittelwert misst. Also kann man 
mit PWM quasi die Spannungshöhe einstellen.

Benutzt du also PWM für eine Motoransteuerung, musst du das Signal auf 
den Motor geben. Da dieser aber ein bisschen stärker sein sollte, musst 
du einen Treiber davor packen, also Transistoren oder FETs (kommt auf 
den Motor an).

von 0xUnbenannt (Gast)


Lesenswert?

@Peter: Ja, ich weiß, was PWM ist: Pulsweitenmodulation. Damit will ich 
ja dann den Getriebemotor ansteuern. Allerdings braucht es ja irgendwas, 
was die Pulsweitenmodulation in Motorgeschwindigkeit umsetzt. Das wird 
wahrscheinlich mit einem Poti gemacht. Die Frage ist jetzt, wo kriege 
ich das her?

Soll ich jetzt einen Getriebemotor mit Motortreiber suchen oder einen 
Motortreiber für einen Getriebemotor? Vielleicht noch einen Drehsensor, 
Umdrehungsencoder, Getriebemotor mit Encoder? Ich schaue mich dann bei 
Gelegenheit mal im Roboternetz um.

von 0xUnbenannt (Gast)


Lesenswert?

OK, so wie ich "ich" verstanden habe, braucht es dazu gar nichts. Lässt 
sich die Geschwindigkeit eines Getriebemotors also linear über die 
Durchschnittsspannung regeln?

von Peter (Gast)


Lesenswert?

0xUnbenannt schrieb:
> Allerdings braucht es ja irgendwas,
> was die Pulsweitenmodulation in Motorgeschwindigkeit umsetzt.

hä? Bist du sicher das du es verstanden hast? Das macht der Motor von 
ganz alleine.

von Dussel (Gast)


Lesenswert?

>Allerdings braucht es ja irgendwas, was die Pulsweitenmodulation
>in Motorgeschwindigkeit umsetzt.
Ja, das Teil heißt Physik.
Dass du das Wort kennst, heißt noch nicht, dass du die Funktion der PWM 
verstanden hast. Die PWM ist kein Steuersignal, sondern eine 
Leistungsregelung. Da braucht man kein besonderes Bauteil zwischen 
PWM-Erzeugung und Motor.

von ich (Gast)


Lesenswert?

Es gibt fertige Platinen, da sind die Treiber-FETs, der die Richtige 
Spannung und genug Strom liefert. Kühlkörper für die Treiber und diverse 
Kondensatoren und Dioden zum Schutz der Schaltung. Ansich kannst du dir 
auch so eine Platine kaufen, da ist das dann alles fertig drauf und 
ausgiebig getestet. Der Motor ist träge, also machst du die PWM-Frequenz 
einfach so schnell, dass der Motor nicht mitbekommt, dass immer zwischen 
Spannung da und Spannung weg wechselt. Die PWM erzeugst du am besten mit 
einem µC, der ein PWM-Modul integriert hat. Also schreibst du in ein 
Register den Wert, den du haben willst (bei 8bit ist also 0=0% und 
255=100%) und das Modul macht den Rest.

von ich (Gast)


Lesenswert?


von Harald Wilhelms (Gast)


Lesenswert?

Peter schrieb:

> Die wist auch keine Steichhölzer für rote Kerzen finden.

Doch, das sind die mit den roten Köpfen.
SCNR
Harald

von 0xUnbenannt (Gast)


Lesenswert?

Danke für euren Einsatz ;)

Ich habe bereits ein AVR-NET-IO, ich weiß zwar nicht, ob das ein 
PWM-Modul hat, wenn nicht, ist das aber auch nicht schlimm. Von daher 
nehme ich nicht an, dass ich einen Motortreiber oder einen Chipsatz wie 
in "ich"s Link brauche, denn das geht ja auch einfach "mit Physik".

Ich habe mich auch mal nach Inkrementalgebern umgeschaut und finde da im 
Datenblatt manchmal Leitungen A, B und 0 vor, deren An- und 
Aus-Kombination anscheinend in 90°-Abständen wechseln sollen. 
Gleichzeitig steht aber dabei, dass bis zu 1000 Impulse pro Umdrehung 
ausgesendet werden können. Wie muss man sich das vorstellen?

von ich (Gast)


Lesenswert?

0xUnbenannt schrieb:
> Von daher
> nehme ich nicht an, dass ich einen Motortreiber oder einen Chipsatz wie
> in "ich"s Link brauche, denn das geht ja auch einfach "mit Physik".

Das PWM-Modul macht nur das Signal. Du kannst das natürlich auch 
Softwaretechnisch machen, nur mit einem Modul ist es wesentlich 
einfacher. Wenn du dahinten (am Pin vom µC) nen dicken Motor hängst 
passiert entweder nichts oder dein µC fängt an zu rauchen -> schlecht. 
Weil dein Teil 1-3kg schwer werden soll/kann, sollte da ein etwas 
größerer Motor rein -> mehr Leistung -> Treiber benötigt.

0xUnbenannt schrieb:
> Wie muss man sich das vorstellen?

Du hast eine Zuleitung (müsste in deinem Fall 0 sein). Wenn du da 5V 
hast und in eine Richtung drehst, sind zuerst A UND B open, dann A high 
B open, dann A high B high, dann A open, B open und letztendlich A UND B 
wieder open. Drehst du in die andere Richtung, ist zuerst wieder A UND B 
open, dann A open B high, A UND B high, A high B open und schließlich 
wieder A UND B open. Wenn du an A und B ein Pull-Down-Widerstand machst, 
sieht das so aus:

A --__--__--__--__--__--
B __--__--__--__--__--__--

in die eine Richtung, und in die andere so:
A __--__--__--__--__--__--
B --__--__--__--__--__--

Das musst du dann (evtl. Softwaretechnisch) entprellen und auswerten.

Und du musst aufpassen. Manche machen pro Rastung das:

A --
B __--

und andere das:
A _-
B __

beim nächsten Rasten gehts dann weiter:
A -_
B --

Google kann nebenbei auch sehr hilfreich sein ;)

von ich (Gast)


Lesenswert?

Wie ich es auch immer hinbekommen habe, einen Unterstrich und einen 
Bindestrich in ein Zeichen zu kriegen, hier nochmal ein Versuch mit 
Code-Box:

Wenn du an A und B ein Pull-Down-Widerstand machst,
sieht das so aus:
1
A _--__--__--__--__--__--_
2
B __--__--__--__--__--__--
in die eine Richtung, und in die andere so:
1
A __--__--__--__--__--__--
2
B _--__--__--__--__--__--_

Das musst du dann (evtl. Softwaretechnisch) entprellen und auswerten.

Und du musst aufpassen. Manche machen pro Rastung das:
1
A _--_
2
B __--
und andere das:
1
A _-
2
B __
beim nächsten Rasten gehts dann weiter:
1
A -_
2
B --

von 0xUnbenannt (Gast)


Lesenswert?

Danke für die Erklärung, wenn da in dem Katalog 100 Impulse pro Sekunde 
steht und gleichzeitig 90° bei der Umdrehung, widerspricht sich das dann 
nicht? Oder kommen die Impulse auf der 0-Leitung?

Zum Treiber: Was hat der für eine Aufgabe? Kann ich nicht einfach einen 
Transistor oder einen Operationsverstärker nehmen?

von Harald Wilhelms (Gast)


Lesenswert?

0xUnbenannt schrieb:
> Danke für die Erklärung, wenn da in dem Katalog 100 Impulse pro Sekunde
> steht und gleichzeitig 90° bei der Umdrehung, widerspricht sich das dann
> nicht? Oder kommen die Impulse auf der 0-Leitung?
>
> Zum Treiber: Was hat der für eine Aufgabe? Kann ich nicht einfach einen
> Transistor oder einen Operationsverstärker nehmen?

Inkrementalgeber sind gut geeignet für eine präzise Wegmessung. Man
braucht allerdings eine spezielle Auswerteschaltung zur Umsetzung
der Impulse in eine Weganzeige. Näheres dazu findet man hier:
http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.29
Gruss
Harald

von 0xUnbenannt (Gast)


Lesenswert?

Ich habe jetzt diesen Inkrementalgeber gefunden:
http://www.siko.de/produkte/rotoline/optische-drehgeber/details/ig16/
Leider steht kein Preis dabei. Ich werde da also wahrscheinlich mal 
anfragen müssen.

von ich (Gast)


Lesenswert?

0xUnbenannt schrieb:
> widerspricht sich das dann
> nicht? Oder kommen die Impulse auf der 0-Leitung?

Zeig mal ein Link. Vlt das er pro Sekunde nur 90° drehen kann und sonst 
irgendwie springt. Aber das wäre ein bisschen komisch. Du brauchst 2 
geschaltete Pins. Sonst kannst du die Drehrichtung ja nicht bestimmen.

0xUnbenannt schrieb:
> Was hat der für eine Aufgabe?

Dein µC kann den Ausgang zwischen 0V und 5V hin und her schalten 
(High/Low). Dabei (zumindest beim PIC) kannst du aber höchstens 20-30mA 
ziehen. Danach geht der µC durch Überhitzung kaputt. Da ein Motor 
schonmal 3A ziehen kann und dass bei z.B. 24V, kommst du weder mit der 
Spannung hin, noch mit dem Lieferbarem Strom. Das ist so, als wenn du 
hinter einem Schiff stehst und es mit einer Wasserpistole antreiben 
willst ;) Nur dass die Wasserpistole nicht kaputt geht. Also musst du 
den Strom verstärken und gleichzeitig eine andere Spannung benutzen. Du 
schaltest dann mit dem schwachen Signal vom µC einen bzw mehrere FETs 
und die können die hohe Spannung und hohen Strom ab. Dazu musst du 
natürlich einen nehmen, der das Leisten kann, was du brauchst, was 
bedeutet, du musst wissen, was du brauchst. Und da bin ich mir nicht soo 
100% sicher.
Ich will dir das nicht ausreden oder dich anmachen, aber wenn du das 
Board hast, kannst du ja mal mit kleineren Sachen anfangen. Z.b. ne LED 
dimmen (per PWM), danach mehrere LEDs dimmen, die per FET/Transistor 
getrieben werden. Und dann immer weiter.

von ich (Gast)


Lesenswert?

0xUnbenannt schrieb:
> http://www.siko.de/produkte/rotoline/optische-dreh...
> Leider steht kein Preis dabei. Ich werde da also wahrscheinlich mal
> anfragen müssen.

Da gibt es 2 Ausführungen. PP und OC. PP ist wohl mit 4 Kabeln. Ub, 
Masse, A und B. Da hast du dann definierte zustände. OC heißt Open 
Collector (bei einem NPN-Transistor), also wird der Kanal A bzw. B zu 
Masse geschaltet. Deswegen steht im Datenblatt auch V_Low = 0,2V und 
V_High = ** = Schaltungsabhängig. Also müsstest du da ein 
Pull-Up-Widerstand haben, der das auf High zieht, wenn der Transistor 
die Leitung nicht auf Masse zieht.

Aber ich würde ernsthaft langsamer ran gehen. Mit PWM eine LED dimmen, 
mit PWM über Transistor mehrere LEDs dimmen und danach über einen 
Drehimpulsgeber (wie die endlos-Lautstärkeregler an ner Stereoanlage) 
für 1,50€ bei Reichelt die Helligkeit der LEDs einstellen. Dann hast du 
schon die halbe Miete von deinem Projekt. Dann ein bisschen was über 
Motoren etc. lesen und du kannst besser, erfolgreicher und glücklicher 
dein Projekt starten.

von 0xUnbenannt (Gast)


Lesenswert?

Ich habe gerade bemerkt, dass das 2 unterschiedliche Links waren, wobei 
ich beim ersten mit den 90° schon verwundert war, weil ich so etwas 
ungenaues nicht vermutet hatte. (das war hier: 
http://www.globalencoder.com/xist4c/web/Inkrementalgeber-Hohlwelle_id_1634_.htm 
)

Zum Treiber: Du schreibst FET, also doch ein Transistor. Willst du 
jetzt, dass ich einen Transistor benutze, oder einen Treiber, oder sind 
auf einem Treiber Transistoren drauf oder ist das das gleiche? (mal dumm 
gefragt)

Zum Ausreden: 1. ist das jetzt schon zu spät und 2. habe ich auch schon 
mal ein Programm mit UART-Verarbeitung geschrieben. Meine Probleme 
liegen vermutlich eher in der Elektrotechnik. (also der Praxis ;))

von ich (Gast)


Lesenswert?

0xUnbenannt schrieb:
> Du schreibst FET, also doch ein Transistor. Willst du
> jetzt, dass ich einen Transistor benutze, oder einen Treiber, oder sind
> auf einem Treiber Transistoren drauf oder ist das das gleiche?

Ein Treiber treibt etwas. Das ist eine Bezeichnung einer Funktion. In 
diesem Fall ist es ein Transistor oder FET (Feld-Effekt-Transistor). Der 
FET ist dem Transistor in (meineswissens) 
Schaltgeschwindigkeit/Steilheit überlegen, sowie braucht er einen 
kleineren Steuerstrom und er hat einen kleineren Leitwiderstand. Wenn 
bei einem normalen Transistor im Leitenden Zustand 0,2V abfallen, fallen 
beim FET vielleicht nur 0,02V ab. Kleinere Spannung heißt weniger 
Verlustleistung, also auch weniger Wärme und mehr Leistung am "Ausgang".

0xUnbenannt schrieb:
> habe ich auch schon
> mal ein Programm mit UART-Verarbeitung geschrieben. Meine Probleme
> liegen vermutlich eher in der Elektrotechnik.

Ich unterstelle dir auch nicht, dass du nicht programmieren kannst. Nur 
wenn du nicht weißt, wie man einen Motor ansteuert oder einen 
Inkemental-Geber auswertet, solltest du damit erstmal ein bisschen 
rumspielen. Die Software ist dabei meiner Meinung nach auch nicht das 
größere Problem.

Wenn du bei dem Projekt lernen willst, wie man so ein Drehgeber 
auswertet musst du ihn drehen und den Wert/Richtung/Geschwindigkeit 
visualisieren. Das willst du mit dem Motor machen, wo du auch noch nicht 
weißt, wie man den ansteuert. Um das aber zutun, musst du erstmal 
wissen, wie man eine Full-Bridge aufbaut und wie das funktioniert und 
wie du das PWM Signal aus dem µC bekommst. Und sowas alles kannst du 
besser einzeln rausbekommen, als wenn schon alles aufeinander aufbaut.

von 0xUnbenannt (Gast)


Lesenswert?

Mit dem Rumspielen hast du sicherlich Recht, ich will nur sichergehen, 
dass ich nichts Falsches kaufe, bevor ich damit herumspiele. Das 
Henne-Ei-Problem versuche ich nun hier im Forum zu lösen.

Was mir die Suche nach Bauteilen zusätzlich noch erschwert, ist, dass 
viele Firmen keine Preise dazuschreiben. Oft finde ich dann entweder 
Drehgeber ohne Preis oder Drehgeber für >100€. Da könnte ich mir dann 
auch gleich einen Schrittmotor für 20-30€ kaufen.

von blade (Gast)


Lesenswert?

hallo 0x,

du wirst definitiv falsches kaufen, aber das macht erst mal nichts. Und 
die Entscheidung Schrittmotor <> (Getriebe-) Motor mit Encoder ist eine 
Technologische, keine Finanzielle.

Beim Schrittmotor hast du die (augenscheinlich) leichte Kontrolle über 
die Gefahrene Strecke, dafür ist die Ansteurung erstmal komplexer. 
Ausserdem wird das verfügbare Drehmoment mit steigender Drehzahl rasant 
weniger (bei halbwegs seriösen Angeboten mit Datenblatt gibts im 
Datenblatt dazu ein Diagramm). Und jetzt kommen wir langsam zum Problem 
mit Schrittmotoren: Wenn das Drehmoment nicht ausreicht um einen Schritt 
zu vollziehen, dann macht der Schrittmotor eben keinen Schritt. 
Mitbekommen kann das deine Steuerung aber nicht. Um das Problem zu 
Umgehen kannst du entweder den Schrittmotor (und dessen Treiber) sehr 
grosszügig Dimensionieren was sehr leicht, sehr teuer werden kann, oder 
einen Encoder drantackern.

Beim (nicht Schritt-) Motor benötigst du so oder so eine Drehzahl- (oder 
Weg-)  Messung um eine bestimmte Strecke fahren zu können. Wenn du einen 
normalen DC motor (also einen mit Bürsten) nimmst ist die Ansteurung mit 
PWM Kinderleicht, theoretisch. Bis allerdings der Regelkreis anständig 
funktioniert, also nicht nur schneller/langsamer Fahren, sondern eine 
vorher festgelegte Strecke abgefahren werden kann wird es jedoch eine 
Weile dauern (wenn du es selbst machst). Dabei wirst du wahrscheinlich 
auch die Dimensionierung des Motors ändern müssen um deine geforderten 
Ziele an Präzision zu erreichen. Und wenn es dann mit der Präzision 
klappt wirst du wahrscheinlich noch mal umbauen müssen damit es auch mit 
der Dynamik klappt, denn im Schnecken tempo zum Ziel fahren wird 
wahrscheinlich keinen Spass machen. Daher würde ich dir raten, kauf dir 
irgendetwas, möglichst günstig, lerne die Technologie kennen, spiele 
damit solange herum bis du in der Lage bist die Anforderungen an Motor, 
Treiber und Steuer/Regel Technik festzulegen und kaufe dann das Richtige 
Zeug (am besten nicht mehr das billigste). Und dann geh noch mal 
Einkaufen um das wirklich richtige Zeug zu kaufen.

So und jezt zum Thema Encoder:

Wenn keine Preise angegeben werden ist das Zeug meist zu teuer für dich. 
Bei Encodern gibt es viele, sehr viele Varianten und Möglichkeiten, vom 
simplen Drehgeber für'n Euro wie er in Stereoanlagen verwendet wird zum 
Haidenhain Encoder für Werkzeugmaschinen, bei dessen Preis du dich 
besser setzen solltest.

Die Ganz einfache Variante mit 4/16 Pulsen pro Umdrehung und mist 
Rastung ist gut geeignet um die Dinger kennen und verstehen zu Lernen, 
und für einfache Steuerungsaufgaben (wie an der Stereoanlage). Für 
deinen finalen Verwendungszweck solltest du allerdings die Finger davon 
lassen. Denn nicht nur aufgrund der Rastung sind die Dinger nicht für 
alzu viele Zyklen geeignet und auch nur für sehr geringe Drehzahlen. Der 
mechanische Aufbau ist für Handbetrieb ausgelegt, und wird bei 
motorischer Betätigung extrem Schnell Verschleissen. Trotzdem solltest 
du dir ein paar von den Dingern kaufen, und damit rumspielen. Dann wirst 
du auch selbst sehen warum es damit nicht geht.

Was du brauchst ist ein Encoder ohne Rastung der für Motorischen antrieb 
und deine Gewünschte Drehzahl geeignet ist. Die Auflösung (also 
Impulszahl/Umdrehung) dürfte für dich nicht kritisch sein, denn mehr als 
1/8 Umdrehung wirst du wohl nicht benötigen, wobei auch hier gilt das du 
das wohl erst weisst wenn es schon zu Spät ist. Wobei du für den Anfang 
mit weniger impulsen/umdrehung besser dran bist, denn die Auswertung 
wird bei schnellen Impulsen deutlich komplizierter. Bei sehr schnellen 
Impulsfolgen wird sogar die Übertragung vom Encoder zum Controller 
kritisch. Einen Überblcik kannst du dir beispielswei bei Farnell 
verschaffen: http://de.farnell.com/inkremental ob du dann bei denen 
Einkaufst ist was anderes, aber sie haben eine grosse Auswahl, halbwegs 
alle relevanten Daten und vorallem: Preise.

Wenn du das Prinzip von den Dingern mal verstanden hast kannst du 
darüber nachdenken dir selbst einen Encoder zu bauen, denn wenn die 
Anforderungen an Auflösung und Genauigkeit nicht allzuhoch sind und die 
Mechanische eignung im Vordergrund steht ist das gar nicht mal so 
schwer. Alternativ kannst du auch eine alte Maus (mit Kugel) 
ausschlachten. Oder du baust eine Ganze maus ein, die Unabhängig vom 
Antrieb die zurückgelegte Strecke in 2 Dimensionen misst. Die Auswertung 
einer Maus und das verwurschteln ihrer Ausgabe in eine funktionierende 
Regelung ist zwar alles andere als Einfach wurde aber schon gemacht, und 
es findet sich bei den Roboterbastlern garantiert jede Menge Material 
dazu.

OMG* Das war jetzt aber ein Roman. Ich hoffe ich habe zumindest nicht 
total am Ziel vorbei geschrieben und nicht zuviel Mist verzapft.

-blade

von 0xUnbenannt (Gast)


Lesenswert?

Nein, das war doch super!

Das billigste, was eine einigermaßen hohe Lebenszahl und mehr als 120 
rpm hatte, war jedoch ein optischer Sensor (das Rad mit den schwarzen 
Streifen braucht man soweit ich das sehe noch extra) für 26€:
http://de.farnell.com/avago-technologies/heds-9730-a50/encoder-rotary-500ppr-2ch/dp/1654865

Wie gesagt, ein Schrittmotor müsste sich ja nicht so schnell drehen und 
kostet auch nicht so viel (wobei da die Auswahl auch gering ist).

Notfalls ginge natürlich auch ein relativ stabil laufender 
Getriebemotor, bei dem man die Wegstrecke einfach nach der Zeit 
ausrechnet, aber wie gesagt, ist das IMHO nicht die beste Lösung.

von Harald Wilhelms (Gast)


Lesenswert?

0xUnbenannt schrieb:

> Das billigste, was eine einigermaßen hohe Lebenszahl und mehr als 120
> rpm hatte, war jedoch ein optischer Sensor (das Rad mit den schwarzen
> Streifen braucht man soweit ich das sehe noch extra) für 26€:

Nimm doch ne alte Computermaus. Da sind zwei komplette Inkremental-
Geber drin. Die must Du nur noch mechanisch ankoppeln.
Gruss
Harald

von Karl H. (kbuchegg)


Lesenswert?

0xUnbenannt schrieb:

> Notfalls ginge natürlich auch ein relativ stabil laufender
> Getriebemotor, bei dem man die Wegstrecke einfach nach der Zeit
> ausrechnet, aber wie gesagt, ist das IMHO nicht die beste Lösung.

Das ist noch schlechter als selbst der grindigste Encoder. Mit einem 
Encoder kannst du wenigstens überwachen, ob sich die Räder drehen und 
prinzipiell identische Umdrehungszahlen für rechts und links erreichen. 
Da macht dir dann nur noch der Schlupf einen Strich durch die Rechnung. 
Ohne irgendeine Rückmeldung wird dein Robot nie auch nur einigermassen 
geradeaus fahren.

Ich würde benfalls dazu tendieren, was blade vorschlägt.
Nur schlage ich in eine andere Kerbe:
Ich würde dir einen Asuro oder einen NiboBee ans Herz legen. Das sind 
fertige Roboter (zum Selbstbau). Bei denen kannst du dir schon mal 
ansehen, wie da gewisse Dinge gelöst werden (zb die Encoder) und mit 
denen kannst du auch schon mal experimentieren was deine 
Wegstreckenmessung anbelangt und du kriegst einen Eindruck, wo hier die 
Probleme liegen. Dieses Wissen wird dir dann enorm weiter helfen, wenn 
es darum geht, deine richtige Plattform aufzubauen.
Und das alles für relativ wenig Geld

von 0xUnbenannt (Gast)


Lesenswert?

Wenn das Auto 4 Räder hat, die nicht seitlich verstellt sind, und nur 
einen Motor mit Getriebe sollte das Geradeausfahren doch kein Problem 
darstellen, oder?

Ob ich extra deswegen einen Roboter anschaffe, wage ich zu bezweifeln. 
Leider habe ich jetzt auf die Schnelle keine genauen Bauteile bei den 
Robotern gefunden, aber es stand dabei, dass Lichtschranken und Löcher 
in den Zahnrädern genutzt werden. Vielleicht kann ich damit ja etwas 
anfangen.

von Karl H. (kbuchegg)


Lesenswert?

0xUnbenannt schrieb:
> Wenn das Auto 4 Räder hat, die nicht seitlich verstellt sind, und nur
> einen Motor mit Getriebe sollte das Geradeausfahren doch kein Problem
> darstellen, oder?

OK.
Von 4 Rädern war ja bisher noch nicht die Rede.
Aber selbst dann wird exaktes geradeausfahren eher selten vorkommen. 
Oder hast du einen exakt eben ausgerichteten, absolut gleichmässigen 
Untergrund?


> Robotern gefunden, aber es stand dabei, dass Lichtschranken und Löcher
> in den Zahnrädern genutzt werden.

Genau.
Im übrigen: Wenn du mit Elekronik nicht so fit bist, dann solltest du 
fertige Komponenten nehmen. Jeder Modellbauladen verkauft dir einen 
Auto-tauglichen Motor und dazu einen Motorregler, der sich um die 
Ansteuerung des Motors kümmert.
Sowohl Motorregler als auch Servo werden vom µC aus komplett gleich 
angesteuert. Ist auch kein Wunder, denn in normalen ferngesteuerten 
Autos werden beide Komponenten auch einfach an den 
Fernsteuerungsempfänger angesteckt, also gleich behandelt. Diese Teile 
sind dann auch noch aufeinander abgestimmt.

von Harald Wilhelms (Gast)


Lesenswert?

0xUnbenannt schrieb:

> Wenn das Auto 4 Räder hat, die nicht seitlich verstellt sind, und nur
> einen Motor mit Getriebe sollte das Geradeausfahren doch kein Problem
> darstellen, oder?

Dann versuch mal, mit einem normalen Auto genau geradeaus zu fahren,
ohne das Lenkrad zu bewegen.
Gruss
Harald

von 0xUnbenannt (Gast)


Lesenswert?

Karl Heinz Buchegger schrieb:
> 0xUnbenannt schrieb:
>> Wenn das Auto 4 Räder hat, die nicht seitlich verstellt sind, und nur
>> einen Motor mit Getriebe sollte das Geradeausfahren doch kein Problem
>> darstellen, oder?
>
> OK.
> Von 4 Rädern war ja bisher noch nicht die Rede.
> Aber selbst dann wird exaktes geradeausfahren eher selten vorkommen.
> Oder hast du einen exakt eben ausgerichteten, absolut gleichmässigen
> Untergrund?
>

Naja, ganz exakt wirds wohl nicht sein, aber ich gehe jetzt von einem 
Hausboden aus.

>
>> Robotern gefunden, aber es stand dabei, dass Lichtschranken und Löcher
>> in den Zahnrädern genutzt werden.
>
> Genau.
> Im übrigen: Wenn du mit Elekronik nicht so fit bist, dann solltest du
> fertige Komponenten nehmen. Jeder Modellbauladen verkauft dir einen
> Auto-tauglichen Motor und dazu einen Motorregler, der sich um die
> Ansteuerung des Motors kümmert.
> Sowohl Motorregler als auch Servo werden vom µC aus komplett gleich
> angesteuert. Ist auch kein Wunder, denn in normalen ferngesteuerten
> Autos werden beide Komponenten auch einfach an den
> Fernsteuerungsempfänger angesteckt, also gleich behandelt. Diese Teile
> sind dann auch noch aufeinander abgestimmt.

Was meinst du jetzt mit dem Regler? Ich dachte, den Motor kann man 
einfach über PWM regeln? Ich bräuchte eher einen Encoder.

Harald Wilhelms schrieb:
> 0xUnbenannt schrieb:
>
>> Wenn das Auto 4 Räder hat, die nicht seitlich verstellt sind, und nur
>> einen Motor mit Getriebe sollte das Geradeausfahren doch kein Problem
>> darstellen, oder?
>
> Dann versuch mal, mit einem normalen Auto genau geradeaus zu fahren,
> ohne das Lenkrad zu bewegen.
> Gruss
> Harald

Das Modellauto soll gar keine Lenkung haben. Geht es dann?

von 0xUnbenannt (Gast)


Lesenswert?

Vielleicht könnte man den Umdrehungszähler auch selbst bauen:
Man bräuchte ja im Prinzip nur ein Rad, eine Mini-Lichtschranke wie 
hier:
http://www.christian-luetgens.de/eisenbahn/elektronik/ls1/Lichtschranke_1.htm
(nur ohne Relais) und eine Befestigung.

von G a s t (Gast)


Lesenswert?

0xUnbenannt schrieb:
>
> Was meinst du jetzt mit dem Regler? Ich dachte, den Motor kann man
> einfach über PWM regeln? Ich bräuchte eher einen Encoder.

Mit 'ner PWM kannst du deinen Motor nur steuern. Eine Regelung wird erst 
daraus, wenn du mit deinem Drehgeber z.B. die tatsächliche 
Geschwindigkeit bestimmts, mit der Sollgeschwindigkeit vergleichst und 
mit der Abweichung deine PWM kontrollierst.

Deine Encoder kannst du mit zwei Photodioden, einer Leuchtdiode und 
einem ausgedruckten kreisförmigen Hell-Dunkel Muster aufbauen, kostet 
ein paar Cent. Da lernt man am meisten dran.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.