Project/#3 Solar Water Pump-MPPT

#0 Boost converter + MPPT algorithm [Simulation]

얼죽아여뜨샤 2023. 9. 26. 21:58

1. Design parameter

매트랩의 시뮬링크의 PV의 입력 전압을 29V로 세팅하고 5개의 string이 병렬로 그리고 한개의 module로 직렬 연결되게 설정하였다.

병렬연결이기에 전압은 일정하지만 최대 전력점에서 전류는 7.35*536.75A로 출력된다.

그때의 정격 전력을 제곱 미터당 1kw로 설정하고 원하는 출력 전압을 100V, 저항을 10옴으로 세팅하였다.

그리고 boost converter의 계산식을 통해 출력 전압 전류를 구하고 인덕터와 커패시터를 구하여 디자인 회로도에 사용하였다.

 

2. P&O algorithm

(1) Algorithm

앞에서 설명한 P&O알고리즘을 matlab function block에 코드화 하였다.

 

(2) Simulink design

그렇게 P&O기법을 사용해 MPPT 추적을 했을 때의 시뮬레이션 회로도이다.

PV에는 1kw의 조사량과 25도를 고정으로 세팅 되었고 전에 배웠던 boost converter를 사용하였다.

아래의 PandO가 이전장의 P&O알고리즘 블럭이고 입력으로 전압과 전류가 들어가고 출력으로 듀티가 계산되어 PWM제너레이터를 통해 boost converter의 듀티비를 자동으로 계산해 입력해준다.

그때의 출력 곡선을 6개로 뽑아 그래프로 살펴보았다.

 

(3) Simulation result

앞에서 P&O는 알고리즘은 일사량 변화가 급격할 때는 태양전지 array 출력 전압이 최대전력점에서의 전압과 같지 않기 때문에 MPPT 제어를 벗어난다는 단점이 있었다.

P&O 시뮬레이션의 결과로 10초까지의 신호를 기록한 결과 출력 전압은 설정한 100V도달하지 못하였으며, 전류 또한 10A에 완전히 도달하지 못하였다.

특히 MPPT제어의 결과로 P load 또한 1kw에 도달하지 못함을 볼 수 있었다.

아마 충분한 시간이 지나면 ref에 도달할 것 입니다.

 

3. IncCond algorithm

(1) Algorithm

두번째로 앞에서 P&O와 같이 설명했던 IncCond 알고리즘이다.

IncCond태양전지 출력의 컨덕턴스와 증분 컨덕턴스를 비교하여 최대 전력 동작점을 추종하는 방법이었다.

왼쪽의 diagram을 보면 P&O와 다른 큰 특징으로 전류의 변화량으로 제어한다는 것을 볼 수 있다.

전류와 전압을 통해 converter의 듀티 제어를 수행한다.

 

(2) Simulink design

파라미터는 P&O알고리즘에서 사용했던 것과 같다.

Incmatlab function으로 알고리즘을 넣었고 출력으로 듀티를 제어하기 전에 리미터를 넣어 제한값 설정을 해주었다.

[참고 : 증분 컨덕턴스 계산 시 나누기 연산이 수행되는데 나누기 연산에서 분모는 0이 될 수 없으므로 전압증분값 연산시 제한값을 설정해 주어야 합니다.]

이 설계도 boost converter를 이용했고 6개의 출력을 그래프로 살펴 보았다.

 

(3) Simulation result

IncCond 기법은 최대 전력점에 도달했을 때 array 출력전력이 안정적임을 그래프로 볼 수 있었다.

특히, P&O와 같은 시간 동안에 비교했을 때 전압 전류 전력 모두 원하는 값을 초과해 도달함을 그래프로 확인하였다.

P&O와 같은 parameter일 때 도달 속도는 IncCond 기법이 훨씬 빨랐지만 Overshoot이 보였다.

 

<교수님>

Overshoot이 아니라 1065W라서 그에 도달하는 것 일수도 있다.

 

4. P&O + PI control algorithm

(1) Algorithm

마지막으로 P&O기법이 단순하다는 장점을 이용해 전압 ref값과의 비교로 PI제어기를 추가한 boost converter를 모델링 했다.

앞의 일반적인 P&O와의 차이점으로는 V reference값의 최대와 최소값을 넣어 기준값을 너무 초과하지 않게 했고 출력으로 듀티비 대신 V reference를 실제 전압과의 비교로 오류를 PI제어기의 입력으로 넣었다.

PI의 출력이 PWM에 필요한 듀티비를 제공하도록 carrier신호와 비교해 boost converterMosfet의 입력으로 사용하였다.

캐리어 신호는 0에서1로 놓았고 PI신호 또한 0에서1로 제한하였다.

 

(2) Simulink design

RefGen이라는 matlab function 블럭을 사용해 알고리즘을 넣었고 나머지는 앞에서 설명한 것과 같다.

[참고 : 1/z블럭은 Unit Delay 블록으로 사용자가 지정한 샘플 주기만큼 자신의 입력을 유지하고 지연한다.

Iterator Subsystem에 배치된 경우 이 블록은 한 번 반복하는 동안 자신의 입력을 유지하고 지연합니다.]

 

(3) Simulink result

P1000, I0.01로 설정했을 때 IncCond기법과 비교했을 때, IncCond일 때는 빨간 선인 시점에서 원하는 출력 전압에 도달하였었다.

응답성이 빨라짐을 보았지만 안정성의 측면에서는 IncCond 기법과 동일하였다.

 

P0.1, I0.001로 설정했을 때, 7초쯤 원하는 출력 전압에 도달했지만 뒤에서 불안정한 값을 보였다.

 

P0.1, I0.0001로 설정했을 때, IncCond와 비슷한 시점에 정격에 도달했고 정상상태로 유지되는 것을 보았다.

실험 결과로 보아 P&O를 단독으로 사용하는 것 보다 PI제어기를 추가해 제어하는 것이 응답성과 안정성 측면 모두에서 뛰어남을 시뮬레이션을 통해 확인하였다.

정격 Power에 도달하는 속도와 안정성의 측면에서도 이 방식이 가장 뛰어났다.

 PI의 비로는, P가 작아질수록 응답성은 느려졌지만 I가 작아지면 안정성은 높아졌다.