PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mehrere Varianten um Motor anzusteuern???



Da_Vinci13
19.01.2009, 20:12
Hallo zusammen!
Ich hab jetzt mal über ansteuerung für Motore befasst.
Ich habe irgendwie verschiedene Varianten gefunden wie man einen Motor ansteuern könnte aber ich weiss nicht ganz ob man die alle miteinanderer verknüpfen muss:
-mit Encoder (Drehgeber)
-mit RN-Conrtol

Könnte man einen Motor ansteuern nur mit einem STK200?
Ich schätze mal man bräuchte ein Drehgeber...
Ich hab jetzt gehört, dass es nur sehr selten Motore mit eingebauten Drehgebern gibt. Kann man sonst einen seperaten Drehgeber kaufen und an den Motor anschliessen?
Vielleicht kann noch mal jemand sagen, was es jetzt genau braucht für das Ansteurn zweier Motoren (Am besten die einfachstre Variante!)

Grüsse!

Willa
20.01.2009, 08:02
Hallo!
Ich bin mir nicht ganz sicher ob du evtl. etwas falsch verstanden hast...m Ein Drehgeber gibt dem Motor keine Drehung, er misst wie weit sich ein Motor gedreht hat. Um einen Motor zu betreiben ist der also erstmal völlig unnötig.
Du brauchst einen Motortreiber, den kannst du dann mit jedem Mikrocontroller ansteuern. Erst wenn du den Motor regeln willst wird ein Drehgeber interessant. Diesen kannst du dir aber auch selber basteln aus einer Gabellichtschranke und einer "geschlitzten Scheibe".

Die einfachste Variante einen Motor anzusteuern ist es einen Modellbauregler zu verwenden, zusammen mit dem "Servo" Befehl von Bascom und einem Atmega. Das ist allerdings nicht elegant. Schöner ist ein Motortreiber wie der L293 mit einer selbst programmierten PWM Routine.

Da_Vinci13
20.01.2009, 08:46
Hi,
Danke für die Antwort!
Ich weiss schon, dass der Drehgeber nicht dafür da ist, dass der Motor läuft sondern der zählt doch wie viel mal der Motor sich dreht..
Mein Ziel wäre es, dass ich einstellen kann wie schnell die beiden Motoren drehen können und in welche Richtung....
Ich versteh nicht ganz den Unterschied zwischen "regeln" und "ansteuern". reicht es schon wenn ich meinen Motor nur ansteuern kann für die Geschwindigkeit und Drehrichtung? Und welcher Motor wann drehen soll? Beim Asuro kann man das so einstellen:
DirMotor (FWD, FWD)
SpeedMotor (255,255)
Dann würde der Motor volle Kraft voraus fahren...
Mein Ziel wäre es eigentlich diese zwei Funktionen vom Asuro zu haben...

Könnte ich das mit einem Modelbauregler verwirklichen? Da es mein erster Roboter ist, muss er auch nicht elegant sein.. ;) Eher billig...
Wenn ich dann einen zweiten baue, werde ich ihn warscheinlich mit einem RN-Controllerboard bauen...

Vielleicht hab ich jetzt mein Problem einbisschen genauer geschildert...

Grüsse!

GeoBot
20.01.2009, 09:44
"Ich versteh nicht ganz den Unterschied zwischen "regeln" und "ansteuern"."

Ansteuern : Man sagt dem Motor wie schnell er drehen soll.
Ob der Motor das auch tut, wird nicht betrachtet.

Regeln : Man sagt dem Regler wie schnell der Motor drehen soll.
Der Regler schaut wie schnell der Motor wirklich ist. Und
steuert dann den Motor so an, daß die Drehzahldifferenz
minimal wird.

Willa
20.01.2009, 09:45
Hi,
ok, das Problem in einem Forum ist immer, dass ich man weiss wieviel Erfahrung der Fragesteller schon hat im Roboterbau. Könnte ja auch sein dass du noch nie einen Elektromotor in den Händen gehalten hast...
"Regeln" und "Stellen" kann man für deine Anwendung so definieren:
Stellen heisst: Du legst an den Motor eine variable Spannung an. Wie schnell der Motor dreht hängt aber nicht nur von der Spannung ab sondern auch davon wie stark der Motor belastet wird.
Regeln heisst: Man legt eine Spannung an und kontrolliert wie schnell sich der Motor dreht. Dreht er zu langsam wird die Spannung erhöht und umgekehrt.
In deinem Fall wäre eine Regelung gar nicht schlecht. Die brauchst du z.B. wenn du geradeaus fahren willst. Falls du nur Modellbauregler (diese müssten eigentlich "Modellbausteller" heißen) verwendest werden die Motoren niemals exakt gleich schnell drehen.
Mit Modellbauregler kannst du die Geschwindigkeit auch in ca. 255 Schritten vorgeben. Willst du in C programmieren? Ich weiss nicht wie kompliziert es in C ist ein Servo (=Modellbauregler) anzusteuern.

i_make_it
20.01.2009, 10:22
Motor ansteuern = Steuerkette.
Motor regeln = Regelkreis.

