× Aktuálně z oboru

Vychází Game Ready ovladače pro Far Cry 5 [ clanek/2018040603-vychazi-game-ready-ovladace-pro-far-cry-5/ ]
Celá zprávička [ clanek/2018040603-vychazi-game-ready-ovladace-pro-far-cry-5/ ]

Simulace – 9. díl

[ http://programujte.com/profil/223-ing-matej-pacha/ ]Google [ ?rel=author ]       [ http://programujte.com/profil/118-zdenek-lehocky/ ]Google [ ?rel=author ]       31. 12. 2006       29 240×

V devátém dílu seriálu se podíváme na zoubek simulacím polovodičových prvků, konkrétněji potom na diody. Předmětem simulace bude jednocestný diodový usměrňovač.

Polovodičová dioda je zvláštní prvek. Kdybychom se podívali na její VA-charakteristiku, zjistíme, že se chová jinak při kladném a jinak při záporném napětí. Dodržujeme přitom konvenci kladné polarity – plus je na anodě, minus na katodě.

Ještě zvláštnější nám potom bude dioda připadat, zjistíme-li podmínky, při kterých dioda vede elektrický proud: první podmínkou je kladná polarizace, druhou podmínkou je, že diodou teče proud v propustném směru. Z údivu potom nevyjdeme, budeme-li se zabývat přechodnými jevy při změně polarity, tzv. komutaci. Z těchto řádků vám musí být zřejmé, že komplexní model diody je velmi složitý. Protože je ale dioda velmi rozšířená, byl nalezen způsob, jak diodu (a ostatní polovodičové prvky) jednoduše simulovat. Použijeme buď tzv. spínačovou náhradu diody (diodu nahradíme ideálním spínačem), přičemž o sepnutí spínače budeme rozhodovat na základě nám známých vlastností skutečné diody, nebo přesnější odporovou náhradu. V případě spínačové náhrady se jedná o značné zjednodušení: zanedbáváme odpor PN-přechodu, úbytek napětí v propustném směru, prahové napětí, proud v závěrném směru, komutační náboj apod. Při použití odporové náhrady diody uvažujeme odpor diody v propustném směru a odpor v závěrném směru, což jsou hlavní vlastnosti diody, přičemž o platnosti jednoho nebo druhého stavu rozhodujeme na základě rozhodujících veličin v obvodu.

Obecně…

Spínačová náhrada polovodičových prvků přináší dva možné pohledy na celý obvod, metody jejich řešení.

  • První metodou je změna topologie, kde každý polovodičový prvek nahradíme ideálním spínačem. Spínač (náhrada za polovodičový prvek) nám vlastně rozdělí obvod na dvě části. Při sepnutém spínači řešíme obvod jako celek, přičemž spínač považujeme za vodič. Při rozepnutém spínači řešíme dva samostatné obvody. Počet dílčích obvodů se zvětšuje s počtem spínačových náhrad v obvodu. Důležité je při přechodu z jedné topologie do druhé zachovat hodnoty veličin obvodu. Jejich hodnoty na konci platnosti první topologie budou počátečními podmínkami pro výpočet druhé topologie, atp. Spínač není vhodnou náhradou polovodičové diody kvůli zanedbávání jejích důležitých vlastností. Lépe se hodí na simulování obvodů s vypínatelnými prvky (tranzistory, GTO tyristory), jejichž vlastnosti se často blíží ideálnímu spínači.
  • Druhou metodou je spínací funkce. Tato metoda se nedá použít všude, ale jen tam, kde lze obvod rozdělit na obvod zdroje a obvod zátěže, přičemž zátěž je tvořená pouze RLC prvky. Změnu vodivosti prvků, tj. spínačů, v podstatě zahrneme do parametrů zdroje, např. jako obdélníkový průběh napětí. Spínací funkci ale nemůžeme dost dobře použít u diod, protože jejich vodivost je daná, mimo jiné, existencí proudu v propustném směru. Samozřejmě, v obvodu s jednou diodou lze do jisté míry řídit impulzy zdroje na základě proudu v obvodu, ale obvod s jednou diodou se vyskytuje málokdy.

Obě metody lze také kombinovat. Vše závisí na konkrétním případu. Vždy ale musíme vědět, co jsme zanedbali, kde se bude chování simulovaného obvodu lišit od skutečnosti.

Při použití odporové náhrady nemá význam se bavit o metodách řešení. Topologie obvodu se totiž v zásadě nemění, mění se pouze některé jeho parametry, a to odpor polovodičového prvku v závislosti na jeho určené vodivosti. Stačí nám znát (odhadnout) odpor ve vodivém a v nevodivém stavu. Dál už jen necháme model na pospas simulaci. Možná vám bude připadat následující obrázek jako protiřečení, ale diody ve schématu náhrady pouze naznačují, kdy má dioda jako celek jaký odpor, jde tedy o znázornění změny, ne vkládání dalších diod.

Nejdůležitější je tedy určit vodivost polovodičových prvků. V případě vypínatelných prvků (řízených) je situace jasná z požadavku na zapnutí nebo vypnutí. U polořízených (tyristorů) a neřízených (diod) prvků musíme o vodivosti rozhodnout, resp. rozhodování naprogramovat. O tom, jak správně rozhodnout, se pokusím vysvětlit na jednoduchém jednocestném diodovém usměrňovači.


Usměrni mne!

Simulaci diody si ukážeme na jednoduchém příkladu. Vezmeme si transformátor (zdroj střídavého napětí s vniřním odporem a indukčností), polovodičovou diodu (její odporovou náhradu) a žárovku (činný odpor).

=

Sestavíme si rovnici podle náhradního schématu, která bude mít následující tvar:

Nejdůležitější tedy bude rozhodnout, kdy dioda bude ve vodivém a kdy v nevodivém stavu, tedy jak se bude měnit odpor diody. Můžeme si vytvořit logickou funkci z následující tabulky:
(0 = false, lež; 1 = true, pravda)

 Ud >= 0   Id >= 0   Vodivost 
0 0 0
0 1 1
1 0 -
1 1 1

Z prvního řádku tabulky čteme následovně: pokud není napětí na diodě (Ud) větší než nula a zároveň proud diodou (Id) není větší než nula, potom je vodivost rovna nule, dioda nevede. Podobně čteme i ostatní řádky.
Ještě si vysvětlíme význam jednotlivých řádků tabulky:

  1. Napětí i proud jsou v záporných hodnotách, což pro diodu znamená nevodivý stav.
  2. Napětí na diodě je v záporných hodnotách a proud je kladný. Tento stav je pouze výpočtový a odpovídá procesu zavírání diody.
  3. Napětí na diodě je malé kladné a proud je v záporných hodnotách. Tento stav nastat nemůže.
  4. Napětí na diodě je malé kladné a proud je kladný. Tento stav odpovídá normálnímu vodivému stavu.

Pokud do třetího řádku dosadíme jedničku, získáme logickou funkci OR (použitím pravidel pro zjednodušování logických funkcí). Potom už zbývá jen vytvořit program, spustit simulaci a výsledek zobrazit. Parametry prvků uvedené v programu jsem volil tak, aby přibližně odpovídaly skutečnosti. Pokud ovšem máte vlastní hodnoty, simulace samozřejmě poběží i s nimi. Jenom je třeba si dávat pozor na volbu kroku simulace v závislosti na indukčnosti, resp. na časové konstantě obvodu L/R. Krok by měl být vždy řádově menší než tato časová konstanta. Ještě upozorním na skutečnost, že každý zdroj střídavého napětí funguje na principu elektromagnetickém (příp. elektromotorickém), takže jeho indukčnost vyplývá z jeho principu. Zanedbáváme změnu odporu avizované žárovky s teplotou vlákna, protože tento jev není pro simulaci usměrňovače podstatný.

#include < fstream >
#include < cmath >

using namespace std;

int main(int argc, _TCHAR* argv[])
{
	ofstream fout;

	double t=0.0;					//proměnná času
	double dt=0.00001;				//krok simulace
	double w=2*50*3.142;				//úhlová frekvence
	double u=0.0;					//špičkové napětí zdroje
	double i=0.0;					//proud zátěží
	double r=10.0;					//odpor zátěže
	double ur=0.0;					//napětí na zátěži
	double rt=1.0;					//odpor vinutí zdroje
	double l=0.05;					//indukčnost vinutí zdroje
	double ud=0.0;					//napětí na diodě
	double id=0.0;					//proud diodou
	double ul=0.0;					//napětí na indukčnosti zdroje
	double rd=0.1;					//počáteční odpor diody
	
	fout.open("sim.txt");

	for(t=0; t < 0.1; t+=dt)
	{
		u=20*sin(w*t);
		if ((ud > = 0.0)||(id > 0.0))	//rozhodování o vodivosti
			rd=0.1;			//odpor diody v propustném směru
		else
			rd=1000.0;		//odpor diody v závěrném směru
		ul=(u-(r+rt+rd)*i);		//výpočet napětí
		i=i+dt*ul/l;
		ud=rd*i;
		ur=r*i;
		id=i;
		fout << t << "t" << id << "t" << ud << "t" << u << "t" << ur << "n";
	}
	fout.close();
	return 0;
}

Kód je stavěný v mém seriálu obvyklou formou. Změna je pouze v odděleném výpočtu napětí na indukčnosti. Výsledný graf je vidět níže:

K podobnému výsledku bychom mohli dojít použitím přesnější náhrady polovodičové diody, s uvažováním prahového napětí, které u křemíkových diod bývá 0.7 V. Jde pouze o to, že ve vodivém stavu uvažujeme napětí, které odpovídá prahovému. Tím docílíme otevření diody až při prahovém napětí. Uvádím zde tedy upravenou část kódu:

	double dud=0.7;				//prahové napětí diody
	
	fout.open("sim.txt");

	for(t=0; t<0.1; t+=dt)
	{
		u=20*sin(w*t);
		if ((ud>=0.7)||(id>0.0))	//rozhodování o vodivosti
		{
			rd=0.1;			//odpor diody v propustném směru
			dud=0.7;		//prahové napětí
		}
		else
		{
			rd=1000.0;		//odpor diody v závěrném směru
			dud=0.0;		//v závěrném směru prahové napětí neuvažujeme
		}
		ul=(u-(r+rt+rd)*i - dud);	//výpočet napětí
		i=i+dt*ul/l;
		ud=rd*i;
		ur=r*i;
		
		id=i;
		fout << t << "t" << id << "t" << ud << "t" << u << "t" << ur << "n";
	}

Výsledný graf se od předchozího příliš neliší. Více je vidět rozdíl v porovnání s předcházejícím grafem:

Na obrázku je patrné, že prahové napětí zpozdilo vodivost diody, takže proud se nestačil vyvinout tak jako v předchozí simulaci. Dioda se otvírá až po dosáhnutí napětí přibližně 0.7 V. V praxi to znamená nižší proud (a tedy i napětí) pro zátěž.

A co z toho?

Na analýzu průběhů potřebujeme trochu více teoretických poznatků. Mohli bychom postupovat třeba takto:
Eulerovou přímou (základní) metodou jsme simulovali jednocestný diodový usměrňovač s odporovou zátěží. Použili jsme zjednodušenou odporovou náhradu polovodičové diody a odporovou náhradu s uvažováním prahového napětí, dále zdroj ideálně sinusového napětí s vnitřní cos(f) na 0.3 (přibližný výpočet), což se projevuje na zhoršení přenosu energie od zdroje (větší podíl činných ztrát na vedení vyvolaných jalovým proudem). Při simulovaných proudech je ale tento vliv na napájecí síť zanedbatelný. Proud obsahuje poměrně výraznou stejnosměrnou složku, která může způsobit u nedostatečně předimenzovaného transformátoru přesycení magnetického obvodu a jeho následné přehřívání a zkreslení průběhu výstupního napětí.

Průběh napětí na výstupu usměrňovače je pulzující s velkým zvlněním. Při napájení světelných nebo tepelných spotřebičů tato vlastnost příliš nevadí. Pokud bychom však takto napájeli elektromotor, způsobí výrazná střídavá složka zvlnění točivého momentu a v případě komutátorového motoru jiskření na komutátoru a ohřívání železa magnetického obvodu vířivými proudy.

Jak je vidět, i v tak jednoduchém obvodu, jakým je jednocestný usměrňovač, lze hledat spoustu složitostí – a to jsme použili poměrně dost zjednodušení! Tímto více-méně učebnicovým závěrem uzavřu i tento díl.

Zdroj: Mohan, N. – Underland, T. M. – Robbins, T. M.Power electronics John Wiley 1995 ISBN 0-471-58408-8

Článek stažen z webu Programujte.com [ http://programujte.com/clanek/2006122601-simulace-9-dil/ ].