션트 저항 전류 측정: 저항값 선택과 발열 전력 계산법

모터 드라이버 인버터, 배터리 관리 시스템(BMS), 스위칭 전원 공급 장치(SMPS) 설계 시 전류 궤환의 정밀도를 확보하는 것은 제어 루프 안정성을 결정짓는 핵심 과제입니다. 특히 션트 저항 전류 측정 방식은 비용 대비 정확도가 우수하여 널리 쓰이지만, 미세 저항값 선정 시 신호 대 잡음비(SNR) 확보와 줄열($I^2R$)에 의한 발열 손실 사이에서 첨예한 아키텍처 딜레마를 유발합니다. 저항값이 너무 작으면 센싱 전압이 증폭기 오프셋에 묻히고, 반대로 커지면 전력 정격 초과 및 극심한 열 드리프트가 발생합니다.

수십 암페어 이상의 대전류 환경에서는 수 밀리오옴(mΩ) 단위의 미세한 저항에서도 수 와트 이상의 열이 집중되어 저항 자체의 저항 온도 계수(TCR)에 의해 측정 오차가 기하급수적으로 증가합니다. 따라서 증폭기 입력 범위와 허용 전압 강하를 조율하는 정밀 저항값 선택과 허용 전력 디레이팅 계산이 선행되어야만 신뢰할 수 있는 피드백 루프를 구축할 수 있습니다.

션트 저항 전류 측정 아키텍처 및 켈빈 센싱 배선 구조 다이어그램

션트 저항 전류 측정: 전압 강하와 발열 전력의 트레이드오프

옴의 법칙($V = I \cdot R$)에 기초한 션트 저항 측정은 부하와 직렬로 연결된 션트 양단의 미소 전압 강하를 측정하여 전류를 환산합니다. 이때 아날로그-디지털 컨버터(ADC) 또는 전류 감지 증폭기(CSA)의 풀스케일 입력 범위를 최대한 활용하기 위해서는 전압 강하($V_{shunt}$)가 충분히 커야 시스템 노이즈 및 증폭기 입력 오프셋 전압($V_{os}$)에 의한 상대 오차를 줄일 수 있습니다.

그러나 전압 강하의 증가는 곧 션트 저항에서의 자체 전력 손실($P = I^2 \cdot R$)로 직결됩니다. 소모 전력은 고스란히 열로 변환되어 PCB 기판 온도를 상승시키며, 저항체의 온도가 상승함에 따라 내부 저항값이 변화하는 열 왜곡(Thermal EMF 및 TCR 열화)을 유발하므로 정밀한 최적화 구간 설정이 필수적입니다.

"전류 센싱 설계에서 션트 저항값의 상한선은 허용 가능한 전력 손실($I_{max}^2 \cdot R$) 및 부하단 허용 전압 강하에 의해 제한되며, 하한선은 전류 감지 증폭기의 입력 오프셋 전압($V_{os}$) 및 공통 모드 제거비(CMRR)가 허용하는 최소 입력 신호 크기에 의해 결정됩니다."
— Texas Instruments Application Report (SBOA161): Current Sense Amplifiers Layout Guidelines

TI 기술 문서에서 규정하듯, 앰프의 입력 오프셋 전압이 $10\mu\text{V}$ 수준일 때 션트 저항 양단에 최소 수십 $\text{mV}$ 이상의 풀스케일 신호가 인가되어야 $0.1\%$ 미만의 센싱 정확도를 달성할 수 있습니다. 반면 전원단의 전력 효율 저하를 막기 위해 최대 허용 전압 강하는 일반적으로 $50\text{mV} \sim 200\text{mV}$ 범위 내로 억제해야 합니다.

션트 저항 온도 계수 TCR 및 전력 디레이팅 곡선 분석

저항값 선택과 발열 계산: 전력 정격 및 TCR 엔지니어링

최대 측정 대상 전류가 $I_{max} = 30\text{A}$이고, 전류 감지 증폭기의 최대 선형 입력 범위가 $150\text{mV}$인 시스템을 예로 들면, 최적 저항값은 $R_{shunt} = \frac{150\text{mV}}{30\text{A}} = 5\text{m}\Omega$으로 계산됩니다. 이때 션트 저항에서 소모되는 최대 발열 전력은 다음과 같이 도출됩니다.

$$P_{loss} = I_{max}^2 \cdot R_{shunt} = (30\text{A})^2 \cdot 0.005\Omega = 4.5\text{W}$$

발열량이 4.5W에 달할 때 일반 정격 5W 저항을 선정하면 심각한 신뢰성 위협에 직면합니다. 부품 표면 온도가 100°C 이상으로 급등하면 정격 허용 전력이 급감하므로, 실무에서는 최소 2배 이상의 전력 마진(안전율 50% 디레이팅)을 적용하여 **10W급 저항**을 선택하거나, $10\text{m}\Omega$ 저항 2개를 병렬로 실장하여 방열 면적을 분산시켜야 합니다.