Eine Steuerkette hat ein Anfang und ein Ende.
Ein Regelkreis hat eine Rückmeldung was tatsächlich passiert und passt die Stellgröße entsprechend an.

Beispiel:
Gas geben beim Auto ohne auf den Tacho zu sehen ist eine Steuerkette.
Du gibst Gas um auf 50 km/h zu kommen, betätigst das Pedal also zu einem gewissen Anteil.
Auf ebener Strecke kommst du auf 50 Sachen und schaust dann nicht mehr auf den Tacho, dann kommt eine Steigung und ein Gefälle.
An der Steigung wirst Du langsamer am Gefälle schneller.
In allen drei Situationen hat das Gaspedal aber die Selbe Stellung. Das ist eine Steuerkette.

Schaust du aber immer wieder auf den Tacho und gibst mal mehr und mal weniger Gas so das du immer 50km/h fährst hast du eine Regelung.
Und wenn du dauernd abwechselnd Vollgas und gar kein Gas gibst und die Zeiten von Gas/kein Gas so veränderst das du so um die 50 km/h fährst, hast du ein PWM mit Regelung.

Hoffe anhand des Beispiels ist der Unterschied verständlich.

Da_Vinci13
20.01.2009, 16:21
Hi alle!
Danke für die Antworten und Beispielen! Jetzt weiss ich was regeln und ansteuern ist!
Dann entscheid ich mich jetzt mal für das Regeln! Ich hab mir gedacht, dass ich vielleicht doch ein RN-Controlerboard verwenden will... dort sieht alles ziemlich einfach aus... also einfacher als sonst...
Kann man auf mit dem Board regeln? Wenn ich alles richtig gelesen habe schon, da es einen Treiber hat... und wenn ich alles richtig gelesen habe, dann kann man glaubich einfach die Motoren richtig anschliessen und "Thats it"?
Wäre natürlich super für den Anfang...
Würdet ihr mir das empfehlen für meine Zwecke?
Danke nochmal für die ausführlichen Antworten!

Grüsse!

Willa
21.01.2009, 07:30
Hi!
Ich glaube du hast dich grad schon wieder etwas unglücklich ausgedrückt.... Das Board hat einen Motortreiber drauf, damit kannst du zwei Motoren anSTEUERN. Das geht in BASCOM ganz einfach z.B. mit dem Befehl
Pwm1a = 0-255
Regeln kannst du nur wenn du die Drehzahl des Motors erfasst und diesen Sensor ans RN-Control anschließt und eine entsprechende Software dafür schreibst. Meiner Meinung nach ist die Software der komplizierteste Teil der Geschichte.

oberallgeier
21.01.2009, 09:16
Hallo Ihr,

... Meiner Meinung nach ist die Software der komplizierteste Teil der Geschichte ...Im Wiki-Regelung (https://www.roboternetz.de/wissen/index.php/Regelungstechnik) ist die Softwareseite von waste sehr gut erklärt worden. Dort gibt es auch ein Beispiel mit Code (https://www.roboternetz.de/wissen/index.php/Regelungstechnik#Beispiel:_Drehzahlregelung) in C für die digitale Drehzahlregelung eines Gleichstrommotors. Allerdings kommt dann etwas dazu.

Um "den Regler" sauber einstellen zu können, müssen die Regelungsparameter bestimmt werden. Dazu hatte ich mit meinen komplett aufgebauten (http://www.youtube.com/watch?v=sRNSIBpK8sQ) Dottie (R2D03) die Sprungantwort für die einzelnen Motoren aufgenommen (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=389526#389526) und daraus, sowie aus der Verzögerungszeit (durch die Drehzahlmessung und die Regelfrequenz) die Einstellparameter bestimmt. Um die Rechenzeit kurz zu halten, habe ich meine Regelungsroutine (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=412828#412828) nicht FP sondern "nur" integer gerechnet. Dabei musste ich die Parameter etwas anpassen. Das Ergebnis ist ein sehr guter Gleichlauf (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=388981#388981) der beiden, doch recht unterschiedlichen Motoren - einer hat eine Zeitkonstante von 8 ms, der andere hat 12 ms (nochmal: im kompletten Dottie!).

Alles zusammen:

... RN-Controlerboard verwenden ... dort sieht alles ziemlich einfach ... einfacher als sonst ...Am RNControl ist die Hardware gut aufgeräumt. Aber der Controller läuft - wenn er nicht nur als Heizung funktionieren soll - nur mit Software. Die Regelung ist abgesehen von der Sensorik für die Drehzahlmessung reine Software. Und, natürlich hat Willa recht: da liegt der Hase im Pfeffer.

Da_Vinci13
21.01.2009, 16:45
Hi, danke für die Antworten!
Ich glaube ich kauf mir erstmal noch keinen Drehgeber... ich probiers zuerst einmal nur mit dem ansteuern...
Oben hast du zwar gesagt, dass man mit ansteuern nicht gerade aus fahren kann, aber wenn man immer den selben Untergrund hat, sollte das eigentlich schon gehen.... denn dann ändert sich die Belastung des Motors nicht gross.... ich hab zwei genau gleiche Motore...
Hat der Asuro eigentlich einen Drehgeber?

Ansonsten wenn das dann so nicht geht, kauf ich mir dann halt einen Drehgeber...

Ich programmiere in C, also ich bins so am lernen... ;)

Grüsse!

oberallgeier
21.01.2009, 17:10
Hallo Da_Vinci13,


... ich probiers zuerst einmal nur mit dem ansteuern ...So würde ich das auch machen. Du musst dafür nicht unbedingt den Encoder/Drehgeber sein lassen - Du könntest ihn Dir dazubauen und seine Funktion testen - und irgendwann softwaremässig einbinden. So hatte ich das gemacht - und es ging gut. Der asuro hat zwei Drehzahlmesser - für jedes Rad, bzw. für jeden Antriebsstrang, einen.

Ich habe auch zwei genau gleiche Motore - das ist ähnlich wie zwei genau gleiche Autos - eins vom Montag, eins von unter der Woche: eins hat das nachsehen, sprich, die Parameter sind deutlich unterschiedlich und Du merkst es kaum, ausser beim Messen oder im direkten Vergleich.

Trotz allem: viel Erfolg und schreib mal, wie´s vorangeht

Da_Vinci13
21.01.2009, 17:28
Hi,
Hat der Asuro diese direkt in die Motore eingebaut? Oder ist das ein zusätzliches Teil? Vielleicht kann ich auch mit einstellbaren Widerständen probieren um die Motore im gleichen Tempo laufenzulassen...

Momentan gehts ziemlich gut voran, hab zwar mit dem Bau noch nicht begonnen (Muss warscheinlich noch höchstens zwei Wochen warten, da ich mir noch das RN-Control bestellen muss...
Aber ich hab auch noch einpaar Schaltungen aufgebaut unteranderem auch eine, mit welcher ich später warscheinlich einmal mit dem Roboter einer Linie folgen kann...
Programmieren bin ich fleissig am lernen...
Und ich muss mir noch eine Platte worauf ich den Roboter bauen kann kaufen und 4 Schienen um das RN Controllerboard zu befestiegen...
Dann hab ich noch eine weitere Schaltung auf einem Steckbrett gekauft welche ich noch auf eine Platine löten muss...

Grüsse!

oberallgeier
21.01.2009, 17:35
Hi Da_Vinci13,

über den asuro gibt es ZAHLLOSE Beschreibungen. Vielleicht liest Du Dir mal die Bedienungsanleitung (gibts hier) (http://www.arexx.com/downloads/asuro/asuro_manual_de.pdf) für das Teil durch - die gibts online - dort ist alles ausführlich erklärt und muss hier nicht wiederholt werden. Kurz: Ja, der asuro hat das eingebaut. Und vielleicht schaust Du auch nach den Diskussionen um die Drehgeber. Man kann die Suchfunktion auch mal richtig quälen *ggggg*.


... ich hab auch noch einpaar Schaltungen aufgebaut ...Übung kann nie schaden - ausser sie ist nicht da.

Viel Erfolg

Da_Vinci13
22.01.2009, 16:20
Cool!
Ich hab zwei Asuro Motoren!

Noch eine Frage zum rechts und links drehen eines Motors:
Ich hab jetzt ziemlich viel im Internet rechechiert und auch die Suchfunktion gequält, aber nicht gefunden... Man müsste ja eigentlich GND mit Vcc vertauschen... Also irgendwie die Spannung der Ports ändern...
Und jetzt wollte ich fragen ob das überhaupt geht oder ob man sich da einer anderen Lösung hingeben müsste?

Noch mal zu den Asuro Motoren:
bedeutet das, dass ich jetzt doch Regeln kann? *grosse Augen mach*

Grüsse!

Willa
22.01.2009, 16:34
Ja, der asuro hat das eingebaut

Cool!
Ich hab zwei Asuro Motoren!
Oberallgeier meinte dass der Encode im Asuro eingebaut ist, nicht aber in den Motoren. Der Encode ist eine schwarz-weiße Scheibe an der zweiten Getriebestufe, die mit einer Diode vermessen wird.

Man müsste ja eigentlich GND mit Vcc vertauschen... Also irgendwie die Spannung der Ports ändern...
Wenn du das RN-Control nimmst ist da ja ein Motortreiber drauf der das umpolen der Motoren für dich übernimmt wenn du ihm den Befehl dafür gibst.

bedeutet das, dass ich jetzt doch Regeln kann? *grosse Augen mach*
Nein das bedeutet es leider nicht solange du dir nicht selber den Encoder baust und die Software dafür programmierst.

Da_Vinci13
22.01.2009, 16:38
OK...
Dann probier ich den mal zu bauen...
Ich schätze mal dafür bräuchte ich solche Schwarzweisen Scheiben und Fotodioden... welche dann den Puls "zählen"... das ist warscheinlich nicht so schwer um das aufzutreiben...

Danke für die schnelle Antworten!

Grüsse!