ú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

13.5.2020
MPPT je stále v provozu, Pb akumulátory jsem nahradil leteckými NiCd, takže bylo třeba zvýšit nabíjecí napětí na 14V. Nové verze SW zde: https://drive.google.com/file/d/19UyP1mWQg_Mf9UkC1G4N9SrYQh02F5g6/view?usp=sharing

11.7.2021
Při přepojování společného rozvaděče mi spadl drát od 48V baterek do mínusu panelů 12V systému, přes bočník protekl proud co přepálil 10A pojistku, všechno zdánlivě fungovalo, ale po pár dnech jsem si všiml, že se z měniče se odpoledne ozývá pískání, po restartu v pořádku, a tak každý den. Pak mi došlo, že vlastně nesvítí zelená LED ráno, tedy měnič je plně otevřený a neprobudí MCU. Pískání způsoboval ochranný obvod s TL431 když stouplo napětí na baterkách. Nadproud zničil T3 a ráno se MCU vždy uspal a při nárůstu proudu znovu neprobudil. Po výměně T3 vše opět funguje.

Literatura:

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

4 komentáře:

Unknown řekl(a)...

Zdravím. Nikde jsem nenašel vaše porovnání zvuku germaniového zesilovače s OTL zesilovačem na který hrajete nejčastěji. Jak hraje ten tranzistorák? Dík za info.

Arambajk řekl(a)...

Zdravím, ten Germaniový používám pouze vyjímečně v létě, když je příliš vedro a nechci tu ještě topit elkovým :) Hraje velmi slušně, ale přirozeně tam chybí to, na co jsem zvyklý, charakteristický zvuk z OTL s větším výstupním odporem. Se šumem problém není, protože zesilovač může mít malé zesílení, dnes není problém ho vybudit. Chtěl jsem ten zesilovač postavit znovu, víc ve finální konstrukci, ale k tomu jsem se ještě nedostal. Ale stále platí, že jsou to dva jediné zesilovače, které používám.

Standa Zlín řekl(a)...

Zdravím všechny bastlíře, před pár lety jsem na starém domě se pokoušel dodržet alespoň trochu měniče na uzdě. Jsem radioamater a tak nejlepší příjem byl při výpadku proudu. A tak můj solární regulátor pouze při dosažení max. napětí zapinal další zátěž. Ventilátor v koupelně a sklepě, osvětlení schodiště atd. Ano přišel jsem o část energie, alespoň jsem v té chvíli slyšel slabé stanice... Ale držím palce. Dnes mi na rádio sedá prach.. A já tu navrhuji pwm regulaci pro historický elektromobil 24V 5KW.

Arambajk řekl(a)...

Ano, pokud je dostatek spotřebičů al lze je skokově připínat, je to potřeba i dnes, aby se využil výkon co nejde uložit do akumulátorů. Kdybys chtěl dnes něco slyšet, musíš vypnout veškerou PC techniku, včetně wifi a požádat sousedy o totéž. Tím nechci říct, že nelze měnič udělat tak, aby nerušil.
24V je na 5kW dnes už nezvyklý poměr, chtělo by to mosfety pro rozumnou účinnost, při průměrné jízdě vyšší než s odporovým rozjezdem, který tam jistě původně byl. A hlavně pak nezapomenout udělat proudovou zpětnou vazbu, aby člověk pedálem zadával zádaný proud motorem.