3 FAZ güç kaynağı

Başlatan kralsam, 02 Ağustos 2013, 12:12:39

Mnemonic

Merhaba,
göndermiş olduğunuz linkdeki örnek çok güzel ancak oradaki örnek tek faz için yapılmış. 3 fazda olay biraz daha değişiyor ve toplamda 6 adet spwm kulanmanız gerekiyor. bunlar çift olarak toplamda 3 grup olarak bulunuyor yani kısacası 3 fazı oluşturuyor. bu grupların zaman kaymalarını değiştirerek faz farkınıda değiştirebilirsiniz.
dikkat etmeniz gereken en önemli noktalardan biri ise her bir faz için ürettiğiniz 2 adet spwm için deadtime denilen zamanı iyi ayarlamak. burada çekeceğiniz akıma göre deadtime'ı arttırmanız gerekiyor.
bir öneride standart piclerden birini kullanmak yerine dspiclerde yada 18f serisinde bulunan motor controller özelliği olan piclerden birini kullanmanız. böylelikle akış diagramından bağımsız rahat rahat sinus üretebilirsiniz.

kralsam

Detaylar daha anlaşılır hale geliyor. :)

Birazda algoritma kısmına gireyim öyle ise. PWM olayını yazılımsal yani timerler ile halletmeyi düşünüyorum. MCU frekansı yettikten sonra onda problem yok. Gerekli frekans kaymalarını vs. parametrik de ayarlayabilirim.( Seri port vs. ile mesela.)

1- Dead time konusu biraz problem. Teorik bilgim var ama pratikte bu DeadTime olayında eksik çok. Bu değerin datasheet'de yazan optimum bir değeri olmuyor mu? Deneyerek mi bulmalıyım?

2- Filtre kısmı RC olamayacağına göre LC düşünüyorum. Ama buradaki L, 3 faz için aşağıdaki resimde yer alan gibi ortak bir nüvede mi olmalı? Tek tek de olabilirmi?


Yardımlarınız için çok teşekkür ederim.

Mnemonic

Merhaba,
evet bu iş malesef öğrendikçe cahilliğim artıyor durumudur. içine girdikçe yeni bir şeyle karşılaşırsın :)
dead time kısmı malesef sizin dediğiniz gibi. biraz deneme yanılma. ama berecebilirseniz işin asıl metedo pid metodudur.
ürettiğiniz gerilimi ölçümleyerek bir dsp yardımı ile işlerseniz deadtime süresini ve ürettiğiniz spwmi sürekli değiştirerek en net sinüsü elde edersiniz.
ancak bu noktada çok ciddi bir matematik bilgisine ihtiyacınız var.
bir önceki mesajımda bahsetmediğim bir konu ise de soft start konusu onuda dikkatli inceleyerek es geçmemeniz lazım. aksi taktirde mosfet yada igbtleriniz kalmış akımı esnasında elinzide kalır :)
lc filtresine gelince L kısmından bende tam emin olamadım ortak nüvede olabılır bağımsızda olabilir. ancak ortak nüvede kullanacaksanız frekansınıza uygun nüve hazırlamanız lazım diye düşünüyorum

kralsam

PID ile dead time müdehale etmek olabilir ama sinus örnek tablosuna müdehale etmek bana sinus yapısın bozar gibi geliyor. Denemek lazım tabiki.

Peki bu işi yapmayı hedeflesem ölçümlemek istediğim çıkış gerilimini nasıl kıyaslamalıyım? Anlık değer bazında mı RMS ölçüm şeklinde mi? Yada Akım mı kıyaslanmalı?

Mnemonic

Merhaba
aslında o kısmın matematiğini bende tam net kestiremiyorum malesef. ancak teoriden biraz bahsetmeye çalışayım.
deadtime değerini değiştirmekde sinus yapısında değişikliklere neden oluyor ve sizin dediğiniz gibi sinus örnek tablosunu değiştirmek kısmına gelince durum biraz farklı. ürettiğiniz sinyal boşta iken çok temiz olsada bir yüke geldiğinde özellikle motor gibi bir yüke geldiğinde büyük sorunlar başlıyor. geriye gelen feedback gürültüleri yüzünden sinus harmonikleri başlıyor. bu noktada spwmden çıkıp thipwm metoduna geçmen gerekiyor. bu noktada yapman gereken işlem ürettiğin sinyali aynı zamanda dinleyerek bir dsp aracılığı ile harmoniklerini alacaksın ürettiğin sinus sinyaline denk gelecek şekilde harmonikleri öldüren ama sinüsü bozmayan bir tablo kuracaksın(ürettiğin sinyal-harmonik=yeni tablo) ve sinusunu o şekilde üreteceksin. ancak bu durumda sabit bir sinus tablosu kullanmaman gerekiyor. thipwm metodunu bir araştır dedim bunun üzerine çok fazla makale bulabilirsin. ayrıca microchipin web sitesinde de dspic ve motor kontrol aplication notları oldukca faydalı

kralsam

Selamlar,

Mosfet tetiklemede IR2110 gibi bir entegre kullanmalımıyım?
İşlemcinin çıkışını direk opto ile mosfete yönlendirsem nasıl olur?

Yada daha iyi mosfet tetikleme yöntemi olarak ne önerebilirsiniz?

Teşekkürler.

Mnemonic

ir2110 guzel bır cozum
aynı zamanda microchipde mc serisi entegreler var  ancak dikkat etmen gerken bir nokta kullandığın igbt buyuklugu ve cekecegın akıma göre gate akımı yükselir kullandığın entegre gate akımını karsıılyabılıyormu ve entegrenın speclerıne gore bootstrap diyot-kondansatorunu dogru koydunmu
dırek olarak opto ıle suremezsın ancak ır yada mc serısı entegreden oncede opto kullanmak zorundasın

