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

遺伝的アルゴリズムによるステッピングモータ駆動用励磁シーケンスの調整
Adjustment of Exciting Sequence for Drive of a Stepping Motorby Genetic Algorithm○森元直道*，秋山宜万*，松尾 健史*，三浦 武*，谷口 敏幸*○Naomichi Morimoto*，Yoshikazu Akiyama*，Kenshi Matsuo*，Takeshi Miura*，Toshiyuki Taniguchi**秋田大学*Akita University
キーワード：ステッピングモータ（stepping motor），励磁シーケンス（exciting sequence）
遺伝的アルゴリズム（genetic algorithm）
連絡先：〒010-8502 秋田県秋田市手形学園町 1-1
三浦

秋田大学工学資源学部 電気電子工学科

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

１．はじめにチングのタイミングを試行錯誤的に決定しなければいけないことや負荷変動などによりパラメータが変化した場合，励磁タイミングの再ステッピングモータは入力パルスの総数および周波数により回転角，回転速度を調節でき，調整が必要になることなどが問題となる．

容易に開ループで位置制御および速度制御を

このような問題に対して，遺伝的アルゴリズ実現できるモータである．また，そのような利ム(Genetic Algorithm，以下 GA)３）を用いてス

点から，コンピュータ周辺機器をはじめ，FAテップ応答波形の整形を行い，励磁シーケンス

１）の調整を行う方法が報告されている４）５）．こ機器，OA 機器に幅広く用いられている ．
ステッピングモータは，各相の励磁を切り換

れらの方法において慣性負荷の変動に対するえることによって生じる電磁吸引力を利用し，ロバスト性を考慮した振動抑制法が行われて基本ステップ角を単位として回転するモータいる．慣性負荷に最大値を設定してこれを最悪である．そのため，モータを駆動させた場合，の駆動条件と見なし，この条件に基づいて回転慣性の影響により安定点付近において，回転子子の停止位置となるトルク平衡点の操作を行が振動するという問題が生じる．

い，回転子をそれに追従させることで慣性負荷この振動を抑制する方法として，励磁電圧のの変動にロバストに振動を抑制する方法であスイッチングのタイミング調整のみを必要とる．この手法を用いた結果，目標波形は立ち上する遅延ダンピング法や逆相励磁ダンピングがりが正弦波状の波形となり，励磁シーケンス法などの励磁シーケンスの調整法が提案されの調整時間も決定された．ている２）．これらの手法は，単純で低コストな立ち上がりがランプ状の目標波形を用いたシステムを用いて行うことができるが，スイッ際には，上記のようなロバスト性や最適な立ち
1

PC-9821Xa13

DA converter

本研究では，最悪の駆動条件として慣性負荷に最大値を設定してトルク平衡点の操作を行い，UD counter

Drive circuit

回転子をそれに追従させることで振動を抑制す
る．これは従来の方法を使用しており，以下にRotary encoder

その詳細を述べる５）．

Stepping motor

本研究で用いている 2 相ハイブリッド形ステ

Fig.1 Experimental system

ッピングモータの動特性は次のような運動方程上がり時間については特に考慮されていなかっ式で表される．

た．そこで，本研究では波形自体が簡単である

Jという理由からランプ波形を目標波形として，

d 2θ
dt+D2dθ= T (θ , i A , i B , i A , i B )dt(1)

設定された慣性負荷の最大値以内までの変動に

ここで J は回転子の慣性モーメント，D は制動対しロバストに振動を抑制できるまで，立ち上係数，T は発生トルク， θ は回転子の位置，がり時間を変えて励磁シーケンスの調整を GAi A ~ i B は各相の励磁電流を表している．トルクにより行った．また、回転時の振動，脱調など平衡点 θ e の近傍でテーラー展開を行うと上式の原因となる共振周波数の付近におけるゲインの右辺は次のようになる．

