12 bit pwm sinyali

Başlatan _MOD_, 06 Nisan 2011, 23:38:35

_MOD_

Selam. Pic 16f887 10 bit pwm üretiyor. 12 bit pwm sinyali üreten bir yapı lazım. Türkiyede bulabileceğim tavsiye edebileceğiniz bir entegre varmı?

Yada 12 bit pwm sinyali 16f887 nasıl üretilir?

z

Cipi onerim yok fakat bu pwmi ne amacla kullanmak istedigini cok merak ettim.

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

_MOD_

3500 devir motor kontrolü yapılacak. 12 bit çözünürlüklü bir adc gerekti. Hesaplamaların 12 bit olarak pwme yasıtılması gerekiyor.

z

log(3500)/log(2) gibi bir bagintidan yola ciktiysan yanlis yoldasin.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

_MOD_

log mu? aslında ben oralara hiç girmedim.

12 bit referans bilgisi - 12 bit adc bilgisi = 12 bit pwm bilgisi

diye gittim. düz mantık yani

z

DAC yada Pwm de bit uzunlugu hangi kritere gore secilir?

Bahsettigin projeyi 8 bit ile yapabilirim.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

_MOD_

Aslında sekiz bitle yapılabiliyor olması benim için sevindirici bir haber olur. Fakat 3500 rpm 8 bit çözünürlükle adc den geçirirsek 3500 / 255 den yaklaşık olarak bit başına 14 rpm düşüyor. Ben çıkış olarak 8 bit bir pwm kullanırsam 1 bit de 14 devir dönerse referansa oturmada sıkıntı çıkmazmı?

z

Projeyi yaptim oldu mantigiyla bitireceksen internette illaki bir uygulama notu hatta hazir kodlar bulabilirsin.

Yok projeyi hakkiyla bitirecegim dersen otomatik kontrol,  digital kontrol gibi iki onemli dersi almis olman daha dogrusu anlaman sart.

ADC, DAC yada PWM bit uzunlugu konusunu hic proje hocanla tartistin mi? Ya sample alma suresini?

Bence tartis.


Bana e^st de diyebilirsiniz.   www.cncdesigner.com

_MOD_

Aslında otokontrol ile sayısal kontrol dersi alıyoruz. Ama açıkası nasıl kullanacağımı bilmiyorum.

Hocamla bu konuyu tartışmayı düşünüyorum. Umarım geç kalmamışımdır.

Ama yinede merak ettim. Acaba yanlış bir açıdan mı düşünüyorum? Aslında pwm adc çözünürlüğü 8 bit olsa da olurmu?

Eğer olursa bunu hayata geçirmesi çok uzun sürer mi?

z

Diyelim ki devir sayisini +/- 1 dogrulukla kontrol etmek istiyorsun.

Devir sayisi araliginda 0..3500 rpm olarak belirlendi.

Bu durumda eger devir bilgisini okuyacak ve hatayi sayisal olarak sen hesaplayacaksan ADC cozunurlugun 12 bitin cok ama cok ustunde olmalidir.
Cunku hata daha rahatsiz edici boyuta (+/-1) gelmeden kontrollor gerekli onlemi alabilsin.

Yok, eger hata sinyali analog olarak elde edilecek ve  yukseltilmis hata, ADC ile olculecekse bu durumda ADC cozunurlugu ornegin 8 bit olabilir. Ancak bu kez de hatanin sature edilmesi sorunu cikar ve saturasyonun oldugu sistemlerde S daha dogrusu Z ise yaramaz.

PWM cozunurlugu ile 3500 rakaminin daha dogrusu 12 bitin hic bir alakasi yok. PWM cozunurlugu ripili belirler. Yuksek zaman sabitli elektrik motorlarinda akimdaki ripilin mekanige yansimasi hissedilmez. Cunku motor zaten low pass filitre yapisindadir. Dolayisi ile pwm cozunurlugunu yuksek tutmanin anlami yok. Cunku mekanik zaman sabiti, elektrik zaman sabitinin cok ve cok ustundedir.

Ne zaman yuksek tutarsin?

Dusuk enduktans ve ataletli coreless motorlarda ripil mekanik anlamda hissedilebilir. Zaten bu durumda sadece pwm cozunurlugunu degil pwm frekansini da dikkate almalisin.

Eminimki simdi de pwm frekansim ne olacak diye soracaksin.

Bence profesorunle bu konuyu tartis.

Digital bir kontrol sisteminde, ADC, DAC, PWM cozunurlugum ne olmali diye sor. Sample alma surem ne olmali de. Pwm frekansim ile sample alma surem arasinda nasil bir baginti vardir de?

Talebeyken toy oluyoruz, kaliteli soru nasil sorulur bilmiyoruz. Mezun olunca palazlaniyorsun bu kez de proflar (kendi hocalarin) yuzune bakmiyor sorularina cevap vermek icin danismanlik ucreti talep ediyorlar.

(Benim gecmis yillardan bir kuyruk acim var, rovansini al)
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

_MOD_

Hocam la konuştum. Ama açıkcası çok fazla birşey anlayamadım. Nerden başlayacağım bilmiyorum. O sample süresini farklı bir şekilde bulmamı söyledi. Mesela 3500 rpm de dönecekse benim motorum hoca dedi onu 60 a böl saniyedeki devirini bul dedi. Ondan sonra saniyede bu kadar devir dönüyosa bir derece dönmesi için ne kadar kaç sn geçmesi gerekir onu bul dedi. O sample süresi olacakmış. Yani bir derece dönmesi için geçen sn sample süresiymiş.

Ben 3,9 ms gibi bir değer almıştım çünkü pid çıkışlarını hesaplarken sample süresi ile çarpım yada bölüm yapmak kolay oluyordu. 8 bit sağa 8 bit sola kaydırmam gerekiyordu.

Projede bunları yapana kadar baya uğraşmıştım. Şimdi sil baştan yapmak çok zaman alacak. Acaba 2-3 haftada olabilecek birşeymi bu dc motor pid hız kontrolü?

z

Donanım hazırsa ve C ile yazacaksan 2-3 hafta yeterli bir süre. Asm ile yetiştirmek zor.
Eğer bu süreye dokuman hazırlama da dahilse ve tüm zamanını buna harcayacaksan olabilir.

Eğer ortada donanım yoksa yaş iş.

Hocanın önerisine göre;

Motor 3600 rpm olsa saniyede 60 devir. 

1 sn de         60x360 derece donerse
kac sanıyede 1 derece doner

T=46 mikrosaniye

Bu akım kontrol çevrimi için güzel bir seçim. (Tipik 100us)
Bunun da 10 katını hız çevriminde kullanırsın, bu da 460 us. (Tipik 1ms)

Piyasadaki kontrol kartlarının çoğunda seçilen sample alma sayısının 2-3 katı hızda örnek alacaksın.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

_MOD_

Donanım olarak sürücü entegresi felan var? Kastettiğiniz o mu? lmd18200
Motoru hoca vercek

Bu arada akım kontrol çevrimi nedir?
Hız çevrimi nedir?
ve neden 100us ile 1ms ye yuvarladık bunları?

Birde örnek alır almaz pid çıkışlarını hesaplayıp çıkışa yansıtmam mı gerekiyor acaba örnekdeki değişimi? Eğer öyleyse 46us de bir bunu başarabilirmiyiz?