산소 농도 조절은 수소 연료 전지 시스템에서 매우 중요한 역할을 한다. 산소는 연료 전지에서 산화 반응에 필요한 요소로, 적절한 농도를 유지해야 효율적인 전기 발생이 가능한다. 여기서는 산소 농도 조절 메커니즘을 수학적 모델링을 통해 설명하고, 제어 방식을 다룬다.

1. 산소 농도의 동역학 모델

수소 연료 전지 내의 산소 농도는 공기 공급 속도, 내부 산소 소비량, 연료 전지의 부하 조건에 따라 변동한다. 산소 농도의 변화를 모델링하기 위해 질량 보존 법칙을 적용한다.

산소 농도 \mathbf{C}_{\mathrm{O_2}}는 시간 t에 대해 다음과 같이 기술된다:

\frac{d \mathbf{C}_{\mathrm{O_2}}}{dt} = \frac{\mathbf{\dot{m}}_{\mathrm{air}}}{\mathbf{V}_{\mathrm{cell}}} \cdot (\mathbf{C}_{\mathrm{O_2},\mathrm{in}} - \mathbf{C}_{\mathrm{O_2}})

여기서:

이 방정식은 산소 농도의 변화율이 공기 공급 속도와 현재 농도에 의존한다는 사실을 보여준다. 내부 농도가 외부 입력 농도와 동일해질 때까지 산소 농도는 조정된다.

2. 공기 공급 시스템

공기 공급 시스템은 연료 전지의 부하와 연동하여 산소 농도를 조절한다. 이를 위해 전기모터로 구동되는 공기 압축기(compressor)가 사용되며, 이 공기 압축기의 회전 속도 N_{\mathrm{comp}}는 연료 전지의 전력 요구에 따라 동적으로 변한다.

\mathbf{\dot{m}}_{\mathrm{air}} = f(N_{\mathrm{comp}})

여기서 f(N_{\mathrm{comp}})는 압축기의 특성 곡선을 나타내며, 압축기의 회전 속도가 증가함에 따라 공기 공급량이 증가한다. 이를 제어하기 위해 PID 제어와 같은 피드백 제어 기법이 사용된다.

3. 산소 농도 피드백 제어

산소 농도 조절에서, 목표 농도 \mathbf{C}_{\mathrm{O_2},\mathrm{ref}}와 실제 산소 농도 \mathbf{C}_{\mathrm{O_2}} 간의 차이를 줄이기 위해 피드백 제어가 필요하다. 제어 오차 \mathbf{e}(t)는 다음과 같이 정의된다:

\mathbf{e}(t) = \mathbf{C}_{\mathrm{O_2},\mathrm{ref}} - \mathbf{C}_{\mathrm{O_2}}(t)

이 오차를 기반으로 PID 제어기의 제어 입력 u(t)는 다음과 같이 표현된다:

u(t) = K_p \mathbf{e}(t) + K_i \int_{0}^{t} \mathbf{e}(\tau) d\tau + K_d \frac{d\mathbf{e}(t)}{dt}

여기서 K_p, K_i, K_d는 각각 비례, 적분, 미분 게인이다. 이를 통해 공기 공급 시스템의 압축기 회전 속도를 제어하여 산소 농도를 목표값으로 유지한다.

4. 산소 소비량과 연료 전지 반응

연료 전지 내부에서 산소는 수소와 결합하여 전기를 생성한다. 이때, 산소 소비량은 연료 전지의 전기 부하와 직접적으로 연관된다. 전기 부하에 따른 산소 소비량 \mathbf{\dot{n}}_{\mathrm{O_2}}는 파라메트릭하게 표현할 수 있다:

\mathbf{\dot{n}}_{\mathrm{O_2}} = \frac{I}{4F}

여기서:

따라서 연료 전지에서 발생하는 전류가 클수록 산소 소비량도 증가하게 된다.

산소 소비량이 증가하면 공기 공급량도 동시에 증가해야 하므로, 이를 실시간으로 조절하기 위해 산소 농도 피드백 시스템과 함께 산소 소비량 모델이 연동된다. 결과적으로, 연료 전지의 부하가 증가하면 공기 압축기 속도가 증가해 산소 공급량이 증가하고, 부하가 감소하면 압축기 속도가 감소한다.

5. 산소 농도 조절을 위한 시스템 모델링

전체 시스템은 공기 공급 장치와 산소 소비 모델을 통합한 상태 공간 모델로 기술할 수 있다. 상태 공간 모델은 산소 농도 \mathbf{C}_{\mathrm{O_2}}, 공기 공급 속도 \mathbf{\dot{m}}_{\mathrm{air}}, 연료 전지의 전류 I를 주요 상태 변수로 포함한다.

상태 벡터는 다음과 같이 정의된다:

\mathbf{x}(t) = \begin{bmatrix} \mathbf{C}_{\mathrm{O_2}}(t) \\ \mathbf{\dot{m}}_{\mathrm{air}}(t) \\ I(t) \end{bmatrix}

입력 벡터는 압축기의 제어 입력 u(t)이며, 출력은 산소 농도 \mathbf{C}_{\mathrm{O_2}}(t)이다. 상태 방정식은 다음과 같이 표현할 수 있다:

\frac{d\mathbf{x}(t)}{dt} = \mathbf{A} \mathbf{x}(t) + \mathbf{B} u(t)

출력 방정식은 다음과 같다:

\mathbf{y}(t) = \mathbf{C} \mathbf{x}(t)

여기서:

이 모델을 통해 공기 공급량과 산소 농도를 동적으로 조절할 수 있다. 제어기는 목표 산소 농도를 기준으로 제어 입력 u(t)를 조정하여 시스템이 안정적으로 운영되도록 보장한다.

6. 제어 시스템 시뮬레이션

이론적 모델을 검증하기 위해 공기 공급 시스템의 시뮬레이션이 필요하다. 시뮬레이션은 다양한 부하 조건에서 산소 농도를 조절하는 시스템의 성능을 평가하는데 사용된다. 일반적으로 MATLAB 또는 Simulink 같은 도구를 사용해 시스템 동작을 시뮬레이션한다.

다음은 간단한 MATLAB 코드 예시이다:

% 산소 농도 조절을 위한 PID 제어기
Kp = 1.5; Ki = 1.0; Kd = 0.1;
C_O2_ref = 0.21; % 목표 산소 농도 (21%)

% 초기값
C_O2 = 0.18; % 초기 산소 농도
error_prev = 0;
integral = 0;

for t = 1:100
    error = C_O2_ref - C_O2;
    integral = integral + error;
    derivative = error - error_prev;
    u = Kp * error + Ki * integral + Kd * derivative;

    % 공기 공급 속도 업데이트
    m_air = f(u);

    % 산소 농도 업데이트
    C_O2 = C_O2 + (m_air * (C_O2_in - C_O2)) * dt;

    error_prev = error;
end

이 코드는 간단한 PID 제어기를 사용하여 산소 농도를 목표값으로 유지하는 과정의 시뮬레이션을 수행한다. 실제 제어 시스템에서 PID 게인은 시스템 특성에 따라 달라질 수 있다.