1.概要
ステッピングモータは、サーボモータのように複雑なフィードバック制御をしなくても、回転速度、停止位置など思い通りに制御できる便利なモータです。とは言っても、DCモータのように電源を接続しただけでは回ってはくれません。 ステッピングモータをちょこっと回せるものがあれば便利だと思い、ステッピングモータのドライバ回路製作してみました。回転させるための2つのボタン(CWとCCW)と回転速度を設定するボリューム1つだけの簡単操作です。
2.仕様
・モータ : 2相ステッピングモータ用
・巻線形式 : バイポーラ/ユニポーラ両用(自動判別)
・駆動方式 : 2−2励磁(フルステップ)
・回転速度 : 60〜500pps
・制御方式 : 定電圧駆動
・重量 : 51g
・動作電圧 : 5〜24V
・最大電流 : 1.5A/相
・ケース外形 : 75*50*20(縦*横*高さ)
3.回路図
4.部品表
品名 | 品番 | 仕様 | メーカー | |
IC1 | 3端子レギュレータ | TA78L005AP | 5V/150mA | 東芝 |
IC2 | マイコン | ATtiny26L | . | ATMEL |
Q1 | 抵抗内臓トランジスタ | RN1202 | . | 東芝 |
Q2 | 抵抗内臓トランジスタ | RN1202 | . | 東芝 |
Q3 | 抵抗内臓トランジスタ | RN1202 | . | 東芝 |
Q4 | 抵抗内臓トランジスタ | RN1202 | . | 東芝 |
Q5 | 抵抗内臓トランジスタ | RN1202 | . | 東芝 |
Q6 | 抵抗内臓トランジスタ | RN1202 | . | 東芝 |
Q7 | 抵抗内臓トランジスタ | RN1202 | . | 東芝 |
Q8 | 抵抗内臓トランジスタ | RN1202 | . | 東芝 |
Q9 | 抵抗内臓トランジスタ | RN1202 | . | 東芝 |
Q10 | FET | 2SJ377 | . | 東芝 |
Q11 | FET | 2SJ377 | . | 東芝 |
Q12 | FET | 2SJ377 | . | 東芝 |
Q13 | FET | 2SJ377 | . | 東芝 |
Q14 | FET | 2SK974L | . | 日立 |
Q15 | FET | 2SK974L | . | 日立 |
Q16 | FET | 2SK974L | . | 日立 |
Q17 | FET | 2SK974L | . | 日立 |
ZD1 | ツェナーダイオード | HZ18-3-E | 18V | ルネサステクノロジ |
ZD2 | ツェナーダイオード | HZ18-3-E | 18V | ルネサステクノロジ |
ZD3 | ツェナーダイオード | HZ18-3-E | 18V | ルネサステクノロジ |
ZD4 | ツェナーダイオード | HZ18-3-E | 18V | ルネサステクノロジ |
C1 | セラミックコンデンサ | . | 0.1uF | . |
C2 | セラミックコンデンサ | . | 0.1uF | . |
C3 | セラミックコンデンサ | . | 0.1uF | . |
C4 | セラミックコンデンサ | . | 0.1uF | . |
C5 | セラミックコンデンサ | . | 0.1uF | . |
C6 | セラミックコンデンサ | . | 0.1uF | . |
C7 | アルミ電解コンデンサ | . | 100uF/35V | . |
C8 | アルミ電解コンデンサ | . | 100uF/10V | . |
R1 | 抵抗 | . | 47kΩ | . |
R2 | 抵抗 | . | 10kΩ | . |
R3 | 抵抗 | . | 10kΩ | . |
R4 | 抵抗 | . | 10kΩ | . |
R5 | 抵抗 | . | 10kΩ | . |
R6 | 抵抗 | . | 10kΩ | . |
R7 | 抵抗 | . | 1kΩ | . |
R8 | 抵抗 | . | 1kΩ | . |
R9 | 抵抗 | . | 1kΩ | . |
R10 | 抵抗 | . | 1kΩ | . |
R11 | 抵抗 | . | 1kΩ | . |
R12 | 抵抗 | . | 1kΩ | . |
R13 | 抵抗 | . | 1kΩ | . |
R14 | 抵抗 | . | 1kΩ | . |
R15 | 抵抗 | . | 100Ω | . |
R16 | 抵抗 | . | 100Ω | . |
R17 | 抵抗 | . | 100Ω | . |
R18 | 抵抗 | . | 100Ω | . |
VR1 | 可変抵抗 | . | 10kΩB | . |
PS1 | ポリスイッチ | REUF300 | 3A | レイケム |
端子台 | . | . | 7端子 | . |
5.回路の説明
簡易的にステッピングモータをドライブするための回路です。
モータの回転数は、VR1で設定します。モータのパルスレートは、約60〜500ppsの間で設定可能です。
スイッチCW、又はCCWを押すと押している間だけ、CW、又はCCW方向にモータが回転します。
ステッピングモータには、巻き線の違いでバイポーラとユニポーラがあり、通常はドライブ回路が異なるのですが、どちらのタイプでもドライブできるようにしました。電源投入時にR1,R2を介して電源電圧を検出し、COMが接続されているかを判断することで、バイポーラ/ユニポーラを自動的に判断します。
駆動方式は、回路が簡単な定電圧駆動方式としました。定電圧駆動方式では、モータが停止している時、電流が多く流れるため、モータが発熱します。これを防ぐために、モータ停止時には、モータに流れる電流をデューティ50%でチョッピングするようにしてあります。
市販のステッピングモータは、ほとんどPMタイプかHBタイプですが、駆動に関してはどちらも同じです。
6.マイコンプログラム
自作する方は、マイコンにプログラムを書き込む必要があります。
下記ファイルをダウンロードして、解凍後にできるpd1000.hexというファイルをマイコンに書き込んで下さい。
書き込みを行う際に、プログラムメモリの最終番地(0x1FC)のローバイトに1MHzのOSCキャリブレーションデータを書き込んで下さい。
pd1000.zip
設定
・FUSE bit high (11100110B)
・FUSE bit low (11100001B)
RSTDISBL:0
SPIEN:0
EESAVE:1
BODLEVEL:1
BODEN:0
PLLCK:1
CKOPT:1
SUT1:1
SUT0:0
CKSEL3:0
CKSEL2:0
CKSEL1:0
CKSEL0:1
・LOCK bit (11111111B)
LB1:1
LB2:1
7.使い方
ステッピングモータのA相、B相、COM(ユニポーラの場合)、電源を接続します。ユニポーラでCOMが2本出ているモータは2本とものCOMに接続します。
制御回路の電源は、モータ電源から供給されます。電源電圧は、通常はモータの定格電圧とします。
ボリューム(VR1)で回転速度を設定したら、CW(時計回り)、又はCCW(反時計回り)のスイッチを押すとモータが設定された回転数で回ります。
8.ステッピングモータの配線について
ステッピングモータは、普通のDCモータと違い、1つのモータから多くの電線が出ているので、仕様書がないと、いったいどれが何の線なのかわかりません。
そこで、手元に仕様書が無い場合の配線の見分け方について説明します。
普通に使っているステッピングモータは、2相モータがほとんどですので、2相モータであることを前提とします。
2相ステッピングモータを巻き線の違いで、バイポーラとユニポーラに分けられます。
見分けるには、まず電線の数に注目します。
モータから出ている電線が4本であればバイポーラ、電線の本数が5本の場合はユニポーラ(タイプU)、6本の場合はユニポーラ(タイプT)です。(図1参照)
@バイポーラの場合
テスターを使って巻き線抵抗を測定すると、A相とB相の間は導通がありませんから、導通がある2本をそれぞれA相、B相と仮決めします。(図1参照)
巻き線のA相、B相とは、便宜上決めているだけなので、仮に本来のA相とB相が反対であっても構いません。
あとは、Aと(Aバー)、Bと(Bバー)を調べるのですが、これを調べるには、とりあえず仮決めしてドライバ回路に接続して、モータを回してみます。必ずモータは回る筈です。ただ、思っていたのと回転方向が反対の場合があります。この場合、Aと(Aバー)の線を入れ替えれば回転方向は反転します。つまり、仮決めしたAと(Aバー)が反対だったわけです。
Aユニポーラ(タイプT)の場合
6本の電線をA相の3本、B相の3本に分けます。A相、B相間は導通がありませんから、テスターで導通を調べればすぐに分かります。次にこの3本のうちどれがCOMかを調べればよい訳です。今度はテスターを使って巻き線の抵抗値を測定します。COMは、それぞれの巻き線の中点から出ていますので、抵抗値を測定すれば、どれがCOMか推測できます。あとは、@のバイポーラの時と同じやり方で、配線を決定することが出来ます。
Bユニポーラ(タイプU)の場合
モータから5本の電線が出ている場合はユニポーラですが、このケースが一番厄介です。
まず、COMがどれかを決めます。COMを仮決めし、テスターを抵抗測定レンジにして、COMと他の線間の抵抗値を測定します。他の線は4本ありますから、4回測定することになります。測定した4つの抵抗値がすべて同程度の値であれば、仮決めしたCOMが正しかったことになります。違っていれば、COMを違う線にしてみます。最悪でもこの操作を5回繰り返せば、COMを特定できるわけです。COMが決まったら、あとは残りの4本ですが、これは、各相の中点がつながっているので、テスターで抵抗値を測定してもわかりません。そこで、4本の電線をAと(Aバー)、Bと(Bバー)と仮決めしドライバ回路に接続して、モータを回してみます。モータが回ればしめたものです。A相とB相は合っていたのです。不幸にして、ガタガタと振動するだけでモータが回らなかった場合は、仮決めしたA相とB相が間違っていたのです。そこで、仮決めしたAとBを入れ替えてみます。今度はモータが回る筈です。あとは、回転方向を合わせれば、OKです。回転方向の合わせ方は、@のバイポーラで説明したのと同じです。
図1