MCP4922 Otomatik DAC Kalibrasyonu

Gokrtl

Gökhan Kartal
Staff member
Katılım
27 Şubat 2019
Mesajlar
7,855
daha optimize daha yavaş bir okuma yapmalıyız
Nasıl olacak o?
1 kerede okusam oynuyor, for döngüsü ile 350 kere de okusam oynuyor.
Benim anlamadığım 350 kere okuduğu şeyin ortalamasını aldığında oynamaması lazım. Net bir rakam olması lazım. İçimden bir ses başka bir sorun var diyor.

Evet faydası olur. Yalnız iki şey gerekli:

1) Picoyu yapılandırman lazım "harici referansı kullan" demen lazım. Nasıl yapılacağını kafadan bilmiyorum, dokümantasyonu incelemek lazım.

2) Mevcut 4.096 V referansı kullanamazsın, ya 3.3 V referans entegresi alacaksın, yada düşük toleranslı dirençlerle gerilim bölücü yapıp 3.3 V vereceksin picoya. Masraf yapmak istiyorsan aşağıdakilerden birisini alabilirsin :)

Faydası olmasından ziyade kesin sabitlemesi lazım abi. Yoksa boşa kürek çekmiş olurum.
 

taydin

Timur Aydın
Staff member
Katılım
24 Şubat 2018
Mesajlar
13,798
Faydası olmasından ziyade kesin sabitlemesi lazım abi. Yoksa boşa kürek çekmiş olurum.

Bir ADC'de son hane her zaman belirsizdir. Dünyanın en pahalı ADC sini alsan da bu böyledir. O yüzden belli bir değişkenlik mutlaka olur. Onu da azaltmak için daha önce koyduğum ortalama alma algoritmasını uygulaman lazım. Bir ara arduino ADC için örnek program koyarım.
 

Ahmet

Kıdemli Üye
Katılım
31 Mayıs 2021
Mesajlar
2,597
Nasıl olacak o?
1 kerede okusam oynuyor, for döngüsü ile 350 kere de okusam oynuyor.
Benim anlamadığım 350 kere okuduğu şeyin ortalamasını aldığında oynamaması lazım. Net bir rakam olması lazım. İçimden bir ses başka bir sorun var diyor.
ayrı ayrı 10 kere okuyup bunların ortlamasını alacağız ayrı ayrı 10 okumadan çıkan sonuçların birdaha ortlamasını alacağız

10 kere oku ortlama al----10
. ----17
.
.
.
.
.
.10 kere oku ortlama al son 19

bunlardan çıkanların ortlamasını al

15
 

Gokrtl

Gökhan Kartal
Staff member
Katılım
27 Şubat 2019
Mesajlar
7,855
Bir ADC'de son hane her zaman belirsizdir. Dünyanın en pahalı ADC sini alsan da bu böyledir. O yüzden belli bir değişkenlik mutlaka olur. Onu da azaltmak için daha önce koyduğum ortalama alma algoritmasını uygulaman lazım. Bir ara arduino ADC için örnek program koyarım.
Şu FIR olayını diyorsun sanırım. Akşam eve geçince bakayım ona.
 

Ahmet

Kıdemli Üye
Katılım
31 Mayıs 2021
Mesajlar
2,597
32f103C ile kursak analog okuma olarak zorluk sorunlar yaşamazdık 1 liralık pot bile bağlasam sanki ortlama almış gibi oynamadan okuma yapıyordum.

32f103 picodan daha eski olmakla birlikte bence daha fazla özelliği ve daha kullanışlı özellikleri var.

üstünde dahili usb hattı var.
chip 3.3v olmasına rağmen 5V toleranslı pilneri var hiçbir gerilim bölücü vs yapmadan direkt 5V verebiliyorsun BAZI pinlerine sorun çıkarmıyor.

dahili can hattı var istersek güç kaynağını bir otomobil ile birlikte bile kullanabilirdik :katil2:
 

Gokrtl

Gökhan Kartal
Staff member
Katılım
27 Şubat 2019
Mesajlar
7,855
32f103C ile kursak analog okuma olarak zorluk sorunlar yaşamazdık 1 liralık pot bile bağlasam sanki ortlama almış gibi oynamadan okuma yapıyordum.

32f103 picodan daha eski olmakla birlikte bence daha fazla özelliği ve daha kullanışlı özellikleri var.

üstünde dahili usb hattı var.
chip 3.3v olmasına rağmen 5V toleranslı pilneri var hiçbir gerilim bölücü vs yapmadan direkt 5V verebiliyorsun BAZI pinlerine sorun çıkarmıyor.

dahili can hattı var istersek güç kaynağını bir otomobil ile birlikte bile kullanabilirdik :katil2:
Bu mu?

 

Ahmet

Kıdemli Üye
Katılım
31 Mayıs 2021
Mesajlar
2,597
Bu mu?

evet ama artık projeyi çevirmeyelim abi pico rahatlıkla kalkabilir altından.

sadece birdaha projeye girerekn bunu'da göz önünde bulundur çok başarılı bence üstündeki 103c çok kullandım.

arduino ide ile yazılabiliyor
 

Gokrtl

Gökhan Kartal
Staff member
Katılım
27 Şubat 2019
Mesajlar
7,855
evet ama artık projeyi çevirmeyelim abi pico rahatlıkla kalkabilir altından.

sadece birdaha projeye girerekn bunu'da göz önünde bulundur çok başarılı bence üstündeki 103c çok kullandım.

arduino ide ile yazılabiliyor
Valla artık parasında değilim de kart değiştirip her şeyi baştan yapmakdansa projeyi çöpe atarım daha iyi. Ben zorladıkça bitmiyor. Hiç ummadığım yerlerden sorun çıkıyor.
 

