5V--3.3Vレベル変換回路の原理
マイコンやシングルボードコンピュータのI/O端子は5Vと3.3Vのものが主流です.例えば,Arduino UNO Rev3は5VでRaspberryPiやESP32は3.3Vです. 5Vのシステムと3.3Vのシステムを直接繋ぐと,次のような問題が発生します.
- 許容できない大きさの電流が流れるため,3.3V側のマイコンが壊れる.
- HIGH-LOWのシグナルの閾値が異なるため通信が行われない.
このような問題を回避するために5V--3.3V間のレベル変換が必要になります.有名な5V--3.3V間の変換回路が以下のものになります. 上側(A)が5V-->3.3V,下側(B)が3.3V-->5Vの変換回路となります. 上側の回路の原理について書かれたサイトは多数ありましたが,下側の回路の原理について説明したサイトは見つからなかったため,ここで紹介します.これらの回路を理解するにはプルアップ抵抗・プルダウン抵抗の知識が必要です.これらは端的に言えば,入力がないときに電圧をHIGHかLOWか決める抵抗です,
A). 5V-->3.3V変換 こちらは単純な分圧回路です.インプット側の電圧を
となります. ここから
と書けます. したがって,
と変換されます. 3.3VのマイコンのHIGHの閾値はおおよそ2Vなので, 3VはHIGHと認識されます.
B). 3.3V-->5V 変換 こちらはトランジスタの知識が必要となります.今回使用するのはNPNトランジスタです,重要なのはベース(B)からエミッタ(E)に電流が流れるとコレクタ(C)からベースにも電流が流れるということです.
まず,
一方で,
レベル変換ICを使うことも1つの手ですが,ICが手元が無いときにこのような回路が役立ちます.
Discussion