Simulace - 7. díl
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Simulace - 7. dílSimulace - 7. díl

 

Simulace - 7. díl

Google       Google       31. 8. 2006       16 750×

RLC obvody jsou prakticky ve všech obvodech, ať už vysokofrekvenčních nebo třeba silnoproudých. My si je zkusíme alespoň v základní podobě nasimulovat.

Reklama
Reklama

Za soustavu prvního řádu jsme považovali elektrický obvod, který obsahoval jeden energeticky setrvačný prvek, tedy induktor (cívku – proudově setrvačný prvek) nebo kapacitor (kondenzátor – napěťově setrvačný prvek). Systém druhého řádu bude obsahovat oba tyto prvky, každý v jednom exempláři. Na řešení obvodů se dvěmi cívkami nebo kondenzátory si posvítíme někdy později.

Dnešním dílem také vstoupíme do tzv. stavové analýzy, kdy nás pro začátek nebudou zajímat všechny veličiny v obvodu, ale jen veličiny stavové. V minulých dílech jsme se se stavovými veličinami již setkali, ale mluvit o stavové analýze, když máme pouze jednu stavovou veličinu, je směšné.

Našimi stavovými veličinami jsou proud induktorem a napětí na kapacitoru (protože se ze své fyzikální podstaty nemohou měnit skokově). Pro každou veličinu určíme diferenciální rovnici prvního řádu a získáme tak soustavu dvou rovnic, které už budeme řešit podobně jako v minulém díle. Bude nás tedy zajímat, jak vytvořit a upravit tyto rovnice.

Pro začátek si můžeme vzít jednoduchý obvod se sériově zapojeným rezistorem, induktorem a kapacitorem. Pokud jste se zajímali o radioamatérství, určitě jste poznali sériový rezonanční obvod. Ne vždy se ale toto zapojení používá jako generátor sinusového průběhu, resp. ne vždy tento obvod rezonuje. Dost často se objevuje ve zdrojích stejnosměrného napětí jako výstupní filtr nebo jako výhybka pro reproduktory.

Rezistor zde zastupuje parazitní odpor vodičů cívky, popřípadě přívodních vodičů kondenzátoru, může zastupovat i skutečný rezistor. Zanedbáváme drobnosti jako indukčnost přívodních vodičů . Také zanedbáváme vliv teploty, frekvence a dalších na vlastnosti prvků. Určitě jsem ještě spoustu věcí zapomněl, ale pro nás bude zatím stačit uvedený idealizovaný obvod, už jen proto, že v běžných podmínkách se jeho chování blíží skutečnosti. Dalším zjednodušujícím předpokladem bude napájení z ideálního zdroje stejnosměrného napětí.

Výhodu mají ti, kteří dávali na hodinách elektrotechniky pozor. Máme totiž jednu smyčku, takže podle Kirchhoffových zákonů sestavíme jednu napěťovou rovnici:

V podstatě je to všechno, co potřebujeme k sestavení modelu vědět, protože víme, že:

S těmito vědomostmi pouhým dosazením vytvoříme rovnici, např. pro napětí na kondenzátoru. Bude to ale jedna rovnice druhého řádu, kterou můžeme přímo řešit pouze analyticky:

Tento způsob je opravdu vhodný jen tehdy, když chceme řešit obvod analyticky. Pro numerické řešení se bude hodit pár následujících rad:

› Pro každý induktor sestavíme napěťovou rovnici podle smyčky, ve které se nachází. Napětí na kondenzátorech v této smyčce (tedy i v rovnici) zapíšeme pouze identifikátorem jejich napětí (např. uc), nepřepisujeme je do diferenciálního ani integračního tvaru! Napětí na induktoru nahradíme výrazem L*diL/dt.

› Pro každý kondenzátor sestavíme proudovou rovnici podle uzlu, ze kterého je napájen. Proud kondenzátorem potom nahradíme výrazem C*duC/dt.

Podle těchto rad lze sestavit rovnice pro většinu obvodů. V každé rovnici by měla vystupovat pouze jedna derivace. Ostatní veličiny, ačkoliv jsou stavovými veličinami, pouze dosazujeme tak, jak jsme je vypočítali v minulém kroku.

Sestavíme tedy rovnice pro náš obvod. Obsahuje pouze jednu smyčku a žádný uzel, můžeme tedy sestavit jen jednu rovnici, a to napěťovou. Druhou rovnici ale už známe. Víme totiž, že proud kondenzátorem je:

Máme tedy dvě rovnice, v každé vystupuje pouze jedna derivace – to jsme chtěli. Teď už zbývá pouze přepsat je pro program (do tzv. diferenčního tvaru):

Poslední dvě rovnice už stačí jen naprogramovat, v programu uvést hodnoty parametrů a nezapomenout na počáteční podmínky simulace (obvykle volíme nulové).

// Simulace sériového RLC obvodu
// www.programujte.cz 2006 - Matěj Pácha
// Visual C++ 2005 Express Edition
// Výsledek ukládá do souboru "sim.txt"

#include "stdafx.h"
#include <fstream>
#include <iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
	ofstream fout;
	fout.open("sim.txt");

	double t,h,i,u,uc,r,l,c,konec;
	
	t=0;			//proměnná času
	i=0;			//nastavíme počáteční podmínky
	uc=0;			//
	u=10;			//napětí zdroje U = 10 V
	h=0.0001;		//krok, se kterým počítáme
	konec=0.1;		//čas konce simulace
	r=10;			//Odpor R = 10 ohm
	l=0.1;			//Indukčnost L = 100 mH
	c=0.0005;		//Kapacita C = 500 uF
	
	for(t = 0; t < konec ; t += h)
	{
				//simulační rovnice
		i += h*(u - r*i - uc)/l;
		uc += h*i/c;
				//výstup do souboru
		fout << t << "\t" << i << "\t" << uc << "\n";
	}
	fout.close();
	return 0;
}

