neděle 7. února 2016

Měnič 48V / 230V

Varování: Příspěvek není návodem ale inspirací pro možný návrh podobného zařízení kvalifikovanou osobou případně pod dozorem jako školní projekt. Obsahuje části pod napětím životu nebezpečným. Autor nenese odpovědnost za újmy na zdraví nebo majetku vzniklé v souvislosti s následujícím příspěvkem. Autor si vyhrazuje právo příspěvek kdykoli změnit. 

Jedná se o prototypovou konstrukci měniče z akumulátorů 48V na síťové napětí 230V.
Cílem bylo postavit tichý měnič s pasivním chlazením o výkonu 500W až 1kW.
Základní topologie na následujím schematu:

Vyhlazovací tlumivku v napěťovém meziobvodu jsem zatím vypustil kvůli překmitům na diodách. Výstupní tlumivka je pro jednoduchost konstrukce vinutá na jediném jádru. V tom případě je třeba dát pozor na nutnost invertovaného PWM řízení jednoho z koncových polomůstků při takovéto oriantaci vinutí.
Řízení obou můstků obstarává procesor ARM Cortex M3 - STM32F103C8T6
Jako zpětná vazba je bráno napětí z meziobvodu, což se ukázalo jako nedostatečné vzhledem k úbytkům vznikajícím na výstupním můstku a tlumivce. Bylo by lépe měřit přímo výstupní střídavé napětí.
Dále jsou měřeny proudy obou můstků bočníky v sourcech dolních mosfetů a IGBT.
Napájení driverů a procesoru obstarává pomocný zdroj se starým obvodem 5H0365R, dává 5V a 15V.
Schema řízení:

Pár fotek:
 Desky z DirtyPCB's přišly na Vánoce a vypadají velmi nadějně
 První prototyp osazen
Montáž na provizorní šasi

 Pohled na transformátor a tlumivku. Diody se na desku rozměru 10x10cm také nevešly, takže jsou vpravo nahoře pospojovány dráty.
Ladění
Výstupní sinusovka na zátěži 100W.

Závěr:
Osazená deska úspěšně funguje na první pokus bez úprav až na drobné změny hodnot součástek. Ovšem s laděním SW to bylo úplně naopak. Velmi nemile mě překvapily mosfety IRFP2907. Oproti IRFP4568 se kterými jsem pracoval předtím a šlapaly naprosto parádně i na 40kHz s minimálním deadtimem 30ns prakticky studené a příčný proud v řádu mA. Tak IRFP2907 ačkoli, to z datasheetu při porovnání s předchozími přímo neplyne, tak jsou velmi, velmi pomalé. Nakonec jsem se musel spokojit s frekvencí 32kHz a deadtimem šílených 300ns a přesto tam teče příčný proud a můstek trochu hřeje i při malé zátěži. Do příští verze už mám opět připraveny IRFP4568.
Obdobný problém byl s výstupními IGBT. Na použitou tlumivku se už prostě nevešlo víc závitů, indukčnost kvůli pevné mezeře nebylo možno ani experimentálně zvětšit, a tak jsem musel zvýšit frekvenci až na 80kHz. IGBT potřebují cca 300ns deadtime, aby byly ztráty naprázdno při tomto napětí rozumné, což je ovšem už 10% periody. Příliš mnoho. Díky tomu jsem musel zvednout napětí meziobvodu na 350V abych dostal aspoň 220V střídavých v zátěži na výstupu. Frekvence je ale příliš vysoká a výstupní můstek docela topí. Celkové ztráty měniče naprázdno jsou 15W. Ale už mám také připraveny lepší polovodiče a navinu větší tlumivku.

MPPT pro 48V 500W systém

