計測自動制御学会東北支部 第 210 回研究集会(2003.7.16)
資料番号 210-10

ステッピングモータの振動抑制スイッチングシーケンスの自動調整
Self Tuning of Switching Sequence for Oscillation Dampingof a Stepping Motor○亀井澄人＊，三浦武＊，谷口敏幸＊○Sumito Kamei＊，Takeshi Miura＊，Toshiyuki Taniguchi＊
＊

秋田大学

＊

Akita University

キーワード：ステッピングモータ(stepping motor)，振動抑制(oscillation damping)，スイッチン
グシーケンス(switching sequence)，自動調整(self tuning)，黄金分割法(golden section method)
連絡先：〒010-8502

秋田県秋田市手形学園町 1-1

秋田大学工学資源学部

電気電子工学科

三浦 武，TEL.：(018)889-2329，FAX.：(018)837-0406，E-mail：miura＠ipc.akita-u.ac.jp

１．はじめにテップ形駆動法と呼ぶ）において，各ステップにおいて得られた回転子角度情報をフィ

ステッピングモータは位置決め用の小形ードバックし，次回のステップにおける励磁アクチュエータとして用いられ，開ループでタイミングへと反映させることで，振動が抑比較的高精度に角度制御の応用ができるモ制された駆動を可能にしている．このタイミータである１）．ディジタル的な入力パルスにング調整過程を最適化問題と捉え，数値最適応じて回転角を制御できることから，ディジ化手法を適用することで最適なスイッチン

タル機器を用いた制御系との整合性が良く，グシーケンスを得る方法３）が提案されている

OA 機器や FA 機器に応用されている．

が，角度センサを用いずにシステムを構築でステッピングモータを駆動させた場合，回きるという利点を持つものの，フィードバッ転子がステップ状の動作をするため，慣性にク要素を得るためのニューラルネットワー

より安定点付近で機械的振動を起こすといク構築に際し，試行錯誤的要素が必要である

う問題が生じる．この振動を抑制する方法とという問題が存在する．また，文献 3）で用して，振動が抑制される適切な励磁タイミン

いられたシンプレックス法で調整されたパグを与えるように調節されたスイッチング

ラメータは二つであったが，今回ハーフステシーケンスを用いるものがある２）．各ステッップ形駆動法で調整するパラメータは一つプの立ち上がり領域のある期間ハーフステであり，目的関数の演算量が多くなると考えップ駆動を行うという方法２）（以下ハーフスられる．

-1-

PC
ALAL

DBL

DBDL

UD counter

DAD/DA converter

board
6V

Drive circuit
Tr

Tr

Tr

Tr
RotaryStepping

Tacho-encoder

motorgenerater(a) Drive circuit(b) System
Fig.1 Experimental system

そこで，本研究ではハーフステップ形駆動法における励磁タイミングを調整するスイ

Table1 Driving condition

ッチングシーケンスを，数値最適化手法の一Condition

Inertial loadつである 1 次元最適化の黄金分割法により求

case1

none

め，角度センサに比べ安価な速度センサを用

case2

1.5×10-5[kg･m2]いて調整を行う手法を提案する．また，文献
case33）で用いられたシンプレックス法を適用しnone→1.5×10-5[kg･m2](changed at 30th step)

た場合と本手法とを比較することで，その有効性を検討した．
ンに入力することで測定される．回転子速度
は，出力電圧 3V/1000min-1 の DC タコジェネ

２．実験システム

レータによって検出され，AD 変換器を介し本研究で使用したモータは，2 相ハイブリてパソコンに入力することで測定される．なッド形の PX244-02B（オリエンタルモーター，

お，本実験システムにおける入出力データの定格 6V，0.8A，基本ステップ角 1.8deg.）でサンプリング時間は 0.1ms である．

ある．

今回，Table1 に示す駆動条件において実験

本研究での実験システムを Fig.1 に示す．

