İçindekiler:

AC Akım İzleme Veri Kaydedici: 9 Adım (Resimlerle)
AC Akım İzleme Veri Kaydedici: 9 Adım (Resimlerle)

Video: AC Akım İzleme Veri Kaydedici: 9 Adım (Resimlerle)

Video: AC Akım İzleme Veri Kaydedici: 9 Adım (Resimlerle)
Video: Alex müthiş sıyrıldı off 2024, Temmuz
Anonim
AC Akım İzleme Veri Kaydedici
AC Akım İzleme Veri Kaydedici

Herkese merhaba, ilk dersime hoş geldiniz! Gündüzleri endüstriyel ısıtma ekipmanı tedarik eden bir şirkette test mühendisiyim, geceleri ise hevesli bir teknoloji hobisi ve DIY'ciyim. Çalışmamın bir kısmı ısıtıcıların performansını test etmeyi içeriyor, bu vesileyle 1000 saatin üzerinde 8 cihazın RMS akım çekişini izleyebilmek ve sonuçları daha sonra grafik haline getirmek için verileri günlüğe kaydedebilmek istedim. Bir veri kaydediciye erişimim var ama o zaten başka bir projeye bağlıydı ve düşük maliyetli bir şeye ihtiyacım vardı, bu yüzden bu temel veri kaydediciyi bir araya getirmeye karar verdim.

Proje, analog sensörleri analogdan dijitale dönüştürücü (ADC) aracılığıyla okumak için bir Arduino Uno kullanıyor ve verileri bir SD karta bir zaman damgasıyla kaydediyor. Devreleri tasarlamak için çok fazla teori ve hesaplama var, bu yüzden kesinlikle her şeyi açıklamak yerine, size nasıl yapılacağını göstereceğim. TAM isabeti görmekle ilgileniyorsanız, yorumlarda bana bildirin, daha fazla açıklayacağım.

NOT:

True RMS hesaplamaları hakkında bir sürü sorum oldu. Bu cihaz, dalganın tepe noktasını yakalamak için bir yarım dalga doğrultucu kullanır, bu daha sonra RMS vermek için 0.707 ile çarpılabilir. Sonuç olarak, yalnızca doğrusal yüklerle doğru bir sonuç verecektir (yani ölçülen akım saf sinüs dalgasıdır). Doğrusal olmayan kaynaklar veya üçgen, dikdörtgen veya sinüs olmayan diğer dalga biçimleri veren yükler gerçek bir RMS hesaplaması vermeyecektir. Bu cihaz sadece AC akımını ölçer, voltajı ölçmek için tasarlanmamıştır, dolayısıyla güç faktörünü hesaplamaz veya ölçmez. Lütfen bunu yapmak için kullanılabilecek bir güç faktörü ölçerin nasıl oluşturulacağına ilişkin diğer talimatıma bakın. Birçok kişi ayrıca 2.5V merkez hattına sahip düz bir AC kuplajının daha iyi olduğunu söyledi, ancak bu, yeterince hızlı bir dijital örnekleme hızına, sağlam ortalamaya/veri yumuşatmaya vb. sahip olmayı gerektirdiğinden komplikasyonlara neden oluyor ve bunun getirdiği belirsizlik, ölçümden çok daha yüksek. ham değer. Şahsen, mümkün olduğunda donanım çözümlerini ve daha basit kodu tercih ederim, bu nedenle bu yöntemle ilgilenmiyorum. Doğruluk açısından bunun ikincisinden çok daha iyi olduğuna inanıyorum ve sonuçlarımda daha sonra göreceksiniz ki kalibrasyondan sonra 1.0'a yakın bir regresyon katsayısı var.

Adım 1: Akım Transformatörleri

Akım transformatörleri
Akım transformatörleri
Akım transformatörleri
Akım transformatörleri

