Basit Elektronik Yük Devresi V2

Elektronik yüke bir pil bağladım.
Multimetre ile okuduğum değer 6.95V, yazılımla okuduğum değer ise 6.89V
Devre üzerindeki bölücü dirençlerin değeri ne ise tam onu yazdım. Yazılım üzerinde bu değerler ile oynayarak belki tam 6.95V'u yakalarım ama bunu yapmak doğru olur mu?

38504 eklentisine bak
Dirençlerin tam değerini yazmak yerine deneysel olarak gain i tespit etmek daha doğru olabilir. Ne demek istediğimi şöyle anlatayım, girişi kısa devre et ADC nin kaç okuduğuna bak(0 ise şanslısın), sonra girişe bildiğin bir voltaj ver mesela 10V. Eğer giriş kısa devreyken 0 okuyorsa adc, o zaman 10V un kaç adc birimine denk geldiğinden bir birim adc kaç V a geliyor bulur çevririrsin. Eğer boş durumda 0 vermiyorsa okunan değerden 0 da olanı çıkar, sonra bir birimin kaç volta denk geldiğini bulup hesapla. Tam direnç değerlerini girsen de denk gelmemesinin sebebi ADC nin örnekleme esnasında biraz akım çekmesi, ve diğer adc hataları. Biz burada ADC nin lineerliğinin bozuk olmadığını varsaydık ama lineerliğinde de hata olabilir
 
Dirençlerin tam değerini yazmak yerine deneysel olarak gain i tespit etmek daha doğru olabilir. Ne demek istediğimi şöyle anlatayım, girişi kısa devre et ADC nin kaç okuduğuna bak(0 ise şanslısın), sonra girişe bildiğin bir voltaj ver mesela 10V. Eğer giriş kısa devreyken 0 okuyorsa adc, o zaman 10V un kaç adc birimine denk geldiğinden bir birim adc kaç V a geliyor bulur çevririrsin. Eğer boş durumda 0 vermiyorsa okunan değerden 0 da olanı çıkar, sonra bir birimin kaç volta denk geldiğini bulup hesapla. Tam direnç değerlerini girsen de denk gelmemesinin sebebi ADC nin örnekleme esnasında biraz akım çekmesi, ve diğer adc hataları. Biz burada ADC nin lineerliğinin bozuk olmadığını varsaydık ama lineerliğinde de hata olabilir
Direnç yerine ADC yi kalibre et diyorsun yani.
Şimdi bir deneme yaptım. Yük girişini kısa devre yaptığımda ekranda 0 okuyorum ama yük girişi boştayken de 0 okuyorum.
Sanırım bu işi ADC değerini serial ekrana yazdırarak yapmak lazım ki o biraz zor. Çünkü nano board da takılı iken 9V ile besleniyor. Ustüne birde USB takarsam patlama çatlama olabilir.

Devrede kullandığım dirençler 18K ile 3.24K
18K olan %1 toleranslı, 3.24K olan %0.1 toleranslı.
3.24K olan direnci yazılımda 3.21K olarak tanımlarsam, Tam olarak pilin değerini multimetredeki ile aynı okuyorum.
Eğerki bu şekilde kullanılırken voltaj değişimlerinde yanlış ölçmeyecekse benim için sıkıntı yok.
 
  • Beğen
Reactions: clc
Şimdi ayarlı güç kaynağını bağladım yüke. 25.5V'a kadar çıktım. Bu seviyede 24.5V okudu. 1V sapma var.
 
Devrede kullandığım dirençler 18K ile 3.24K
18K olan %1 toleranslı, 3.24K olan %0.1 toleranslı.
3.24K olan direnci yazılımda 3.21K olarak tanımlarsam, Tam olarak pilin değerini multimetredeki ile aynı okuyorum.
Eğerki bu şekilde kullanılırken voltaj değişimlerinde yanlış ölçmeyecekse benim için sıkıntı yok.
Çok küçük bir eksikle doğru ölçmeye çok yaklaşmışsın. Dirençlerin değerlerine ilaveten adc nin referans gerilimini de hesaplamaya alırsan ölçüm hatası yok sayılacak düzeyde ortadan kalkacak. Eğer adc referans gerilimin Vcc ise bunu ölçüp hesaplamaya dahil et. Yani direkt 5 volt veya 3,3 volt olarak hesaplama, ölçülen gerilim değeri ne ise onu hesaba al.
 