を行い，本手法の負荷条件の違いに対する有(a)は駆動回路であり，ユニポーラ駆動形の電効性を検討している．case1，case2 は，タイ圧スイッチング回路を用いた．(b)はシステムミング調整中に負荷が変わらない場合で，全体の構成である．パソコンからの励磁指令

case3 はタイミング調整中に負荷が変動するを DA 変換器を介し駆動回路に与えることで場合を想定している．なお，case1 は無負荷，モータが駆動される．回転子角度は，分解能

case2 は無負荷時の約 6 倍の慣性モーメント6000pulses/rev.のロータリーエンコーダ（2 相をもつ慣性負荷を回転子に装着して実験を出力）によって検出され，アップダウン(UD)行う．また case3 における負荷変動のタイミカウンタボードで 4 逓倍することによって，ングは第 30 ステップとした．

最終的に 24000pulses/rev.の信号としてパソコ-2-phase A

３．回転子振動抑制法
本研究で用いるハーフステップ形駆動法

ONOFFtdphase Bの励磁シーケンスを Fig.2 に示す．基本ステップにおける立ち上がりのある期間だけハーフステップ駆動を行うことで，安定点付近ONOFFでの振動を抑制する方法である．ここで，タrotor speed

イミング調整を行うパラメータは，td ただ一つとなる．td を変化させることで回転子の応答が変化するが，今回速度センサを用いたタイミング調整を試みるため，振動の度合いをfpt示す評価指数 fp を以下のようにした．

f p = | min( f (t )) |Fig.2 Exciting sequence(1)

速度波形において fp が最小となるように調

そこで，タイミング調整を行う過程を最適整することで，振動が抑制された駆動が可能化問題として捉え，(2)式に示された関数を目となる．また td を操作することで速度応答が的関数として数値最適手法を適用する．その変化し，結果として fp も変化するので，fp は手法として，本研究で調整すべきパラメータtd の関数とみなすことが出来る．

が一つであることから，直線に沿った最適化

f p = f (t d )の方法の一つである黄金分割法を用いた．こ(2)れは，目的関数が単峰である場合，最小点を本研究で用いるハーフステップ形駆動法

含む部分空間を求めるためのフィボナッチは調整するパラメータは td ただ一つとなる．

法を簡略化したもので，総反復回数を前もっこれを前述の内点 x に対応させ，Fig.2 のようて決めておく必要が無いといった利点を持に回転子速度の負のピーク値の絶対値を目っている．

的関数 fp とすると，本研究での最適化問題は
４−１．黄金分割法

以下のようになる．
minimize ： f (td)

黄金分割法は，目的関数が単峰であり，区subject to ： td

間[b，u]内に最小点をもつ場合に，目的関数４．数値最適化

４）の値によって区間の幅を縮小する手続きを反復して行う方法である．
黄金分割によって区間の幅を縮小する方本研究では，励磁タイミングを調整するス

法は，Fig.3 における内点 x1，x2 をイッチングシーケンスによって振動抑制を行う．ハーフステップ形駆動法では，調整すx1= b +べきパラメータが一つであるとはいえ，最適なタイミングを試行錯誤によって求めるのx2= b +は非常に困難である．

-3-

τ −1(u − b)τ1τ(u − b)(3)(4)

できる．そこで，タイミング調整されてない

1/ τ

ステップ応答の速度波形から，はじめて正値

1/ τ 2bから負値へと切り替わる時間を範囲上限のux1

0x2

1/ τ 2

初期値 u 0 とし，下限として立ち上がり領域内1で十分に小さい値として 1ms を設定し，これを初期値 b 0 とした．
次に内点 x10，x20 を式(3)，1/ τ(4)により求める．このときの目的関数 f (x10)，f (x20)を得るために，励磁タイミング td をそれFig.3 Golden section

ぞれ x10，x20 に対応させステッピングモータとする．ここで， τ は，

τ −τ −1 = 02を 1 ステップずつ駆動させる．以降，第 k ス
テップにおいて得られた目的関数値を比較(5)の正根ですることで以下に示す操作を行う．

