전자/제어
SVPWM 구현 코드
Begi
2023. 1. 2. 20:39
반응형
SVPWM 구현 코드는 다음과 같다.
Va = Vq Vb = -Vq / 2 - Vd * sqrt3 / 2 Vc = -Vq / 2 + Vd * sqrt3 / 2 Ta = Va * Ts / VDC Tb = Vb * Ts / VDC Tc = Vc * Ts / VDC Tmax = Ta Tmin = Ta if(Tb>Tmax) Tmax = Tb if(Tb<Tmin) Tmin = Tb
if(Tc>Tmax) Tmax = Tc
if(Tc<Tmin) Tmin = Tc
Te = Tmax - Tmin Tz = Ts - Te To = Tz / 2 - Tmin if(Tz<0) { Ta *= Ts / Te Tb *= Ts / Te Tc *= Ts / Te To = -Tmin * Ts / Te } Tga = Ta + To Tgb = Tb + To Tgc = Tc + To S = -S if(S>0) { Tga = Ts - Tga Tgb = Ts - Tgb Tgc = Ts - Tgc } |
위 코드는 Ts 주기로 실행한다. S는 +1과 -1을 반복한다. 위의 그래프에서 왼쪽은 S>0일때이고 오른쪽은 S<0일 때 이다.
반응형