Hallo, kann mir jemand erklären warum der Spannungsverlauf des Erregersignals bei einem Resolver sinusförmig ist. Könnte das nicht ein rechteck Signal sein? Danke Heinz
heinz schrieb: > sinusförmig Ein Sinus und ein Kosinus, aus dem man dann den Winkel innerhalb dieses Encoder-Vollschrittes mit atan2 oder geeignetem Tracking Observer berechnen kann. Man kann einen Encoder aber auch als Rechteck bestellen, dann hat man halt nur 90°-Schritte innerhalb des aktuellen Encoder-Vollschrittes. mfg mf
heinz schrieb: > kann mir jemand erklären warum der Spannungsverlauf des Erregersignals > bei einem Resolver sinusförmig ist. Aus dem Grund, warum die Netzspannung sinusförmig ist. Früher hat man einen Generatorausgang dafür benutzt. Oder die Verfügbar Netzspannung. > Könnte das nicht ein rechteck Signal sein? Das würde grundsätzlich gehen, es bliebe die Frage, ob die Auswerteschaltung damit zurechtkommt. Vgl. auch hier: https://www.youtube.com/watch?v=kbFRWaNAWDg, da wird gegen Ende offensichtlich auch mit einem Rechteck erregt. Wenn Du Dir eine Auswertung selbst stricken willst, auf geht's! Sonst vielleicht doch nach einer Sinusquelle umsehen.
@Achim M Mir geht es um das Erregersignal >Wenn Du Dir eine Auswertung selbst stricken willst, auf geht's! Sonst vielleicht doch nach einer Sinusquelle umsehen. Hier hat das jemand für Sinus gemacht. http://wiki.linuxcnc.org/cgi-bin/wiki.pl?ResolverToQuadratureConverter Das Problem das er hat ist - nur 1 AD Wandler. Also muss er die beiden Kanäle um 1 Welle des Erregersignals einlesen. Macht es nicht genauer. Bei einem Rechtecksignal spielt ein Zeitversatz keine Rolle? Hintergrund: Ich habe eine Fräsmaschine mit Resolver für das Lagesignal. Dafür finde ich keine CNC (ich würde gern LinuxCnc mit Mesa karten verwenden) alternative wäre Inkrementalgeber oder Glaslineal anbauen.
heinz schrieb: > Bei einem Rechtecksignal spielt ein Zeitversatz keine Rolle? Naja, wie im oben verlinkten Video zu sehen ist, kommen bei einem Rechteck nur kurze Spikes aus dem Resolver. Die muss man dann schon sehr genau treffen, wenn man die Spitzenwerte messen möchte. Eine Resolverauswertung basiert auf dem Amplitudenvergleich von SIN und COS, wenn man da bei den Spikes leicht daneben liegt, geht schnell schief. Bei einem Sinus ist das nicht sooo schlimm wenn man leicht daneben liegt. Danke auch dran, den Messpunkt auf das Maximum der Erregung zu legen, um eine möglichst hohen Hub zu bekommen, das ist nochmal interessant, falls die Erregung leicht wandern sollte. Einen Sinus kann man auch per PWM machen.
Ich hätte sagen sollen daß ich von E-Technik wenig Wissen hab. Ich dachte Rechtecksignal +12/-12 rein -> Rechteck Sin(x * 12V) bzw. Cos(x * 12V) raus? Danke Heinz
So einfach funktioniert das dann doch nicht ;-) Ein Resolver ist nicht weiter als ein sich drehender Trafo. Und ein Trafo überträgt keine Gleichspannung, ein Rechteck ist aber die meiste Zeit eine solche. Nur Spannungsänderungen werden übertragen, was bei einem Sinus immer der Fall ist, bei einem Rechteck auf nur an den Flanken. Es gibt sonst auch Eval-Boards für Auswerteschaltungen, die die Erregungserzeugung gleich an Bord haben, z.B. https://www.analog.com/en/design-center/evaluation-hardware-and-software/evaluation-boards-kits/eval-ad2s1210.html. Müsste man dann einmal programmieren, wird auch mit einem Arduino gehen. Wenn's um eine CNC geht, ist das Preisschild evtl. ja nicht ganz so schlimm...
Rudolph schrieb: > Naja, wie im oben verlinkten Video zu sehen ist, kommen bei einem > Rechteck nur kurze Spikes aus dem Resolver. wenn man ganz genau hinsieht ist es eine kleine Rechteckspannung (und die würde man eigentlich im Idealfall erwarten) überlagert mit den kurzen, viel höheren Peaks. ich kann dir nicht sagen, woher die peaks kommen. vielleicht wirklich eine parasitäre Eigenschaft des resolvers (irgendwas mit dessen Wicklungskapazität). vielleicht aber auch einfach ein Messfehler mit völlig überkompensierten Tastköpfen. im einfachsten Fall (ohne parasitäre Effekte und ohne übertriebene Belastung des Resolvers) würde man jedenfalls ein Rechtecksignal an den Ausgängen erwarten. heinz schrieb: > Das Problem das er hat ist - nur 1 AD Wandler. Also muss er die beiden > Kanäle um 1 Welle des Erregersignals einlesen. Macht es nicht genauer. wenn man es genauer haben will nimmt man im Normalfall ein dediziertes IC zur resolverauswertung. (das kostet zugegebenermaßen etwas). die erwarten allerdings imho immer ein Sinussignal und durften über eine Rechteckansteuerung nicht glücklich sein.
heinz schrieb: > Könnte das nicht ein rechteck Signal sein? Das kommt drauf an, welche Auflösung du aus einer Periode des Signals ziehen möchtest. Wenn du dich nicht ausgereichnet auf konstante Drehzahl beschränken möchtest, bietet ein Sinus/Cosinus einfach mehr Information.
Rudolph schrieb: > o einfach funktioniert das dann doch nicht ;-) > > Ein Resolver ist nicht weiter als ein sich drehender Trafo. doch, ein Trafo kann tatsächlich auch (annähernd) Rechteckspannungen übertragen. Nur steigt dann halt der Magnetisierungsstrom während der Phase, in der die Spannung konstant ist, immer weiter an. Und in realen Aufbauten begrenzt dann irgendwann die Quelle den Stromanstieg, so dass der induktive Spannungsabfall auf der Primärseite und die induzierte Spannung auf der Sekundärseite eben kein Rechteckt mehr bilden. Insofern kommt es schon stark auf die Frequenz der Anregung und die Zeitkonstanten des Aufbaus an. Wenn eine konstante Spannung an der Primärseite dazu führen würde, dass die Sekundärspannung Null wird, dann müsste auch beim primären Spannungsmaximum des Sinus die Sekändurspannung Null werden (weil da primär du/dt=0) gilt. Das ist aber nicht der Fall: die Sekundärspannung hat da auch ihr Maximum. Nur der Magnetisierungsstrom hat beim Spannungsmaximum seinen Nulldurchgang. Dass Trafos keine "echten Gleichanteile" übertragen können (also Spannungen, die länger konstant sind als die Zeitkonstanten des Aufbaus) ist natürlich richtig.
Ich hab das jetzt mal simuliert. LTspice sagt Rechteck rein -> Rechteck raus. Ist die Simulation korrekt?
heinz schrieb: > LTspice sagt Rechteck rein -> Rechteck raus. Ist die Simulation korrekt? In erster Näherung (ohne jegliche parsitären Effekte): ja. Aber: 1) deine Ansteuerung mit einem Rechteck, das zwischen 0V und 12V schaltet, ginge tatsächlich nicht. Denn das hätte einen Gleichanteil von 6V, der den Strom im eingeschwungenen Zustand auf riesige Werte hochtreibt (in dener Simu fließen 112kA!) Du bräuchtest ein Rechteck zwischen -12V und +12V. 2) Schon in deiner Simu siehst du, dass die Spannung auf der Sekundärseite nicht exakt Recheckförmig ist: die beim Rechteck konstante Phase fällt jeweils ganz schwach ab. Wenn du als Frequenz nicht 1,6kHz gewählt hättest sondern 1,6Hz, da würdest du sehen, dass es eben kein ideales Rechteck ist. Die Quelle,der du in der Simu 100µOhm Innenwiderstand gegeben hast, begrenzt den Strom, so dass der induktive Spannungsabfall auf Primär- und auf Sekundärseite eben kein ideales Rechteck ist. Bei 1,6kHz ist die Näherung als Rechteck aber gut genug. Hättest du der Quelle nicht 100µOhm sondern 100mOhm als Innenwiderstand gegeben, dann würdest du den Effekt auch schon bei 1,6kHz wahrnehmen.
Wer lesen kann ... Strom geht in den Kilo Ampere Bereich. Liegt das am Eingangssignal 0->12V und wäre das weg bei -12V -> 12V?
heinz schrieb: > Das Problem das er hat ist - nur 1 AD Wandler. Also muss er die beiden > Kanäle um 1 Welle des Erregersignals einlesen. Macht es nicht genauer. > Bei einem Rechtecksignal spielt ein Zeitversatz keine Rolle? du experimentierst ja deswegen mit dem Rechteck, weil du erreichen willst, dass der Zeitversatz der beiden ADC-Abtastungen kein Rolle spielt. Wie stark der Zeitversatz sich auswirkt hängt aber stärker davon ab, wie du das digitalisierte Signal auswertest. Wenn du nur den Spitzenwert jeder Periode der Erregerschwingung auswertest, dann macht sich der Zeitversatz stark bemerkbar. Wenn du stattdessen den RMS-Wert (oder auch den Gleichrichtmittelwert) bestimmst, dann spielt die kleine Zeitdifferenz beim Abtasten kaum eine Rolle. Wolfgang schrieb: > Das kommt drauf an, welche Auflösung du aus einer Periode des Signals > ziehen möchtest. > Wenn du dich nicht ausgereichnet auf konstante Drehzahl beschränken > möchtest, bietet ein Sinus/Cosinus einfach mehr Information. ich glaube hier ist das selbe Missverständnis, das auch Achim M. hatte. Du betrachtest das sinus/cosinusförmige Signal am Ausgang des Demodulators. Die Signalform bekommt man beispielsweise auch, wenn man einen Permanentmagneten über zwei gekreuzt angeordneten Hallsensoren dreht. Hier ist die sinus/cosinusform natürlich wichtig, um "Zwischenwinkel" erkennen zu können (nicht nur 90° Schritte). Dem TO geht es aber um einen Resolver, bei dem die Primärspule mit einem AC Signal getrieben wird. Selbst wenn der Resolver in einer bestimmten Winkelstellung feststeht, hat man am Ausgang (vor dem Demodulator) noch sinusförmige Signale. Würde man den Resolver stattdessen mit einer Rechteckspannung betreiben, dann erwartete man am Ausgang wieder eine annähernd rechteckförmige Spannung. Und deren Effektivwert hängt eben wieder sinus- bzw. cosinusförmig vom Drehwinkel des Resolvers ab.
heinz schrieb: > wäre das weg bei -12V -> 12V? in der Simu wäre es zu Beginn wahrscheinlich immer noch im 100kA Bereich. Das ist aber ein Simulationsartefakt, weil der Simulator einen Startwert berechnet und dafür einfach 12V/100µOhm einstellt. In der Realität würde der Strom mit einem Gleichanteilfreien Signal natürlich nie so weit ansteigen. Du kannst den Simulationsartefakt reduzierten, indem du den Startwert ("initial condition") des Stroms auf 0 festlegst: .ic I(L1)=0 Dann wirst du aber immer noch große Ströme sehen, weil deine Quelle immer noch einen großen Gleichanteil aufweist. Der ergibt sich daraus, dass LTSpice bei PULSE(-12 12 0 0 0 300u 600u) die Anstiegs- und Abfallzeit nicht auf 0 setzt sondern auf 10% der Gesamtperiode. Und diese Anstiegs- und Abfallzeiten sorgen dafür, dass die positive Halbwelle 10% breiter ist als die negative ( du hast also immer noch einen ordentlichen Gleichanteil, der den simuierten Strom stark anwachsen lässt). Mit PULSE(-12 12 0 1n 1n 300u 600u) sind die Anstiegs- und Abfallzeiten dagegen viel kleiner als die Pulsbreite (1ns statt 30µs), so dass dein Primärsignal halbwegs gleichanteilsfrei wird. Wenn du die Hälfte von Anstiegs- und Abfallzeit von der On-Zeit abziehst, müsste es auch voll symmetrisch werden, so dass die Simu nicht auf Monsterströme hochläuft.
Im oben genannten Projekt gibt es (so wie ich es verstehe) eine Spitzen Auswertung und damit das Problem daß er beide Spulen gleichzeitig lesen muss. Zur Lösung gibt es ja mehrere Wege. Externe AD Wandler, Cpu mit mehreren Wandlern, andere Geber ... Mal überlegen was ich mach. Ich bedanke mich für die ausführlichen Erklärungen. Gruß Heinz
Gönne der Erregerspule in deiner Simulation doch mal einen realistischen Wicklungswiderstand (miss nach oder nimm bspw. 50Ω). Spätestens dann wirst du erkennen, warum das mit dem Rechtecksignal keine so gute Idee ist. heinz schrieb: > Im oben genannten Projekt gibt es (so wie ich es verstehe) eine Spitzen > Auswertung und damit das Problem daß er beide Spulen gleichzeitig lesen > muss. Zur Lösung gibt es ja mehrere Wege. Externe AD Wandler, Cpu mit > mehreren Wandlern, andere Geber ... Im Link werden die beiden Ausgangssignale des Resolvers im Abstand von einer Periode des Erregersignals gemessen. Dadurch hat der Zeitversatz bei stehendem Resolver keinen Einfluss auf das Messergebnis. Sobald sich der Resolver aber etwas schneller dreht, finden die beiden Messungen an verschiedenen Winkelpositionen statt, so dass doch wieder ein Fehler entsteht. Generell ist es nicht so geschickt, die Resolversignale nur einmal je Erregerperiode abzutasten, weil sich dann jede Störung auf den Signalen voll im Ergebnis niederschlägt. Falls es dich interessiert, ist hier beschrieben, wie die Auswertung üblicherweise (insbesondere auch in den integerierten RDCs) gemacht wird: https://www.analog.com/en/analog-dialogue/articles/precision-rtdc-measures-angular-position-and-velocity.html Mit dem beschriebenen Verfahren werden Störungen wirksam unterdrückt, trotzdem liefert es – anders als etwa mit einem Tiefpassfilter zur Störunterdrückung – bei konstanter Geschwindigkeit die Winkelpositionen praktisch ohne Zeitverzug, was gerade bei CNC-Maschinen wichtig ist.
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.