1+ 5≅ 1.618
τ=2f (x 1 k ) ＜ f (x 2 k ) のとき(6)

u k+1=u k，b k+1= x 2 k ，x 2 k +1= x 1 k ，となり，黄金比と呼ばれる．このように内点x 1 k +1= b k+1+を選ぶと，その結果得られる新しい区間の幅

τ − 1 k+1 k+1( u −b )τ(7)は元の区間幅に 1 / τ ≅ 0.618 を掛けたものにと し ，f (x 1 k +1)だけを計算し，k=k+1 とする．

なる．

f (x 1 k ) ≥ f (x 2 k ) のとき
u k+1= x 1 k ，b k+1= b k，x 1 k +1= x 2 k ，新しい区間を[b，x2]とすると

τ −1(u − b)τ= b + (τ − 1) (x2 − b)x1= b +=b +1

τ

x 2 k +1= b k+1+1

τ( u k+1−b k+1)(8)と し ，f (x 2 k +1)だけを計算し，k=k+1 とする．
(k=0，1，2，･･･)( x2 − b )以上の操作を目的関数が十分小さくなるまで繰り返す．

だから，x1 は新しい区間[b，x2]に対して(4)式に相当する式を満たしている．従って，元のなお，本研究では負荷の変動を想定するた

x1 は新しい x2 として使うことが出来る．このめ，負荷変動を検知し，新たに探索を行う手ようにして区間の幅を縮小する操作を反復続きが必要となる．黄金分割法は区間の幅をして行っていき，最小点へと近づけていく．

縮小することで最適解を探索する方法であるため，この区間の幅を収束判定値として用４−２いることができる．そこで，負荷変動を検知励磁タイミングの決定する手続きを以下のように設定した．
3 章で設定された最適化問題を黄金分割法

u k − b k < 0.1 ms かつ f k > 3 f k −1を用いて解いていく．黄金分割法では，最小(9)点を含む区間を前もって決定しなければな

ここで，f k ，f k −1 は最新ステップおよびそのらない．今回用いるハーフステップ形駆動法

直前のステップにおける目的関数値である．

は，td だけハーフステップ駆動を行うが，そこの条件が満たされた場合，新たに初期値をの範囲は基本ステップの立ち上がりと限定設定しなおす．

-4-80f p [min -1]

f p [min -1]

8040015driving steps

4003015driving steps

30

Fig.4 Variation of objective function (case 1)

Fig.6 Variation of objective function (case 2)

1 phase excitation
half-step-type excitation adjusted
by the present method

1 phase excitation
half-step-type excitation adjusted
by the present method3
rotor angle [deg.]

rotor angle [deg.]

32
1050time [ms]100210Fig.5 Step response (case 1)

50time [ms]100Fig.7 Step response (case 2)

この手続きにより，解が最適解付近に収束程で目的関数が小さい値へと抑えられていした後に生じる負荷変動に対して，目的関数ることがわかる．また，この時最終的に得らの増加によって負荷変動を検知し，新たに最れた励磁シーケンスで 1 ステップ駆動を行っ適解を探索することが可能になる．

た場合のステップ応答を Fig.5 に示す．通常の 1 相励磁に比べ，振動が抑制されている．
Fig.6 は case1 より慣性モーメントが約 6 倍

５．実験結果大きい慣性負荷を取り付けた case2 の場合に4 章の手法を用いて 1 相励磁のハーフステおいてタイミング調整を行った際の目的関ップ形駆動法における励磁タイミング td を調数の変化である．case1 の場合と同様に 10 ス整した結果を以下に示す．なお，case1，case2テップ程で目的関数が小さい値へと抑えらの反復回数は 30 回，case3 は 60 回とし，これていることがわかる．Fig.7 は Fig.6 においれを本手法の終了条件としている．また，初て最終的に得られた励磁シーケンスで 1 ステ期値決定手順のため，駆動ステップは 1 ステ

