JPH06141594A - モータの加減速駆動制御方法 - Google Patents

モータの加減速駆動制御方法

Info

Publication number
JPH06141594A
JPH06141594A JP28408892A JP28408892A JPH06141594A JP H06141594 A JPH06141594 A JP H06141594A JP 28408892 A JP28408892 A JP 28408892A JP 28408892 A JP28408892 A JP 28408892A JP H06141594 A JPH06141594 A JP H06141594A
Authority
JP
Japan
Prior art keywords
drive
pulse rate
acceleration
deceleration
time
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
Application number
JP28408892A
Other languages
English (en)
Inventor
Shiyouhou Shiyuu
松宝 周
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.)
Juki Corp
Original Assignee
Juki Corp
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 Juki Corp filed Critical Juki Corp
Priority to JP28408892A priority Critical patent/JPH06141594A/ja
Publication of JPH06141594A publication Critical patent/JPH06141594A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Control Of Stepping Motors (AREA)

Abstract

(57)【要約】 【目的】 ステッピングモータ等のモータの加減速駆動
を高速かつ精密に行なえる制御方法を提供する。 【構成】 被駆動物の移動量を入力し(S101)、そ
れに対応するモータの駆動量に応じて加速、定速、減速
の各駆動時間を算出する(S102)。続いて駆動単位
時間ごとのパルスレートをROMのテーブルから求める
か、演算により算出し、均等補正パルス数を加算する
(S103〜106)。さらに小数点以下の余りの切り
捨てによりパルスレートを整数化するとともに、前記余
りを積算し(S107)、積算値が1を越えるたびに積
算値から1を引き、そのときの駆動単位時間のパルスレ
ートを1パルス増加して出力する(S108〜11
1)。こうして前記余りの累積による誤差パルス数の最
終的な合計を2以下にすることができ、高速かつ精密な
駆動制御が可能になる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ステッピングモータ等
のモータを低いパルスレート(駆動パルスの周波数)か
ら起動して順次加速し、駆動量の多少によって定速駆動
し、その後順次減速するモータの加減速駆動の制御方法
に関し、特に与えられた駆動量に応じてモータの加速駆
動時間、定速駆動時間、減速駆動時間と、駆動単位時間
ごとのパルスレートとを演算により設定してモータを加
減速駆動するモータの加減速駆動制御方法に関するもの
である。
【0002】
【従来の技術】モータにより駆動される被駆動物の移動
すべき移動量により与えられる駆動量(駆動パルス数)
だけモータを加減速駆動する場合、加速駆動時間、定速
駆動の有る場合の定速駆動時間、減速駆動時間および各
駆動単位時間ごとのパルスレートの設定による駆動量の
合計が前記の与えられた駆動量に対して誤差(不足)を
生じる場合がある。誤差のパルス数は、定速駆動のな
い、いわゆる三角駆動では最大で最高パルスレートの2
倍のパルス数マイナス1である。定速駆動のある、いわ
ゆる台形駆動の場合は最大で最高パルスレートのパルス
数マイナス1の誤差がある。
【0003】この場合、誤差を補正するパルス数(以下
「補正パルス数」という)だけ余計にモータを駆動する
必要がある。このため、従来では図1に斜線を付して示
すように補正用のパルスを減速終了時に最低パルスレー
ト単位で付加する方法、あるいは図2に示すように補正
パルスを減速時に最低パルスレート単位に分散してパル
スレートのパルス数に加える方法が採用されている。
【0004】
【発明が解決しようとする課題】ところが図1の方法で
は、減速終了時に補正パルスによる駆動時間(図では6
単位の時間)が付け加えられるので、駆動時間が長くな
り、高速な制御に不適当である。また図2の方法では、
減速曲線の歪みが大きくてモータに振動が生じ易く、精
密な制御に不適当である。
【0005】一方、上記の各駆動単位時間ごとのパルス
レートの設定を演算により行ない、算出したパルスレー
トの値に小数点以下の余りがあり、そのパルスレートの
値を整数化する場合、従来では小数点以下の切り捨て、
あるいは四捨五入だけで処理していた。このため前記の
切り捨て、あるいは四捨五入された小数点以下の値の累
積による誤差パルス数が生じ、全体の誤差パルス数が多
くなってしまい、上記の図1あるいは図2の補正による
問題が更に深刻になってしまうという問題もあった。
【0006】そこで本発明の課題は、このような問題を
解消し、モータの加減速駆動制御を高速かつ精密に行な
える方法を提供することにある。
【0007】
【課題を解決するための手段】上記の課題を解決するた
め、本発明によれば、与えられた駆動量に応じてモータ
の加速駆動時間、定速駆動時間、減速駆動時間と、駆動
単位時間ごとのパルスレートとを演算により設定してモ
ータを加減速駆動するモータの加減速駆動制御方法にお
いて、前記駆動単位時間ごとのパルスレートを設定する
際に該パルスレートを整数化する場合、小数点以下の余
りを切り捨て、前記余りを駆動単位時間ごとに順次積算
し、積算値が所定の整数を越えるたびに該積算値から前
記所定の整数を引き、そのときの駆動単位時間のパルス
レートを前記所定の整数のパルス増加する構成を採用し
た。
【0008】また、同制御方法において、加速駆動時に
は、予め所定の複数単位の前後する駆動単位時間ごとに
パルスレートを算出しておき、順次各駆動単位時間のパ
ルスレートを次の駆動単位時間のパルスレートと大小比
較し、次のパルスレートより大きい場合は当該パルスレ
ートと次のパルスレートの出力順を入れ換え、減速駆動
時には、前記出力順を入れ換えた後の加速駆動時のパル
スレートの出力データを逆の順序で出力する構成を採用
した。
【0009】
【作用】上記の前者の構成によれば、上記整数化のため
の小数点以下の余りの累積による誤差パルス数の最終的
な合計は、多くても上記所定の整数の2倍のパルス数だ
けになり、最終的な誤差パルス数とそれに対応した補正
パルス数を極めて小さくすることができる。
【0010】また、後者の構成によれば、加速中におい
て前のパルスレートが後のパルスレートよりも大きいこ
と、つまり局所的な減速を上記パルスレートの出力順の
入れ換えにより解消でき、減速中には局所的な加速を解
消できる。
【0011】
【実施例】以下、図を参照して本発明の実施例を説明す
る。
【0012】まず図3により本発明によるモータの加減
速駆動制御方法が適用されるモータの駆動制御系の構成
を説明する。
【0013】図3の構成において、駆動制御系の入力部
1からモータ(例えばステッピングモータ)9の駆動に
より駆動される不図示の被駆動物の移動の目標位置ない
し移動距離などが制御部2に入力される。
【0014】制御部2は、マイクロプロセッサからなる
CPU(中央処理ユニット)3、ROM(リードオンリ
メモリ)4、RAM(ランダムアクセスメモリ)5およ
び出力ポート6などからなる。ROM4にはCPU3の
制御プログラムや後述のモータの駆動データテーブルな
ど制御に必要な固定データが格納され、RAM5はCP
U3のワークエリアとして用いられる。
【0015】CPU3はROM4の制御プログラムを実
行し、入力部1からの入力に応じてモータ9を駆動す
る。その場合、CPU3は出力ポート6を介してシーケ
ンサ7に駆動パルスと回転方向の信号を出力し、その信
号に応じてシーケンサ7により駆動回路8によるモータ
9の励磁が切り換えられ、モータ9が駆動される。
【0016】次にCPU3によるモータ9の加減速駆動
制御の詳細を図4以下により説明する。
【0017】図4は本実施例の駆動制御方法によるモー
タ9の加減速駆動時のパルスレートの経時的変化を模式
的に示している。ここに示すように、本実施例では、一
定の加速度と減速度で直線的に加速と減速を行ない、加
速駆動時間と減速駆動時間は等しいものとする。
【0018】このためにROM4に図5に一例を示すよ
うなモータの駆動データテーブルが格納される。図5中
1,2,3…はパルスレートを示しており、文字通りの
数値でなくても複数の単位数の倍数と考えてもよい。テ
ーブルのアドレスの若い方から順に順次増加するパルス
レートのデータが上限のレートのデータまで格納され
る。
【0019】このデータテーブルのデータを上から順に
所定周期で順次出力してモータ9を駆動することにより
上記の加速を行なえ、データの出力順を逆にすれば減速
を行なえる。なお定速駆動の有る台形駆動の場合は加速
時に上限パルスレートのデータまで出力されるが、定速
駆動の無い三角駆動の場合は加速駆動時間が短く上限パ
ルスレートより低いレートで加速が終了する。
【0020】上記のことを前提として、入力により与え
られた駆動量に応じて加速駆動時間、定速駆動時間、減
速駆動時間を演算により設定し、その設定による合計の
駆動量が前記の与えられた駆動量に対して誤差(不足)
があったとする。この場合、本実施例では誤差に相当す
る補正パルス数を、図4中斜線で示すように、加速時と
減速時の各駆動単位時間ごとに均等に分担するように各
駆動時間単位ごとのパルスレートを補正する。
【0021】ここで前記の均等に分担する補正パルス数
(以下「均等補正パルス数」という)は上記誤差に相当
する補正パルス数を加速駆動時間と減速駆動時間の合計
の駆動単位時間の総数により除算して得られるが、その
除算結果の小数点以下の余りを処理して整数にしなけれ
ばならない。
【0022】このため、ここでは前記余りを切り捨てて
整数化を行なうとともに、加速時の各駆動単位時間ごと
に、順次前記の余りを積算し、積算値が1以上になるた
びに該積算値から1を引いてその時の駆動単位時間のパ
ルスレートを1パルス増加して出力する。減速時には加
速時のパルスレートの出力データを順次逆に払い出す。
このような余りの処理により、加速時と減速時の全駆動
時間の均等補正パルス数の小数点以下の余りの最終的な
合計、つまり誤差パルス数の最終的な残りの合計は多く
ても2パルスにしかならない。
【0023】次に、上記のような制御を実現するCPU
3の制御処理動作の詳細を図6のフローチャートにより
説明する。
【0024】CPU3はモータ9の加減速駆動を行なう
にあたって、まず入力部1から被駆動物の移動量を入力
する(ステップS101)。
【0025】次に、前記の入力された移動量に相当する
モータ9の駆動量に応じた加速駆動時間、定速駆動時
間、減速駆動時間を算出する(ステップS102)。
【0026】次に、上記算出した加速駆動時間、定速駆
動時間、減速駆動時間による駆動量の合計の前記入力さ
れた移動量に相当する駆動量に対する誤差を補正する駆
動パルス数を算出する(ステップS103)。
【0027】次に、前記ステップS103で得た補正の
ための駆動パルス数を前記算出した加速駆動時間と減速
駆動時間の合計時間により除算し、前述した加速時と減
速時の各駆動単位時間ごとの均等補正パルス数を算出す
る(ステップS104)。
【0028】次にステップS105〜S112の繰返し
により、順次加速のための各駆動単位時間ごとのパルス
レートをステップS102〜S110により設定して出
力し、加速を行なう。
【0029】即ち、図4で先述したように加速度dv/
dtが一定の時は、まず加速の1駆動単位時間のパルス
レートを図5のデータテーブルから求め(ステップS1
05)、それに均等補正パルス数を加算し(ステップS
106)、その加算結果を小数点以下の切り捨てにより
整数化すると共に、切り捨てた余りを積算する(ステッ
プS107)。
【0030】続いて前記余りの積算値が1以上になった
か否か判定し(ステップS108)、1以上だったら積
算値から1を差し引き(ステップS109)、ステップ
S107の整数化で得たパルスレートに1パルスを加え
(ステップS110)、その結果のパルスレートを出力
する(ステップS111)。また、ステップS108で
積算値が1より小さかった場合は、ステップS107で
得たパルスレートをそのまま出力する(ステップS11
1)。
【0031】そしてステップS112では、加速が終了
したか否かを判定し、終了していなければ、ステップS
105に戻り、ステップS105〜S112を繰り返
す。
【0032】このようにして加速が終了したら定速駆動
の有無を判定し(ステップS113)、定速駆動があれ
ば、そのためのパルスレートの出力を行なう(ステップ
S114)。その後は減速駆動のための出力を行なう
(ステップS115)。この場合、加速時のパルスレー
トの出力データを逆の順序で出力すればよい。
【0033】以上のような処理により図4に示したよう
なパルスレートの変化で加減速駆動を行なうことができ
る。上述したパルスレートの小数点以下の余りの処理に
より、最終的に残る誤差パルス数は多くても2パルスで
あり、極めて少なくできる。そして、この2パルスがあ
った場合は、これを減速時の最後に付加して出力すれば
良い。
【0034】なお、以上の処理において、加速度と減速
度が一定でなく、例えばパルスレートの変化の波形が指
数曲線や正弦波などになる場合、図5のデータテーブル
を用いず、ステップS105にて演算によりパルスレー
トのデータを算出する。他のステップは同様である。
【0035】以上のような本実施例の方法によれば、補
正パルス数の分配による駆動時間の増加は、あっても上
記の最終的な誤差の2パルスの分しか無いので、図1の
従来方法よりモータの駆動時間を短時間にでき、高速な
駆動制御を行なえる。また本実施例の方法によれば、図
1、図2の従来方法より加速曲線と減速曲線の対称性が
良く、減速曲線の歪みが少なく、より精密な制御を行な
える。
【0036】ところで、本実施例において、加速時の1
駆動単位時間の経過ごとにパルスレートが1パルス以上
増加する場合は良いが、複数の駆動単位時間の経過ごと
に1パルス増加する場合、図6のステップS110での
パルスレートの1パルスの加算により問題が生じる場合
がある。
【0037】例えば、図7に示すように、複数の駆動単
位時間の経過ごとにパルスレートが1パルス増加する場
合、上記の余りの処理により、例えば4番目と9番目の
駆動単位時間t4、t9のパルスレートに斜線で示すよう
に1パルス加算すると、駆動単位時間t4、t9それぞれ
のパルスレートが、それより後の駆動単位時間のパルス
レートより高くなってしまう場合がある。即ち、加速中
に局所的な減速が生じ、モータの振動が生じてしまうこ
とになる。
【0038】この場合、図8に示すように、1パルスの
増加を駆動単位時間t4からt6、t9からt10というよ
うに、後の駆動単位時間にシフトして前記の局所的な減
速を解消する必要がある。
【0039】こうするために、例えば図9に示すよう
に、予め加速部分の最初の単位の駆動単位時間のパルス
レートを計算しておき、計算順(駆動単位時間順)に各
駆動単位時間のパルスレートを次の駆動単位時間のパル
スレートと大小比較して上記局所的な減速の有無を調
べ、あればそれを解消するように1パルスの増加を後の
駆動単位時間にシフトする。具体的には、そのパルスレ
ートと次のパルスレートの出力順を入れ換える。つま
り、図9中で丸付きの数字で示したパルスレートの計算
順に対して丸付き、ダッシュ付きの数字で示したパルス
レートの出力順を入れ換えるように変更することによ
り、前記のシフトを行なう。
【0040】例えば計算順で1番目と次の2番目のパル
スレートを比較して1番目のパルスレートの方が大きか
ったら、計算順で1番目のパルスレートの出力順を2番
目にし、計算順で2番目のパルスレートの出力順を1番
目に変更する。続いて、出力順を入れ換えた後の2番目
と3番目、3番目と4番目、…というように、大小比較
とその結果による出力順の入れ換えを計算順(駆動単位
時間順)に順次行なう。
【0041】ここで前後何単位の駆動単位時間ごとにパ
ルスレートの比較を行なうかは(加速駆動時間の分割
数)/(最高パルスレート)の比と加速の波形による。
加速の波形が直線である場合、前記の比が3以下であれ
ば前後2単位だけの比較を行なえばよい。
【0042】なお、上記の問題は減速の場合も同様であ
り、上記1パルスの増加による局所的な加速を解消する
必要がある。この場合、上記出力順の入れ換えを行なっ
た後の加速時のパルスレートの出力データを逆に払い出
すことにより、前記の1パルスの増加が前の駆動単位時
間にシフトされることになって、局所的な加速が解消さ
れる。
【0043】このようにしてパルスレートの設定による
加速中の局所的な減速、及び減速中の局所的な加速を解
消し、それによるモータの振動を防止し、精密な駆動制
御を行なうことができる。
【0044】なお、以上ではパルスレート整数化の余り
の積算値が1以上になるたびに該積算値から1を引いて
その時の駆動単位時間のパルスレートを1パルス増加し
て出力するものとしたが、前記の1パルスの1という数
を1より大きな所定の整数に置き換えることも考えられ
る。
【0045】
【発明の効果】以上の説明から明らかなように、本発明
によれば、与えられた駆動量に応じてモータの加速駆動
時間、定速駆動時間、減速駆動時間と、駆動単位時間ご
とのパルスレートとを演算により設定してモータを加減
速駆動するモータの加減速駆動制御方法において、前記
駆動単位時間ごとのパルスレートを設定する際に該パル
スレートを整数化する場合、小数点以下の余りを切り捨
て、前記余りを駆動単位時間ごとに順次積算し、積算値
が所定の整数を越えるたびに該積算値から前記所定の整
数を引き、そのときの駆動単位時間のパルスレートを前
記所定の整数のパルス増加する構成を採用したので、前
記パルスレートの小数点以下の余りの累積による誤差パ
ルス数の最終的な合計を極めて小さくして、最終的な誤
差パルス数とそれに対応した補正パルス数を極めて小さ
くすることができ、高速で精密な駆動制御が可能にな
る。
【0046】また、本発明によれば、同モータの加減速
駆動制御方法において、加速駆動時には、予め所定の複
数単位の前後する駆動単位時間ごとにパルスレートを算
出しておき、順次各駆動単位時間のパルスレートを次の
駆動単位時間のパルスレートと大小比較し、次のパルス
レートより大きい場合は当該パルスレートと次のパルス
レートの出力順を入れ換え、減速駆動時には、前記出力
順を入れ換えた後の加速駆動時のパルスレートの出力デ
ータを逆の順序で出力する構成を採用したので、パルス
レートの設定による加速中の局所的な減速、減速中の局
所的な加速を解消し、それによるモータの振動を防止し
て精密な駆動制御が可能になるという優れた効果が得ら
れる。
【図面の簡単な説明】
【図1】従来の加減速駆動制御方法による駆動量の補正
を示すパルスレートの経時的変化のグラフ図である。
【図2】他の従来の補正方法を示すグラフ図である。
【図3】本発明の加減速駆動制御方法が適用されるモー
タの駆動制御系の構成を示すブロック図である。
【図4】本発明の加減速駆動制御方法の実施例による駆
動量の補正を示すグラフ図である。
【図5】図3中のROMに格納されるモータ駆動用の駆
動データテーブルの説明図である。
【図6】同実施例による加減速駆動制御の処理手順を示
すフローチャート図である。
【図7】パルスレートの整数化の余りの処理による加速
中の局所的な減速の発生の様子を示すグラフ図である。
【図8】上記の局所的な減速を解消する1パルス増加の
シフトの様子を示すグラフ図である。
【図9】前記1パルス増加のシフトを行なうための前後
所定単位数の駆動単位時間のパルスレートの比較の様子
を示す説明図である。
【符号の説明】
1 入力部 2 制御部 3 CPU 4 ROM 5 RAM 6 出力ポート 7 シーケンサ 8 駆動回路 9 モータ

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 与えられた駆動量に応じてモータの加速
    駆動時間、定速駆動時間、減速駆動時間と、駆動単位時
    間ごとのパルスレートとを演算により設定してモータを
    加減速駆動するモータの加減速駆動制御方法において、 前記駆動単位時間ごとのパルスレートを設定する際に該
    パルスレートを整数化する場合、小数点以下の余りを切
    り捨て、前記余りを駆動単位時間ごとに順次積算し、積
    算値が所定の整数を越えるたびに該積算値から前記所定
    の整数を引き、そのときの駆動単位時間のパルスレート
    を前記所定の整数のパルス増加することを特徴とするモ
    ータの加減速駆動制御方法。
  2. 【請求項2】 与えられた駆動量に応じてモータの加速
    駆動時間、定速駆動時間、減速駆動時間と、駆動単位時
    間ごとのパルスレートとを演算により設定してモータを
    加減速駆動するモータの加減速駆動制御方法において、 加速駆動時には、予め所定の複数単位の前後する駆動単
    位時間ごとにパルスレートを算出しておき、順次各駆動
    単位時間のパルスレートを次の駆動単位時間のパルスレ
    ートと大小比較し、次のパルスレートより大きい場合は
    当該パルスレートと次のパルスレートの出力順を入れ換
    え、 減速駆動時には、前記出力順を入れ換えた後の加速駆動
    時のパルスレートの出力データを逆の順序で出力するこ
    とを特徴とするモータの加減速駆動制御方法。
