SVPWM Nedir? Space Vector PWM

Bu yazıdan önce FOC yazımı okumanızı öneririm.

Yıldız bağlı motorumuzun sargılarına aşağıdaki gibi  3 ayrı anahtar üzerinden V bara voltajının uyguladığını varsayayın. a, b, c anahtarları sırasıyla V_1, V_2, V_3 gerilimlerini üretir.

SPWM1

Şekil 1

2 konumlu a, b, c anahtarlarının 0 ve 1 durumlarına ilişkin V_1, V_2, V_3 faz voltajlarını ve va, vb, vc bobin voltaj degerlerini  hesaplayıp tabloda göstererelim.

Örneğin a=0 b=0 c=1 durumu için V_1=0, V_2=0, V_3=V den va, vb ve vc yi hesaplayalım.

(Motor endüktanslarını R direnci gibi düşünürseniz her bir dirençde düşen gerilimi hesaplamanız yeterlidir.)

a=0, b=0 ve c=1 için V_1=0, V_2=0, V_3=V

va=vb= \frac{V*\frac{R}{2}}{R+\frac{R}{2}}=\frac{V}{3}
vc=-V+va=-\frac{2V}{3}

a,b,c nin tüm 0 ve 1 değerleri için V_1, V_2, V_3, va, vb, vc değerlerini hesaplarsak aşağıdaki tabloyu  oluşturabiliriz.

SPWM2Şekil 2

Tablodaki verileri uygun sıraya koyarak  3 fazlı voltajlar elde etmeye çalışalım.

SPWM3Şekil 3

Her 60 derecede bir segment değişmekte ve voltajlarda +/- \frac{V}{3} artışı olmaktadır.  Örneğin a fazını ele alalım

Vektörleri diyagrama yerleştirirsek

SPWM4Şekil 4

a, b, c anahtarları ile elde edilen 8 vektörden 2'si sıfır boyutlu vektördür ve merkezdedir. Diğer 6 vektör  60 derecelik açılarla grafiğe yerleştirilmiştir.

Her 60 derecede bir sektör değiştirilerek elde edilen ve pozitif yönde sıralamaları V_6, V_4, V_5, V_1, V_3V_2 vektörleri sırayla kullanarak 60 derecelik sıçramalar yapan  döner vektör üretiriz.

Sıçrayarak daireyi 6 hamlede tamamlayan döner vektör yerine düzgün dairesel hareket yaparak dönen bir vektör üretmek istersek ne yapacağız?

Yazımın başından buraya kadar olan kısımlarda kafanızda hiç soru kalmasın.  Gerekiyorsa tekrar tekrar okuyun.

SVPWM gerçekten büyülü bir işlem.

Başlıyoruz.

FOC tekniğinde motora uygulanacak Va, Vb ve Vc voltajlarını hesaplamıştık.

Bunları PWM modülasyonuna tabii tutup motora uygulayabiliriz. Bu durumda yaptığımız işlemin adı Sinüs modülasyondur. Bu modülasyonu zaten biliyoruz.

Sinüs modülasyonunda her bir faz için üreteceğimiz voltajın tepe değeri V/2 besleme gerilimi kadar olabilir. V/2 sıfır ekseni alınırsa V değeri Vmax, 0 değeri de -Vmax olacaktır.

Şekil 5SPWM5

Şekil 5 de  V6 ve V4 komşu iki vektördür (adjacent vectors). Aynı şekilde V5 ve V4 de komşudur.

FOC konusunda hatırlarsanız Valfa ve Vbeta voltajlarını kullanarak Va, Vb, Vc olmak üzere 3 faz voltajlarını hesaplamıştık. Va, Vb ve VC yi kullanmadan da Alfa Beta eksen takımındaki Valfa ve Vbeta voltajlarını kullanarak altı bölgenin her birini sadece 2 voltajla ifade edebiliriz. Alfa Beta eksen takımı 90 derece iken daireyi oluşturan komşu vektörlerle 6 ayrı  60 derecelik eksen takımları oluşturabiliriz.

Şekil 1'deki anahtarlama yapısından dolayı altıgenin köşelerine yerleşmiş iki komşu vektörün de modülü aynıdır. Ancak aralarında 60 derece açı bulunmaktadır  Örneğin V5 vektörünün açısı -90 derece iken V4 vektörü  -30 derece açıya sahiptir.

Şekil 6SPWM6

V vektorumuz V4_V6 bölgesinde ise; \vec{V_{46}}=V_4e^{-j30}+V_6e^{j30}