Jen tak ze cviku bychom si mohli uvést příklad, ve kterém budeme uvažovat se svodovým odporem kondenzátoru nebo, chcete-li, s jeho vybíjecím rezistorem. Schéma vypadá následovně:

Pro induktor sestavíme napěťovou rovnici podle smyčky, ve které se nachází. Pro kondenzátor zase rovnici proudovou pro uzel, ze kterého je napájen.

Zbývá už jen zdrojový kód, opět např. v jazyku C, podobný tomu předcházejícímu. Stačí jen doplnit chybějící proměnné a změnit výpočtovou část. Zručnější programátoři už mohou pouzdřit v OOP a poté na celou problematiku zapomenout. Přesto si ale myslím, že znát princip je velkou devizou. Pro zajímavost ještě uvedu příklad, jak mohou vypadat průběhy stavových veličin.

Průběhy proudu i=f(t) a napětí uc=f(t)

a) L = 100mH, C = 500 uF

b) L = 10 mH, C = 500 uF

Jak je vidět, průběhy veličin se mohou značně lišit. Obecně rozeznáváme tři teoretické typické tvary, z nichž pouze dva mohou v reálném světě nastat. Nazývají se periodický (kvaziperiodický), aperiodický a na hranici periodicity. První název je odvozen ze sinusové (periodické) složky průběhu, druhý naopak nevykazuje ani náznak opakování kterékoliv jeho složky. Průběh na hranici periodicity vykazuje nejrychlejší ustálení, ale dosažení tohoto stavu ve skutečnosti je dost problematické. Tento průběh veličin se vyskytuje pouze při jedné jediné kombinaci hodnot parametrů vyšetřovaného systému a jak jistě tušíte, parametry skutečného světa nejsou nikdy dost přesné a nebývají ani stálé. Proto je tento průběh pouze teoretický.

Pokud budete experimentovat s hodnotami L a C, můžete narazit na problém s divergencí (probráno v minulém díle). Z prvních dvou grafů je také zřejmé, proč kupovat kondenzátory na vyšší napětí, než k jakému ho budeme připojovat: napětí při přechodovém ději může krátkodobě dosáhnout až dvojnásobku ustálené hodnoty napětí. Kondenzátor samozřejmě může vydržet, ale pravděpodobně zkrátíte jeho životnost. Indukčnost se totiž vyskytuje v každém síťovém zdroji (transformátor, tlumivky ve spínaných zdrojích, vodiče), takže nikdy nejde stoprocentně jen o prosté připojení kondenzátoru (čistě exponenciální průběh).

Příště si zkusíme simulace z jiného soudku…

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

Hlasování bylo ukončeno    
0 hlasů
Google
(fotka) Ing. Matěj PáchaAutor je studentem doktorského studia na Elektrotechnické fakultě Žilinské univerzity, obor Elektrická trakce. Mezi koníčky patří hudba a hra na baskytaru.
Web    

Nové články

Obrázek ke článku Delphi 10.1.2 (Berlin Update 2) – na co se můžeme těšit

Delphi 10.1.2 (Berlin Update 2) – na co se můžeme těšit

Touto roční dobou, kdy je zem pokrytá barevným listím a prsty křehnou v mrazivých ránech, se obvykle těšíme na zbrusu novou verzi RAD Studia. Letos si však ale budeme muset počkat na Godzillu a Linux až do jara. Vezměme tedy za vděk alespoň updatem 2 a jelikož dle vyjádření pánů z Embarcadero se budou nové věci objevovat průběžně, pojďme se na to tedy podívat.

Reklama
Reklama
Obrázek ke článku Konference: Moderní datová centra pro byznys dneška se koná už 24. 11.

Konference: Moderní datová centra pro byznys dneška se koná už 24. 11.

Stále rostoucí zájem o cloudové služby i maximální důraz na pružnost, spolehlivost a bezpečnost IT vedou k výrazným inovacím v datových centrech. V infrastruktuře datových center hraje stále významnější roli software a stále častěji se lze setkat s hybridními přístupy k jejich budování i provozu.

Obrázek ke článku Konference: Mobilní technologie mají velký potenciál pro byznys

Konference: Mobilní technologie mají velký potenciál pro byznys

Firmy by se podle analytiků společnosti Gartner měly  rychle přizpůsobit skutečnosti, že mobilní technologie už zdaleka nejsou horkou novinkou, ale standardní součástí byznysu. I přesto - nebo možná právě proto - tu nabízejí velký potenciál. Kde tedy jsou ty největší příležitosti? I tomu se bude věnovat již čtvrtý ročník úspěšné konference Mobilní řešení pro business.

Obrázek ke článku Hackerský kongres přiveze v září do Prahy špičky světové kryptoanarchie

Hackerský kongres přiveze v září do Prahy špičky světové kryptoanarchie

Hackerský kongres HCPP16 pořádá od 30. září do 2. října nezisková organizace Paralelní Polis již potřetí, a to ve stejnojmenném bitcoinovém prostoru v pražských Holešovicích. Letos přiveze na třídenní konferenci přes 40 většinou zahraničních speakerů – lídrů z oblastí technologií, decentralizované ekonomiky, politických umění a aktivismu. Náměty jejich přednášek budou také hacking, kryptoměny, věda, svoboda nebo kryptoanarchie.

loadingtransparent (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();
Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý