úterý 10. února 2015

MPPT pro malý 12V systém

Jedná se o návrh jednoduchého MPPT měniče řízeného AVR procesorem ATMEGA32.
Když jsem vymýšlel, jak popíšu princip hledání bodu maximálního výkonu došlo mi, že to musí nutně jít udělat i analogově. před PWM generátorem by byl integrátor jako I regulátor a na vstupu žádané hodnoty by byl D klopný obvod, co by říkal, jestli má střída klesat nebo růst. V momentě kdy by měnič zaznamenal pokles nabíjecího proudu by klopný obvod přehodil polaritu na vstupu integrátoru, a ten by se vydal hledat bod maximálního výkonu opačným směrem.
SW co momentálně používám totiž funguje naprosto stejně. Přesnost nalezení závisí pak kvůli kvantování na velikosti nabíjecího proudu, tedy při větším výkonu funguje přesněji, což je ale správně.
Při nabíjení 12V systému 17V panely tento regulátor získá i teď v zimě 25% energie navíc oproti přímému připojení těchto panelů na akumulátory.
Bojoval jsem především s příkonem samotného měniče a kvůli spotřebě procesoru nakonec řešil i jeho vypínání při malém výkonu panelů. Změřil jsem že při proudu pod cca 150mA vůbec nemá smysl měnič zapínat, protože charakteristika panelů při tak malém osvětlení je v oblasti MPP tak plochá, že měnič nezíská zvedutím napětí na panelech výkon pro vlastní spotřebu. Měnič tedy startuje až při proudu nad cca 150mA a při poklesu proudu naopak vypíná.
Parametry:
Vstupní napětí max 25V
Proud max 2A
Účinnost DC/DC měniče 96%
Vlastní spotřeba za tmy 8mW
za malého svitu 80mW
při běhu měniče 260mW

Schema:

Vypínání měniče je realizováno tak, že před uspáním procesoru se pin OC2 odpojí od PWM komparátoru a nechá se viset v log. 1, driver T4, T5 tedy nechá P-mosfet T6 trvale otevřený, panely přímo připojeny k akumulátorům.
Probuzení procesoru je pak realizováno na vstupu vnějšího přerušení INT2 pomocí T3, který se otvírá úbytkem napětí na bočníku R14. Tento bočník jinak slouží procesoru pro snímání nabíjecího proudu akumulátorů. Napětí je snímáno děličem R15, R16.
Okolí T1, T2 je primitivní přizpůsobení RS232 sběrnici pro komunikaci s PC. Připojení je dobré hlavně pro ladění SW, aby člověk věděl, jak navržená metoda hledání funguje, nebo nefunguje tím, že si jednoduše nechá posílat napětí, proud a střídu např. ve vteřinových intervalech. Procesor si naopak nechá poslat z PC ručně velikost střídy, jakou má spínat, abychom viděli, jestli MPP našel správně, nebo ne.
Žlutá LED dioda indikuje napětí na ponelech, zelená běh DC/DC měniče a červená plné nabití akumulátorů, zatím tedy udržování kocnového nabíjecího napětí. Časem předělám, ale momentálně jsem trochu rozladěný ze stavu SLA akumulátorů nabíjených vícestupňovým regulátorem a možná opět přehodnotím princip nabíjení.
Místo klasické 7805 jsem použil úspornější LF50. Lepší by bylo použít spínaný stabilizátor, který by dále snížil vlastní spotřebu.
Zapojení má dále tu vtipnou vlastnost, že funguje i bez osazeného procesoru jako lineární nabíjecí regulátor pomocí TL431, který je zde jako pojistka proti selhání řízení.
Pár fotek:

 Prototyp
Osazování finální verze
Tlumivka měniče
Osazení v krabičce na DIN lištu
Samotný SW jsem psal v assembleru, moc hezky napsaný není, ale to je tím, že je to první větší projekt od programování toho monstrumu s tranzistorovou ALU, který jsem stavěl před dvěma roky.
https://drive.google.com/file/d/0B_f6QgG2BE_kREh5cXVtV2w4S0E/view?usp=sharing

Literatura:
Keith Billings, Taylor Morey. Switchmode power supply handbook
Datasheet Atmel-8155D-AVR-ATmega32A