Gerilim bölücüler ve ADC'ler


13

Maksimum 3V girişe sahip bir MCU ADC ile 0-30V arasında bir voltaj okumak istiyorum.

Başlangıçta bir 100k-10k bölücü kullanmayı düşündüm (böylece 33V, 3V'ye çevirir), ancak MCU'lardaki ADC giriş empedansının cevaplarına göre , bu, giriş kaçak akımı nedeniyle% 3 hata ekleyecektir; Maksimum% 0,5 hata arıyorum. Bununla birlikte, bölücü için daha düşük değerlerde, aşırı gerilim nedeniyle MCU'nun girişlerine zarar verme riski taşıyorum (dirençler, girişteki kelepçe diyotları ile birlikte hareket ediyor.) Ayrıca, dirençlerimdeki küçük 0603 cihazları olan, Maksimum 0.063W. Bundan nasıl kaçınabilirim? nb giriş engellemesi kritik değildir.

Örnekleme hızı konusunda endişelenmiyorum, saniyede maksimum 100 örnekte bir akü voltajı izleyecek.


öncekini yaptın mı % 3'ü en kötü durum sızıntısına dayalı olarak en kötü durumdu, bunlardan birçoğunu karıştırmadıkça bunları kalibre edebilirsiniz.
Kortuk

Kortuk, sence dirençlerden birini% 3 ayarlayabiliyor muyum veya yazılımda kullanabiliyordum (1,03x ölçeği?)
Thomas O

Yüksek hassasiyet, düşük güç çekişi, çok az ekstra maliyetle istediğinizi söylüyorsunuz. Bunun mümkün olduğundan emin değilim. Kortuk'un bahsettiği gibi yazılımlarda kalibre edebilirsiniz, ancak paraya eşit olan zaman alan fab bir süreçte.
Kellenjb

Büyük bir empedanslı bir MCU ADC girişini kullanmak yine de kötüdür. Yerleşme süresini artırır ve bozulmaya, vb. Neden olur. "ADC, yaklaşık 10 kΩ veya daha düşük bir çıkış empedansına sahip analog sinyaller için optimize edilmiştir. Böyle bir kaynak kullanılırsa, örnekleme süresi ihmal edilebilir. Daha yüksek empedanslı bir kaynak kullanıldığında, örnekleme süresi, kaynağın S / H kapasitörünü ne kadar süreyle şarj etmesi gerektiğine bağlı olacaktır, bu da büyük ölçüde değişebilir.Kullanıcının sadece yavaş değişen sinyallere sahip düşük empedanslı kaynakları kullanması önerilir, çünkü bu gerekli şarj transferini en aza indirir S / H kapağına "
endolith

Yanıtlar:


10

Gerilim bölücüyü dirençlerle ve daha sonra bir opamp takipçiyle kullanın. Alternatif olarak voltajı azaltmak için bir opamp devresi kullanın ve tek adımda anti-alias filtreleme yapabilirsiniz!


+1 op
amp'i

Bir op-amp ödeyemiyorum. Ne yazık ki yeterli alanım yok. Yeterince küçük ve 8 kanallı olarak mevcutlarsa, bir arabellek IC'si alabilirim.
Thomas O

Genellikle küçük bir op-amp satın alırsınız ve bir tampon olarak bağlarsınız. national.com/mpf/LM/LMC7111.html SOT23 çok büyük mü?
endolith

Oh, 8 kanal istiyorsun.
endolit

1
yüksek hassasiyetli dirençler kullanmak voltaj bölücü hatasını azaltacaktır, ikinci sorun bu sinyali bir ADC'ye yönlendirmektir. Burada yanlışlıklar ortaya çıkacaktır, bu nedenle bir tampon kullanma teklifi.
smashtastic

14

Tamam, yorumuma verdiğiniz yanıttan tam bir yanıtla daha fazla yardımcı olabileceğimi düşünüyorum.

İnşa et!

Basit Rezistif bölücünüzü oluşturun. Bunun birçok avantajı vardır, bir boyut için diğeri maliyettir.

Karakterize edin!

Şimdi, bir mikrodenetleyici de kullanacaksınız, bu noktada hatanızı karakterize etmeniz gerekiyor. çok doğru bir voltaj jeneratörü kullanın, şimdi voltajları kontrol edin ve uC'nin gerçekten hangi hatayı ölçtüğünü görün.

Analiz et!

Şimdi eğlence zamanı. Ölçebileceğiniz birkaç şey var.

Doğruluk ve hassasiyet

Burada ölçülmesi gereken en büyük şey noktalardaki hatanın tekrarlanabilir olup olmadığıdır. Her süpürdüğünüzde farklı bir hata alırsanız veya farklı bir yolu izleyen taramanız aynı noktada farklı bir hata verirse, bu bir seçenek değildir. Bu genellikle kaçak akımlarda olur. Buradaki önemli kısım, yüksek hassasiyete, sadece yüksek derecede hassasiyete ihtiyacınız olmamasıdır. Hatanızı karakterize edebiliyorsanız, UC'niz hatayı düzeltebilir. Büyük bir varyansınız varsa, çözümünüzü değiştirmeniz gerekir.

X noktası kalibrasyonu nedir?

Şimdi, daha önce tartışıldığı gibi yüksek bir hassasiyetiniz varsa, doğruluğu düzeltmeye devam edebilirsiniz. Şimdi, giriş voltajınızı çıkış voltajınıza göre grafiklendirdiğinizde, ihtiyacınız olan "referans noktalarının" sayısına karar vermeniz gerekecektir. Güzel cihazlar 1 noktaya (veya sıfır noktasına izin verir, kalibrasyona gerek yoktur). Birçok sıcaklık probu.

Bir nokta kalibrasyonu

Her iki satır da aynı eğime, ancak bir ofsete sahiptir, bu nedenle düzeltmek için bir veri noktasına eklemeniz gereken değeri bulmanız yeterlidir. Herhangi bir yeni kalibrasyonun tekrar kalibre etmek için tek bir veri noktasına ihtiyacı olduğundan bu ideal bir durumdur.

İki Nokta kalibrasyonu

Her iki doğrusal eğri, muhtemelen bir ofset ve bir eğim farkı vardır, ofsetinizi çıkarmak için sadece iki referans noktasına ve lineer enterpolasyona ihtiyacınız vardır. Bu hala nispeten kolaydır, herhangi bir noktayı alırsınız, bir skaler ile çarpır ve bir ofset eklersiniz.

Gördüğünüz gibi, ihtiyacınız olan daha fazla puan daha karışık hale geliyor. Bir noktada her veri noktasını alıp gerçek değerle ilişkilendirmek daha kolaydır. Örneğin, 0000'ın 1V, 0001'in 2V, 0002'nin 1.5V olduğunu bulmak. Bu dağınık ve bu sadece ofsetler tekrarlanabilirse işe yarıyor. Bu olabilir.

Özetle

Umarım bu yardımcı olur, daha fazla açıklığa ihtiyacınız olup olmadığını söyle. Güvenilir olmayan değişken bir kaçak akımla sonuçlanırsanız, sadece bir tampona veya benzer bir şeye ihtiyaç duymanın zamanı gelmiştir.

Sızıntı nedeniyle yüksek bir hata olasılığını görebiliyorum, ancak hatanın aralığın çoğunda nispeten küçük olduğunu ve olduğunda kolayca düzeltilebileceğini iddia ediyorum.


1
Bir yan not olarak, Bu bir ton iş gibi görünüyor, ancak bileşen maliyetini düşük tutmak aslında nispeten küçük bir iş.
Kortuk

iyi yorum! bunu yazılımda yapmanın mükemmel bir yolu. Son tablo arama yönteminiz muhtemelen en iyi yöntemdir. Tek dezavantajı tükettiği ROM'dur, ancak bir MCU'daki 8-10 bitlik bir ADC için yapılabilir olmalıdır.
smashtastic

Verilere bağlı, 1 nokta kalibrasyonunun yeterli olduğu birçok farklı durumum var. Sadece bir ofset. Ve sonra otomatik olarak kalibre etmek için donanımı inşa etmek işe yarar.
Kortuk
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.