İçindekiler:
- Adım 1: Gerekli Bileşenler
- Adım 2: Şematik Diyagram
- Adım 3: Devreyi Anlamak
- Adım 4: Frekans ve Gerilimin Hesaplanması
- Adım 5: Arduino Kodu
- 6. Adım: Sonuç
Video: Arduino Kullanarak Güç Kaynağı Frekans ve Gerilim Ölçümü: 6 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
Tanıtım:
Bu projenin amacı, burada Hindistan'da 220 ila 240 Volt ve 50Hz arasındaki besleme frekansını ve voltajını ölçmektir. Sinyal yakalamak ve frekans ve voltajı hesaplamak için bir Arduino kullandım, sahip olduğunuz başka bir mikrodenetleyici veya kartı kullanabilirsiniz. Devre, bir avuç bileşen gerektirir ve tüm pratik amaçlar için oldukça doğrudur.
Adım 1: Gerekli Bileşenler
- Arduino Uno'su
- IC LM358
- Düşürücü transformatör (220V - 12V)
-
kapasitörler:
- 0.1uF
- 2 x 1uF
-
Dirençler:
- 3 x 1kOhm
- 2 x 100kOhm
- 1.5kOhm
- 3.3kOhm
- 6.8kOhm
- 3 x 1N4148 diyot
- Ekmek Tahtası ve Jumper teli (isteğe bağlı)
Adım 2: Şematik Diyagram
Yukarıdaki devrede, trafo primeri besleme şebekesine, primer ise ölçüm devremize bağlanmıştır.
Adım 3: Devreyi Anlamak
İşlevselliğe göre, bu devre dört bölüme ayrılabilir:
A: Sıfır Geçiş Dedektörü devresi
Bu devre, sinüs dalgası pozitiften negatife her gittiğinde 5V kare darbe üretir. D1 ve D2 ile birleştirilmiş direnç R1, diyot bağlantısındaki giriş voltajı salınımını -0.6V ila +5.6V ile sınırlar (diyot ileri voltajının 0,6V olduğu varsayılarak). Ayrıca R1 değerini artırarak devrenin giriş voltaj aralığını artırabilirsiniz.
Direnç R2 ve R3, LM358'in giriş ortak mod voltajı -0.3Volt ile sınırlı olduğundan, negatif voltaj salınımını -0.24Volt ile sınırlamak için bir voltaj bölücü oluşturur.
Direnç R4, R5, kapasitör C1 ve op-amp (burada bir karşılaştırıcı olarak kullanılır), direnç R4 ve R5'in histerezisi zeminin +49.5mV yukarısında ayarladığı Schmitt Tetikleme devresini oluşturur. Schmitt Tetikleyicinin çıktısı, daha fazla işlem için Arduino PIN2'ye beslenir.
B: İzolasyon ve Gerilim Düşüşü
Adından da anlaşılacağı gibi, bu parça voltajı izole eder ve yaklaşık 12Vrms'ye düşürür. Azaltılmış voltaj ayrıca enstrümantasyon devresine beslenir.
C: Tepe Dedektörü devresi
Bu devre, giriş sinyalinin maksimum tepe voltajını belirler. Direnç bölücü R6 ve R7, giriş voltajını 0,23 kat azaltır (12Vrms, 2,76Vrms'ye düşürülür). D3 diyotu, sinyalin yalnızca pozitif yarım döngüsünü yürütür. C2'deki voltaj, voltajı daha fazla hesaplamak için Arduino analog pin A0'a beslenen doğrultulmuş sinyalin tepe değerine kadar yükselir.
Ayrıca bu devreyi burada bahsedilenler gibi hassas bir tepe dedektör devresi ile değiştirebilirsiniz. Ancak gösteri amaçlarım için yukarıdaki devre yeterli olacaktır.
D: Arduino
Bu kısımda Arduino, Schmitt Trigger devresi tarafından üretilen kare darbeleri yakalar ve tepe dedektör devresinden analog voltajı okur. Veriler, kare darbenin (ac besleme süresi kişisine eşittir) zaman periyodunu (dolayısıyla frekansı) ve beslemenin voltajını belirlemek için ayrıca işlenir.
Adım 4: Frekans ve Gerilimin Hesaplanması
Frekansın hesaplanması:
Arduino yardımıyla sinyalin T zaman periyodunu ölçebiliriz. Sıfır geçiş dedektöründen gelen kare dalga darbeleri pim 2'ye beslenir, oradan her darbenin zaman periyodunu ölçebiliriz. Arduino'nun dahili zamanlayıcısını (özellikle Timer1), kare darbenin iki Yükselen kenarı arasındaki süreyi kesmeler yardımıyla hesaplamak için kullanabiliriz. Zamanlayıcı, saat döngüsü başına 1 artar (ön ölçekleyici olmadan = 1) ve değer TCNT1 kaydında saklanır. Dolayısıyla 16Mhz saat, sayacı her mikrosaniyede 16 artırır. Benzer şekilde, ön ölçekleyici = 8 için zamanlayıcı her mikrosaniyede 2 artırılır. Dolayısıyla iki yükselen kenar arasındaki zaman periyodu
T = (TCNT1 değeri) / her sayım için geçen süre
Nerede, her sayım için geçen süre = ön ölçekleyici / (Arduino saat hızı (16MHz)
Dolayısıyla frekans f = 1/T = (Arduino saat hızı (16MHz) / (Ön ölçekleyici * TCNT! değeri)
Dolayısıyla zamanlayıcı hızı (Hz) = (Arduino saat hızı (16MHz)) / ön ölçekleyici ile verilir.
ve sinyalin frekansı = (Arduino saat hızı
Buna uygun olarak, f = 1/T bağıntısından f frekansını hesaplayabiliriz.
Voltajın hesaplanması:
Arduino'nun yerleşik ADC'si 10 bit çözünürlüğe sahiptir (olası değerler = 2 ^ 10 = 1024), 0-1023 aralığında değerler döndürür. Karşılık gelen analog voltajı V hesaplamak için aşağıdaki ilişkiyi kullanmalıyız.
V = (ADC Okuma) * 5/1023
Besleme voltajını Vs(rms) hesaplamak için Transformatör Oranını, Direnç bölücü R6R7'yi ve tepe dedektör devresini hesaba katmalıyız. Çeşitli faktörleri/oranları basitçe şu şekilde bir araya getirebiliriz:
Trafo oranı = 12/230 = 0.052
Direnç bölücü = R7/(R6 + R7) = 0.23
Tepe dedektör devresinde = 1.414
Vs(rms) = V/(1.414*0.052*0.23) = (ADC Okuma) * 0.289
Bu değerin, esas olarak gerçek trafo oranındaki hata ve diyot ileri voltaj düşüşü nedeniyle gerçek değerden uzak olduğuna dikkat edilmelidir. Bunu aşmanın bir yolu, devreyi kurduktan sonra faktörü belirlemektir. Bu, besleme voltajını ve C2 kondansatörü üzerindeki voltajı bir multimetre ile ayrı ayrı ölçerek, ardından Vs(rms)'yi aşağıdaki gibi hesaplayarak:
Vs(rms) = ((Besleme Gerilimi * 5)/(C2 arasındaki voltaj *1023))*(ADC Okuma)
benim durumumda, Vs(rms) = 0.33*(ADC Okuma)
Adım 5: Arduino Kodu
#define volt_in A0 //analog voltaj okuma pini
uçucu uint16_t t_period; uint16_t ADC_değeri = 0; şamandıra volt, frekans; void isr() { t_period = TCNT1; //TCNT1 değerini t_period içinde sakla TCNT1 = 0; //Zamanlayıcı1'i sıfırla ADC_value = analogRead(volt_in); //analog voltajı oku } float get_freq() { uint16_t timer = t_period; if(timer==0) 0 döndür; // sıfıra bölmeyi önlemek için 16000000.0/(8UL*timer) döndürün; // frekans f = clk_freq/(precaler*timeperiod)} void setup() { TCCR1A = 0; TCCR1B = bit(CS11); //ön ölçekleyiciyi 8 TCNT1 = 0 olarak ayarla; //Zamanlayıcı1 değerini sıfırla TIMSK1 = bit(TOIE1); //Zamanlayıcı1 taşma kesmesini etkinleştir EIFR |= bit(INTF0); // INT0 kesme bayrağını temizle Serial.begin(9600); } void loop() { AttachInterrupt(0, isr, RISING); //harici kesme (INT0) gecikmesini etkinleştir(1000); ayırInterrupt(0); sıklık = get_freq(); volt = ADC_değeri*0.33; Dize tamponu; buf += String(freq, 3); tampon += F("Hz\t"); buf += Dizi(volt); buf += F("Volt"); Seri.println(tampon); }
6. Adım: Sonuç
Devreyi bir devre tahtasına monte edebilir ve kodu değiştirebilir ve daha sonra analiz edilebilecek verileri depolamak için bir SD Kart ekleyebilirsiniz. Buna bir örnek, pik saatlerde voltajı ve frekansı analiz edebilmenizdir.
Breadboard'a monte ettiğim devre, LM358(dual opamp) yerine LM324(dört opamp) kullandı çünkü o an o IC'ye sahip değildim ve COVID-19 salgını nedeniyle ülke çapında kilitlenme yeni bir IC almamı zorlaştırdı.. Bununla birlikte, devrenin çalışmasını etkilemez.
Her türlü öneri ve sorularınız için aşağıya yorum yapmaktan çekinmeyin.
Önerilen:
Değişken Ucuz Yüksek Gerilim Güç Kaynağı: 3 Adım
Değişken Ucuz Yüksek Voltajlı Güç Kaynağı: Kondansatör şarjı veya başka bir yüksek voltaj uygulaması için düzenlenmiş bir yüksek voltajlı güç kaynağı oluşturun. Bu proje 15$'dan daha ucuza mal olabilir ve 1000V'a kadar elde edebilecek ve çıkışı 0-1000V+ arasında ayarlayabileceksiniz. Bu talimat
Kolay Yüksek Gerilim Güç Kaynağı: 5 Adım (Resimlerle)
Kolay Yüksek Gerilim Güç Kaynağı: Bu Talimat, Yüksek Gerilim Güç kaynağı yapımında size yol gösterecektir. Bu projeye başlamadan önce, bazı basit Güvenlik Önlemlerinin farkında olun. Yüksek Voltajlı Güç kaynağını kullanırken her zaman elektrikli eldiven giyin.2. Gerilim ürünü
Mini Yüksek Gerilim Güç Kaynağı: 3 Adım
Mini Yüksek Voltaj Güç Kaynağı: Herkese merhaba, başka bir projeye geri döndüm. Diğer talimatlarımı (ve başlığımı, duh) gördüyseniz, yüksek voltaj konusunda uzman olduğumu bilirdiniz ve tam olarak yaptığımız şey bu. Bu projede. Ve yüksek voltaj ile uğraştığımız için *UYARI
LM317 Kullanan Kendin Yap Güç Kaynağı - Lm 317 Değişken Gerilim Çıkışı: 12 Adım
LM317 Kullanan Kendin Yap Güç Kaynağı | Lm 317 Değişken Gerilim Çıkışı: Bugün küçük projeleriniz için küçük bir güç kaynağı ünitesinin nasıl yapıldığını öğreneceğiz.LM317, düşük akım güç kaynağı için iyi bir seçim olacaktır.Lm317, gerçekte bağlı olan direncin değerine bağlı olarak değişken çıkış voltajı sağlar.
220V - 24V 15A Güç Kaynağı - Anahtarlamalı Güç Kaynağı - IR2153: 8 Adım
220V - 24V 15A Güç Kaynağı | Anahtarlamalı Güç Kaynağı | IR2153: Merhaba dostum bugün 220V - 24V 15A Güç Kaynağı yapıyoruz | Anahtarlamalı Güç Kaynağı | ATX güç kaynağından IR2153