Basit Elektronik Yük Devresi V2

Daha elektronik yükte yapılması gereken bir sürü test var. Sana bir test ve iş planı vereyim :)

1) Stabil olarak çekilebilecek minimum akım nedir? Yani sürekli olarak değişmeyen, az çok sabit kalan minimum akım nedir?

2) Maksimum voltajı 30V olarak belirledik. Voltaj 30V u geçerse MCU nun çıkışı kesmesi lazım.

3) Maksimum voltajda çekilebilecek maksimum akım nedir? Yani MOSFET lerin sıcaklığının güvenli bir limitte sabit kaldığı maksimum akım nedir?

4) Bu güç limiti belirlendikten sonra, MCU'nun bu güç limitinin belli bir marjını geçtiği anda çıkışı kesmesi lazım.

5) MOSFET sıcaklık limiti aşılırsa çıkışın kesilmesi lazım.

6) Belli bir akım ayarlandığında, voltaj değişirse akım sabit kalıyor mu?

7) Voltajı potansiyometre ile sürekli değiştirirken akım sabit kalıyor mu?

8) Elektronik yükü 1A ayarlayıp akımı 3A yaparsan akım ayarlanan değere düzgün bir şekilde çıkıyor mu? Yoksa overshoot var mı? Varsa ne kadar?

9) Elektronik yükü 3A ayarlayıp akımı 1A yaparsan akım ayarlanan değere düzgün bir şekilde iniyor mu? Yoksa undershoot var mı? Varsa ne kadar?

Bu testlerin yapılıp yükün davranışının net olarak anlaşılması lazım. Ondan sonra artık buna güvenip her yerde rahatlıkla kullanırsın.
 
Son düzenleme:
Testlerin yapılması kolay yav. Gören de phase margin, loop stability testi yapacağını sanar :D
 
Abi ölçüm işlemini kodları düzenleyerek hallettim.
Çok yakın oranda doğru ölçüyorum artık voltajı.
Daha kesin sonuçlar için örnek sayısını çoğaltmam gerek ama arduinonun belleği yetmeyebilir. En son nano ile işimiz kalmadıktan sonra kalan bellek miktarını kullanarak örnek sayısını çoğaltırız.

interpolasyon fonksiyonunun ne yaptığını anladım ama işin matematik kısmı bende hala muamma.

C++:
// Referans ve ADC ölçümleri ///////////////////////////////////////
float adc_values[] = {5.01, 7.51, 9.98, 12.39, 15.08, 17.43, 19.83, 21.99, 24.01};  // ADC değerleri
float ref_values[] = {5.04, 7.546, 10, 12.437, 15.14, 17.5, 20.05, 22.50, 25.16};  // Multimetre ölçümleri
int num_points = 9;  // Veri noktalarının sayısı
////////////////////////////////////////////////////////////////////

// Interpolasyon fonksiyonu  ////////////////////////////////////////////////////////////////////
float interpolate(float adc_value) {
  for (int i = 0; i < num_points - 1; i++) {
    // Eğer adc_value iki nokta arasındaysa
    if (adc_value >= adc_values[i] && adc_value <= adc_values[i + 1]) {
      // Doğrusal interpolasyon
      float slope = (ref_values[i + 1] - ref_values[i]) / (adc_values[i + 1] - adc_values[i]);
      return ref_values[i] + slope * (adc_value - adc_values[i]);
    }
  }
  // Eğer aralık dışında bir değer alınırsa, sınır değerleri döndür
  if (adc_value < adc_values[0]) return ref_values[0];
  if (adc_value > adc_values[num_points - 1]) return ref_values[num_points - 1];
  return 0;  // Hata durumu
}
/////////////////////////////////////////////////////////////////////////////////////////////////

// Voltaj Okuma Kodları /////////////////////////////////////////
  voltajDeger = analogRead(voltajRead);
  voltaj = (voltajDeger * 4.995) / 1023;
  girisVoltaji = voltaj * (R1 + R2) / R2;
  float corrected_voltaj = interpolate(girisVoltaji);
///////////////////////////////////////////////////////////////

  display.print("Volt:");
  display.println(corrected_voltaj);
 
Özellikle düşük voltaj tarafına fazla örnek vermek lazım. 0.5 1.0 2.0 3.0 gibi. Aynı şekilde üst voltaj sınırına da. Lineerlik buralarda daha kötü oluyor.
 
Özellikle düşük voltaj tarafına fazla örnek vermek lazım. 0.5 1.0 2.0 3.0 gibi. Aynı şekilde üst voltaj sınırına da. Lineerlik buralarda daha kötü oluyor.
Olayı yazılımsal olarak anladım. Bundan sonrası kolay. ver örneği al reel değeri.
Şimdi bir şey dikkatimi çekti. 14.1V 1A akım çekmeye başladım güç kaynağından. Voltaj 13.47V'a düştü. Bu değer multimetrede de aynı, yük ekranında da aynı. O zaman sorun güç kaynağında oluyor değil mi?
 
Kablolarda voltaj düşüyor ondan daha az ölçüyorsun. Eğer güç kaynağının regülasyonu doğru çalışıyormu diye test etmek istiyorsan, ölçümü DOĞRUDAN pass transistörlerin emitter'inden yapman lazım.
 
Kablolarda voltaj düşüyor ondan daha az ölçüyorsun. Eğer güç kaynağının regülasyonu doğru çalışıyormu diye test etmek istiyorsan, ölçümü DOĞRUDAN pass transistörlerin emitter'inden yapman lazım.
Yok ben almıyım o zaman. :)
Güç kaynağının üzerindeki dijital multimetrede voltaj düşmüyor. Bende diyorum ki ne kadar hassas yapmışız, dijital multimetreden bile iyi ölçüyoruz :katil2:

Akımı nasıl ölçelim abi? Onda da interpolasyon kullanacağız herhalde ama ilk önce gelen verileri ölçeceğiz herhalde.
1.Aref, ki onu zaten biliyoruz artık.
2.Opamp çıkışı

Dün arkadaşlardan biri aşağıdaki kodu vermişti. Bu kod ile 24V da 1A çekerken;
Pensampermetre : 1A
Yük Ekranı : 780mA

C++:
 // Akım Okuma Kodları ////////////////////////////////////////
  akimDeger = analogRead(akimRead);
  voltajDususu = (akimDeger * 4.994) / 1023;
  akim = voltajDususu / 0.256;
  //////////////////////////////////////////////////////////////
 
Akım için tablo oluştururken mümkünse pensampermetreyi kullanma, voltaj ile aynı mantıkta kodu değiştirebilirsin.
 

Çevrimiçi personel

Forum istatistikleri

Konular
6,983
Mesajlar
119,288
Üyeler
2,835
Son üye
alpermete

Son kaynaklar

Son profil mesajları

hakan8470 wrote on Dede's profile.
1717172721760.png
Dedecim bu gul mu karanfil mi? Gerci ne farkeder onu da anlamam. Gerci bunun anlamini da bilmem :gulus2:
Lyewor_ wrote on hakan8470's profile.
Takip edilmeye başlanmışım :D ❤️
Merhaba elektronik tutsakları...
Lyewor_ wrote on taydin's profile.
Merhabalar. Elektrik laboratuvarınız varsa bunun hakkında bir konunuz var mı acaba? Sizin laboratuvarınızı merak ettim de :)
Lyewor_ wrote on taydin's profile.
Merhabalar forumda yeniyim! Bir sorum olacaktı lcr meterler hakkında. Hem bobini ölçen hemde bobin direnci ölçen bir lcr meter var mı acaba?
Back
Top