DE69031752T2 - Verbesserte Methode und Vorrichtung zur Geschwindigkeitsmessung in Servosystemen - Google Patents

Verbesserte Methode und Vorrichtung zur Geschwindigkeitsmessung in Servosystemen

Info

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
Application number
DE69031752T
Other languages
English (en)
Other versions
DE69031752D1 (de
Inventor
Vernon E Muhr
Paul Sagues
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Berkeley Process Control Inc
Original Assignee
Berkeley Process Control Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Berkeley Process Control Inc filed Critical Berkeley Process Control Inc
Application granted granted Critical
Publication of DE69031752D1 publication Critical patent/DE69031752D1/de
Publication of DE69031752T2 publication Critical patent/DE69031752T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P3/00Measuring linear or angular speed; Measuring differences of linear or angular speeds
    • G01P3/42Devices characterised by the use of electric or magnetic means
    • G01P3/44Devices characterised by the use of electric or magnetic means for measuring angular speed
    • G01P3/48Devices characterised by the use of electric or magnetic means for measuring angular speed by measuring frequency of generated current or voltage
    • G01P3/481Devices 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/489Digital 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.
  • Das erste Abtastintervall
  • 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.
  • Das zweite Abtastintervall
  • 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.
  • Das dritte Abtastintervall
  • 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.
  • Das vierte Abtastintervall
  • 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.
  • Das fünfte Abtastintervall
  • 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.
  • Mehrfachachsen-Servoregelungsvorrichtung
  • 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.
DE69031752T 1989-09-01 1990-08-30 Verbesserte Methode und Vorrichtung zur Geschwindigkeitsmessung in Servosystemen Expired - Lifetime DE69031752T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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