Forum: Mikrocontroller und Digitale Elektronik Resolver vs. Drehgeber


von Geber (Gast)


Lesenswert?

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.

von Volker B. (Firma: L-E-A) (vobs)


Lesenswert?

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

von georg (Gast)


Lesenswert?

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

von N. M. (mani)


Lesenswert?

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.
von Geber (Gast)


Lesenswert?

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 :-(( ;-)

von N. M. (mani)


Lesenswert?

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
von M. K. (sylaina)


Lesenswert?

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
Noch kein Account? Hier anmelden.