11bit adc ölçmek

Başlatan X-Fi, 03 Şubat 2011, 19:22:51

X-Fi

Herkeze iyi çalışmalar düşünürken aklıma geldi sizlerle paylaşmak istedim

Çoğu mcu da 10 bit adc var ve  bazen 12 bit 16 bit adc ihtiyaç duyuyoruz maxim üretimi yüksek çözünürlük lü adcler var ama benim aklıma başka bir fikir geldi şöyle yapılamaz mı yapılırsa ne olur getirisi nedir götürüsü nedir.

Diyelimki 0V - 5V analog seviyemiz var bunu bir mcu nun adc pinine girdik ve 2,5V referans voltaj kullandık. ölçüm yaptık 0 ila 2,5V arasındaki değerini okuduk(0-1023) sonra 2,5V referansı negatif olarak ayarladık ve 2,5V ila 5V arasını okuduk (0-1023).

Şimdi bu 2 tane 10 bit adc değerini okuyarak ben 11 bit adc elde etmiş olmuyor muyum 0-2,5V = düşük 10bit 2,5-5V yüksek 10bit.

Bu belkide sadece benim aklıma gelmemiştir kullanılıyordur ama hassas işlerde çözüm olabilmesi açısından paylaşayım dedim.

Ayrıca bazı mcularda 1024mV-2048mV-4096mV "Fixed voltaj reference" özelliği var içinde hiç dışarıdan referans vermeye bile gerek duymadan 2048mV referansım ile tek pinden 0 - 4,096V arasında 11bit adc okuyabilirim o zaman.

Tek dez avantajı 2 sefer adc okutmak olacak bu yavaşlama sayılabilir ama hassasiyet gerekiyorsa kullanılabilir.

Bu konu hakkında üstadlarım ne düşünüyor yorumlarınızı almak isterim.

saygılar.

edit: başlığı düzelttim 20 bit değil 11 bit adc olacak.
http://www.coskunergan.dev/    (Yürümekle varılmaz, lakin varanlar yürüyenlerdir.)

Mucit23

Hocam 20 bit ölçüm olmuyormu nasıl 11 bit oluyor. Aslında mantıklı geliyor olabilir bence

electronblue

#2
Referans = 2,5 V
ADC den gelen sinyal 4V , raw = 1023

Referans = -2,5 V
ADC den gelen sinyal 4V, raw = 1023

?!?

Anlattığınız gayet net anlaşılıyor fakat ADC den gelen sinyalin ne olduğunu bilmezsek , bu durumda hassasiyetin ne kadar olduğunu nasıl anlayabiliriz ?

X-Fi

#3
hayır hocam 20 bit olmuyor iki değeribirbiriyle toplayacağız

1024+1024=2048 parça ediyor buda 11 bit adc ye eşit %100 hassasiyet artıyor.

eğer referans voltajları 4e çıkartılırsa 4 parçada adc okuyup 12 bit adc elde edilebilir bu mantığa göre pic16F877 gibi bol pinli mcu larda bu yöntem uygulanır kritik noktalarda çözüm olur diye düşünüyorum.
http://www.coskunergan.dev/    (Yürümekle varılmaz, lakin varanlar yürüyenlerdir.)

iyildirim

SAR ADC lerde buna benzer bir mantıkla çalışıyor. 

Bu yöntem, S/H devresinde tutulan gerilim, ölçme sırasında bozulmaz ise çalışabilir görünüyor. Eğer farklı kanalları farklı Vref gerilimleri ile konfigüre edilebilen bir ADC miz varsa birden fazla  kanaldan aynı anda okuma da yapılabilir.

X-Fi

#5
Ayrıca elimde ADC'si ve DAC'ı olan bir pic var bu picde DAC'ı çalıştırıp içerden ADC +referansı olarak atayabiliyorum -referansıda DAC ucunu -Vfref pin ile birleştirip atama yaparsam. DAC yardımı ile onlarca parçaya bölebilirim. Bu küçük voltaj aralıklarını çevirir bir makroda toplarsam yazılımsal olarak belkide 16 bit ADC elde edebilirim düşüncesindeyim.

Deneyeceğim donanımsal sorun yaşanmaz ise çalışmaması için bir sebep yok netliği yüksek bir harici ADC yerine bu tür yazılımsal çözümler okuma zamanları problem teşkil etmediği sürece bana daha cazip geliyor.
http://www.coskunergan.dev/    (Yürümekle varılmaz, lakin varanlar yürüyenlerdir.)

electronblue

Alıntı yapılan: iyildirim - 03 Şubat 2011, 20:48:13

Bu yöntem, S/H devresinde tutulan gerilim, ölçme sırasında bozulmaz ise çalışabilir görünüyor.

Hocam yani ölçeceğimiz gerilim sabit olursa demek istiyorsunuz değil mi ? Ben de sinyal farklılaşırsa yanlış ölçüm yapılacağını düşünüyorum.

ErsinErce

Oluşturacağınız örnekleme devresi (referans olarak herhangi bir datasheet içindeki analog giriş modeline bakabilirsiniz) ile ölçüm yaparken kaybedeceğiniz zamana bakarsanız 2,524 ilk okumanızda yakalayacağınız değer sonucunda (ilk başta hangi bölgede olduğunu bulmanız için bunu yapmak zorunda kalacaksınız) bunu daha hassas hale getiriyim derken bu değer 2,516 gibi bir değere düşecek ve o kadar uğraşınız boşa gidecek

Düşünceniz çok güzel ama çalışma koşullarında uygulamanız kazanç yerine kayıp getirir, hem zaman olarak hemde maddi olarak

X-Fi

#8
hocam referans geriliminin keskin olamsı gerekmiyor zaten referans vermediğimiz zaman yani Vdd referans alınırken de Vdd nin tam 5.000V olduğuna emin değiliz bu yüzden hiçbi zaman adc ölçümleri teoriğe uymaz %1 hata ile ölçmekten zarar gelmez ancak %100 daha net ölçmek kar getirir diye düşünüyorum.

Çoğu kez gerilim bölücülerle referans alarak uygulama yaptım hatta bazen internal pullup direncini gerilim bölücünün bir yarısı olarak kullandım uygulamalarımda sir sorunla karşılaşmadım.

Söylediğim gibi en güzeli deneyip görmek lazım ticaret gereğince pek çok işi zor yoldan çözdüm bunu yaparkende keyif alıyorum aslında herşey analogda biz ismini dijital koyduk :)
http://www.coskunergan.dev/    (Yürümekle varılmaz, lakin varanlar yürüyenlerdir.)

iyildirim

Evet electronblue
Birden fazla kere ölçüm yaparken ilk ve son ölçümlerimiz sırasında ölçeceğimiz gerilim sabit kalmalı.

Birde üst seviye denetleyicilerde sample ve convert işlemleri ayrı ayrı kontrol edilebiliyor. Paylaşılmış bir S/H devresini iki ayrı kanala yönlendirmek ve convert ettirmek de datasheetler'e göre mümkün. Ancak böyle bir konfigürasyon çalışırmı bilemem. Denemek lazım. Denemek gereği hiç duymadım.

Bende cynetron gibi düşünüyorum.

Basit iyidir.

Sepiroth

aslinda harici Sample/Track & Hold entegreleri mevcut. bu cesit entegre kullanarak en azindan o anki gerilimi sabitleme sansiniz var, ama gercek sinyal gene degisebilir siz okuma yaparken, ona yapcak bisi yok:) Analog Devices'in bu tarz entegreleri mevcut, bir bakin isterseniz;)
Either you feel it, or not...

ErsinErce

Sistem şuan kurulabilir onda sorun yok, -Vref ile +Vref giriş olarak tanımlanarak, kısa devre edilip ref gerilimi(2,5V) buraya bağlanıcak,
ilk başta +Vref=5V -Vref=0 da ölçüm alınacak, karara göre +Vref yada -Vref seçimi yapılarak sonuç çıkarılacak buraya kadar sorun yok

Şimdi iki ölçüm arası aşağı yukarı 30us geçiyor
1k-1nF(büyük ise dolarken sorun, küçük ise örneği korumada sorun) ve anahtar ile analog giriş yapsak(pikosaniyede açıp kapadığımızı düşünün iyice ayrıntıya girmiyelim)
5V giriş sonucu örnekleme yaptığımızda elde ettiğimiz sonuç birinci grafikte, 2. örnekleme alırken de aşağı yukarı ikinci grafiği elde edeceğiz
Dahili örneklemelerden akım çekilmediğini düşünürsek bile iki ölçüm arası 0.16398V fark çıkıyor,
10 bit ölçümde 5/1024=0,0048828125 V hassasiyetle ölçüm yapılıyor
Hata oranı keşke %1 olsa ama gördüğünüz gibi sonuç daha farklı çıkıyor, bundan sonrasında da kararı sizin =)


picmanya

adc çözünürlüğü 8-10-12 veya 16 bit olabiliyor hatta 24 bitden bile bahsediliyor.
birde adc nin çözünürlükden bağımsız birim zamanda örnekleme kpbs kapasitesi ve örnekleme hızı var.
bunların adc kullanımında önemi yokmudur?