Çok küçük bir eksikle doğru ölçmeye çok yaklaşmışsın. Dirençlerin değerlerine ilaveten adc nin referans gerilimini de hesaplamaya alırsan ölçüm hatası yok sayılacak düzeyde ortadan kalkacak. Eğer adc referans gerilimin Vcc ise bunu ölçüp hesaplamaya dahil et. Yani direkt 5 volt veya 3,3 volt olarak hesaplama, ölçülen gerilim değeri ne ise onu hesaba al.
Adc referansı ölçmeyi bilmiyorum şuan :)
Bir araştırayım.

İşin içine amperi de dahil ettim ama o çok beter oldu. Sanırım yanlış hesaplıyorum.
Güç kaynağından 500mA çekerken ekranda sadece 0.13A yazıyor.

C++:
//Akım Değişkenleri //////////////////
const int akimRead = A7;
const float shuntDirenci = 0.88;
int akimDeger = 0;
float voltajDususu = 0.0;
float akim = 0.0;
/////////////////////////////////////

akimDeger = analogRead(akimRead);
  voltajDususu = (akimDeger * 5.0) / 1023;
  akim = voltajDususu / shuntDirenci;

20241127_010938.jpg
 
Nanonun AREF pinini ölçmek gerekiyormuş. Orayı 4.994 ölçtüm ve koda uyguladım.
Shunt direnci dört tane diye 0.88 toplamını yazmıştım, onunda sadece bir tanesini yazarak doğru akım ölçümüne çok yaklaştım. Ama hala kabul edilebilir bir değer alamıyorum.
 
Voltaj kısmını bence çözdün. Ekrana bastır adc okumasını direkt, sırasıyla multimetre ike doğruladığın 5-10-15-20V u ver artışlar aynı mı gör, ona göre kodu yazarsın. Boşta ve kısa devre iken 0 okuman mantıklı, ufak da olsa bir kapasite varsa üstünde voltaj kalma ihtimaline karşı kısa devre etmeni söylemiştim.

Akım işinde şu her shuntten kablo çekme işini mi yaptın? Onun uyguladığın şemasını bir koyabilir misin oradan yorum yapalım. Amplifier kazancın neymiş kontrol edelim
 
Voltaj kısmını bence çözdün. Ekrana bastır adc okumasını direkt, sırasıyla multimetre ike doğruladığın 5-10-15-20V u ver artışlar aynı mı gör, ona göre kodu yazarsın. Boşta ve kısa devre iken 0 okuman mantıklı, ufak da olsa bir kapasite varsa üstünde voltaj kalma ihtimaline karşı kısa devre etmeni söylemiştim.

Akım işinde şu her shuntten kablo çekme işini mi yaptın? Onun uyguladığın şemasını bir koyabilir misin oradan yorum yapalım. Amplifier kazancın neymiş kontrol edelim
Şon şema ve devre görselleri aşağıda. 4 Şöntten opamp girişine ayrı ayrı kablo çektim.
Voltajı tam oturtamadım. Küçük değerde tam oturmuşken büyük değerde 2-3V kayıyor.
Biraz daha işin matematiğine girmek lazım sanırım ama o kabiliyet bende yok. Bakalım tırmalaya tırmalaya bir şeyler yapacağız galiba.
Şema şöyle. Sana şemayı da geri gönderebilirim ama benim versiyon en son bıçak sırtı versiyon. Kaynak koddan derledim, bazı uyumsuzluklar olabilir.

4 şöntten voltajı alıp toplayıcı opamp'e veriyoruz. Aslında çıkışın tam olarak toplama eşit olması için opamp kazancının tam 4 olması lazım. Ama o kombinasyonu standart dirençlerle yakalamak için kendini paralayacağına, ADC ile okuduğun değeri bir düzeltme katsayısı ile çarpman yeterli olacak.

38475 eklentisine bak

 
Son şemadaki akım ölçüm bir toplar yükselteçte toplanıyor. Bunun yaklaşık kazancı 2,6 bunu hesaplamaya dahil ediyor musun?
 
Son şemadaki akım ölçüm bir toplar yükselteçte toplanıyor. Bunun yaklaşık kazancı 2,6 bunu hesaplamaya dahil ediyor musun?
Yoo. Öyle bir bilgi yok bende. :)

Şu mesajdaki koda nasıl dahil edeceğimi söylersen yapmaya çalışırım.

 
Kod:
voltajDususu = (akimDeger * 5.0) / 1023;

Bunun yerine

voltajDususu = (akimDeger * 2.6 * 4.994) / 1023;

Böyle olması lazım.

Ayrıca 10 bitlik çözünürlükte gerilim okumada şemadaki gerilim bölücülerle yaklaşık 31mV adımlarla doğru okuman lazım. 25~30 Volt arası 1-2 volt hata ile okuyorsan gözden kaçan bir hata var demektir.
 
4 shuntteki voltajın toplam değerinin 0.9 katının çıkışı olacağını düşünüyorum ben o devreden(kafadan yaptım hata olursa düzeltiriz). Bu durumda senin mesela shuntlerinden 1er A geçerse her biri 220mV görür, ne yaptı 4ünün toplamı 880mV. 0.9 katı nedir, 792mV yani 792mV okuduğunda adc den( arduinonun adc si sanırım 10bit yani adc okuması 162 olduğunda) 4A çekiyorsun. O zaman adc nin okuduğu her bir değer yaklaşık 24.7mA diyebiliriz. Adc den okuduğun değeri 24.7 ile çarparsan mA cinsinden akımı ölçeceğini düşünüyorum. Ama yine oradaki kazanç dirençlerine göre falan düzeltme yapmamız lazım
 
Voltaj konusuna gelince lineerlik ile ilgili bir hata olabilir. Çözüm mevcut ama sorun bu mu önce onu anlamamız lazım, sen hesaplarında her adc değişiminin eşit voltaj değişimine denk geldiğini varsayıyorsun. Böyle olmayabilir. Bunu test etmek için şunu yapabilirsin. Şimdi 0V da 0 okuduğumuzu biliyoruz, yani offset problemimiz yok diyebiliriz. Girişe 5V ver ADC nin okuduğunu not et, sonra 10V ver not et. Bu şekilde 5V luk adımlarla 25V a kadar 5 tane değeri not et. Eğer lineer ise adc o zaman 25 de okuduğun değer-20 de okuduğun değer, 10 da okuduğun ile 5 de okuduğunun farkına eşit olmalı ya da aşırı yakın olmalı. Aynı şekilde 5V da okuduğun değere de eşit ya da aşırı yakın olmalı. Bu testi yapabilirsen oradan bir ilerleyelim
 
Benim düşünceme göre yük güç kaynağından 500mA akım çekiyorsa, şemada "C_READ1" diye isimlendirilen noktada yaklaşık 286mV ölçülmesi lazım. @Gokrtl bunu ölçebilir misin?
 
Benim düşünceme göre yük güç kaynağından 500mA akım çekiyorsa, şemada "C_READ1" diye isimlendirilen noktada yaklaşık 286mV ölçülmesi lazım. @Gokrtl bunu ölçebilir misin?
Non inverting input daki kanallar arası dirençler eşit olduğu için şu an kanal değerlerinin aritmetik ortalaması V+ da görünecek gibi. Bu durumda kaynak akımı 500mA ise, her kanal 125mA olacak. V+ değeri 27.5mV olacak. Bu 3.6 kazanca uğrayacak(devrenin kalanını non inverting amplifier gibi düşünebilirsin) yani bu durumda 99mV okuman gerekir benim düşünceme göre
 
Şimdi biraz toparlamaya çalışayım.
Yük girişi boşta iken A6 (Voltaj Okuma) pininden ölçtüğüm değer -0.0006V
Yüke 5V verdiğimde multimetreden 5.08V ölçerken Ekrandan 5.02V ölçüyorum.
Yüke 10V verdiğimde multimetreden 10V ölçerken Ekrandan 9.92V ölçüyorum.
Yüke 15V verdiğimde multimetreden 15.05V ölçerken Ekrandan 14.95V ölçüyorum.
Yüke 20V verdiğimde multimetreden 20.02V ölçerken Ekrandan 19.75V ölçüyorum.
Yüke 25V verdiğimde multimetreden 25V ölçerken Ekrandan 23.84V ölçüyorum.

Benim düşünceme göre yük güç kaynağından 500mA akım çekiyorsa, şemada "C_READ1" diye isimlendirilen noktada yaklaşık 286mV ölçülmesi lazım. @Gokrtl bunu ölçebilir misin?
0.128mV

Kod:
voltajDususu = (akimDeger * 5.0) / 1023;

Bunun yerine

voltajDususu = (akimDeger * 2.6 * 4.994) / 1023;

Böyle olması lazım.

Ayrıca 10 bitlik çözünürlükte gerilim okumada şemadaki gerilim bölücülerle yaklaşık 31mV adımlarla doğru okuman lazım. 25~30 Volt arası 1-2 volt hata ile okuyorsan gözden kaçan bir hata var demektir.
Bunu dahil edince 500mA çekerken 1.44A çekiyormuş gibi okuyor.
4 shuntteki voltajın toplam değerinin 0.9 katının çıkışı olacağını düşünüyorum ben o devreden(kafadan yaptım hata olursa düzeltiriz). Bu durumda senin mesela shuntlerinden 1er A geçerse her biri 220mV görür, ne yaptı 4ünün toplamı 880mV. 0.9 katı nedir, 792mV yani 792mV okuduğunda adc den( arduinonun adc si sanırım 10bit yani adc okuması 162 olduğunda) 4A çekiyorsun. O zaman adc nin okuduğu her bir değer yaklaşık 24.7mA diyebiliriz. Adc den okuduğun değeri 24.7 ile çarparsan mA cinsinden akımı ölçeceğini düşünüyorum. Ama yine oradaki kazanç dirençlerine göre falan düzeltme yapmamız lazım
Bu biraz karışık. Tane tane okuyup uygulamaya çalışacağım.
 
Öncelikle şu düzeltmeyi yap. Yapay yükün güç kaynağından çektiği akım en kısa yoldan dönüş yapmalı. Mevcut pcb ile bütün kartı dolaşıyor, bu başta ölçüm hataları olmak üzere sorunlara sebep olacak.

İnput konektörünün GND pininin pcb bağlantısını kazıyarak kes. Tam gösterdiğim iki nokta arasına kalın bir kablo ile bağlantı yap. Yani input konektörünün kart ile GND bağlantısı sadece bu kablo ile olsun.


Ekran görüntüsü 2024-11-24 205459.jpg
 
128mV ise biraz garip bir durum var. 3.9K ya 1.5K ise dirençler oranın gaini 3.6 olması lazım. Bu durumda ya kaynak akımı 0.5A değil ya da shuntlerin değerlerinde kayma var. Ama zaten bu summing amplifier işi benim çok aklıma yatmadı layout açısından oldukça sıkıntılı bir işlem. Yine lineerlik vs testi uzun baya. Bence amaç hızlıca bu yükü kullanmak ise, yani yük projesi yapmak değilse şu iki multimetre işini kullanman en pratiği
 
Yapay yük ile 500mA çektiğinde C_READ1 noktasında 99mV gerilim olmalı. Tabi eleman toleransları yüzünden bu bir miktar sapacaktır. Fakat yukarıda 0.128mV ölçtüğünü yazmışsın. Burada bir hata var gibi. 0.128mV değil de 0.128V olabilir mi?
 

Çevrimiçi personel

Forum istatistikleri

Konular
6,982
Mesajlar
119,279
Ü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