-
HINTERGRUND DER ERFINDUNG
-
Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft auf Motorsteuerungen.
-
Verwandte Technik
-
Gängig ist eine Technologie bekannt, bei der in einer Motorsteuerung, die einen Motor steuert, der eine angetriebene Einheit wie beispielsweise eine Industriemaschine antreibt, ein inverser charakteristischer Filter für eine Übertragungscharakteristik vom Motor bis zu einer Maschine o.ä. verwendet wird, um einen Befehlswert auszugleichen (siehe beispielsweise Patentdokument 1).
-
Patentdokument 1: Japanische ungeprüfte Patentanmeldung, Veröffentlichungs-Nr. 2017-175890
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Wenn in einer solchen Motorsteuerung ein Ausgleichsfilter eine Filtercharakteristik hat, die eine Verstärkung beispielsweise in einem bestimmten Frequenzbereich erhöht, ist es wahrscheinlich, dass in dem bestimmten Frequenzbereich eine kleine durch Diskretisierungsverarbeitung o.ä. verursachte Schwankung des Befehlswertes verstärkt wird und dass folglich Vibrationen oder ein ungewöhnliches Rauschen in der angetriebenen Einheit der Maschine auftreten, die mit dem Befehlswert gesteuert wird. In einer Industriemaschine oder dergleichen soll das Auftreten solcher Schwingungen oder eines ungewöhnlichen Rauschens verhindert werden.
-
Eine Motorsteuerung gemäß einem Aspekt der vorliegenden Offenbarung umfasst: eine Befehlseinheit, die einen Befehlswert zur Steuerung eines Motors ausgibt, der eine angetriebene Einheit antreibt; eine Motorsteuereinheit, die den Motor auf Grundlage des Befehlswerts steuert; ein Ausgleichsfilter, das den Befehlswert kompensiert; und eine Vorverarbeitungseinheit, die in einer dem Ausgleichsfilter vorangehenden Stufe vorgesehen ist, wobei das Ausgleichsfilter einen Frequenzbereich aufweist, in dem eine Verstärkung größer als 1 ist, und die Vorverarbeitungseinheit, wenn eine Änderung des Befehlswerts vor der Kompensation mit dem Ausgleichsfilter gleich oder kleiner als ein vorbestimmter Wert ist, eine Vorverarbeitung ausführt, bei der ein vergangener Befehlswert als aktueller Befehlswert verwendet wird.
-
Bei der Motorsteuerung wird gemäß dem einen Aspekt selbst dann, wenn der Ausgleichsfilter, der den Befehlswert kompensiert, eine Filtercharakteristik hat, die eine Verstärkung in einem bestimmten Frequenzbereich bewirkt, verhindert, dass eine kleine Schwankung des Befehlswertes verstärkt wird, so dass das Auftreten von Vibrationen oder eines ungewöhnlichen Geräusches in der angetriebenen Einheit verhindert werden kann.
-
Figurenliste
-
- 1 ist ein Blockdiagramm, das eine Ausführungsform einer Motorsteuerung zeigt;
- 2 ist ein Diagramm, das einen Übertragungsmechanismus von einem Servomotor bis zu einer Maschine zeigt;
- 3 ist ein Diagramm, das eine Filtercharakteristik eines Filters mit inverser Kennlinie zeigt;
- 4 ist ein Diagramm, das einen Befehlswert zeigt, der von einer Befehlseinheit veranlasst wird;
- 5 ist ein Diagramm, das einen Befehlswert nach der Kompensation zeigt, wenn der Befehlswert, der keiner Vorverarbeitung unterzogen wird, mit dem inversen Kennlinienfilter kompensiert wird;
- 6 ist ein Diagramm, das einen Befehlswert nach der Kompensation zeigt, der vorverarbeitet wird und der danach mit dem inversen charakteristischen Filter verarbeitet wird; und
- 7 ist ein Flussdiagramm, das die Verarbeitung in der Ausführungsform der Motorsteuerung zeigt.
-
AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
-
Eine Ausführungsform einer Motorsteuerung wird in der vorliegenden Offenbarung im Folgenden unter Bezugnahme auf Zeichnungen beschrieben. 1 ist ein Blockdiagramm, das die Ausführungsform der Motorsteuerung zeigt.
-
Wie in 1 dargestellt, umfasst die Motorsteuerung 100 eine Befehlseinheit 110, eine Motorsteuereinheit 120, einen Ausgleichsfilter 150 und eine Vorverarbeitungseinheit 160. 1 zeigt eine als angetriebene Einheit dienende Maschine 200, die mit der Motorsteuerung 100 angesteuert wird. Da die Maschine 200 als Steuerungsziel der Motorsteuerung 100 dient, kann beispielsweise eine Werkzeugmaschine genannt werden. Das Steuerungsziel der Motorsteuerung 100 ist jedoch nicht auf die Werkzeugmaschine beschränkt und kann beispielsweise eine Industriemaschine o.ä. sein, die nicht die Werkzeugmaschine ist. Beispiele für die Industriemaschine umfassen eine Werkzeugmaschine, einen Industrieroboter und andere Maschinen (einschließlich verschiedener Maschinen wie ein Serviceroboter, eine Schmiedemaschine und eine Spritzgussmaschine). Die Motorsteuerung 100 kann als Teil der Industriemaschine oder dergleichen geliefert werden.
-
Die Befehlseinheit 110 gibt einen Positionssollwert als Befehlswert zur Steuerung eines Servomotors 127 aus, der als Motor dient, der die Maschine 200 antreibt. Die Befehlseinheit 110 erzeugt einen Positionssollwert gemäß einem Programm oder einem Befehl, der von einer übergeordneten Steuervorrichtung veranlasst wird, die als nicht-illustrierte übergeordnete Steuerung, externe Eingabevorrichtung oder dergleichen dient. Der Positionsbefehl kann mit der übergeordneten Steuervorrichtung, die als übergeordnete Steuerung, externe Eingabevorrichtung oder dergleichen dient, veranlasst werden. Der Positionsbefehl wird veranlasst, eine Impulsfrequenz zu ändern, um die Drehzahl des Servomotors 127 zu ändern. Der Positionsbefehl dient als Steuerbefehl. Der von der Befehlseinheit 110 ausgegebene Positionssollwert wird durch die Vorverarbeitungseinheit 160 und den Ausgleichsfilter 150, die später beschrieben werden, geleitet und danach der Motorsteuereinheit 120 eingegeben.
-
Die Motorsteuereinheit 120 steuert den Servomotor 127 auf Grundlage der Befehlsausgabe von der Befehlseinheit 110. Die Motorsteuereinheit 120 umfasst einen Subtrahierer 121, eine Positionssteuereinheit 122, einen Addierer 123, einen Subtrahierer 124, eine Geschwindigkeits-Steuereinheit 125, einen Addierer 126, den Servomotor 127, einen Integrator 129, eine Positions-Vorschubeinheit 130 und eine Geschwindigkeits-Vorschubeinheit 131. Der Subtrahierer 121, die Positionssteuereinheit 122, der Addierer 123, der Subtrahierer 124, die Geschwindigkeits-Steuereinheit 125, der Addierer 126, der Servomotor 127 und der Integrator 129 bilden eine Positionsrückkopplungsschleife. Der Subtrahierer 124, die Geschwindigkeits-Steuereinheit 125, der Addierer 126 und der Servomotor 127 bilden eine Geschwindigkeitsrückkopplungsschleife. An den als Motor dienenden Servomotor 127 ist ein Drehgeber 128 angeschlossen. Der Drehgeber 128 und der Integrator 129 dienen als Detektor, und der Integrator 129 gibt einen Positionserfassungswert als Positionsrückführungsinformation an den Subtrahierer 121 aus. Obwohl in der folgenden Beschreibung der Servomotor 127 ein Motor ist, der eine Drehbewegung ausführt, kann der Servomotor 127 ein Linearmotor sein, der eine lineare Bewegung ausführt.
-
Der Subtrahierer 121 bestimmt eine Differenz zwischen dem geformten und vom Ausgleichsfilter 150, der später beschrieben wird, ausgegebenen Befehlswert für die Position und einer Erfassungsposition, die einer Positionsrückmeldung unterzogen wurde, und gibt die Differenz als Positionsfehler an die Positionssteuereinheit 122 aus.
-
Die Positionssteuereinheit 122 gibt als Geschwindigkeits-Sollwert an den Addierer 123 einen Wert aus, der sich durch Multiplikation des Positionsfehlers mit einer Positionsverstärkung Kp ergibt.
-
Der Addierer 123 addiert den Geschwindigkeitssollwert und den Ausgabewert (Positions-Vorschubeinheit 130) der Positions-Vorschubeinheit 130 und gibt den resultierenden Wert an den Subtrahierer 124 als den Geschwindigkeitssollwert aus, der einer Steuerung mit Vorsteuerung unterzogen wurde. Der Subtrahierer 124 bestimmt eine Differenz zwischen der Ausgabe des Addierers 123 und einem Geschwindigkeits-Erfassungswert, der einer Geschwindigkeits-Erfassungseinheit unterzogen wurde, und gibt die Differenz als Geschwindigkeits-Fehler an die Geschwindigkeits-Steuereinheit 125 aus.
-
Die Geschwindigkeits-Steuereinheit 125 addiert einen Wert, der durch Multiplikation des Geschwindigkeitsfehlers mit einer integralen Verstärkung K1v und anschließender Integration des resultierenden Wertes erhalten wird, und einen Wert, der durch Multiplikation des Geschwindigkeitsfehlers mit einer proportionalen Verstärkung K2v erhalten wird, und gibt den resultierenden Wert als Drehmoment-Sollwert an den Addierer 126 aus. Der Addierer 126 addiert den Drehmoment-Sollwert und den Ausgangswert (Geschwindigkeits-Vorschubeinheit 131) und gibt den resultierenden Wert als Drehmoment-Sollwert an den Servomotor 127 aus, der einer Steuerung mit Vorsteuerung unterzogen wurde. Die Drehung des Servomotors 127, die auf Grundlage des Drehmoment-Sollwertes gesteuert wird, wird über einen Übertragungsmechanismus 300 an die Maschine 200 veranlasst. Als Übertragungsmechanismus 300 wird beispielsweise eine Kugelumlaufspindel verwendet.
-
Der Drehgeber 128 erkennt die Drehwinkelposition des Servomotors 127. Der Geschwindigkeitserfassungswert, der auf der erfassten Drehwinkelposition basiert, wird als Drehzahlrückführungsinformation/Geschwindigkeitsrückführungsinformation („speed feedback information“) (Drehzahl-/Geschwindigkeits-FB-Information) in den Subtrahierer 124 eingegeben.
-
Der Integrator 129 integriert den vom Drehgeber 128 ausgegebenen Geschwindigkeitserfassungswert und gibt den Positionserfassungswert aus. Der Positionserkennungswert wird als Positionsrückführungsinformation (Positions-FB-Information) in den Subtrahierer 121 eingegeben.
-
Die Positionsvorschubeinheit
130 führt an einem Wert, der durch Differenzieren des vom Ausgleichsfilter
150 ausgegebenen Positionssollwerts und anschließendes Multiplizieren des resultierenden Werts mit einer Konstanten erhalten wird, eine Positionsvorschubverarbeitung durch, die durch eine in Formel (1) dargestellte Übertragungsfunktion G(s) angegeben wird, und gibt das Ergebnis der Verarbeitung als Positionsvorschubterm an den Addierer
123 aus. Die Koeffizienten a
i und b
j (m, n
i, j
0, m und n sind natürliche Zahlen) in Formel (1) sind Koeffizienten in der Übertragungsfunktion G(s).
[Gleichung 1]
-
Die Geschwindigkeits-Vorschubeinheit
131 arbeitet mit einem Wert, der durch zweimaliges Differenzieren des Positions-Sollwerts und anschließendes Multiplizieren des resultierenden Werts mit einer konstanten Geschwindigkeits-Vorschubverarbeitung, die durch eine in Formel (2) dargestellte Übertragungsfunktion H(s) angegeben wird, und gibt das Ergebnis der Verarbeitung als Geschwindigkeits-Vorschubterm an den Addierer
126 aus. Die Koeffizienten c
i, und d
j (m, n
i, j
0, m und n sind natürliche Zahlen) in Formel (2) sind Koeffizienten in der Übertragungsfunktion H(s). Die Koeffizienten c
i, und d
j sind zweite Koeffizienten. Die natürlichen Zahlen m und n können gleich oder verschieden von den natürlichen Zahlen m und n in Formel (2) sein.
[Gleichung 2]
Wie oben beschrieben, wird die Motorsteuereinheit
120 konfiguriert.
-
Der Ausgleichsfilter 150 ist in einer Stufe vor der Motorsteuereinheit 120 vorgesehen, in die der Positionssollwert eingegeben wird. Der Ausgleichsfilter 150 ist eine Befehlseinheit zur Formung des Positionssollwerts, die den eingegebenen Positionssollwert formt. Als Ausgleichsfilter 150 wird beispielsweise ein inverser Kennlinienfilter verwendet, der eine inverse Filtercharakteristik einer Übertragungskennlinie hat, die auf einem Modell mit zwei Trägheitsmomenten vom Servomotor 127 bis zur Maschine 200 basiert.
-
Hier wird die Übertragungsfunktion G(s), die die Übertragungscharakteristik vom Servomotor
127 bis zur Maschine
200 angibt, durch Formel (3) dargestellt, die auf dem Zwei-Trägheits-Modell basiert.
[Gleichung 3]
wobei ω
0 eine Maschinenresonanzfrequenz und ζ ein Dumping-Faktor ist.
-
Die Übertragungsfunktion G(s) wird durch einen Tiefpassfilter zweiter Ordnung dargestellt, in dem die Resonanzfrequenz ω0 der Maschine eine Grenzfrequenz ist. Als Beispiel ist in 2 eine Übertragungscharakteristik bei ω0 = 1 [Hz] und ζ = 0,1 dargestellt. In 2 ist eine horizontale Achse eine Frequenz [Hz] und eine vertikale Achse eine Verstärkung [dB]. Aus 2 kann bestätigt werden, dass die Übertragungskennlinie vom Servomotor 127 bis zur Maschine 200 um die Resonanzfrequenz ω0 eine Verstärkung von 0 oder größer [dB] aufweist. Daher treten im Maschinensystem leicht Schwingungen um die Resonanzfrequenz ω0 auf. Aus 2 kann auch bestätigt werden, dass die Übertragungskennlinie eine Eigenschaft aufweist, bei der die Verstärkung in einem Frequenzbereich oberhalb der Resonanzfrequenz ω0 abgesenkt ist. Daher reagiert das Maschinensystem nicht in einem Frequenzbereich, der etwas höher als die Resonanzfrequenz ω0 liegt.
-
Um die oben beschriebenen, durch die Übertragungskennlinie verursachten Probleme zu beseitigen, wird als Ausgleichsfilter
150 der Umkehrfilter der Übertragungskennlinie vom Servomotor
127 bis zur Maschine
200 verwendet. Die Kennlinie F(s) des inversen Kennlinienfilters der Übertragungskennlinie auf Grundlage des Zwei-Trägheits-Modells vom Servomotor
127 bis zur Maschine
200 wird durch Formel (4) unten dargestellt.
[Gleichung 4]
-
Die Filtercharakteristik des Filters mit inverser Kennlinie ist in 3 dargestellt. In 3 ist eine horizontale Achse eine Frequenz [Hz] und eine vertikale Achse eine Verstärkung [dB]. Als Ausgleichsfilter 150 wird der oben beschriebene Filter mit inverser Kennlinie verwendet, und damit ist es möglich, eine Positionssteuerung zu realisieren, bei der eine geringe Anzahl von Restschwingungen um die Resonanzfrequenz ω0 vorhanden sind. Es ist auch möglich, eine Positionssteuerung zu realisieren, bei der das Steuersystem auch in dem Frequenzbereich oberhalb der Resonanzfrequenz ω0 anspricht.
-
Hier hat der in 3 dargestellte Ausgleichsfilter 150 einen Frequenzbereich, in dem die Verstärkung größer als 1 ist. Konkret liegt in dem Frequenzbereich oberhalb der Resonanzfrequenz ω0 der Frequenzbereich vor, in dem die Verstärkung größer als 1 ist. Andererseits kann selbst in einem solchen Frequenzbereich eine kleine Schwingung im Befehlswerteingang des Ausgleichsfilters 150 durch eine Diskretisierungsverarbeitung o.ä. verursacht werden. In einem solchen Fall wird der Sollwert mit dem Ausgleichsfilter 150 kompensiert und damit die kleine Schwingung im Sollwert verstärkt, so dass Vibrationen oder ein ungewöhnliches Geräusch in der Antriebseinheit der Maschine auftreten können. Um solche Zustände zu beseitigen, wird daher die später beschriebene Vorverarbeitungseinheit 160 in einer dem Ausgleichsfilter 150 vorgeschalteten Stufe vorgesehen.
-
Obwohl der Ausgleichsfilter 150 außerhalb der Motorsteuereinheit 120, d.h. außerhalb der Positionsrückkopplungsschleife und der Geschwindigkeitsrückkopplungsschleife, vorgesehen ist, kann der Ausgleichsfilter 150 in der Positionsrückkopplungsschleife oder in der Geschwindigkeitsrückkopplungsschleife der Motorsteuereinheit 120 vorgesehen werden, um verschiedene Arten von Befehlswerten zur Steuerung des Motors auszugleichen. Beispielsweise kann nach Befehlen wie dem Positionssollwert, dem Drehzahlsollwert und dem Drehmomentsollwert speziell der Ausgleichsfilter 150 an die Ausgangsseite der Positionssteuereinheit 122, an die Ausgangsseite der Drehzahlregeleinheit 125, an die Ausgangsseite des Addierers 123 oder an die Ausgangsseite des Addierers 126 angeschlossen werden. Vor der Positions-Vorschubeinheit, nämlich auf der Eingangsseite der Positions-Vorschubeinheit 130 oder der Eingangsseite der Geschwindigkeits-Vorschubeinheit 131, kann der Ausgleichsfilter 150 vorgesehen werden. Um jedoch einen Vibrationsfaktor außerhalb der Rückkopplungsschleife (der Positionsrückkopplungsschleife, der Geschwindigkeitsrückkopplungsschleife) der Motorsteuereinheit 120 zu reduzieren, wird der Ausgleichsfilter 150 vorzugsweise außerhalb der Positionsrückkopplungsschleife oder Geschwindigkeitsrückkopplungsschleife vorgesehen. In 1 ist der Ausgleichsfilter 150 vor dem Subtrahierer 121 angeordnet, der den Positionsfehler bestimmt, und der Ausgang des Ausgleichsfilters 150 wird an den Subtrahierer 121 und die Positionsvorschubeinheit 130 ausgegeben.
-
Der Ausgleichsfilter 150 kann ein anderer Filter sein, der den Frequenzbereich hat, in dem die Vertiefung größer als 1 ist, wie beispielsweise ein Kerbfilter oder ein Filter zur Einstellung einer Beschleunigungs-/Verzögerungszeitkonstante.
-
Anschließend wird die Vorverarbeitungseinheit 160 beschrieben. Die Vorverarbeitungseinheit 160 ist in der Stufe vor dem Ausgleichsfilter 150 vorgesehen. Die Vorverarbeitungseinheit 160 führt eine Vorverarbeitung durch, bei der ein vergangener Befehlswert als aktueller Befehlswert verwendet wird, wenn eine Änderung des Befehlswerts (Positionssollwert) vor der Kompensation mit dem Ausgleichsfilter 150 gleich oder kleiner als ein vorbestimmter Wert ist.
-
4 zeigt ein Beispiel für den von der Befehlseinheit 110 ausgegebenen Befehlswert, d.h. den Befehlswert vor dem Ausgleichsfilter 150. Wie in einem Bereich A von 4 angegeben, kann eine kleine Variation des Befehlswerts durch eine Diskretisierungsverarbeitung o.ä. verursacht werden.
-
Hier wird, wenn der Ausgleichsfilter 150 eine Filtercharakteristik hat, die eine Verstärkung in einem bestimmten Frequenzbereich anhebt, der Befehlswert mit dem Ausgleichsfilter 150 kompensiert und damit die geringe Schwankung des Befehlswertes verstärkt, mit der Folge, dass Vibrationen oder ein ungewöhnlicher Schall in der Antriebseinheit der Maschine auftreten können.
-
5 zeigt ein Beispiel für einen Befehlswert nach der Kompensation, wenn der Befehlswert, der nicht der Vorverarbeitung unterliegt, mit dem Ausgleichsfilter 150 kompensiert wird. Wie aus dem Vergleich von 4 mit 5 hervorgeht, wird eine kleine Variation (Variationsbetrag C) des im Bereich A von 4 angezeigten Befehlswertes im Befehlswert nach der im Bereich A von 5 angezeigten Kompensation (Variationsbetrag C') verstärkt. Wie oben beschrieben, kann, wenn der Ausgleichsfilter 150 eine Filtercharakteristik hat, die eine Verstärkung in einem bestimmten Frequenzbereich anhebt, wenn das Frequenzband des Befehlswerts in dem bestimmten Frequenzbereich enthalten ist, eine unnötig kleine Variation, die durch Diskretisierungsverarbeitung o.ä. verursacht wird, mit dem Ausgleichsfilter 150 verstärkt werden.
-
Wenn also die Änderung des Befehlswerts vor der Kompensation mit dem Ausgleichsfilter 150 gleich oder kleiner als der vorgegebene Wert ist, führt die Vorverarbeitungseinheit 160 die Vorverarbeitung aus, bei der der vergangene Befehlswert als aktueller Befehlswert verwendet wird. Insbesondere wird ein vorbestimmter Schwellwert B (nicht illustriert) zur Bestimmung der Größe der Variation bestimmt, und wenn der Variationsbetrag C des Befehlswerts gleich oder kleiner als der vorbestimmte Schwellwert B ist, wird der vergangene Befehlswert als aktueller Befehlswert verwendet. In diesem Fall bildet der vorbestimmte Schwellwert B zur Bestimmung der Grösse der Abweichung eine Totzone, und wenn der Abweichungsbetrag C des Befehlswerts in den Bereich der Totzone fällt, wird der Befehlswert nicht aktualisiert, und der vergangene Befehlswert (beispielsweise der vorherige Befehlswert) wird verwendet, ohne verarbeitet zu werden.
-
Dabei kann der Variationsbetrag C des Befehlswertes durch verschiedene Verfahren bestimmt werden. Zum Beispiel kann der Variationsbetrag C des Befehlswerts auf Grundlage einer Differenz zwischen dem unmittelbar vorhergehenden Befehlswert und dem aktuellen Befehlswert bestimmt werden. Der Variationsbetrag C des Befehlswerts kann auf Grundlage einer Differenz zwischen einem Befehlswert, der dem Befehlswert um eine vorbestimmte Zeit vorausgeht, und dem aktuellen Befehlswert bestimmt werden. Der Variationsbetrag C des Befehlswerts kann auch auf Grundlage einer Differenz zwischen dem Mittelwert der Befehlswerte innerhalb eines vergangenen vorbestimmten Zeitraums und dem aktuellen Befehlswert bestimmt werden.
-
Wenn die Variation des Befehlswerts gleich oder kleiner als der vorbestimmte Wert ist, kann der von der Vorverarbeitungseinheit 160 unmittelbar davor ausgegebene Befehlswert (vorheriger Befehlswert), der als aktueller Befehlswert verwendet wird, der Mittelwert von Befehlswerten innerhalb der vergangenen vorbestimmten Periode oder ähnliches verwendet werden.
-
6 ist eine Grafik, die ein Beispiel für einen Befehlswert nach der Kompensation zeigt, wenn der in 4 dargestellte Befehlswert mit der Vorverarbeitungseinheit 160 vorverarbeitet und mit dem Ausgleichsfilter 150 weiter kompensiert wird. Wie oben beschrieben, wird die Vorverarbeitung mit der Vorverarbeitungseinheit 160 durchgeführt, bevor die Kompensation mit dem Ausgleichsfilter 150 durchgeführt wird, und somit wird selbst dann, wenn das Ausgleichsfilter 150 eine Filtercharakteristik hat, die eine Verstärkung in einem bestimmten Frequenzbereich anhebt, verhindert, dass eine durch Diskretisierungsverarbeitung o.ä. verursachte kleine Änderung des Befehlswerts verstärkt wird.
-
Wenn eine Änderung des Befehlswerts vor dem Ausgleich mit dem Ausgleichsfilter 150 während eines vorgegebenen Zeitraums gleich oder kleiner als der vorgegebene Wert ist, kann die Vorverarbeitung, bei der der vergangene Befehlswert als aktueller Befehlswert verwendet wird, ausgeführt werden. Wenn beispielsweise die Änderung des Befehlswertes gleich oder kleiner als der vorbestimmte Wert für die vorbestimmte Zeitspanne als aktueller Befehlswert veranlasst wird, kann der Durchschnittswert der Befehlswerte innerhalb der vergangenen vorbestimmten Zeitspanne verwendet werden. Auf diese Weise kann eine unnötig kleine Abweichung zuverlässiger bestimmt und somit die Vorverarbeitung, bei der der vergangene Befehlswert als aktueller Befehlswert verwendet wird, ausgeführt werden.
-
In der Stufe vor dem Ausgleichsfilter 150 ist die oben beschriebene Vorverarbeitungseinheit 160 vorgesehen, und somit kann selbst dann, wenn das Ausgleichsfilter 150 eine Filtercharakteristik hat, die eine Verstärkung in einem hohen Frequenzbereich erhöht, oder selbst dann, wenn das Ausgleichsfilter 150 eine Filtercharakteristik hat, die eine Verstärkung in einem niedrigen Frequenzbereich erhöht, verhindert werden, dass eine kleine Schwankung des Befehlswerts verstärkt wird. Mit anderen Worten: Unabhängig von der Filtercharakteristik des Ausgleichsfilters 150 (das Frequenzband, das eine Verstärkung erhöht) kann verhindert werden, dass eine kleine Schwankung des Befehlswerts verstärkt wird. Selbst wenn das Frequenzband des Signals des Befehlswerts ein Hochfrequenzband oder ein Niederfrequenzband ist, kann verhindert werden, dass eine kleine Schwankung des Befehlswerts verstärkt wird. Mit anderen Worten, unabhängig von der Frequenz des Signals, das eine geringe Schwankung aufweist, ist es möglich zu verhindern, dass eine geringe Schwankung des Befehlswerts verstärkt wird. Mit anderen Worten, in der vorliegenden Ausführungsform ist es im Vergleich zu einem Fall, bei dem ein Bandpassfilter wie beispielsweise ein Tiefpassfilter in der Stufe vor dem Ausgleichsfilter 150 vorgesehen ist, unter einer Vielzahl von Bedingungen möglich, die Verstärkung einer kleinen Schwankung des Befehlswertes zu verhindern. Wenn ein Bandpassfilter, wie beispielsweise ein Tiefpassfilter, einfach in der Stufe vor dem Ausgleichsfilter 150 vorgesehen ist, wird unabhängig vom Zustand einer Änderung des Befehlswerts der Befehlswert ständig geformt. Diese Art der Verarbeitung kann jedoch verhindert werden.
-
Diese Konfiguration kann auch in geeigneter Weise auf eine Motorsteuerung angewendet werden, die die Filtercharakteristik des Ausgleichsfilters 150 beispielsweise durch maschinelles Lernen optimiert. Selbst wenn beispielsweise in einer Motorsteuerung, die die Filtercharakteristik des Ausgleichsfilters 150 verändern kann, die Filtercharakteristik des Ausgleichsfilters 150 verändert wird und damit ein Frequenzbereich verändert wird, der eine Verstärkung bewirkt, kann verhindert werden, dass eine kleine Schwankung des Befehlswerts verstärkt wird.
-
Ob die Schwankung des Befehlswerts gleich oder kleiner als der vorgegebene Wert ist oder nicht, wird vorzugsweise auf Grundlage des Befehlswerts vor Eintritt in die Rückkopplungsschleife (die Positionsrückkopplungsschleife, die Geschwindigkeitsrückkopplungsschleife) der Motorsteuereinheit 120 bestimmt. Insbesondere ist vorzugsweise die Befehlseinheit 110, die den Befehlswert erzeugt, oder eine übergeordnete Steuerung davon (eine übergeordnete Steuervorrichtung, eine externe Eingabevorrichtung oder dergleichen) außerhalb des Rückkopplungskreises der Motorsteuereinheit 120 vorgesehen und bestimmt auf Grundlage des Befehlswerts vor Eintritt in den Rückkopplungskreis, ob die Variation des Befehlswerts gleich oder kleiner als der vorbestimmte Wert ist oder nicht. Auf der Grundlage des Ergebnisses der Bestimmung bestimmt die Befehlseinheit 110 oder dergleichen, ob die Vorverarbeitung mit der Vorverarbeitungseinheit 160 ausgeführt wird oder nicht. Auf diese Weise ist es möglich, einen Vibrationsfaktor außerhalb des Rückkopplungskreises (Positionsrückkopplungsschleife, Geschwindigkeitsrückkopplungsschleife) der Motorsteuereinheit 120 zu reduzieren.
-
Die Verarbeitung der Ausführungsform der Motorsteuerung 100 wird dann anhand des Flussdiagramms in 7 beschrieben.
-
In Schritt S1 wird zunächst bestimmt, ob der Variationsbetrag C des Befehlswerts gleich oder kleiner als der Schwellwert B ist oder nicht. Wenn der Variationsbetrag C des Befehlswerts gleich oder kleiner als der Schwellwert B ist (ja in Schritt S1), führt die Vorverarbeitungseinheit 160 in Schritt S2 die Vorverarbeitung aus, bei der der vergangene Befehlswert als aktueller Befehlswert verwendet wird. Dann, nach der Ausführung der Vorverarbeitung in Schritt S2, wird in Schritt S3 die Filterverarbeitung mit dem Ausgleichsfilter 150 ausgeführt. Wenn andererseits der Variationsbetrag C des Befehlswerts nicht gleich oder kleiner als der Schwellwert B ist (nein in Schritt S1), wird der Prozess an Schritt S3 übergeben, und die Filterverarbeitung wird mit dem Ausgleichsfilter 150 ausgeführt.
-
Die oben beschriebene Verarbeitung wird durchgeführt, und somit wird selbst dann, wenn der Ausgleichsfilter 150, der den Befehlswert kompensiert, eine Filtercharakteristik hat, die eine Verstärkung in einem bestimmten Frequenzbereich bewirkt, verhindert, dass eine kleine Schwankung des Befehlswertes verstärkt wird, so dass das Auftreten von Vibrationen oder eines ungewöhnlichen Geräusches in der Antriebseinheit verhindert werden kann.
-
Es kann eine Konfiguration angenommen werden, in der der Schwellwert zur Bestimmung, ob die Veränderung des Befehlswertes gleich oder kleiner als der vorbestimmte Wert ist oder nicht, von einem Bediener eingestellt werden kann. Es kann auch eine Konfiguration angenommen werden, in der, wenn die Änderung des Befehlswertes gleich oder kleiner als der vorbestimmte Wert für die vorbestimmte Zeitdauer ist, wenn die Vorverarbeitung, bei der der vergangene Befehlswert als aktueller Befehlswert verwendet wird, ausgeführt wird, der Bediener die vorbestimmte Zeitdauer und den vorbestimmten Wert einstellen kann. Auf diese Weise ist es möglich, Kriterien gemäß dem Zustand der Steuerung und dergleichen angemessen einzustellen.
-
Jede der Funktionen, die gemäß der Ausführungsform in der Motorsteuerung enthalten sind, kann durch Hardware, Software oder eine Kombination davon realisiert werden. Die Realisierung durch Software bedeutet hier, dass ein Computer Programme liest und ausführt, um die Realisierung zu erreichen.
-
Die Programme werden auf verschiedenen Arten von nicht vorübergehenden computerlesbaren Medien gespeichert und können dem Computer zugeführt werden. Die nicht-transitorischen computerlesbaren Medien umfassen verschiedene Arten von greifbaren Speichermedien. Beispiele für nicht-transitorische computerlesbare Medien umfassen magnetische Aufzeichnungsmedien (beispielsweise eine flexible Platte, ein Magnetband und ein Festplattenlaufwerk), magneto-optische Aufzeichnungsmedien (beispielsweise eine magneto-optische Platte), eine CD-ROM (Nur-Lese-Speicher), eine CD-R, eine CD-R/W und Halbleiterspeicher (beispielsweise ein Masken-ROM, ein PROM (programmierbares ROM), ein EPROM (löschbares PROM), ein Flash-ROM und ein RAM). Die Programme können dem Computer mit verschiedenen Arten von vorübergehenden computerlesbaren Medien geliefert werden. Beispiele für das transitorische computerlesbare Medium umfassen elektrische Signale, optische Signale und elektromagnetische Wellen. Die transitorisch computerlesbaren Medien können dem Computer die Programme über verdrahtete Kommunikationswege wie einen elektrischen Draht und eine optische Faser oder über drahtlose Kommunikationswege zur Verfügung stellen.
-
Mit anderen Worten, die Motorsteuerung der vorliegenden Offenbarung kann verschiedene Arten von Ausführungsformen annehmen, die die unten beschriebenen Konfigurationen haben.
- (1) Eine Motorsteuerung 100 der vorliegenden Offenbarung umfasst: eine Befehlseinheit 110, die einen Befehlswert zur Steuerung eines Servomotors 127 ausgibt, der eine angetriebene Einheit antreibt; eine Motorsteuereinheit 120, die den Servomotor 127 auf Grundlage des Befehlswerts steuert; einen Ausgleichsfilter 150, der den Befehlswert ausgleicht; und eine Vorverarbeitungseinheit 160, die in einer Stufe vor dem Ausgleichsfilter 150 vorgesehen ist, wobei das Ausgleichsfilter 150 einen Frequenzbereich aufweist, in dem eine Verstärkung größer als 1 ist, und die Vorverarbeitungseinheit 160, wenn eine Änderung des Befehlswerts vor der Kompensation mit dem Ausgleichsfilter 150 gleich oder kleiner als ein vorbestimmter Wert ist, eine Vorverarbeitung ausführt, bei der ein vergangener Befehlswert als ein aktueller Befehlswert verwendet wird. Auf diese Weise wird selbst dann, wenn der Ausgleichsfilter 150, der den Befehlswert kompensiert, eine Filtercharakteristik aufweist, die eine Verstärkung in einem bestimmten Frequenzbereich erhöht, verhindert, dass eine kleine Änderung des Befehlswertes verstärkt wird, so dass das Auftreten von Vibrationen oder eines ungewöhnlichen Geräusches in der Antriebseinheit verhindert werden kann.
- (2) In der Motorsteuereinheit 100 der vorliegenden Offenbarung führt die Vorverarbeitungseinheit 160 die Vorverarbeitung aus, wenn die Änderung des Befehlswertes vor dem Ausgleichsfilter 150 während einer vorgegebenen Zeitspanne gleich oder kleiner als der vorgegebene Wert ist. Auf diese Weise wird zuverlässiger bestimmt, ob es sich bei der kleinen Änderung um eine kleine Änderung des Befehlswerts handelt, die nicht geändert werden muss, und dann kann die Vorverarbeitung ausgeführt werden, bei der der vergangene Befehlswert als aktueller Befehlswert verwendet wird.
- (3) In der Motorsteuereinheit 100 der vorliegenden Offenbarung umfasst die Motorsteuereinheit 120 eine Rückkopplungsschleife, und die Befehlseinheit 110 oder ein übergeordneter Regler davon bestimmt auf Grundlage des Befehlswerts vor Eintritt in die Rückkopplungsschleife, ob die Änderung des Befehlswerts gleich oder kleiner als der vorbestimmte Wert ist, und bestimmt auf Grundlage des Ergebnisses der Bestimmung, ob die Vorverarbeitungseinheit 160 die Vorverarbeitung ausführt oder nicht. Auf diese Weise ist es möglich, einen Schwingungsfaktor außerhalb der Rückkopplungsschleife zu reduzieren.
-
Obwohl die Ausführungsform der vorliegenden Offenbarung oben beschrieben wurde, ist die vorliegende Offenbarung nicht auf die oben beschriebene Ausführungsform beschränkt, und es sind verschiedene Modifikationen und Variationen möglich. Die in der vorliegenden Ausführungsform beschriebenen Wirkungen sind lediglich eine Liste der am meisten bevorzugten Wirkungen, die sich aus der vorliegenden Offenbarung ergeben, und die Wirkungen der vorliegenden Offenbarung sind nicht auf die in der vorliegenden Ausführungsform beschriebenen beschränkt.
-
Bezugszeichenliste
-
- 100
- Motorsteuerung
- 110
- Befehlseinheit
- 120
- Motorsteuereinheit
- 121
- Subtrahierer
- 122
- Positionssteuereinheit
- 123
- Addierer
- 124
- Subtrahierer
- 125
- Geschwindigkeits-Steuereinheit
- 126
- Addierer
- 127
- Servomotor (Motor)
- 128
- Drehgeber
- 129
- Integrator
- 130
- Positions-Vorschubeinheit
- 131
- Geschwindigkeits-Vorschubeinheit
- 150
- Ausgleichsfilter
- 160
- Vorverarbeitungseinheit
- 200
- Maschine (angetriebene Einheit)
- 300
- Übertragungsmechanismus