====== 簡易紫外線計 ======
===== 概要 =====
太陽の光には、目に見える光(可視光線)のほかに、目に見えない赤外線や紫外線が含まれています。
紫外線は、地表に届く光の中で、最も波長の短いものです。
紫外線は、波長によって、A、B、C の3つにわけられます
* UV-C:大気層(オゾンなど)で吸収され、地表には到達しない。
* UV-B:ほとんどは大気層(オゾンなど)で吸収されるが、一部は地表へ到達し、皮膚や眼に有害である。
日焼けを起こしたり、皮膚がんの原因となる。
* UV-A:UV-Bほど有害ではないが、長時間浴びた場合の健康影響が懸念されている。
今回は、紫外線センサーを使用して、紫外線を測定し、その強度を表示させて見ました。
===== 動作原理 =====
使用した紫外線センサーは、浜松フォトニクス社製の拡散型フォトダイオード「G7189」です。
次のような特長を持ったセンサーです。
<特長>
* 感度波長範囲:300~580nm(ピーク波長470nm)
* 短絡電流:65nA(@1000lx)
* 暗電流:50pA
* 受光面サイズ:0.8x0.8mm
* 有効受光面積:0.58mm^2
* 受光感度:0.25A/W
* パッケージ:プラスチック3ピン
このセンサーの出力をオペアンプで、IV(電流電圧)変換し、紫外線強度(mW/cm2)をLCDに表示します。
有効受光面積と受光感度より、1mW/cm2の時の電圧を求めます。
* 1.45μA=(0.58×10^-5)×(250×10^-3)
* 145mV=1.45μA×100kΩ
<概観>
{{:imgpaste:202004:htmikan-20200429-211314.png}}
<分光感度特性>
{{:imgpaste:202004:htmikan-20200429-211337.png?500}}
===== 回路図 =====
{{:imgpaste:202004:htmikan-20200429-211353.png}}
===== ソースコード =====
//**********************************************************************
/*
<紫外線計>
■紫外線センサー
浜松ホトニクス社製
GaAsPフォトダイオード<G7189>
有効受光面積:0.58mm2
受光感度:0.25A/W
1.45μA=(0.58×10^-5)×(250×10^-3)
オペアンプでI/V変換(100kΩ)した時の1mW/cm2の電圧
145mV=1.45μA×100kΩ
*/
//**********************************************************************
unsigned int measurement(unsigned short channel)
{
unsigned int ad, cnt;
//
ad = 0;
for (cnt = 0; cnt < 50; cnt++) {
ad += Adc_Read(channel);
}
return (ad);
}
//**********************************************************************
void main()
{
static unsigned char buf[12], cnt;
static unsigned int ad;
static double tmp;
//
OSCCON = 0b01110000; // クロックは8Mhz
CMCON = 0b00000111; // コンパレータは使用しない。
// A/D変換を使用する。
ANSEL = 0b00010100;
ADCON1.VCFG1 = 1;
ADCON1.VCFG0 = 0;
// ポートを初期化する。
TRISA = 0b10111100;
TRISB = 0b00001111;
// LCDを初期化する。
Lcd_Custom_Config(&PORTB,7,6,5,4,&PORTA,6,0,1);
Lcd_Custom_Cmd(LCD_CURSOR_OFF);
Lcd_Custom_Cmd(LCD_CLEAR);
//
while (1) {
ad = measurement(2);
tmp = ((double)ad * 2.44140625) / 50.0;
//
WordToStr((tmp * 1000.0) / 145.0, buf);
Lcd_Custom_Out(1, 1, buf);
Lcd_Custom_Out(1, 6, "uW/cm2");
//
for (cnt = 0; cnt < 16; cnt++) {
if (cnt < ((unsigned int)tmp / 156))
Lcd_Custom_Chr(2, cnt + 1, 0xFF);
else
Lcd_Custom_Chr(2, cnt + 1, ' ');
}
//
Delay_ms(500);
}
}
//**********************************************************************
===== 動作確認 =====
{{:imgpaste:202004:htmikan-20200429-211505.png?500}}
左側:G7189とオペアンプ(LMC662)です。
右側:A/D変換用の基準電圧(2.5V)を発生させる部分です。
{{:imgpaste:202004:htmikan-20200429-211516.png}}{{:imgpaste:202004:htmikan-20200429-211522.png}}
PIC16F88とLCD(液晶表示器)部分です。
{{:imgpaste:202004:htmikan-20200429-211532.png?500}}
うす曇のときの紫外線強度です。
{{:imgpaste:202004:htmikan-20200429-211544.png?500}}
晴れてきたときの紫外線強度です。
{{:imgpaste:202004:htmikan-20200429-211556.png?500}}
如何ですか?
これから夏場にかけて重宝するのではないでしょうか。
紫外線のUV-Bを測定するのであれば、G5842のほうが適していると思います。
このページは稲崎様の閉鎖したHPのコピーで、著作権は稲崎様にあります。[[elechobby:picdic:picdic|詳細]]
This page is a copy of Mr. Inasaki's closed website, and the copyright is held by him.[[elechobby:picdic:picdic|Details]]