Space Vector Modulation(SVM) Konusu

Başlatan Mucit23, 16 Mart 2018, 11:48:28

Cemre.

Hocam, siz bu açı değerini 0-360 derece arasında küçük adımlarla gezdirmiyor musunuz? 0, 60, 120... gibi hızlı atlamalarla çalışacaksanız svm'in ne anlamı var anlamadım?

Mucit23

Hocam şuan için değil. 60'ar derece arttırarak döner alan oluşturabilsem bir sonraki aşamada enkoder temin edip enkoder ile bu işlemi yapacağım. Ozaman dediğiniz gibi doğrudan açıyla oynayıp konum kontrolü yapmaya çalışacağım.


bulut_01

enkoder yok ise svpwm ile ugrasmakda bos gibi geliyor.
YENİLMEZ..

Cemre.

Alıntı yapılan: bulut_01 - 28 Mart 2018, 08:36:49
enkoder yok ise svpwm ile ugrasmakda bos gibi geliyor.

Sensörsüz Vektör Kontrol'de de enkoder yok :)

bulut_01

lineer biçimde 360 dereceyi nasıl hesaplayıpda her acıda sinyal oluşturacak? enkoder olmadan.
YENİLMEZ..

Mucit23

@Cemre. Hocam tamam hall komutasyonu boşverdim. Bir döngü içerisinde açı değerini sürekli 0-360 arasında arttırdım ama yine döner alan oluşmuyor. Döner alanın genliğini bir potansiyometre ile değiştiriyorum.

Açıyıda söngü içerisinde aşağıdaki gibi sürekli arttırıyorum.
      
angle++;
		if(angle>359)
		{ 
		   angle=0;	
		}	
	 	delay_us(100);


Genliği arttırdığımda motorun döner alanı takip etmesi gerekir fakat motorda ufak tefek kıpırdamalar dışında hareket yok. Atladığım şey nedir neyi yanlış yapıyorum hocam?

bulut_01

bence atladıgın nokta rotorun pozisyonunu bilmemen.
YENİLMEZ..

Cemre.

Alıntı yapılan: bulut_01 - 28 Mart 2018, 11:12:41
lineer biçimde 360 dereceyi nasıl hesaplayıpda her acıda sinyal oluşturacak? enkoder olmadan.

İşte o da sensorsuz kontrolün konusu. Faz akımlarından estimate edeceksiniz vs. Buradaki konuyu çok dağıtır ama evet böyle bir şey var.

@Mucit23 hocam, sorunuza gelecek olursak, dedigim gibi başta bir hizalama prosesi isletmelisiniz. Mesela angle 0 iken 200 300ms boyunca bekleyin rotor pozisyonunun belirli bir acıya oturduğunu görün. Daha sonra 0-360 arasinda gezdirin bakalim nasıl tepki veriyor. Bir de buna ek olarak V/f prosedürü çalıştırmayı deneyin. Yani pottan max magnitude gelirken max dönüş frekansı olacak şekilde oradaki delay'i degistiren bir iki satir kod yazin. Açık çevrim olarak bu şekilde çalışması lazım motorun.

Telefondan yazdım kusura bakmayın. PCye geçtiğimde duzeltecegim.

Mucit23

Hocam frekans çok düşük. Buna gerek varmıki ? Kutup sayısı ile ilgili olabilir.  Döngüyü biraz daha hızlandırıp deneyeyim.

Mucit23

Selamlar

Vizelerim Araya girdiği için 2 haftadır proje ile doğru düzgün uğraşamadım. Bugün güzel gelişmeler oldu.

Bir önceki videoda

Motorun düzgün dönmemesinin sebebi döngü içerisinde döngüyü sekteye uğratan sprintf ve printf fonksiyonlarıymış.

sprintf(txt,"angle=%d %f %f %f\n",angle,pwmu,pwmv,pwmw);
printf(txt);

