İçindekiler:
- Adım 1: Akım Transformatörleri
- Adım 2: Sinyal Koşullandırma
- Adım 3: Güç Kaynağı
- Adım 4: Analogdan Dijitale Dönüştürücüler
- Adım 5: Mikrodenetleyici
- Adım 6: Montaj
- 7. Adım: Kodu Yükleme
- Adım 8: Kalibrasyon
- 9. Adım: Bitir
Video: AC Akım İzleme Veri Kaydedici: 9 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
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
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
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ğı
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
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
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
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
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
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:
Arduino UNO ve SD-Kart ile Nem ve Sıcaklık Gerçek Zamanlı Veri Kaydedici Nasıl Yapılır - Proteus'ta DHT11 Veri Kaydedici Simülasyonu: 5 Adım
Arduino UNO ve SD-Kart ile Nem ve Sıcaklık Gerçek Zamanlı Veri Kaydedici Nasıl Yapılır | Proteus'ta DHT11 Veri Kaydedici Simülasyonu: Giriş: merhaba, ben Liono Maker, işte YouTube bağlantısı. Arduino ile yaratıcı projeler yapıyoruz ve gömülü sistemler üzerinde çalışıyoruz
Sonraki Sürüş/Yürüyüş Parkurunuz için DIY GPS Veri Kaydedici: 11 Adım (Resimlerle)
Sizin için DIY GPS Veri Kaydedici Sonraki Sürüş/Yürüyüş Parkuru: Bu, çok amaçlı kullanabileceğiniz bir GPS Veri Kaydedicidir, diyelim ki uzun sürüşünüzü kaydetmek istiyorsanız, sonbahar renklerini kontrol etmek için hafta sonu boyunca aldınız. ya da her yıl sonbaharda ziyaret ettiğiniz favori bir parkurunuz var ve
Nihai Yüksek İrtifa Hava Balonu Veri Kaydedici: 9 Adım (Resimlerle)
Nihai Yüksek İrtifa Hava Balonu Veri Kaydedici: Nihai yüksek irtifa hava balonu veri kaydedici ile yüksek irtifa hava balonu verilerini kaydedin. Yüksek irtifa balonu veya HAB olarak da bilinen yüksek irtifa hava balonu, helyumla dolu devasa bir balondur. Bu balonlar bir platform
Açık Kaynak Veri Kaydedici (OPENSDL): 5 Adım (Resimlerle)
Açık Kaynak Veri Kaydedici (OPENSDL): Bu projenin amacı, Bina Performansı Değerlendirme çalışmaları için en az sıcaklık, bağıl nem, aydınlık düzeyi içeren ve ek sensörlere genişletilebilen düşük maliyetli bir ölçüm sistemi tasarlamak, inşa etmek ve test etmektir. ve geliştirmek
Nest Thermostat Geçmiş Veri Kaydedici: 6 Adım (Resimlerle)
Nest Termostat Geçmiş Veri Kaydedici: Nest termostat, sıcaklığı, nemi ve fırın/AC kullanımını takip eder ve kullanıcılar yalnızca 10 gün boyunca geçmiş verileri görebilir. Geçmiş verileri (>10 gün) toplamak istedim ve her sette iç içe ping atan google elektronik tablo komut dosyasına rastladım