目次

ダイオード温度計

概要

温度計を自作する場合、一般的には、次のような高精度IC温度センサを利用します。

今回は、シリコンダイオードの温度特性を利用した温度計を作成してみました。

動作原理

シリコンダイオードの順方向電圧は、接合部の温度が変化すると-2mV/℃の割合で変化します。
通常20℃の順方向電圧は、約600mVです。
測定可能な温度範囲は、ダイオードの種類にもよりますが、約-20℃から150℃まで可能です。
但し、温度変化の割合は必ずしも直線的ではないので、誤差がでますので、厳密な計測には向きません。

今回の温度計では、この電圧の変化を計測し、温度として表示しています。
ダイオードを5個直列に接続することにより、温度の変化による、電圧の変化量を-10mV/℃としました。

<シリコンダイオードの特性>

回路図

ソースコード

ThermoMeter3.c
//********************************************************************** 
/*
  『温度計(シリコンダイオード使用)』 
*/
//********************************************************************** 
 
 
unsigned	int	measurement()
{
	unsigned	int		ad, cnt;
	//
	ad = 0;
	for (cnt = 0; cnt < 60; cnt++) {
		ad += Adc_Read(1);
	}
	return (ad / 60);
}
 
//********************************************************************** 
 
void main()
{
	static	unsigned	char	buf[6], cnt;
	static	unsigned	int		ad;
	//
	OSCCON = 0b01110000;		// クロックは8Mhz 
	CMCON  = 0b00000111;		// コンパレータは使用しない。
	// A/D変換を使用する。 
	ANSEL  = 0b00000010;
	// ポートを初期化する。 
	TRISA  = 0b00111010;
	TRISB  = 0b00001111;
	// 入力割り込みの設定
	INTCON.INTE = 1;
	INTCON.INTF = 0;
	OPTION_REG.INTEDG = 1;
	// LCDを初期化する。 
	Lcd_Custom_Config(&PORTB,4,5,6,7,&PORTA,0,7,6);
	Lcd_Custom_Cmd(LCD_CURSOR_OFF);
	Lcd_Custom_Cmd(LCD_CLEAR);
	Lcd_Custom_Out(1, 1, "ThermoMeter3");
	Delay_ms(500);
	Lcd_Custom_Cmd(LCD_CLEAR);
	//
	INTCON.PEIE = 1;	// これ以降の処理で割り込みを許可する。 
	INTCON.GIE = 1;		// これ以降の処理で割り込みを許可する。 
	//
	while (1) {
		ad = measurement();
		ad = (double)ad * 4.8828125;
		WordToStr(ad, buf);
		Lcd_Custom_Out(2, 1, buf);
		Lcd_Custom_Out(2, 6, "mV");
		//
		WordToStr(100.0 - (((double)ad - 1380.0) / 10.0), buf);
		Lcd_Custom_Out(1, 1, buf);
		Lcd_Custom_Out(1, 6, "゚C");
	}
}
 
//**********************************************************************

動作確認

いつものブレッドボードで確認しました。
上の白い温度計は市販のものです。

シリコンダイオードを5個直列にした、温度センサー部分です。
市販の温度計よりも、温度変化に敏感に反応します。

上:温度を表示
下:5個のダイオードの両端電圧です。

調整

ダイオードに流す電流によって、温度係数の絶対値が変わってきますので、使用するダイオードに応じて、バイアス用の抵抗、回路図では、100kを調整し、プログラム上の100℃のときの電圧や1℃あたりの温度計数(10mV)の単位を調整することにより、更に精度を高めることが可能となります。

著作権表示 copyright notice

このページは稲崎様の閉鎖したHPのコピーで、著作権は稲崎様にあります。詳細
This page is a copy of Mr. Inasaki's closed website, and the copyright is held by him.Details