MD動くかなチャレンジ2019
💪

MD動くかなチャレンジ2019

Tags
雑記
MD動くかなチャレンジ
Published
August 24, 2019
夏休みといえばMD動くかなチャレンジですね!!去年もしたのでもうこれは恒例行事ですね。
(MDはMotor Driverの略です)
今回のMDはこちらです。

VNH2SP30

notion image
STマイクロ製のモータードライバーを使ったモータードライバモジュールです。
ロボカッパーならみんな知っているであろうダイセン電子工業で売っている4CHモーターコントローラーに乗っているICと同じです。僕の買った購入元はこちらです

MDのスペック

  • 動作電圧:直流5.5V~16V
  • 駆動電流(連続):最大14A
  • 駆動電流(ピーク):最大30A
  • PWM制御の周波数:最大20kHz
  • 電源逆接続保護回路
モータードライバVNH2SP30(最大14A、電流センサ内蔵)--販売終了 - スイッチサイエンス
置き換え品として VNH5019搭載モータードライバ が推奨されています。 米国Pololu社が製造するモータードライバモジュールです。いわゆるHブリッジにより、モーターの回転方向と回転速度を制御します。STマイクロ社のVNH2SP30チップを使用しています。回路は、チップのデータシートにある回路とほぼ同じ。電源逆接続でモジュールが壊れるのを防ぐ保護回路を搭載しています。端子台2個とピンヘッダが付属します(必要に応じてハンダ付けしてください)。 VNH3SP30 と同一形状ですが、駆動電流が9Aから14Aに増強されています。また、電流センサを内蔵していて、駆動電流に応じた電圧がCSピンに出力されます。 ・Pololu社型番:MD01B ・制御できるモーターの数:1個 ・動作電圧:直流5.5V~16V ・駆動電流(連続):最大14A ・駆動電流(ピーク):最大30A ・PWM制御の周波数:最大20kHz ・電源逆接続保護回路 ・大きさ:38mm×30mm 販売元の販売ページ: http://www.pololu.com/... 販売元希望小売価格:34.95ドル(消費税別) 名前 モータードライバVNH2SP30(最大14A、電流センサ内蔵)--販売終了 コード番号 POLOLU-706 SKU# 233 送料区分 200 税込単価 4,609 円 この商品は販売を終了しました。 短縮URL ssci.to/233 公開日 2013年6月以前
モータードライバVNH2SP30(最大14A、電流センサ内蔵)--販売終了 - スイッチサイエンス
基本的にモーターを動かすなら十分な性能をしています。
一時ロボカップ界隈で中華VNHが流行りました。2016年のSSSというチームの人がこれを使って安くロボットを作ったからです。中華MDは中華と付くくらいなので安いけど性能はイマイチ と言ったところです。
今回試すのは中華VNHなのですが、最近Twitterで情報収集をしていたところこの中華VNH基板を買ったらほとんどが使えないゴミが届いたというような報告を散見していました。
ちょっとビビりました。
僕もこのMDを使って大会に参加しましたが、このようなことはなかったので多分大丈夫だろと思って購入しました。上に僕が買ったショップのリンクがあります。

検証。実際どうなのか

Aliexpressで注文してから約2週間で到着しました。Chinapostで注文しました。いつも通りです。
他にも色々注文しました。お小遣いで買っているので使う分の4つしかMDは買っていません。
notion image

開封

一枚だけ基板の色(レジスト)色が違います。右のやつですね。
notion image

プログラム

久しぶりにVNH2SP30を動かすことになったのでマイコンに書き込むためのプログラムを用意しなければなりません。自分で描いたやつがあるはずなのに見当たらなかったのでプログラムを即席で作りました。
mbed用です。
書き換えればArduinoとかでもなんでも動きますね。即席で作ったので汚いかもしれません。
#include "mbed.h" Serial pc(USBTX,USBRX); PwmOut PWM(D15); DigitalOut INA(D14); DigitalOut INB(D12); void turnMotor(float power){ //power:-100 to 100 if(power > 100) { power = 100; }else if(power < –100) { power = –100; } if(abs(power) > 0) { if(power > 0) { INA.write(1); INB.write(0); }else{ INA.write(0); INB.write(1); } }else{ INA = 1; INB = 1; } PWM.write(abs(power)/100); } int main(){ pc.baud(230400); PWM.period_us(50); while (1) { for (int i = –100; i < 100; i++) { turnMotor(i); wait_ms(8); } for (int i = 100; i > –100; i–) { turnMotor(i); wait_ms(8); } } }
一個ずつ動くか試したのですが、一個も動いてくれませんでした。
notion image
MD動くかなチャレンジ失敗です!!
4つともゴミ箱に投げ込むのはなんか気が引けたので半田付けし直して見ることにしました。
VNH2SP30のデータシートを見てみるとICの裏にモーター出力パッドがあるんですね。
notion image
裏に端子があるひょっとして浮いているのではないかと思い、ヒートガンで温めてみました。
そのあとにICの端子にハンダを上から盛りました。表面実装は少し慣れているのでなんとか、。。
動画ですが、埋め込みに対応していないようなのでTwitterでこのツイートを見ていただけるとちゃんと見られるはずです。
これを全部したら全部復活しました。
MD動くかなチャレンジ成功です!!
もし動かないことがあれば半田付けをしなおせば治るかもしれませんね。今年も新しいMD基板を作る予定なので冬にもう一度MD動くかなチャレンジをしたいと思います。