DAC

Başlatan muat, 22 Şubat 2007, 18:27:55

muat

Bir mikrodenetleyicinin adc pinleri aynı zamanda dac için kullanılabilir mi?
Yani bi registere yazılan değerde voltun pinden çıkması gibi bişi, - ye inmesini beklemiyorum. Bu genel bi soru ama özellikle ATmega32 için soruyorum.
Cevaplarınız için şimdiden teşekkürler.
İyi akşamlar.

ibrsel

.Eğer digital bir bilgiyi Analog sinyale çevirmekse amacın;bunu PIC in uygun bir pininden PWM kullanarak 0-5 V arası gerilim değeri elderek yapabilirsin diye düşünüyorum..

muat

evet ama benim istediğim bir sinüs dalgası oluşturmak. Hocam böyle birşeyin mümkün olduğunu söyledi ve bunu yapmamı istedi, ama ben mümkün olduğuna emin değilim. o yüzden soruyorum.

Klein

renesas m16c de 8 bit DAC  var
ayrıca pwm ile de sinüs oluşturabilirsin

muat

pwm ile sinüs oluşturmayı biraz açarsanız sevinirim.

Klein

eğer  yazılım olarak sinüş oluşturabiliyorsan , bunu dış dünyada oluşturmak çok kolay.  Diyelim ki bir sinüs tablon var.  Örneğin 1 milisaniyede bir örnekleme yapacaksın. Bu durumda 50 Hz için , tabloda 20 adet değerin olur. her 1 milisaniyede bir tablodan bir sonraki değeri alarak PWM çıkış değerine atrsın.  

TimerService{
I++;
PWM_register= sinustablo[I];
if(I>20) I=0;
}

gibi...

muat

PWM_registere verilen değer ile görev süresini mi belirliyoruz?
Böylece çıkıştaki ortalama voltaj değişiyo, yani ürettiğimiz kare dalgaların sıklığını değiştiriyoruz ve sinüs benzeri bişi çıkıyo?

Klein

Evet doğru sayılır. Eğer bir saykıl için ne kadar çok örnekleme yaparsak , sinüsümüzün şekli o kadar düzgün olur.  Ama PWM de kare dalganın sıklığı değişmez. PWM frekansı sabittir. On-Off (duty-cycle) zamanları değişir. PWM çıkışını pasif ( direnç-kapasitör) veya aktif filtreler ile filtre edersek duty-cycle oranına göre çıkış voltajı değişir. PWM konusu forumda yeterince tartışıldı. Bir göz atarsanız konuyu daha iyi kavrarsınız sanırım.

muat

ya ben şuanda pwm ile çıkan voltajı devamlı değiştiriyorum, fakat bunu sinüs dalgasına nasıl çevirebilirim?

muat

arkadaşlar lütfen çok acil birşey, ben bu pwmyi nasıl sinüs sinyaline dönüştürürüm...

Klein

220V - 5 v  bir trafo al bu trafonun çıkışını ADC ye gir. ADC den gelen değeri PWM e at. bu sana fikir verir.

Macera

Alıntı yapılan: "muat"arkadaşlar lütfen çok acil birşey, ben bu pwmyi nasıl sinüs sinyaline dönüştürürüm...

Microchipin sayfasında uygulama notu var

http://ww1.microchip.com/downloads/en/AppNotes/00655a.pdf
"Art without engineering is dreaming; engineering without art is calculating." -- Steven K. Roberts

muat

ben voltajı değiştirebiliyorum, şuan benim merak ettiğim, bu pwmyi, sinüs şekline çevirmek için nasıl bir donanım kullanmam gerektiği?

Klein

Sevgili kardeşim.... PWM ile sinüs oluşturmak için ayrı bir donanıma ihtiyacın yok.  PWM çıkışını seri bir dirençten geçirip bir kapasitör ile filtre edersen , PWM değerine göre değişen bir gerilim elde edersin. Sinüs oluşturma işi ise tamamen yazılımına kalıyor.  Zamana göre pwm değerini artırıp azaltarak sinüs formuna sokacaksın.