- Gerekli malzemeler:
- ACS712 Akım Sensörünün Çalışması:
- Devre şeması:
- Simülasyon:
- PIC Mikroişlemciyi Programlama:
- Çalışma:
Herhangi bir elektrik sistemini oluştururken veya hata ayıklarken voltaj ve akımın ölçülmesi her zaman yardımcı olacaktır. Bu projede PIC16F877A Mikrodenetleyici ve akım sensörü ACS712-5A kullanarak kendi Dijital Ampermetremizi yapacağız. Bu proje, 0-30A aralığında hem AC hem de DC akımı 0,3A hassasiyetle ölçebilir. Kodda birkaç değişiklik yaparak bu devreyi 30A'ya kadar ölçmek için de kullanabilirsiniz. Öyleyse başlayalım !!!
Gerekli malzemeler:
- PIC16F877A
- 7805 Voltaj Regülatörü
- ACS712 akım Sensörü
- 16 * 2 LCD ekran
- Bir bağlantı kutusu ve yük (Sadece test için)
- Bağlantı telleri
- Kapasitörler
- Breadboard.
- Güç kaynağı - 12V
ACS712 Akım Sensörünün Çalışması:
Projeyi oluşturmaya başlamadan önce, projenin ana bileşeni olduğu için ACS712 Akım sensörünün çalışmasını anlamak bizim için çok önemlidir. Akımı, özellikle de AC akımını ölçmek, uygun olmayan izolasyon problemi vb. İle birleşen gürültü nedeniyle her zaman zor bir iştir. Ancak Allegro tarafından tasarlanan bu ACS712 modülünün yardımıyla çok daha kolay hale geldi.
Bu modül, Dr. Edwin Hall tarafından keşfedilen Hall etkisi prensibine göre çalışır. Prensibine göre, akım taşıyan bir iletken manyetik bir alana yerleştirildiğinde, hem akımın hem de manyetik alanın yönlerine dik olan kenarları boyunca bir voltaj üretilir. Konsepte çok derinlemesine girmeyelim, sadece bir akım taşıyan iletken etrafındaki manyetik alanı ölçmek için bir salon sensörü kullandığımızı söyleyin. Bu ölçüm, salon voltajı dediğimiz milivolt cinsinden olacaktır. Ölçülen bu salon voltajı, iletkenden akan akımla orantılıdır.
ACS712 Akım Sensörünü kullanmanın en büyük avantajı, hem AC hem de DC akımı ölçebilmesi ve ayrıca Yük (AC / DC yükü) ve Ölçüm Birimi (Mikrodenetleyici parçası) arasında izolasyon sağlamasıdır. Resimde gösterildiği gibi modül üzerinde sırasıyla Vcc, Vout ve Ground olmak üzere üç pimimiz var.
2 pimli terminal bloğu, akım taşıyan telin içinden geçirilmesi gereken yerdir. Modül + 5V üzerinde çalışır, bu nedenle Vcc'ye 5V güç sağlanmalı ve toprak, sistemin Zeminine bağlanmalıdır. Vout pini, 2500mV'luk bir ofset voltajına sahiptir, yani telden geçen akım olmadığında çıkış voltajı 2500mV olacaktır ve akım pozitif olduğunda voltaj 2500mV'den büyük olacaktır ve akan akım negatif olduğunda, voltaj 2500mV'den az olacaktır.
Telden akım geçmediğinde 512 (2500mV) olacak olan modülün çıkış voltajını (Vout) okumak için PIC mikrodenetleyicisinin ADC modülünü kullanacağız. Akım negatif yönde akarken bu değer azalacak ve akım pozitif yönde aktıkça artacaktır. Aşağıdaki tablo, çıkış voltajının ve ADC değerinin telden geçen akıma göre nasıl değiştiğini anlamanıza yardımcı olacaktır.
Bu değerler, ACS712 Veri Sayfasında verilen bilgilere dayanılarak hesaplanmıştır. Bunları aşağıdaki formülleri kullanarak da hesaplayabilirsiniz:
Vout Gerilimi (mV) = (ADC Değeri / 1023) * 5000 Kablodan Geçen Akım (A) = (Vout (mv) -2500) / 185
Şimdi, ACS712 Sensörünün nasıl çalıştığını ve ondan ne bekleyebileceğimizi biliyoruz. Devre şemasına geçelim.
Devre şeması:
Bu Dijital Ampermetre Projesinin tam devre şeması aşağıdaki resimde gösterilmektedir.
Tam dijital akım ölçer devresi, 7805 Voltaj regülatörü tarafından düzenlenen + 5V ile çalışır. Akımın değerini görüntülemek için 16X2 LCD kullandık. Mevcut Sensör (Vout) çıkış pimi 7 bağlı olan inci Analog voltaj okuma AN4 olan PIC pimi.
Ayrıca PIC için pim bağlantısı aşağıdaki tabloda gösterilmektedir.
S.No: |
PIN numarası |
Pin Adı |
Bağlı |
1 |
21 |
RD2 |
LCD RS |
2 |
22 |
RD3 |
E / LCD |
3 |
27 |
RD4 |
D4 / LCD |
4 |
28 |
RD5 |
D5 / LCD |
5 |
29 |
RD6 |
D6 / LCD |
6 |
30 |
RD7 |
D7 / LCD |
7 |
7 |
AN4 |
Mevcut Sesnor Vout |
Bu dijital ampermetre devresini bir breadboard üzerine inşa edebilir veya bir perf board kullanabilirsiniz. PIC eğitimlerini takip ediyorsanız, PIC mikrodenetleyicilerini öğrenmek için kullandığımız donanımı da yeniden kullanabilirsiniz. Burada aynı kullandık Kurulu perf aşağıda gösterildiği gibi biz PIC Mikrodenetleyici ile led Yanıp Sönen için inşa hangi:
Not: Bu panoyu oluşturmanız zorunlu değildir, devre şemasını takip edebilir ve devreyi bir devre kartı üzerinde kurabilir ve programınızı PIC Mikroişlemciye aktarmak için herhangi bir damper kitini kullanabilirsiniz.
Simülasyon:
Bu akım ölçer devresi, Donanımınıza fiilen devam etmeden önce Proteus kullanılarak da simüle edilebilir. Bu eğitimin sonunda verilen kodun hex dosyasını atayın ve oynat düğmesine tıklayın. Akımı LCD ekranda görebilmeniz gerekir. AC yükü olarak bir Lamba kullandım, içinden geçen akımı değiştirmek için üzerine tıklayarak Lambanın iç direncini değiştirebilirsiniz.
Yukarıdaki resimde görebileceğiniz gibi, Ampermetre, 3.52 A civarında olan Lambadan geçen gerçek akımı gösterir ve LCD, akımı 3.6A civarında gösterir. Ancak pratik durumda 0.2A'ya kadar Hata alabiliriz. (MV) cinsinden ADC değeri ve voltajı da anlayışınız için LCD'de gösterilir.
PIC Mikroişlemciyi Programlama:
Daha önce de belirtildiği gibi, kodun tamamı bu makalenin sonunda bulunabilir. Kod, yorum satırları ile kendi kendine açıklanmıştır ve sadece bir LCD'yi PIC Mikroişlemci ile arayüzleme ve PIC Mikroişlemcilerini öğrenmeye ilişkin önceki derslerimizde daha önce ele aldığımız PIC Mikroişlemcide ADC modülünü kullanma konseptini içerir.
Sensörden okunan değer, akım değiştiğinden ve aynı zamanda gürültüye maruz kaldığından doğru olmayacaktır. Bu nedenle, ADC değerini 20 kez okuruz ve aşağıdaki kodda gösterildiği gibi uygun akım değerini elde etmek için ortalamasını alırız.
Gerilim ve Akım değerini hesaplamak için yukarıda açıklanan formülleri kullandık.
for (int i = 0; i <20; i ++) // Değeri 20 Kez okuyun {adc = 0; adc = ADC_Read (4); // ADC Voltajını Oku = adc * 4.8828; // Voltajı hesapla if (Voltage> = 2500) // Akım pozitif ise Amps + = ((Voltage-2500) /18.5); else if (Gerilim <= 2500) // Akım negatif Amper ise + = ((2500-Gerilim) /18.5); } Amper / = 20; // 20 kez okunan değerin ortalamasını al
Bu proje aynı zamanda AC akımını da okuyabildiğinden, akım akışı negatif ve pozitif olacaktır. Yani çıkış voltajının değeri 2500mV'nin üzerinde ve altında olacaktır. Bu nedenle, aşağıda gösterildiği gibi, negatif ve pozitif akım formüllerini, negatif değer almamamız için değiştiriyoruz.
if (Gerilim> = 2500) // Akım pozitif ise Amper + = ((Gerilim-2500) /18.5); else if (Gerilim <= 2500) // Akım negatif Amper ise + = ((2500-Gerilim) /18.5);
30A akım sensörü kullanarak:
Akımı 5A'dan daha fazla ölçmeniz gerekiyorsa, bir ACS712-30A modülü satın alıp aynı şekilde arabirim oluşturabilir ve aşağıda gösterildiği gibi 18.5'i 0.66 ile değiştirerek aşağıdaki kod satırını değiştirebilirsiniz:
if (Gerilim> = 2500) // Akım pozitif ise Amper + = ((Gerilim-2500) /0.66); else if (Gerilim <= 2500) // Akım negatif Amper ise + = ((2500-Gerilim) /0.66);
Düşük akımı ölçmek istiyorsanız, AVR Mikrodenetleyiciyi kullanarak 100mA Ampermetreyi de kontrol edin.
Çalışma:
PIC Mikrodenetleyiciyi programladıktan ve donanımınızı hazırladıktan sonra. Sadece yükü ve PIC mikrodenetleyicinizi açın, LCD ekranınızda görüntülenen telden geçen akımı görebilmelisiniz.
NOT: ASC7125A modülü kullanıyorsanız, yükünüzün 5A'dan fazla tüketmediğinden emin olun, ayrıca akım taşıyan iletkenler için daha yüksek kalınlıkta kablolar kullanın.
Tam çalışma PIC mikro bazlı ampermetre projesinde gösterilen video aşağıda. Umarım projeyi çalıştırmışsınızdır ve yapmaktan zevk almışsınızdır. Herhangi bir şüpheniz varsa aşağıdaki yorum bölümüne yazabilir veya forumlarımızda yayınlayabilirsiniz.