2014年10月1日水曜日

ArduinoとBD6212を用いた130モータの回転制御

どうも、Spy-Penguinです。
夏休み中は教習所に行っていたので忙しく、久々の投稿となります。

今回はBD6212をArduinoでどのように使うのかを解説したいと思います。



☆使用するもの

  • Arduino Uno
  • BD6212搭載基板→ こちら
  • ブレットボード
  • ジャンパ
  • DC5V(5V 3A)
  • USBケーブル(Arduino用)

  • まず、BD6212を袋から開け、付属しているピンヘッダを半田付けします。

    袋はシーラで溶接されているのではさみなどで切って開けてください。


    袋から開けるとピンヘッダとBD6212搭載基板と紹介?の紙が入っています。

    ピンヘッダを半田づけして、今回はVrefを使用しないのでショートランドに半田を盛ってください。
    基板の準備は完了です。(写真ではまだ盛ってません)


    ブレットボード・Arduino・DCジャックをこのようにとりつけます。(DCジャックの極に注意)
    ブレットボードの中央に差し込みます。
    Arduinoから5Vをとると、電流が足りず、モータが回りません。




    そして、USBでPCとArduinoを接続し、Arduinoのプログラムを書きます!

    ◎右回転、停止、左回転、停止のプログラム 
    #define FIN_PIN 5 //PIN5--FIN
    #define RIN_PIN 6 //PIN6--RIN
     
    // 初期化
    void setup(){
     
      // FIN/RINのピンを出力に
      pinMode(FIN_PIN, OUTPUT); 
      pinMode(RIN_PIN, OUTPUT); 
     
      }
     
      // メインループ
      void loop() {
     
        //PWM波によって擬似的に3VをモータドライバのOUTピンから出力
        // analogWrite(出力ポート番号, 出力値);
        //今回は130モータ(3V)を動かしているので出力値を最大の255にしてしまうと
        //出力が5Vになってしまいモータが焼けてしまう。
        //なので、85にすることで出力端子が3Vになるようにしている
    
         analogWrite(FIN_PIN,85); 
         analogWrite(RIN_PIN,0);
     
         delay(2000);
        
         analogWrite(FIN_PIN,0); 
         analogWrite(RIN_PIN,0);
        
         delay(2000);
     
         analogWrite(RIN_PIN, 85);
         analogWrite(FIN_PIN,0);
       
         delay(2000);
         
         analogWrite(FIN_PIN,0); 
         analogWrite(RIN_PIN,0);
        
         delay(2000);
     
    }
    
    初期化後、2秒右回転、2秒停止、2秒左回転、2秒停止を繰り返すプログラムです。
    停止を入れずに右左を繰り返すとICが発熱し死亡するので注意してください。

    アナログ出力の値は、5Vで130モータを回す場合 最大値を85にすることをお勧めします。

0 件のコメント:

コメントを投稿