# 수소 농도 관리

#### 수소 농도의 중요성

수소 연료 전지의 효율적 운영을 위해서는 수소 농도를 정밀하게 관리하는 것이 필수적이다. 연료 공급 과정에서 수소 농도가 과도하게 낮거나 높은 경우, 연료 전지의 성능이 저하되거나 수소가 낭비될 수 있다. 특히, 연료 전지 스택의 안정적인 전력 생산을 위해서는 특정 범위 내에서 수소 농도를 유지해야 한다.

#### 수소 농도의 수식적 관리

수소 농도는 연료 전지의 출력과 직접적인 상관관계가 있다. 연료 전지에서 요구되는 전기 출력 $P\_{\text{req}}$를 기준으로, 필요한 수소의 유량은 다음과 같이 계산될 수 있다.

$$
\dot{n}*{\text{H}*2} = \frac{P*{\text{req}}}{n*{\text{FC}} \cdot \eta\_{\text{FC}} \cdot \Delta H\_{\text{H}\_2}}
$$

여기서,

* $\dot{n}\_{\text{H}\_2}$는 수소의 몰 유량 (mol/s),
* $P\_{\text{req}}$는 요구되는 전기 출력 (W),
* $n\_{\text{FC}}$는 연료 전지의 스택 수,
* $\eta\_{\text{FC}}$는 연료 전지의 효율,
* $\Delta H\_{\text{H}\_2}$는 수소의 엔탈피 차이 (J/mol)이다.

#### 수소 농도의 피드백 제어

수소 농도를 일정하게 유지하기 위해서는 피드백 제어가 필요하다. 수소 센서로부터 실시간 농도를 측정하고, 이를 기반으로 제어 시스템이 수소 유량을 조절한다. 수소 농도의 목표 값을 $C\_{\text{H}*2}^{\text{set}}$라 할 때, 실제 수소 농도 $C*{\text{H}\_2}(t)$와 목표 값의 차이는 다음과 같이 표현할 수 있다.

$$
e(t) = C\_{\text{H}*2}^{\text{set}} - C*{\text{H}\_2}(t)
$$

이 오차 값 $e(t)$는 PID 제어기의 입력으로 사용될 수 있으며, 제어기는 수소 유량 조절 밸브에 신호를 보내 오차를 최소화하는 방향으로 작동한다. PID 제어기의 출력은 다음과 같이 표현할 수 있다.

$$
u(t) = K\_p e(t) + K\_i \int\_0^t e(\tau) d\tau + K\_d \frac{d}{dt}e(t)
$$

여기서,

* $K\_p$는 비례 게인,
* $K\_i$는 적분 게인,
* $K\_d$는 미분 게인이다.

이 제어기는 수소 농도가 너무 낮아 전지의 효율이 떨어지는 것을 방지하며, 동시에 과도한 수소 공급으로 인한 낭비를 막을 수 있다.

#### 수소 농도와 연료 전지 효율 간의 관계

연료 전지의 효율은 수소 농도에 따라 달라진다. 특정 범위 이상의 수소 농도가 유지되어야 연료 전지가 최대 효율을 발휘할 수 있으며, 그보다 낮은 농도에서는 효율이 급격히 감소한다. 수소 농도에 따른 연료 전지 효율의 변화는 다음과 같은 관계식으로 표현될 수 있다.

$$
\eta\_{\text{FC}}(C\_{\text{H}*2}) = \eta*{\text{max}} \cdot \left( 1 - \alpha \cdot \exp\left(-\beta \cdot C\_{\text{H}\_2}\right) \right)
$$

여기서,

* $\eta\_{\text{FC}}(C\_{\text{H}\_2})$는 수소 농도에 따른 연료 전지 효율,
* $\eta\_{\text{max}}$는 최대 효율,
* $\alpha$와 $\beta$는 농도에 따른 효율 변화 상수이다.

#### 수소 농도의 제어 시스템 구조

수소 농도 관리 시스템은 수소 센서, 제어기, 수소 공급 밸브로 구성된다. 이 시스템의 동작 원리는 다음과 같다.

