Bu akşam diydac'la oynamaya devam ediyorum. set değerlerinde voltaj zıplaması ve gürültü sorunuyla uğraşırken, bu sorunların kaynağını tespit ettim ve kabul edilebilir bir seviyeye getirebildim.
Diydac'ta hc595'leri spi yoluyla sürüyorum, bunu yaparken de yüksek hızda çalışmasını hedefliyordum ve spi çalışma frekansını da hc595'ler desteklediği için atmega328'in maksimum frekansında kullanıyordum. Önce çiplerin "latch " inputlarını 10k dirençle sürdüm gürültü biraz azaldı, sonra spi frekansını fCpu/64'e çektim. Görüntülediğim sinyalde hc595 anahtarlama gürültüsü kalmadı denebilir.
Bu spi ile sürülen en yavaş halinde 130us gibi bir sürede gönderiyorum komutu. Tabi uygulamada mcu bu sürenin %1'inde bile meşgul olmayacak.
Bu spi hızında merdiven şeklindeki çıkışla herhangi bir seviyede anormallik var mı diye görmek için inceledim. Uygulamada DAC hizini önemsiz görüyorum.
21358 eklentisine bak
3KHzkare dalga ile sinyalin tepe ve dipleri aşağıdaki gibi.
21359 eklentisine bak21360 eklentisine bak
Burada dip ve tepe süresince HC595 inpuları sürülmekte. görünen gürültü osiloskobun Ground kıskacında da ölçtüğüm osiloskobun kendi gürültüsü kadar. Ufak dalgalanma da DC voltajlarda da gördüğüm DAC'dan kaynaklayanmayan dalga.
Şu halde iyi ayarlanıp kalibre edilmiş bir analog devreyle kullanıldığında ADC çözünürlüğünden bağımsız olarak yükü yüksek çözünürlükle adımlamak mümkün. Yani ADC ile ölçülemese de ayarlanmış akımım geçtiği varsayılarak hesaplama yapılabilir.
Kullanımda, analog devreyle eşleştirmek için DAC negatif beslemesini G'in biraz altında kararlı bir şekilde opampla sağlamayı düşündüm. uygulamada nasıl olacak bakalım...