MCP4922 Otomatik DAC Kalibrasyonu

Olur. Aslında referans voltajın ne kadar faydası olacağını test edebilirsin. İki tane 1.5 V pili seri bağla ve onu referans olarak kullan. Eğer fayda sağlarsa 3.3 V referansı da alırsın.
 
Olur. Aslında referans voltajın ne kadar faydası olacağını test edebilirsin. İki tane 1.5 V pili seri bağla ve onu referans olarak kullan. Eğer fayda sağlarsa 3.3 V referansı da alırsın.
Ama her halukarda önce 1.8v a düşürmem gerekmez mi voltajı?

Bir de pil yerine 3.3 güç kaynağından hassas şekilde ayarlayabilirim ama akım sınırı yok. Picoya zarar verir miki?
 
Arduino adc sinde son hane sürekli bir puan oynuyor. Fazlası yok sadece bir puan. Ortlama alma yöntemlerini denediğimde de sonuçta oynama azalsa da devam etti. Bu durumda bende if ile bir puandan yüksek yeni değeri kabul et dedim oynama falan kalmadı. Sonuç 1 puanlık ölçüm hatası. .

Sende de sadece son hane oynuyor ise deneyebilirsin. Ama 3,5 puan oynuyorsa olmaz tabi.
 
Arduino adc sinde son hane sürekli bir puan oynuyor. Fazlası yok sadece bir puan. Ortlama alma yöntemlerini denediğimde de sonuçta oynama azalsa da devam etti. Bu durumda bende if ile bir puandan yüksek yeni değeri kabul et dedim oynama falan kalmadı. Sonuç 1 puanlık ölçüm hatası. .

Sende de sadece son hane oynuyor ise deneyebilirsin. Ama 3,5 puan oynuyorsa olmaz tabi.
Bendeki sıkıntı büyük ya. Ama anladığımız kadarıyla 1.8v yerine 3.29v verdiğim için sapıtıyor. Önce bu voltajı ayarlayacağım. Eğer 1 puan oynarsa dediğin gibi halledebilirim.
Şu anda full değerde 1023 okuması gereken ADC maks 1020 okuyor. O da 1013 ile 1020 arasında 7 puan fark ile.
 
3.3 V vereceksin ADC ye, bu besleme voltajı. Ama girişe en fazla 1.8 V vereceksin. Şimdi şundan emin değilim yalnız. Referans voltajı olarak neyi alıyor bu? 3.3 V mu yoksa kendi içinde 1.8 V mu türetiyor? Eğer 3.3 V referans alıyorsa o zaman kötü. ADC efektif olarak 12 bit yerine 11 bit ADC haline geliyor.

Aslında bende bir pico var. Arduino IDE ye nasıl tanıtacağımızı bir keşfedeyim ben de denemeler yapmak istiyorum.
 
Şu anda full değerde 1023 okuması gereken ADC maks 1020 okuyor. O da 1013 ile 1020 arasında 7 puan fark ile.

Bu değişkenliği sebebi 1.8 V u aşman değil. Bu büyük ihtimalle ADC besleme voltajındaki gürültüden kaynaklanıyor.

1.8 V u aşınca yanlış ölçüm olur, eksik ölçersin.
 
3.3 V vereceksin ADC ye, bu besleme voltajı. Ama girişe en fazla 1.8 V vereceksin. Şimdi şundan emin değilim yalnız. Referans voltajı olarak neyi alıyor bu? 3.3 V mu yoksa kendi içinde 1.8 V mu türetiyor? Eğer 3.3 V referans alıyorsa o zaman kötü. ADC efektif olarak 12 bit yerine 11 bit ADC haline geliyor.
Benim de kafam karıştı. ADC nin GND side ayrı sanırım. Şimdi benim şemaya bakacağım GND yi ne yapmışım diye.

Aslında bende bir pico var. Arduino IDE ye nasıl tanıtacağımızı bir keşfedeyim ben de denemeler yapmak istiyorum.
Bu çok kolay.
Arduino ide tercihlerden pico linkini yapıştırıp, kart kütüphanesinden pico aratıp yüklüyorsun o kadar. Github da linki var. Ben evde olmadığımdan veremiyorum linki.

Bu değişkenliği sebebi 1.8 V u aşman değil. Bu büyük ihtimalle ADC besleme voltajındaki gürültüden kaynaklanıyor.

1.8 V u aşınca yanlış ölçüm olur, eksik ölçersin.
Netteki videolarda genelde 3.3v veriyorlar ADC ye 1.8v dan hiç bahseden olmamış. Ama hayırlısı bakalım. Senin testlerin asıl sonucu verir.
 
3.3 V vereceksin ADC ye, bu besleme voltajı. Ama girişe en fazla 1.8 V vereceksin. Şimdi şundan emin değilim yalnız. Referans voltajı olarak neyi alıyor bu? 3.3 V mu yoksa kendi içinde 1.8 V mu türetiyor? Eğer 3.3 V referans alıyorsa o zaman kötü. ADC efektif olarak 12 bit yerine 11 bit ADC haline geliyor.

Aslında bende bir pico var. Arduino IDE ye nasıl tanıtacağımızı bir keşfedeyim ben de denemeler yapmak istiyorum.
 
Kafama takılan iki sorum var.

1- DAC' a set ettiğim değeri çıkışından alamıyorum. 998,3 gönderdiğimde DAC' çıkışından tam 1V alabiliyorum. Bu sorunu çözmem lazım.

