PİC16F877 Hakkında ufak bir sorun

Eğer bu devreye 18 - 20 voltluk 36 hücreli solar Panel bağlayacaksanız araya voltaj dönüştürücü devre takmalısınız. ( bunu yaparsanız bu ekranlı işlemcili devre boşuna yapılmış olacak )

yada 14 - 15 volt verek bir solar panel bulacaksınız buda standart dışı bir panel. Nasıl nerden bulunur varmı bilmiyorum hiç denk gelmedim.

Ödev filan değilse bu projeden vazgeçin derim ben. Amacınız solar şarj devresi yapmak kullanmak ise başka devreler yapabilirsiniz.
 
20w Panel kabataslak 20volt 1 amper diye geçer yani 1 amperlik akım kaynağıdır. 10ah aküye direkt bağlandığında 1 amper ile aküyü şarj eder. Pwm şarj cihazlari da bu noktaya kadar böyle çalışıyor. Bu devre akü voltajı 14.5-14.7 arasına geldiğinde bağlantıyı kesecek. Akü %80-90 arası şarj olmuş olacak yani sorun yok. Akü 9-24Ah arasında olursa uygun.
 
12 volt 7 amper aküyü 5 watt Panel ile dediğiniz yöntemle şarj etmeye çalıştım. Malesef akü 10 günde şişti. panel 250 miliamper veriyordu. Ama yinede akü bozuldu.

Tercih kullanana kalmış.
 
Mppt olmayan bütün regülatörler bu şekilde çalışıyor. Aküye direkt bağlıyor paneli. Ne zaman ki akü voltaji 14.4 civarına geliyor o zaman modülasyonu başlayarak voltajı sabit tutuyor.

Sizin akünün belki iç direnci artmisti ve voltaj hızlıca tırmandı. Ondan şişmiş olabilir. Voltaj sürekli takip edilmeli
 
Son düzenleme:

PİC16F877A Şarj devresi​

Arkadaşlar merhaba,
Resimdeki proje üzerine uğraşıyorum. Fakat küçük bir problemim var. Şekildeki bataryayı güneş paneli üzerinden şarj etmeye çalışıyorum. Ancak röle aktif edilince (Güneş paneli devreye alınınca) RV2 üzerindeki gerilim arttığından Lcd de yanlış değer okunuyor.
ör: Röle aktif değilken RV2 üzerinde 2.49 V gerilim var. Röle aktif edilince 2.79 oluyor. Ekranda batarya gerilimini devredeki değerden daha fazla göstermesine sebep oluyor.
Kod:
#define GLCD_CS1     PIN_B0 
#define GLCD_CS2     PIN_B1 
#define GLCD_DI      PIN_B2 
#define GLCD_RW      PIN_B3 
#define GLCD_E       PIN_B4 
#define GLCD_RST     PIN_B5
#include <HDM64GS12.c>
#include <graphics.c>

float adc1;
float aku_gerilimi;
unsigned char gerilim_aku[20];

void aku_voltaji_okuma(void)
{
   set_adc_channel(0);
   delay_us(20);
   adc1=read_adc();
   aku_gerilimi=(adc1*4.013*(5.0/1023.0)); // 4.013 değeri 10/2.49 dan gelmekte
   sprintf(gerilim_aku, "Uaku= %f V",aku_gerilimi);
   glcd_text57(1,1,gerilim_aku,1,ON);
   delay_ms(100);
}

void role_kontrolu(void)
{    
   if(aku_gerilimi>2.4 && aku_gerilimi<10.8)
   {   
      output_high(pin_A2);
   }
   else output_low(pin_A2); // aküyü %20-90 arasında şarj ediyorum.
}

void main()
{
   setup_adc(ADC_CLOCK_INTERNAL);
   setup_adc_ports(AN0_AN1_AN3);
   glcd_init(ON);
   set_tris_a(0x0B);
   set_tris_d(0x00);
while(TRUE)
   {  
       aku_voltaji_okuma();
       role_kontrolu();

Yukarıda görüldüğü gibi röle aktif olduktan sonra adc1*(5/1023) kısmı 2.79 oluyor. Dolayısıyla ekranda sonucu fazla yazıyor ve röleyi tekrar pasif konuma getiriyor. (10.8 den büyük değer çıktığı için röleyi pasif yapıyor.)Bunun bir hata olduğunu düşündüm. Sizlere sormak istedim.
Soldaki bataryayı ben ilave ettim orjinalinde 7805 girişine bağlıydı. Fakat akü gerilimi 5-6 gibi düşük gerilimde olduğunda röleyi aktif etmiyor. Burada yanlışım varsa düzeltirseniz sevinirim.
Cevaplarınız için teşekkürler.

Not:
Kodun ilgili kısımlarını attım sadece.
 

Ekli dosyalar

  • şekil.PNG
    108.5 KB · Görüntüleme: 10
Moderatör tarafında düzenlendi:
Devre direkt aküden ve ayri müstakil kablolarla beslenmeli
 
Akım geçen telde voltaj düşümü olur. Akü ucundan 12 volt olcersin, devre üzerinden 12.2 ölcersin mesela. Voltaj olculecekse ayrı bir telle direkt aküden olculmeli. Referans toprak da yani Arduino eksisi direkt akü eksisinden ayrı telle alinmali
 
Ayrı kablo yaparsam güneş panelini nasıl devreye alıcam. Ayrıca sıkıntı RV2 deki voltajın bir önceki duruma göre artması. Önceki gerilimle aynı veya daha az çıksa sıkıntı olmucak. Sadece orada problem var.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…