측정 방식 및 토폴로지공통 모드 전압($V_{cm}$) 조건장점 및 시스템 이점단점 및 아키텍처 제약사항
로우사이드(Low-Side) 센싱접지 전위 ($V_{cm} \approx 0\text{V}$)저비용 범용 연산증폭기 사용 가능부하 접지 부유(Ground Bounce), 단락 검출 불가
하이사이드(High-Side) 센싱전원 레일 전압 ($V_{cm} \approx V_{bus}$)접지 교란 없음, 부하 대지 단락 결함 즉각 검출고내압 고CMRR 전용 CSA IC 필요, 부품 단가 상승
인라인(In-Line) 센싱PWM 스위칭 전압 ($0\text{V} \leftrightarrow V_{bus}$)모터 상전류 직접 계측, 연속적인 제어 피드백극단적 $dv/dt$ 슬루율 견딤성 및 고속 정착시간 요구
홀 효과(Hall Sensor) 방식전기적 완전 절연 (Galvanic Isolation)도통 손실 극소화, 수백 암페어 고전압 대전류 측정초기 오프셋 및 온도 드리프트 큼, 비싼 부품 원가

위 비교표에서 볼 수 있듯이 신뢰성이 요구되는 산업용 모터 제어 및 인버터에서는 접지 루프를 흔들지 않고 지락 단락을 감지할 수 있는 하이사이드 센싱 전용 앰프(예: TI INA240, INA296)를 적용하는 것이 일반적입니다.

4-와이어 켈빈 연결 PCB 패턴 배선 및 솔더링 저항 제거 구조

TI 앱노트 기반 PCB 켈빈 연결(Kelvin Connection) 라우팅 원칙

밀리오옴 단위의 션트 저항을 적용할 때 가장 빈번하게 발생하는 설계 결함은 패키지 단자 및 솔더링 비드, PCB 동박 패턴 자체의 기생 저항이 측정값에 유입되는 현상입니다. 표준 1oz 동박 트레이스는 폭 1mm, 길이 5mm만 되어도 약 $2.5\text{m}\Omega$의 기생 저항을 가집니다. $5\text{m}\Omega$ 션트 저항에 이 트레이스가 직렬로 결합되면 무려 50%의 측정 오차가 발생합니다.

TI 앱노트 권장 켈빈 센싱 신호 라우팅 토폴로지
대전류 메인 버스바
→
션트 패드 내부 경계면 (Kelvin Tap)
→
차동 페어 트레이스(Diff Pair)
→
CSA 증폭기 IN+/IN-
* 필수 수칙: 전력 전류가 흐르는 패드 외측이 아닌, 저항 소자 중심부 내측에서 감지 라인을 차동 대칭 배선으로 인출

TI의 고정밀 전류 감지 가이드라인(SBOA161)에 따르면, 전류가 흐르는 대전류 경로와 전압을 검출하는 센싱 경로는 물리적으로 분리되어야 합니다. 이를 4단자 켈빈 연결(4-Wire Kelvin Connection)이라 부르며, 센싱 라인은 션트 저항의 솔더 패드 내부 중앙에서 인출하여 증폭기 핀까지 대칭 차동 페어로 라우팅해야 외부 노이즈와 공통 모드 간섭을 원천 차단할 수 있습니다.

션트 저항 실무 PCB 레이아웃 핵심 체크리스트

  • 전용 4단자 저항 소자 채택: $3\text{m}\Omega$ 이하 초저저항 영역에서는 단자가 분리된 Kelvin 4-terminal 패키지 부품을 우선 선정한다.
  • 차동 대칭 라우팅: IN+와 IN- 센싱 트레이스는 폭과 간격을 동일하게 유지하며 스위칭 노드(SW 노드)와 최소 3mm 이상 격리한다.
  • RC 차동 필터 배치: 증폭기 입력 직전에 $10\Omega$ 저항과 $100\text{nF}$ 커패시터로 구성된 안티앨리어싱 저역통과 필터(LPF)를 밀착 배치한다.
  • 동박 방열 패드 확장: 션트 저항 양단에 다층 비아 팜(Via Farm)을 타공하여 내부 접지 및 전원 플레인으로 열을 분산 방출한다.
임베디드 펌웨어 I2C 통신 기반 전류 센서 텔레메트리 수집 구조

임베디드 펌웨어 전류 캘리브레이션 및 실시간 모니터링

하드웨어 션트 저항의 초기 오차(Tolerance 1%) 및 주변 온도 상승에 따른 저항값 변화를 보정하기 위해 디지털 전류 센서 IC(예: TI INA226/INA238)를 연동하는 임베디드 펌웨어 드라이버를 구현합니다.

아래 C/C++ 코드는 STM32 HAL 환경에서 INA226 디지털 모니터 IC의 캘리브레이션 레지스터를 정밀 설정하고, 션트 전압과 버스 전압을 수집하여 실시간 전류 및 소비 전력을 연산하는 펌웨어 드라이버 스니펫입니다.

#include <stdint.h>
#include "stm32f4xx_hal.h"

#define INA226_I2C_ADDR         (0x40 << 1)
#define REG_CONFIG              0x00
#define REG_SHUNTVOLTAGE        0x01
#define REG_BUSVOLTAGE          0x02
#define REG_POWER               0x03
#define REG_CURRENT             0x04
#define REG_CALIBRATION         0x05

