가변 비추력 자기플라스마 로켓(VASIMR) ICRH 고주파 임피던스 매칭 서보 엔진

교육과정 연계 및 개발 배경

본 백서는 2022 개정 과학과 교육과정 물리(전자기파와 플라스마 공명, 로런츠 힘) 및 국방 첨단 무인 우주기동체/심우주 전기추진 실무를 위한 기술 자산입니다. 화성 유인 탐사를 단 39일로 단축시키는 200kW급 VASIMR(가변 비추력 자기플라스마 로켓)의 2단계 부스터인 이온 사이클로트론 공명 가열(ICRH, Ion Cyclotron Resonance Heating)에서, 플라스마 밀도 및 유량 급변에 따른 $50\,\Omega$ RF 안테나 부정합 반사파를 0.1ms 이내에 상쇄하는 10,000Hz 무할당 C# 서보 엔진을 구현합니다.

1. 물리적 배경: VASIMR 구조와 ICRH 원리

VASIMR(Variable Specific Impulse Magnetoplasma Rocket)은 아르곤 또는 수소 가스를 3단계에 걸쳐 가속하는 차세대 전기추진 시스템입니다:

  1. 1단계 (헬리콘 이온화부): 13.56 MHz RF 헬리콘 안테나를 통해 중성 기체를 100% 전리하여 저온 고밀도 플라스마($T_e \sim 3\text{--}5\text{ eV}$)를 생성합니다.
  2. 2단계 (ICRH 가열부): 초전도 전자석이 형성하는 발산 자기장 구배 내에서, 이온 사이클로트론 공명 주파수($\omega_{ci}$)와 동기화된 좌원편광(L-mode) RF 파동을 주입하여 이온의 수직 에너지를 수백 eV($> 100\text{ eV}$)로 증폭합니다.
  3. 3단계 (자기 노즐 팽창부): 수직 방향의 회전 운동에너지를 단열 자기 모멘트 보존에 의해 축방향 제트 추진력으로 변환하여 비추력($I_{sp} \sim 3,000\text{--}30,000\text{ s}$)과 추력을 가변합니다.
$$\omega_{ci} = \frac{q B(z)}{m_i}, \quad \mu = \frac{m_i v_\perp^2}{2 B(z)} = \text{const}$$

2. 수학적 모델링: 복소 임피던스 정합 및 L-Network 역산

ICRH 안테나의 플라스마 부하 임피던스 $Z_L = R_p + j X_p$는 플라스마 밀도 $n_e$와 유동 속도에 따라 격렬하게 요동칩니다. 전송선 특성 임피던스 $Z_0 = 50\,\Omega$와의 불일치 시 반사계수 $\Gamma$가 급증하여 RF 파워 제너레이터 트랜지스터(LDMOS) 파괴를 유발합니다:

$$\Gamma = \frac{Z_{in} - Z_0}{Z_{in} + Z_0}, \quad |\Gamma| = \sqrt{\frac{P_{ref}}{P_{fwd}}} < 0.1$$

2개의 가변 진공 커패시터($C_1$ 션트, $C_2$ 직렬)와 고정 인덕터 $L$로 구성된 L-매칭 네트워크의 입력 어드미턴스 정합 조건은 다음과 같습니다:

$$Y_{in} = j \omega C_1 + \frac{1}{R_p + j (X_p - \frac{1}{\omega C_2})} = \frac{1}{Z_0} = 0.02\,\Omega^{-1}$$

3. 10,000Hz 0-Alloc C# 초고속 임피던스 정합 서보 아키텍처

이온화 밀도 스텝 변화($\Delta t \sim 0.5\text{ ms}$)에 실시간 추종하기 위해 가비지 컬렉션(GC) 일시정지가 전무한 스택 기반 C# 알고리즘을 설계합니다.

using System;
using System.Runtime.CompilerServices;

namespace ZeliDesk.Stem.SpacePropulsion
{
    public readonly ref struct RfMatchSensorFrame
    {
        public readonly double ForwardPowerWatts;
        public readonly double ReflectedPowerWatts;
        public readonly double PhaseErrorRad;
        public readonly double MagnitudeErrorVolts;

        [MethodImpl(MethodImplOptions.AggressiveInlining)]
        public RfMatchSensorFrame(double fwd, double refl, double phase, double mag)
        {
            ForwardPowerWatts = fwd;
            ReflectedPowerWatts = refl;
            PhaseErrorRad = phase;
            MagnitudeErrorVolts = mag;
        }
    }

    public ref struct VasimrIcrhMatcherServo
    {
        private double _c1TuneCapPf;
        private double _c2LoadCapPf;
        private readonly double _omegaRf;
        private const double Z0 = 50.0;
        private const double MaxVswr = 1.2;

        public VasimrIcrhMatcherServo(double rfFreqHz, double initC1, double initC2)
        {
            _omegaRf = 2.0 * Math.PI * rfFreqHz;
            _c1TuneCapPf = initC1;
            _c2LoadCapPf = initC2;
        }

        [MethodImpl(MethodImplOptions.AggressiveInlining)]
        public void UpdateServoStep(in RfMatchSensorFrame frame, Span actuatorDrives)
        {
            double reflectionRatio = Math.Sqrt(Math.Max(0.0, frame.ReflectedPowerWatts / Math.Max(1.0, frame.ForwardPowerWatts)));
            
            // 위상 판별기 오차로부터 Tune C1 보정 (10,000Hz 비례-미분 서보)
            double dC1 = -0.05 * frame.PhaseErrorRad;
            // 크기 판별기 오차로부터 Load C2 보정
            double dC2 = -0.08 * frame.MagnitudeErrorVolts;

            _c1TuneCapPf = Math.Clamp(_c1TuneCapPf + dC1, 10.0, 1000.0);
            _c2LoadCapPf = Math.Clamp(_c2LoadCapPf + dC2, 5.0, 500.0);

            // 스택 메모리 버퍼 출력: 액추에이터 전압 지령
            actuatorDrives[0] = _c1TuneCapPf;
            actuatorDrives[1] = _c2LoadCapPf;
            actuatorDrives[2] = reflectionRatio;
        }
    }
}

4. 교육 및 국방/산업 응용 가치

  • 물리 II [전자기장과 파동]: 교류 전자기파의 전송선 반사 현상과 플라스마 밀도에 따른 부하 변동을 대화형 공진 시뮬레이션으로 체계적 학습.
  • 심우주 국방 무인 기동체: 화학 로켓 대비 10배 이상의 비추력 제어를 통해 위성 궤도 전이 및 우주 쓰레기 포획 임무의 고속 정합 방호.
  • 국가 AIDT 공학 교구: 복소 임피던스 스미스 차트 정합 궤적을 10,000Hz 3D 애니메이션으로 실시간 연동하는 차세대 AIDT 직무연수 툴킷 제공.