方言を話すおしゃべり猫型ロボット『ミーア』をリリースしました(こちらをクリック)

【ESP32】電源回路にラッチングスイッチを取り付ける

この記事は約5分で読めます。

現在、ENに接続しているタクトスイッチは、電源ON OFFではなく、リセットピンで、ボタンを押すと再起動になってしまう。

今回は、電源をオン/オフするスイッチを追加したい。

電源ラインに物理的な切り替えスイッチを挿入する必要がある。

どうやって基板に電源スイッチを取り付けるのか?

アロマディフューザーを分解

疑問だったのが、基板を筐体の底面に対して、水平もしくは垂直に取り付けたとして、電源ボタンを同じ基板上でどのように取り付けたら筐体の外側に物理的な電源ボタンとして表示できるのかということ。

電源ボタンのみ別回路に切り離す必要があるのかなどと考えていた。

手元にあったアロマディフューザーを分解してみた。ちなみに、このアロマディフューザー、3000円弱とお手頃価格で、かつ、小型で場所を取らずにとても重宝している。

分解してみて、なるほどと感じたのが、基板に対して垂直にスイッチボタンを取り付けているのかと。

このアロマディフューザーの場合には、スイッチボタンに対向する感じでプラスチックのボタンを取り付けて、ユーザーが外側から押したらスイッチボタンが押されるようになっている。

というわけで、基板に対して垂直にボタンを取り付ければ良いということがわかった。

垂直マウントできるラッチングスイッチを探す

あとは、押しボタンに関してだが、今回は一回押したら電源ONの状態を維持してほしい。一般的なタクトスイッチだと、ボタンを押した時に一瞬電源ONになるが、その後は電源OFFになってしまう。

どうしたら実装できるかと調べていたら、「ラッチ型押しボタン」というのがあることがわかった。

「ラッチング」という言葉は、物理的な掛け金(ラッチ)がかかることからきている。れは、スイッチを押すと掛け金がかかり、その状態が次に操作するまで保持されるという概念。

ラッチングスイッチを一度押すと、そのスイッチは押された状態(ON)を保持し、電流を流し続ける。スイッチを再度押すと、スイッチは元の状態(OFF)に戻り、電流を遮断する。

というわけで、基板に対して垂直に取り付けることができる、ラッチングスイッチをLCSCサイトで探す。moutingの項目で、straightではなくlyingを選択して、基板に対して垂直取り付けになるタイプを探す。

今回は、こちらのラッチングスイッチを使用することにした。

TK-6580B-1 Yuandi | C2689829 - LCSC Electronics
TK-6580B-1 Yuandi

https://www.lcsc.com/product-detail/Push-Switches_Yuandi-TK-6580B-1_C2689829.html

.1687 - LATCHING Horizontal Plug Single Pole Double Throw (SPDT) 180gf Plugin Pushbutton Switches RO...

ちなみに、一般的なトグルスイッチにトランジスタを加味して、ラッチ回路(自己保持回路)を作成することもできる。詳細はこちら。今回は機械的なラッチングボタンで対応するが。

ラッチ回路(自己保持回路)とは?トランジスタを使用した回路と動作について
ラッチ回路(自己保持回路)とは一度スイッチをオンしたら、そのスイッチをオフしてもオン状態を保持する回路のことです。 今回はNPNトランジスタとPNPトランジスタの2つを使用したラッチ回路について説明し

ラッチングスイッチを使用してLDOをON/OFF制御

今回選択したラッチングボタンのデータシートはこちら。pinoutが記載されていなくて困る。回路図のの記載からは、それぞれのpinoutはおそらく下記。

  • ピン1:NC(noramally closed)。デフォルトでピン2と接続。
  • ピン2:COM(common)。共通端子として機能しており、スイッチoffではピン1と接続し、スイッチonでピン3と接続に切り替わる。
  • ピン3:NO(normally open)。デフォルトではどのピンとも接続していない。

電源を接続する場合は、ピン1は使用せず、ピン2とピン3のみを使い、ピン2に電源のプラス側を接続し、ピン3を回路の他の部分に接続する。

現在の電源回路はこちら。降圧レギュレーター(LDO)として、ME6217シリーズを使用していて、こちらはChip Enable(CE)ピンがある。

Lipo駆動にするために、LDOをAMS1117からME6217に変更した経緯はこちらの記事で記載。

今は、プルアップ抵抗を介して、常時電源ONになっているが、ここに先ほどのラッチングスイッチを入れて、LDOをON/OFF制御できるようにする。

下記のように変更した。

ラッチングスイッチがオフの状態では、CEピンはプルダウン抵抗(R11)によってGND(グラウンド)に引き下げられており、これによりCEピンは安定したロー状態を保ち、LDOは電源オフの状態を維持する。

ラッチングスイッチをオンにすると、CEピンはVINに接続され、LDOがオンになり電源が供給される。

※実際にPCBが届いてから分かったが、この回路は誤りで、この回路だとボタンを押していない状態で1ピンと2ピンが結合され電源ONになり、ボタンを押すと、2ピンと3ピンが結合されてLDOのCEピンの電圧がGNDになるので電源OFFとなる。つまり、意図している挙動と逆になってしまう。

おそらく、正しくは下記(まだ実機で検証していないのでなんとも言えないが)

基板作成

回路図作成できたのでPCB作成に移る。

今回の電源回路とは関係ないが、目のLCDディスプレイに相当する2つのst7735s 1.44inchを隙間なく横並びに配置したいので、メス型ピンヘッダーの間隔を計算する。

LCDディスプレイの方は、オス型ピンヘッダー付きのもの。ディスプレイの端から最初のピンの中心までの距離が5.96mmなので、倍にして11.92mmの間隔を開けて、下記のようにメス型コネクタを基板に配置した。

また、前回、スルーホールを、ESP32モジュールのアンテナ部分の4隅にも取り付けて、ねじ止めしてしまった。

アンテナの性能に悪影響を及ぼす可能性(放射パターンを変えたり、信号の強度を低下させたりする)があるため、今回は、スルーホールの部位を、アンテナ部分を避けて3箇所にした。

最終的には、こんな感じで、基板をJLCPCBに発注。届くのが楽しみ

実際に届いた基板を配置したのがこちら。

今回は、後ろ側も被せてみた。ラッチングスイッチのところを外出しして、押せるようにして、無事電源がONOFFできることを検証できた。

コメント

タイトルとURLをコピーしました