見出し画像

ESP32で高電圧を操る!MOSFETを使った24V機器制御①【設計とシミュレーション編】

ESP32をPLC(工場の機械や設備をコントロールするための制御機器)の代わりとしても使えないかといつも考えていますが、ESP32のGPIOピン出力は「3.3Vであり、また1ピンあたり最大12mA(推奨6mA以下)、全ピン合計で最大400mA」と非常に小さく、直接DCモータを回すとか、電磁弁を操作することはできません。
今回は、高電圧は言いすぎですがMOSFETを使った24V電磁弁の制御方法を検討してみました。
MOSFETって昔はモス・エフイーティーと呼んでいたと思いますが、最近はモス・フェットって呼ぶんですかね?MOSFETのTシャツを着たユーチューバーも有名ですよね(いつも見てしまいます(笑))。



Ⅰ.MOSFETとは

この部品を一言で言うと「電気で動かす、超高速・大容量のスイッチ」です。
MOSFETには基本的に3本の足(端子)があり、水道の蛇口に例えるとイメージしやすいです。

  • ゲート(Gate): スイッチの「カチッ」と押す部分(水道のハンドル)。ここに電圧をかけることで、スイッチがONになります。

  • ドレイン(Drain): 電流が流れ込んでくる入り口(水道の元栓側)。

  • ソース(Source): 電流が流れ出ていく出口(水道の蛇口の口)。


Ⅱ.今回やったこと

  • ESP32のGPIOからMOSFETを制御するための回路を設計しました。

  • KiCadのシミュレーション機能を使い動作を解析しました。


Ⅲ.部品の選定

1.電磁弁

電磁弁とは電気の力で液体や気体を開閉できるバルブで、水や空気などの流れを制御する機器です。家庭でも洗濯機や食洗機、手の動きで開閉できる蛇口などに使用されていますが、工場だと数え切れないほど使用されています。
電磁弁はLEDなどと比べて消費電力が非常に大きいのでESP32から直接動作させることができません。今回は、流体圧制御機器メーカとして信頼がおけるSMCの電磁弁「直動形2ポートソレノイドバルブ VX21・22・23シリーズ」圧空用のVX210AFを選定しました。

図1.電磁弁

2.MOSFET

実回路を作って検証したいと思っていますのでリード部品THD(Through-Hole Device)から探し、連続ドレイン電流 (Id)が62Aまで流せるIRLB8721(TO-220パッケージ)を選定しました。
最初は、BS170(TO-92パッケージ)を選定していたのですが、設計の終盤でチャッピーが「発熱が...」と言い出したので変更しました。
そもそも、MOSFETって放熱板がついているものだと思っていたのですが、電子工作で有名な2SC1815みたいなパッケージのやつもあるんですね。

図2.TO-220(IRLB8721)とTO-92(BS170)の形状

IRLB8721とBS170の違いをチャッピーにまとめてもらいました(表1)。下から2項目の「3.3V駆動時のオン抵抗」ですが、個体差もあるけどBS170は完全にONにならないこともあるようです。今回はIRLB8721の方が向いてるみたいですね。

表1.IRLB8721とBS170の違い

Ⅳ.回路の設計

回路は図3のように設計しました。

図3.回路設計

Ⅴ.KiCadを使ったシミュレーション

1.回路図エディタで回路を作成

図4.回路図エディタを立ち上げシンボル(部品)を配置

新しいプロジェクトを作成したら、回路図エディタを開きシンボルを配置します。シンボルはエディタ右側のアイコン(上から3つ目のオペアンプのアイコン)もしくはキーボードのショートカット「A」で開いた画面から選ぶことができます。
抵抗は「R」、LEDは「LED」、ダイオードは「D」で検索するのが簡単です。D1の「1N4007」はチャッピー曰く、「電子工作の世界において、もっとも有名で、もっとも広く使われている整流用ダイオードの超定番品」とのことでした。
電磁弁のシンボルはありませんので、ElectromagneticActor(電動アクチュエータ)と直列に抵抗を配置し代替します。
MOSFETはIRLB8721で検索したらIRLB8721PBFというのが見つかりました。末尾の「PBF」は鉛フリー(Lead-Free)という意味らしいのでこれで合っているようです。
電磁弁の動作用に使用する24V電源はVDCで検索し、Simulation _SPICEの下にあるVDC(Voltage source, DC)を選定。
ESP32はないので、ESP32からの3.3VをON/OFF出力できるVPULSEを選択しました。

2.各シンボルの値を設定

図5.シンボルの値入力後の回路図

(1)各抵抗:
シンボルのダブルクリックで「シンボルのプロパティ」を開き、値の欄に抵抗値を入力します。2.2KΩの場合2200でも2.2kでも大丈夫です。

図6.抵抗の値入力

