今日はESP32でモーターを駆動させます。今回は主にトランジスタの使い方の紹介になります。ESP32の購入などはこちらの記事で紹介しています。動いている様子トランジスタの使い方トランジスタはご存知でしょうか。半導体で難しそうと思うかもしれません。簡単に言ってしまえば電気で動くスイッチです。これがすべての本質です。今回使うトランジスタを見てみましょう。60V150mA秋月電子様のホームページより3本足が生えていますね。これを回路図で書くとこうなります。これは、実質下のスイッチと同じです。ベースに電圧をかけることで、スイッチが押されてコレクタ-エミッタと呼ばれる2つの足が導通します。使い方としてはこうです。コレクタの先にモーターなどをつなぐエミッタを電源のー(GND)に繋ぐベースをマイコンのピンに繋ぐこれで、マイコンのピンをHIGH,LOWにするだけでスイッチングできます。トランジスタを使う必要があるのか?ただしこれだけではトランジスタを使う理由にはなりません。マイコンのピンに直列でモーターをつないだ方が早いですよね...??ですが、マイコンのピンには電流制限があります。定格電流というものですね。今回使用するESP32の1つのピンから出せる電流の最大値は現在のところ40mAです。この程度の電流ではモーターは回せません。そこで、トランジスタの増幅作用を使います。増幅作用とは、小さな電流で大きな電流を制御できるというもの。今回使う2sc1815というトランジスタのデータシートによればhFE(電流増幅率)が100程度。これはつまりベースに1mAかければコレクタ-エミッタ間に100mA流せるということになります。回路で書くとこうです。面倒だったのでESP02の方を使ってしまいました。ESP32、02ではピンの電圧が3.3Vになっています。IO4がHIGHの時、ベースに流れ込む電流は3.3kΩの抵抗を挟んだ場合、1mAになりますね。これを流すだけで、モーターが繋がっている方の回路の100mAをオンにできます。少ない電流で大きな電流をオンオフできることから増幅作用と呼ばれています。100mAに制限している理由は、2SC1815の定格があるためです。データシートの各定格値を見てみましょう。コレクタ電流を見てください。150mA以上はこのトランジスタには流せないようです。モーターの抵抗値が分からない場合は、トランジスタを守るためにあえて高い抵抗を挟んで電流を制限しましょう。ベース電流も要注意です。ベース電流はマイコンから出てくる電流で、上図では1mAしかないのでOK。間に抵抗を挟み忘れるとそのままGNDに繋がっているので50mAなどすぐに超えてトランジスタが燃えます。電流が流せるトランジスタはないのかこのトランジスタ2sc1815はパワーLED等の電子工作用途には最適で安価なためよく使われています。大きなモーターや光源用LEDでは当然150mAでは足りません。そのため、部品サイズは大きくなりますが様々な定格を持つトランジスタがあります。マイコンなどから制御する場合はFETというトランジスタの仲間がおすすめです。FETを使った記事も書きます。50V75AこちらのFETでは最大75Aもの電流を流せます。回路さて本題に戻りましょう。今回はESP32からモーターを動かすのが目標でした。大きなモーターは150mAでは回らなかったので、少し小さめのドローンに使われるようなモーターを駆動します。digitalWrite(26,LOW);}ただ26ピンを1秒おきにオンオフしているだけです。いわゆるLチカのモーター版でしょうか。最後にこのようにトランジスタを使えばマイコンから大電流が操作できます。それこそソリッドステートリレーを使えば、マイコンからAC100Vの電子機器のオンオフができます。これもいずれやりたいですね。twitterで新着記事が自動通知されるようになっているのでフォローしていただけると喜びます。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。支援のお願いサイト維持のため、ご支援をお願いします。Wellington.。