{% @mermaid/diagram content="graph TD;
Sensor\[수소 센서] --> Controller\[제어기];
Controller --> Valve\[수소 공급 밸브];
Valve --> Sensor;" %}

센서는 실시간으로 수소 농도를 측정하고, 제어기는 이를 분석하여 목표 농도에 맞게 밸브를 조절한다.

#### 수소 농도의 동적 모델링

수소 농도는 시간에 따라 변화하며, 이를 동적으로 모델링할 필요가 있다. 연료 전지 스택 내의 수소 농도 변화는 수소 공급 유량 $\dot{n}*{\text{H}2}(t)$, 소비 유량 $\dot{n}{\text{cons}}(t)$, 그리고 스택 내의 수소 저장 용량 $V*{\text{H}\_2}$에 따라 결정된다. 시간에 따른 수소 농도 변화는 다음과 같이 표현된다.

$$
\frac{dC\_{\text{H}*2}(t)}{dt} = \frac{\dot{n}*{\text{H}*2}(t) - \dot{n}*{\text{cons}}(t)}{V\_{\text{H}\_2}}
$$

여기서,

* $C\_{\text{H}\_2}(t)$는 시간 $t$에서의 수소 농도,
* $\dot{n}\_{\text{H}\_2}(t)$는 시간 $t$에서의 수소 공급 유량,
* $\dot{n}\_{\text{cons}}(t)$는 시간 $t$에서의 수소 소비 유량,
* $V\_{\text{H}\_2}$는 스택 내의 수소 저장 용량이다.

이를 기반으로 한 시스템 모델을 구성하면, 제어기의 동작을 보다 정확하게 설계할 수 있다. 특히, 수소 공급 밸브의 동적 응답 특성까지 고려해야 하며, 이를 위해 밸브의 시간 지연을 반영한 모델이 필요하다. 밸브의 응답을 1차 지연 시스템으로 가정하면, 그 모델은 다음과 같이 나타낼 수 있다.

$$
G\_{\text{valve}}(s) = \frac{K\_{\text{valve}}}{\tau\_{\text{valve}} s + 1}
$$

여기서,

* $G\_{\text{valve}}(s)$는 밸브의 전달 함수,
* $K\_{\text{valve}}$는 밸브의 이득,
* $\tau\_{\text{valve}}$는 밸브의 시간 상수이다.

#### 수소 농도 제어 시스템의 안정성 분석

수소 농도를 제어하는 시스템의 안정성을 보장하기 위해서는, 제어 시스템의 극점이 안정 영역에 위치해야 한다. PID 제어기를 사용하는 경우, 폐루프 시스템의 특성 방정식은 다음과 같이 표현된다.

$$
1 + G\_{\text{c}}(s) G\_{\text{plant}}(s) = 0
$$

여기서,

* $G\_{\text{c}}(s)$는 PID 제어기의 전달 함수,
* $G\_{\text{plant}}(s)$는 수소 농도의 플랜트 전달 함수이다.

PID 제어기와 플랜트 전달 함수 $G\_{\text{plant}}(s)$를 결합한 시스템의 극점은 제어기의 매개변수 $K\_p, K\_i, K\_d$에 따라 달라지며, 이를 통해 시스템의 안정성을 조정할 수 있다. 특히, 제어기 매개변수를 튜닝할 때에는, 다음 조건을 만족하는 안정성을 고려해야 한다.

* 제어 시스템의 모든 극점이 실수부가 음수인 영역에 위치해야 한다.
* 제어기의 적분 동작으로 인해 시스템이 과도하게 느려지지 않도록 조정해야 한다.

이때, 루트 궤적법을 사용하여 시스템의 극점 이동 경로를 분석할 수 있다. PID 제어기의 튜닝에 따라 폐루프 극점의 변화가 어떻게 일어나는지 파악하기 위해, 루트 궤적도를 그리는 것이 유용하다.

#### 수소 농도 제어와 외란 보상

연료 전지 시스템은 외부 환경의 변화, 예를 들어 온도 변화나 압력 변화와 같은 외란에 민감하다. 수소 농도의 외란 보상을 위해서는 외란 관측기(Observer)를 설계할 수 있다. 외란 관측기는 외란을 실시간으로 추정하여 제어 시스템에 반영한다. 외란을 $d(t)$라고 할 때, 시스템의 상태 방정식은 다음과 같이 수정된다.

$$
\dot{\mathbf{x}}(t) = \mathbf{A} \mathbf{x}(t) + \mathbf{B} u(t) + \mathbf{E} d(t)
$$

여기서,

* $\mathbf{x}(t)$는 상태 벡터,
* $u(t)$는 제어 입력,
* $d(t)$는 외란,
* $\mathbf{A}, \mathbf{B}, \mathbf{E}$는 시스템 매트릭스이다.

외란 관측기는 상태 추정기와 유사하게 설계되며, 외란을 추정하여 그 영향을 상쇄할 수 있도록 제어기에 반영한다. 외란 보상을 통해 수소 농도가 환경 변화에도 안정적으로 유지될 수 있다.

#### 수소 농도 제어 시스템의 시뮬레이션 모델

수소 농도를 제어하는 시스템의 성능을 평가하기 위해서는 시뮬레이션 모델을 구축하는 것이 중요하다. MATLAB/Simulink와 같은 도구를 활용하여 시스템의 동작을 시뮬레이션할 수 있으며, 이를 통해 제어기의 매개변수 튜닝과 동작 성능을 확인할 수 있다. 수소 농도 제어 시스템을 시뮬레이션하기 위한 일반적인 블록 다이어그램은 아래와 같이 구성될 수 있다.

{% @mermaid/diagram content="graph TD;
ref\[목표 수소 농도] --> e\[오차 계산] --> PID\[PID 제어기];
PID --> ValveActuator\[밸브 액추에이터];
ValveActuator --> Plant\[수소 농도 플랜트];
Plant --> Sensor\[수소 센서];
Sensor --> Feedback\[피드백] --> e;" %}

이 시뮬레이션 모델은 목표 수소 농도와 실제 수소 농도의 차이를 기반으로 제어기가 작동하며, 밸브를 제어하여 수소 공급을 조절하는 과정을 나타낸다. 이 모델을 통해 시스템이 정상 상태에서 안정적으로 수소 농도를 유지하는지, 그리고 외란에 대한 민감도와 복구 속도를 평가할 수 있다.

#### 수소 농도 제어기의 최적화

수소 농도 제어 시스템의 성능을 최적화하기 위해서는 제어기의 매개변수를 적절히 조정해야 한다. 특히, PID 제어기의 경우 $K\_p, K\_i, K\_d$ 값을 조정하여 시스템의 응답 시간을 줄이거나 과도 진동을 억제할 수 있다.

**비례 게인 $K\_p$의 역할**

비례 게인 $K\_p$는 오차에 대한 즉각적인 반응을 결정한다. $K\_p$ 값이 너무 작으면, 시스템은 목표 값에 도달하는 데 오랜 시간이 걸릴 수 있다. 반대로, $K\_p$ 값이 너무 크면, 시스템은 과도한 진동을 보이거나 불안정해질 수 있다.

**적분 게인 $K\_i$의 역할**

적분 게인 $K\_i$는 시간에 따른 오차의 누적을 보상한다. $K\_i$ 값이 높으면, 작은 오차라도 시간이 지남에 따라 제어 입력에 큰 영향을 미칠 수 있어 시스템의 정밀도를 높일 수 있다. 그러나 $K\_i$ 값이 너무 크면 적분 과포화 현상이 발생하여 시스템이 과도하게 느리게 반응할 수 있다.

**미분 게인 $K\_d$의 역할**

미분 게인 $K\_d$는 오차 변화율에 따라 시스템의 반응 속도를 조절한다. $K\_d$는 오차가 빠르게 변화하는 상황에서 진동을 억제하는 역할을 하며, 적절한 $K\_d$ 값은 시스템의 안정성을 높일 수 있다. 그러나 $K\_d$ 값이 너무 크면, 제어 입력에 지나치게 민감해져서 불필요한 진동을 유발할 수 있다.

#### 제어기의 튜닝 방법

PID 제어기의 매개변수는 경험적으로 튜닝하거나 자동 튜닝 알고리즘을 사용할 수 있다. 일반적으로 경험적 튜닝 방법으로는 Ziegler-Nichols 방법이 많이 사용된다. 이 방법은 먼저 $K\_p$를 조정하여 시스템이 경계 안정 상태에서 진동하도록 만든 후, 해당 조건에서 $K\_i$와 $K\_d$ 값을 조정하는 방식이다.

**Ziegler-Nichols 튜닝 방법**

1. $K\_p$ 값을 천천히 증가시키면서 시스템이 경계 안정 상태에서 진동할 때까지 조정한다.
2. 이때의 $K\_p$ 값과 진동 주기를 기록한다.
3. 기록한 값을 바탕으로 $K\_i$와 $K\_d$ 값을 다음 공식에 따라 설정한다.

$$
K\_p = 0.6 \cdot K\_{\text{crit}}, \quad K\_i = \frac{2 K\_p}{T\_{\text{crit}}}, \quad K\_d = \frac{K\_p T\_{\text{crit}}}{8}
$$

여기서,

* $K\_{\text{crit}}$는 경계 안정 상태에서의 비례 게인,
* $T\_{\text{crit}}$는 진동 주기이다.

#### 수소 농도 제어기의 구현

제어 시스템이 설계된 후, 실제 구현 과정에서 고려해야 할 사항이 있다. 특히, 제어기는 디지털 시스템으로 구현되는 경우가 많기 때문에, 이를 위해 샘플링 시간과 양자화 효과를 고려해야 한다. 디지털 제어 시스템에서 샘플링 시간 $T\_s$는 너무 길거나 짧으면 시스템 성능에 영향을 미칠 수 있다. 또한, 센서와 액추에이터의 양자화 효과는 시스템의 정밀도에 영향을 미치므로, 이를 최소화하는 방향으로 시스템을 설계해야 한다.

**디지털 제어 시스템의 상태 방정식**

디지털 제어 시스템에서는 연속 시간 시스템을 이산 시간 시스템으로 변환해야 한다. 이산화된 시스템의 상태 방정식은 다음과 같이 표현된다.

$$
\mathbf{x}\[k+1] = \mathbf{A}\_d \mathbf{x}\[k] + \mathbf{B}\_d u\[k]
$$

여기서,

* $\mathbf{x}\[k]$는 샘플링 시간 $k$에서의 상태 벡터,
* $u\[k]$는 샘플링 시간 $k$에서의 제어 입력,
* $\mathbf{A}\_d$, $\mathbf{B}\_d$는 이산화된 시스템 매트릭스이다.

이와 같이 이산화된 제어 시스템을 바탕으로 실제 제어기를 구현할 수 있으며, 이를 통해 수소 농도를 정밀하게 관리할 수 있다.