kralsam

Şimdilik 18F2550 tek faz için yeterli gibi duruyor. Ama 3 faz için frekansı yeterli değil. faz farkı koymaya kalktığımda frekansı düşürmem gerekiyor. Sanırım ARM işlemci ile yada hiç olmadı  FPGA ile yapacağım.

Şimdi tek faz için deneme yapıyorum. Sonuçları buraya yazarım. Aynı zamanda bir referans olmuş olur.

Mnemonic

merhaba,
yanlız tek fazın üretilme mantığı 3 fazın üretilme mantığından çok farklı. o yüzden 6 mosfetli yapıda 3 faz yerine tek faz üretemezsiniz.
tek faz için H bağlantılı 4 mosfet kullanıp mosfetleri çapraz sürmeniz gerekli onda da ürettiğiniz pwm sinyali ve tetikleme sırası tamamen farklı oluyor ve dead time gibi değerlere ihtiyacımız olmuyor. Eger sonuc olarak ulaşmak istediğiniz nokta kesinlikle 3 faz ise düşük frekanslarda çalışın sonucu elde edin yuksek frekans için sonra başka mcu elde edersiniz
ama size tavsiyem içerisinde motor control pwm olanbir mcu kullanmanız o zaman işiniz çok kolaylaşır.
ben 18f1330 ile 200hz 3 faz elde edebiliyorum mesela

kralsam

#24
Peki hazır pwm sürücü ile her periyotta PWM duty-cycle değerini nasıl değiştireceğim? Kayma olmayacak mı?

Düzeltme: Timer ile değiştirmeyi kast ediyorum.

Mnemonic

18f1330 üzerinde bulunan motor control pwmi birbirine ikişerli olarak kilitlenebilen 6 adet pwmden oluşur yani toplamda 3 pwm gibi yönetirsin.
duty cycle değeri için yazacağın timer interrubı ile register değerini değiştirip elde ediyorsun
basit bit hesap yapacak olursak sinus paternin 90lık olsun
50hz için
1/360/50 = 222ns debir patern değerini değiştirmen gerekir
bu durumda 222ns'lik bir interrupt oluşturup içerisine 3 faz için paternde 30 değer  kaydırarak(90lık patern kullandığımızdan faz farkı kayması ıcın 360lık patern kullansak 90 kaydırmalı yapacaktık)3 registere değer ataması yapıyorsun
3 değer ataması işlemide zaman olarak fazla tutmayacağı için interrupt tazelenene kadar rahatlıkla işlemini bitirmiş oluyorsun
benim kurmuş olduğum devrede 350hze kadar problem oluşmadan çıkabiliyorsun xtall olarak mcu sınırı olan 40mhz kullandım

kralsam

#26
Hocam,
elimin altında FPGA olduğundan onunla uygulamaya başladım. Seri üretim olayı şimdilik yok zaten. Daha sonra MCU ile yapıp yerine öbürünü takarım.

Size sormak rica edeceğim aşağıdaki resimlerde yer alan dalga formları hakkında fikir beyan etmeniz.

1.Resim: Mosfet çiftleri için üretilen PWM sinyalleri görünmekte. Örnek olarak Pwm0 ve PWM0_not takım.
(Google Drive deki resimleri forum göstermedi link olarak ekledim.)

https://docs.google.com/file/d/0B-AaEzAOkB-4cG82bm9wNjBabEE/edit?usp=sharing


2.Resim: PWM0 1 olduğunda PWM0_not sinyaline deadtime uygulanmış hali görülüyor.

https://docs.google.com/file/d/0B-AaEzAOkB-4cjNRMENVVTZoNWs/edit?usp=sharing


3.Resim: PWM0 0 olduğunda PWM0_not sinyaline deadtime uygulanmış hali görülüyor.

https://docs.google.com/file/d/0B-AaEzAOkB-4cjNRMENVVTZoNWs/edit?usp=sharing




4.Resim: Duty değerlerinin Analog görünümü

https://docs.google.com/file/d/0B-AaEzAOkB-4em01RXhMTUZ0ZnM/edit?usp=sharing


Burada en çok merak ettiğim konu dead time uygulaması doğrumu? Yani her iki sinyal aynı doluluk oranına sahip ve biraz gecikmeli olarak bir birinin terslenmiş hali.

Dead time değerlerini terslenmiş sinyallere parametrik ayarlanabilir şekilde uyguladım.

Yardımlarınız için çok teşekkürler.
İyi çalışmalar.

@Düzeltme: Resimler görünür hale geldi.

kralsam

Selamlar,
Dead time ın uygulanması hakkında bilgisi olan arkadaşlar olayın zamanlaması nasıl oluyor?

Teşekkürler.

kralsam

Dead time olayının aşağıdaki gibi olması daha mantıklı geldi. Çünkü sadece kaydırma yaparsam aynı anda iki mosfet çıkış vererek kısa devre olacaktı.




Deneme sonuçlarını yaptıktan sonra ilk fırsatta paylaşacağım.

Kolay gelsin.

kralsam

FPGA üzerine yüklenmiş uygulamanın pozitif iki farklı kanal için filtre çıktısı.
(Filtre R-C dir.)

Henüz mosfet ile denemedim ama şimdilik çok güzel duruyor.





Yardımlarınız için çok teşekkür ederim. İnşallah mosfet kısmında da sorun çıkmaz.

İyi çalışmalar.