2- İlk açılışta DAC'a 0 set ediyorum ama çıkışında 0,001 oluyor. Bu da güç kaynağı çıkışında 0.025V veriyor. Böyle olunca da ekranda da 0.18V civarı görünüyor. Ben bunu if ile sıfırlıyorum ama bunun yansıması sadece ekrena oluyor. Hadi onu kabul ettim diyelim ama 1V ayarladığım da tekrar devreye giriyor ve 1.18V oluyor.

Bu iki adım sorunumun en başı. Öncelikle bu ikisini çözmeliyim. Zaten anladığım kadarıyla gerisi çorap söküğü gibi gelecek.
 
Gene böl ve yönet taktiğini uygula. DAC'ın çıkışını devreden ayır ve o şekilde istenen değeri veriyor mu bak.
 
Gene böl ve yönet taktiğini uygula. DAC'ın çıkışını devreden ayır ve o şekilde istenen değeri veriyor mu bak.
Abi DAC'ın iki kanalına da aynı değeri set ettim.

Voltaj kanalına en son 1K direnç takmıştık onu söktüm.
Şuanda voltaj kanalını boşta ölçtüğüm de gönderdiğim değer 998.3, okuduğum değer 1V
Test için amper kanalınada aynı işlemi uyguladım. Onda 27K direnç vardı. Sökmeden ölçüm yaptım.
998.3 gönderiyorum, çıkışından 998mV değer okuyorum. Amper kanalında sorun yok gibi.
 
Sorunu anlayana kadar sadece dijital veri göndererek test et. Yani DAC registerine ne yazıyorsun, çıkışta kaç volt okuyorsun.

Akım DAC'ı ve gerilim DAC'ına aynı veriyi yazarsan çıkışta da aynı voltajı görmen lazım. Görmüyorsan çok temel bir sorun vardır.
 
Sorunu anlayana kadar sadece dijital veri göndererek test et. Yani DAC registerine ne yazıyorsun, çıkışta kaç volt okuyorsun.

Akım DAC'ı ve gerilim DAC'ına aynı veriyi yazarsan çıkışta da aynı voltajı görmen lazım. Görmüyorsan çok temel bir sorun vardır.
Abi DAC 0 ve DAC 1 çıkışlarına 1000 değeri gönderiyorum.
Multimetreden okuduğum
DAC 0 (Amper çıkışı) 1000
DAC 1 (Voltaj çıkışı) 1002

Bu voltaj çıkışında 2 puanlık bir sorun var.
 
Abi DAC 0 ve DAC 1 çıkışlarına 1000 değeri gönderiyorum.
Multimetreden okuduğum
DAC 0 (Amper çıkışı) 1000
DAC 1 (Voltaj çıkışı) 1002

Bu voltaj çıkışında 2 puanlık bir sorun var.

Bu şekilde sistem dursun bakalım. Ara ara ölç, çıkış her zaman sabit 1.000 V ve 1.002 V mu kalıyor yoksa oynuyor mu görelim.
 
Bu şekilde sistem dursun bakalım. Ara ara ölç, çıkış her zaman sabit 1.000 V ve 1.002 V mu kalıyor yoksa oynuyor mu görelim.
Tamam abi.
Arkotek de Orjinal Microchip MCP4922 var. 69TL fiyatı var ama kargosuyla 90'a geliyor. Ondan alıcam bir tane.
 
Bu şekilde sistem dursun bakalım. Ara ara ölç, çıkış her zaman sabit 1.000 V ve 1.002 V mu kalıyor yoksa oynuyor mu görelim.
Yaklaşık 4 saattir açık. Ara ara ölçüyorum. 1 puan bile değişim yok. Biri 1000, diğeri 1002
 
Bu iyi, herşey stabil o zaman. Bu durumda tek yapman gereken, DAC'a yazılan dijital veriden 2 çıkarmak.
 
Hmm ama bir dakika. 2 çıkarırsan DAC verisi 1 ve 0 olduğunda negatife inersin, olmaz.
 
Hmm ama bir dakika. 2 çıkarırsan DAC verisi 1 ve 0 olduğunda negatife inersin, olmaz.
DAC çıkışı ile oynayamayız ki abi. Set ettiğimiz sayı ile oynarız.
Ben katsayısından değil de katsayı ile çarpılacak voltajı -2 gönderirim sorun çözülür diye düşünüyorum.
Eğer sıfır gönderme ihtiyacı hissedersem de if ile sıfır geldiyse -2 yapma derim.
Biraz kurcalayayım bakalım.
 

Çevrimiçi üyeler

Forum istatistikleri

Konular
5,788
Mesajlar
98,999
Üyeler
2,464
Son üye
s4met

Son kaynaklar

Son profil mesajları

cemalettin keçeci wrote on HaydarBaris's profile.
barış kardeşim bende bu sene akıllı denizaltı projesine girdim ve sensörleri arastırıyorum tam olarak hangi sensör ve markaları kullandınız yardımcı olabilir misin?
m.white wrote on Altair's profile.
İyi akşamlar.Arabanız ne marka ve sorunu nedir.Ben araba tamircisi değilim ama tamirden anlarım.
* En mühim ve feyizli vazifelerimiz millî eğitim işleridir. Millî eğitim işlerinde mutlaka muzaffer olmak lâzımdır. Bir milletin hakikî kurtuluşu ancak bu suretle olur. (1922)
Kesici/Spindle hızı hesaplamak için SpreadSheet UDF'leri kullanın, hesap makinesi çok eski kalan bir yöntem :)
Dr. Bülent Başaran,
Elektrik ve Elektronik Mühendisi
Yonga Tasarım Özdevinimcisi
Üç güzel "çocuk" babası
Ortahisar/Ürgüp/Konya/Ankara/Pittsburgh/San Francisco/Atlanta/Alaçatı/Taşucu...

Back
Top