Bu projede HMCT103C 5A/5MA akım trafosu kullanılmaktadır. İletkenden akan her 5A akım için 1:1000 dönüş oranına sahiptir, 5mA CT üzerinden akacaktır. Üzerinde bir voltajın ölçülmesine izin vermek için CT'nin iki terminaline bir direnç bağlanmalıdır. Bu vesileyle 220 Ohm'luk bir direnç kullandım, bu nedenle Ohm yasasını V=IR kullanarak, CT'nin çıkışı her 5mA CT akımı için (veya ölçülen her 5A akım için) 1.1 Volt AC olacaktır. CT'ler, dirençli kablolar ve uçan kablolar yapmak için bazı enstrüman telleri ile şerit levhaya lehimlenmiştir. Kabloları 3,5 mm erkek ses jakı fişleriyle sonlandırdım.

İşte akım trafosu için veri sayfası

Veri Sayfası

Adım 2: Sinyal Koşullandırma

Sinyal Koşullandırma
Sinyal Koşullandırma
Sinyal Koşullandırma
Sinyal Koşullandırma

CT'den gelen sinyal zayıf olacak, bu yüzden güçlendirilmesi gerekiyor. Bunun için bir uA741 çift raylı op amp kullanarak basit bir amplifikatör devresini lehimledim. Bu durumda kazanç bu nedenle Rf / Rin (150k / 1k) formülü kullanılarak 150'ye ayarlanır. Bununla birlikte, amplifikatörden gelen çıkış sinyali hala AC'dir, op-amp'in çıkışındaki diyot, AC'nin negatif yarı döngüsünü keser ve dalgayı dalgalı bir DC sinyaline yumuşatmak için pozitif voltajı 0.1 uF kapasitöre geçirir. Devreyi oluşturan parçalar aşağıdadır:

  • V1 - Bu, bu şemada isteğe bağlıdır, sadece op-amp'in ters çevirmeyen girişine beslenen sinyal voltajını temsil eder.
  • R1 - Bu, geri besleme direnci (Rf) olarak bilinir ve 150k olarak ayarlanır
  • R2 - Bu, giriş direnci (Rin) olarak bilinir ve 1k olarak ayarlanır
  • 741 - Bu, uA741 entegre devresidir
  • VCC - Pozitif besleme rayı +12V
  • VEE - Negatif besleme rayı -12V
  • D1 - haf dalgası doğrultucu sinyal diyotu 1N4001 mi
  • C3 - Bu kapasitör, DC sinyalini belirli bir süre tutar

Resim 2'de Veroboard ve kalaylı bakır tel kullanılarak monte edildiğini görebilirsiniz. PCB stand off'ları için 4 delik delinmiştir, böylece istiflenebilirler (sekiz kanal olduğundan, toplamda sekiz amplifikatör devresi olması gerekir.

Adım 3: Güç Kaynağı

Güç kaynağı
Güç kaynağı
Güç kaynağı
Güç kaynağı
Güç kaynağı
Güç kaynağı

Sıfırdan yapmaktan hoşlanmıyorsanız, yukarıdaki resimdeki gibi Çin'den önceden monte edilmiş bir pano satın alabilirsiniz, ancak yine de 3VA transformatörüne ihtiyacınız olacak (240V'dan 12V'a inin). Resimdeki bana 2,50 sterline mal oldu.

Projeye güç sağlamak için kendi çift raylı 12VDC güç kaynağımı yapmaya karar verdim. Op-amp'ler +12V, 0V, -12V gerektirdiğinden ve Arduino Uno, 14 VDC'ye kadar herhangi bir kaynağı kabul edebileceğinden bu uygun oldu. Devreyi oluşturan parçalar aşağıdadır:

  • V1 - Bu, 240V 50Hz şebeke prizinden beslemeyi temsil eder
  • T1 - Bu, yalan söylediğim küçük bir 3VA transformatörü. Transformatörün, 0V'a yani toprağa bağlanacak olan ikincil üzerinde merkezi bir musluğa sahip olması önemlidir.
  • D1 - D4 - Bu, 1N4007 diyotları kullanan bir tam dalga köprü doğrultucudur
  • C1 & C2 - 35V elektrolitik kapasitörler 2200uF (pozitif ve negatif arasındaki potansiyel 30V'a ulaşacağından 35V olmalıdır)
  • U2 - LM7812, 12V pozitif voltaj regülatörüdür
  • U3 - LM7912, 12V negatif voltaj regülatörüdür (78xx ve 79xx IC arasındaki pin farklarına dikkat edin!)
  • C3 & C4 - 100nF Yumuşatma kapasitörleri 25V elektrolitik
  • C5 & C6 - 10uF seramik disk kapasitörler

Bileşenleri şerit levha üzerine lehimledim ve dikey rayları çıplak tek damarlı kalaylı bakır tel ile birleştirdim. Yukarıdaki resim 3, DIY güç kaynağımı gösteriyor, üzgünüm fotoğrafta bir sürü jumper var!

Adım 4: Analogdan Dijitale Dönüştürücüler

Analogdan Dijitale Dönüştürücüler
Analogdan Dijitale Dönüştürücüler
Analogdan Dijitale Dönüştürücüler
Analogdan Dijitale Dönüştürücüler

Arduino Uno zaten yerleşik bir 10-bit ADC'ye sahiptir, ancak yalnızca 6 Analog giriş vardır. Bu nedenle, ADS1115 16-bit ile iki ADC kesintisi kullanmayı seçtim. Bu, 2^15 = 32767 bitin 0-4.096V (4.096V, devrenin çalışma voltajıdır) arasındaki voltaj seviyelerini temsil etmesine izin verir, bu, her bitin 0.000125V'u temsil ettiği anlamına gelir! Ayrıca, I2C veri yolunu kullandığından, 4 adede kadar ADC'nin adreslenebileceği ve istenirse 16 kanala kadar izlenebileceği anlamına gelir.

Fritzing kullanarak bağlantıları göstermeye çalıştım, ancak sınırlamalar nedeniyle bir Sinyal Üreteci gösterecek özel parça yok. Mor kablo, amplifikatör devresinin çıkışına bağlanır, yanındaki siyah kablo, tüm amplifikatör devrelerinin ortak topraklaması gerektiğini gösterir. Bu yüzden bağlantı noktalarını nasıl yaptığımı göstermek için bir devre tahtası kullandım. Ancak asıl projemde dişi başlıklarda oturan, Veroboard'a lehimlenmiş ve tüm bağlantı noktaları veroboard'a lehimlenmiş aralar var.

Adım 5: Mikrodenetleyici

mikrodenetleyici
mikrodenetleyici

Yukarıda belirttiğim gibi, seçtiğim kontrolör bir Arduino Uno idi, bu iyi bir seçimdi çünkü çok fazla yerleşik ve yerleşik işlevselliğe sahip olduğu için, aksi takdirde ayrı ayrı yapılması gerekecekti. Ayrıca, özel olarak yapılmış birçok 'kalkan' ile uyumludur. Bu vesileyle, tüm sonuçları zaman damgası için gerçek zamanlı bir saate ve sonuçları bir.csv veya.txt dosyasına kaydetmek için bir SD kart yazıcısına ihtiyacım vardı. Neyse ki, Arduino veri kaydı kalkanının her ikisinde de, ek lehimleme olmadan uyumu orijinal Arduino kartına iten bir kalkan bulunur. Kalkan, RTClib ve SD kart kitaplıkları ile uyumludur, bu nedenle herhangi bir uzman koduna gerek yoktur.

Adım 6: Montaj

toplantı
toplantı
toplantı
toplantı
toplantı
toplantı

Bileşenlerimin çoğunu vidalamak ve maket bıçağıyla uygun bir boyuta kesmek için 5 mm sert orta/düşük yoğunluklu PVC (bazen köpük levha olarak da bilinir) kullandım. Prototip için tüm bileşenler modüler bir şekilde inşa edildi, çünkü işler ters giderse tek tek parçaların çıkarılmasına izin veriyor, ancak kazınmış bir PCB (daha fazla çalışma) kadar verimli veya düzenli değil, bu aynı zamanda çok sayıda atlama teli anlamına geliyor. bileşenler.

7. Adım: Kodu Yükleme

Kodu Arduino'ya yükleyin veya kodu Github depomdan alın

github.com/smooth-jamie/datalogger.git

Adım 8: Kalibrasyon

kalibrasyon
kalibrasyon
kalibrasyon
kalibrasyon
kalibrasyon
kalibrasyon

Teorik olarak ölçülen akım, birkaç şeyin birleştirilmesinin bir sonucu olacaktır:

Ölçülen amper = (((a *0.45)/150)/(1.1/5000))/1000 burada 'a' amplifikatörden gelen sinyal voltajıdır

0.45, amplifikatör devresinin Vout'unun rms değeridir, 150, op-amp kazancıdır (Rf/Rin = 150k / 1k), 1.1, ölçülen amper 5A olduğunda CT'nin tam ölçekli voltaj çıkışıdır, 5000 sadece 5A'dır. mA ve 1000, transformatördeki dönüş miktarıdır. Bu basitleştirilebilir:

Ölçülen amper = (b * 9.216) / 5406555 burada b, ADC tarafından bildirilen değerdir

Bu formül Arduino 10-bit ADC kullanılarak test edilmiş ve multimetre değerleri ile Arduino tarafından üretilen değerler arasında %11 oranında bir fark gözlemlenmiştir ki bu kabul edilemez bir sapmadır. Kalibrasyon için tercih ettiğim yöntem, bir elektronik tablodaki bir multimetrede ADC değerine karşı Akım kaydetmek ve üçüncü dereceden bir polinom çizmektir. Bundan, ölçülen akımı hesaplarken daha iyi sonuçlar vermek için kübik formül kullanılabilir:

(ax^3) + (bx^2) + (cx^1) + d

a, b, c ve d katsayıları basit bir veri tablosundan excel'de hesaplanır, x sizin ADC değerinizdir.

Verileri elde etmek için seramik bir 1k değişken direnç (reostat) ve şebeke AC voltajını 240V'tan düşürmek için 12v transformatör kullandım, bu bana 13mA'dan 100mA'ya değişken bir akım kaynağı üretmemi sağlayacak. Ne kadar çok veri noktası o kadar iyi toplanır, ancak doğru bir eğilim elde etmek için 10 veri noktası toplamanızı öneririm. Ekli Excel şablonu sizin için katsayıları hesaplayacaktır, o zaman sadece onları arduino koduna girmek meselesidir.

Kodun 69. satırında katsayıları nereye gireceğinizi göreceksiniz.

kayan nokta chn0 = ((7.30315 * pow(10, -13)) * pow(adc0, 3) + (-3.72889 * pow(10, -8) * pow(adc0, 2) + (0.003985811 * adc0) + (0.663064521)));

bu, excel dosyasının 1. sayfasındaki formülle aynıdır:

y = 7E-13x3 - 4E-08x2 + 0.004x + 0.663

Kalibre ettiğiniz kanalın x = adc0 olduğu yerde

9. Adım: Bitir

Bitiş
Bitiş
Bitiş
Bitiş
Bitiş
Bitiş
Bitiş
Bitiş

Bir proje kasasına koyun. Güç kaynağını, beslemede her şeyi açıp kapatmak için bir geçiş anahtarı ve şebeke girişi için bir IEC "şekil 8" konektörü ile bitirdim. Hepsini bir araya getirin ve test etmeye hazırsınız.

Daha fazla çalışma

Tüm proje oldukça hızlı bir şekilde alay edildi, bu nedenle iyileştirme, kazınmış devre, daha iyi bileşenler için çok yer var. İdeal olarak, her şey bir sürü jumper yerine FR4'e kazınır veya lehimlenir. Daha önce de söylediğim gibi, bahsetmediğim bir sürü şey var ama özel bir şey varsa, yorumlarda bana bildirin, ben de öğretilebilir olanı güncelleyeceğim!

Güncelleme 2016-12-18

Şimdi ilk dört kanalı izlemek için I2C "sırt çantasını" kullanarak bir 16x2 LCD ekledim, posta yoluyla geldiğinde son dördünü izlemek için bir tane daha ekleyeceğim.

Kredi

Bu proje, DS3231 kütüphanesi, Adafruit ADS1015 kütüphanesi ve Arduino SD kütüphanesi dahil olmak üzere Arduino taslağımda kullanılan Kütüphanelerin tüm yazarları tarafından mümkün olmuştur.

Önerilen: