Hallo, ich habe mir so einen Bastelroboterarm zugelegt. Ich will versuchen den mit Arduino und einem Open Source Programm zum laufen zu bringen. Ich will die Gleichstromservos weiterbenutzen und wenn möglich die Positionserfassung. Kennt jemand eine Möglichkeit die Resolversignale in Inkrementalsignale umzuwandeln? Ich hoffe das ist das richtige Unterforum. Hier eine Beschreibung der Resolver. MfG Hans
Mit leistungsfähigen CPUs könnte man das in der der CPU erledigen, ist aber nicht ganz ohne. AnalogDevices (andere wahrscheinlich auch, von AD weiss ich es zufällig) hat einige Chips, die dir diese Arbeit abnehmen können, ADS1210 z.B.
Hans L. schrieb: > Kennt jemand eine Möglichkeit die Resolversignale in Inkrementalsignale > umzuwandeln? Ein Mikrocontroller mit Capture-Unit kann das Resolversignal auch direkt auswerten, wenn man das Prinzip umdreht. Also Sinus- und Cosinussignal (d, d) erzeugen und an die eigentlichen Ausgänge des Resolvers anlegen. An der Erregerwicklung kann dann ein zu den Erregersignalen phasenverschobenes Signal abgegriffen werden, dessen Phasenlage vom Rotorwinkel des Resolvers abhängt. Wenn die entsprechende Anzahl Capture-Kanäle vorhanden sind, können so auch ganz einfach mehrere Resolver ausgewertet werden. Grüßle, Volker
Hallo Volker, danke für deine Antwort, habe es leider nicht so richtig verstanden. Gibt es irgendwo eine Art Application Note? Gibt es Arduinos mit einer Capture Unit? MfG Hans
Hans L. schrieb: > Hier eine Beschreibung der Resolver. So, wie ich es lese, sind die Signale nur bei Drehung der Achsen vorhanden. Sollten die Phasen A und B auch in Ruhe sinnvolle Signale ausgeben, kann sie ein kleiner µC (ATmega48) auswerten. Beispiel: http://mino-elektronik.de/mt12_iic/mt12_iic.htm
Hans L. schrieb: > danke für deine Antwort, habe es leider nicht so richtig verstanden. > Gibt es irgendwo eine Art Application Note? Die Idee stammt aus dem Buch "Digitale Regelung elektrischer Antriebe" von Rolf Schönfeld (vermutlich die 2. Auflage, denn in der 1., die ich zwischenzeitlich antiquarisch erworben habe, finde ich es nicht). Etwas ausführlicher habe ich das Prinzip auf meiner Homepage beschrieben: http://www.dr-bosch.com/elektronik_resolverauswertung.php Da gibt's auch den Schaltplan meiner Implementierung auf einem AT90USB162. > Gibt es Arduinos mit einer Capture Unit? Vermutlich. Guck' doch einfach mal ins Datenblatt des auf dem jeweiligen Board verbauten Controllers. Grüßle Volker
Hallo Volker, deine Konverterschaltung hat kein Inkrementalsignal A + B als Ausgang? Ist deine Positionsausgabe absolut? Kann man so einen Konverter kaufen? MfG Hans
Hans L. schrieb: > deine Konverterschaltung hat kein Inkrementalsignal A + B als Ausgang? Nö, wofür auch? Was mich interessiert, ist die absolute Lage der Resolverwelle. Wieso soll ich diese wieder in ein Signal konvertieren. > Ist deine Positionsausgabe absolut? Der Controller stellt am USB ein CDC-Device dar und gibt dem Host via simulierter RS232 auf Anfrage die absolute Lage zurück. > Kann man so einen Konverter kaufen? Nicht dass ich wüsste, aber das macht m.E. auch keinen Sinn für Deine Anwendung, da Du vermutlich keinen USB-Host implementieren magst. Der Resourcenbedarf der beschriebenen Auswertung ist so gering, dass die m.E. problemlos neben einer Robotersteuerung auf dem selben Controller implementiert werden kann. Wenn Du den von Dir angegeben Text selber lesen und mit meiner Beschreibung vergleichen würdest, könntest Du feststellen, dass beide Systeme nach dem gleichen Prinzip arbeiten. Du musst Dir also nur überlegen, wie Du eine Phasenverschiebung zweier 2-kHz-"Sinüsse" messen kannst. Oder gehört die in Deinem Text erwähnte "Funktionseinheit Steuerkreis" nicht zu Deinem Roboterarm? Hellsehen ist leider nicht meine Kernkompetenz :-( Grüßle Volker
:
Bearbeitet durch User
Hallo, der Roboterarm ist ohne Steuerung. Er hat DC-Servos und ich wollte versuchen ihn mit Selbstbauservoverstärkern z. B. UHUs und einem Arduinocontroller mit OpenSource aus Github zum laufen zu bringen. Die UHUs brauchen ein Inkrementalsignal, deshalb der Konverter. Der Arm ist zum Basteln, wenn es überhaupt nicht funktioniert wird er wohl auf dem Schrott enden. Von Mechanik habe ich etwas Ahnung, von Software sehr wenig. Hans
Volker B. schrieb: > Der > Resourcenbedarf der beschriebenen Auswertung ist so gering, dass die > m.E. problemlos neben einer Robotersteuerung auf dem selben Controller > implementiert werden kann. Sehe ich auch so. Die Auswertung für zwei Resolver auf einem Atmega328p brauchte bei mir etwa 500 Zyklen, bei dem von mir eingesetzten 14,7456 MHz Quarz waren das etwa 35 us. Die meiste Zeit ging hierbei für die Umrechnung der Messwerte für die Anzeige drauf. Da man aber auch für die Berechnung der Winkel aus den Messwerten ca. eine Periode der Trägerfrequenz Zeit hat muss diese Berechnung nicht mal Interrupt-Blockierend sein, sprich man kann während einer Berechnung der Winkel noch ganz viel andere Sachen machen bzw. auf ganz viele andere Dinge reagieren. Ich hatte z.B. bei den zwei Resolver, bei denen die Quadratursignale mit 400 Hz eingespeist wurden, 2.5 ms Zeit, das ist schon eine halbe Ewigkeit für einen Mikrocontroller.
Hans L. schrieb: > Von Mechanik habe ich etwas Ahnung, von Software sehr > wenig. Hallo Hans, dann würde ich Dir raten, die Resolver durch Inkrementalgeber zu ersetzen, bzw. zu ergänzen. Alles andere ist vermutlich für Dich nicht durchführbar und "schlüsselfertige" bzw. "idiotensicherere" Nachbaulösungen für diese Anwendung sind mir nicht bekannt, da sie wenig Sinn machen. Welcher normale Mensch will einen absoluten Lagegeber mit einem inkrementellen Ausgangssignal versehen? Mit etwas mechanischem Geschick kannst Du beispielsweise die Geber aus einer alten Rollkugelmaus verbasteln. Das führt bei Deinen Vorkenntissen m.E. schneller zum Erfolg, als eine Resolverauswertung selber zu programmieren. Grüßle, Volker
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.