#はじめに
クライアントの工場にIoT機器を設置することにしたとする。
自分が持っているIoT機器は、ラズベリーパイだとする。そのラズベリーパイのGPIOボードを介し、工場の機器との通信を行う予定である。
例えば、ラズベリーパイにPythonでプログラムを動かし、工場の装置にOK/NG信号に送ったり、装置の状態を示すフラグ信号を受け取ったりすることである。
ここで問題が一つある。工場の装置には、PLCと呼ばれる産業用コンピューターが使われている。このPLCはなぜか24Vが標準である。直流電源も24V。IOレベル電圧も24Vである。それに対し、ラズベリーパイのGPIO電圧レベルは3V~3.3Vでできている。困ったことだ。
写真:三菱電機のPLC(三菱電機のPLCの製品名はシーケンサー。Copy機をXeroxと呼ぶことと同じ。)
そして、ここでもう一つ盲点がある。PLC側にはリレーが使われていることが多い。
リレーを駆動するためには、ある程度の電流(50mA程度)が必要である。単に3.3Vを24Vに変換する回路あったとしても、電流が出せなかったらリレーを駆動することができない。
従って、ざっくり下記のようなスペックのものが必要となる。
項目 | 内容 | コメント |
---|---|---|
入力電圧 | 3.3V | ラズベリーパイのGPIOレベル |
出力電圧 | 24V | PLCのGPIOレベル |
出力電流 | 36mA以上 | リレー駆動最低限の電流 |
#3.3Vを24Vに変換する回路
電圧を変換する際には、フォトカプラがよく使われる。
駆動原理は下記の図に書いてある。図の中で、「入力側と出力側のGNDが繋がっていない」と書いてありますが、これがみそである。
入力側と出力側が電気的に絶縁されているため、例えば、出力側にサージなどが発生しても入力側に影響を及ぼすことはない。本当に賢い設計思想だと思う。
そして、フォトカプラにはシャープ製のPC817がよく使われる。今回のシミュレーションと試作にもPC817を利用した。
下記に3.3Vの信号を24Vに変換する回路を示す。
3.3V側の抵抗330Ωと24V側の抵抗2200Ωは、電流値を10mA程度に絞る役割である。
下記のシミュレーション結果を示す。
3.3V側のパルスが、24V側に変換され現れることが確認できた。
ここで、Voutにリレーを繋いだら動くかと言うと、それは動かない。
それは、PC817の内部のトランジスターの定格電流値が、リレーを駆動するのに足りないからである。
#NPNトランジスタを使った電流増幅回路
そこで、下記のような回路を使う。
フォトカプラの出力の先に、NPNトランジスタのエミッタ接地増幅回路を用意する。
フォトカプラの出力をNPNトランジスタのベースに繋ぎ、トランジスタをON・OFFすることである。
トランジスタのエミッタは接地し、コレクターにリレーを繋いでおく。増幅されたコレクター電流で、リレーに24V,最大150mA程度の電流を流しリレーをON/OFFするのである。(トランジスタの 飽和領域を利用するため、コレクター電流の最大値は、定格の150mAg程度)
最初に見る人には複雑に見えるかもしれない。 しかし、この構成の回路が定番として使われている。 ラズベリーパイやマイコンのGPIO変換の時は、この回路が最もシンプルで、確実である。
下記の図に、この回路のシミュレーション結果示す。
3V側の入力で、リレーを駆動することが可能となった。途中に、トランジスタベース電流及びリレーコイルに流れる電流を示す。
ブレッドボードに実際の回路を組み動作を確認した。
Youtubeの動画のリンクも掲載しておく。
https://www.youtube.com/watch?v=kdzRCSrn6X4
#まとめ
- フォトカプラ、NPNトランジスタを用いて、3.3V→24V電圧変換及びリレー駆動回路を設計・動作確認した。
#参考資料
1.リレー駆動をシミュレーションする