V rámci školní zakázky se mi podařilo nechat vyrobit desku pro navržený MPPT pro 48V 500W systém.
Jedná se o synchronní buck - boost topologii s jednou tlumivkou. Měnič tedy umožňuje jak snižování, tak zvyšování napětí z panelů.
Řízení obstarává procesor ARM Cortex M3 - STM32F103C8T6
Byl navržen pro nabíjení akumulátorů, základními vstupy jsou napětí akumulátorů a jejich nabíjecí proud. Obsahuje dva regulátory, regulátor žádaného napětí na panelech a jemu nadřazený regulátor napětí akumulátorů. Pokud napětí akumulátorů dosáhne žádané hodnoty 55,7V, regulátor zvyšuje žádané napětí panelů, které tak díky VA charakteristice dávají menší proud. Regulátor tak udržuje dané napětí akumulátorů.
Pokud akumulátory nejsou nabité, regulátor dosazuje jako žádanou hodnotu napětí na panelech napětí vycházející z MPPT algoritmu.
MPPT algoritmus je klasický typ, který hledá bod maximálního výkonu, zde prostě maximální nabíjecí proud tak, že zkouší zvyšovat nebo snižovat žádané napětí panelů a podle změny nabíjecího proudu pokračuje ve snižování resp. zvyšování, nebo obrátí směr, pokud je naměřený proud již menší, než předchozí.
Klíčová je zde především frekvence výpočtu. Při snižování napětí se vybíjí vstupní kapacity měniče a ten tak vždy naměří větší proud, při zvyšování naopak. Je tedy třeba výpočet zpomalit, aby měřil skutečnou změnu danou VA char. panelů. Naopak příliš pomalý výpočet není schopen reagovat na reálné změny jasno/mrak a ustalování by trvalo například až několik minut.
Zvolil jsem synchronní topologii kvůli minimalizaci ztrát. Ovšem její nevýhodou se ukázala absence výstupní diody, která by přirozeně zabránila toku energie z akumulátorů do panelů. Správná funkce je tak závislá právě na SW. Měnič je symetrický z obou stran posazený mezi dva relativně výkonné zdroje resp. spotřebiče a při nevhodném řízení je schopen např. posílat energii z akumulátorů do panelů místo opačně a nebo zkratovat natvrdo jeden nebo druhý vstup.
Zapojení obsahuje jedinou HW ochranu a to proti přebíjení. Při vzrůstu napětí akumulátorů přes 59V se klopným obvodem vypnou oba drivery a měnič bez zásahu procesoru vypne všechny výkonové tranzistory v můstku. Opětovný start je možný jedině restartem napájení z panelů. Buď vypínačem ručmo, nebo automaticky "druhý den ráno".
Napájení driverů a procesoru je řešeno pomocným spínaným zdrojem se starým obvodem 5H0365R, jehož předností je velká úspora součástek, velký vstupní rozsah napětí a velmi malá klidová spotřeba. Přestože se jedná o síťový zdroj, bezproblému pracuje od 15V. Pomocný zdroj dává 5V a 15V.

Schema:

Pár fotek:
 Osazená deska

 Zimní den. Při malém proudu přepne a drží nulový rozdíl napětí, protože algoritmus by již kvůli nedostatečnému rozlišení při malých proudech nemohl fungovat. Při nulovém rozdílu jsou navíc nejmenší ztráty.

 Start s částečně zasněženými panely, které dávaly jen poloviční napětí přes bypass diody, algoritmus naskočil úspěšně za 15 vteřin.

 Pokud hodinu měří nulový proud, vypne můstek a tím i napájení procesoru. Nastartuje znovu další den ráno. (A nebo bohužel hned za pár vteřin pokud ještě není dostatečná tma)

Závěr:
Uvedl jsem zde jedno z mnoha možných řešení MPPT nabíjecího měniče. Článek slouží spíš pro inspiraci nemá být návodem. Můstek je možno řídit mnoha typy procesorů, stejnětak jako SW v něm je čistě na fantazii každého.

Příloha:
/* MPPT algoritmus */
        if(mppt)
//flag
        {
            if(I_aku_avg < I_aku_predchozi)
            {
                add = ~add + 1;
            }
            I_aku_predchozi = I_aku_avg;
            panely_mppt = panely_mppt + add*200;
//0,4V za vterinu
            if(panely_mppt < 32000)
            {
                panely_mppt = 32000;
//dolni limit 32V
                add = ~add + 1;
            }
            if(panely_mppt > 65000)
            {
                panely_mppt = 65000;
//horni limit 65V
                add = ~add + 1;
            }
            mppt = 0;
        }

/* Regulator napeti na akumulatorech */
            Err_aku = U_aku - 55650;
//Max napeti akumulatoru pri nabijeni
            Out_aku = Sum_aku + Err_aku/10;
      
          
 /* Omezovac zadaneho napeti na panelech */
            if(Out_aku > 80000)
            {
                panely_ref = 80000;
            }
            else
            {
                if(Out_aku < panely_min)
                {
                    panely_ref = panely_min;
                }
                else
                {
                    panely_ref = Out_aku;
                }
            }
            Exc_aku = panely_ref - Out_aku;
            Sum_aku = Sum_aku + Err_aku/20 + Exc_aku/20;
      
          
 /* Regulator napeti na panelech */
            Err = U_panely - panely_ref;
            Out = Sum + Err/5;
      
            /* Omezovac stridy */
            if(Out > 30000)
//abychom netopili zelezoprachem tlumivky
            {
                strida = 30000;
//boost
            }
            else
            {
                if(Out < -30000)
                {
                    strida = -30000;
//buck
                }
                else
                {
                    strida = Out;
                }
            }
            Exc = strida - Out;
            Sum = Sum + Err/10 + Exc/10;
          
            
/* Vlozeni stridy do komparacnich jednotek */
            if(strida >= 0)
            {
                TIM1->CCR1 = 775 - strida/100;
//boost menic
                TIM1->CCR2 = 775;
//97,4%
            }
            else
            {
                TIM1->CCR1 = 775;
                TIM1->CCR2 = 775 - ~(strida/100) + 1;
//buck menic
            }

ú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

neděle 25. ledna 2015

Uplynulo pár let, takže bych mohl zase přidat něco o sobě. Z příspěvků je vidět, že mě zajímají netradiční, někdy až nesmyslná řešení, ale o to větší motivace je do jejich realizace. Když se podívám zpátky, tak ale za nejúspěšnější konstrukci stále považuji elektronkové OTL, které poslouchám denně a to už tak dlouho, že jsem zažil i tři poruchy elektronek za provozu. Většina ostatních monstrumů je uklizena v krabicích.

Od sbírání elektronek jsem během let pomalu upustil, sbírka je asi na 900 kusech. Několik let už se ale naopak věnuji sbírání starších nafukovacích hraček, hlavně draků. Hledání, starání se, opravování a sbírání historických a technicko konstrukčních informací je ve všech odvětvích sběratelsví stejné a člověk se občas potřebuje věnovat něčemu jinému.

Co se týče blogu, v nejbližších týdnech přibude nová konstrukce konkrétně malého MPPT pro soláry, který ladím teď.

Studuji pražskou FEL, pohony.


pátek 17. října 2014

Analogový 3f skalární frekvenční měnič

Uvádím zde opět jednu z konstrukcí, která by neměla být návodem, spíš tak ukázkou co se dá a nedá všechno postavit z operačních zesilovačů.

Třífázový frekvenční měnič jsem chtěl postavit už dávno, ale až letos jsem měl pocit, že mám konečně dost zkušeností se pustit do stavby něčeho, co bude fungovat. Poslední inspirací byl datasheet OTA ampu LM13700 který mě inspiroval hned několika na pohled velmi elegantními řešeními obvodů, co se zde hodí. Ať už třídázové sinusové VCO, dvoukvadrantové násobičky apod.

Konstrukce se sestává z tří polomůstků spojených se základní deskou, do které je nastrkáno celkem 9 karet osazených řídícími a měřícími obvody a malým izolačním zdrojem. Celé zapojení je pro začátek napájeno z 24V akumulátorů.

Schema silové části jedné fáze:
Schema pospojování základní desky:
Zdroj
Násobičky
Měří střední napětí na bočnících ve dvou fázích, které dělí velikostí aktuální střídy, a tak na výstupu poskytují součet velikostí amplitud proudů těchto fází.

Regulátor proudu:
Kromě zpětné vazby pro skalární otáčkovou nebo proudovou regulaci vytváří funkci U = f (freq) tedy určuje fázové napětí pro danou frekvenci, což jednoduše zabraňuje přesycování magnetického obvodu motoru při běhu na nízkých frekvencích.

Regulátor napětí:
Obsahuje PWM demodulátor s vrcholovým detektorem amplitudy fázového napětí a regulátor, který ho porovnává se žádanou hodnotou.

Generátor trojúhelníku:
Umožňuje měnit amplitudu ve velkém rozsahu bez změny frekvence.

Omezovač:
Nastavuje minimální a maximální frekvenci.

VCO:
Sinusový generátor vychází ze schematu v datasheetu. Je doplněný o AGC a invertor pro vytvoření tří průběhů posunutých o 120°

Nulování:
Protože VCO ale hlavně komparátory modulátoru vytvářejí DC offset a je nutné ho kompenzovat. Dále obsahuje trimry pro doladění amplitud jednotlivých výstupů z VCO.

Modulátor:
Komparátory pro tvorbu PWM a navíc jednoduchý omezovač nutný pro správnou funkci předchozího obvodu nulování. Jednodušše zajišťuje shodou amplitudu obou půlperiod obdelníhového průběhu.

Pár fotek:




Video proudová skalární regulace:


Video dvoupólový motor na 77Hz

Zapojení potřebuje ještě mnoho a mnoho ladění zejména časových konstant regulátorů, kterých je zde vzájemně vázáno příliš mnoho na to, aby se jednoduše na první pokus zapojení rozjelo bez rozkmitání všeho, co kmitat může. Ale je hezký pohled na běžící asynchronní motor napájený z baterií hnaný 32 operačními zesilovači.