Arduino Nano: Analog giriş ile küçük gerilimleri ölçme


9

Bir Arduino Nano üzerindeki 10 bit ADC ile 0v ila 40mV arasında olabildiğince doğru bir şekilde ölçmem gerekiyor . Saniyede sadece bir örneğe ihtiyacım var.

AREF pimini yerden 40mV yukarıda tutmayı, her şeyi düzgün bir şekilde korumayı, donanım ve yazılımda alçak geçiren filtreler kullanmayı ve düzgün şekilde düzeltilmiş bir güç kaynağı kullanmayı planlıyorum.

  • Ne tür bir doğruluk alacağım?

  • Doğruluğu artırmak için başka ne yapabilirim?


Mevcut bant boşluğu referans voltajları için kontrol cihazınızın veri sayfasını kontrol edin. Ardından, bu referans voltajın altında maksimum sinyali az olan bir amplifikatör tasarlayın.
jippie

Yanıtlar:


9

Nano'nun ADC'sinde benden daha iyi uzmanlar var ama eminim bazı problemler olacak, bu yüzden kesin olarak bir amplifikatör önereceğim. 5V (veya nano ne kullanırsa kullanın) ve 0V çalışan bir op-amp öneriyoruz. Op-amp'in giriş ve çıkışta raydan raya yetenekleri gerekir ve 40mV'yi nano'da tam ölçeğe dönüştüren kazançla evirmeyen modda yapılandırılır.

resim açıklamasını buraya girin

Tam skala (diyelim) 3V ise, 3 / 0.04 = 75 kazancı gerekir. Bu, R2 / R1 = 74 (75 eksi 1) anlamına gelir.