T (θ , i A , i B , i A , i B ) ≈ T (θ e , i A , i B , i A , i B )の減少量を，ステップ波形と比較することで最適な立ち上がり時間の検討も行った．

+∂T(θ − θ e )∂θ θ =θ c= −c(θ − θ e )２．実験システム(2)ここで定数 c は本研究で使用したモータは，2 相ハイブリッc≡−

ド形の PX244-02B(オリエンタルモーター，定格dTdθ θ =θ eである．上式を（1）式に代入すると，次のよう

6V，0.8A，基本ステップ角 1.8deg.)である．
本研究で用いた実験装置を Fig.1 に示す．駆な線形微分方程式が得られる．

動回路は電圧制御形を用いる．パソコンからのJ励磁指令は DA 変換ボードを介して駆動回路にd 2θdt2+Ddθ+ cθ = cθ edt(3)入力され，ステッピングモータが回転する．回

この式をラプラス変換し，回転子の位置θ と転子の角度は，分解能 5000pulses/rev.の光学式ロ

トルク平衡点 θ e の伝達関数を求めると次のよータリーエンコーダ(出力 2 相)によって検出さうになる．

れ，UP/DOWN カウンタボードによって 4 逓倍

G (s ) =することで、最終的に 20000pulses/rev.の信号としてパソコンに入力される．なお、本実験シス

θc= 2
θ e Js + Ds + c(4 )これにより回転子がトルク平衡点に追従するためには，広い周波数領域で伝達関数 G(s ) のテムのサンプリング時間は 0.3ms である．

値が 1 の近傍になければならず，J および D を３．トルク平衡点の操作による回転子振動抑制できる限り小さく， c をできる限り大きい値にする必要がある．J および D はシステムのパラステッピングモータの駆動トルクは励磁するメータなので変更をするのは困難であるが， c相を切り替えることによって生じ，回転子を次はモータの発生トルクに関連する値であり，各の安定点であるトルク平衡点に移動させる．

相の励磁電流の関数となっているので，電流値2を適切に制御することによりこの値を常に許される範囲で最大化することで，伝達関数を 1 のことが可能となる．また，定数 c の値が大きい

c max = −ほど Js 2 や Ds の変化による影響が小さく，慣性

KT N r I,cos(N r θ e )iB − iB =モーメント J や制動係数 D の変動に対し低感度化が可能となる．以上のような理由から，以c max = −流値を求める．
2 相ハイブリッド形ステッピングモータの角sin (N r θ e )I,
cos(N r θ e )KT N r I,
sin (N r θ e )iA − iA =度−トルク特性は，一般に次のように表される．

iA = I,(11)i B = 0,cos(N r θ e )I,sin (N r θ e )iB = I ,(5π / 4 + 2nπ ≤ N r θ e ≤ 7π / 4 + 2nπ )

(5)

(10 )

i A = 0,(3π / 4 + 2nπ ≤ N r θ e ≤ 5π / 4 + 2nπ )下では定数 c を最大化するための各相の励磁電+ K T (i B − i B )cos(N r θ )i B = 0,(π / 4 + 2nπ ≤ N r θ e ≤ 3π / 4 + 2nπ )近傍に拘束するという条件を満足しやすくする

T = − K T (i A − i A )sin (N r θ )cos (N r θ e )I,sin (N r θ e )iA − iA =(12)ここで n は整数である．

ここで，K T はトルク定数，N r は回転子の歯数以上より，最悪の駆動条件として c max の最小を表している．この式の両辺をθ で微分すると

値 c max 0 を考慮した場合，次のように表すこと次のようになる．

ができる．

dT= − K T N r (i A − i A )cos(N r θ )dθ− K T N r (i B − i B )sin (N r θ )c max 0 = K T N r Iの近傍に拘束する条件を満足しやすくなり，回転子がトルク平衡点に追従する．
以上より、本研究では（1）式の伝達関数を次式の左辺を 0 としてトルク平衡点と励磁電流とのように表す．の関係を求めると次のようになる．
iA − iA=sin (N r θ )cos (N r θ )G(s ) =(7)c max 0Js + Ds + c max 02(14)本研究ではモータの定格値である下記の値をこれを（6）式に代入すると，定数 c は次のよう用いている．になる．
c=−(13)

この条件を満たすことによって，伝達関数を 1(6)

また，トルク平衡点では T = 0 となるので，（5）iB − iB(N r θ e = nπ / 2)

K T N r (i A − i A ) K T N r (i B − i B )dT==cos (N r θ e )sin (N r θ e )dθ θ =θ e

K T ＝0.14N･m/A， N r ＝50，I ＝0.8A， D ＝0.003N･m･s/rad(8)また，ここでは最悪の駆動条件として慣性負荷各相の励磁電流は定格電流 I によって0 ≤ i A,の最大値を無負荷時の 10 倍と設定し，そこまで

iB , i A , iB ≤ I と制限されているので， c の最大の変化に対するロバスト性を考慮するので，慣値 c max および c max を与える励磁電流値は各々性モーメント J は無負荷時の慣性モーメントのトルク平衡点において次のようになる．
KT N r I
cmax =,
iA = I ,cos(N rθ e )である 2.4 × 10‐6 N･m･s2 からその 10 倍である

sin (N rθ e )i B − iB =I,cos(N rθ e )24 × 10‐6N･m･s2 までの値と設定する．この範囲内で慣性モーメントの値を変動させたときのそi A = 0,( − π / 4 + 2 nπ ≤ N r θ e ≤ π / 4 + 2 n π )KT N r I
cmax =,iB = I ,sin (N rθ e )れぞれのゲイン特性の先端同士を結び，それら(9)の波形を包むように描いたエンベロープ波形と慣性モーメントを変えた 3 種類の制御対象のゲイン特性を Fig.2 に示す。
3本研究では上記で示した慣性負荷の最大値以

本研究では，（15）式で示した評価値を用いる

内までの変動に対しロバストに振動を抑制することで，最も効果的にゲインを減少させることことを目的としている．そのため，例としてができるランプ波形の立ち上がり時間 t d の探

Fig.3 に示した立ち上がり時間 10ms のランプ波索を試みている．

形のゲインが，Fig.2 に示した共振周波数付近でFig.4 にランプ波形の立ち上がり時間 t d とステップ波形のゲインより十分に減少する必要（15）式を用いて求めたゲインの減少量との関がある．そこで，共振周波数付近の制御対象の係を示す．

ゲイン g (ω ) を重みとし，その領域でランプ波形

この図より，グラフが飽和し始めるときの立のゲイン r (ω ) とステップ波形のゲイン s(ω ) のち上がり時間 t d [ms]が，それ以降大きなゲイン差を積分した値の平均値 h を用いて評価を行う．の減少がないことを考慮すると，最も短い立ち1
ω 2 − ω1h=

ω2

∫ g (ω ) r (ω ) − s(ω ) dω

上がり時間で効果的に慣性負荷の変動にロバス(15)ω1トに振動を抑制できる時間と予想される．

ここで ω1 は 20πrad/s， ω2 は 560πrad/s と設定
４．遺伝的アルゴリズムによる励磁シーケン
４．遺伝的アルゴリズムによる励磁シーケン

した．

スの調整
envelope waveform
J＝24×10-6N･m･s2
J＝7.4×10-6N･m･s2J＝2.4×10-6N･m･s2

本研究では 2 相励磁方式で駆動する場合を考

gain[dB]

20

えており，初期位置は A 相と B 相の間，停止位

10−

置は B 相とA相の間としている．この場合，ト0ルク平衡点は π 4 N r ≤ θ e ≤ 3π 4 N r の間で変化-10するので，目標値の時間変化は次式で表される．

-20110100πθs t t + 4 Nr
θr =  dθ s + π4N r


1000

f [Hz]

Fig.2 Gain characteristic of the controlled system

