DE69031752T2 - Verbesserte Methode und Vorrichtung zur Geschwindigkeitsmessung in Servosystemen - Google Patents
Verbesserte Methode und Vorrichtung zur Geschwindigkeitsmessung in ServosystemenInfo
- Publication number
- DE69031752T2 DE69031752T2 DE69031752T DE69031752T DE69031752T2 DE 69031752 T2 DE69031752 T2 DE 69031752T2 DE 69031752 T DE69031752 T DE 69031752T DE 69031752 T DE69031752 T DE 69031752T DE 69031752 T2 DE69031752 T2 DE 69031752T2
- Authority
- DE
- Germany
- Prior art keywords
- quadrature
- last
- sampling interval
- transition
- transitions
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000005259 measurement Methods 0.000 title description 10
- 230000007704 transition Effects 0.000 claims abstract description 222
- 230000033001 locomotion Effects 0.000 claims abstract description 19
- 238000005070 sampling Methods 0.000 claims description 172
- 230000015654 memory Effects 0.000 claims description 86
- 230000003936 working memory Effects 0.000 claims description 15
- 238000003860 storage Methods 0.000 claims description 7
- 230000007613 environmental effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 13
- 230000009977 dual effect Effects 0.000 description 12
- 230000000694 effects Effects 0.000 description 9
- 241000238876 Acari Species 0.000 description 8
- 230000008859 change Effects 0.000 description 8
- 239000011521 glass Substances 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 108010076504 Protein Sorting Signals Proteins 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 230000036461 convulsion Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003121 nonmonotonic effect Effects 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000284 resting effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01P—MEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
- G01P3/00—Measuring linear or angular speed; Measuring differences of linear or angular speeds
- G01P3/42—Devices characterised by the use of electric or magnetic means
- G01P3/44—Devices characterised by the use of electric or magnetic means for measuring angular speed
- G01P3/48—Devices characterised by the use of electric or magnetic means for measuring angular speed by measuring frequency of generated current or voltage
- G01P3/481—Devices characterised by the use of electric or magnetic means for measuring angular speed by measuring frequency of generated current or voltage of pulse signals
- G01P3/489—Digital circuits therefor
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Control Of Electric Motors In General (AREA)
- Control Of Position Or Direction (AREA)
- Optical Radar Systems And Details Thereof (AREA)
- Control Of Velocity Or Acceleration (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
- Diese Erfindung betrifft ein Verfahren zur verbesserten Servoregelung.
- Im US-Patent Nr. 4,639,884 ist eine einzigartige Lösung für das lange bestehende Problem der genauen Geschwindigkeits- und Positionsmessung eines Servosystems über einen großen Geschwindigkeitsbereich offenbart. Gemäß den in diesem Patent beschriebenen erfindungsgemäßen Prinzipien ist an der Ausgangswelle eines Servomotors ein Servoregler vorgesehen, der einen Rotations-Positionssensor verwendet, um ein digitales zwei-bit-Signal in Gray Code zu erzeugen. Wenn die Welle um einen bestimmten Winkel rotiert ist, dann ändert sich das Quadratursignal, um einen "Quadraturübergang" zu erzeugen, ein Begriff, der verwendet wird, um die Bewegung des Rotations-Positionssensors über einen Winkel zu bezeichnen, der genügend groß ist, damit der Quadraturausgang des Sensors in das nächste Gray- Code-Muster übergeht. Somit erzeugt die Bewegung der Welle (Achse) zwei Quadratursignale mit Übergängen, die für jeden Zyklus als 00, 01, 11,10 und zurück zu 00 ausdrückbar sind. Sie erzeugt bei allen Geschwindigkeiten der Welle pro Gruppe der Qudraturübergänge auch eine große Anzahl von Impulsen, wie von einem Taktgeber. Das Verfahren liest die Anzahl der Taktsignale zwischen zwei ausgewählten Quadraturübergängen ein und bestimmt dann die Geschwindigkeit, wobei die Gesamtzahl der Quadraturübergänge zwischen den ausgewählten Übergängen durch die Gesamtzahl der Taktimpulse während dieser Zeit geteilt wird.
- Bei idealen Servosystemen fallen die überlappenden Wellenübergänge des Rückkopplungssystems genau auf Rotationsintervalle oder linearen Wegintervalle der Servoachse. Während in den meisten Fällen die Approximation ausreichend präzise ist, gibt es Situationen, in denen ein niedriges Präzisionsniveau die Funktion der Servoachse einschränkt, selbst wenn das Verfahren und die Vorrichtung des Patents Nr. 4,639,884 verwendet wird. Eine Aufgabe der vorliegenden Erfindung ist es, die Meßmethode und die Vorrichtung zur Messung nicht idealer Rückkopplungssignale zu verbessern, insbesondere für Servosysteme, die einer Umgebung mit starkem elektrischen Rauschen ausgesetzt sind. Der Begriff "elektrisches Rauschen" betrifft nicht gewollte Übergänge der überlappenden Rechtecksignale der Rückkopplungsschleife. Bei Servosystemen können elektrische Ströme entweder in der Rückkopplungsschleife oder im Stellglied induktiv oder kapazitiv mit Schaltkreisen innerhalb der Rückkopplungsschleife koppeln und ungewollte Übergänge erzeugen. Das Ergebnis des Rauschens ist, daß die Übergänge des Rückkopplungssystems nicht genau der momentanen Bewegung der Achse entsprechen.
- In Systemen mit elektrischen Steigliedem, wie z. B. elektrischen Motoren, ist signifikantes elektrisches Rauschen vorherrschend. In solchen Fällen wird die Achse elektrisch bewegt. Im allgemeinen werden Halbleiterschalter zur Pulsbreitenmodulation verwendet, um die an den elektrischen Motor gelieferte Leistung zu regeln. Das Schalten der Motorinduktivität mittels den Halbleitern erzeugt große elektrische Ströme und magnetische Felder. Diese Ströme und Felder sind meistens die Ursache für elektrisches Rauschen im Servosystem.
- Andere Ursachen für elektrisches Rauschen in Servosystemen sind Ströme und Felder, die durch Geräte und Maschinen erzeugt wurden, die das Servosystem umgeben. Eine bei den meisten Servosystemen auftretende Ursache ist Rauschen im Rückkopplungssystem selbst. Um die Effekte des internen Rauschens zu reduzieren, sind die meisten Rückkopplungssysteme mit elektrischer Hysterese behaftet, die sich in einer Stabilisierung der flberlappenden Rechteckwellen auswirkt. Die elektrische Hysterese im Rückkopplungssystem regelt die Schaltschwelle des Sensorelements in Abhängigkeit von der Richtung, aus der die Schwelle angenähert wird. Einige nicht ideale Rückkopplungssysteme haben niedrige oder sogar negative elektrische Hysterese, die die Tendenz des Systems verstärkt, zwischen zwei benachbarten Gray Code-Folgen der überlappenden Rechtecks-Quadratursignale zu oszillieren.
- Ein ideales Rückkopplungssystem sollte Übergänge seines überlappenden Rechtecksignals erzeugen, falls und nur falls sich die Servoachse bewegt, und sollte auch keine Übergänge seines überlappenden Rechtecksignals erzeugen, falls sich die Achse nicht bewegt. Insbesondere sollte das ideale Rückkopplungssystem die Änderung von einer erkennbaren Position zur nächsten bei sehr geringen Geschwindigkeiten unmißverständlich signalisieren, indem ein einziger Übergang des überlappenden Rechtecksignals pro Positionsintervall oder Zähler ausgelöst wird. In einer zum Glücksrad analogen Weise, das zwischen einer Zahl und der nächsten bistabil ist, sollte das ideale Rückkopplungssystem verlangsamen und an einer gegebenen Position stoppen, ohne zwischen zwei Gray Code- Quadraturzuständen oder Positionszählern hin und her zu springen.
- Wie elektrisches Rauschen das ideale Rückkopplungssignal beeinflussen kann
- Ein reales Rückkopplungssystem kann sich aufgrund der Eigenschaft des Rauschens, die vom Rückkopplungssystem durchgeführte Messung zu stören, nicht ideal verhalten. Das reale R(ickkopplungssystem umfaßt eine Art elektrischen Schaltkreis, der eine Messung der mechanischen Bewegung durchführt. Ein bekanntes Verfahren ist es, die Unterbrechung von Licht durch mehrere dunkle Linien zu messen, die auf ein Stück Glas eingeätzt sind, welches zwischen einer Lichtquelle und zwei Lichtsensoren angeordnet ist, die elektrisch um 90º verschoben sind. Wenn die Linie beginnt, einen der Sensoren abzudecken, dann wird die Schwelle des Lichtsensors überschritten und der Sensor signalisiert die Bewegung der Glasscheibe oder Bahn. Das Signal zeigt somit die Bewegung der Achse an. Falls elektrische Schaltkreise oder magnetische Felder, die nicht Teil des Lichts oder Lichtsensors sind, die Lichtintensität oder die Schwelle des Lichtsensors verändern können, dann kann das R(ickkopplungssystem zwischen zwei benachbarten Rückkopplungsübergangszuständen oder Gray Code-Zuständen oszillieren.
- Wie bei einem zwischen zwei benachbarten Zahlen oszillierenden Glücksrad, das aufgrund der schlechten Aufisung ein zweideutiges Ergebnis beim Glücksspiel liefert, erzeugt die fortdauernde Oszillation des Rückkopplungssystems zwischen zwei benachbarten Gray Code-Zuständen ein zweideutiges Ergebnis bzgl. der Position und Geschwindigkeit der Achse. Dieses Phänomen kann entweder auftreten, wenn die Servowelle in Bewegung oder in Ruhe ist.
- Es ist daher die Aufgabe der vorliegenden Erfindung, die zweideutigen Signale des nicht idealen Rückkopplungssystems besser zu interpretieren, um dessen Genauigkeit und Präzision zu erhöhen. Eine andere generelle Aufgabe der Erfindung ist es, die Messung der Geschwindigkeit und Position eines Servosystems bei elektrischem Rauschen zu verbessern und insbesondere, die in den beiden unten beschriebenen Beispielen zu elektrischem Rauschen auftretenden Zweideutigkeiten zu lösen.
- Eine andere Aufgabe der Erfindung ist es, ein verbessertes Servosystem zu schaffen, das die Geschwindigkeit und Position eines Elements mit größerer Genauigkeit und Präzision unter Bedingungen mißt, in denen sich die Geschwindigkeit schnell ändert. Das vorliegende System ermöglicht dies, da es die zwei zur Bestimmung der Geschwindigkeit verwendeten Quadraturübergänge besser auswählt. Dieses System verwendet noch immer die Anzahl der Übergänge geteilt durch die Zeit, aber im vorliegenden Fall sind die ausgewählten Übergänge jene, die unmittelbar vor dem Ende des Abtastintervalls liegen.
- Eine weitere Aufgabe der vorliegenden Erfindung ist es, ein Geschwindigkeits- und Positionsregelsystem für ein Mehrfachachsen-Servosystem zu schaffen, welches höchst genau und präzise ist, selbst wenn es bei Auftreten von elektrischem Rauschen betrieben wird.
- Erfindungsgemäß umfaßt eine Kombination aus Hardware und mikroprozessorgetriebener Software ein Verfahren und eine Maschine, die hochgenaue Geschwindigkeits- und Positionsmessungen in einem Servosystem unter verschiedenen Betriebsbedingungen und in einer Umgebung mit elektrischem Rauschen durchfühen kann. Im allgemeinen wird die vorliegende Erfindung mit einem Servoregler angewendet, der keinen Tachometer aufweist, sondern die Zeit zwischen den Quadraturübergängen in einzigartiger Weise mißt, um eine verläßliche Geschwindigkeitsmessung zu bewirken.
- Wenn sie mit einer Rotationswelle benutzt wird, dann verwendet die erfindungsgemäße Vorrichtung einen Rotations-Positionssensor, der eine sog. "diskrete Quadratur" erzeugt, die ein digitales Zwei-bit-Signal in Gray Code ist. Wenn der Rotations-Positionssensor um einen festen Winkel rotiert ist, dann ändert sich das Quadratursignal. Der Begriff "Quadraturübergang wird verwendet, um auf die Bewegung des Rotations-Positionssensors über einen Winkel zu verweisen, der genügend groß ist, um den Quadraturausgang des Sensors in die nachfolgende Gray Code-Folge übergehen zu lassen. Eine Gruppe von Quadraturübergängen besteht aus zwei oder mehr Quadraturübergängen. Der Begriff "Zählwert" oder "Positionszählwert" bezeichnet den Winkel der Welle des Rotations-Positionssensors zwischen aufeinanderfolgenden Quadraturübergängen. Der Begriff "Position" bezeichnet die Anzahl der Positionszählwerte, ausgehend von einem Referenzzählwert Null. Der Begriff "Geschwindigkeit" bezeichnet die Anzahl der Zähler pro Sekunde, mit der sich der Rotations-Positionssensor dreht.
- Die vorliegende Erfindung berücksichtigt Abtastintervalle, die nominal mit der Abtastfrequenz des Servoreglers zusammenfallen. Während des Abtastintervalls zeichnet eine Vorrichtung die Zeiten auf, zu denen Gray Code-Übergänge des Rückkopplungssystems auftreten. Das Abtastintervall hat üblicherweise eine Länge von etwa einer Millisekunde. Die Gray Code-Übergänge werden etwa jede Mikrosekunde ausgewertet. Am Ende jedes Abtastintervalls bestimmt ein Mikroprozessor die wahrscheinliche Geschwindigkeit, basierend auf der Positionsdifferenz zwischen Anfang und Ende des Abtastintervalls und der Zeit, zu der der letzte Übergang aufgetreten ist. Da der Mikroprozessor die Abtastwerte von einem Abtastintervall zum Nächsten speichert, kann die Geschwindigkeit in ähnlicher Weise wie im Patent Nr. 4,639,884 berechnet werden. Trotz der Tatsache, daß die Zeit jedes Quadraturübergangs aufgezeichnet wird, ermöglicht es der Mikroprozessor die bei der Geschwindigkeitsberechnung zu verwendenden Quadraturübergänge besser auszuwählen. Dadurch kann der erfindungsgemäße Mikroprozessor die Auswirkungen des elektrischen Rauschens auf die Messung reduzieren.
- Somit umfaßt die Erfindung ein Verfahren zum Messen der Geschwindigkeit einer von einem Motor zyklisch angetriebenen Servowelle, ohne Verwendung eines Tachometers. Das Verfahren beginnt bei der Erzeugung zweier Quadratursignale aus der Bewegung der Welle (Achse), wobei Übergänge für jeden Zyklus als 00, 01, 11,10 und dann zurück zu 00 in Gray Code ausdrückbar sind. Gleichzeitig wird, wie von einem Taktgeber, eine große Anzahl von gleichmäßig beabstandeten Pulsen erzeugt, die eine ausgewählte Anzahl an Taktimpusen als ein Abtastintervall kennzeichnen, beginnend mit einem Anfangsimpuls. Im Verfahren folgt das Einlesen der Zahl der Taktimpulse zwischen dem letzten Quadraturübergang im vorhergehenden Abtastintervall (falls einer aufgetreten ist) und dem letzten Übergang im aktuellen Abtastintervall, und dann das Bestimmen der Geschwindigkeit, indem die Gesamtzahl der Quadraturübergänge zwischen den ausgewählten Übergängen durch die Gesamtzahl der Taktimpulse während dieser Zeit dividiert wird.
- Insbesondere umfaßt das Verfahren das Speichern einer ersten Zeit in einen FIFO (first-in, flrst-out) Speicher, wenn ein ausgewählter Quadraturübergang aufgetreten ist, das Subtrahieren einer zweiten Zeit eines vorangehenden ausgewählten Quadraturübergangs von der ersten Zeit, um die Anzahl der Taktimpulse zwischen zwei ausgewählten Quadraturübergängen zu erhalten.
- Wenn das Verfahren auf mehrere verschiedene Servowellen angewendet wird, dann berücksichtigt es das Multiplexen der Eingangsquadratur und das Zuweisen der Kennung jeder Welle zu den Zählwerten und Quadraturidentitäten in den FIFO. Das Verfahren kann sowohl bei einer Rotationswelle als auch bei einer Welle mit Drehrichtungsumkehr verwendet werden, wobei aus der Sequenz der Gray Code- Übergänge die Richtung der Wellenbewegung ermittelt wird.
- Die vorliegende Erfindung umfaßt als Hardware eine erste Speichereinrichtung zur Aufzeichnung der Zeit jedes Quadraturübergangs (d.h. die Anzahl der Taktschläge seit Beginn des Abtastintervalis) des Gray Codes des Rückkopplungssystems innerhalb eines vorbestimmten Abtastintervalls, welches zur Ermittlung der Geschwindigkeit und Position verwendet wird. Dies ist der Unterschied zum Verfahren des bekannten Patents Nr. 4,639,884, welches erfordert, daß die aufzuzeichnenden Quadraturübergänge im Vorhinein ausgewählt werden müssen. Die vorliegende Erfindung umfaßt auch einen zweiten Speicher zum Aufzeichnen der Differenz der Gray Code-Positionszähler zwischen dem Start und Ende eines Abtastintervalls. Nach jedem Abtastintervall wird ein Computer zum Auslesen und Aufzeichnen der Zeit des letzten Gray Code-Übergangs und der Differenz der Gray Code-Übergänge im Verlauf des Abtastintervalls verwendet. Der Computer umfaßt ferner eine Einrichtung zum deduktiven Ableiten der wahrscheinlichen Geschwindigkeit der Achse, falls mehr als eine Interpretation der Zeit- und Positionsinformation möglich ist. Wenn die Vorrichtung mit mehreren Wellen verwendet wird, so ist ein Multiplexer vorgesehen, der den für erfindungsgemäße Mehrfachachsen-Servosysteme erforderlichen Schaltungsaufwand merklich reduziert.
- Andere Aufgaben, Vorteile und Merkmale der Erfindung werden nachstehend anhand der beiliegenden Zeichnungen beispielhaft erläutert.
- Es zeigen:
- Fig.1 ein Blockdiagramm der Hauptbestandteile eines herkömmlichen Servosystems;
- Fig. 2 eine Darstellung eines bekannten Servosystems, bei dem ein Tachometer eingesetzt wird;
- Fig. 3 ein Blockdiagramm eines bekannten Servosystems, bei dem ein Tachometer verwendet wird;
- Fig. 4 ein Blockdiagramm eines erfindungsgemäßen Servosystems mit einer Geschwindigkeits- und Positionsmeßvorrichtung;
- Fig. 5 ein Diagramm als erstes Beispiel für den Effekt des elektrischen Rauschens in einem Servosystems, bei dem die Welle in Bewegung ist;
- Fig. 6 ein Diagramm als ein zweites Beispiel für den Effekt des elektrischen Rauschens in einem Servosystem, wobei die Welle in Ruhe ist;
- Fig. 7 ein Blockdiagramm einer vereinfachten Geschwindigkeits- und Positionsmeßvorrichtung, die im Servosystem in Fig. 4 verwendet wird, das die Grundsätze der vorliegenden Erfindung verdeutlicht;
- Fig. 8 ein Zeitdiagramm der Phasenübergänge während einer Serie von Abtastintervallen zur Demonstration der Geschwindigkeitsberechnung in einem erfindungsgemäßen Servosystem;
- Fig. 9 ein Flußdiagramm zur logischen Bestimmung der Achsengeschwindigkeit für den "ruhenden" Fall in Fig. 6 bei elektrischem Rauschen;
- Fig. 10 ein schematisches Diagramm einer Mehrfachachsen-Vorrichtung, welche die Grundsätze der Erfindung verwirklicht;
- Fig. 11A, 11B und 11C umfassen einen ausgedehnten Schaltkreis und ein schematisches Diagramm für die Mehrfach-Achsen-Vorrichtung in Fig. 10.
- Fig. 1 umfaßt die Hauptelemente eines Servo-Regelsystems, die für die Diskussion dieser Erfindung wichtig sind. Ein bevorzugtes Rückkopplungselement 11 mißt die Position oder Geschwindigkeit, oder beides - und ist mit einem Regler 12 verbunden, der dem Stellglied 10 Leistung zuführt, um eine gewünschte Bewegung zu bewirken oder einen Einstelwert des Reglers zu erreichen, wie z. B. eine Soll-Position, -Geschwindigkeit oder -Beschleunigung.
- Fig. 2 zeigt ein Servosystem mit einem Tachometer als Beispiel fur einen Stand der Technik. Ein elektrischer Gleichstrommotor 13 treibt eine Last 14 an. Der Motor 13 treibt auch ein Tachometer 15 an, welches ein Signal erzeugt, das proportional zur Drehzahl der Welle 16 ist. Ein Regler 17 verwendet das Signal vom Tachometer 15, um die Geschwindigkeit der Last 14 zu messen. Der Regler 17 kann mittels eines Dreh- Positionsrückkopplungssystems oder einer Codiereinrichtung 18 die Position der Last 14 bestimmen. Der Regler 17 empfängt, steuert und regelt die Geschwindigkeit oder Position der Last 14.
- Fig. 3 ist ein Blockdiagramm eines Regelkreises, der im Stand der Technik üblicherweise für eine Servoregelung verwendet wurde. Andere Regleranordnungen sind möglich, die Verwendung eines Signals von einem Motorendrehzahlsensor (Tachometer 15) und einem Positionssensor 18 wäre jedoch ähnlich. In Fig. 3 ist ein zweiteiliger Regler 17a, 17b dargestellt, der eine Positionsabweichung ermittelt, indem er die Differenz zwischen der Sollposition und Istposition aufnimmt, die vom Positionssensor 18 gemessen wird, welcher das Dreh-Positionsrückkopplungselement ist. Der Positionsregler 17a verwendet diese Positionsabweichung, um eine Sollgeschwindigkeit zu erzeugen: D.h., wenn die Positionsabweichung abnimmt, so tut dies auch das Soll-Geschwindigkeitssignal, um den Wert des Motorstelsignals zu bestimmen. Servo-Regelsysteme, die eine derartige Regelungsstrategie verwenden, werden in tausenden industriellen Prozeßsteuerungen eingesetzt.
- Fig. 4 ist ein Blockdiagramm eines Regelkreises, der für Servosysteme typisch ist, die das Verfahren und die Vorrichtung der vorliegenden Erfindung anwenden. Bei dieser bevorzugten Ausführungsform erzeugt ein Positionssensor 19 überlappende Rechtecksignale in Quadratur (die um 90º phasenverschoben sind), die von einem Block 20 verarbeitet werden, der das Verfahren und die Vorrichtung der vorliegenden Erfindung enthält, um sowohl Geschwindigkeits- als auch Positionssignale zu erzeugen. Das Positionssignal wird an eine Summationskomponente geliefert, die auch mit einem Soliwerteingang versehen ist. Der Positionsregler 21a verwendet die Positionsabweichung zwischen dem Sollwert und der Position, die von dem Verfahren und der Vorrichtung 20 erzeugt wurde, um eine Sollgeschwindigkeit zu erzeugen. Dieses Signal der Sollgeschwindigkeit wird an eine andere Summationskomponente geliefert, die es mit dem Geschwindigkeitsausgang des Vorrichtungsblocks 20 vergleicht, um eine Eingangsgröße für einen Geschwindigkeitsregler 21b zu schaffen. Der Geschwindigkeitsregler 21b verwendet dann die Sollgeschwindigkeit und das verarbeitete Signal des Blocks 20, um den Wert einer Stellgröße für den Stellmotor 13 zu bestimmen.
- Wenn sich eine Servoachse, die von der Vorrichtung in Fig. 4 geregelt wird, gleichmäßig in eine Richtung bewegt, wird erwartet, daß die Gray Code Sequenz der Phasensignale A und B, die von dem Rückkopplungssystem ausgesendet werden, monoton sind, z. B. 00, 01, 11, 10, 00, 01, usw. Die berechnete Geschwindigkeit wäre dann monoton und ein Geschwindigkeitsgraph über der Zeit wäre ebenfalls monoton. Die Steigung des Flankenanstiegs der Geschwindigkeit über der Zeit wird nicht das Vorzeichen wechseln.
- Wie zuvor beschrieben wurde, stellte jedoch das elektrische Rauschen ein Problem bzgl. der genauen Geschwindigkeitsmessung dar.
- In einem ersten numerischen Beispiel des elektrischen Rauschen, wie es in Fig. 5 gezeigt ist, bewegt sich die Stelachse während eines ersten ausgewählten Intervalls zunächst gleichmäßig in eine Richtung. Jetzt verändert die Einwirkung des elektrischen Rauschens die Gray Code Sequenz, die vom Rückkopplungselement ausgesendet wurde, z. B. in 00, 01, 11, 01, 11, 10, 00, 01, wobei eine mehrdeutige Sequenz 01,11, 01, 11 erzeugt wird. Diese fehlerhafte Sequenz impliziert, daß die Achse gestoppt, rückwärts bewegt, nochmals gestoppt, und dann wieder vorwärts bewegt wurde, obwohl tatsächlich keine Umkehr der Welle aufgetreten ist. Damit diese Sequenz aufgetreten wäre, hätte das Vorzeichen der Geschwindigkeit zweimal wechseln müssen. Angenommen, es würden z. B. 100 monotone Gray Code Sequenzen in einer beliebigen positiven Richtung in 100 Milsekunden während eines ersten ausgewählten Intervalls auftreten und dann würde ein Wechsel in Rückwärts- und Vorwärtsrichtung innerhalb von 50 Mikrosekunden auftreten, (was ein zweites ausgewähltes Intervall kennzeichnet) gefolgt von nochmals 100 monotonen Gray Code Sequenzen in derselben positiven Richtung während der folgenden 100 Millisekunden (das dritte ausgewählte Intervall). Ein bekanntes System hätte normalerweise für diese Daten eine Geschwindigkeit von 100 Übergängen oder Zählern geteilt durch die genaue Anzahl der Takte während der ersten 100 Millisekunden und eine Geschwindigkeit von Null für das zweite ausgewählte Intervall oder das 50 Mikrosekunden Intervall zwischen den zwei monotonen Gray Code Sequenzen berechnet. Somit hätte der Effekt des elektrischen Rauschens auf das Rückkopplungssignal in diesem Beispiel die Wirkung, daß die Vorrichtung eine nichtmonotone Geschwindigkeit bzgl. der Zeit berechnen würde, wodurch die Achse ruckeln würde. Die Geschwindigkeitsmessung mit bekannten Vorrichtungen hat das Rauschen nicht ausgefiltert, sondern statt dessen das Rauschen in dem Rückkopplungssystem verstärkt und die Betriebseistung des Gesamten Servosystems verschlechtert, wodurch die Maschine oder der dadurch geregelte Prozeß nicht in gewünschter Weise gefahren wurde.
- Ein zweites numerisches Beispiel für den Effekt des elektrischen Rauschens wird bzgl. der Fig. 6 erläutert. Es wird angenommen, daß eine Stellachse in Ruhe ist und daß das Rückkopplungssystem körperlich angrenzend an dem Punkt positioniert ist, an dem ein Übergang der überlappenden Rechteckwellen auftreten soll. Im Falle eines optischen Sensors mit im Glas eingeätzten Linien wird z. B. angenommen, daß eine Linie den optischen Sensor teilweise verdeckt, der nahe an seinem elektrischen Schweliwert liegt. Der Ausgang des Rückkopplungssystems bleibt anfänglich ungeändert, wobei er angibt, daß die bewegte Achse in Ruhe ist.
- Wenn sich nun das elektrische Rauschen auf das Rückkopplungssystem auswirkt, z. B. wenn eine geringe Änderung der Leistung auftritt, die den elektrischen Antriebsmotoren zugeführt wird, dann wird der Rückkopplungssensor aufgrund des Rauschens zwei rauschinduzierte Übergänge zwischen aufeinanderfolgenden Gray Code Werten, z. B. 01, 00, 01, ausführen, obwohl sich die Achse nicht bewegt. Es wird des weiteren angenommen, daß die Quelle des elektrischen Rauschens die pulsbreitenmodulierten Leistungstransistoren eines elektrischen Motorverstärkers sind. Falls z. B. eine Schaltfrequenz des Motorverstärkers 20kHz (20.000 Umläufe pro Sekunde) ist, dann wäre die Periode von rauschindozierten Gray Code-Übergängen, wie sie von bekannten Vorrichtungen gemessen worden wäre, 50 Mikrosekunden (0,000050 Sekunden). Falls die bekannten Vorrichtungen die zwei rauschindozierten Übergänge 01 auf 00 und 00 auf 01 ausgewählt und aus diesen Übergängen eine Geschwindigkeit berechnet hätten, dann wäre die Geschwindigkeit 1 geteilt durch die Anzahl der dazwischenliegenden Takte. Die bekannte Vorrichtung hätte deshalb eine Geschwindigkeit gemessen, die im wesentlichen identisch mit der Frequenz der Leistungsschaltung des Motorverstärkers oder 20.000 Übergänge oder Zähler pro Sekunde wäre. Diese nicht korrekt gemessene Geschwindigkeit würde folglich bewirken, daß die Servoregelung irrtümlicherweise auf die rauschinduzierten Übergänge reagieren und versuchen würde, die Position der in Ruhe befindlichen Achse zu korrigieren. Die Achse würde springen und möglicherweise das Servosystem beschädigen oder eine nicht gewünschte Veränderung der Position bewirken, wenn die Welle ihre Bewegung wieder aufnehmen würde. Die vorliegende Erfindung reduziert den Effekt des elektrischen Rauschens in großem Maße.
- Bzgl. der Zeichnungen zeigt Fig. 7 schematisch eine vereinfachte Form eines Geschwindigkeits- und Positionsgenerators 20, der die Prinzipien der Erfindung verkörpert.
- Ein Taktgeber 30 synchronisiert eine Zeitquelle oder einen Zähler 31 und einen endlichen Automaten 32, zu dem überlappende Rechtecksignale (A, B) in Quadratur geleitet werden. Der endliche Automat 32 steuert ein Positionsdifferenz- Speicherpaar 33 und ein Speicherpaar für die Zeit des letzten Übergangs 34.
- Das Positionsdifferenz-Speicherpaar 33 und das Speicherpaar 34 für die Zeit des letzten Übergangs bestehen jeweils aus einem Arbeitsspeicher, der zur Akkumulation eines Wertes für das aktuelle Abtastintervall dient, und aus einem Halteregister, daß den Endwert eines vorhergehenden Abtastintervalls hält.
- Bei jedem Übergang (tick) des Taktgebers 30 inkrementiert die Zeitquelle 31 und der endliche Automat 32 ermittelt den Status der Quadratursignale. Falls ein Übergang der Quadratur aufgetreten ist, dann bewirkt der endliche Automat 32, daß die aktuelle Zeit der Zeitquelle 31 an den Arbeitsregister des Speicherpaares 34 für die Zeit des letzten Übergangs geleitet wird und gleichzeitig der Arbeitsspeicher des Positionsdifferenz-Speicherpaares 33 entweder um eins, erhöht oder erniedrigt wird, abhängig von der Bewegungsrichtung, die durch die Quadratursignale angezeigt wird. Der Positionsdifferenzwert wird in Form des sog. "Zweierkomplements" dargestellt, welches das entweder positive oder negative Vorzeichen der Positionsdifferenz enthält.
- Beim Übergang des Taktgebers 30, der ein neues Abtastintervall beginnt, bewirkt der endliche Automat 32, daß die Arbeitsspeicher des Speicherpaares 34 für die Zeit des letzten Übergangs und das Positionsdifferenz-Speicherpaar 33 zu Haltespeichern werden, und gleichzeitig die Haltespeicher des Speicherpaares 34 für die Zeit des letzten Übergangs und das Positionsdifferenz-Speicherpaar 33 zu Arbeitsspeichern werden.
- Falls kein übergang der Quadratur aufgetreten ist, dann bewirkt der endliche Automat 32, daß die Länge des Abtastintervalls im Arbeitsspeicher des Speicherpaars 34 für die Zeit des letzten Übergangs gespeichert wird und gleichzeitig Null in den Arbeitsspeicher des Positionsdifferenz-Speicherpaares 33 gespeichert wird.
- Falls ein Quadraturübergang aufgetreten ist, dann bewirkt der endliche Automat 32, daß der Wert "EINS" in den Arbeitsspeicher des Speicherpaares 34 für die Zeit des letzten Übergangs gespeichert wird, und gleichzeitig der Arbeitsspeicher des Positionsdifferenz-Speicherpaares 33 entweder mit einer positiven "1" oder negativen "1" geladen wird, abhängig von der von den Quadratursignalen angegebenen Bewegungsrichtung.
- Ein FIFO-Interface 35 ist vorgesehen, um die Ausgangsgrößen der Speicher 33 und 34 zu empfangen. Kurze Zeit nach dem Übergang des Taktgebers, wodurch ein neues Abtastintervall begonnen wird, aber vor dem Ende des Abtastintervalls, bewirkt das FIFO-Interface 35, wenn es von einem Computer 36 abgefragt wird, daß die in den Haltespeichern des Speicherpaars 34 für die Zeit des letzten Übergangs und des Positionsdifferenz-Speicherpaars 33 für jede Achse gespeicherten Werte zum Computer 36 übertragen werden.
- Fig. 8 ist ein Zeitdiagramm, welches eine typische Serie von Abtastintervallen zur Darstellung des Betriebs des erfindungsgemäßen Servosystems 20 zeigt. Es ist eine Reihe von Gray Code-Quadraturübergängen der Phasen A und B dargestellt, wie sie von einem solchen System erzeugt werden können, wobei ferner die Intervalle und Variablen dargestellt sind, die zur Berechnung der Geschwindigkeiten der Gray Code Serien jeder der fünf vollen Abtastperioden verwendet werden. Es sind typische Ausgangswerte der Positionsdifferenz-Speicher 33 und der Speicher 34 für die Zeit des letzten Übergangs (gezeigt in Fig. 7) während der Abtastintervalle dargestellt, und es wird das Verfahren zur Positions- und Geschwindigkeits berechnung der Achsen am Ende jedes Abtastintervalls unter Verwendung der Inhalte dieser zwei Speicher beschrieben.
- Im gezeigten Beispiel wird angenommen, daß der Taktgeber der Vorrichtung 1 000 mal pro Intervall tickt, und daß die Taktgeberfrequenz eine Million ticks pro Sekunde ist. Deshalb ist die Länge des Abtastintervalls 1 000 Mikrosekunden oder eine Millisekunde (0,001 Sekunden). Es wird auch angenommen (von links nach rechts in Fig. 8 lesend), daß die gemessene Achsenposition durch einen Positionszählwert am Start des ersten Abtastintervalls gegeben ist; daß ein Übergang im Abtastintervall unmittelbar vor dem ersten Abtastintervall aufgetreten ist; und daß ein Übergang zur Zeit 700 bzgl. des Starts des Abtastintervalls unmittelbar vor dem ersten Abtastintervall aufgetreten ist. In der Darstellung in Fig. 8 bezieht sich der Begriff TLTR auf die Zeit vom Beginn eines Abtastintervalls bis zum letzten Übergang in diesem Intervall; TLST bezieht sich auf die Zeit vom letzten Übergang in einem Abtastintervall bis zum Ende dieses Intervalls; DELP bezieht sich auf die Postitionsdifferenz oder die Anzahl der Übergänge in einem Abtastintervall; LENSAMP ist die Länge eines Abtastintervalls. Die Computervariable TLST&sub0; enthält deshalb den Wert 1 000 - 700 = 300 am Ende des Abtastintervalls, das dem ersten Abtastintervall unmittelbar vorangeht.
- Während des ersten Abtastintervalls treten vier Quadraturübergänge auf. Nach dem ersten Übergang erhöht die Vorrichtung den Positionsdifferenzspeicher von null auf eins und hält die Zeit des letzten Übergangs im Speicher für die Zeit des letzten Übergangs als 100 Taktgeber-Ticks fest. Nach dem zweiten Übergang erhöht die Vorrichtung den Positionsdifferenzspeicher von eins auf zwei und zeichnet die Zeit als 250 Taktgeber-Ticks auf. Nach dem dritten Übergang erhöht die Vorrichtung den Positionsdifferenzspeicher von zwei auf drei und hält die Zeit als 400 Taktgeber- Ticks fest. Nach dem vierten Übergang erhöht die Vorrichtung den Positionsdifferenzspeicher von drei auf vier und hält die Zeit als 600 Taktgeber-Ticks fest.
- Am Ende des ersten Abtastintervalls berechnet der Computer die Geschwindigkeit aus der Anzahl der Quadraturübergänge, die während des ersten Abtastintervalls aufgetreten sind geteilt durch das Zeitintervall vom letzten Übergang im Abtastintervall, das dem ersten Abtastintervall unmittelbar vorangeht, bis zur Zeit des letzten Übergangs im ersten Abtastintervall. Somit gilt:
- Alle Geschwindigkeitsberechnungen im Computer 36 werden eigentlich mit höherer Genauigkeit durchgeführt als es die drei bedeutsamen Zahlen hier zeigen. Der Computer aktualisiert dann den Achsenpositionswert auf 1 + 4 = 5 Positionszähler. (Erinnem sie sich, daß die gemessene Achsenposition zu Beginn des ersten Abtastintervalls ein Positionszähler war.) Schließlich wird TLST&sub1; als 1000 - TLTR&sub1; berechnet, was 1000 - 600 oder 400 ist. TLST&sub1; wird nun zur Berechnung der Geschwindigkeit während des zweiten Abtastintervalls verwendet. Die Vorrichtung setzt dann den Positionsdifferenzspeicher auf Null.
- Während des zweiten Abtastintervalls tritt ein Quadraturübergang auf. Nach dem ersten Übergang erhöht die Vorrichtung den Positionsdifferenzspeicher von null auf eins und hält die Zeit des letzten Übergangs (TLTR&sub2;) als zweihundert Taktgeber- Ticks im Speicher für die Zeit des letzten Übergangs fest.
- Am Ende des zweiten Abtastintervalls berechnet der Computer die Geschwindigkeit als Anzahl der Quadraturübergänge, die während des zweiten Abtastintervalls aufgetreten sind geteilt durch das Zeitintervall vom letzten Übergang des Abtastintervalls (TLST&sub1;), das dem zweiten Abtastintervall unmittelbar vorangeht, bis zu der Zeit des letzten Übergangs im zweiten Abtastintervall. Somit gilt:
- Der Computer aktualisiert dann die Achsenposition auf 5 + 1 = 6 Positionszähler. Schließlich wird TLST&sub2; als 1000 - TLTR&sub2; berechnet, was 1000 - 200 oder 800 ist. TLST&sub2; wird zur Berechnung der Geschwindigkeit während des dritten Abtastintervalls verwendet.
- Während des dritten Abtastintervalls treten keine Quadraturübergänge auf.
- Am Ende des dritten Abtastintervalls bestimmt der Computer, daß der Positionsdifferenzspeicher Null ist. Der Computer untersucht dann den Speicher für die Zeit des letzten Übergangs und bestimmt daraus, daß der Speicher die Länge des Abtastintervalis oder 1000 enthält, was angibt, daß keine Übergänge aufgetreten sind. (Falls der Speicher für die Zeit des letzten Übergangs nicht gleich der Länge des Abtastintervalls gewesen wäre, dann hätte der Computer daraus abgeleitet, daß Übergänge aufgetreten wären, die sich algebraisch zu Null summieren.) Der Computer bestimmt dann die Zeitdauer vom letzten Übergangs des zweiten Abtastintervalls bis zum Ende des dritten Abtastintervalls. Die Dauer ist TLST&sub2; + TLTR&sub3; , was 800 + 1000 = 1800 ist. Da 1800 größer ist als die vorhergehende Dauer von 600 im dritten Abtastintervall, beginnt der Computer dann, die Geschwindigkeit zu schätzen, indem er annimmt, daß ein Übergang gleichzeitig mit dem Ende des dritten Abtastintervalls stattgefunden hat. Der Computer berechnet deshalb die Geschwindigkeit als:
- Der Computer aktualisiert dann die Achsenposition auf 6 + 0 = 6 Positionszähler, da während des dritten Abtastintervalls keine Übergänge aufgetreten sind. Schließlich wird TLST&sub3; als 1000 - TLTR&sub3; berechnet, was 1000 - 1000 oder gleich 0 ist. TLST&sub3; wird bei der Berechnung der Geschwindigkeit während des vierten Abtastintervalls verwendet.
- Während des vierten Abtastintervalls tritt ein Quadraturübergang auf. Nach dem Übergang erhöht die Vorrichtung den Positionsdifferenzspeicher von 0 auf 1 und hält die Zeit des letzten Übergangs im Speicher für die Zeit des letzten Übergangs als 750 Taktgeber-ticks fest.
- Am Ende des vierten Abtastintervalls berechnet der Computer die Geschwindigkeit aus der Anzahl der Quadraturübergänge, die während des vierten Abtastintervalls aufgetreten sind geteilt durch das Zeitintervall vom letzten Übergang im Abtastintervall, das dem vierten Abtastintervall unmittelbar vorangeht, bis zu der Zeit des letzten Übergangs im vierten Abtastintervall. Diese Berechnung ist:
- Der Computer aktualisiert dann die Achsenposition auf 6 + 1 = 7 Positionszähler. Schließlich wird TLST&sub4; als 1000 - TLTR berechnet, was 1000 - 750 oder 250 ist. TLST&sub4; wird bei der Berechnung der Geschwindigkeit während des fünften Abtastintervalls verwendet.
- Während des fünften Abtastintervalls treten keine Quadraturübergänge auf.
- Am Ende des fünften Abtastintervalls bestimmt der Computer, daß der Positionsdifferenzspeicher 0 ist. Der Computer untersucht dann den Speicher für die Zeit des letzten Übergangs und bestimmt daraus, daß der Speicher die Länge des Abtastintervalls oder 1000 enthält, was angibt, daß keine Übergänge aufgetreten sind. (Falls der Speicher für die Zeit des letzten Übergangs nicht gleich der Länge des Abtastintervalis gewesen wäre, dann hätte der Computer daraus abgeleitet, daß Übergänge aufgetreten sind, die sich algebraisch zur Null summieren.) Der Computer bestimmt dann die Zeitdauer vom letzten Übergang im vierten Abtastintervall bis zum Ende des fünften Abtastintervalis. Die Dauer ist TLST&sub4; + TLTR&sub5;, was 250 + 1000 = 1250 ist. Da 1250 kleiner ist als die vorhergehende Dauer von 2550 im vierten Abtastintervall, kann der Computer die Geschwindigkeit dann nicht abschätzen, indem er annimmt, daß ein Übergang gleichzeitig mit dem Ende des fünften Abtastintervalis aufgetreten ist. Der Computer läßt sowohl die Geschwindigkeit als auch die Position im fünften Abtastintervall ungeändert.
- Schließlich wird TLST&sub5; als 1000 - TLTR&sub5; berechnet, was 1000 - 1000 oder 0 ist. TLST&sub5; wird bei der Berechnung der Geschwindigkeit während des sechsten Abtastintervalls verwendet. Das zuvor Beschriebene demonstriert den typischen Ablauf eines Servosystems, wobei die Geschwindigkeitsberechriung kontinuierlich von einem Abtastintervall zum Nächsten aktualisiert wird, und die genaue Zeit für jede Berechnung die Zeit zwischen dem letzten Übergang im gegenwärtigen und vorangehenden Abtastintervall ist.
- Fig. 9 ist ein Flußdiagramm, welches weiter zum Verständnis des Verfahrens des Computers 36 beiträgt, um die Geschwindigkeit unter Verwendung der vorliegenden Erfindung zu bestimmen. Der Computer 36 ermittelt zunächst in Block 44, ob der absolute Wert der Positionsdifferenz im vorangehenden Abtastintervall weniger als 2, d. h. entweder "1" oder "0" ist oder nicht. Falls der Positionsdifferenzwert 2 oder größer ist, dann berechnet der Computer 36 die Achsengeschwindigkeit in Block 46 als Differenz der Achsenposition geteilt durch die Zeitdifferenz zwischen dem letzten Übergang des aktuellen und des vorangehenden Abtastintervalls.
- Falls der Computer 36 feststellt, daß der absolute Wert der Positionsdifferenz im vorangehenden Abtastintervall kleiner als zwei ist, dann geht der Computer 36 zu Block 48 und versucht, aus den mehrdeutigen Interpretationsmöglichkeiten der Abtastintervall-Positionsdifferenz 33 und des Speichers für die Zeit des letzten Übergangs 24 eine Auswahl zu treffen. Falls die Positionsdifferenz im Abtastintervall Null ist, so geht er zu Block 50, und falls die Zeit des letzten Übergangs gleich der Länge des Abtastintervalls ist, so geht er zu Block 52, wobei der Computer 36 ableitet, daß während des Intervalls keine Quadraturübergänge aufgetreten sind. Die ermittelte Geschwindigkeit wird davon abhängen, ob die gemessene Geschwindigkeit momentan mit Null aufgezeichnet wird. Falls die gemessene Geschwindigkeit momentan Null ist, entsprechend Block 54 in Fig. 8, dann wird die gemessene Geschwindigkeit bei Null belassen. Falls die gemessene Geschwindigkeit aktuell nicht Null ist, dann vergleicht der Computer 36 in Block 56 die Periode der vorangehenden Geschwindigkeitsberechnung mit der Periode, die sich ergeben würde, wenn im letzten Moment des Abtastintervalls ein Übergang aufgetreten wäre. Falls die letztere Periode größer ist, entsprechend Block 58, dann leitet der Computer 36 daraus ab, daß die Geschwindigkeit momentan niedriger ist als die letztlich berechnete Geschwindigkeit, und zeichnet deshalb diese geschätzte Geschwindigkeit auf. Falls die letztere Periode nicht größer ist, entsprechend Block 60, so leitet der Computer 36 daraus ab, daß die Geschwindigkeit momentan nicht niedriger ist als die zuletzt berechnete Geschwindigkeit und läßt deshalb die zuletzt gemessene Geschwindigkeit ungeändert.
- Falls die Positionsdifferenz im Abtastintervall Null ist und die Zeit des letzten Übergangs in Block 50 als nicht gleich der Länge des Abtastintervalls bestimmt wird, dann leitet der Computer 36 im Block 62 daraus ab, daß wenigstens zwei Übergänge aufgetreten sind, deren algebraische Summe Null ist. Falls z. B. die als Gray Code zu Beginn des Intervalls dargestellten Quadratursignale noch einen Übergang auf 11 und dann zurück auf 01 durchlaufen, dann würde die Differenz im Positionsspeicher 34 am Ende des Abtastintervalls Null betragen, aber der Speicher 33 für die Zeit des letzten Übergangs würde die Zeit aufweisen, zu der ein Übergang von 11 auf 01 auftrat. Die Folge könnte gut mehrere male wiederholt worden sein, wobei sie z. B. bei 01 beginnt und endet, aber 11, 01, 11, 01 usw. umfaßt. In all diesen Fällen ist die algebraische Summe der Übergänge null, womit der Positionsdifferenzspeicher 34 immer am Ende des Abtastintervalls eine Null enthält. Nachdem der Computer 36 gefolgert hat, daß wenigstens zwei Übergänge auftraten, die sich algebraisch zu Null summieren, leitet der Computer 36 daraus ab, daß die Geschwindigkeit der Achse ebenfalls Null ist und der Computer 36 zeichnet die Geschwindigkeit Null auf.
- Falls der Computer 36 nach dem Lesen des Positionsdifferenzspeichers 33 herausfindet, daß der absolute Wert der Positionsdifferenz im Abtastintervall eins ist, entsprechend Block 64 in Fig. 9, dann muß der Computer 36 in Block 66 zwischen zwei potentiell mehrdeutigen Interpretationen der Daten auswählen. Die offensichtliche Interpretation ist, daß der Computer 36 die Geschwindigkeit als eins geteilt durch die Zeit der Periode zwischen dem letzten und vorletzten Quadraturübergang in Sekunden berechnen sollte. In den meisten Fällen wird die Berechnung genau sein. In dem Fall jedoch, in dem elektrisches Rauschen zu einem Übergang führte, kann die Periode extrem klein und somit die berechnete Geschwindigkeit, die das Inverse der Periode ist, extrem groß sein.
- Die vorliegende Erfindung ermöglicht die Lösung dieser Mehrdeutigkeit, indem der Computer 36 das Vorzeichen der Positionsdifferenz im Abtastintervall untersucht und das Vorzeichen mit dem Quadraturübergang, der dem letzten Quadraturübergang unmittelbar vorangeht, vergleicht. Falls der Computer 36 feststellt, daß das Vorzeichen der Positionsdifferenz im Abtastintervall gegenteilig zum Vorzeichen der Positionsdifferenz im Abtastintervall ist, welches dem Abtastintervall unmittelbar vorangeht, entsprechend Block 68, dann leitet der Computer 36 daraus ab, daß dieser Übergang Rauschen ist oder die Achse gerade aus der Ruhe anläuft. In beiden Fällen ist die Geschwindigkeit im wesentlichen Null und der Computer verzeichnet dem Wert Null. Falls das Vorzeichen und daher die Bewegungsrichtung die gleiche ist, wie beim vorhergehenden Übergang, entsprechend Block 70 in Fig. 8, dann berechnet der Computer 36 die Geschwindigkeit als eins geteilt durch die Periode zwischen dem letzten und dem vorletzten Quadraturübergang.
- Falls der Computer 36 die Positionsdifferenz eines Übergangs aus dem Positionsdifferenzspeicher 33 verwenden müßte und nicht rlchtig erkennen würde, daß der Übergang nicht in die gleiche Richtung wie der vorletzte Quadraturübergang erfolgt ist, wobei eine kurze Zeitdauer im Speicher für die Zeit des letzten Übergangs 34 angegeben ist, dann würde der Computer 36 diesen elektrischen, durch Rauschen hervorgerufenen Quadraturübergang als eine sehr hohe Achsengeschwindigkeit interpretieren. Diese falsch gemessene Geschwindigkeit würde sich nachteilig auf die Funktion der Servoregeung auswirken.
- Fig. 10 umfaßt eine schematische Darstellung einer Mehrfachachsen-Servoregelungvorrichtung 20A, die die erfindungsgemäßen Prinzipien verkörpert. Die Hauptkomponenten der Vorrichtung 20A sind in den Fig. 11A, 11B und 11C von gestrichelten Linien umgeben und mit Zahlen entsprechend den numerierten Blocks in Fig. 10 markiert. Diese Komponenten werden nachfolgend erläutert: Die Vorrichtung 20A ist ähnlich der Vorrichtung 20, außer daß ein Multiplexer 37 verwendet wird, der acht Achsen von Quadratursignalen empfängt, die als Phaseneingangssignale A und B an einen endlichen Automaten 32 geliefert werden.
- Der Taktgeber 30 verwendet einen Taktosziator 73, der eine kontinuierliche Folge von zeitlich genau bestimmten Impulsen erzeugt, welche den Ablauf der anderen Blocks synchronisieren und das genaue Messen der Zeit ermöglichen.
- Der endliche Automat 32 umfaßt einen Binärzähler 74 (z. B. 74LS169), der die Timingimpulse des Taktgebers 30 in Abtastperioden aufteilt, die aus acht Taktgeberintervallen bestehen, nämlich eines für jede Quadraturachse. Ein D-Speicherglied 75 (z. B. 74LS175) synchronisiert die vier Signale, so daß die beurteilte Quadraturachse während jedes Taktgeberintervalls eindeutig identifiziert wird. Eine Abtastperiode beginnt mit dem Taktübergang, der durch das Auftreten des Signals CLK/8 bestimmt ist.
- Zwei achtstufige Schiebespeicher 76 und 77 (z. B. 74LS164) verspäten die Signale QASD und QBSD um acht Taktintervalle, so daß, wenn die Signale QASD und QBSD den Status der Quadratur einer während der aktuellen Abtastperiode abgetasteten Achse darstellen, die Signale QASDK und QBSDK den Status der Quadratur der gleichen, während der vorhergehenden Abtastperiode abgetasteten Achse darstellen.
- Die Bestimmung der Quadraturübergänge wird durch die programmierbare logische Komponente 78 (z. B. PAL16R8) bei einer Rate von einer Achse pro Taktintervall durchgeführt. Der Quadraturstatus einer während des aktuellen Abtastintervalls abgetasteten Achse, der durch die Signale QASD und QBSD dargestellt ist, wird mit dem Quadraturstatus verglichen, der während des vorangehenden Abtastintervalls abgetastet wurde und durch die Signale QASDK und QBSDK dargestellt ist. Die zwei Signale QP0 und QP1 verschlüsseln das Ergebnis dieser Berechnung. Die vier möglichen Ergebnisse sind:
- 1. Es hat kein Übergang stattgefunden;
- 2. Ein positiver Übergang hat stattgefunden;
- 3. Ein negativer Übergang hat stattgefunden;
- 4. Ein nicht zulässiger Übergang, wie er durch die Regeln für den Gray Code festgelegt ist, hat stattgefunden.
- Unter Verwendung der Eingangssignale QP0, QP1 und TBC* erzeugt die programmierbare logische Komponente 78 (z. B. PAL16R8) die Signale B-LO, QPBN* und QPB0*, die die Arbeitsspeicher der Positionsdifferenzspeicherpaare 34 und die Signale TWE* und TSEL* steuern, welche die Arbeitsspeicher des Speicherpaars 73 für die Zeit des letzten Übergangs steuern. Die Zeitsteuerung dieser Steuersignale wird durch die Achsenauswahlsignale QA0, QA1 und QA2 synchronisiert.
- Im Multipexer 37 sind die Quadratursignale der Phase A der acht Achsen die Eingänge zu einem parallelen Last- Schieberegister 79 (z. B. 74LS166), und die Quadratursignale der Phase B der acht Achsen sind die Eingänge eines parallelen Last- Schiebespeichers 80 (z. B. 74LS166). Zu Beginn jeder Abtastperiode, die durch das Auftreten des Signals CLK/8 bestimmt ist, wird der Quadraturstatus aller acht Achsen parallel in die Schieberegister 79 und 80 geladen, wobei die Ausgänge QASD und QBSD den Quadraturstatus für die erste bewertete Achse darstellen. Während nachfolgender Taktintervalle der Abtastperiode stellen die Signale QASD und QBSD den Quadraturstatus für die anderen Achsen mit einer Achse pro Taktintervall dar.
- Die Zeitquelle 31 (Fig. 11B) hat drei binäre Zähler 81, 82 und 83 (z.B. 74LS169), die einen Elf-bit-Zähler bilden, der die Abtastperioden zählt. Ein Komparator 84 (z. B. 74LS688) erzeugt das Signal TBC*, wenn der Elf-bit-Zählerwert gleich der Anzahl der Abtastperioden in einem Abtastintervall ist. Auf einen Taktübergang, der durch die Erzeugung eines CLK/8-lntervalls bestimmt ist, während dem das Signal TBC* erzeugt wird, wird der Wert 1 in die drei binären Zähler 81, 82 und 83 geladen.
- Das vom Ausgang QD des Zählers 81 getriebene Signal QA3 wird abwechselnd für ein Abtastintervall erzeugt und für ein Abtastintervall nicht erzeugt. Übergänge im Signal QA3 treten auf, wenn der Zähler aufgrund des Signais TBC* geladen wird. Das Signal MA3 ist das logische NOT des Signais QA3.
- Die Positionsdifferenz-Speicherpaare 33 (Fig. 11C) haben drei zweifach-Schnittstellen-Speichereinrichtungen 85, 86 und 87 (z. B. AMD 29705A), die zwei Speichersätze mit 12-Bit mal 8-Wort bilden. Auf das Arbeitsspeicherset kann zwecks Lesen und Schreiben zugegriffen werden, indem der Anschluß B der Speichereinrichtungen verwendet wird, während auf das Haltespeicherset zum Lesen zugegriffen werden kann, indem der Anschluß A der Speichereinrichtung verwendet wird. Drei Addierer 88, 89 und 90 (z. B. 74LS283) bilden einen 12-Bit breiten Schaltkreis, dessen Ausgang in gleicher Weise wie dessen Eingang entweder um eins inkrementiert, um eins dekrementiert wird oder unverändert bleibt. Zwei Pufferspeicher 91 und 92 mit drei Zuständen bilden einen 12-bit breiten Schaltkreis, der die Eingänge der drei Addierer 88, 89 und 90 mit dem Wert Null treibt, wenn das Signal B-LO* am Gatter 69 erzeugt wird. Zu allen anderen Zeitpunkten werden die Eingänge der drei Addierer 88, 89 und 90 durch die Ausgänge B der Zweifachanschluß-Speichereinrichtungen 85, 86 und 87 getrieben. Die Ausgänge der Addierer 88, 89 und 90 treiben die Eingänge B der Speichereinrichtungen 85, 86 und 87. Zu Beginn einer Abtastperiode ändern die komplementären Signale QA3 und MA3 ihren Zustand, wodurch das Set von acht Speichern, die vom Anschluß B der Zweifachanschluß-Speichereinrichtung aus zugreifbar waren, für den Anschluß A zugänglich werden. In gleicher Weise wird das für den Anschluß A der Zweifachanschluß-Speichereinrichtungen zugängliche Speicherset für den Anschluß B der Zweifachanschluß-Speichereinrichtungen 85, 86 und 87 zugänglich. Somit wird das Arbeitsspeicherset und das Haltespeicherset untereinander vertauscht.
- Während der ersten Abtastperiode eines Abtastintervalls wird das Signal B-L0* erzeugt, wodurch die Eingänge der Addierer 88, 89 und 90 mit dem Wert null getrieben werden. Während die Signale QA0, QA1 und QA2 den Arbeitsspeicher für jede Achse auswählen, steuern die Signale QPBN* und QPB0* den Ausgang der Addierer 88, 89 und 90, wobei sie entweder einen Wert +1, -1 oder 0 erzeugen, abhängig von der Bewertung des Quadratursignais der ausgewählten Achse.
- Während der verbleibenden Abtastperiode eines Abtastintervalls wird das Signal BL0* nicht erzeugt, wodurch die Eingänge der Addierer 88, 89 und 90 vom Ausgang B der Zweifachanschluß-Speichereinrichtungen 85, 86 und 87 getrieben werden. Während die Signale QA0, QA1 und QA2 den Arbeitsspeicher für jede Achse auswählen, steuern die Signale QPBN* und QPB0* den Ausgang der Addierer 88, 89 und 90, wobei sie entweder +1, -1 oder 0 zu dem Wert im Arbeitsspeicher addieren, abhängig von der Bewertung des Quadratursignals für die ausgewählte Achse.
- Das Haltespeicherset innerhalb der Zweifachanschluß-Speichereinrichtungen 88, 89 und 90 enthält die letzten akkumulierten Positionsdifferenzwerte während des vorhergehenden Abtastintervalls. Die drei Signale MA0, MA1 und MA2 identifizieren den Speicher für eine bestimmte Achse, die über den Anschluß A der Zweifachanschluß-Speichereinrichtungen 85, 86 und 87 zugänglich ist, wenn das Ausgang- Aktiviert-Signal QPE* aktiviert ist.
- Das Speicherpaar 34 für die Zeit des letzten Übergangs hat drei Zweifachanschluß- Speichereinrichtungen 93, 94 und 95 (z. B. AMD 29705A), die zwei 12-bit mal 8-Wort Speichersets bilden. Auf den Arbeitsspeichersatz ist ein Schreibzugriff möglich, indem der Anschluß B der Speichereinrichtungen verwendet wird, während für den Haltespeichersatz ein Lesezugriff unter Verwendung des Anschlusses A der Speichereinrichtungen möglich ist. Die Multiplexer 96, 97 und 98 (z. B. 74LS257) werden durch das Signal TSEL* gesteuert. Wenn TSEL* ausgegeben wird, dann ist der Ausgang der Multiplexer ein Wert, der der Anzahl von Abtastperioden in einem Abtastintervall entspricht. Zu allen anderen Zeitpunkten treiben die Ausgänge der Multiplexer 96, 97 und 98 die Eingänge B der Zweifachanschluß- Speichereinrichtungen 93, 94 und 95.
- Zu Beginn eines Abtastintervalls werden die Arbeitsspeichersätze und die Haltespeichersätze in gleicher Weise ausgetauscht wie die Positionsdifferenz-Speicherpaare 33.
- Während der ersten Abtastperiode eines Abtastintervalls wird das Signal TWE* erzeugt, wodurch der Wert an den Eingängen der Zweifachanschluß-Speichereinrichtungen 93, 94 und 95 in die ausgewählten Arbeitsspeicher geschrieben werden kann. Während die Signale QA0, QA1 und QA2 die Arbeitsspeicher für jede Achse auswählen, wählt das Signal TSEL* den zu speichernden Wert aus. Falls kein Quadraturübergang für die ausgewählte Achse stattgefunden hat, wird TSEL* ausgegeben, wodurch der aktuelle Zeitquellenwert eins in den ausgewählten Arbeitsspeicher geschrieben wird. Falls bei der ausgewählten Achse ein Quadraturübergang aufgetreten ist, wird TSEL* nicht ausgegeben, wodurch ein Wert der gleich der Anzahl der Abtastperioden in einem Abtastintervall ist, in den ausgewählten Arbeitsspeicher geschrieben wird.
- Während der verbleibenden Abtastperiode eines Abtastintervalls wird kein Signal TSEL* ausgegeben, wodurch der aktuelle Zeitquellenwert zu den Eingängen B der Zweifachanschluß-Speichereinrlchtungen 93, 94 und 95 geleitet wird. Während die Signale QA0, QA1 und QA2 den Arbeitsspeicher für jede Achse auswählen wird das Signal TWE* ausgegeben, wenn ein Quadraturübergang für die ausgewählte Achse aufgetreten ist, wodurch der aktuelle Zeitquellenwert in den ausgewählten Arbeitsspeicher geschrieben wird.
- Im FIFO Interface 35 steuert auf Anfrage des Computers 36 eine programmierbare logische Komponente 99 (z. B. PAL16R6) das Auslesen der in den Halteregistersätzen der Positionsdifferenzspeicherpaare 33 gespeicherten Werte, und der Speicherpaare 34 für die Zeit des letzten Übergangs, in ähnlicher Weise wie beim FIFO Pufferspeicher. D.h., der wiederholte Zugriff des Computers 36 auf das FIFO Interface 35 resultiert in der Übertragung der Zeit des letzten Übergangs, gefolgt von einem Positionsdifferenzwert für nachfolgende Quadraturachsen, nämlich in einer Reihenfolge, die identisch zu der Reihenfolge ist, in der die Achsen während der Abtastperiode ausgewertet wurden. Zwei Multiplexer 100 und 101 (z. B. 74LS257) sind derart verbunden, daß die 12-bit Daten der Halteregister durch das Vorzeichen auf 16 Bits erweitert werden. Unter Steuerung des Signals CA1 treiben entweder die oberen 8 Bits des 16-bit Werts die Signale ID0..ID7 oder die unteren 8 Bit treiben ID0..ID7.
- Während der ersten Abtastperiode jedes Abtastintervalls bewirkt das Auftreten der Signale B-L0, daß die programmierbare logische Komponente 99 ein Signal am Ausgang IRQ* erzeugt und ihre übrigen Ausgangssignale auf den Anfangswert setzt. Bei Auftreten des Signals IRQ* bemerkt der Computer 36, daß ein Abtastintervall abgeschlossen wurde, und daß akkumulierte Zeit- und Positionswerte zum Lesen bereit stehen. Die Anfangsbedingungen der anderen Ausgänge der programmierbaren logischen Komponente 99 sind QTE* ein, TPE* und QPE* aus, wobei MA0, MA1 und MA2 die Halteregister für die erste Achse auswählen. Das Setzen des Signals QTE* aktiviert den Wert im ausgewählten Halteregister des Speicherpaars für die Zeit des letzten Übergangs, um die Eingänge der Multiplexer 100 und 101 zu treiben.
- Der Computer 36 entsendet eine Anfrage zur Übermittlung eines Wertes, indem er die ersten acht Wertbits des Signals CA1 auswählt und dann das Signal CRD* setzt, wodurch der TPE*-Ausgang der programmierbaren logischen Vorrichtung 99 gesetzt wird und die Ausgänge der Multiplexer 100 und 101 aktiviert werden. Das Signal IRQ* wird zu diesem Zeitpunkt ebenfalls ausgeschaltet. Danach ändert der Computer 36 CA1, um die unteren acht Wertbits auszuwählen und schaltet das Signal CRD* zum zweiten Mal&sub1; wobei die Ausgänge der Multiplexer 100 und 101 in gleicher Weise wie zuvor aktiviert werden. Nach dem zweiten Setzen von CRD* deaktiviert die programmierbare logische Vorrichtung 99 QTE* und setzt QPE* in Vorbereitung auf die Übertragung des ausgewählten Positionsdifferenzwerts an den Computer 36. Der selbe zweistufige Leseprozeß wird wiederholt.
- Nach Übertragung der unteren acht Bits des Positionsdifferenzwerts schaltet die programmierbare logische Steuerung 68 MA0, MA1 und MA2, um Werte für die nächste Achse auszuwählen, und setzt QTE* und deaktiviert QPE*, um den nächsten Datentransfer vorzubereiten. Der Computer 36 fragt weiterhin Daten ab, bis die Werte für alle Achsen übertragen wurden.
- Zusammenfassend schafft die vorliegende Erfindung eine Servoregeung, die exakt und effizient arbeitet, selbst in einer Umgebung mit elektrischem Rauschen. Falls Rauschen auftritt, während sich die Achse bewegt, kann die Gray Code Signalfolge 00, 01, 11, 01, 11, sein, was eine vorübergehende Rückwärtsbewegung anzeigt, die mehrdeutige Werte und somit eine fehlerhafte Geschwindigkeitsberechnung ergeben würde, falls diese nicht entdeckt und kompensiert werden würden. Bei der vorliegenden Erfindung werden solche Mehrdeutigkeiten durch das Verfahren und die Vorrichtung eliminiert, wobei nur die algebraische Summe der Quadraturübergänge während jedes Abtastintervalls zur Berechnung der wahren Achsengeschwindigkeit verwendet wird. In der Situation, in der die Achse ruht und elektrisches Rauschen auftritt, beseitigt die Erfindung jede mögliche Mißinterpretation der empfangenen Signale mittels logischer Einrichtungen, mit denen der wahre Achsenpositionswert beibehalten werden kann, und verhindert jegliches springen der Servowelle. In allen Fällen hält die Erfindung ein hohes Maß an Präzision bei der Messung der Achsengeschwindigkeit und -Position für Servosysteme mit einer oder mehreren Achsen.
Claims (27)
1. Verfahren zur Messung der Geschwindigkeit einer von einem Motor zyklisch
angetriebenen Servowelle, ohne Einsatz eines Tachometers, umfassend
folgende Schritte:
- Erzeugung zweier überlappender Rechteck-Quadratursignale (A, B) aus der
Bewegung der Welle, deren Übergänge für jeden Zyklus in Gray Code
ausgedrückt werden können;
- Erzeugung einer großen Anzahl von gleichmäßig beabstandeten Taktimpulsen
mittels Taktgeber (3c), die eine Serie von aufeinanderfolgenden Abtastintervallen
bildet;
- Lesen (42) eines vorzeichenbehafteten Werts, der die algebraische Summe der
während einer ausgewählten Anzahl von Abtastintervallen auftretenden
Quadraturübergänge darstellt;
- Lesen und Berechnen (40) der Anzahl der Taktimpulse zwischen zwei
Quadraturübergängen, wobei jeder der Übergänge der letzte qualifizierte
Übergang der beiden letzten Abtastintervalle mit Übergängen ist;
- Dividieren (46) der Anzahl von Quadraturübergängen während des
Abtastintervalls durch die Anzahl der Taktimpulse zwischen den ausgewählten
Quadraturübergängen.
2. Verfahren nach Anspruch 1, umfassend folgende Schritte:
- Lesen eines ersten Zeitwertes aus einem first-in, flrst-out Speicher (35), wenn
der letzte Quadraturübergang des aktuellen Abtastintervalls aufgetreten ist,
- Subtrahieren eines zweiten Zeitwerts des letzten Übergangs des
vorhergehenden Abtastintervalls vom ersten Zeitwerf, woraus sich die Anzahl
der Taktimpulse zwischen den zwei ausgewählten Quadraturübergängen ergibt.
3. Verfahren nach Anspruch 1, wobei die Welle eine wechselseitig bewegbare
Welle ist.
4. Verfahren nach Anspruch 1, umfassend folgende Schritte:
- Entscheiden (44), ob die Positionsdifferenz des derzeitigen Beispiels zum
vorhergehenden Beispiel gleich oder größer "2" ist; und
- Berechnen (46) der Geschwindigkeit als Differenz der Achsenposition dividiert
durch die Differenz der Zeit der letzten Quadraturübergänge des aktuellen und
vorhergehenden Abtastintervalls.
5. Verfahren nach Anspruch 1, umfassend folgende Schritte:
- Zuerst das Entscheiden (44), ob die Quadratur-Positionsdifferenz des
derzeitigen Abtastintervalis zum vorhergehenden Abtastintervall kleiner als zwei
ist; dann
- Entscheiden (48, 50), ob die Quadratur-Positionsdifferenz Null ist, und ob die
Zeit des letzten Übergangs gleich der Länge des derzeitigen Abtastintervalls ist;
- Entscheiden (52), ob während des derzeitigen Intervalls keine
Quadraturübergänge aufgetreten sind, und, falls die Geschwindigkeit momentan
Null ist,
- Belassen (54) der Geschwindigkeit auf Null, wodurch die Erzeugung eines
Ausgangssignals an die Servowelle verhindert wird.
6. Verfahren nach Anspruch 5, umfassend folgende Schritte:
Entscheiden (52), ob die gemessene Geschwindigkeit momentan nicht Null ist;
- Vergleichen (56) der Periode der vorangehenden Geschwindigkeitsberechnung
mit der Periode, die sich ergeben würde&sub1; falls im letzten Moment des
Abtastintervalls ein Übergang aufgetreten wäre; und
- falls die letztere Periode größer ist, Entscheiden (58), ob die Geschwindigkeit
momentan niedriger ist als die zuletzt berechnete Geschwindigkeit, und
Aufzeichnen dieser Geschwindigkeit.
7. Verfahren nach Anspruch 6, umfassend folgende Schritte: Entscheiden (56), ob
die Geschwindigkeit momentan nicht niedriger ist als die zuletzt berechnete
Geschwindigkeit und danach unverändertes Belassen (60) der zuletzt
gemessenen Geschwindigkeit.
8. Verfahren nach Anspruch 1, umfassend folgende Schritte:
- Entscheiden (48, 50), ob die Positionsdifferenz im Abtastintervall Null ist und ob
die Zeit des letzten Übergangs ungleich der Länge des Abtastintervalls ist;
- Entscheiden (62), ob wenigstens zwei Übergänge auftraten, deren algebraische
Summe Null ist;
- Entscheiden (62), ob die Geschwindigkeit der Achse auch Null ist, und
Aufzeichnen dieser Nullgeschwindigkeit.
9. Verfahren nach Anspruch 1, umfassend folgende Schritte:
- Entscheiden (48), ob der absolute Wert der Positionsdifferenz im Abtastintervall
Eins ist;
- Berechnen der Geschwindigkeit als Eins dividiert durch die Zeit der Periode
zwischen dem letzten und vorletzten Quadraturübergang in Sekunden;
- Untersuchen des Vorzeichens der Positionsdifferenz im Abtastintervall und
Vergleichen des Vorzeichens mit dem Quadraturübergang, der dem letzten
Quadraturübergang unmittelbar vorangeht;
- Entscheiden (66), ob das Vorzeichen der Positionsdifferenz im letzten
Abtastintervall dem Vorzeichen des Quadraturübergangs entgegengesetzt ist,
der dem letzten Quadraturübergang unmittelbar vorangeht; und falls dies zutrifft
- Entscheiden (68), ob dieser letzte Übergang Rauschen ist oder ob die Achse aus
der Ruhe hochläuft und ob die wahre Geschwindigkeit Null ist; und
- Aufzeichnen (68) der Nullgeschwindigkeit.
10. Verfahren nach Anspruch 1, umfassend folgende Schritte:
Entscheiden (66), ob das Vorzeichen der Positionsdifferenz im letzten
Abtastintervall gleich dem des vorangehenden Übergangs ist;
Berechnen (70) der Geschwindigkeit als Eins dividiert durch die Periode
zwischen dem letzten und vorletzten Übergang; und
Aufzeichnen (70) der berechneten Geschwindigkeit.
11. Vorrichtung zur Messung der Geschwindigkeit einer von einem Motor zyklisch
angetriebenen Servowelle, ohne Einsatz eines Tachometers, umfassend: eine
Quadratureinrichtung zur Erzeugung zweier überlappender Rechteck-
Quadratursignale (A, B) aus der Bewegung der Welle, wobei die Übergänge für
jeden Zyklus in Gray Code ausgedrückt werden können;
einen Taktgeber (30) zur kontinuierlichen Erzeugung einer großen Anzahl
gleichmäßig beabstandeter Taktimpulse, die eine Serie aufeinanderfolgender
Abtastintervalle bilden;
- Speichereinrichtungen (33, 34) zum Lesen eines vorzeichenbehafteten Werts,
der die algebraische Summe der Quadraturübergänge darstellt, die während
eines Abtastintervalls auftreten;
- Leseeinrichtungen zur Bestimmung der Anzahl der Taktimpulse zwischen zwei
Quadraturübergängen, wobei jeder der Übergänge der letzte qualifizierte
Übergang der beiden letzten Abtastintervalle mit Übergängen ist; und
- einen Computer (36) zum Dividieren der Anzahl der Quadraturübergänge
während des Abtastintervalls durch die Anzahl der Taktimpulse zwischen den
ausgewählten Quadraturübergängen.
12. Vorrichtung nach Anspruch 11, wobei die Speichereinrichtungen umfassen:
- eine erste Speichereinrichtung (34) zum Aufzeichnen der Zeit jedes
Quadraturübergangs in einem ersten Abtastintervall;
- eine zweite Speichereinrichtung (33) zum Aufzeichnen der algebraischen
Summe der Quadraturübergänge, die während des ersten Abtastintervalls
auftreten; und
- den Computer (36), umfassend Einrichtungen zum Dividieren der algebraischen
Summe der Quadraturübergänge während des ersten Abtastintervalls durch die
Gesamtanzahl der Taktimpulse während der Zeit zwischen dem letzten
Übergang des vorhergehenden Abtastintervalls und dem letzten Übergang des
ersten Abtastintervalls.
13. Vorrichtung nach Anspruch 11, umfassend einen first-in, first-out Speicher (35),
der mit Anschlüssen der ersten und zweiten Speichereinrichtung (33, 34)
verbunden ist, um die Anzahl der Taktimpulse zwischen ausgewählten
Quadraturübergängen zu bestimmen und diese an den Computer zu leiten.
14. Vorrichtung nach Anspruch ii, wobei die Servowelle eine wechselseitig
drehbare Welle ist.
15. Vorrichtung nach Anspruch 11, wobei der Computer (36) eine Einrichtung
umfaßt, um zunächst zu entscheiden, ob die Positionsdifferenz des derzeitigen
Abtastintervalls zum vorhergehenden Abtastintervall gleich oder größer als "2"
ist; und eine Vorrichtung zur Berechnung der Wellengeschwindigkeit aus der
Differenz der Achsenpositionen dividiert durch die Zeitdifferenz der letzten
Quadraturübergänge des aktuellen und des dem Abtastintervall unmittelbar
vorangehenden Quadraturübergangs.
16. Vorrichtung nach Anspruch 11, wobei der Computer (36) eine Einrichtung
umfaßt, um zunächst zu entscheiden, ob die Quadratur-Positionsdifferenz des
derzeitigen Abtastintervalls zum vorhergehenden Abtastintervall kleiner als "2"
ist; eine Einrichtung, um zu entscheiden, ob die Quadratur-Positionsdifferenz
Null ist und ob die Zeit des letzten Übergangs gleich der Länge des derzeitigen
Abtastintervalls ist; und eine Einrichtung, um zu Entscheiden, ob während des
derzeitigen Intervalls keine Quadraturübergänge aufgetreten sind, und, falls die
momentan gemessene Geschwindigkeit Null ist, sie auf Null belassen wird,
wodurch die Erzeugung eines Ausgangssignals an die Servowelle verhindert
wird.
17. Vorrichtung nach Anspruch 16, wobei der Computer (36) ferner umfaßt:
- eine Einrichtung zur Entscheidung, ob die gemessene Geschwindigkeit
momentan nicht Null ist;
- eine Einrichtung zum Vergleich der Periode der vorherigen
Geschwindigkeitsberechnung mit der Periode, die sich ergeben würde, falls im letzten Moment
des Abtastintervalls ein Übergang aufgetreten wäre;
- falls die letztere Periode größer ist, eine Einrichtung zur Bestimmung, ob die
Geschwindigkeit derzeitig niedriger ist als die zuletzt berechnete
Geschwindigkeit; und
- eine Einrichtung zur Aufzeichnung dieser niedrigeren Geschwindigkeit.
18. Vorrichtung nach Anspruch 11, wobei der Computer (36) umfaßt:
- eine Einrichtung zur Entscheidung, ob die Positionsdifferenz im Abtastintervall
Null ist und ob die Zeit des letzten Übergangs ungleich der Länge des
Abtastintervalls ist;
- eine Einrichtung zur Entscheidung, ob wenigstens zwei Übergänge aufgetreten
sind und ob die algebraische Summe Null ist; und
- eine Einrichtung zur Entscheidung, ob die Geschwindigkeit der Achse auch Null
ist; und
- eine Einrichtung zur Aufzeichnung dieser Null-Geschwindigkeit.
19. Vorrichtung nach Anspruch II, wobei der Computer (36) umfaßt:
- eine Einrichtung zur Bestimmung, ob der absolute Wert der Positionsdifferenz im
vorliegenden Abtastintervall Eins ist;
- eine Einrichtung zur Berechnung der Geschwindigkeit als Eins dividiert durch die
Zeit der Periode zwischen dem letzten und vorletzten Quadraturübergang in
Sekunden;
- eine Einrichtung zur Untersuchung des Vorzeichens der Positionsdifferenz im
Abtastintervall und Vergleich des Vorzeichens mit dem Quadraturübergang,
welcher dem letzten Quadraturübergang unmittelbar vorangeht;
- eine Einrichtung zur Entscheidung, ob das Vorzeichen der Positionsdifferenz im
letzten Abtastintervall entgegengesetzt zum Vorzeichen des Quadraturübergang
ist, der dem letzten Quadraturübergang unmittelbar vorangeht, und, falls dies
zutrifft, eine Einrichtung zur Bestimmung, ob dieser letzte Übergang Rauschen
ist oder die Achse aus der Ruhe hochläuft und ob die Geschwindigkeit Null ist;
und
- eine Einrichtung, um danach die Null-Geschwindigkeit aufzuzeichnen.
20. Vorrichtung nach Anspruch 19, wobei der Computer (36) ferner umfaßt:
- eine Einrichtung zur Bestimmung, ob das Vorzeichen der Positionsdifferenz im
letzten Abtastintervall gleich dem des vorherigen Übergangs ist;
- eine Einrichtung zur Berechnung der Geschwindigkeit als Eins dividiert durch die
Periode zwischen dem letzten und vorletzten Übergang; und
- eine Einrichtung zur Aufzeichnung der berechneten Geschwindigkeit.
21. Vorrichtung nach Anspruch 11, umfassend einen first-in, first-out Speicher (35)
und einen Multiplexer (37) zur Verwendung mit mehreren Wellen, zum Senden
von Signalen von jeder Welle und von einer Verknüpfungseinrichtung in den
Speicher, um die jeweiligen Daten mit der korrekten Welle zu verknüpfen.
22. Mehrfachachsen-Servoregelungseinrichtung zur Messung der Geschwindigkeit
mehrerer Servowellen, wobei für jede Achse ein Ausgangs-Quadratursignal
vorgesehen ist, und wobei die Regelvorrichtung umfaßt:
- einen Taktgeber (30) zur Erzeugung kontinuierlicher Zeitsteuerimpulse;
- einen Zähler (74), der mit dem Taktgeber verbunden ist, um die
Zeitsteuerimpulse in Abtastperioden und ferner in mehrere Abtastintervalle für jede
Quadraturachse aufzuteilen;
- einen endlichen Automaten (32), umfassend eine Einrichtung zur
Synchronisation und Identifikation empfangener Signale für jede Quadraturachse,
Einrichtungen (76, 77) zur Verzögerung der Quadratursignale um eine
vorbestimmte Anzahl von Taktintervallen, um eine erste Signalgruppe, die den Status
jeder Quadraturachse während einer aktuellen Abtastperiode darstellt, und eine
zweite Signalgruppe zu schaffen, die die selbe Quadraturachse darstellt, die
während der unmittelbar vorhergehenden Abtastperiode abgetastet wurde, und
eine programmierbare logische Einrichtung (78) zur Auswertung von
Quadraturübergängen in einer vorgegebenen Frequenz pro Taktintervall, indem
der Quadraturstatus jeder Achse, die während der aktuellen Abtastperiode
abgetastet wurde, mit dem Quadraturstatus der selben Achse, die während der
vorherigen Abtastperlode abgetastet wurde, verglichen wird;
- einen Positionsdifferenzspeicher (33) zum Speichern der Positionsdifferenz
zwischen dem Beginn und Ende des letzten Abtastintervalls;
- einen Speicher für die Zeit des letzten Übergangs (34) der mit dem endlichen
Automaten und dem Zähler zum Speichern der Zeit verbunden ist, zu der der
letzte Quadraturübergang für jede Achse stattgefunden hat;
- eine Einrichtung (75) zur Synchronisation von Signalen der Speicher- und
- einen Computer (36) zur Verarbeitung der Signale von der
Synchronisationseinrichtung und dem Zähler, um für das letzte Abtastintervall jeder Achse eine
Geschwindigkeit zu berechnen, indem die Anzahl der Taktimpulse zwischen den
letzten qualifizierten Übergängen der zwei letzten Abtastintervalle mit
Übergängen der Achse berechnet wird, und die Gesamtanzahl der Übergänge
während des Abtastintervalis durch die Anzahl der Taktimpulse zwischen den
ausgewählten Quadraturübergängen der Achse dividiert wird.
23. Regelungsvorrichtung nach Anspruch 22 umfassend:
Einen Multiplexer (37) zum Auswählen von Quadratursignalen mehrerer
Servowellen, die einem endlichen Automaten in einer vorbestimmten
Reihenfolge zugeführt werden.
24. Regelungsvorrichtung nach Anspruch 22, wobei die Synchronisationseinrichtung
(35) ein first-in, first-out Interface umfaßt.
25. Regelungsvorrichtung nach Anspruch 23, wobei der Multiplexer (37)
Einrichtungen (79, 80) zum kontinuierlichen Empfangen und Übertragen von
Quadraturdaten von bis zu acht Servowellen in wiederholter, vorbestimmter,
aufeinanderfolgender Weise umfaßt.
26. Regelungsvorrichtung nach Anspruch 22, wobei der Positionsdifferenzspeicher
(33) einen Satz Arbeitsspeicher (85 bis 87), die mit einem Satz Haltespeicher (88
bis 90) zum Speichern des letzten Positionsdifferenzwerts, der während des
vorherigen Abtastintervalls akkumuliert wurde, verbunden ist, und eine
Einrichtung zum Austausch von Daten zwischen den Sätzen während jedes
Abtastintervalls, umfaßt.
27. Regelungsvorrichtung nach Anspruch 22, wobei der Speicher für die Zeit des
letzten Übergangs (34) einen Satz Arbeitsspeicher (93 bis 95), der mit einem
Satz Haltespeicher (96 bis 98) zum Speichern der Zeit jedes
Quadraturübergangs während des vorherigen Abtastintervalls verbunden ist, und
eine Einrichtung zum Austausch von Daten zwischen den Datensätzen während
jedes Abtastintervalis, umfaßt.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/402,058 US5062064A (en) | 1989-09-01 | 1989-09-01 | Method and apparatus for measuring velocity in servo systems |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69031752D1 DE69031752D1 (de) | 1998-01-08 |
DE69031752T2 true DE69031752T2 (de) | 1998-04-09 |
Family
ID=23590338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69031752T Expired - Lifetime DE69031752T2 (de) | 1989-09-01 | 1990-08-30 | Verbesserte Methode und Vorrichtung zur Geschwindigkeitsmessung in Servosystemen |
Country Status (5)
Country | Link |
---|---|
US (1) | US5062064A (de) |
EP (1) | EP0415402B1 (de) |
JP (1) | JP3184513B2 (de) |
AT (1) | ATE160636T1 (de) |
DE (1) | DE69031752T2 (de) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3164580B2 (ja) * | 1990-09-27 | 2001-05-08 | 豊田工機株式会社 | ディジタルサーボ制御装置 |
JPH04246992A (ja) * | 1991-01-31 | 1992-09-02 | Sony Corp | 画像変換装置 |
DE4122391A1 (de) * | 1991-07-05 | 1993-01-07 | Bosch Gmbh Robert | Verfahren zum betrieb eines drehzahlregelbaren motors |
US5740083A (en) * | 1996-04-01 | 1998-04-14 | Ford Motor Company | Delta time measurement circuit for determining parameter derivatives of a rotational velocity sensor signal |
US6498409B1 (en) * | 1999-09-16 | 2002-12-24 | Delphi Technologies, Inc. | Tachometer apparatus and method for motor velocity measurement |
WO2001020351A1 (en) * | 1999-09-17 | 2001-03-22 | Delphi Technologies, Inc. | A low cost approach to measuring high resolution rotary position of electric machines |
US6486658B2 (en) | 2000-02-16 | 2002-11-26 | Delphi Technologies, Inc. | Encoder for a permanent magnet sinusoidal brushless motor in an electric power steering system |
DE60237974D1 (de) * | 2001-07-27 | 2010-11-25 | Delphi Tech Inc | Tachometervorrichtung und verfahren zur motorgeschwindigkeitsmessung |
US6826499B2 (en) | 2001-10-01 | 2004-11-30 | Delphi Technologies, Inc. | Method and apparatus for calibrating and initializing an electronically commutated motor |
DE10359984B4 (de) * | 2003-12-19 | 2006-11-23 | Siemens Ag | Verfahren und Einrichtung zur Bewegungsführung eines bewegbaren Maschinenelements einer Werkzeug- oder Produktionsmaschine |
US10320594B2 (en) * | 2016-07-20 | 2019-06-11 | Texas Instruments Incorporated | Method of determining a direction of rotation and valid transitions of quadrature pulses |
CN106643827B (zh) * | 2016-11-15 | 2019-01-08 | 乐普医学电子仪器股份有限公司 | 一种编码器输出信号处理方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4179656A (en) * | 1978-02-06 | 1979-12-18 | Burlington Industries, Inc. | Determination of average speed of rotation of a cyclically loaded shaft during periods of up to two minutes duration |
EP0045761A1 (de) * | 1980-02-14 | 1982-02-17 | Zeus International Trading Co. Limited | Verfahren und system zur positionssteuerung |
US4362980A (en) * | 1980-09-03 | 1982-12-07 | Exxon Research And Engineering Co. | Position error recovery and motor control system |
US4376970A (en) * | 1980-12-22 | 1983-03-15 | Kearney & Trecker Corporation | High speed digital position monitoring system |
US4639884A (en) * | 1984-03-05 | 1987-01-27 | Berkeley Process Control, Inc. | Method and apparatus for measuring velocity and position in servo systems |
JPS63148881A (ja) * | 1986-12-12 | 1988-06-21 | Fanuc Ltd | サ−ボモ−タの速度制御装置 |
JPS63150624A (ja) * | 1986-12-16 | 1988-06-23 | Yoshida Kogyo Kk <Ykk> | エンコ−ダ−のパルス判断方法 |
EP0296699B1 (de) * | 1987-04-16 | 1993-12-01 | Matsushita Electric Industrial Co., Ltd. | Mikroprozessorregelsystem insbesondere für einen Motor |
FR2624988B1 (fr) * | 1987-12-18 | 1990-08-31 | Bocher Noel | Dispositif d'asservissement d'un parametre, notamment de la position d'un moteur electrique |
-
1989
- 1989-09-01 US US07/402,058 patent/US5062064A/en not_active Expired - Lifetime
-
1990
- 1990-08-30 DE DE69031752T patent/DE69031752T2/de not_active Expired - Lifetime
- 1990-08-30 EP EP90116642A patent/EP0415402B1/de not_active Expired - Lifetime
- 1990-08-30 AT AT90116642T patent/ATE160636T1/de not_active IP Right Cessation
- 1990-08-31 JP JP22849890A patent/JP3184513B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH03179266A (ja) | 1991-08-05 |
EP0415402A3 (en) | 1993-04-07 |
JP3184513B2 (ja) | 2001-07-09 |
DE69031752D1 (de) | 1998-01-08 |
ATE160636T1 (de) | 1997-12-15 |
EP0415402B1 (de) | 1997-11-26 |
US5062064A (en) | 1991-10-29 |
EP0415402A2 (de) | 1991-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69031752T2 (de) | Verbesserte Methode und Vorrichtung zur Geschwindigkeitsmessung in Servosystemen | |
EP1630363B1 (de) | Verfahren zum Bestimmen der Phasenlage einer Nockenwelle einer Brennkraftmaschine | |
DE60304111T2 (de) | Signalverarbeitungsgerät für einen Kodierer | |
DE2633846C2 (de) | Numerische Regeleinrichtung | |
DE2431825C3 (de) | Digitale Meßschaltung für die momentane Häufigkeit von durch Meßimpulse darstellbaren Ereignissen | |
EP1596493B1 (de) | Verfahren zum Messen der Drehzahl eines EC-Motors | |
DE68902174T2 (de) | Verfahren und vorrichtung zur messung der drehgeschwindigkeit. | |
EP2023092A2 (de) | Positionsmessgerät und Verfahren zur Übertragung einer Bewegungsinformation | |
WO2011121069A2 (de) | Vorrichtung und verfahren zur verarbeitung von signalen, die eine winkelstellung einer welle eines motors repräsentieren | |
DE2642645A1 (de) | Digitales tachometer zur bestimmung und anzeige der drehzahl einer sich drehenden einrichtung | |
DE69023401T2 (de) | Verfahren zur Berechnung der Regelspannung und Motorregelvorrichtung, die dieses Verfahren anwendet. | |
DE3148654A1 (de) | Verfahren und vorrichtung zur geschwindigkeitserfassung | |
WO1997005373A1 (de) | Verfahren und vorrichtung zur steuerung eines stellgliedes | |
EP0489022B1 (de) | Elektronischer zähler | |
DE60115905T2 (de) | Hochauflösungspositionsdetektor | |
DE2723265A1 (de) | Verfahren und einrichtung zum steuern von betriebsparameterabhaengigen vorgaengen | |
DE2512738C2 (de) | Frequenzregler | |
DE3877008T2 (de) | Geraet zur sukzessiven umwandlung von zeitperioden in spannung. | |
EP1914522B1 (de) | Vorrichtung und Verfahren zur Erfassung einer Position einer Antriebseinheit | |
DE2052503A1 (de) | Verfahren und Vorrichtung zur Kompensation eines Fehlers in einem numerischen Steuerungssystem | |
DE4122769C2 (de) | ||
DE19738528A1 (de) | Vorrichtung und Verfahren zur Verschiebungsmessung | |
EP3032429A1 (de) | Verfahren und vorrichtung zum einlesen eines seriellen datenstroms | |
EP3361220B1 (de) | Positionsbestimmung eines beweglichen elements | |
WO1997025661A1 (de) | Verfahren zur dezentralen steuerung eines motorantriebs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |