İçindekiler:

ADC Current Sense Nasıl Yapılır: 5 Adım
ADC Current Sense Nasıl Yapılır: 5 Adım

Video: ADC Current Sense Nasıl Yapılır: 5 Adım

Video: ADC Current Sense Nasıl Yapılır: 5 Adım
Video: Kondansatör Ölçümü Nasıl yapılır Kutuplu + - Ayrıntılı Bilgiler 2024, Kasım
Anonim
ADC Akım Anlamı Nasıl Yapılır?
ADC Akım Anlamı Nasıl Yapılır?

Bu Eğitilebilir Tabloda, SLG46855V'de yük akımını algılayabilen ve I2C aracılığıyla bir MCU ile arayüz oluşturabilen 8 bitlik bir analogdan dijitale dönüştürücünün (ADC) nasıl uygulanacağını açıklayacağız. Bu tasarım, ampermetreler, arıza tespit sistemleri ve yakıt göstergeleri gibi çeşitli akım algılama uygulamaları için kullanılabilir.

Aşağıda, çözümün ADC akım anlamını oluşturmak için nasıl programlandığını anlamak için gereken adımları açıkladık. Ancak, sadece programlamanın sonucunu almak istiyorsanız, halihazırda tamamlanmış GreenPAK Tasarım Dosyasını görüntülemek için GreenPAK yazılımını indirin. GreenPAK Geliştirme Kitini bilgisayarınıza takın ve ADC akım algısını oluşturmak için programa basın.

Adım 1: ADC Mimarisi

ADC Mimarisi
ADC Mimarisi

ADC, esas olarak bir analog karşılaştırıcı ve bir Dijital-Analog Dönüştürücüden (DAC) oluşur. Karşılaştırıcı, DAC çıkış voltajına karşı giriş voltajını algılar ve ardından, DAC çıkışının giriş voltajına yakınsaması için DAC giriş kodunun artırılıp artırılmayacağını kontrol eder. Ortaya çıkan DAC giriş kodu, ADC dijital çıkış kodu olur.

Uygulamamızda, darbe genişlik modülasyonu (PWM) kontrollü direnç ağı kullanarak bir DAC oluşturuyoruz. GreenPAK kullanarak kolayca dijital olarak kontrol edilen bir PWM çıkışı oluşturabiliriz. PWM, filtrelendiğinde bizim analog voltajımız olur ve bu nedenle etkili bir DAC görevi görür. Bu yaklaşımın belirgin bir avantajı, sıfır koduna ve tam ölçeğe (eşdeğeri ofset ve kazanç) karşılık gelen voltajları basitçe direnç değerlerini ayarlayarak ayarlamanın kolay olmasıdır. Örneğin, bir kullanıcı ideal olarak 4,3 V'a karşılık gelen akımsız (0 µA) bir sıcaklık sensöründen sıfır kodunu ve 3,9 V'a karşılık gelen 1000 µA'da tam ölçekli kodu okumak ister (Tablo 1). Bu, birkaç direnç değeri ayarlayarak kolayca uygulanabilir. ADC aralığının ilgili sensör aralığıyla eşleşmesini sağlayarak, ADC çözünürlüğünden en iyi şekilde yararlanırız.

Bu mimari için bir tasarım düşüncesi, kontrol döngüsünün yetersiz sönümlü davranışını önlemek için dahili bir PWM frekansının ADC güncelleme hızından çok daha hızlı olması gerektiğidir. En azından ADC veri sayaç saatinin 256'ya bölünmesinden daha uzun olmalıdır. Bu tasarımda ADC güncelleme periyodu 1.3312 ms olarak ayarlanmıştır.

Adım 2: Dahili Devre

İç Devre
İç Devre

Esnek ADC, Dialog Semiconductor AN-1177'de sunulan tasarıma dayanmaktadır. SLG46855 25 MHz saat hızına sahip olduğundan, ADC sayacının saat hızının ayarlanması için saat hızı 1 MHz'den 12,5 MHz'e yükseltilmiştir. Bu, daha iyi örnek çözünürlüğü için çok daha hızlı bir güncelleme hızı sağlar. ADC veri saatini ayarlayan LUT, PWM DFF düşük olduğunda 12,5 MHz sinyalinden geçecek şekilde değiştirilir.

Adım 3: Harici Devre

Dış Devre
Dış Devre

