夏休み中は教習所に行っていたので忙しく、久々の投稿となります。
今回は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 件のコメント:
コメントを投稿