본문 바로가기
전자/제어

SVPWM 구현 코드

by Begi 2023. 1. 2.
반응형

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

댓글