Şekil 1'deki devre şemasında gösterildiği gibi bir PWM'yi analog gerilime dönüştürmek için harici bir direnç ve kapasitör ağı kullanılır. Değerler, cihazın algılayacağı maksimum akım için maksimum çözünürlük için hesaplanır. Bu esnekliği elde etmek için VDD ve toprağa paralel olarak R1 ve R2 dirençleri ekliyoruz. Bir direnç bölücü, VBAT'ı voltaj aralığının düşük tarafına böler. Beklenen bir minimum VBAT için bölücü oranı, denklem 1 kullanılarak çözülebilir.

Adım 4: I2C Okuma Talimatları

I2C Okuma Talimatları
I2C Okuma Talimatları

Tablo 1, CNT0'da depolanan verileri geri okumak için I2C komut yapısını açıklar. I2C komutları bir başlangıç biti, kontrol baytı, kelime adresi, okuma biti ve durdurma biti gerektirir.

CNT0 sayılan değerini geri okumak için örnek bir I2C komutu aşağıda yazılmıştır:

[0x10 0xA5] [0x11 R]

Geri okunan sayılan değer, ADC kod değeri olacaktır. Örnek olarak, Dialog'un web sitesinde bu uygulama notunun ZIP dosyasında bir Arduino kodu bulunur.

Adım 5: Sonuçlar

Sonuçlar
Sonuçlar
Sonuçlar
Sonuçlar
Sonuçlar
Sonuçlar

ADC akım algılama tasarımının doğruluğunu test etmek için, belirli bir yük akımı ve VDD seviyesinde ölçülen değerler teorik bir değerle karşılaştırılmıştır. Teorik ADC değerleri denklem 2 ile hesaplandı.

Bir ADC değeri ile ilişkili olan ILOAD, denklem 3 ile bulunur.

Aşağıdaki sonuçlar için Tablo 3'te gösterilen bu bileşen değerlerini kullandım.

ADC değerinin ILOAD dönüşümüne çözünürlüğü, Tablo 2'de ölçülen değerler ve ADC değeri 1'e ayarlı denklem 3 kullanılarak hesaplanabilir. 3,9 V'luk bir VBAT ile çözünürlük 4,96 µA/div'dir.

ADC akım algılama devresini, maksimum 1100 µA akım ve 381 Ω algılama direnci ile minimum 3,6 V VDD seviyesine optimize etmek için, denklem 1'e göre ideal bölücü katsayısı 0,884 olacaktır. Tabloda verilen değerlerle. 2, gerçek bölücünün bölücü katsayısı 0,876'dır. Bu biraz daha az olduğundan, biraz daha büyük bir yük akımı aralığına izin verecek, böylece ADC değerleri tam aralığa yakın olacak ancak taşmayacak. Gerçek bölücü değeri denklem 4 ile hesaplanır.

Yukarıda (Şekil 2-6, Tablo 4-6) devrenin üç voltaj seviyesinde alınan ölçümleri verilmiştir: 4,3 V, 3,9 V ve 3,6 V. Her seviye, ölçülen ve teorik ADC değerleri arasındaki farkı gösteren bir grafik görüntüler. Teorik değerler en yakın tam sayıya yuvarlanır. Üç voltaj seviyesindeki farklılıkları karşılaştırmak için bir özet grafik vardır. Daha sonra teorik ADC değerleri ile farklı gerilim seviyelerindeki yük akımı arasındaki korelasyonu gösteren bir grafik bulunmaktadır.

Çözüm

Cihaz üç voltaj seviyesinde test edilmiştir: 3,6 V, 3,9 V ve 4,3 V. Bu voltaj aralığı, nominal seviyesine deşarj olan tam bir lityum iyon pili modeller. Üç voltaj seviyesinden, seçilen harici devre için cihazın tipik olarak 3,9 V'ta daha doğru olduğu gözlemlenmiştir. Ölçülen ve teorik ADC değerleri arasındaki fark, 700 - 1000 µA yük akımlarında sadece 1 ondalık değerdeydi. Verilen voltaj aralığında, ölçülen ADC değerleri, en kötü durumda, nominal koşulların 3 ondalık noktasının üzerindeydi. Farklı VDD voltaj seviyelerini optimize etmek için direnç bölücüde daha fazla ayarlama yapılabilir.

Önerilen: