PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fragen zur Steuerung des Faulhaber-Motors



wlan
09.08.2005, 15:25
Hallo allerseits,

ich habe für meinen Roboter 3 Faulhaber MCBL 3603 Brushless DC-Servomotors und 3 entsprechende Motion-Controller-Karten gekauft.

Ich möchte nun eine Steuerungssystem entwickeln. Kann jemand mir Tipps geben, wie ich die abgetasteten Daten (z.B. alle 10ms) an die Motoren schicken soll? Ich möchte in VC++ programmieren. Die Motoren reagieren jetzt einfach so langsam dass ich den Roboter überhaupt nicht in Echtzeit steuern kann...

Ich bin Newbie im Bereich Robotik und bitte um eure Hilfe!

Für die Antwort und Tipps danke ich euch ganz herzlich!

bad-joker
04.09.2005, 13:09
Hai
Also das hängt sicher davon ab was du mit deinem Roboter machen möchtest, aber wenn du nur alle 10ms neue Werte bekommst dann ist das schon recht wenig. Ich habe meine Regelungen immer versucht mit 1Khz zu betreiben, weil sonst alles instabiel werden kann.
Überlege dir aber zuerst was du machen willst, weil manchmal braucht man gar keine schnelle (und somit teure) Regelung (z.B, bei Temperatur).
Grüsse
Thomas

Volly42
04.09.2005, 20:38
Hallo,

wenn ich dies richtig verstehe hast Du drei Kontroller von Faulhaber (welche wären noch interessant), die möchtest über eine Softwarebibliothek von einem Windows-PC aus ansteuern.

Die Sache hat schon mehrere Hacken:
1. Du müßtest prüfen, wie schnell Deine Kontroller überhaupt Befehle annehmen, dies ist meist über die Taktrate deklariert, wenn Du Pech hast benötigt der Kontroller noch mehrere Takte für manche Befehle.
2. Du arbeitest mit Windows, was kein Echtzeitsystem ist. Selbst wenn Du in einer ununterbrochenen Schleife arbeitest, hat der PC keine Zeit mehr, etwas anderes zu machen.

Was kann man also tun:
1. Überprüfe mit VC++ erst mal wie lange ein Befehl brauch: Einfach 1000 mal durchlaufen lassen und mit GetTickCount die Zeit messen. Ist zwar nur auf 16ms genau, sollte aber für 1000 oder mehr Durchläufe schon gute Ergebnisse bringen. Damit weißt Du schon mal wie lange es über den PC bis zum Kontroller brauch.
2. Reaktionszeiten von 10ms sind schon enorm, prüfe mal, ob Du dies überhaupt brauchst, gibt es keine alternative für Dein uns unbekanntes Problem. Kein Motor bzw. Mechnik wird innerhalb von 10ms vollständig reagieren können.
3. Manche Kontroller haben Speichermöglichkeiten, darin kannst Du Daten oder gar Befehlsequenzen ablegen.
4. Detailiiere Dein Problem (welcher Kontroller?, welche Aufgabe?)
5. Wenn gar nichts mehr hilft muß das Problem mit zusätzlicher schneller Hardware gelöst werden.

Gruss
Volly