R1 100 ohm olmaktan mutluluk duyacaktır ve bu nedenle R2 7400 ohm olacaktır (560k ile paralel 7k5, umarım yeterince yakın olacak 7k401 verir.Op-amp sadece sorunuzu okuduktan sonra düşük hızlarda çalışmak için gereklidir ve birkaç tane vardır. Cevabı gönderirken ateş et ve bir göz at ...

AD8538 uygun görünüyor ve böylece AD8628 yapar ama muhtemelen vardır daha kolay tasarıyı uygun olduğunu birkaç


1
Tam ölçek Vcc'dir, ancak AREF piminde bir referans voltajı sağlanması, gerektiği gibi daha düşük bir tam ölçek referansına izin verir. Bununla birlikte, 1.0 Volt'un altındaki AREF AFAIC'i çalışmadığından (belgesel kanıt yok, sadece karşılaştığım bazı problemler) amplifikasyon hala arzu edilir.
Anindo Ghosh

Neden daha yaygın E12 dirençleri olmasın? Tam oranı, dengelemeyi bildiğiniz sürece çok önemli değildir. Örneğin. 12k ÷ 150 = 80 veya 33k ÷ 470 ≈ 70. Tabii ki bu muhtemelen en uygun olmayan 3V çıkış voltajı için geçerlidir.
jippie

@jippie Tamamen katılıyorum ama cevabım dirençleri paralel olarak nasıl koyacağımı "gösteriyor" ve OP'nin bunu bilip bilmediğinden emin değildim. O ekstra bir cevap var ücretsiz !!
Andy aka

Op amp önerisi için +1, AD8538, özellikle SOT23 paketinde kişisel bir favori - anlamsız pimler yok, mükemmel termal davranış.
Anindo Ghosh

1
@AnindoGhosh - 20 ay sonra. ATMega328 veri sayfası 650 sayfasında hiçbir yerde HARİCİ uygulanan Aref voltajı için hangi değerlerin geçerli olduğunu söylemiyor gibi görünüyor ANCAK bahsi geçen birçok grafiğin hepsinde 1.8V daha düşük bir sınır var :-(. V ve AVcc, 1.5V yasal olduğu kadar Vcc-0.3V olabilir.Dahili 1.1V bant aralığı referansının kullanılması daha düşük bir maksimum ADC voltajı verir.Düşük harici V_ARef yasal olabilir, ancak kesin değildir
Russell McMahon

1

Aslında bunu bir cevap olarak eklemeyi planlamamıştım, ancak yorumlarda bir yerde boğulmasına izin vermek önemli görünüyor.

Mikrodenetleyicinizin veri sayfasına başvurmak en önemli şeydir. Ve eğer Armegaino Nano'nun ATmega 168'e sahip olduğu konusunda haklıysam, işte veri sayfası . Elektriksel özellikler, önce bilmeniz gereken bir bölümdür .

Asıl nokta: minimum referans voltajı 1.0V'dir - 311. sayfada görebilirsiniz. Minimum voltaj referansına kadar ölçeklendirerek makul doğruluk elde etmek için sinyalinizi en az 25 faktör yükseltmelisiniz.

Şimdi bildiğim elemanların en iyi seçimi (konuyu neredeyse bilmememe rağmen), @Andyaka'nın işaret ettiği gibi, tercihen besleme voltajında ​​çalışarak raydan raya olarak çalışabilen düşük gürültülü bir operasyonel amplifikatör gerektirecektir. Sonra voltaj referansının en iyi seçiminin dahili referans olduğunu düşünüyorum. Cihazlar arasında farklılık gösterse de, kararlılığın en makul olması gerektiğini düşünüyorum. Dahası, direnç seçiminiz, gürültüye daha dayanıklı olduklarından, daha yüksek değil, daha düşük dirençlerde olmalıdır. Zaman ve sıcaklık değişimlerinde kararlı olduklarını unutmayın!

Amplifikatörlerin en iyi yapılandırması değişebilir - tersine çevrilmemiş amplifikatör ile başlamak iyi olabilir, ancak yüksek giriş empedansı sinyalinizle iyi çalışmayabilir (her ne kadar iyi olsa da).


1
Yüksek giriş empedansı neden sinyal ile iyi çalışmaz? Giriş modundaki Arduino GPIO'ların tümü, çoğu ADC'de olduğu gibi, yüksek giriş empedanslarıdır.
Anindo Ghosh

1
@AnindoGhosh Sinyal kaynağının ölçülmesi için yüklenmesi gerekiyorsa ve düzgün yapılmıyorsa. OP'nin sinyalinin doğası hakkında hiçbir şey söyleyemem. Yazımdaki önerinin amplifikatör üzerinde çok sert olduğunu düşünüyorum - muhtemelen olmamalı, ancak yüksek giriş empedansı bence daha iyi olduğunu düşündüğüm bir şey.
TNW

Gerekirse bir sinyal kaynağının yüklenmesinin iyi bilinen bir bilim olduğuna inanıyorum ve aynı şekilde tasarımcılar genellikle yüksek bir giriş empedansı ve düşük bir çıkış empedansı için çalışıyorlar. Nitekim bu niteliksiz ifadeye indirgem.
Anindo Ghosh

1
@AnindoGhosh Bence kişinin daha az bildiğini varsaymak daha iyi olabilir (özellikle de 40mV ref beni şüpheli yaptı). Eviren ve evirmeyen amplifikatör arasındaki seçimin sadece polarite değişikliğine izin verip veremeyeceğimize bağlı olmadığını belirtmek istedim.
TNW

-4

Maksimum doğruluk için bir amplifikatör kullanmalısınız.


Teşekkürler - ama neden? Fazladan aşamalar gürültüyü ve yanlışlıkları arttırmaz mı? Ne tür bir amplifikatör devresi en iyi sonucu verir?
CL22

1
Gerilim kazanımını korumak için kararlı dirençler kullandığınız sürece, tersine çevirmeyen konfigürasyonda düşük gürültülü işlemsel amplifikatörün yapabileceğini düşünüyorum.
TNW

3
Bilgi vermediği için diğer kullanıcıları kınamayan biri için bu kesin bir cevaptır. Biraz şema veya ek ayrıntı ekleyebilir misiniz?
Chris Laplante
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.