Hallo Freunde ich habe eine Frage. Und zwar habe ich einen Servomotor, welcher Anschlüsse für einen Resolver hat. Nur aus Spass möchte ich meine zwangsweisen Coronavirus-Ferien nutzen um eine Ansteuerung für den Servomotor zu bauen, da sowas schon lange auf meiner Todo-Liste steht. Allerdings wollte ich nicht einen Resolver nutzen, da ich weiss dass dessen Auswertung sehr komplex ist. Mit einem normalen Drehgeber wäre es viel einfacher! jetzt frage ich mich, wäre es wohl möglich, die Signale des Resolvers irgendwie so umzuformen, dass ich daraus die "normalen" A und B Signale gewinnen kann, wie bei einem normalen Geber? der STM32, den ich dazu nutzen möchte, kann die SVPWM Signale generieren, um den Motor anzusteuern, und normale Drehgeber-Signale kann er auch auswerten, aber leider keinen Resolver.
Geber schrieb: > (...) die Signale > des Resolvers irgendwie so umzuformen, dass ich daraus die "normalen" A > und B Signale gewinnen kann, wie bei einem normalen Geber? Der PGA411 von TI kann einen Resolver auswerten und einen Inkrementalgeber (A, B, Idx) emulieren. Da er auch das Erregersignal des Resolvers erzeugt, werden prinzipiell keine weiteren Komponenten benötigt, außer einer MCU, die ihn parametriert. Die Parametrierung des ICs ist aber nicht so ganz trivial. Grüßle Volker
Geber schrieb: > dass ich daraus die "normalen" A > und B Signale gewinnen kann, wie bei einem normalen Geber? Im Gegensatz zu einem Resolver gibt ein Drehgeber inkrementale Impulse aus, m.a.W. man muss den Zähler "nullen", bevor man damit was anfangen kann, z.B. an einem Endschalter. Georg
Nimm den Resolver. So schwer ist das auch nicht. 1) Erzeug den Träger mit einem Timer/PWM des uC (50/50). Rechteck mit Endstufe reicht. Du musst Mal schauen was der Resolver haben möchte. Oft sind es so 7-8kHz mit 5-10V. 2) Dann noch die Abtastung mittig zur PWM und du bist so ziemlich fertig. Funktioniert für deine Anforderungen komplett in der HW eines uC. Wenn du die G-Serie des STM hast sogar bis zum Winkel dank Cordic. Wenn dann noch dein Resolver und der Motor die gleiche Polpaarzahl hat kannst du sogar nur mechanisch Kommutieren und du brauchst nicht zwingend bei jedem Powercycle neu einmessen.
Beitrag #6219580 wurde vom Autor gelöscht.
Hallo Freunde vielen Dank für euer Feedback. Ich habe noch einen anderen Motor auftreiben können, der einen inkrementellen Geber drin hat. Aber dieser hat anscheinend auch ein spezielles Interface, anstatt A und B hat er TX/RX und TX*/RX*. Also offenbar eine art digitales bidirektionales Interface. Kann man damit was anfangen? Datenblatt ist leider keines vorhanden, aber es ist ein Pnanasonic MSMDC. Offenbar kann der Geber optional auch als Absolutgeber verwendet werden. Es wird immer komplizierter :-(( ;-)
Geber schrieb: > aber es ist ein Pnanasonic MSMDC Der Schlüssel was für ein Encoder es ist ist anscheinend weiter hinten im Schlüssel Geber schrieb: > anstatt A und B hat er TX/RX und TX*/RX* Sicher dass es "anstatt" ist? Bei den anderen Schlüsseln von oben sind es A/B UND Rx/Tx. Das hätte ich jetzt Hiperface vermutet für die Absolutposition. Wobei du die dann nicht zwingend auswerten musst. Wobei es dann nur UART (Rs485) wäre. Relativ einfaches Protokoll. SSI mit Analogspuren gibt es auch. Ist in meinen Augen aber nicht so weit verbreitet. Also genauen typschlüssel Posten oder selbst das richtige Datenblatt raussuchen. Edit: Aussage zurück gezogen.
:
Bearbeitet durch User
Geber schrieb: > Allerdings wollte ich nicht einen Resolver nutzen, da ich weiss dass > dessen Auswertung sehr komplex ist. Eigentlich ist dessen Auswertung sehr einfach, einfacher als bei einem Inkrementalgeber sogar finde ich. Beim Resolver kommt einem immer erst mal die amplitudenmodulierte Signalauswertung in den Sinn bei dem in die Primärspule ein Sinus-Signal eingespeist wird und sich dann durch die Signale in den Sekundärspulen der Drehwinkel bestimmen lässt. Das, finde ich auhc, ist in der Tat etwas komplexer als einen Inkrementalgeber auszuwerten. Die Alternative ist die phasenmodulierte Signalauswertung. Dazu wird in die Sekundärspulen ein Quadratursignal eingespeist. Dadurch bildet sich dann in der Primärspule ein, bzgl. der Amplitude, konstantes Signal bei dem ausschließlich die Phasenlage vom Drehwinkel abhängt. Ich hab das mal so gelöst, dass ich zwei, um 90° verschobene, Sinussignale generiert habe mittels PWM und das in die Sekundärspulen eingespeist habe. Das Signal der Primärspule habe ich auf einen Komparator gegeben und dessen Vergleichsspannung auf VCC/2 gelegt, sein Ausgangssignal ging dann auf einen Interruptpin des uCs. Immer wenn ein Interrupt auftrat für den Pin musste ich nur schauen wie lange es her war, dass mein erzeugtes Signal eben dem Referenzsignal (hier ein DC-Signal in Höhe von VCC/2) entsprach. Ich hab damit aus der Hüfte geschossen (hatte keine große Anstrengungen in PWM-Filter und Co investiert, sprich man konnte die PWM noch recht deutlich auf den Sinussignalen sehen) eine Winkelauflösung von 0.01° erreicht (gefordert waren bei dem Projekt besser als 0.1° zu sein).
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.