반응형
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일 때 이다.
반응형
'전자 > 제어' 카테고리의 다른 글
모터 PWM 기법 자료 (TI) (0) | 2023.01.03 |
---|---|
모터 Fast Decay와 Slow Decay 차이 (0) | 2023.01.03 |
모터 회생 (0) | 2023.01.01 |
동기모터 벡터 제어 (dq 변환) (0) | 2022.12.31 |
BLDC 모터 6-스텝 제어 (0) | 2022.12.31 |
댓글