Návrh řešení

Z MAM wiki

Přejít na: navigace, hledání

[editovat] Solární LED lampička

Rámcové zadání


Návrh solární LED lampičky s ochranou proti úplnému vybití akumulátoru - náhrada elektroniky lampičky se 2 NiCd akumulátory v sérii, nebo i s jediným, dobíjenými solárním článkem (další inspirace). AVR řešení má mít co nejlepší účinnost, rozsvítit se po (téměř úplném) setmění - měřeno napájecím solárním článkem nebo LED použitou jako fotodioda, zhasnout při vybití napájecích článků pod 1,1 V/článek, potom ho rozsvěcet vždy pouze na několik minut následujících po osvětlení a následném zhasnutí vnějšího osvětlení (orientační světlo).



Alternativní řešení


Alternativní řešení je zde uvedeno důvodu vysvětlení a lepšího pochopení problematiky, a zároveň představuje komponenty, které zlepšují životnost solární lampičky.

Základním problémem solárních lampiček obecně je životnost akumulátoru. Méně kvalitní NiCd (nikl kadmiové) akumulátory pohlehají tzv. paměťovému efektu (pokud není baterie úplně vybita, při dalším nabíjení se kapacita snižuje, více zde) a s tím spojený menší počet nabíjecích cyklů. Tento problém se u LED lampiček ještě prohlubuje, protože nelze nijak zajistit úplné vybití a následné nabití (letní/zimní dny, apod.). Zároveň jsou po dlouhou dobu nabíjeny malým proudem. Proto nejsou NiCd pro takový produkt příliš vhodné.

Řešením mohou být menší nabíjecí cykly, resp. intervalové sepínání (uvedeno níže pomocí microprocesoru), nebo náhrada jiným prvkem. Druhá varianta je uvedena zde.



Popis zapojení


Jednou z možných variant náhrady za NiCd akumulátoru je například GoldCap (či UltraCAP) kondenzátor. Tyto kondenzátory se používají pro zálohování různých pamětí, především z důvodu stálého a stabilního zdroje malého proudu. Lze s ním dosáhnout minimálního proudového zatížení jak při nabíjení, tak při vybíjení. LED lampička je napájena dvěma solárními články. Výhodou je použití amorfních solárních článků namísto mono nebo polykrystalických, protože mají malý vnitřní zkratový odpor. Mohou tak držet stálé napětí i při velmi malém osvětlení (použité například v solárních kalkulačkách). Těmito články je přes den napájeno celé zapojení skrze dvě usměrňovací diody, kvůli snížení maximálního nabíjecího napětí 5,5V na GoldCap kondenzátoru. Vzhledem k tomu, že pro nabití 1F kondenzátoru stačí za dne proud asi jen 60uA. Není tedy nutný přímý sluneční svit. Samotné řízení, tj. osvětlení/zhasnutí, lze sestavit pouze pomocí tranzistoru a rezistoru. Jako snímače osvětlení jsou použity přímo solární články, které mají 2 účely. Pokud se napětí na solárních článcích zvedne (jsou osvětleny), nebude do báze tranzistoru téct žádný proud, tím se uzavře a LED zhasne. V noci teče přes R1 do báze proud který vytvoří proudový zdroj pro LED o přibližné hodnotě 60uA.


Soubor:LED lampicka schema.jpg


V uvedeném zapojení teče do LED diody zmíněných 60uA, což sice vyžaduje výkonnější LED diodu, ovšem zvyšuje se tím výrazně její životnost.



Řešení s mikroprocesorem


Princip funkce LED lampičky s mikroprocesorem je takřka stejný jako u výše popsaného alternativního řešení. Hlavní výhodou řešení s mikroprocesorem je kontrola stavu baterie, kdy můžeme sledovat úroveň napětí na článcích (mezní hranice 1,1V/článek). Z důvodu minimalizace výkonového zatížení je také možné mikroprocesor držet po celou dobu v modu "power down" a budit ho vždy jen pro kontrolu úrovně napětí na NiCd článcích. Právě záměna kondenzátoru za kontrolovaný NiCd článek vytváří nutnost použití mikroprocesoru. Ten může kontrolovat úroveň napětí na článku například pomocí A/D převodníku s převodem reálné hodnoty (viz. níže).


Jak vychází ze zadání, lampička se musí vždy rozsvítit po soumraku a svítit do doby, než na napájecím článku klesne napětí pod 1,1V. Klesne-li hodnota napětí napájecích článků pod tuto mez, lampička zhasne a rozsvítí se jen na chvíli vždy po ozáření světlem (např. venkovní osvětlení u baráku).


Detekce světla


