JP2024004881A - サーボモータ制御方法及びサーボモータ制御装置 - Google Patents
サーボモータ制御方法及びサーボモータ制御装置 Download PDFInfo
- Publication number
- JP2024004881A JP2024004881A JP2022104757A JP2022104757A JP2024004881A JP 2024004881 A JP2024004881 A JP 2024004881A JP 2022104757 A JP2022104757 A JP 2022104757A JP 2022104757 A JP2022104757 A JP 2022104757A JP 2024004881 A JP2024004881 A JP 2024004881A
- Authority
- JP
- Japan
- Prior art keywords
- speed
- acceleration
- command
- pulse
- motor
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P23/00—Arrangements or methods for the control of AC motors characterised by a control method other than vector control
- H02P23/14—Estimation or adaptation of motor parameters, e.g. rotor time constant, flux, speed, current or voltage
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D13/00—Control of linear speed; Control of angular speed; Control of acceleration or deceleration, e.g. of a prime mover
- G05D13/62—Control of linear speed; Control of angular speed; Control of acceleration or deceleration, e.g. of a prime mover characterised by the use of electric means, e.g. use of a tachometric dynamo, use of a transducer converting an electric value into a displacement
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P23/00—Arrangements or methods for the control of AC motors characterised by a control method other than vector control
- H02P23/20—Controlling the acceleration or deceleration
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P23/00—Arrangements or methods for the control of AC motors characterised by a control method other than vector control
- H02P23/24—Controlling the direction, e.g. clockwise or counterclockwise
Landscapes
- Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Numerical Control (AREA)
- Control Of Position Or Direction (AREA)
- Control Of Electric Motors In General (AREA)
Abstract
【課題】モータの最大速度を超える指令が入力されるときにおいてもその指令を生成したユーザーの意図にできるだけ忠実にモータの位置や速度の制御を行なう。
【解決手段】指令パルスに基づいてサーボ制御を行なうサーボモータ制御装置は、速度0からモータの最大速度までの範囲を分割した複数の速度帯域の各々ごと平均加速度を記憶する加速度テーブル15と、指令パルスから速度帯域ごとの平均加速度を求めて加速度テーブル25に格納する加速度演算部24と、指令パルスの数を蓄積するバッファー部20と、速度がリミット値を超えるときにその超える分の指令パルスをバッファー部20に蓄積して次の制御周期に持ち越すことによりモータ50の速度をリミット値以内に制限する飽和演算部23と、平均加速度を加速度テーブル25から読み出して速度を変化させる速度変化手段(26,28)と、を備える。
【選択図】図2
【解決手段】指令パルスに基づいてサーボ制御を行なうサーボモータ制御装置は、速度0からモータの最大速度までの範囲を分割した複数の速度帯域の各々ごと平均加速度を記憶する加速度テーブル15と、指令パルスから速度帯域ごとの平均加速度を求めて加速度テーブル25に格納する加速度演算部24と、指令パルスの数を蓄積するバッファー部20と、速度がリミット値を超えるときにその超える分の指令パルスをバッファー部20に蓄積して次の制御周期に持ち越すことによりモータ50の速度をリミット値以内に制限する飽和演算部23と、平均加速度を加速度テーブル25から読み出して速度を変化させる速度変化手段(26,28)と、を備える。
【選択図】図2
Description
本発明は、工作機械の数値制御(NC:Numerical Control)などに用いられるサーボモータ制御方法及びサーボモータ制御装置に関する。
工作機械の数値制御では、数値制御プログラム(加工プログラム)に基づいて工作機械の軸ごとにその軸のモータを一定の微小量だけ移動させる指令パルスを発生し、その指令パルスに基づいてモータのサーボ制御を行なう。指令パルスにはモータを正方向に回転させる指令パルスと負方向(逆方向ともいう)に回転させる指令パルスとがあり、正方向に回転させる指令パルスの積算値から負方向に回転させる指令パルスの積算値を減じたものが、サーボ制御におけるモータに対する現在の位置指令を表す。モータを一方向に回転させる場合においては、モータの速度は、単位時間当たりに入力する指令パルス数に比例する。
工具あるいはワークを対象物と呼ぶこととして、数値制御において用いられる指令パルスには対象物の移動速度を急変させるような部分が含まれていることがある。対象物の移動速度の急変は工作機械に機械的な衝撃を与えるので、好ましくない。このような場合には急激な速度変化を穏やかな速度変化とするように指令パルスを補正することが行われている。例えば特許文献1は、対象物の移動速度を急変させる部分を指令パルスの中から検出し、速度急変部分を含むパルス補正区間を特定してパルス補正区間のみ速度の変化が緩やかになるように補正することを開示している。また数値制御では、対象物の移動経路にコーナー点が含まれる場合、コーナー点の前後において速度の加減速制御が行なわれる。特許文献2は、加工プログラムの実行中に時定数を変更してもコーナー点の前後で適切に加減速制御を行なうことができる数値制御装置を開示している。
特許文献3は、送り軸指令に応じて工作機械を駆動するときに発生する振動を抑制するために、速度0から順方向に第1の速度まで加速する期間、第1の速度から速度0まで減速する期間、速度0から逆方向に第2の速度まで加速する期間、及び第2の速度から速度0まで減速する期間が連続するときに、これら4つの期間のうちの2つの期間の長さを相互に同一にし、残りの2つの期間の長さも相互に同一にすることを開示している。特許文献4は、工作機械の数値制御を行なうときに移動時間のむだを防止するために、連続した2つの移動指令を合成することを開示している。
ところで、モータには一般に回転の最大速度が定められている。数値制御を行なう場合、入力する指令パルスによって定まるモータの回転速度が最大速度を超えるときにはそのような速度ではモータを回転させることができないので、従来は、そのような指令パルスを無視していた。しかしながら、指令パルスを無視すると、工具やワークなどの対象物の位置が、ユーザーが意図していた位置からずれてしまう。特許文献5は、このような位置のずれの発生を抑制するために、最大速度を超える指令が入力したときにモータを最大速度で回転させるとともに、指令において最大速度を超えている分を保存して次の制御周期の指令値に加算することを開示している。
特許文献5に記載される方法は、モータを一方の方向のみに回転させる場合であれば、モータの最大速度を超える指令が入力した場合においても最終的には工具やワークの位置をユーザーが最初に意図した位置とすることができる。しかしながら、ユーザーの意図には、対象物の最終的な位置だけではなく、どのような速度変化を与えて指定した位置に対象物を移動させるか、ということも含まれる。特許文献5に記載された方法では、どのような速度変化を与えるかに関してユーザーの意図が必ずしも反映されない。
本発明の目的は、モータの最大速度を超える指令が入力されるときにおいてもその指令を生成したユーザーの意図にできるだけ忠実にモータの位置や速度変化の制御を行なうことができるサーボモータ制御方法及びサーボモータ制御装置を提供することにある。
本発明の一態様によれば、所定の微小移動量での移動を指令する指令パルスが入力されて指令パルスに基づいてモータのサーボ制御を行なうサーボモータ制御方法は、速度0からモータの最大速度までの範囲を複数の速度帯域に分割して速度帯域ごとに過去に入力した指令パルスでの加速度の平均値を平均加速度として加速度テーブルに記憶する記憶工程と、指令パルスによって定まる速度が指定されたリミット値を超えるときにリミット値を超える分の指令パルスをバッファーに蓄積して次の制御周期において入力する指令パルスに加算することにより、モータの速度をリミット値以内に制限する速度制限工程と、速度制限工程において制限された速度に対応する速度帯域の平均加速度を加速度テーブルから読み出し、読み出された平均加速度を使用してリミット値以内に制限された速度を変化させる速度変化工程と、を有する。
一態様のサーボモータ制御方法では、過去に入力した指令パルスから速度帯域ごとに平均加速度を求めて加速度テーブルに格納しておき、リミット値に基づいて速度制限を行ったときに速度制限後の指令パルスが示す速度に基づいて加速度テーブルから平均加速度を読み出し、読み出した平均加速度によって速度制限後の速度を変化させるので、ユーザーの意図したような速度変化でモータをサーボ制御できるようになる。
一態様では、加速度の平均値は加速度の移動平均値であることが好ましい。移動平均値を用いることにより、長い期間の間にユーザーの意図する速度変化が変わった場合であっても、その時点のユーザーの意図にかなっていると考えられる速度変化でモータのサーボ制御を行なうことが可能になる。また、リミット値は、モータの定格最大速度であってもよいし定格最大速度の範囲内でユーザーによって定められた最大速度であってもよい。このようにリミット値を設定できるようにすることにより、ユーザーの意図に従って柔軟にサーボ制御を行なうことができるようになる。さらに、速度変化工程において、バッファーに蓄積された指令パルスの数が閾値を超えるときには平均加速度を使用した速度の変更を行わないようにすることができる。このように構成することにより、指令パルスによって指示される位置に対してオーバーランなしで容易に到達することが可能になる。
一態様では、指令パルスは、モータを正方向に回転させる正方向パルスとモータを負方向に回転させる負方向パルスとからなり、バッファーは正方向パルスの数を蓄積する正方向バッファーと負方向パルスの数を蓄積する負方向バッファーとからなってもよい。正方向バッファーと負方向バッファーの両方を設けることによって、モータが正方向と負方向の両方に回転するときに対応することが容易になる。この場合、モータを正方向に駆動しかつ負方向バッファーの値が正であるときに入力した正方向パルスを無視し、モータを負方向に駆動しかつ正方向バッファーの値が正であるときに入力した負方向パルスを無視することができる。このように指令パルスを無視した場合には、モータを往復移動させるときに少なくとも最初の1回については指令パルスによって意図された位置に確実に到達することができる。また必要に応じてさらにバッファーを追加することも可能である。
本発明の別の態様によれば、所定の微小移動量での移動を指令する指令パルスが入力されて指令パルスに基づいてモータのサーボ制御を行なうサーボモータ制御装置は、速度0からモータの最大速度までの範囲が複数の速度帯域に分割されて速度帯域ごとに加速度の平均値を平均加速度として記憶する加速度テーブルと、入力する指令パルスを解析して当該指令パルスが表す速度と加速度を算出して速度帯域ごとの平均加速度を求めて加速度テーブルに格納する加速度演算部と、指令パルスの数を蓄積するバッファー部と、指令パルスによって定まる速度が指定されたリミット値を超えるときにリミット値を超える分の指令パルスをバッファー部に蓄積して次の制御周期において入力する指令パルスに加算することにより、モータの速度をリミット値以内に制限する飽和演算部と、リミット値以内に制限された速度に対応する速度帯域の平均加速度を加速度テーブルから読み出し、読み出された平均加速度を使用してリミット値以内に制限された速度を変化させる速度変化手段と、を備える。
別の態様のサーボモータ制御装置では、過去に入力した指令パルスから速度帯域ごとに算出された平均加速度を格納する加速度テーブルと、制御周期ごとに入力する指令パルスに対してリミット値に基づいて速度制限を行う飽和演算部とを設けた上で、速度変化手段により、リミット値以内に制限された速度に対してその速度が属する速度帯域に基づいて加速度テーブルから読み出された平均加速度によって変化を加えるので、ユーザーの意図したような速度変化でモータをサーボ制御できるようになる。
サーボモータ制御装置では、加速度の平均値は加速度の移動平均値であることが好ましい。移動平均値を用いることにより、長い期間の間にユーザーの意図する速度変化が変わった場合であっても、その時点のユーザーの意図にかなっていると考えられる速度変化でモータのサーボ制御を行なうことが可能になる。また、リミット値は、モータの定格最大速度であってもよいし定格最大速度の範囲内でユーザーによって定められた最大速度であってもよい。このようにリミット値を設定できるようにすることにより、ユーザーの意図に従って柔軟にサーボ制御を行なうことができるようになる。
サーボモータ制御装置において速度変化手段は、速度変化手段が出力しようとする指令パルスが表す速度に対応する速度帯域を判別する速度帯域分類部と、速度帯域分類部で判別された速度帯域に基づいて加速度テーブルを検索して得られた平均加速度が入力し、加速度の選択を行う加速度選択部と、加速度選択部において選択された加速度によって速度が変化するように飽和演算部が出力する指令パルスに変更を加える速度決定部と、を備えてもよく、加速度選択部は、バッファー部に蓄積された指令パルスの数が閾値を超えるときには0を加速度として選択し、バッファー部に蓄積された指令パルスの数が閾値であれば加速度テーブルから得られた平均加速度を加速度として選択してもよい。このように構成することにより、指令パルスによって指示される位置に対してオーバーランなしで容易に到達することが可能になる。
サーボモータ制御装置において、指令パルスは、モータを正方向に回転させる正方向パルスとモータを負方向に回転させる負方向パルスとからなっていてもよく、バッファー部は正方向パルスの数を蓄積する正方向バッファーと負方向パルスの数を蓄積する負方向バッファーとを備えていてもよい。正方向バッファーと負方向バッファーの両方を設けることによって、モータが正方向と負方向の両方に回転するときに対応することが容易になる。この場合、モータを正方向に駆動しかつ負方向バッファーの値が正であるときに入力した正方向パルスが無視され、モータを負方向に駆動しかつ正方向バッファーの値が正であるときに入力した負方向パルスが無視されるようにすることができる。このように指令パルスを無視した場合には、モータを往復移動させるときに少なくとも最初の1回については指令パルスによって意図された位置に確実に到達することができる。また必要に応じてさらにバッファーを追加することも可能である。
本発明によれば、モータの最大速度を超える指令が入力されるときにおいてもその指令を生成したユーザーの意図にできるだけ忠実にモータの位置や速度変化の制御を行なうことができるようになる。
次に、本発明を実施するための形態について、図面を参照して説明する。図1は、本発明の実施の一形態のサーボモータ制御装置の構成を示すブロック図である。本実施形態のサーボモータ制御装置10は、数値制御装置などにおいてモータ50のサーボ制御を実行するために用いられる。数値制御装置の制御対象となる工作機械などは、通常、複数の軸を備えて軸ごとにモータが設けられているが、軸ごとのモータの制御は実質的には同じであるので、ここでは、1軸分のモータ50の制御に関する部分を説明する。
図1に示すサーボモータ制御装置10には、モータ50のサーボ制御のために数値制御プログラム(NCプログラム)などから出力される指令パルスが入力する。この指令パルスは、その1つ1つは、一定の微小移動量でモータを回転させることを指示するものであり、したがってモータ50の回転速度は指令パルスでのパルス頻度に比例することになる。サーボモータ制御装置10に入力した指令パルスは、まず、分周逓倍部11に入力し、分周または逓倍される。具体的には、M及びNがいずれ1以上の整数であるとして、分周逓倍部11は、指令パルスを分周逓倍比N/Mで分周または逓倍する。分周逓倍部11で分周または逓倍された指令パルスは、次に、速度制限処理部12に入力する。
一般にモータ50には、それ以上の速度でそのモータ50を回転させてはならない、という定格最大速度が定められている。定格最大速度の範囲内であってもユーザーがモータ50に対して個別に最大速度を定めたいこともある。定格最大速度であるかユーザーが個別に定めた最大速度であるかを問わず、モータ50について定められた最大速度のことをリミット値と呼ぶことにする。速度制限処理部12は、所定の制御周期ごとにその間の指令パルスの数をカウントし、カウントされた指令パルスの数によって示されるモータ50の速度がリミット値を超えるときは、リミット値を超える部分の指令パルス数を次の制御周期において入力する指令パルスの数に加算することにより、モータ50の速度がリミット値を超えないように制御周期当たりの指令パルス数を制限する。速度制限処理部12の詳細については後述する。指令パルスを累算したものがモータ50に対する位置指令となるから、速度制限処理部12においてリミット値によって制限された指令パルスは累算される。その後、指令パルスの累算値は、平滑化フィルター13と、ユーザーによって任意に設定されるユーザー設定フィルター14によって処理されてサーボアンプ15に入力する。サーボアンプ15は、指令パルスの累算値である位置指令に基づいてモータ50をサーボ制御する。制御周期ごとに速度制限処理部12から出力される指令パルスの数はリミット値によって制限されているから、指令パルス数の累算値である位置指令の時間変化もリミット値によって制限されることとなり、位置指令に基づいてモータ50をサーボ制御したときにモータ50の速度がリミット値を超えることはない。サーボアンプ15には、モータ50に付属するエンコーダ(不図示)から、モータ50の回転位置を示す信号がフィードバックしている。
例えば工作機械の送り軸の制御では、初期位置から所望の位置にまで工具を移動させ、その後、再び初期位置まで工具が戻るようにモータにより往復移動を実現することが多い。このように工具の往復移動を実行する際にリミット値を用いて指令パルスを制限するときは、予め定めた所望の位置にまでは工具が到達することを保証する必要がある。さらに、リミット値によってモータ速度を制限する場合においても、ユーザーがどのような意図で速度変化を設定したのかが、リミット値による制限後のモータ速度に反映していることが好ましい。本実施形態のサーボモータ制御装置10に設けられる速度制限処理部12は、リミット値によるモータ50の速度制限を行いながら、往復移動時に所望の位置に到達することを保証し、かつ、モータ50の速度に関してユーザーの意図を反映した変化となるように制御を行なうことができるものである。図2は、速度制限処理部12の構成を示すブロック図である。速度制限処理部12は、例えば、マイクロプロセッサなどにて構成されるものであり、所定の制御周期に基づいて指令パルスを処理するように構成されている。
本実施形態では、モータ50を正方向と正方向とは逆方向である負方向の両方に回転させることとしているから、正方向への回転を指令する正方向パルスと負方向への回転を指令する負方向パルスとの2種類の指令パルスが速度制限処理部12に入力する。1つの正方向パルスによるモータ50の回転量と1つの負方向パルスによる回転量は、回転の向きが異なるだけで絶対値としては同じである。速度制限処理部12には、その制御周期ごとに入力した指令パルスの数を格納するバッファー部20が設けられており、バッファー部20には、正方向パルスの数を格納する正方向バッファー(R+)21と、負方向パルスの数を格納する負方向バッファー(R-)22とが設けられている。速度制限を行わないとした場合、モータ50の速度は単位時間当たりの指令パルスの数に比例するから、制御周期ごとに速度制限処理部12に入力する指令パルスの数は、制御周期ごとにモータ50を制御するときのモータ50の速度を表すことになる。バッファー部20の出力側には、リミット値として定められる最大速度によってモータ50の速度を制限する飽和演算部23が設けられている。リミット値は、ハードウエアとしてのモータ50に定められた定格最大速度であってもよいし、定格最大速度の範囲内でユーザーが設定した最大速度であってもよい。
速度制限処理部12では、状態変数として、出力状態STが定義されている。出力状態STは、制御周期ごとに飽和演算部23が出力する指令パルスが正方向パルスなのか負方向パルスなのかを示す状態変数であり、+1、0及び-1の3値をとる。ST=+1であれば、正方向パルスが出力されており、このときモータ50は正方向に駆動されている。ST=-1であれば、負方向パルスが出力されており、このときモータ50は負方向に駆動されている。ST=0は、両方のバッファー21,22がいずれも0であって飽和演算部23からは指令パルスが出力されない状態を示している。リミット値に対応するパルス数のことをリミットパルス数と呼ぶ。ST=+1であるとき飽和演算部23は、制御周期ごとに、正方向バッファー21に蓄積されている正方向パルスの数とリミットパルス数とを比べ、正方向パルスの数がリミットパルス数以下であれば正方向バッファー21に蓄積されている数の正方向パルスを出力し、リミットパルス数を超えていればリミットパルス数と同数の正方向パルスを出力する。そして、正方向バッファー21に記憶されている値を、出力した正方向パルスの数だけ減算する。したがって、正方向バッファー21に記憶されていた正方向パルスの数のうち、リミットパルス数を超える部分は正方向バッファー21に次の制御周期に持ち越されることとなる。持ち越された正方向パルスの数に、新たな制御周期における正方向パルスの数が加算され、再度、飽和演算部23による処理が行われることなる。同様にST=-1であるときは、飽和演算部23は、制御周期ごとに、負方向バッファー22に蓄積されている負方向パルスの数とリミットパルス数とを比べ、負方向パルスの数がリミットパルス数以下であれば負方向バッファー22に蓄積されている数の負方向パルスを出力し、リミットパルス数を超えていればリミットパルス数と同数の負方向パルスを出力する。そして、負方向バッファー22に記憶されている値を、出力した負方向パルスの数だけ減算する。
本実施形態のサーボモータ制御装置10は、ユーザーの意図を反映した速度変化となるように制御を行なうものであるが、飽和演算部23によって速度制限を行い、リミット値を超えた部分に対応する指令パルスの数をバッファー部20内のバッファーに加算したときには、入力する指令パルスのパルス列によって表される加速度の情報が失われる。そこで本実施形態では、モータ50の速度に関し、速度0から定格最大速度までの速度範囲が複数の速度帯域に分割されるとともに、このような速度帯域ごとにユーザーが過去にどのような速度変化を指令したかを記憶する加速度テーブル25が設けられている。そしてリミット値による制限を行った後の速度に基づいて加速度テーブル25内を検索して加速度を取得し、その加速度に応じて変化するようにモータ50の速度が制御される。図示した例では、速度0からモータ50の定格最大速度までの速度範囲が速度帯域1から速度帯域5までの5つの速度帯域に分割されており、加速度テーブル25では速度帯域1から速度帯域5までの速度帯域ごとに平均加速度が記憶されている。加速度テーブル25に記憶される平均加速度は、速度帯域ごとに、サーボモータ制御装置10に入力された指令パルスによって表される速度がその速度帯域内であるときにその指令パルスによって表される加速度を求め、そのようにして求められた加速度の平均を算出して得られたものである。このような速度変化の制御を実現するために、速度制限処理部12には、加速度テーブル25のほかに、加速度演算部24、速度決定部26、速度帯域分類部27及び加速度選択部28を備えている。
加速度演算部24は、サーボモータ制御装置10に入力される指令パルスを監視し、指令パルスによって表される速度と加速度とを求め、速度帯域ごとの平均加速度を算出して加速度テーブル25に格納する。ユーザーの意図は時間の経過とともに変化することがあり、平均加速度を算出するときは、一定以上は古いデータを排除する方が好ましい。したがって、平均加速度の算出には移動平均を使用し、加速度テーブル25内の平均加速度の値を常時更新することが好ましい。
速度決定部26は、後述するようにモータ50の速度を決定し、決定した速度を反映した指令パルスを出力する。速度帯域分類部27は、速度決定部26が出力した指令パルスが表す速度を求め、加速度テーブル25におけるどの速度帯域に属するものかを判別する。判別された速度帯域は加速度テーブル25に送られ、その速度帯域に対応して加速度テーブル25から平均加速度が読み出される。読み出された平均加速度は、加速度選択部28に入力する。加速度選択部28は、速度決定部26において適用すべき加速度を決定する。例えば、加速度テーブル25から読み出された平均加速度がaであるとき、バッファーの値(ST=+1のときは正方向バッファー21の値、ST=-1のときは負方向バッファー22の値)が大きいときには適用すべき加速度を0とし、バッファーの値が小さいときには加速度テーブル25から読み出した平均加速度aを選択する。バッファーの値が大きいか否かは、バッファーの値をX、現在の速度をVとして、
X>V2/2a
が成り立つか否かによって判定することができる。V2/2aはこの判定のための閾値として使用される。速度決定部26は、飽和演算部23から出力される指令パルスに対し、加速度選択部28によって選択された加速度となるように制御周期ごとの指令パルスの数を増減する処理を行い、この処理後の指令パルスが速度制限処理部12の出力となる。モータ50に対する位置指令は、速度制限処理部12から出力される指令パルスに関し、制御周期ごとに正方向パルスの累積値から負方向パルスの累積値を減算することにより得られる。
X>V2/2a
が成り立つか否かによって判定することができる。V2/2aはこの判定のための閾値として使用される。速度決定部26は、飽和演算部23から出力される指令パルスに対し、加速度選択部28によって選択された加速度となるように制御周期ごとの指令パルスの数を増減する処理を行い、この処理後の指令パルスが速度制限処理部12の出力となる。モータ50に対する位置指令は、速度制限処理部12から出力される指令パルスに関し、制御周期ごとに正方向パルスの累積値から負方向パルスの累積値を減算することにより得られる。
指令パルスの増減する処理を行った結果、飽和演算部23から速度決定部26に入力する指令パルスの数と、速度決定部26から出力される指令パルスの数が異なることなり、これは、モータ50の位置での誤差の要因となる。このような位置誤差が生じないように、速度決定部26の入力と出力との間での指令パルスの数の差だけ、バッファー部20内に蓄積されている指令パルス数を調整する必要がある。なお、速度帯域が最小の速度に対応するものであって、バッファーの値が平均加速度aよりも小さい値であるときは、ユーザーの指定した位置に停止することを保証するために、バッファーの値がそのまま速度決定部26から出力されるようにする。
速度制限処理部12の動作を説明する図3を参照して、本実施形態のサーボモータ制御装置10における処理を説明する。図3に示す処理は、速度制限処理部12においてその制御周期ごとに実行されるものである。図において「R+」は正方向バッファー21を意味し、「R-」は負方向バッファー22を意味する。指令パルスが速度制限処理部12に入力すると、「1.加速度の測定」として示すように、加速度演算部24が、指令パルスによって表される速度を5段階に分けて速度帯域1~5とし、速度帯域ごとに指令パルスによって表される加速度の移動平均を算出する。得られた平均加速度は、速度帯域ごとに加速度テーブル25に格納される。
加速度の測定と並行して、上述の出力状態STに基づいて指令パルスの数がバッファー部20において正方向バッファー21と負方向バッファー22のいずれかに加算される。本実施形態では、往復移動時に所望の位置に到達することを保証することとしている。往復移動を複数回にわたって連続して繰り返すことが指令されるときに、モータの速度を制限しつつ各回の往復移動において所望の位置に到達するようにすることは、制御が煩雑になる。そこで本実施形態は、少なくとも1回の往復移動において所望の位置に到達することを保証する。出力状態STが+1、すなわち正方向パルスを飽和演算部23が出力している状態で負方向バッファー22の値が正であれば、正方向への移動の後に負方向への移動させるための指令パルスを既に受け取っていることになる。この状態でさらに正方向パルスが入力した場合には、現在実行中の往復移動の次の往復移動のための指令パルスが入力したことを意味するから、この正方向パルスは無視される。ST=+1であって負方向バッファー22の値が正でないときは、正方向パルスの数が正方向バッファー21に加算される。ST=+1であって負方向パルスが入力したときは、現在実行中の正方向への移動に引き続く負方向への移動が指令されたことになるから、その負方向パルスの数は負方向バッファー22に加算される。
同様に、出力状態STが-1、すなわち負方向パルスを飽和演算部23が出力している状態で正方向バッファー21の値が正であれば、このときに入力した負方向パルスは無視される。ST=-1であって正方向バッファー21の値が正でないときは、入力した負方向パルスの数は負方向バッファー22に加算される。ST=-1であって正方向パルスが入力したときは、その正方向パルスの数は正方向バッファー21に加算される。出力状態STが0のときは、飽和演算部23が指令パルスを出力していない状態であり、正方向バッファー21と負方向バッファー22の両方が0となっているはずである。この状態で正方向パルスが入力したらその正方向パルスの数が正方向バッファー21に加算され、負方向パルスが入力したらその負方向パルスの数が負方向バッファー22に加算される。
バッファー部20における指令パルス数の加算に引き続いて、飽和演算部23は、出力状態STに応じて指令パルスの出力を実行する。ST=0のときは、次の制御周期において正方向パルスの出力を行うべきか負方向パルスの出力を行うべきかを判定するために、正方向バッファー21及び負方向バッファー22の検査が行われる。ST=+1のときは正方向パルスが出力され、ST=-1のときは負方向パルスが出力される。これらの指令パルスの出力により正方向バッファー21と負方向バッファー22のいずれもが空となったときは、ST=0とする。
図3の「4.出力のアルゴリズム」は、オーバーランが起こらないように指令パルスを出力するためのアルゴリズムを示している。本実施形態では、指令パルスによって表される速度帯域ごとに平均加速度aを定めている。加速度は速度の時間変化における傾斜として表されるから、現在の速度をV1とすれば、図において斜線で示された領域の面積Sは、モータ50の移動量と同じ次元を有して、
S=(V1)2/2a
で表される。そこで、バッファー部20内に残っている指令パルスの数と面積Sの2倍とを比較し、2Sよりも残りパルス数の方が少なければ平均加速度aで減速し、そうでなければ速度を維持する。このような制御を行なうことにより、オーバーランすることなく指令パルスによって指定された位置に到達することができる。
S=(V1)2/2a
で表される。そこで、バッファー部20内に残っている指令パルスの数と面積Sの2倍とを比較し、2Sよりも残りパルス数の方が少なければ平均加速度aで減速し、そうでなければ速度を維持する。このような制御を行なうことにより、オーバーランすることなく指令パルスによって指定された位置に到達することができる。
図4は、本実施形態に基づいてモータ50のサーボ制御を行なったときのモータ50の速度の変化を示している。ここでは、サーボモータ制御装置10に入力する指令パルスは、図4において(a)に示すように、正方向に加速して3000rpmの速度でモータ50を一定時間回転させたのちに減速して時刻P1において速度0となり、引き続いて負方向に加速して3000rpmの速度でモータ50を一定時間回転させたのちに減速して時刻P2において速度0となってモータ50を停止させるものであるとする。また、モータ50の最大速度に関するリミット値として1000rpmが設定されているものとする。図4において(b)は、(a)に示すような速度変化を示す指令パルスが入力したときにサーボモータ制御装置10によってサーボ制御されるモータ50の実際の速度変化を示している。モータ50の速度は±1000rpmの範囲に制限されるとともに、元の指令パルスに比べて遅延して制御されていることが分かる。特に(b)においては、正方向の回転から時刻Q1において速度が0となり引き続いて負方向の回転となり、負方向の回転から時刻Q2において速度0となっている。これらの時刻Q1,Q2におけるモータ50の実際の位置は、(a)に示される指令パルスによって指令された時刻P1,P2におけるモータ50の位置とそれぞれ同じである。また、速度が0から±1000rpmの範囲内では、(b)に示されるモータ50の実際の速度変化は、指令パルスを用いてユーザーが意図したものと同じになっている。
以上説明した本実施形態では、予め指令パルスを解析して速度帯域ごとの平均加速度を加速度テーブルに格納しておき、リミット値による速度制限を行ったあとの速度に基づいて出力指令パルスにおける加速度を決定することによって、ユーザーの意図した速度変化でモータ50のサーボ制御を行なうことができる。また、出力状態STを用いて正方向パルスの数と負方向パルスの数の加算を制御することによって、リミット値による速度制限を行っているときにおいても往復移動を行うときにユーザーが指定した所望の位置に到達することが可能になる。
なお、本技術は以下のような構成をとることが可能である。
(1) 所定の微小移動量での移動を指令する指令パルスが入力されて前記指令パルスに基づいてモータのサーボ制御を行なうサーボモータ制御方法において、
速度0から前記モータの最大速度までの範囲を複数の速度帯域に分割して前記速度帯域ごとに過去に入力した指令パルスでの加速度の平均値を平均加速度として加速度テーブルに記憶する記憶工程と、
前記指令パルスによって定まる速度が指定されたリミット値を超えるときに前記最大速度を超える分の前記指令パルスをバッファーに蓄積して次の制御周期において入力する前記指令パルスに加算することにより、前記モータの速度をリミット値以内に制限する速度制限工程と、
前記速度制限工程において制限された前記速度に対応する速度帯域の前記平均加速度を前記加速度テーブルから読み出し、読み出された平均加速度を使用して前記リミット値以内に制限された前記速度を変化させる速度変化工程と、
を有するサーボモータ制御方法。
速度0から前記モータの最大速度までの範囲を複数の速度帯域に分割して前記速度帯域ごとに過去に入力した指令パルスでの加速度の平均値を平均加速度として加速度テーブルに記憶する記憶工程と、
前記指令パルスによって定まる速度が指定されたリミット値を超えるときに前記最大速度を超える分の前記指令パルスをバッファーに蓄積して次の制御周期において入力する前記指令パルスに加算することにより、前記モータの速度をリミット値以内に制限する速度制限工程と、
前記速度制限工程において制限された前記速度に対応する速度帯域の前記平均加速度を前記加速度テーブルから読み出し、読み出された平均加速度を使用して前記リミット値以内に制限された前記速度を変化させる速度変化工程と、
を有するサーボモータ制御方法。
(2) 前記加速度の平均値は加速度の移動平均値である、(1)に記載のサーボモータ制御方法。
(3) 前記リミット値は、前記モータの定格最大速度、または、前記定格最大速度の範囲内でユーザーによって定められた最大速度である、(1)または(2)に記載のサーボモータ制御方法。
(4) 前記速度変化工程において、前記バッファーに蓄積された前記指令パルスの数が閾値を超えるときには前記平均加速度を使用した前記速度の変更を行わない、(1)から(3)のいずれかに記載のサーボモータ制御方法。
(5) 前記指令パルスは、前記モータを正方向に回転させる正方向パルスと前記モータを負方向に回転させる負方向パルスとからなり、
前記バッファーは前記正方向パルスの数を蓄積する正方向バッファーと前記負方向パルスの数を蓄積する負方向バッファーとからなる、(1)から(4)のいずれかに記載のサーボモータ制御方法。
前記バッファーは前記正方向パルスの数を蓄積する正方向バッファーと前記負方向パルスの数を蓄積する負方向バッファーとからなる、(1)から(4)のいずれかに記載のサーボモータ制御方法。
(6) 前記モータを前記正方向に駆動しかつ前記負方向バッファーの値が正であるときに入力した前記正方向パルスを無視し、
前記モータを前記負方向に駆動しかつ前記正方向バッファーの値が正であるときに入力した前記負方向パルスを無視する、(5)に記載のサーボモータ制御方法。
前記モータを前記負方向に駆動しかつ前記正方向バッファーの値が正であるときに入力した前記負方向パルスを無視する、(5)に記載のサーボモータ制御方法。
(7) 所定の微小移動量での移動を指令する指令パルスが入力されて前記指令パルスに基づいてモータのサーボ制御を行なうサーボモータ制御装置において、
速度0から前記モータの最大速度までの範囲が複数の速度帯域に分割されて前記速度帯域ごとに加速度の平均値を平均加速度として記憶する加速度テーブルと、
入力する指令パルスを解析して当該指令パルスが表す速度と加速度を算出して前記速度帯域ごとの前記平均加速度を求めて前記加速度テーブルに格納する加速度演算部と、
前記指令パルスの数を蓄積するバッファー部と、
前記指令パルスによって定まる速度が指定されたリミット値を超えるときに前記最大速度を超える分の前記指令パルスをバッファー部に蓄積して次の制御周期において入力する前記指令パルスに加算することにより、前記モータの速度をリミット値以内に制限する飽和演算部と、
前記リミット値以内に制限された前記速度に対応する速度帯域の前記平均加速度を前記加速度テーブルから読み出し、読み出された平均加速度を使用して前記リミット値以内に制限された前記速度を変化させる速度変化手段と、
を備えるサーボモータ制御装置。
速度0から前記モータの最大速度までの範囲が複数の速度帯域に分割されて前記速度帯域ごとに加速度の平均値を平均加速度として記憶する加速度テーブルと、
入力する指令パルスを解析して当該指令パルスが表す速度と加速度を算出して前記速度帯域ごとの前記平均加速度を求めて前記加速度テーブルに格納する加速度演算部と、
前記指令パルスの数を蓄積するバッファー部と、
前記指令パルスによって定まる速度が指定されたリミット値を超えるときに前記最大速度を超える分の前記指令パルスをバッファー部に蓄積して次の制御周期において入力する前記指令パルスに加算することにより、前記モータの速度をリミット値以内に制限する飽和演算部と、
前記リミット値以内に制限された前記速度に対応する速度帯域の前記平均加速度を前記加速度テーブルから読み出し、読み出された平均加速度を使用して前記リミット値以内に制限された前記速度を変化させる速度変化手段と、
を備えるサーボモータ制御装置。
(8) 前記加速度の平均値は加速度の移動平均値である、(7)に記載のサーボモータ制御装置。
(9) 前記リミット値は、前記モータの定格最大速度、または、前記定格最大速度の範囲内でユーザーによって定められた最大速度である、(7)または(8)に記載のサーボモータ制御装置。
(10) 前記速度変化手段は、
前記速度変化手段が出力しようとする前記指令パルスが表す速度に対応する前記速度帯域を判別する速度帯域分類部と、
前記速度帯域分類部で判別された前記速度帯域に基づいて前記加速度テーブルを検索して得られた前記平均加速度が入力し、加速度の選択を行う加速度選択部と、
前記加速度選択部において選択された加速度によって速度が変化するように前記飽和演算部が出力する前記指令パルスに変更を加える速度決定部と、
を備え、
前記加速度選択部は、前記バッファー部に蓄積された前記指令パルスの数が閾値を超えるときには0を加速度として選択し、前記バッファー部に蓄積された前記指令パルスの数が前記閾値であれば前記加速度テーブルから得られた前記平均加速度を加速度として選択する、(7)から(9)のいずれに記載のサーボモータ制御装置。
前記速度変化手段が出力しようとする前記指令パルスが表す速度に対応する前記速度帯域を判別する速度帯域分類部と、
前記速度帯域分類部で判別された前記速度帯域に基づいて前記加速度テーブルを検索して得られた前記平均加速度が入力し、加速度の選択を行う加速度選択部と、
前記加速度選択部において選択された加速度によって速度が変化するように前記飽和演算部が出力する前記指令パルスに変更を加える速度決定部と、
を備え、
前記加速度選択部は、前記バッファー部に蓄積された前記指令パルスの数が閾値を超えるときには0を加速度として選択し、前記バッファー部に蓄積された前記指令パルスの数が前記閾値であれば前記加速度テーブルから得られた前記平均加速度を加速度として選択する、(7)から(9)のいずれに記載のサーボモータ制御装置。
(11) 前記指令パルスは、前記モータを正方向に回転させる正方向パルスと前記モータを負方向に回転させる負方向パルスとからなり、
前記バッファー部は前記正方向パルスの数を蓄積する正方向バッファーと前記負方向パルスの数を蓄積する負方向バッファーとを備える、(7)から(10)のいずれかに記載のサーボモータ制御装置。
前記バッファー部は前記正方向パルスの数を蓄積する正方向バッファーと前記負方向パルスの数を蓄積する負方向バッファーとを備える、(7)から(10)のいずれかに記載のサーボモータ制御装置。
(12) 前記バッファー部において、前記モータを前記正方向に駆動しかつ前記負方向バッファーの値が正であるときに入力した前記正方向パルスが無視され、前記モータを前記負方向に駆動しかつ前記正方向バッファーの値が正であるときに入力した前記負方向パルスが無視される、(11)に記載のサーボモータ制御装置。
10…サーボモータ制御装置;11…分周逓倍部;12…速度制限処理部;13…平滑化フィルター;14…ユーザー指定フィルター;15…サーボアンプ;20…バッファー部;21…正方向バッファー(R+);22…負方向バッファー(R-);23…飽和演算部;24…加速度演算部;25…加速度テーブル;26…速度決定部;27…速度帯域分類部;28…加速度選択部;50…モータ。
Claims (12)
- 所定の微小移動量での移動を指令する指令パルスが入力されて前記指令パルスに基づいてモータのサーボ制御を行なうサーボモータ制御方法において、
速度0から前記モータの最大速度までの範囲を複数の速度帯域に分割して前記速度帯域ごとに過去に入力した指令パルスでの加速度の平均値を平均加速度として加速度テーブルに記憶する記憶工程と、
前記指令パルスによって定まる速度が指定されたリミット値を超えるときに前記最大速度を超える分の前記指令パルスをバッファーに蓄積して次の制御周期において入力する前記指令パルスに加算することにより、前記モータの速度をリミット値以内に制限する速度制限工程と、
前記速度制限工程において制限された前記速度に対応する速度帯域の前記平均加速度を前記加速度テーブルから読み出し、読み出された平均加速度を使用して前記リミット値以内に制限された前記速度を変化させる速度変化工程と、
を有するサーボモータ制御方法。 - 前記加速度の平均値は加速度の移動平均値である、請求項1に記載のサーボモータ制御方法。
- 前記リミット値は、前記モータの定格最大速度、または、前記定格最大速度の範囲内でユーザーによって定められた最大速度である、請求項1または2に記載のサーボモータ制御方法。
- 前記速度変化工程において、前記バッファーに蓄積された前記指令パルスの数が閾値を超えるときには前記平均加速度を使用した前記速度の変更を行わない、請求項1または2に記載のサーボモータ制御方法。
- 前記指令パルスは、前記モータを正方向に回転させる正方向パルスと前記モータを負方向に回転させる負方向パルスとからなり、
前記バッファーは前記正方向パルスの数を蓄積する正方向バッファーと前記負方向パルスの数を蓄積する負方向バッファーとからなる、請求項1または2に記載のサーボモータ制御方法。 - 前記モータを前記正方向に駆動しかつ前記負方向バッファーの値が正であるときに入力した前記正方向パルスを無視し、
前記モータを前記負方向に駆動しかつ前記正方向バッファーの値が正であるときに入力した前記負方向パルスを無視する、請求項5に記載のサーボモータ制御方法。 - 所定の微小移動量での移動を指令する指令パルスが入力されて前記指令パルスに基づいてモータのサーボ制御を行なうサーボモータ制御装置において、
速度0から前記モータの最大速度までの範囲が複数の速度帯域に分割されて前記速度帯域ごとに加速度の平均値を平均加速度として記憶する加速度テーブルと、
入力する指令パルスを解析して当該指令パルスが表す速度と加速度を算出して前記速度帯域ごとの前記平均加速度を求めて前記加速度テーブルに格納する加速度演算部と、
前記指令パルスの数を蓄積するバッファー部と、
前記指令パルスによって定まる速度が指定されたリミット値を超えるときに前記最大速度を超える分の前記指令パルスをバッファー部に蓄積して次の制御周期において入力する前記指令パルスに加算することにより、前記モータの速度をリミット値以内に制限する飽和演算部と、
前記リミット値以内に制限された前記速度に対応する速度帯域の前記平均加速度を前記加速度テーブルから読み出し、読み出された平均加速度を使用して前記リミット値以内に制限された前記速度を変化させる速度変化手段と、
を備えるサーボモータ制御装置。 - 前記加速度の平均値は加速度の移動平均値である、請求項7に記載のサーボモータ制御装置。
- 前記リミット値は、前記モータの定格最大速度、または、前記定格最大速度の範囲内でユーザーによって定められた最大速度である、請求項7または8に記載のサーボモータ制御装置。
- 前記速度変化手段は、
前記速度変化手段が出力しようとする前記指令パルスが表す速度に対応する前記速度帯域を判別する速度帯域分類部と、
前記速度帯域分類部で判別された前記速度帯域に基づいて前記加速度テーブルを検索して得られた前記平均加速度が入力し、加速度の選択を行う加速度選択部と、
前記加速度選択部において選択された加速度によって速度が変化するように前記飽和演算部が出力する前記指令パルスに変更を加える速度決定部と、
を備え、
前記加速度選択部は、前記バッファー部に蓄積された前記指令パルスの数が閾値を超えるときには0を加速度として選択し、前記バッファー部に蓄積された前記指令パルスの数が前記閾値であれば前記加速度テーブルから得られた前記平均加速度を加速度として選択する、請求項7または8に記載のサーボモータ制御装置。 - 前記指令パルスは、前記モータを正方向に回転させる正方向パルスと前記モータを負方向に回転させる負方向パルスとからなり、
前記バッファー部は前記正方向パルスの数を蓄積する正方向バッファーと前記負方向パルスの数を蓄積する負方向バッファーとを備える、請求項7または8に記載のサーボモータ制御装置。 - 前記バッファー部において、前記モータを前記正方向に駆動しかつ前記負方向バッファーの値が正であるときに入力した前記正方向パルスが無視され、前記モータを前記負方向に駆動しかつ前記正方向バッファーの値が正であるときに入力した前記負方向パルスが無視される、請求項11に記載のサーボモータ制御装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022104757A JP2024004881A (ja) | 2022-06-29 | 2022-06-29 | サーボモータ制御方法及びサーボモータ制御装置 |
CN202310777642.1A CN117318574A (zh) | 2022-06-29 | 2023-06-28 | 伺服马达控制方法及伺服马达控制装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022104757A JP2024004881A (ja) | 2022-06-29 | 2022-06-29 | サーボモータ制御方法及びサーボモータ制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024004881A true JP2024004881A (ja) | 2024-01-17 |
Family
ID=89241461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022104757A Pending JP2024004881A (ja) | 2022-06-29 | 2022-06-29 | サーボモータ制御方法及びサーボモータ制御装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2024004881A (ja) |
CN (1) | CN117318574A (ja) |
-
2022
- 2022-06-29 JP JP2022104757A patent/JP2024004881A/ja active Pending
-
2023
- 2023-06-28 CN CN202310777642.1A patent/CN117318574A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
CN117318574A (zh) | 2023-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4600985A (en) | Numerical control method and apparatus therefor | |
WO2013183082A1 (ja) | 数値制御装置 | |
EP1197820B1 (en) | Acceleration and deceleration control method | |
JP6984790B1 (ja) | 数値制御装置及び数値制御方法 | |
US10416613B2 (en) | Machining time estimating apparatus | |
JP3898686B2 (ja) | 数値制御装置 | |
JP6893792B2 (ja) | 工作機械および振動抑制方法 | |
US10037021B2 (en) | Numerical controller performing speed control with curvature and curvature change amount | |
US11126163B2 (en) | Numerical controller | |
US10671054B2 (en) | Numerical control device for performing smooth deceleration and stopping | |
JP6799022B2 (ja) | タップ加工の制御装置 | |
JPH1039915A (ja) | 数値制御装置 | |
JP2024004881A (ja) | サーボモータ制御方法及びサーボモータ制御装置 | |
JP5129064B2 (ja) | 工作機械の数値制御装置 | |
JPH0713631A (ja) | サーボモータの制御方法 | |
JP2007304714A (ja) | 数値制御装置 | |
JP2007094936A (ja) | 数値制御装置 | |
CN108089554B (zh) | 数值控制装置 | |
KR20200131734A (ko) | 공작 기계 및 공작 기계의 제어 방법 | |
JP6742943B2 (ja) | 工作機械送り系の制御装置 | |
JP4982170B2 (ja) | 加工制御装置および加工制御プログラム | |
JP7696517B1 (ja) | 数値制御装置および制御方法 | |
JP3269375B2 (ja) | 位置制御装置 | |
JP3188396B2 (ja) | 数値制御における送り速度制御方法および装置 | |
JP2551868B2 (ja) | 工作機械の加減速制御方法とその装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20250515 |