AI要約
Raspberry Pi(ラズパイ)で5Vや12Vなどの高い電圧信号を安全に検出するための分圧回路を、計算例や回路図とともに解説。実例を紹介します。
やること
トラックの巻き込み事故を防止するための「iBOX」という製品があります。トラックに備わっているカメラとモニターをそのまま用いて、これらに後付けする形でAIが人や車を検出してくれるシステムです。トラックがバックするとき、後方に人を検出すると警報音が鳴ります。
さて、この製品を自動運転車に取り付けて、前方に人を検出したら車を停止させたいです。全体のシステムは次の通り。

iBOXからはハッキング用の信号線が出ており、人を検出すると5Vの電圧が印加されるようです。この電圧をRaspberry Pi(ラズパイ)のGPIOピンで検出してメインPCに伝え、車にブレーキを司令します。12Vの信号線も出ているのでどちらを使ってもいいです。
おお、簡単じゃないか。あとはChatGPTにコードを書いてもらって・・・とはならないんですねこれが。
実はラズパイのGPIOに対するデジタル入力は3.3Vが限度となっています。それを超える電圧を入力すると焼けてしまいます。ラズパイは0~1.8VをLOW、1.8~3.3VをHIGHとして検出することができます。(Arduinoへのデジタル入力は5Vなんですがね・・・)
ということで、5Vの信号を1.8~3.3Vまで降圧してあげないといけません。今回は、5Vの入力を2.5Vに降圧するための分圧回路を作ります。
回路図
5V信号のための分圧回路です。

教科書に出てくる基礎問題みたいなものですが、実践だと不安になりますね。上流(5V~GPIO)と下流(GPIO~GND)に同じ大きさの抵抗を入れてあげます。高さ5Vの流しそうめんを想像して、GPIOの上流と下流に同じ落差の滝があることになるので、GPIOは地面から2.5Vの位置になります。GPIOは1.8V以上でHIGHが検出できるのでこれでOKです。
続いて、12V信号用の分圧回路です。

こちらも高さ12Vの流しそうめんを想像して、GPIOの上流と下流に3:1の比率で滝を入れてやると、GPIOは地面から3Vの位置になります。
はんだ付け
5V信号用の回路がこちら。

ちなみに抵抗器にプリントされた線の最後が金色なのは、抵抗値の誤差が±5%以内の品質であることを意味しています。金は1つ1円くらい。茶は±1%以内で20円、紫は±0.1%以内で40円くらいします。
12V信号用もできました。


3つの抵抗は並列に見えるかもしれませんが、裏側を見るとちゃんと直列です。
結果
まず、5V(実測5.21V)のACアダプタで5V用分圧回路に入力してみました。

設計通りですね。元が少し高いので2.6Vに近いです。
続いて、12V(実測12.31V)のACアダプタで12V用分圧回路に入力します。

こちらも設計通り。元が少し高いので3.1Vになっています。
おわりに
電流について触れませんでしたが、GPIOへの電流は16mAが限界です。どちらの分圧回路も0.5mA程度が流れる計算なのでクリアしています。
教科書でやったことが実践で役に立つのは楽しいですね。日々修行です _(ˇωˇ」∠)_