« Thonny IDEでのUI Mode切替 | トップページ | Pico: main.pyとrshellの取り扱い »

2021年2月20日 (土)

レベルシフトチップTXS0108Eで苦戦

Raspberry Pi Picoに超音波距離センサーHC-SR04を接続したい。

しかし、Picoは3.3VだけれどHC-SR04は5Vだ。すっぴんのままHC-SR04の出力をPicoに接続するとPicoを壊してしまう可能性がある。そこでTXS0108Eの利用を考えてみた。これはレベルシフト電圧トラスレータチップだ。Low VoltageとHigh Voltageを双方向で変換してくれる。つまり、例えばHigh 3.3V信号をHigh 5Vに、またはこの逆に変換してくれるわけだ。で、早速使ってみた。

購入したのはHiGetgoの5個入りパック。半完成品状態となっている。
Img04694

ピンヘッダを半田付けして完成。
Img04697

このレベルシフターをHC-SR04とPicoの間にいれた。PicoのGPIO出力とHC-SR04のTrigger入力、HC-SR04のEcho出力とPicoのGPIO入力の間にいれたわけ。

まず、全然信号が出てこなくて、OEが内部プルアップされていると思ったんだけれど、結局そうでなくて、OEを5V(HC-SR04のVCC)に10KΩでプルアップして出力がでるようになった。

で、変換なんだけれども、デジタルオシロがないので電圧レベルまではわからないけれども、このレベルシフターに電源供給すると回路全体に回路全体に大きなノイズが乗るようで、信号に変なディップが発生した。HC-SR04もバタバタしてしまって、単なるノイズというレベルではなかった。

結局利用をあきらめた。

PicoのGPIO出力は3.3VのままHC-SR04のTriggerに接続した。シグナルマージンはめちゃ少なくなるけれども、とりあえずTriggerはできているよう。ただ、時々Echo出力が変になる(妙に長い値になる)ので、あんまり上手くないのかもしれない(変な出力の原因は究明してない)。問題のHC-SR04の5V出力をPicoの入力につなぐにあたっては抵抗分割を使った。HC-SR04の信号を2.2KΩで受けて、それを3.3KΩで接地する。2.2KΩと3.3KΩの接合点をPicoのGPIO入力につないだ。これでほぼ3Vの電圧になると同時にHC-SR04から過大な電流が流れ込む事を防ぐことができる。

今のところ動いている。

« Thonny IDEでのUI Mode切替 | トップページ | Pico: main.pyとrshellの取り扱い »

無線と実験」カテゴリの記事

ラズパイ日記」カテゴリの記事

製品レビュー」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« Thonny IDEでのUI Mode切替 | トップページ | Pico: main.pyとrshellの取り扱い »