ップ駆動を行った場合のステップ応答であップ多くなる．

る．慣性負荷装着時においても，通常の 1 相Fig.4 は無負荷である case1 の場合において励磁に比べ，振動が抑制されている．これら

タイミング調整を行った際の駆動ステップの結果から本手法が負荷条件の違いに対し，に対する目的関数の変化である．10 ステップ有効であることが示された．

-5-80f p [min -1]

f p [min -1]

80

40

030
driving steps

40

60

0Fig.8 Variation of objective function (case 3)

30
driving steps

60

Fig.10 Variation of objective function

31 phase excitation
half-step-type excitation adjusted
by the present method

rotor angle [deg.]

rotor angle [deg.](simplex method： td=1.0，s=1.0)

21050time [ms]100

1 phase excitation
half-step-type excitation adjusted
by the simplex method
3210

rotor angle [deg.]

rotor angle [deg.]

32150time [ms]100(a) 29th steps(a) 29th steps

050
time [ms]100(b) 62nd steps

32
1050
time [ms]100(b) 60th steps

Fig.9 Step response (case 3)

Fig.11 Step response(simplex method： td=1.0，s=1.0)

次に case3 のタイミング調整中に負荷変動後も 10 ステップ程で目的関数が小さい値へがあった場合の結果を示す．Fig.8 は無負荷でと抑えられていることがわかる．Fig.9 は第ある case1 の条件からタイミング調整をはじ

29，62 ステップで得られた励磁シーケンスでめ，その後に case2 の負荷条件へと移行した

それぞれ 1 ステップ駆動を行った場合のステ場合の目的関数の変化である．負荷変動を検ップ応答である．(a)，(b)どちらも振動が抑制知する手続きは，(9)式で示される式を満足しされている．これにより，タイミング調整中た場合に行われ，その後新たに初期値を設定に負荷が変動する場合にも本手法が有効でしなおす．なお，初期値の再設定は 4 章で示あることが示された．

00

した初期値 b ，u の設定手順に従う．また，

次に，収束性や目的関数の演算量などの観

今回負荷変動のタイミングは第 30 ステップ

点からシンプレックス法３,５）を適用した場合とした．Fig.8 より，目的関数の増大にともなと比較を行う．駆動ステップ数は 60 回，駆い新たに最適解の探索を行い，かつ負荷変動動条件は case3 の場合を想定し，シンプレッ-6-クス法をステッピングモータの励磁タイミ

80

ング調整へと適用するアルゴリズムはすべ
f p [min -1]て文献 3)に従う( α = 1 ， β = 0.5 ， γ = 2 )．
ただし，目的関数は本研究で設定したものを用いる．また，負荷変動を検知する手続きは40以下のようにした．
s < 0.1ms かつ f k > 3 f k −10(10)30driving steps

ここで，f k ，f k −1 は最新ステップおよびその60直前のステップにおける目的関数値で，s はFig.12 Variation of objective function

シンプレックスの各頂点間の距離である．上(simplex method： td=2.0，s=1.0)

式を満足した場合，シンプレックスを初期化
rotor angle [deg.]

し，最適解の再探索を行う．
初期値(td=1.0ms，s=1.0ms)を与え，シンプレックス法を適用した場合の目的関数の変化を Fig.10 に示す．無負荷である範囲では黄金分割法を適用した場合と同様に 10 ステッ

31 phase excitation
half-step-type excitation adjusted
by the present method

210プ程で目的関数が低い値へと抑えられてい50time [ms]100(a) 29th steps
rotor angle [deg.]

る．ただし，負荷変動があった後では目的関数が 10 ステップ程で収束をはじめているものの，小さい値へと抑えられてはいない．シンプレックスの頂点での目的関数の大小の比較により，シンプレックス法の各操作が行われるため，一回の反復の中で目的関数を演

321050time [ms]算する回数は黄金分割法よりも多くなる．た(b) 60th steps

だ駆動ステップごとの演算量は黄金分割法