// 션트 저항: 5mOhm (0.005 Ohm), 최대 측정 전류: 30A 기준
// Current_LSB = 30A / 32768 = 0.915mA/bit -> 1.0mA/bit (0.001A)로 고정
// CAL = 0.00512 / (Current_LSB * R_shunt) = 0.00512 / (0.001 * 0.005) = 1024 (0x0400)
#define INA226_CAL_VALUE        0x0400 

extern I2C_HandleTypeDef hi2c1;

HAL_StatusTypeDef INA226_Init(void) {
    uint8_t tx_data[3];

    // 1. 설정 레지스터: 16회 평균화(Averaging), 션트/버스 전압 변환시간 1.1ms, 연속 모드
    tx_data[0] = REG_CONFIG;
    tx_data[1] = 0x45; // MSB (0100 0101)
    tx_data[2] = 0x27; // LSB (0010 0111)
    if (HAL_I2C_Master_Transmit(&hi2c1, INA226_I2C_ADDR, tx_data, 3, 100) != HAL_OK) return HAL_ERROR;

    // 2. 내부 연산용 캘리브레이션 값 기입
    tx_data[0] = REG_CALIBRATION;
    tx_data[1] = (uint8_t)(INA226_CAL_VALUE >> 8);
    tx_data[2] = (uint8_t)(INA226_CAL_VALUE & 0xFF);
    return HAL_I2C_Master_Transmit(&hi2c1, INA226_I2C_ADDR, tx_data, 3, 100);
}

float INA226_Read_Current_A(void) {
    uint8_t reg = REG_CURRENT;
    uint8_t rx_data[2];
    int16_t raw_current = 0;

    if (HAL_I2C_Master_Transmit(&hi2c1, INA226_I2C_ADDR, &reg, 1, 100) == HAL_OK) {
        if (HAL_I2C_Master_Receive(&hi2c1, INA226_I2C_ADDR, rx_data, 2, 100) == HAL_OK) {
            raw_current = (int16_t)((rx_data[0] << 8) | rx_data[1]);
            // Current_LSB = 1.0mA = 0.001A 단위 스케일링
            return (float)raw_current * 0.001f;
        }
    }
    return 0.0f;
}

위 코드에서 설정된 `0x4527` 구성 값은 고속 스위칭 컨버터 주변에서 유입되는 스파이크 노이즈를 억제하기 위해 내부 ADC 샘플링을 16회 누적 평균화하도록 처리합니다. 이를 통해 $5\text{m}\Omega$의 미세 션트에서도 리플 노이즈를 효과적으로 제거하고 안정적인 실시간 RMS 전류 데이터를 획득할 수 있습니다.

오실로스코프를 이용한 션트 저항 양단 과도 전류 및 전압 파형 측정

실무 엔지니어링 FAQ

Q1. 션트 저항의 저항 온도 계수(TCR)는 실제 측정 정밀도에 얼마나 영향을 미칩니까?

일반 후막(Thick Film) 칩 저항은 TCR이 $\pm 100\text{ppm/}^\circ\text{C}$ 이상에 달하여 표면 온도가 50°C만 상승해도 $0.5\%$ 이상의 저항값 변동이 발생합니다. 정밀 센싱을 위해서는 망가닌(Manganin)이나 니켈-크롬 합금을 적용한 금속박(Metal Foil) 기반 저항($\pm 20\text{ppm/}^\circ\text{C}$ 이하)을 선택해야 열에 의한 드리프트를 억제할 수 있습니다.

Q2. 션트 저항에 유도성 기생 인덕턴스(ESL)가 존재하면 어떤 문제가 발생합니까?

고속 스위칭 전류($di/dt$) 환경에서 ESL은 $V_{error} = ESL \cdot (di/dt)$ 형태의 전압 스파이크를 생성합니다. 이는 증폭기 입력을 포화시키거나 위상 지연을 유발하므로, 인덕턴스가 $1\text{nH}$ 미만으로 설계된 와이드 단자(Wide Terminal, 가로 종횡비 역전형) 패키지 션트를 사용해야 합니다.

Q3. 증폭기 입력단에 저역통과 필터(LPF) 저항을 추가할 때 주의할 점은 무엇입니까?

증폭기 내부의 입력 바이어스 전류($I_b$)가 외부 필터 저항을 통과하면서 추가적인 입력 오프셋 전압 강하를 만듭니다. 따라서 필터 직렬 저항은 통상 $10\Omega \sim 100\Omega$ 이하로 최소화하고, 차동 커패시터를 키워 컷오프 주파수를 매칭해야 이득 오차 발생을 방지할 수 있습니다.

공식 기술 문서 및 가이드라인

함께 보면 좋은 글

📌 안내
이 글은 정보 제공을 목적으로 작성되었으며, 실제 기기·환경·정책에 따라 결과가 다를 수 있습니다. 보다 정확하고 최신인 정보는 아래 공신력 있는 기관의 자료를 함께 참고하시기 바랍니다.

Similar Posts