第02回 モータードライバを作ってみた (その2)
こんにちは、アンディです。
社内ゼミ自体は週1で行っているのですが、2回目は注文していた部品が届かなかったので進捗がありませんでした。
今回は無事に部品が調達できたのでモータードライバ製作の続きをやっていきます。
第01回はこちらから
調達物品は以下の通りです。
前回は製作したモータードライバのMOSFETのゲートの先に直接電圧を加えて駆動させていました。しかしそれだと流石に駆動がアナログ過ぎるので、マイコンで動作させようと思います。
参考資料(つくろうモータードライバ)によるとMOSFETのゲートに印加する電圧は10V以上が良いらしいです。しかし一般的なマイコンでは10V以上の電圧の出力は難しいですね。そこで電圧を昇圧する方法で推奨されているブートストラップ回路を用います。
ブートストラップ回路はハイサイドとローサイドの中心の電位を基準にしてコンデンサに電荷を貯め、その電荷でハイサイドのMOSFETを駆動します。この回路をハーフブリッジドライバICを使って作った回路が図1と2になります。
まずICが駆動したときローサイドFETがONになると、ゲート電源がオレンジの矢印の経路で流れてコンデンサに電荷が貯まります。次にローサイドがOFFになると充電されたコンデンサの電圧がハイサイドFETのゲートに印加されます。このときモータに電流が流れて駆動します。
さっそく回路を組んでいきます。
今回調達したドライバIR2302はハーフブリッジ用なので、前回製作した回路を動かすには2つ必要です。あとはICの仕様書を読んで回路に繋げて、自分の宗派のマイコンを繋げれば完成です。今回はESP32を使用します。
プログラムを組んで動かしますが処理工程は簡単です。回転したい場合は片方のICにPWM信号を大きくインプットし、もう片方のICは0をインプットします。すると次の動画のようになります。
?? モーターの挙動がおかしいですね…
原因はコンデンサにありました。入力したPWM値ではコンデンサの容量が放電しきってしまって電圧が足りなくなるからでした。
この場合はコンデンサの容量を上げるかPWM値を下げて充電する期間を多くすることで回避できるとのこと。
ということでPWM値を下げて駆動してみます。
きれいに回転しました。このPWM値はコンデンサの容量などから計算することもできます。面倒な方はとりあえず下げれば動きます...
やっとモータードライバっぽくなってきました。今はまだブレッドボード上に回路があるので、次回はCNCルータで自前で基板を作っていこうと思います。
それでは。
参考資料