回路を設計した経緯はコチラ
前振りが長くなってしまったので分割しました。
回路図
まずは必要最小限の構成です。
4つすべてをNchFETで構成してます。ハイサイドのFETを動作させるためIR2302を使用したブートストラップ回路を組んでます。
SD(シャットダウン)端子は内部ブルアップされているので何もしなくて大丈夫です。
この回路でモータ1つを駆動させるにはPWM端子が2つ必要となります。
頑張ればこれくらいには小さくできます。
回路を小さくするコツはコチラを参考に・・・
サンプルプログラム
お手軽にArduino UNOを使用しました。
動作確認用です。とりあえず動いたら関数化なり機能追加なりしてくだせい。
動作確認
回路図の端子を以下のArduino端子に接続します。
- PWM1:9番ピン
- PWM2:10番ピン
- VCC:5V
- VDD:5V
- 電源をACアダプタなどから供給しているなら、ACアダプタの+端子に接続してもよい
- GND:GND
Arduinoにプログラムを書き込めば、モータが1秒ごとに正転→停止→逆転→停止→正転・・・の動作をします。
動作仕様
一応解説的なものを書いておきます。
ブートストラップ回路について
詳しい説明は省きますが、この回路によってハイサイドにNchのFETを使用できます。ただし、100%出力はできなくなります。
プログラムについて
ブートストラップ回路の制約でコンデンサのチャージ時間が必要となります。PWMでLOWを確保してください。サンプルプログラムでは最大出力254としています。
ロジックは以下の通りです。
PWM1 | PWM2 | 出力 |
0 | 0 | ブレーキ |
0 | 1 | 逆転 |
1 | 0 | 正転 |
1 | 1 | ブレーキ |
ハイサイドのブレーキは非推奨です。OFF時間が必要なためローサイドのブレーキより効果が薄いです。
FETについて
用途別にお好みのものをお選びください。NchのパワーMOSFETなら問題なく動作すると思われます。私はEKI04047を使用しました。
許容電流80Aもあれば十分だと思ったのでこれにしました。
デッドタイムについて
IR2302には自動的に540nsのデッドタイムを挿入してくれます。なのでこちらで対策する必要はありません。
おわりに
今回紹介したものは動作させる必要最低限の構成です。これ以上のもの(SD端子入力、フォトカプラ等)は各自追加していってください。
コメント
ゲート抵抗の計算をどのようにしたか?教えてください。
ゲート抵抗は基本的に10~1kΩの抵抗を適当に入れておけば動作するので計算はしていません。
計算から求めたい場合は
ゲート電圧 / ゲート電流 = ゲート抵抗
で求めることができ、ゲート電流は
ゲート入力容量 / 立ち上がり時間 = ゲート電流
から求まります。
サンプルコードでは0v、5vのみ加えていますが、analogWrite関数の第2引数に与える数字を変更すれば(PWMのデューティ比を変更すれば)こちらの回路でDCモーターのスピードコントロールは可能なのでしょうか?
はい、この回路でスピードコントロールは可能です。
ただし、このサンプルコードを使用する場合は第2引数を0~254の範囲で使用してください。
255(100%出力)は正常に動作しないと思われます。
モータードライバのほうが便利ですが、損失が大きいのばっかりで、意外と使えるやつないんですよね。
ぼくも初めてライントレースカー作ったとき、T芝の有名なTP○○を使ったんですが、
入力に9Vボタン電池を使うと、 (9-Vout)×Iout 分、丸々損失食って、たかが 500mA なのに激熱でしたよ。
状況が分からないので正確なことは不明ですが、定格内で扱っていても発熱するようであれば使い方を間違っている可能性が非常に高いです。
キャパシタのチャージ時間は最短でどのくらい必要ですか?
また、その部分は本プログラムですと、どの部分に当たりますか?
Q:キャパシタのチャージ時間は最短でどのくらい必要ですか?
A:チャージ時間はpwm周期の1%程度確保すれば十分です。
Q:また、その部分は本プログラムですと、どの部分に当たりますか?
A:16行目、および24行目の第2引数【254】が該当します。
このプログラムの場合チャージ時間は 1-(254/255)=0.4%となっています。
>定格内で扱っていても発熱する
発熱はすると思いますが(だから放熱するのでは)
すみません、言葉足らずでした。
>たかが 500mA なのに激熱でしたよ。
とありましたので
【定格内で扱っていても異常に発熱するようであれば~】
の意味となります。
数十アンペアも流すような巨大ヒートシンク付きモータードライバとかならともかく、500mA程度で激熱になるのでは回路が短絡している可能性が高いと思っています。
(TPシリーズで間違った使い方をして燃やしてしまった事例をよく聞きます)
申し訳ございません。そのとおりです。大昔(工作初心者)のことなので、おそらく短絡させてたんでしょうね。
ハイサイド側のRgsとコンデンサを,GNDに接続しても問題ありませんか?
未確認のため断言できませんが、基準電位がGNDに落ちてしまうため正常な動作はしないと思われます。
回路図にある10kΩの抵抗にはどのような意味があるのでしょうか?
通常のトランジスタと同じ使い方です