JP28408892A 1992-10-22 1992-10-22 モータの加減速駆動制御方法 Pending JPH06141594A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28408892A JPH06141594A (ja) 1992-10-22 1992-10-22 モータの加減速駆動制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28408892A JPH06141594A (ja) 1992-10-22 1992-10-22 モータの加減速駆動制御方法

Publications (1)

Publication Number Publication Date
JPH06141594A true JPH06141594A (ja) 1994-05-20

Family

ID=17674086

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28408892A Pending JPH06141594A (ja) 1992-10-22 1992-10-22 モータの加減速駆動制御方法

Country Status (1)

Country Link
JP (1) JPH06141594A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100300131B1 (ko) * 1999-07-16 2001-11-01 윤종용 모터의 속도제어시스템 및 속도지령생성방법
KR20020062822A (ko) * 2001-01-25 2002-07-31 닛뽄덴끼 가부시끼가이샤 브러시레스 모터 구동장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100300131B1 (ko) * 1999-07-16 2001-11-01 윤종용 모터의 속도제어시스템 및 속도지령생성방법
KR20020062822A (ko) * 2001-01-25 2002-07-31 닛뽄덴끼 가부시끼가이샤 브러시레스 모터 구동장치

Similar Documents

Publication Publication Date Title
US4603286A (en) Acceleration/deceleration control system
GB1597137A (en) Stepping motor control circuit
CN108139731B (zh) 步进机马达控制电路及用于控制步进机马达的方法
EP0116677B1 (en) Stepping motor drive circuit
CN112491313A (zh) 一种电机控制方法、装置、设备及计算机可读存储介质
JPH06141594A (ja) モータの加減速駆動制御方法
JP2001327194A (ja) パルス発振ic並びにそのicを使用したモータの位置決め制御方法とその装置
US4164693A (en) Method and system for producing linear contouring movement
JPH08168297A (ja) パルス発生装置およびモータ駆動装置
JPH05219797A (ja) モータの加減速駆動制御方法
US6809491B2 (en) Positioning control method
JP3354494B2 (ja) 数値制御装置
JP4054915B2 (ja) ステッピングモータ制御回路、電子カメラ及びステッピングモータ制御方法
JP4158101B2 (ja) モータ制御用パルス発生ic
JPH04257009A (ja) モータ速度制御方法
JP4523506B2 (ja) 位置決め制御装置
KR100700187B1 (ko) 모터의 가감속 운전 방법
JP2548162B2 (ja) Xyプロツタの直線制御装置
JPH04304506A (ja) パルスモータの加速制御方法
JPH06168021A (ja) サーボモータの加減速制御方法
JPH11110048A (ja) 位置制御サーボ装置および位置制御系のサーボ制御方法
JPH08263129A (ja) パルス発生回路
CN117318574A (zh) 伺服马达控制方法及伺服马达控制装置
JPH07168626A (ja) 加減速制御方法
JPS6142297A (ja) ステツプモ−タの速度制御装置