İçindekiler:
- Adım 1: ADC Mimarisi
- Adım 2: Dahili Devre
- Adım 3: Harici Devre
- Adım 4: I2C Okuma Talimatları
- Adım 5: Sonuçlar
Video: ADC Current Sense Nasıl Yapılır: 5 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
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, 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
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
Ş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ı
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
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:
Kablosuz Teneke Telefon Nasıl Yapılır! (Arduino Walkie Talkie): 7 Adım (Resimli)
Kablosuz Teneke Telefon Nasıl Yapılır! (Arduino Walkie Talkie): Daha geçen gün çok önemli bir telefon görüşmesinin ortasındaydım ve banana telefonum çalışmayı durdurdu! Çok sinirliydim. O aptal telefon yüzünden son kez bir aramayı kaçırdım! (Geriye dönüp baktığımda, biraz fazla kızmış olabilirim
Arduino İle Bitki Monitörü Nasıl Yapılır: 7 Adım
Arduino İle Bitki Monitörü Nasıl Yapılır: Bu dersimizde bir nem sensörü kullanarak bir toprak nemini nasıl algılayacağımızı ve her şey yolundaysa yeşil bir LED ve OLED Ekran ve Visuino yanıp sönmeyi öğreneceğiz.Videoyu izle
Adım Sayacı Nasıl Yapılır?: 3 Adım (Resimlerle)
Adım Sayacı Nasıl Yapılır?: Yürümek, koşmak, bisiklete binmek, badminton oynamak gibi birçok sporda iyi performans gösterirdim. Binmeyi çok uzun zaman önce dolaşmak için seviyorum. Pekala, iri göbeğime bakın……Her neyse, egzersize yeniden başlamaya karar verdim. Hangi ekipmanı hazırlamalıyım?
Büyükanne ve Büyükbaba Takvimi Nasıl Yapılır? Karalama Defteri (Karalama Defteri Nasıl Yapılacağını Bilmiyorsanız Bile): 8 Adım (Resimlerle)
Büyükanne ve Büyükbaba Takvimi Nasıl Yapılır? Scrapbook (Scrapbook Nasıl Yapılacağını Bilmiyorsanız): Bu, büyükanne ve büyükbabalar için çok ekonomik (ve çok takdir edilen!) bir tatil hediyesi. Bu yıl her biri 7 dolardan daha ucuza 5 takvim yaptım. Malzemeler: Çocuğunuzun, çocuklarınızın, yeğenlerinizin, yeğenlerinizin, köpeklerinizin, kedilerinizin veya diğer akrabalarınızın 12 harika fotoğrafı 12 farklı parça
Bir Gitar Hoparlör Kutusu Nasıl Yapılır veya Stereonuz İçin İki Adet Nasıl Yapılır: 17 Adım (Resimlerle)
Bir Gitar Hoparlör Kutusu Nasıl Yapılır veya Stereonuz için İki Adet Yapın.: Yaptığım tüp amfi ile birlikte yeni bir gitar hoparlörü istedim. Hoparlör dükkânımda kalacak, bu yüzden çok özel bir şey olmasına gerek yok. Tolex kaplama çok kolay zarar görebilir, bu yüzden hafif bir kumdan sonra dışarıdaki siyahı püskürttüm