...

FPGA を用いたステッピングモータの制御に関する検討

by user

on
Category: Documents
13

views

Report

Comments

Transcript

FPGA を用いたステッピングモータの制御に関する検討
計測自動制御学会東北支部第 251 回研究集会(2009.7.15)
資料番号 251-2
FPGA を用いたステッピングモータの制御に関する検討
Control of a Stepping Motor using FPGA
○萩原正基*, 秋山宜万*, 松尾健史*, 三浦
武*, 谷口敏幸*
○Masaki Hagiwara*, Yoshikazu Akiyama*, Kenshi Matsuo*, Takeshi Miura*, Toshiyuki Taniguchi*
*秋田大学
*Akita University
キーワード: FPGA(FPGA),ステッピングモータ(stepping motor),励磁パルス(exciting pulse)
連絡先:〒010-8502 秋田県秋田市手形学園町 1-1 秋田大学工学資源学部 電気電子工学科
松尾健史,TEL:(018)889-2338,FAX:(018)837-0406,E-mail:[email protected]
こで本研究では,その改善策として高速動
1.はじめに
作が可能な FPGA を用いてステッピングモ
ータの励磁タイミンングを自由に操作でき
ステッピングモータは,総回転数が励磁
るプログラムを作成した.
パルスの総数に比例し,回転速度が単位時
間当たりの励磁パルス数に比例するといっ
た特徴を持っている
1)
.そして,ステッピ
2.FPGA
ングモータの励磁パルスの生成にはパーソ
ナルコンピュータを用いる事ができるが,
FPGA はプログラマブルデバイスと呼ば
これでは駆動システムが大きくなってしま
れる,内部構造のプログラミングが可能な
う.ステッピングモータの励磁パルスをパ
LSI の一種であり,論理回路そのものをプ
ーソナルコンピュータで生成する代わりに, ログラムできる.よって,動作しているの
マ イ ク ロ コ ン ピ ュ ー タ や FPGA (Field
が論理回路そのものであるから,動作速度
Programmable Gate Array)を用いる事で駆動
が速く,低消費電力であるといった特徴が
システムの小型化が行える.
ある 2).
一方,ステッピングモータを高速で駆動
今回,Verilog HDL で開発可能な環境があ
させる際,モータの励磁タイミングを適切
るので,これを用いて FPGA のプログラム
に行う事が困難になる.これは,励磁タイ
を行った.
ミングを操作する事で改善可能である.そ
1
start
start
definition of input output pin,and
parameter1,2
definition of input output pin
preset of initial value
counting clock number
N
clock number
=
parameter1
N
flag1=”H”
Y
Y
flag1=”H”
Y
update signals
a1→b1
b1→c1
c1→d1
d1→a1
counting clock number
clock number
=
parameter2
flag2=”H”
flag1=”L”
N
update signals
a2→b2
b2→c2
c2→d2
d2→a2
flag2=”L”
output logical sum of signals
Y
flag2=”H”
return counting clock
number to 0
(a) Production of timing pulse
(b) Exciting sequence
図 1 フローチャート
Fig. 1 Flowcharts
を開始する.(b)の信号の更新は,a1→b1→
3.FPGA の処理
c1→d1 の様に順々に入れ替えるのでは無
く,a1→b1,b1→c1,c1→d1,d1→a1 の様
FPGA の処理フローチャートを図 1 に示
に同時に値を入れ替えている.これは
す.(a)は励磁パルスの生成の為のタイミン
Verilog HDL が全ての動作を同時に行うプ
グパルス生成部,(b) は励磁シーケンス部
ログラム言語だからである.
である.ここで,(a)の flag1,2 は,励磁タイ
ミングを調節する信号であり,1 クロック
表 1 初期値
分だけ”H”の状態になる.また,(b)の a1~
Table 1
d1,a2~d2 の信号はステッピングモータの
各相を励磁させるものである.この信号の
初期値を表 1 に示す.そして,flag1,2 の信
号によって,a1~d1,a2~d2 の信号は更新
2
Initial values
a1
1
a2
1
b1
0
b2
0
c1
0
c2
0
d1
0
d2
0
4. 実験システム
流すユニポーラ駆動型の定電圧駆動回路で
ある.
本研究の実験システムを図 2 に示す.パ
表2
ーソナルコンピュータはモータ駆動の処理
を行うものではなく, Verilog HDL でプロ
Table 2
FPGA(XC3S100E)の仕様
Specification of FPGA(XC3S100E)
グラムを作成し,FPGA に実装させるもの
Number of system gate
である.
開発ツールとしては Xilinx 社の ISE
Number of logic cell
Web Pack 8.2i を用いた.
Embedded memory
使用した FPGA と,FPGA が搭載されて
いるボードの仕様を表 2,表 3 に示す.FPGA
100000
2160
52Kbit
Core voltage
1.2V
I/O voltage
3.3V
は Xilinx 社製の「Spartan-3E ファミリ」のう
ち「XC3S100E」である.
表3
モータの仕様は表 4 を示す.使用したモ
Table 3
FPGA 搭載ボードの仕様
Specification of FPGA board
ータは,オリエンタルモーター社製 2 相ハ
On-board FPGA
イブリッド型ステッピングモータ
Supply voltage
(PK244-02B)である.
Frequency of clock oscillator
XC3S100E
5V
33MHz
使用した駆動回路を図 3 に示す.今回用
いた駆動回路は,電流を一定方向のみに
表 4 ステッピングモータの仕様
Table4
PC
PC ;used for
programming
Specification of a stepping motor
Rated voltage
6.0V
Rated current
0.8A
Step angle
1.8deg.
FPGA
FPGA
board
Drive
circuit
DC power
supply
E
Stepping
motor
図 2 実験システム
Fig. 2
図 3 駆動回路
Experimental system
Fig. 3
3
Drive circuit
5. 実験方法
Exciting voltage [V]
4
3 章で述べた FPGA の処理を実装させ,
作成したプログラムが指示通り動作してい
るか出力された励磁パルスで確認を行う.
本研究では,図 4 の様に励磁タイミング
を操作した時間を進み時間と定義する.
Phase A
Phase B
3
2
1
Lead time
0
10
20
30
Time [ms]
(a) Lead time 0ms
t
4
Exciting voltage [V]
Phase A
Phase B
図 4 進み時間(Lead time)の定義
Fig. 4
Definition of lead time
6. 実験結果
3
Lead time
2
1
図 5 に励磁タイミングを操作した励磁パ
0
ルスを示す.この出力波形の基本励磁時間
10
30
20
Time [ms]
は 10ms であり,(a)は進み時間 0ms,(b)は
(b) Lead time 2ms
進み時間 2ms,(c)は進み時間 8ms の波形で
4
ある.図 5 を見みると,励磁するタイミン
Phase A
Phase B
Exciting voltage [V]
グを操作できている事が分かる.これは 3
章で述べた flag1,2 を立ち上げるタイミン
グを変化させる事で実現できた.
また,図 6 にステッピングモータの A 相
の巻線電流と励磁パルスを示す.(a)は進み
3
Lead time
2
1
時間 0ms,(b)は進み時間 2ms,(c)は進み時
間 8ms の波形である.図 5 を見てみると,
励磁タイミングを早めると,巻線電流が増
0
10
20
Time [ms]
加しているのが分かる.また,10ms 時の巻
(c) Lead time 8ms
線電流の値は(a)の波形に比べ(b),(c)の波形
の方が高くなっているのが分かる.
図 5 励磁パルス
Fig. 5
7. 考察
図 5 の通り,FPGA を用いてステッピン
4
Exciting pulse
30
Winding current
Exciting pulse
4
できた.これを応用する方法として,進み
0.8
Winding current [A]
グモータの励磁タイミングを操作する事が
3
0.6
2
0.4
Exciting voltage [V]
1
角制御が考えられる.進み角制御とは,モ
ータの回転子がある相の平衡点に到達する
前にその次の相も励磁し,電流の立ち上げ
を早くする事でモータに十分なトルクを発
生させる方式である
1
3)
.今回の行った励磁
タイミングの操作で,進み角制御のような
0.2
閉ループ制御が行えると考えられる.
0
10
0
30
20
Time [ms]
8.おわりに
(a) Lead time 0ms
Winding current
Exciting pulse
4
本研究では,FPGA を用いてステッピン
Winding current [A]
0.8
3
0.6
2
0.4
グモータの励磁タイミングを自由に操作す
Exciting voltage [V]
1
る FPGA のプログラムを作成し,実装させ
た.今後の課題として,今回の結果を進み
角制御に応用し,ステッピングモータの閉
ループ制御のアルゴリズムを構築して
FPGA に実装するといった事が考えられる.
1
0.2
0
20
10
0
30
参考文献
Time [ms]
(b) Lead time 2ms
1) 坂本正文:ステッピングモータの使い方,
Winding current
Exciting pulse
4
2) 井倉将実:FPGA ボードで学ぶ Verilog
0.8
Winding current [A]
1/7,オーム社(2003)
3
0.6
2
0.4
HDL , 7/12,CQ 出版社(2007)
Exciting voltage [V]
1
3) 見城尚志,菅原晟:ステッピングモータ
とマイコン制御,262/268,総合電子出
版社(1994)
1
0.2
0
20
10
0
30
Time [ms]
(c) Lead time 8ms
図 6 巻線電流と励磁パルス
Fig. 6
Winding current and exciting pulse
5
Fly UP