2020年12月20日日曜日

遅ればせながらPIC手習い(その2)

  目標としている回路はLEDで光を出し、その光をフォト検出器(トランジスタ)(PD)で受光し、その比を求める機械である。光の通し方によって透過型や反射型、散乱型など考えられるが回路的には同じで良いと考える(もし受光量が微弱であればロックインアンプを使う事も考える必要がある)。

 LEDの光量は電流値にほぼ比例する。またPDも受光量に比例した電流が得られる。そこでD/Aコンバータの出力電圧でLEDを電流駆動するとともに、PDに流れる電流を電圧に変換してA/Dコンバータに取り込む回路が必要である。PICのD/Aコンバータの外部回路の駆動能力は低いので高インピーダンスで受ける必要がある。またA/Dコンバータの入力インピーダンスも高くないので低インピーダンスで電圧を与える必要がある。いくつか試した後、次の回路に落ち着いた。 

 IC2は単電源のフルスイング汎用OPアンプであり、秋月で売ってるJRCのNJU7043Dを使った。Tr1はジャンク箱に転がっていた普通のNPNトランジスタ(2SC641)で、エミッタフォロワーで電流増幅に使っている。PIC 16F18346のD/Aコンバータの出力はデフォルトの19番pinに出力する。R1とLEDは直列に接続しているのでLEDにはR1と同じ電流が流れる。R1は電流を電圧に変換するための抵抗で、この電圧がD/Aコンバータの出力と同じになるようOPアンプに負帰還をかけている。

 R1の電圧はPICの16番pinからA/Dコンバータに取り込んでLEDの電流をモニターできるようにしている。

 R2はPDの出力電流を電圧に変換する。この電圧はOPアンプによる高インピーダンスのボルテージフォロワーで受けてPICの15番pinからA/Dコンバータに渡している。R2の値は取り扱う光量とフォトトランジスタの性能で決める。感度が足りなければPDをダーリントン接続にするとよい。

 D/Aコンバータの出力電圧をVdaとするとR1及びLEDに流れる電流Iledは Iled=Vda/R1である。このときTr1のエミッタ電圧VeはLEDの順方向電圧降下をVfとすると Ve=Vda+Vf となる。またベース電圧VbはTr1のベースエミッタ間の電圧をVbeとして、Vb= Vda+Vf+Vbe である。OPアンプとTr1のベースは直結しているからOPアンプの出力電圧Vop=Vbである。すなわちVop= Vda+Vf+Vbe という関係が成立する。
 OPアンプの最大出力電圧Vophを4.9V、Vbeを0.7Vとすると、4.9 = Vda+Vf+0.7、すなわち Vdah=4.2-Vf がこの回路が機能するD/Aコンバータの最大出力電圧である。このときLEDにIldehの電流を流すためにはR1の値は、R1=Vdah/Iledh とする必要がある。一般的にIldehは20mA(0.02A)である。
 もし赤色や赤外LED(Vf=1.2V)を使うとすると、Vdahは3.0Vとなり、R1は150Ωとなる。また白色LED(Vf=3.2V)を使うとVdahは1.0VでR1は50Ωとなる。

 このようにPDのLEDに順方向電圧降下Vfの大きい青や白色LEDを使う場合この回路ではダイナミックレンジが狭まるのでTr1をPNP型に替えたほうが良いかもしれない。この場合Tr1のEとCを逆に接続、さらにOPアンプの入力の+/-を逆にする(次図参照)。仮に順方向電圧降下が3.2V/20mAのLEDを使う場合R1は50Ω程度となる。またR9は20KΩ程度である。

 

 ちなみにI2Cを使った液晶表示器(LCD)との接続は次のように簡単である。液晶は秋月で売ってる AE-AQM1602A(16文字×2行)を使った。I2Cの信号線は複数のデバイスが接続できるバス形式のワイヤードOR接続である。従ってプルアップ抵抗が必要であり、LCD補助基板内のプルアップ抵抗を半田付けでONにしている。

 一応ソフトが上手く動くようになったので、ユニバーサル基板に組み上げた(写真は追加回路を含む)。


このとき電池駆動する事が前提なので3端子レギュレータを使った簡単な電源回路を組み込んだ。

 この回路の消費電流はせいぜい十数mAなので電源に20V程度を供給してもTO-92パッケージの小型3端子レギュレータの定格を超えない。さらに電池駆動を前提として電源電圧の監視回路を組み込んだ。具体的には電源電圧をR7とR8で分圧してA/Dコンバータに与えている。抵抗で分圧するのは 電源電圧が高くなってもA/Dコンバータの入力電圧がA/Dコンバータの上側の参照電圧(Vref+、約4Vに設定)以下に収まるようにするためである。

 最後に、ユーザインターフェイスとして次のような回路を組んだ。

 これらは動作確認用LEDとスイッチ及びジャンパーである。これらはソフトで機能を設定することで自由に使える。

(つづく)
 





0 件のコメント:

コメントを投稿