专利摘要:
Ineinem Codierersignalinterpolationsdividierer (1), der Fehler beimOffset und bei der Verstärkungeines Eingabesignals bei hoher Geschwindigkeit mit einer kostengünstigenSchaltungskonfiguration automatisch korrigiert und der ein Codierersignalmit einer vorbestimmten Auflösungdurch Interpolationsdivision genau erzeugen kann, werden analogeEingabesignale (A1, B1) einer Offsetkorrektur durch eine Null-Punkt-Korrekturschaltung(13) in Addierern (4, 5) unterzogen, bevor sie durch A/D-Wandler(8, 9) digital konvertiert werden, und werden einer Verstärkerkorrekturdurch eine Verstärkerkorrekturschaltung(14) in Verstärkern(6, 7) unterzogen. Die korrigierten, analogen Signale werden indigitale Werte konvertiert, Winkeldaten werden in einer Winkeldatentabelle(10) berechnet, und ein Codiererpulssignal mit einer vorbestimmtenAuflösungwird, basierend auf diesen Ergebnissen, erzeugt und von einer Codiererpulssignalerzeugungsschaltung(12) ausgegeben.
公开号:DE102004021057A1
申请号:DE200410021057
申请日:2004-04-29
公开日:2004-11-18
发明作者:Yoshinori Ito;Sadaharu Kanamori;Muneo Mitamura
申请人:Harmonic Drive Systems Inc;
IPC主号:G01D5-245
专利说明:
[0001] Dievorliegende Erfindung betrifft einen Codierer (auch als Encoderbezeichnet) zum Detektieren einer Rotationswinkelposition einesMotors, einer Position eines sich bewegenden Arbeitstisches und dergleichen.Insbesondere betrifft die vorliegende Erfindung einen Codierersignalinterpolationsdividierer, derFehler im Offset, im Verstärkungsgradund in der Verstärkungsbalanceeines Eingabesignals bei einer hohen Geschwindigkeit mit einer kostengünstigen Schaltkreiskonfigurationautomatisch korrigiert und der ein, Codierersignal mit einer vorbestimmtenAuflösungdurch Interpolationsdivision genau erzeugen kann.
[0002] EinSensor eines Codierers gibt im Allgemeinen Zwei-Phasen-Signale aus,die aus A-Phasen-Signalen (Sinussignalen) und B-Phasen-Signalen(Cosinussignalen) zusammengesetzt sind. In einem Rotationscodiererz.B. sind die Ausgabespannungen A und B dieser Signale *A und *B A = K·sinθ B = K·cosθ in Übereinstimmungmit dem Rotationswinkel θ der Rotationswelledes Detektionsobjekts. Wenn die Werte A und B zu einem bestimmtenZeitpunkt jeweils mit a und b bezeichnet werden, kann der Winkel θ (elektrischerWinkel) zu diesem Zeitpunkt aus den Werten a und b ausgelesen werden,wie in 1 gezeigt. Basierendauf dem derart ausgelesenen Winkel θ können Zwei-Phasen-Codiererpulssignalemit einer vorbestimmten Auflösungerzeugt werden, und der mechanische Winkel der Rotationswelle kannbasierend auf solchen Pulssignalen detektiert werden.
[0003] BeiCodierern zum Erzeugen von Zwei-Phasen-Codiererpulssignalen miteiner vorbestimmten Auflösungauf der Basis von Zwei-Phasen-Sinussignalen ist ein Interpolationsdivisionssystem,welches eine A/D-Wandlung verwendet, als eine Technik zum elektrischenVerarbeiten und zum Steigern der Auflösung von Zwei-Phasen-Sinussignalen(Sinussignal und Cosinussignal) bekannt. Das System ist in JP-A 49-106744 offenbart.
[0004] Hierbeiwird der Winkel θ berechnet,basierend auf der Annahme, dass der Mittelwert der Spannung unddie maximale Amplitude der A-Phasen- und B-Phasen-Signale, welche von dem Sensoreines Codierers erhalten werden, konstant sind. Bei einem tatsächlichenCodierer kann jedoch die Balance der Ausgabespannung jeder Phasegestörtsein, oder Variationen in deren Mittelspannungswerten können durchVerschiebungen in der mechanischen Position, temperaturinduzierteFluktuationen in der elektrischen Schaltungskonstanten oder dergleicheninduziert sein. (Ersteres wird als "Verstärkungsbalance" (gain balance) bezeichnet,und Letzteres wird als "Offsetbalance" bezeichnet.)
[0005] Wennsich z.B. die Offsetbalance um 2% ändert, ist der berechnete Fehler2,3° (Fehlerdes elektrischen Winkels). Bei tatsächlichen Codierern werden mehrereTausend bis zu mehreren Zehntausend von Referenzsignalen ausgegeben,wenn eine Rotationswelle einmal rotiert, der Wellenkonversionsfehler(Fehler des mechanischen Winkels) wird durch die nachfolgende Gleichungberechnet, und der Fehler ist 0,5 Bogensekunden, wenn sich die Offsetbalanceum 2% bei einem Codierer, bei dem die Anzahl von Referenzpulsen18000 ist, ändert. (Fehler des mechanischen Winkels) = (Fehler des elektrischenWinkels)/(Anzahl von Signalausgaben pro Rotation)
[0006] DieAuflösungdurch Interpolationsdivision ist normalerweise 100 bis 400 Mal dieAnzahl von Referenzpulsen, so dass wenn angenommen wird, dass eineCodiererausgabe von 18.000 Pulsen dividiert wird, um 200fach größer zu werden,die Auflösung dann3.600.000 Pulse wird und ein Puls 0,36 Bogensekunden entspricht.Der oben berechnete Offsetfehler ist ein Fehler eines oder mehrererPulse, so dass der Offsetfehler kompensiert werden muss.
[0007] EinSystem zum Kompensieren von Fluktuationen in den A-Phasen- und B-Phasen-Signalen ist z.B.in JP-A 6-167354 beschrieben.In der darin genannten Interpolationsverarbeitungsvorrichtung wird derKorrekturwert der Offsetverstärkungzu einem Digitalwert addiert, der durch Konvertieren des Eingabesignalsvon einem analogen zu einem digitalen Format erhalten wurde, undeine Offsetkorrektur wird durchgeführt. Somit wird bei der Interpolationsverarbeitungsvorrichtungeine Korrekturverarbeitung für dasEingabesignal mit einer digitalen Schaltung realisiert.
[0008] Esist eine Aufgabe der vorliegenden Erfindung, einen Codierersignalinterpolationsdividierer bereitzustellen,der Fehler im Offset, im Verstärkungsgradund in der Verstärkungsbalanceeines Eingabesignals bei hoher Geschwindigkeit mit einer kostengünstigenSchaltungskonfiguration automatisch korrigiert und ein Codierersignalmit einer vorbestimmten Auflösungdurch Interpolationsdivision genau erzeugen kann.
[0009] Umdie oben genannten Probleme in Übereinstimmungmit der Erfindung zu lösen,wird ein Codierersignalinterpolationsdividierer vorgesehen zum Berechneneines elektrischen Winkels aus Sinussignalen mit einer 90-Grad- Phasendifferenz und zumAusgeben von Zwei-Phasen-Codiererpulssignalen mit einer vorbestimmtenAuflösungdurch Interpolationsdivision, aufweisend: einen A/D-Wandlerzum Wandeln der Sinussignale in entsprechende digitale Werte, eineWinkeldatenberechnungseinrichtung zum Berechnen von Winkeldaten,die zu den digitalen Werten der Sinussignale korrespondieren durchInterpolationsdivision, eine Codierersignalerzeugungseinrichtungzum Erzeugen der Zwei-Phasen-Codiererpulssignalemit einer vorbestimmten Auflösung,basierend auf den berechneten Winkeldaten, eine Offsetkorrektureinrichtungzum Berechnen digitaler Korrekturwerte zum Setzen des Offsets derSinussignale auf Null, basierend auf den digitalen Werten der Sinussignaleund zum Verwenden eines analogen Konversionswerts der digitalenKorrekturwerte, um eine Offsetkorrektur der Sinussignale, die dem A/D-Wandlereingegeben werden, auszuführen, eineVerstärkungskorrektureinrichtungzum Berechnen von Verstärkungskorrekturwertenfür dieSinussignale basierend auf den digitalen Werten der Sinussignaleund zum Ausführeneiner Verstärkungskorrekturder Sinussignale, die dem A/D-Wandler eingegeben werden.
[0010] Gemäß der vorliegendenErfindung werden Eingabesignale (Zwei-Phasen-Sinussignale) von einem analogen zueinem digitalen Format konvertiert, ein Korrekturwert zum Setzendes Offsets davon auf null wird berechnet, und der Korrekturwertwird danach in einen analogen Wert konvertiert und dann an den A/D-Wandlerzurückgegeben.Mit anderen Worten wird das Eingabeanalogsignal (Sinussignal) selbstkorrigiert. Daher wird keine Verarbeitungsschaltung zum Korrigierendes Eingabesignals durch digitale Verarbeitung benötigt, sodass die Belastung auf die Verarbeitungsschaltung reduziert wirdund eine Interpolationsverarbeitung beschleunigt werden kann. Auchdie Kapazitätder CPU, der Gatteranordnung (gate array) und anderer Komponentenkann reduziert werden, und die Verarbeitungsschaltung kann daherbei geringen Kosten gefertigt werden.
[0011] 1 ist ein Diagramm, welchesdas Prinzip zum Berechnen eines elektrischen Winkels aus Sinussignalenmit einer 90-Grad-Phasendifferenz darstellt; und
[0012] 2 ist ein schematischesBlockdiagramm eines Codierersignalinterpolationsdividierers, bei demdie vorliegende Erfindung eingesetzt wurde.
[0013] EinBeispiel eines Codierersignalinterpolationsdividierers gemäß der vorliegendenErfindung wird unter Bezugnahme auf die Zeichnungen beschrieben.
[0014] 2 ist ein schematischesBlockdiagramm, welches einen Codierersignalinterpolationsdividierer desvorliegenden Beispiels darstellt. Der Codierersignalinterpolationsdividierer 1 empfängt Sinussignale voneinem Sensor (nicht dargestellt), der die Sinussignale mit einer90-Grad-Phasendifferenz entsprechend z.B. der Rotation einer Rotationswelle(nicht dargestellt), die detektiert werden soll, erzeugt. Bei demvorliegenden Beispiel werden ein A-Phasen-Signal (Sinussignal) *A,ein umgekehrtes Signal */A davon, ein B-Phasen-Signal (Cosinussignal)*B, und ein umgekehrtes Signal */B davon dem Dividierer 1 eingegeben.
[0015] DieSignale *A und */A werden einem Differenzialverstärker 2 eingegeben,und ein Differenzialsignal A1 davon wird erzeugt. Die Signale *Bund */B werden ebenfalls einem Differenzialverstärker 3 eingegeben,und ein Differenzialsignal B1 davon wird erzeugt. Die DifferenzialsignaleA1 und B1 werden einer Offsetkorrektur in Addierern 4 und 5 unterzogen unddann einer Verstärkungs korrekturin Verstärkern 6 und 7 unterzogen.Die korrigierten Signale werden dann in digitale Signale in A/D-Wandlern 8 und 9 konvertiert.
[0016] Basierendauf diesen digitalen Signalen wird eine im voraus in einer Winkeldatentabelle 10 gespeicherteTabelle durchsucht, und die korrespondierenden Winkeldaten werdendurch Interpolationsdivision berechnet.
[0017] Dieberechneten Winkeldaten werden mit einem aktuellen Wert, der ineinem Aktueller-Winkel-Zähler 12 gespeichertist, verglichen, um Datenkontinuität in einer Vergleicherschaltung 11 zukompensieren. Der Wert des Aktueller-Winkel-Zählers 12 wird anschließend erhöht odererniedrigt, um berechnete Winkeldaten zu liefern. Ein A-Phasen-CodiererpulssignalA, ein umgekehrtes Signal /A davon, ein B-Phasen-Signal B und einumgekehrtes Signal /B davon, welche zu dem Inhalt des Aktueller-Winkel-Zählers 12 korrespondieren,werden dann erzeugt und in eine Codiererpulssignalerzeugungsschaltung 13 ausgegeben.
[0018] Hierwird der Offset der Differenzialsignale A1 und B1 der Sinussignale,welches die Eingabesignale sind, mittels einer Null-Punkt-Korrekturschaltung 14 korrigiert.In der Null-Punkt-Korrekturschaltung 14 wird der Mittelwertder Offsetwerte der Eingabesignale als ein Null-Punkt-Korrekturwert(Offset-Korrekturwert) berechnet auf der Basis der digitalen Ausgabewerteder A/D-Wandler 8 und 9 undauf der Basis eines Signals zum Angeben des Null-Punkt-Übertragungszeitpunkts, welchervon dem Aktueller-Winkel-Zähler 12 geliefertwird, und der Null-Punkt-Korrekturwert wird in ein analoges Signalkonvertiert und wird dann den Addierern 3 und 4 zugeführt. AlsErgebnis werden die Offsets der Eingabesignale A1 und B1 in denAddierern 3 und 4 korrigiert.
[0019] Auchdie Verstärkungder Eingabesignale A1 und B1 wird mittels einer Amplitudenkorrekturschaltung 15 korrigiert.In der Amplitudenkorrekturschaltung 15 wird der Mittelwertder maximalen Amplitudenwerte der Eingabesignale berechnet auf derBasis der digitalen Ausgabewerte der A/D-Wandler 8 und 9 undauf der Basis eines Signals zum Angeben des Null-Punkt-Übertra gungszeitpunkts,welches von dem Aktueller-Winkel-Zähler 12 geliefertwird, und ein Amplitudenkorrekturkoeffizient, um dies auf den Zielamplitudenwertzu korrigieren, wird berechnet. Eingabesignale a und b werden inden Verstärkern 6 und 7 aufder Basis des berechneten Amplitudenkorrekturkoeffizienten verstärkt, unddie Verstärkungder Eingabesignale wird dadurch angepasst.
[0020] Beidem derart aufgebauten Codierersignalinterpolationsdividierer 1 desvorliegenden Beispiels werden die eingegebenen analogen Signale(Sinussignale) A1 und B1 als solche korrigiert, bevor sie digitalkonvertiert werden. Daher wird keine Verarbeitungsschaltung zumKorrigieren des digitalisierten Eingabesignals durch digitales Verarbeitenbenötigt, sodass die Belastung auf die Verarbeitungsschaltung erleichtert wird,und eine Interpolationsverarbeitung kann beschleunigt werden. Auchdie Kapazität derCPU, die Gatteranordnung und andere Komponenten können reduziertwerden, und die Verarbeitungsschaltung kann daher bei geringen Kostengefertigt werden.
[0021] BeimDividierer des vorliegenden Beispiels wird z.B. ein 10-Bit-Wandlerfür dieA/D-Wandler 8 und 9 verwendet, und ein Flash-ROMmit einer 1M × 16-Bit-Konfigurationwird fürdie Winkeldatentabelle 10 verwendet, aber die Auflösung deserzeugten Codiererpulssignals kann durch Steigern der Anzahl vonBits und der Datenkapazitätdavon einfach verbessert werden.
[0022] Fernerkann, selbst wenn die Eingabesignale nicht genaue Sinus- oder Cosinussignalesind, eine Korrektur weiterhin mittels der Winkeldatentabelle 10 ausgeführt werden,solange die Wellenform bekannt ist.
[0023] Wieoben beschrieben, wird bei dem Codierersignalinterpolationsdividiererder vorliegenden Erfindung ein Eingabesignal direkt einer Offsetkorrekturund einer Verstärkungskorrekturunterzogen, bevor es digital konvertiert wird. Daher wird keineVerarbeitungsschaltung zum Korrigieren des Eingabesignals durchdigitales Verarbeiten benötigt,so dass die Belastung auf die Verarbeitungsschaltung erleichtertwird, und eine Interpolationsverarbeitung kann beschleunigt werden.Auch die Kapazitätder CPU, der Gatteranordnung und anderer Komponenten kann reduziertwerden, und die Verarbeitungsschaltung kann daher bei geringen Kostengefertigt werden. Daher könnenFehler im Offset, im Verstärkungsgradund in der Verstärkungsbalanceeines Eingabesignals automatisch korrigiert werden bei hoher Geschwindigkeitmit einer kostengünstigen Schaltungskonfiguration,und ein Codierersignalinterpolationsdividierer, der in der Lageist, ein Codierersignal mit einer vorbestimmten Auflösung durch Interpolationsdivisiongenau zu erzeugen, kann realisiert werden.
[0024] Zusammenfassendwerden in einem Codierersignalinterpolationsdividierer (1),der Fehler beim Offset und bei der Verstärkung eines Eingabesignalsbei hoher Geschwindigkeit mit einer kostengünstigen Schaltungskonfigurationautomatisch korrigiert und der ein Codierersignal mit einer vorbestimmtenAuflösungdurch Interpolationsdivision genau erzeugen kann, analoge Eingabesignale(A1, B1) einer Offsetkorrektur durch eine Null-Punkt-Korrekturschaltung(13) in Addierern (4, 5) unterzogen, bevorsie durch A/D-Wandler (8, 9) digital konvertiert werden,und sie werden einer Verstärkungskorrektur durcheine Verstärkerkorrekturschaltung(14) in Verstärkern(6, 7) unterzogen. Die korrigierten, analogen Signalewerden in digitale Werte konvertiert, Winkeldaten werden in einerWinkeldatentabelle (10) berechnet, und ein Codiererpulssignalmit einer vorbestimmten Auflösungwird, basierend auf diesen Ergebnissen, erzeugt und von einer Codiererpulssignalerzeugungsschaltung(12) ausgegeben.
权利要求:
Claims (1)
[1] Codierersignalinterpolationsdividierer zum Berechneneines elektrischen Winkels aus Sinussignalen mit einer 90-Grad-Phasendifferenzund Ausgeben von Zwei-Phasen-Codiererpulssignalen mit einer vorbestimmtenAuflösungdurch Interpolationsdivision, aufweisend: einen A/D-Wandler(8, 9) zum Wandeln der Sinussignale in entsprechendedigitale Werte, eine Winkeldatenberechnungseinrichtung zumBerechnen von Winkeldaten, die zu den digitalen Werten der Sinussignalekorrespondieren, durch Interpolationsdivision, eine Codierersignalerzeugungseinrichtungzum Erzeugen der Zwei-Phasen-Codiererpulssignale mit einer vorbestimmtenAuflösung,basierend auf den berechneten Winkeldaten, eine Offsetkorrektureinrichtung(4, 5) zum Berechnen digitaler Korrekturwertezum Setzen des Offsets der Sinussignale auf Null, basierend aufden digitalen Werten der Sinussignale, und zum Verwenden eines analogenKonversionswerts der digitalen Korrekturwerte, um eine Offsetkorrekturder Sinussignale, die dem A/D-Wandler eingegeben werden, auszuführen, und eineVerstärkungskorrektureinrichtung(6, 7) zum Berechnen von Verstärkungskorrekturwerten für die Sinussignale,basierend auf den digitalen Werten der Sinussignale, und zum Ausführen einerVerstärkungskorrekturder Sinussignale, die dem A/D-Wandler (8, 9) eingegebenwerden.
类似技术:
公开号 | 公开日 | 专利标题
JP5676704B2|2015-02-25|アナログ回転センサのための方法および装置
EP0478394B1|1996-05-15|Apparat zur Detektion der Verschiebung
DE69634656T2|2006-03-02|Vorrichtung und Verfahren zur Phasendetektion für ein Lageerfassungssystem
CN1712889B|2011-05-11|编码器及其信号调整方法
US8723511B2|2014-05-13|Absolute encoder
US6556153B1|2003-04-29|System and method for improving encoder resolution
Hanselman1991|Techniques for improving resolver-to-digital conversion accuracy
DE112007000005B4|2009-12-31|Positionsdetektor
Benammar et al.2004|A novel resolver-to-360/spl deg/linearized converter
DE112009000121B4|2013-09-26|Rotationswinkel-Erfassungsvorrichtung
US7797981B2|2010-09-21|Position measuring device
JP5041419B2|2012-10-03|レゾルバ装置およびレゾルバの角度検出装置とその方法
US4462083A|1984-07-24|Method of interval interpolation
US5140245A|1992-08-18|Pmg-based position sensor and synchronous drive incorporating same
US4070665A|1978-01-24|High accuracy digital to analog resolver converter
US6885310B2|2005-04-26|Phase difference detection device and method for a position detector
US9587962B2|2017-03-07|Method of and apparatus for ascertaining the fine position value of a movable body
DE19747753C1|1999-05-12|Verfahren zum Ermitteln des Phasenwinkels bei Positionsgebern mit sinusförmigen Ausgangssignalen
US20040107586A1|2004-06-10|Rotary encoder
KR910002444B1|1991-04-22|위치제어장치
EP1503182B1|2008-12-17|Magnetischer Drehwinkelsensor
CA1270542A|1990-06-19|Method and apparatus for correcting resolver errors
DE19712622B4|2007-07-05|Anordnung und Verfahren zur automatischen Korrektur fehlerbehafteter Abtastsignale inkrementaler Positionsmeßeinrichtungen
KR930002718B1|1993-04-09|절대위치 엔코더
DE19641035C2|1999-09-16|Vorrichtung und Verfahren zur Positionsmessung
同族专利:
公开号 | 公开日
US6950769B2|2005-09-27|
JP2004333156A|2004-11-25|
US20040260499A1|2004-12-23|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
法律状态:
2011-09-22| R005| Application deemed withdrawn due to failure to request examination|Effective date: 20110429 |
优先权:
申请号 | 申请日 | 专利标题
[返回顶部]