Ahmet

Kıdemli Üye
Katılım
31 Mayıs 2021
Mesajlar
2,597
Valla artık parasında değilim de kart değiştirip her şeyi baştan yapmakdansa projeyi çöpe atarım daha iyi. Ben zorladıkça bitmiyor. Hiç ummadığım yerlerden sorun çıkıyor.
ar-ge yapıyoruz abi bence bu sorunlar çıkmasa bir gariplik olurdu.

Bu gördüğümüz bütün cihazlar ürünler buna sadece 2 tane kumanda elemanı bulunan fırın'da dahil bu aşamalardan geçiyordur.
Tek seferde tasarlayıp sorunsuz çalıştıran pek yoktur normal bu halleri.
 

Gokrtl

Gökhan Kartal
Staff member
Katılım
27 Şubat 2019
Mesajlar
7,855
ar-ge yapıyoruz abi bence bu sorunlar çıkmasa bir gariplik olurdu.

Bu gördüğümüz bütün cihazlar ürünler buna sadece 2 tane kumanda elemanı bulunan fırın'da dahil bu aşamalardan geçiyordur.
Tek seferde tasarlayıp sorunsuz çalıştıran pek yoktur normal bu halleri.
Benim sorun çözmekten korkum yok. Sadece sorunu nasıl çözeceğimi bilmiyorum ve o noktada tıkanıp kalıyorum. İlerleyemiyorum.
 

Ahmet

Kıdemli Üye
Katılım
31 Mayıs 2021
Mesajlar
2,597
Benim sorun çözmekten korkum yok. Sadece sorunu nasıl çözeceğimi bilmiyorum ve o noktada tıkanıp kalıyorum. İlerleyemiyorum.
sorunu çözmek için tecrübe etmek gerekiyor.
tecrübe etmek için yeterince tecrübe edinmek gerekiyor.

çıkmaza girmiş gibi duruyorsun ama çıkmazda değilisn abi şuan tecrübe ediyorsun
 

taydin

Timur Aydın
Staff member
Katılım
24 Şubat 2018
Mesajlar
13,798
Hmm RP2040 ADC sinin harici referans voltaj pini yok. Onun yerine komple ADC nin ayrı besleme voltajı var. Bu voltaj da 3.3 V olabiliyor en fazla. Yani 3.3 V referans entegresi lazım, gerilim bölücü olmaz.

Bir de datasheet'e göre ADC girişine en fazla 1.8 V verilebiliyor. Şimdi bakalım:

1.8 V ile 4096 ölçüm noktası, her noktanın 0.44 mV olması demek.

30 V çıkış voltajını 20 ye bölmemiz lazım. Çıkıştaki en küçük değişim 7.5 mV. Bunu 20 ye bölersen 0.375 mV yapıyor. Bir sorun yok gibi. Ama son hanelerde mutlaka oynamalar olur. Onu ancak ortalama ile azaltırsın.
 

Gokrtl

Gökhan Kartal
Staff member
Katılım
27 Şubat 2019
Mesajlar
7,855
Hmm RP2040 ADC sinin harici referans voltaj pini yok. Onun yerine komple ADC nin ayrı besleme voltajı var. Bu voltaj da 3.3 V olabiliyor en fazla. Yani 3.3 V referans entegresi lazım, gerilim bölücü olmaz.

Bir de datasheet'e göre ADC girişine en fazla 1.8 V verilebiliyor. Şimdi bakalım:

1.8 V ile 4096 ölçüm noktası, her noktanın 0.44 mV olması demek.

30 V çıkış voltajını 20 ye bölmemiz lazım. Çıkıştaki en küçük değişim 7.5 mV. Bunu 20 ye bölersen 0.375 mV yapıyor. Bir sorun yok gibi. Ama son hanelerde mutlaka oynamalar olur. Onu ancak ortalama ile azaltırsın.
Ben şuanda ADC girişine 3.2v veriyorum maks.
1.8v'u referans entefresi kullanırsak mı vermemiz lazım yoksa genel kural mı bu?
 

taydin

Timur Aydın
Staff member
Katılım
24 Şubat 2018
Mesajlar
13,798
Ben şuanda ADC girişine 3.2v veriyorum maks.
1.8v'u referans entefresi kullanırsak mı vermemiz lazım yoksa genel kural mı bu?

Datasheet'e göre 1.8 V dan fazla verirsen girişteki ESD koruma diyotları sızdırır diyor. Hmm belki de o yüzden yanlış ölçüm yapıyorsun :cheeky5:

Hemen gerilim bölücünü değiştir. Aslında tam olarak 30 / 1.8 = 16.6666 ya bölmen lazım. Ama 17 18 19 neyse böl. Ama arttırdıkça ölçüm kötüleşir. 16.6666 nın üzerinde, ama bu değere en yakın bölmeyi elde et.
 

Gokrtl

Gökhan Kartal
Staff member
Katılım
27 Şubat 2019
Mesajlar
7,855
Datasheet'e göre 1.8 V dan fazla verirsen girişteki ESD koruma diyotları sızdırır diyor. Hmm belki de o yüzden yanlış ölçüm yapıyorsun :cheeky5:

Hemen gerilim bölücünü değiştir. Aslında tam olarak 30 / 1.8 = 16.6666 ya bölmen lazım. Ama 17 18 19 neyse böl. Ama arttırdıkça ölçüm kötüleşir. 16.6666 nın üzerinde, ama bu değere en yakın bölmeyi elde et.
Şu nasıl abi?
634 Ohm direnç özdisanda var.
30/1.78 = 16.853

Screenshot_20220703-144957.jpg
 
Top