gain[dB]0(t d < t )(16)

ここでθ r は目標値，t は時間，θ s は基本ステ-20ップ角を表している．

-40

文献 5）より，調整する相と調整領域は以下-60-80(0 ≤ t ≤ t d )のように決定することができる．トルク平衡点
1101000は π 4 N r ≤ θ e ≤ 3π 4 N r の 範囲にあるので，励Fig.3 Gain characteristic of the ramp waveform

磁電流の条件として（10）式を適用する．i A − i A(td＝10ms)の時間的変化のプロファイルを希望する波形に

f [Hz]

100−調整する場合，A 相とA相の励磁シーケンスを調整する必要があると考えられ，d (i A − i A )/ dt

50は広い範囲をとることが要求される．

gain[dB]100

π 4 N r ≤ θ e ≤ π 2 N r においては， i A − i A は

0510td [ms]15正であり θ e が増加するにつれて i A − i A は減少

20し，d (i A − i A )/ dt は常に負となる．i A − i A を常Fig.4 Evaluation of the ramp waveform
4Voltage[V]に一定値とする場合は，d (i A − i A )/ dt を 0 に近づけなければならないが，i A − i A が正であるた−めAの励磁は必要ない．また， i A − i A を急激に減少させる場合は，d (i A − i A )/ dt をできるだけ60

負方向に大きな値としなければならないので，

0 1 0 0 1 1 1 0 11 1
Gene of the phase A chromosome−

よって，A 相を OFF とし，A相のみを励磁する．

Voltage[V]

この領域で d (i A − i A )/ dt を広範囲で変化させ−るには，A 相とA相の励磁シーケンスを調整する必要がある．

Δt600 0 1 0 0 1 0 0 0

また， π 2 N r ≤ θ e ≤ 3π 4 N r においては，−i A − i A は負でありこの状況はA相のみの励磁0 1Gene of the phase B chromosomeで実現できる．また， θ e が増加するにつれてFig.6 Coding of exciting sequenced (i A − i A )/ dt の急激な減少が要求されるとき−

励磁シーケンスのコード化の概要を Fig.6 にも負電流であるA相の調整だけでよく，結局こ−−示す．ここでは調整相が A 相からB相までの場の領域ではA相のみを調整すればよい．
以上より，目標波形と励磁シーケンスの調整合の例を示す．図のように，時間軸を一定の幅∆ t を持った細かな要素に分解し，各々の要素領域は Fig.5 のようになる．
次に，GA による励磁シーケンスの調整法ににおいて励磁電圧をモータに印加しない場合はついて述べる．励磁シーケンスは，望ましい応「0」を，印加する場合は「1」を当てはめるこ

答波形が得られるように，各時間における各相とにより励磁シーケンスのコード化をしている．の励磁電圧を調節することで決定される．GA

また，励磁シーケンスを調整する相が単一の場を用いて励磁シーケンスの探索を行うためには，

合は 1 相分のビット列の染色体を 1 個体と表現

この過程を生物の進化を模擬するものとしてモし，調整相が複数の場合はそれぞれの相のビッデル化を行わなければならない．

ト列を接続した遺伝子の配列を用いるので，複本論文では、文献 4）のように励磁シーケン数個の染色体で 1 個体を表現している．
各個体の適応度は目標角度 θ r (t ) からの偏差スをビット列としてコード化を行い、これを遺伝子の集合である染色体と見なして遺伝的操作を時間積分した評価関数を行う．このような操作を複数の個体より構成

f =される個体群に適用し、世代を経ることで準最∫t max0θ r (t ) − θ (t )dt(17 )を用いて評価している．ただし， t max は角度波適解の探索を行う．

形のデータ取得時における最終時刻である．上θr

記の評価関数より，本研究は得られる評価関数

tuning phase A値を最小化する最適化問題となる．
3π/4Nr

本論文においては 1 世代あたりの個体の総数−−

exciting phase A

tuning phase A
π/2Nr

