avatar_fatih88

12v 7 Ah aküyü güneş panelinden şarj etme devresi hakkinda

Başlatan fatih88, 17 Nisan 2020, 22:50:26

fatih88

Sayın form üyeleri güneş panelinden gelen enerji ile 12v 7ah aküyü şarj etmeliyim bunu nasıl bir algoritma yapmalıyım ve şarj dolduğunu nasıl anlarım ben şu şekil düşündüm eksiklerimi ve yapmam gerekenleri yazarmısınız
Sistem açıldığında akü voltajını ölçecek akü voltajı 10.5v altında ve panele gelen voltaj 14v gerilimin üstündeyse 14.3v stabil tutarak aküye vereceğim ara ara şarjı keseceğim ve akü voltajini ölçeceğim 12v üzerinde ise akü voltajı şarjı kesip belli aralıklarda akü deşarj olmasın diye voltaj verip keseceğim bu tarz bir algoritma yazsam tam bir şarj ünitesi yapmış olurmuyum eksikleri yazarsanız sevinirim
Saygılarımla
bilgi paylaştıkça çoğalır!!

www.fayelektronik.com

ete

Akü Şarj ve kontrol algoritması çok karmaşık değildir. Bazı kuralları vardır. Onlara uyulması gerekiyor hepsi bu.
Birinci kural Akü voltajın hiç bir zaman 10V un altına düşmemesi gerekir. Güneş ile şarj edileceğine göre gece esnasında voltaj düşmüş ise sistemi tamamen kapatıp güneş gelene kadar bekletmen gerekir.
İkinci kural, Akü şarj voltajın 14,4V tu yada 14,3V tu aşmamalıdır. Bunun yanı sıra şarj akımınında akü kapasitesinin An az %10'u , en fazla %50 si kadar olmasına dikkat etmelisin. İdeal değer Kapasitenin %10'u kadar olmasıdır.
BU iki ana kuralın dışında bazı dikkat edilmesi gereken hususlarda vardırki onlarda şöyle sıralanabilir.
1. Aküye verdiğin şarj voltajını kontrol edebilmelisin. Gerektiğinde kesip gerektiğinde açabilmelisin.
2. AKü den çektiğin kullanım voltajını da gerektiğinde kesip gerektiğinde açabilmelisin.
3. Şarj esnasında akü voltajını ölçmen gerekir. Bunu şarj voltajını kesmeden de yapabilir keserek de yapabilirsin. İdeal olanı kesmeden yapmaktır bu işi. Sağlam bir akün var ise iç direnci düşük olacak ve boş iken şarja bağladığında akü voltajın 10,5V lar civarında olacaktır. Bu akü doldukça voltaj 14,3V ta yaklaşacak ve bir müddet sonra voltaj 14,3V da sabitlenecektir. Ancak bu voltaja gelmiş bir akünün dolup dolmadığını anlamanın yolu çektiği akıma bakılmasıdır. Akünün çektiği akım da dolma anında sıfıra yakın hale gelecektir. Kendine bir seviye belirleyip o seviyenin altına indiğinde şarjı kesebilirsin. Akım kontrolü yapamıyor isen akü voltajın şarj anında 14,3V ta çıktığında şarjı kesp akü voltajı ölçümü yapabilirsin. Voltaj 14V un üzerinde ise artık şarjı kesebilirsin değil ise şarja devam etmen gerekir.
Burada akü sıcaklığınıda kontrol etmek faydalı olurdu. Dolu bir aküye sürekli voltaj vermek onun sıcaklığını artırabilir. Sisteminde sıcaklık ölçme bulunmuyor ise bu işi en azından bir iki kere manuel olarak yapıp algoritmanın akü şarjını uygun zamanda kesip kesmediğini kontrol etmende yarar vardır. Sıcaklık artıyor (el kontrolü ile) ve şarj devam ediyor ise algoritmanı değiştirmende yarar vardır.

Ete


fatih88

Bu altın değerindeki bilgileri sundugunuz için size teşekkür ederim erol abi dtmf projesi içinde şarj üniteside olacak projeyi pbp ile yazmaya başladım biraz benim için zor oluyor hocam ama sizden bir ricam olacak projeyi bitirdikten sonra size kodları yollasam ilerde sıkıntı olabilcek veya yazım hatalarını bana bildirebilirmisiniz
bilgi paylaştıkça çoğalır!!

www.fayelektronik.com

ete


fatih88

erol abi bu dtmf ile kuyu depo projesi için akın voltaj kısmını sizin derslere bakarak hallettim pbp floatve 32bit  olmadıgı için protonda yazıyorum gayette güzel bir dil registerlere hemen ulasıyorsun  hocam sormam gereken ben bu proje icin timer0 ile real time olmasada bir saat kurdum lakin sorunum ana programda (aptal döngüde)pause komutları veya işlem komutları yazdıkça timer0 yavaşlıyor sebebi nedir acaba timer0 ayarlarını ve blogunda bir hatamı var ana programdaki fonksiyonları ve pauseleri kapayınca timer0 düzgün çalışıyor
On Interrupt GoTo TIMER           'interrupts servis rutini cağirma galiba
INTCON=%10100000                        'Genel kesmeler ve tmr0 kesmesini aktif ettik
OPTION_REG=%10000111                    'B portunun pull_up dirençleri kapalı BÖLME ORANI 256
CMCON=%00000111                         'Konparatör modu kapalı
TMR0=236                                'Timer0 başlama değeri 236