Fig.13 Step response100(simplex method： td=2.0，s=1.0)の演算量と比べても大きな差はない．Fig.12は第 29，60 ステップのとき最終的に得られた励磁シーケンスを用いて 1 ステップ駆動を続いて，初期値(td=2.0ms，s=1.0ms)を与え，行った場合のステップ応答である．無負荷でシンプレックス法を適用した場合の目的関ある(a)は目的関数が低く抑えられているた数の変化を Fig.12 に示す．また，第 29，60め振動が抑制されているのが確認できるが，ステップで得られた励磁シーケンスを用い慣性負荷を取り付けた(b)の場合はハーフスて 1 ステップ駆動を行った場合のステップ応テップ駆動を行う期間が長いため，2 段ステ答を Fig.13 に示す．Fig.10 に比べ，目的関数ップの形を描いており，1 ステップでの振動が小さい値に抑えられているが，本研究で提抑制効果は得られていない．これは，最適解案した手法を用いたものに比べてやや大きが基本ステップの立ち上がり時間を越えたい値で収束をはじめている．それに伴い，領域で収束をはじめたことが原因と考えら

Fig.13(b)のステップ応答も 1 ステップでの振れる．

動抑制がなされてはいるが，Fig.9 の波形と比-7-可能性をもつことが示された．しかし本研究

べると振動抑制効果は十分ではない．
以上から，シンプレック法を適用した場合で提案した手法では立ち上がり領域の区間は，10 ステップ程で目的関数が収束をはじめの縮小のみ行うため，その欠点は回避されてるものの初期値の選定次第で，シンプレックいる．

スが部分空間に落ち込んでしまって，真の解

上記のように，提案された手法を用いるこが得られなくなるという欠点があることがとにより，簡易なスイッチングシーケンスで示された．一方，本研究で提案した手法ではあるハーフステップ形駆動法の励磁タイミ最小点を含む区間を，1 ステップ速度応答のングの自動調整が可能であることがわかっ実測値から立ち上がり領域のある期間と決た．また，安価な速度センサを用いて調整で定し，その操作は区間の縮小のみであるため， きることからシステム全体が低コストとなる利点も得られる．

上記のような部分空間に落ち込むという問題は回避されている．駆動ステップごとの演算量に両手法の差はほとんどなく，また最初に内点を求めるときと負荷変動を検知して参考文献

最適解を再探索するとき以外は，一回の反復

1）百目鬼英雄：ステッピングモータの使いで，目的関数の演算が一回だけですむため，収束性，演算量の観点からみても本手法は有方，7/13，工業調査会(1993)
2）三浦武，谷口敏幸：レギュレータによるステッピングモータの励磁タイミングの効である．

決 定 ， 電 気 学 会 論 文 誌 D ， 116-7 ，800/801(1996)
６．おわりに3）亀井澄人，三浦武，秋山宜万，谷口敏幸：ステッピングモータのオンライン励磁タ
イミング調整，計測自動制御学会東北支部

ステッピングモータの回転子振動抑制に研究集会講演資料，203-5，1/8(2002)

関して，速度センサから得た値を目的関数として黄金分割法を適用することで，ハーフス

4) S.L.S.ジャコビ，J.S.コワリク，J.T.ピゾ(著)，

テップ形駆動法の励磁タイミング調整を行関根智明(訳)：非線形最適化問題の反復解った．

法，52/62，培風館(1976)

タイミング調整後に最終的に得られたス

5)今野浩，山下浩：非線形計画法，284/288
日科技連出版社(1978)

イッチングシーケンスを用いてモータを駆動したところ，5 章に示したように通常の 1相励磁にくらべ大幅に振動が抑制される結果となった．負荷変動があった場合においても，最適解の再探索を行い，振動が抑制されるスイッチングシーケンスを得ている．また，シンプレック法を適用した場合と比較した
結果，シンプレックス法を適用した場合では，初期値の選定次第でシンプレックスが部分空間に落ち込むことで真の解から遠ざかる-8-