を 50 個体とした．また，最終世代は試行錯誤にexciting phase B

π/4Nr

より 150 世代と設定し，最終世代の最もよい個体を最適な励磁シーケンスとした． なお，これ

t0

td /2tdらの過程はすべてコンピュータを用いて自動的に約 40 分で行われる．

Fig.5 Tuning region of the exciting sequence
5probability of selection[%]startn=0
Generating initial group
Evaluation
Yes
n=150
No
Genetic operation 1：selection

n=n+1

END

Genetic operation 2：crossover

5.0

2.50.00high

Genetic operation 3：mutation

25
ranking
fitness50

low

Fig.8 Probability of selection
Fig.7 Flowchart of GA
第 2 の遺伝的操作として個体の交叉を行う．
GA のフローチャートを Fig.7 に示す．最初に具体的には，任意の 2 つの個体(親)をランダムランダムに与えられた遺伝子を持つ個体を Nに選び，ランダムに選ばれた交叉点で遺伝子を個生成して，初期世代の個体群とする．

組み替える操作である．ここでは一様交叉を用いている．一様交叉は，マスクパターンのビッ

次に各個体を用いて実際にモータを駆動させ，応答波形を取得する．そして，上記で述べた評ト列を作り，この遺伝子が 1 ならば親 A の遺伝価関数値を用いて計算を行う．

子，0 ならば親 B の遺伝子を受け継がせる子 A

各個体の適応度を計算した後，最終世代に達と，その遺伝子とは反対の受け継ぎ方をする子するまで遺伝的操作を実行する．第 1 の遺伝的B を生成する方法である．そして，生成された操作として個体の選択を行う．ここで，適応度

子 A と子 B が次世代の個体となる．なお，交叉の高い個体が増殖し，適応度の低い個体が淘汰確率は 80％と設定している．

される．本研究では，選択方法としてルーレッ

第 3 の遺伝的操作として個体の突然変異を行ト選択とエリート選択を用いた．ルーレット選う．これは各個体の遺伝子を対立遺伝子に置き択は，評価関数に基づいて各個体ごとに適応度換える操作である．なお，突然変異確率は 1%の高い順に 1 位，2 位･･･とランク付けを行い，と設定している．
以上のような遺伝的操作を完了することによ

各ランクごとに決められた確率に従って選択をり次世代の個体群が生成される．

行う方法である．本研究では文献５）のように次式で各ランクごとの選択確率を決定している．

５．実験結果

p m = [exp{ − (m − 1) /( N − 1) × 0 .2} + 1 .0]
N/ ∑ [exp{−(l − 1) /( N − 1) × 0.2} + 1.0]

(18 )本研究では前章の方法を用いて，設定された

l =1

ここで， pm は m 番目のランクの個体の選択

慣性負荷の最大値以内までの変動に対し，ロバ確率， N は個体数を表している．上式から得ら

ストに振動を抑制できるような応答波形を得る

れる各ランクと選択確率の関係を Fig.8 に示す．

まで，ランプ波形の立ち上がり時間を変えて励

この選択確率は適応度の低い個体でも選択され磁シーケンスの調整を行った．Fig.4 において飽る可能性を残している．

和し始めた立ち上がり時間である 10，12，14ms

エリート選択は個体群の中で適応度の高い個を用いて得られた励磁シーケンスと，この励磁体を無条件でそのまま次世代に残す方法である．

シーケンスを用いてモータを駆動させた時のス
6profile adjusted by GA
ideal profile
rotor position[deg]

テップ応答波形を Fig.9〜Fig.11 に示す．また，
Fig.12 に上記の立ち上がり時間における各世代の評価関数値の最小値 f min の変化を示す．
これらの図からいずれの応答波形も目標波形に近い形状に整形されていることがわかる．ま3210

た，評価関数値の変化は世代を経るごとに小さvoltage[V]していることがわかる．

rotor position[deg]profile adjusted by GA
ideal profile
30phase B