Disable                                 'kesmede iken farklı bir kesmemesi için kesmeler kapatıldı
TIMER:                                  'Timer etiketi  bu kesmeylede cpu çalıştığını anlayacağız

    SAYICI=SAYICI+1                     'Timer sayacını her taşmada 1 artır
    If SAYICI=81 Then                   'Sayaç 81 olunca ortalama 1sn yapıyor
    BLINK=BLINK^1                       'ledi her kesmede tersle
    SAYICI=0                            'sayacı sıfırla
    EndIf                               'if komut bitimi
    
INTCON.2=0                              'timer0 kesme bayrağını 0 la
Resume                                  'kesmeye nerden girdiyen oraya tekrar dön
Enable                                  'tekrar kesmeler aktif edildi
bilgi paylaştıkça çoğalır!!

www.fayelektronik.com

ete

Proton da işler nasıl yütüyor tam olarak bilemiyorum. Ama Basic de genel anlamda pause komutu işlenmesi bitmeden TMR da aşma olup olmadığını kontrol etmiyor. Bunedenle gerek kesme kullanırken (kesme de de basic komutu işlenmesi bitmeden kesme oluşsa bile program kesmeye atlamıyor ama Protonda farklı uygulama olabilir) Buda bazen timer sayaclarında gecikmeler yaratabilir.
Direk pause kullanmak yerine döngüsel gecikmeler kullan mesela Delay 100 yerine Bir for döngüsü kullan her bir adımı 5us olsun. Böylece timer en fazla 5us gecikir yada şaşar.

Ete

fatih88

mcs de aynısını yapıyor acaba ben mi yanlış kuruyorum timer0 hesaplamayı dogrumu yapıyorum hocam sizce
komut frekansı x 256 x(256-timer0 yazılacak değer)
komut frekans=1/5.000.000=0,2us
0,2x256(256-?)=1.000ms
256-?=1.000/51,2
?=256-19,531=~20
timer 0 yazılacak değeri 236 yazdığımız zaman her taşmada 12,5ms geçmesi gerekiyor
sayacı 81 kez saydırırsak 1sn yapıyor bu çalışıyor gecikme kullanılınca sıkıntı oluyor

ccs c de hesap tmr0 a 60 yazmam ve sayacı 100 defa saydırmam bana 1000ms yi veriyor sorunum nerde hocam

ekte pbp ile ilk başlangıç dosyam var sorun bundada aynı
bilgi paylaştıkça çoğalır!!

www.fayelektronik.com

ete

20 Mhz OSC frekansı (0,2 us Komut çevrim süresi) ile 12,5 ms yada 12500us de bir kesme yaratmak için 12500/0,2=62.500 defa sayac çalışması gerekiyor. Sayacımız 8 bit olduğundan 62500/256=244 sayısını 256 defa sayması yada bölme oranını 256 alıp sayaca 256-244=12 önyükleme değerini vermemiz gerekir.
Böylece TMR0 sayacı 12 den başlayarak 256 ya kadar 244 sayacak bölme oranıda 256 olduğundan 256 x244=62.464 lik bir sayı sayacaktır. Komut gecikmeleeri ile birlikte bunu 62500 sayabiliriz. Böylece 62500*0,2=12.500 us lik bir süre sonunda TMR0 sayacı taşmaya geçecektir.
Bu durumda TMR0 parametreleri;
- Önyükleme değeri =12
- Bölme oranı= 256
alınırsa kesme oluşma süresi 12,5ms olacaktır.
Programada baktım da her kesme sonunda kesmeden çıkmadan TMR0 sayacına önyükleme değerin olan 12 yi yüklemen gerekir. Aksi halde sayac sıfırdan saymaya başlar ve sürede şaşar elbette. Sayaca önyükleme değerini vermemişsin.!!!!!!

Ete

fatih88

Erol abi devreyi kısmen çalıştırdım lakin şarj transistör cok ısınıyor transistöru 2sc5200 kullanmama ragmen transistör çok ısınıyor ben bilerek transistörü büyük tutup sogutucu kullanmayım demiştim devreyi şarj kısmını ekliyorum hocam bir mantık hatasımı var bulamadım çözümünü
 hocam resim yükleme problem var o yüzden zipledim
iyi akşamlar
bilgi paylaştıkça çoğalır!!

www.fayelektronik.com

ete

Şema yorumlamam için çok karmaşık. Kim ne yapıyor çok iyi anlamadım bir şey söyleyemiyeceğim.
Ama ana transistör 500 Ohm ayarlı direnç ve bir diyot üzerinden artı besleme ve Gnd arasında kalıyor ve sistemin çok akım çekmesine sebep oluyordur diye düşünüyorum. Sorun sanki şarj akımını tam olarak sınırlayamaman gibi gözüküyor.

Ete

fatih88

erol abi isis olarakta dosya yolluyorum abi biraz daha sadeleştirdim panelden gelen voltaj 16 volt üzerindeyse bc327 emiter bacağında 16v bekliyor bc237 ile bc 327 base eksiye cekince pic ile bc327 emiterdeki voltaj kollektöre akarak 2sc5200 transistörün base sini tetikliyor 5200 kollektöründe 18v var lakin transistörün base sine ne gerilim verirsen emiterinden o voltajı alacagından ortalama transistör ve diyottaki gerilim düşümüyle 14.3v tekamül ediyor 700ma akımda ısımnası cok tukaf veya herhangi bir sarj şeması önerebilirmisiniz hocam
bilgi paylaştıkça çoğalır!!

www.fayelektronik.com

Powered by EzPortal