MAXUを使ったパルスモータ駆動(1相励磁)


 トランジスタ技術 2006年4月号付録基板のを使ってパルスモータを回してみました。

回路と構成

 構成は、次に示すように、発信器、制御回路、駆動回路、パルスモータです。
 発信器は「VFコンバータ(NJM4151D)を使った発振器]で作った物を。
 制御回路は VerilogーHDLで MAXU に2ビットのカウンタと2ビットto4出力のデコーダを組み込んでいます。4MHzの水晶発信器を付録基板に実装してMAXUのクロックにしています。
 駆動回路は N−CH FET(秋月電子で購入した NDS9936)と逆起電力吸収用に整流用ダイオードで電源に接続しています。
 パルスモータは、SANYOのFF−520(デジットで150円)です。添付の手書きの説明書には、DC5V〜12V 200Ωと規格とCMOSとダーリントントランジスタを使った回路があります。この回路を参考にさせて頂きました。有難う御座います。

 写真のように3つの基板に分かれています。付録基板の入出力はコネクタを付けてフラットケーブルで他の基板やスイッチと接続しています。フラットケーブルにはバイスを使ってコネクタを圧接しています。

















































 MAXUの中身

 2ビットのカウンタと2ビットto4出力のデコーダを 次のリストのようにVerilog-HDL で組み込んでいます。注意:下のリストはホームページ技術が未熟のためタブの代わりに日本語スペースを使っています。コンパイルに使ったソースはここに有ります

 1、コメント 「/* ステップモータ制御用カウンタとデコーダ */」の下が
   ・モジュール名と入出力のリスト
   ・入力信号を宣言 クロックと回転方向の信号を宣言
   ・出力信号を宣言 モータ制御の4つの出力を宣言
   ・内部で使うレジスタを宣言 2ビットのカウンタを宣言

 2、コメント 「/* 正逆回転制御の0始まりの4進カウンタ */」の下がカウンタです。
   ・always @( posedge ck ) begin〜end 間は順序回路で ck の立上りで動作します。
   ・if ( cw==0 ) で回転方向を調べます
   ・if ( ctr==3 ) で4進カウンタの終わりを調べ、終わりなら最初に戻します。
  逆回転は4進カウンタの終わりが違います。

 3、コメント 「/* フェーズ励磁デコーダ */」の下がデコーダです。
   ・function [3:0] dec;〜endfunctionは、C言語などと同じ関数で組合せ回路を
    記述します。ここでは、ケース文を使って引数のカウンタ値を正極性出力で
    デコードします。
   ・このfunction は、下のassign motor4p = dec( ctr );文で呼び出されます。
    引数はカウンタ値です。

*********************************************************

/* ステップモータ制御用カウンタとデコーダ */

module CtrDec( ck, cw ,motor4p );
input ck, cw;
output [3:0] motor4p;
reg [1:0] ctr;

/* 正逆回転制御の0始まりの4進カウンタ */
always @( posedge ck ) begin
  if ( cw==0 ) /* 正回転の場合 */
    if ( ctr==3 )
      ctr <= 0;
    else
      ctr <= ctr + 1;
  else if ( cw==1 ) /* 逆回転の場合 */
    if ( ctr==0 )
      ctr <= 3;
    else
      ctr <= ctr - 1;
end

/* フェーズ励磁デコーダ */
function [3:0] dec;
input [1:0] in;
  case( in )
    0: dec = 4'b0001;
    1: dec = 4'b0010;
    2: dec = 4'b0100;
    3: dec = 4'b1000;
  endcase
endfunction

assign motor4p = dec( ctr );

endmodule


パルスモータを回します


 発信器のパルスをカウンタでカウントして、デコードします。このデコードした信号を駆動回路で増幅してパルスモータを回します。
 次の波形は、パルスモータを回してる状態の各部の波形です。



MAXUの入出力波形


・下は、入力波形で45Hzのパルスです。

・上は、デコード出力の一つです。 
 2ビットカウンタでカウントし、
 その出力がデコードされています。












・二つのデコード出力です。
 位相がずれているが見えます。














駆動回路の入出力波形


・上は、デコード出力の一つです。 

・下は、駆動回路の出力波形です。
  レベルが12Vで、コイル駆動時の
  逆起電力による波形が見えます。










ホームへ戻る