1. 개요: 극저온 스털링 냉각기 없이 상온에서 8~14 μm 원적외선 야간 시계를 확보하다
양자형 적외선 검출기(InSb, MCT)는 전도대-가전자대 광전 효과를 이용하므로 암전류 억제를 위해 77K 액체질소/스털링 극저온 냉각기가 필수적이며, 이는 센서의 크기, 중량, 가격 및 전력(SWaP-C)을 급격히 증가시킵니다. 반면 MEMS 마이크로볼로미터(Microbolometer)는 입사 적외선 복사열을 흡수한 멤브레인의 미세한 온도 상승(\(\Delta T \sim \text{mK}\))에 따른 저항 변화를 전기 신호로 읽어내는 비냉각(Uncooled) 열형 검출기입니다.
높은 저항 온도 계수(Temperature Coefficient of Resistance, \(\text{TCR} \approx -2 \sim -3\%/\text{K}\))를 갖는 산화바나듐(\(\text{VO}_x\)) 또는 비정질 실리콘(\(a\text{-Si}\)) 박막을 서브마이크론 두께의 실리콘 질화막 브릿지 위에 띄워 열 컨덕턴스(\(G_{\text{th}}\))를 극소화합니다. 본 백서에서는 열역학적 1차 에너지 평형 방정식과 픽셀 판독 열잡음(NETD)을 모델링하고 실시간 암전류 오프셋을 보정하는 10,000Hz 0-Alloc C# 엔진을 구현합니다.
2. 열 평형 방정식 및 전압 반응도(Responsivity) 수식 모델
열용량 \(C_{\text{th}}\), 열 컨덕턴스 \(G_{\text{th}}\)를 갖는 픽셀 멤브레인에 변조 적외선 복사 파워 \(P_{\text{opt}} e^{i\omega t}\)와 펄스 바이어스 열 \(P_J = I_b^2 R\)가 인가될 때 온도 상승 \(\Delta T(t)\)의 미분방정식은 다음과 같습니다:
여기서 \(\eta\)는 원적외선 흡수율이며, 정상 상태 진폭 응답과 열 시상수 \(\tau_{\text{th}}\)는 다음과 같이 결정됩니다:
저항 온도 계수 \(\alpha = \frac{1}{R} \frac{dR}{dT}\) 하에서 정전류 바이어스 \(I_b\)를 인가할 때 전압 반응도 \(\mathcal{R}_v\) 및 잡음 등가 온도차(NETD)는 다음과 같이 유도됩니다:
여기서 \(F\)는 광학계 f-넘버, \(V_n\)은 존슨 잡음 및 \(1/f\) 잡음의 총합 전압입니다. 최신 \(12\,\mu\text{m}\) 피치 센서는 \(\text{NETD} < 30\,\text{mK}\)를 달성합니다.
3. 실시간 비냉각 적외선 픽셀 판독 서보 아키텍처 다이어그램
4. 고성능 0-Alloc C# MEMS 마이크로볼로미터 서보 구현
픽셀 열 응답 및 암전류를 실시간 제거하고 온도를 역산하는 0-Alloc C# 클래스입니다:
using System;
using System.Runtime.CompilerServices;
namespace ZeliDesk.Stem.InfraredSensors
{
public readonly record struct BolometerParameters(
double NominalResistanceR0, // Ohm (예: 50,000 Ohm)
double TcrAlpha, // 1/K (예: -0.025 = -2.5%/K)
double ThermalCapCth, // J/K (예: 1.2e-9)
double ThermalCondGth, // W/K (예: 1.0e-7)
double OpticalAbsorptionEta // 0.85
);
public ref struct BolometerServoState
{
public double MembraneTempRiseK;
public double ResistanceOhm;
public double ResponsivityVpW;
public double NetdMilliKelvin;
public double EstimatedTargetTempK;
public bool IsFrameValid;
}
public static class MicrobolometerServo
{
private const double BoltzmannK = 1.380649e-23;
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void ProcessPixel(
in BolometerParameters p,
double incidentIrPowerWatt, // W (예: 1e-8 W)
double biasCurrentAmp, // A (예: 20 uA = 20e-6)
double ambientTempK,
ref BolometerServoState state)
{
// 1. 정상상태 멤브레인 승온 계산: Delta T = eta * P_opt / G_th
state.MembraneTempRiseK = (p.OpticalAbsorptionEta * incidentIrPowerWatt) / p.ThermalCondGth;
// 2. 승온에 따른 VOx 저항: R = R0 * (1 + alpha * Delta T)
double deltaR = p.NominalResistanceR0 * p.TcrAlpha * state.MembraneTempRiseK;
state.ResistanceOhm = p.NominalResistanceR0 + deltaR;
// 3. 직류 전압 반응도: Rv = eta * Ib * R0 * |alpha| / G_th
state.ResponsivityVpW = (p.OpticalAbsorptionEta * biasCurrentAmp * p.NominalResistanceR0 * Math.Abs(p.TcrAlpha)) / p.ThermalCondGth;
// 4. 존슨 잡음 전압 계산 (대역폭 10kHz): V_n = sqrt(4 * kB * T * R * Delta f)
double noiseV = Math.Sqrt(4.0 * BoltzmannK * ambientTempK * state.ResistanceOhm * 10000.0);
// 5. NETD 추정치 (단위: mK)
// NETD ~ Vn / (Rv * (dP/dT)_target)
double dpdtTarget = 4e-10; // W / K (광학계 수광 모델)
double netdK = noiseV / (state.ResponsivityVpW * dpdtTarget);
state.NetdMilliKelvin = netdK * 1000.0;
// 6. 표적 온도 역산
state.EstimatedTargetTempK = ambientTempK + (incidentIrPowerWatt / dpdtTarget);
state.IsFrameValid = state.NetdMilliKelvin > 5.0 && state.NetdMilliKelvin < 150.0;
}
}
}
5. 교육 연수 및 무인기/야간투시경 국방 적용 지침
방통대 직무연수 및 국방 휴대용 야시경(NVG/Thermal)
- 물리/정보 교과 지도: 흑체 복사 플랑크 곡선, 슈테판-볼츠만 법칙, MEMS 진공 패키징 열차단 구조 및 열잡음 제어 원리를 인터랙티브 시각화로 교육.
- 국방 보병 휴대용 열영상 조준경 및 소형 드론: 냉각기 없이 수 시간 이상 배터리로 작동 가능한 30mK급 초소형 저전력 열상 카메라의 온칩 비균일성 보정(NUC) 엔진 구현.