目次

動的半田ごてセラミックヒータ抵抗測定ユニット

概要

半田ごてのヒータにはニクロムヒータとセラミックヒータがあります。
セラミックヒータの温度と抵抗値の特性は、温度が上昇すると抵抗値が高くなります。
手持ちの半田ごて(20W)を実際に調べてみますと、OFF時には、約170Ω、ON時(半田付けが出来るくらいに温まった状態)には、約500Ωありました。
この温度による抵抗の変化を動的(通常に半田ごてにAC100Vを通電しながら)に測定するユニットを作成してみました。
これを応用すると精度の高い“半田ごて温度調整器“が出来そうです。

動作原理

回路図

ソースコード

HeaterResistance.c
//********************************************************************** 
/*
  『動的半田ごてヒータ抵抗測定ユニット』 
 
 ※半田ごてに電圧を加えたままで、ヒータ抵抗が測定できます。 
 ※ヒータ抵抗は温度が上昇すると抵抗値が上がっていきます。
 ※これを応用することにより、半田ごての温度を調整することが出来そうです。 
 
*/
//********************************************************************** 
 
static	unsigned	char	FLAG;
 
void	interrupt(){
	if (INTCON.INTF == 1) {
		INTCON.INTF = 0;
		PORTA.F2 = ~PORTA.F2;
		FLAG = 1;
	}
}
 
//********************************************************************** 
 
 
unsigned	int	measurement()
{
	unsigned	int		ad, max, min, cnt;
	//
	ad = 0;
	max = 0;
	min = 1024;
	for (cnt = 0; cnt < 100; cnt++) {
		ad = Adc_Read(1);
		max = ad > max ? ad : max;
		min = ad < min ? ad : min;
	}
	return (max);
}
 
//********************************************************************** 
 
void main()
{
	static	unsigned	char	buf[6], cnt;
	static	unsigned	int		ad;
	static	double					v1, r1, i1;
	//
	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, "HeaterResistance");
	Delay_ms(500);
	Lcd_Custom_Cmd(LCD_CLEAR);
	//
	INTCON.PEIE = 1;	// これ以降の処理で割り込みを許可する。 
	INTCON.GIE = 1;		// これ以降の処理で割り込みを許可する。 
	//
	FLAG = 0;
	while (1) {
		ad = 0;
		for (cnt = 0; cnt < 30; cnt++) {
			while (FLAG == 0)
				;
			FLAG = 0;
			ad += measurement();
		}
		ad = ad / 30;
		v1 = ((double)ad * 4.8828125) / 101.0;
		i1 = v1 / 1.0;
		r1 = (4400 - v1) / i1;
		//
		WordToStr(r1, buf);
		Lcd_Custom_Out(1, 1, buf);
		buf[0] = 0xF4;	// Ω 
		buf[1] = 0x00;
		Lcd_Custom_Out(1, 6, buf);
		//
		WordToStr(v1, buf);
		Lcd_Custom_Out(2, 1, buf);
		Lcd_Custom_Out(2, 6, "mV");
		//
		WordToStr(i1, buf);
		Lcd_Custom_Out(2, 9, buf);
		Lcd_Custom_Out(2, 14, "mA");
	}
}
 
//**********************************************************************

動作確認

いつものブレッドボードで動作確認しました。
AC100Vを使用しますので取り扱いにはご注意ください。

フォトカプラの入力電圧と出力電圧の波形です。
電圧が0Vになるタイミングをこれで得ることができます。

半田ごてに通電していないときのセラミックヒータ抵抗の値です。

半田ごてに通電し始めた時のセラミックヒータ抵抗の値です。

半田ごてに通電し、十分温まった時のセラミックヒータ抵抗の値です。

著作権表示 copyright notice

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