V vektorumuz V6_V2 bölgesinde ise; \vec{V_{62}}=V_6e^{j30}+V_2e^{j90}

V vektorumuz V2_V3 bölgesinde ise; \vec{V_{23}}=V_2e^{j90}+V_3e^{j150}

V vektorumuz V3_V1 bölgesinde ise; \vec{V_{31}}=V_3e^{j150}+V_1e^{j210}

V vektorumuz V1_V5 bölgesinde ise; \vec{V_{15}}=V_1e^{j210}+V_5e^{-j90}

V vektorumuz V5_V4 bölgesinde ise; \vec{V_{54}}=V_5e^{-j90}+V_4e^{-j30}

Açılımları yaparsak;

\vec{V_{46}}=V_4cos(30)-jV_4sin(30)+V_6cos(30)+jV_6sin(30)
\vec{V_{62}}=V_6cos(30)+jV_6sin(30)+V_2cos(90)+jV_2sin(90)
\vec{V_{23}}=V_2cos(90)+jV_2sin(90)+V_3cos(150)+jV_3sin(150)
\vec{V_{31}}=V_3cos(150)+jV_3sin(150)+V_1cos(210)+jV_1sin(210)
\vec{V_{15}}=V_1cos(210)+jV_1sin(210)+V_5cos(90)-jV_5sin(90)
\vec{V_{54}}=V_5cos(90)-jV_5sin(90)+V_4cos(30)-jV_4sin(30)

4-6 Sektorlerinde;

\vec{V_{46}}=\frac{\sqrt{3}}{2}(V_4+V_6) + j\frac{1}{2}(V_6-V4)

V_\alpha=\frac{\sqrt{3}}{2}(V_6+V_4)          V_\beta=\frac{\sqrt{3}}{2}(V_6-V_4)

V_6=\frac{1}{\sqrt{3}}V_\alpha+V_\beta
V_4=\frac{1}{\sqrt{3}}V_\alpha-V_\beta

6-2 Sektorlerinde;