60phase A

6202550time[ms]Fig.11 Tuned exciting sequence and adjusted profile

10of rotor position（td＝14ms）
phase A

6

case in the td＝10ms
case in the td＝12ms
case in the td＝14ms

0phase B

65.00fmin×103

voltage[V]phase A

6くなっており，およそ 100 世代あたりから収束

phase A

6025time[ms]

2.550
0.00

Fig.9 Tuned exciting sequence and adjusted profile
of rotor position（td＝10ms）

rotor position[deg]100generation

150

Fig.12 Variation of the performance index

profile adjusted by GA
ideal profile

次に上記のように調整された励磁シーケンス

3を用いて，実際に慣性負荷を取り付けて実験を2行ったときの結果を Fig.13（a）〜（e）に示す．
その結果，立ち上がり時間が 10ms では慣性1負荷の変動に対して振動抑制の効果が不十分で0あった．それに対し，立ち上がり時間を 12ms

phase A

6voltage[V]50とした場合は，14ms と同じように回転子慣性の0変動に対しロバストに振動を抑制していること

phase B6がわかる．

060以上より，本研究で設定された慣性負荷の最phase A

大値よりも小さい負荷を用いる場合は，立ち上
25time[ms]

がり時間 12ms のランプ波形が，より短い立ち50上がり時間で効果的に振動を抑制できるので最Fig.10 Tuned exciting sequence and adjusted profile

適と考えられる．また，この結果は 3 章においof rotor position（td＝12ms）て予測された最適な立ち上がり時間と一致する．
7

rotor position[deg]3case in the td=10ms
case in the td=12ms
case in the td=14ms
2-phase excitation25time[ms]250（c）case in the J =15 × 10−6N･m･s2
10325time[ms]50（a）case in the J =5 × 10−6N･m･s2

21302（d）case in the J =20 × 10−6N･m･s2

25time[ms]5031025time[ms]rotor position[deg]rotor position[deg]10

rotor position[deg]rotor position[deg]3250（b）case in the J =10 × 10−6N･m･s2

2

1025time[ms]50（e）case in the J =25 × 10−6N･m･s2
Fig.13 Step response（inertial load：5 × 10−6〜25 × 10−6N･m･s2）６．おわりにステップ波形と比較することでランプ波形の最適な立ち上がり時間についても検討した．ゲイ

本研究では，ステッピングモータの問題点でンの減少量は立ち上がり時間を変えることで飽ある回転子振動に関して，慣性負荷変動に対す和する傾向があり，その飽和し始めた立ち上がるロバスト性を考慮し，GA を用いた励磁シーり時間と実験的に求めた立ち上がり時間が一致

ケンスの調整を行った．その結果，上記のようした．に設定した慣性負荷の最大値以内ならば，トル以上より，本手法を用いた場合，励磁タイミ

ク平衡点の操作を行い回転子をそれに追従させングの再調整をすることなく負荷を取り付けたることで振動抑制を実現できることを確認した．

ときも回転子の振動を効果的に抑制できることが示された．

また，共振周波数領域でのゲインの減少量を
8

参考文献
1) 見城 尚志，菅原 晟：ステッピングモー
タとマイコン制御，33/71，総合電子出版社，（1996）
2) 海老原 大樹，岩佐 孝夫：ステッピング
モータ活用技術，144/150，工業調査会（1984）
3) 坂和正敏・田中雅博：遺伝的アルゴリズム，
1/31，浅倉書店（1995）
4) 三浦武・嵯峨敏・谷口敏幸：遺伝的アルゴ
リズムによるステッピングモータのステップ応答波形の整形，電学論 D，117-11，1390/1395（1997）
5) T．Miura，T．Taniguchi：Open-Loop Control
of a Stepping Motor Using Oscillation
Suppressive Exciting Sequence Tuned byGenetic Algorithm，IEEE Trans.Inst.Elect，46-6，
1192/1198 （1999）

9