(2)ESP32の代わりとして配置したパルス:
配置した VPULSE をダブルクリックし「シンボルのプロパティ」を開くと、下の方に[シミュレーションモデル…] のボタンがありますので、それを押して以下の数値を入力します。

  • Initial value(初期値): 0(V)

  • Pulsed value(パルス値): 3.3(V)

  • Delay(遅延時間): 2n(s)

  • Rise time(立ち上がり時間): 2n(s)

  • Fall time(立ち下がり時間): 2n(s)

  • Pulse width(パルス幅): 1 m(1ミリ秒間 ONにする場合)

  • Period(周期): 2m(2ミリ秒ごとに繰り返す場合、500Hz相当)

(3)ElectromagneticActor:
電磁弁の一般的な小型電磁弁の場合、100mH〜500mH 程度になるようです。まずは 200mH 程度で設定して、波形の「なまり」具合を見られればと思います。
VPULSEと同様に[シミュレーションモデル…] のボタンを押し、内蔵のSPICEモデルでInductorを選び、下の表部分に200mを入力します(図7)。

図7.ElectromagneticActorの値入力

ElectromagneticActorに直列接続する抵抗は下の式から128Ωとしています。
電磁弁の定格電圧:24V
消費電力(P):4.5W

$$
\large
\begin{array}{l}
P = \frac{V^2}{R} \
\to R = \frac{V^2}{P} = \frac{24^2}{4.5} \approx 128 \Omega
\end{array}
$$

(4)VDC:
シンボルをダブルクリックし、値のところに24を入力します。

(5)IRLB8721PBF:
シンボルをダブルクリックでプロパティを開き、[シミュレーションモデル…] のボタンを押してシミュレーションモデルエディターを開きます。デバイスで「N-channel MOSFET」を選択します。
ここからちょっとハマったのですが、なぜかピン割り当てが「シンボルのピン」と「モデルのピン」とでズレていました。そこで、図8のように修正しました。

図8.IRLB8721PBFのピン割り当て

Ⅵ.シミュレーション

ここまでで準備は終わりましたので、実際にシミュレーションしてみます。
回路図エディタ-の上の方にある「シミュレーター」ボタンを押します。

図9.シミュレーターの起動

回路図のアノテーションが必要という画面が表示されたら、右下のアノテーションボタンを押下しアノテーションします。アノテーションとは回路図に配置した部品に、『R1』『C1』のような重複のない固有の番号(リファレンス)を自動で一括して割り振る機能です。

図10.アノテーション

アノテーションを実施するとSPICEシミュレーターの画面が開きますので、「新しい解析タブ…」ボタンを押下します。

図11.新しい解析タブ

解析タイプに「TRANー過渡応答解析」を選択し、時間ステップに0.1m秒、最終時間に10m秒を入力し「OK」ボタンを押します。(過渡応答解析:時間が経つにつれて電圧がどう変化するかの解析)

図12.シミュレーションタイプ

それでは実行してみます。シミュレーター上にある再生ボタンのような「シミュレーションを実行」ボタンを押下します。

図13.シミュレーションの実行

次に回路上の解析する位置を選択します。シミュレーター画面の右側に表示されている接続点から選んでもいいですが、慣れてないと記載の内容がよく分からないので画面の上にあるアイコン「回路図からプローブ…」を押下し、回路図から解析位置を選択するのが簡単です。

図14.解析位置の選択方法

MOSFETのゲート(紫)とドレイン(青)の電圧を選択しました。ESP32を想定した3.3Vがゲートに入力されると、ドレインが0Vまで落ちます。このことから電磁弁両端の電位差により電磁弁が作動します。
思っていた回路を設計することができました。

図15.ゲート入力電圧とドレイン電圧

電磁弁を1ミリ秒でON/OFFさせるというのはありえないので、1秒ごとにON/OFFするように変更してみます。
①回路図エディタのVPULSE:
・Pulse width: 1m → 1
・Period: 2m → 2
②シミュレーターの解析タブを編集
・時間ステップ:0.1m → 0.01
・最終時間:10m → 10

その結果が図16です。電磁弁がOFFのときに24Vに張り付くと思っていましたが電圧のバタつきを起こしています。実際の回路でもこうなるのかチャッピーに聞いてみたところ、「実際の回路でも発生しますが、ここまで綺麗なオン・オフ(17V〜25V付近の往復)にはならず、実物は高周波の鋭いサージや、異なる形の波形になる可能性が高いです」とのことです。
実際の回路は抵抗やコンデンサの成分などが追加されるから解析と同じようにはならないみたいですね。

図16.1秒周期に変更した解析結果

Ⅶ.結果

  • ESP32からの出力からMOSFETをON/OFFする回路を設計しました。

  • KiCadを使用した回路シミュレーションに成功しました。

  • 1秒周期でON/OFFを繰り返す条件でシミュレーションしたところ電圧のバタつきが発生しており、今後実回路を作りシミュレーションとの違いを確認したいと思います。

実回路を製作し試してみましたので、こちらの記事も是非ご覧いただけると幸いです。


いいなと思ったら応援しよう!