Zde lze použít několik způsobů. Kdyby se lampička měla rozsvěcet pouze po setmění (nereagovala by na umělé osvětlení v průběhu noci), stačil by naprogramovat čas, kdy vychází a zapadá slunce. I když by nebylo tak složité zahrnou do programu různé délky dnů během roku, bylo by to jen pro danou lokalitu a lampička by byla omezena např. proti exportu (místa blíže pólům mají jiný časový poměr mezi dnem a nicí než místa na rovníku).

Dále je možné, jako detektor světla/tmy použít fototranzistor, touto variantou se zabývá semestrální práce Vančura, Shuleska.

Praktické je v našem případě použít jako detekrot světla budˇ solární články napájející baterii nebo LED zapojenou jako fotodiodu. Zapojení LED/fotodiody je velmi nenáročné (mezi pin a GND v závěrném směru). LED se chová jako kapacita, která se vybíjí s rychlostí závislou na osvětlení. Čím více je dioda osvětlena, tím rychleji se vybijí, tedy nám postačí měřit tento čas a i bez A/D převodníku můžeme určit intenzitu světla.



Popisek




/* main.c */
#include <avr/io.h> // tady je definovan portB
#include <avr/90s8535.h> // konstanty pro AT90S8535  



int main (void){ // hlavni funkce programu
 
 
  volatile int svit;  
	
  // hlavni smycka //
  while(1){ // nekonecna smycka
	
	svit=0; 
	DDRB=1; //port B, pin 0 jako vystup
	PORTB=1; //nabiti kapacity LED
	

	for (i = 1; i <= 10; i++){ //cekani na nabiti, frekvence krystalu = 16MHz
	}

	DDRB = 0; //port b, pin 1 jako vstup
	PORTB=0; // pull up res vypnuty
	while(PINB & 1){ // cekani na vybiti diody(kapacity)
		
		svit ++; // pricitam,abych vedel,jaka je venku intenzita svetla
	
	}
	

  } // konec nekonecne smycky
} // konec hlavni funkce programu


Meření napětí na baterii


Výhodou mikroprocesorů Atmel je, že z většiny obsahují A/D převodník. Toho se dá využít při měření napětí na bateriovém článku a zjistit tak jeho pokles pod hodnotu 1,1V. Použít je možné např. uP AT90S8535. Obsluha A/D převodníku vypadá takto:

Jeho činnost je ovládána zápisem do jeho registru ADCSR. Činnost tohoto převodníku je povolena nastavením nejvýznamnějšího bitu (bit 7) tohoto registru na 1. Pro tento, sedmý bit je používáno označení ADEN. Další, nižší bit (bit 6) je označován ADSC, jeho nastavením na 1 je nastartován převod A/D. Po dokončení tohoto převodu bude hodnota tohoto bitu rovna 0. Pokud probíhá převod A/D, nemá případné zapsání nuly to tohoto bitu nějaký vliv na převod. Nastavení bitu 3, nazývaného ADIE, na jedničku znamená povolení (aktivaci) přerušení ADC Conversion Complete. K tomuto přerušení dojde po dokončení A/D převodu. Nejnižší tři bity registru ADCSR určují dělicí poměr předděličky, kterým je dělen kmitočet krystalu mikrokontroléru. Výstupní signál z předděličky je přiveden na hodinový vstup A/D převodníku. Po dokončení A/D převodu je získaná naměřená digitální hodnota uložena v registrech ADCL a ADCH převodníku A/D. Obsah obou registrů vytváří obsah ADCW. Ten je již přímo úměrný měřenému napětí. Nyní musíme uloženou hodnotu převést na reálnou hodnoru. Např. bude-li rozsah měřeného napětí 0V až 5V musíme naměřenou hodnotu násobit číslem 4.888 (AT90S8535 má desetibitový převodník => 2^10 = 1024, to odpovídá 5V = 5000mV a z tohoto 5000/1024 = 4.888).


#include <90s8535.h>
// funkce delay 
#include <delay.h> 
#asm
#define ADC_VREF_TYPE 0x00

//obsluha preruseni
interrupt [ADC_INT] void adc_isr(void)

//promenna pro napeti
unsigned char pom[5]
unsigned int napeti

napeti = (int) (ADCQ*4.888)
itoa(napeti,pom)
if (napeti < 1100)  // pokud je podminka splnena, napeti baterie kleslo pod 1.1V


dokud bude tato podmínka splněna, lampička bude zhasnuta a rozsvítí se jen na pár minut po osvícení LED/fotodiody venkovním osvětlením.


Použitý mikroprocesor


AT90S8535 ( Power-down Mode: <1 µ)


Závěr

Řešení bez mikroprocesoru je výhodné z hlediska minimálního nároku na komponenty a výdrž.

Osobní nástroje