フォトカプラ(PC900V0NSZXF)の使い方 [Arduino]
フォトカプラには発光素子と受光素子があり、発光素子で電気を光に変換して受光素子で受光します。これにより、2つの回路を「電気的に絶縁」する事が可能となります。※今回は6ピンDIPタイプです。
使用部品・材料
総額で約510円です。(Arduino本体の値段を除く)
部品/材料 | 値段 | 備考 |
---|---|---|
ブレッドボード | ¥270 | 秋月電子の通販コード(P-00315) |
フォトカプラ PC900V0NSZXF | ¥60 | 秋月電子の通販コード(I-09813) |
カーボン抵抗器 | 数円 | 220Ω(1個)、1kΩ(1個)を使用。 |
小型クリップ付コード 5色 | ¥180 | 今回のフォトカプラはブレッドボードに刺さりますが導通しません。ですので、このクリップを使用します。(反対側はジャンパワイヤと接続) 秋月電子の通販コード(C-04351) |
配線図
本来は「発光素子の1,2,3ピン側」と「受光素子の4,5,6ピン側」は異なる回路です。便宜上、同一電源を使用しています。
フォトカプラの典型的な接続方法(Wikipedeia)
※今回はこの回路に電圧レギュレーター用のVCCが追加されています。
次の3枚は公式データシートより引用(pc900v0nszx.pdf)
[回路の参考例] ※あくまでも参考例です。
発光側の抵抗値は次のように算出しています。(IFは4-50mA)
Arduinoの電源は5V(V)。電流(DC Forward Current)を20mA(IF)とすると、データシートに記載されている「Fig.4 順電流―順電圧特性」のグラフ図では順方向電圧(DC Forward Voltage/VF)は約1.2V。オームの法則で190Ωになります
誤差などがありますので、大きめの220Ωです。
受光側の負荷抵抗(Load resistance)のRLは「Fig.11 上昇時間・下降時間―負荷抵抗特性」のグラフ図では280- 10kΩですので1kΩを使用しています。
今回は使用していませんが、VCC-GNDライン間には0.01µF以上の容量をもつバイパスコンデンサを使用することが推奨されています。
スケッチ(プログラム)
約1秒毎に発光素子に電圧をかけて電気信号を光に変換して、受光素子で受信しています。
bool vol_flg = false; void setup() { Serial.begin(9600); pinMode(7,INPUT); pinMode(8,OUTPUT); } void loop() { if(vol_flg){ digitalWrite(8,HIGH); }else{ digitalWrite(8,LOW); } delay(10); // digitalRead関数では3V以上がHIGHとなる // ※analogRead関数でも可。その場合は614.4以上がHIGHです。 if(digitalRead(7) == HIGH){ Serial.println("受光していません。"); }else{ Serial.println("発光素子から光を受光しました。"); } vol_flg = (!vol_flg); delay(1000); }
実行例
掲示板
ArduinoやRaspberry Piなどの電子工作の掲示板を作成しました。質問やわからない事は電子工作 (Arduino・ラズパイ等)でユーザー同士で情報を共有して下さい。