Bu kodların işlenmesi çok uzun sürdüğü için işlemler sekteye uğruyordu. Bunu kaldırdım açıyı yine kendim arttırdım ve motor dönmeye başladı. Daha sonra hall sensörlerden aldığım bilgiye göre açıyı 60'ar 60'ar arttırdım. Sonuç videodaki gibi.



Gayet stabil bir şekilde çalışıyor. Hatta sanki Blok komutasyona göre biraz daha sessiz çalışıyor. Emin değilim.

Osiloskop ile Faz Faz arası gerilimleri görüntüledim. Sinyal nedense çok gürültülü.



Osiloskobun GND'sini W fazına bağlayıp Canlı ucları U ve V fazlarına bağlıyorum. Bu kadar çok gürültü olması normalmidir? Ölçüm hatası olabilirmi?

Zoroaster

O meshur sinusel katlanmayi goremiyorum. Sanki pwm degerlerini hesaplayan rutin hemencecik saturasyona ugramis veriler uretiyor.

Seytan deliginden kacti.

M.Salim GÜLLÜCE

Alıntı yapılan: Mucit23 - 06 Nisan 2018, 12:28:04Osiloskobun GND'sini W fazına bağlayıp Canlı ucları U ve V fazlarına bağlıyorum. Bu kadar çok gürültü olması normalmidir? Ölçüm hatası olabilirmi?
Mucit kaardeşim bana pek anoprmal gelmedi. 3 fazdan birini GND farzedip ölçtüğünde mutlaka ve mutlaka Köprü çıkışının hiç bağlantı kurmadığı bir anını yakalar. Zaten Her faz için tamamen HI-Z durumuda bazı anlarda olmak zorunda. Yani GND Kabul ettiğin nokta boşa çıkarsa ölçüm zıplamaları normaldir.

Acizane tavsiyem çok yüksek değer olmasada senin akım kapasiteni bozmayacak değerde + ya ve - ye eşdeğer direnç bağlayarak GND noktası şeklinde ölçmendir.
Besleme geriliminin Ortası gibi düşünebilirsin.

Mucit23

Abi Merhaba

Alıntı yapılan: Mehmet Salim GÜLLÜCE - 06 Nisan 2018, 14:30:10Acizane tavsiyem çok yüksek değer olmasada senin akım kapasiteni bozmayacak değerde + ya ve - ye eşdeğer direnç bağlayarak GND noktası şeklinde ölçmendir.
Besleme geriliminin Ortası gibi düşünebilirsin.

Abi yöntemi tam anlayamadım.

+ ve - Derken DC baradan mı bahsediyorsun. Benim Aklıma U V ve W faz hatlarına 0.1R Direnç bağlayıp bu direnç üzerindeki gerilimi görüntülemek. Bu şekilde akımı net görebilirim. Ama Osiloskobumun probları izole olmadığı için aynı anda en fazla 1 kanal görüntüleyebilirim.

Mucit23

Birkaç Resim aldım.

Fazlardan Birine 0.1R Taş direnç bağlayıp bu direnç üzerindeki gerilimi görüntüledim.
Bu resimde Açıyı kendim 1 derece aralıklarla 0-359 arasında gezdiriyorum. Genlikle oynuyorum. Motorda döner alanı takip ederek dönüyor.



Ben burada 2.34V luk pik gerilimler görüyorum. 0.1ohm dirence bölünce 23 küsür amper akım yapar. Ki zaten 5W taş direnç aşırı ısınıyor. Mosfetlerde biraz çalışınca ısınmaya başlıyorlar.
Aynı görüntünün biraz yakınlaştırılmış hali


Burada ise açıyı 60'ar 60'ar arttırıyorum. Tek fazın akım dalga şekli bu şekilde.



Akımın bu kadar yüksek piklere çıkmasının nedeni nedir?

Cemre.

Taş direnç ile değil de varsa SMD veya bobin şeklinde sargı içermeyen başka bir direnç ile denerseniz daha iyi olabilir. Ya da piyasada satılan hall effect current transducer (ACSxxx serisi) modülleri ile de deneyebilirsiniz.