\vec{V_{62}}=\frac{\sqrt{3}}{2}jV_6+j(\frac{1}{2}V_6+V_2

V_\alpha=\frac{\sqrt{3}}{2}jV_6           V_\beta=(\frac{1}{2}V_6+V_2

V_6=\frac{2}{\sqrt{3}}V_\alpha
V_2=-\frac{1}{\sqrt{3}}V_\alpha+V_\beta

2-3 Sektorlerinde;

\vec{V_{23}}=j(V_2+\frac{1}{2}V_3)-\frac{\sqrt{3}}{2}V_3

V_\alpha=-\frac{\sqrt{3}}{2}V_3           V_\beta=V_2+\frac{1}{2}V_3

V_3=-\frac{2}{\sqrt{3}}V_\alpha
V_2=\frac{1}{\sqrt{3}}V_\alpha+V_\beta

3-1 Sektorlerinde;

\vec{V_{31}}=-\frac{\sqrt{3}}{2}(V_3+V_1)+j\frac{1}{2}(V_3-V_1)

V_\alpha=-\frac{\sqrt{3}}{2}(V_3+V_1)           V_\beta=\frac{1}{2}(V_3-V_1)

V_1=-\frac{1}{\sqrt{3}}V_\alpha-V_\beta
V_3=-\frac{1}{\sqrt{3}}V_\alpha+V_\beta=

1-5 Sektorlerinde;

\vec{V_{15}}=-\frac{\sqrt{3}}{2}V_1-j\frac{1}{2}(V_1+V_5

V_\alpha=-\frac{\sqrt{3}}{2}V_1           V_\beta=-\frac{1}{2}V_1-V_5

V_1=-\frac{2}{\sqrt{3}}V_\alpha
V_5=\frac{1}{\sqrt{3}}V_\alpha-V_\beta

5-4 Sektorlerinde;

\vec{V_{54}}=\frac{\sqrt{3}}{2}V_4-j(V_5+\frac{\sqrt{1}}{2}V_4

V_\alpha=\frac{\sqrt{3}}{2}V_4           V_\beta=-(V_5+\frac{\sqrt{1}}{2}V_4

V_4=\frac{2}{\sqrt{3}}V_\alpha
V_5=-(\frac{1}{\sqrt{3}}V_\alpha+V_\beta)

SPWM8

Şekil 7

Şekil 7' de  MCU'nun 3 ayrı pwm çıkışından alınan a, b, c sinyallerine bakalım. V4 ve V6 nın görüldüğü zaman aralığına dikkat kesilelim.

V4 aralığında a=1, b=0, c=0 dır. Biraz sonra V6 bölgesine gelindiğinde a=1, b=1, c=0 olmaktadır. Zaten ilgili aralığı taa başından beri  bu ikili sayılarla isimlendirmiştik. Üstelik 1 olan bit ilgili anahtarın ON olup V voltajı vermesi anlamına da geliyordu. (Bakınız Şekil 2)

100_2=4
110_2=6

O halde V4 ve V6 vektörleri arasında kalan herhangi bir  vektör PWM sinyalimizde V4 ve V6'ya ait sürelerin değiştirilmesi ile belirlenebilir.

Şekil 8 de komşu vektörlerinin pwm sinyalimizle alakası görülmektedir.

MySvpwm

 Şekil 8

Eger motorumuza animasyondaki gibi yaklaşık bir kaç Hz gibi cok dusuk frekansda pwm sinyali uygulanmış olsaydık motor mili 0 dereceden 60 dereceye, 60 dereceden 0 dereceye zıplamak suretiyle sağa sola 60 derecelik dönüşler yapacaktı.

Eğer pwm frekansını çok artırırsak bu durumda artık motor mili voltajdaki bu değişimleri takip edemeyecek ve  30 derecelik ara açıda kalacaktı. Eğer V4 ve V6 nın süreleri ile oynarsak bu kez motor mili 0..60 derece aralığında istenen bir yere konumlanacaktır.

Şekil 9'da 60 derecelik ana vektörlere ait pwm sinyalleri görülmektedir.

SVPWM-Wave

Şekil 9

Şsekil 10'da PWM registerlerine yüklenecek zamanlama parametreleri görülmektedir.

SPWM11

Şekil 10

Merkeze göre simetrik pwmde peryod registerine yüklenecek değerin 2 katı değerde peryod oluşur.

Merkeze göre sağdaki ve soldaki zamanlama değerleri ilgili voltaj için Ton süresini belirler.

V4 voltajı T1/2 ile, V6 voltajı ise T2/2 ile üretilir.  T=T0+T1+T2 olduğuna göre

Şekil 10'dan

PWM1=T0/4+T1/2+T2/2
PWM2=T0/4+T2/2
PWM3=T0/4 olacaktır.

0..360 derecelik alanda herhangi bir açıya konumlanacak döner alan vektörümüzün Alfa ve Beta eksenlerinde almış olduğu  voltaj değerlerinden yola çıkarak pwm registerlerine yüklenecek değerlerin hesaplanışı;

1) Bahse konu açıyı kapsayan iki komşu vektör bulunacak (Kaçıncı segmentteyiz tespit edilecek) Bunun için Valfa ve Vbeta dan yola çıkarak FOC konusunda nasıl hesaplanacağı açıklanmış Va, Vb, Vc üç faz voltajlarını hesaplayıp sinyallerin pozitif durumlarına 1, negatif durumlarına 0 dersek Va,Vb, Vc 3 bitlik sayı oluşturur. Bu sayının alacağı değerler 0..7 aralığındadır ve doğrudan ilgili sektörün numarasını verir. (Şekil 2 deki tabloda pozitif ve negatif değer alan voltajlarda anahtarların 1/0 olarak almış olduğu değerlere ve de sektör numarasına bakın. Not: 000 ve 111 ayni anlama gelir.)

2) Valfa ve Vbeta değerlerinden yararlanarak, 60 derecelik  iki vektörün modülü  hesaplanacak. (Şekil 6)

3)  6 adet PWM paterninden ilgili patern seçilecek. (Şekil 9)

4)  3 adet PWM kanalına yüklenecek parametreler hesaplanacak.

Şekil 11'de pwm kanallarına yüklenen değerler grafiğe dökülmüştür.

SVPWM-11

Aşağıdaki scop görüntüsü STSPIN32F0 kiti üzerindeki uygulamadan alınmıştır.

Kırmızı, yeşil ve mavi grafikler PWM çıkışlarındaki sinyalin 1K, 100n ile filitrelenmesi ile kavuniçi mor ve gri grafikler ise scopta A-B, B-C ve C-A matematiksel işlemleri ile elde edilmiştir.

SVPWM-SCOP

Devam edecek.

 

Bu yazı 2- Arm ve Asm kategorisine gönderilmiş. Kalıcı bağlantıyı yer imlerinize ekleyin.