Forward Voltage Vf (V(
هر کلید نیمه هادی با توجه به تجمع حاملهای جریان اکثریت در اطراف پیوند Pn دارای یک ولتاژ هدایت هستند که از مشکلات ذاتی این کلیدهاست. برای کلیدهای نیمه هادی سیلیکونی این ولتاژ حدود ۷/۰ ولت است که البته برای تریستورها با توجه به پیوند pnpn آنها این مقدار بیشتر هم میشود. برای نزدیک شدن به حالت ایدهآل میتوان این مقدار را برابر با صفر قرار داد.
بلوک مبدل Buck
شکل ۲۷: بلوک مبدل باک.
این بلوک کار شبیهسازی مبدل باک را انجام میدهد. همانطور که از شکل۲۷ مشخص است، دو ورودی این بلوک جریان ورودی و Switching هستند که به ترتیب ورودی جریان و سیگنالهای کلیدزنی را نشان میدهند. خروجی بلوک SMC به ورودی Switching وارد میشود. سه خروجی بلوک نیز عبارتند از خروجی جریان، و سه متغیر حالتی که در مبدل باک وجود دارد. برای شناخت بهتر این سه متغیر حالت به شکل۲۷ توجه میکنیم.
شکل ۲۸: شماتیک مداری مبدل Buck.
در مدار شکل۲۸ دو متغیر حالت مربوط به سلف L1 و سلف بار بوده و یک متعیر حالت نیز مربوط به ولتاژ خازن است که در واقع همان ولتاژ بار میشود.
برای شناخت بهتر بلوک مبدل Buck به مدار داخلی آن در شکل۸ توجه میکنیم.
شکل ۲۹: مدار داخلی بلوک مبدل Buck.
مدار شکل۲۹ شامل پورتهای ورودی و خروجی (که توضیح آن داده شد)، یک ولتمتر، یک منبع جریان کنترل شونده و یک S-function است. ولتمتر سیگنال ولتاژ بین خط ورودی و خروجی جریان را اندازه گرفته و به عنوان ورودی به بلوک S-function میدهد. بلوک S-function در واقع کار شبیهسازی معادلات دینامیکی مبدل Buck را انجام میدهد. بعد از حل معادلات و مشخص شدن مقدار جریانی که مبدل Buckاز ورودی میکشد، این مقدار به عنوان ورودی به منیع جریان کنترل شونده داده میشود تا به همان مقدار از خطdc که خروجی مبدل AC/DC است جریان بکشد.
در پایان به توضیح کدهای نوشته شده در بلوک S-function میپردازیم.
تابع نوشته شده با نام Buckشامل دو بخش کلی است. بخش اول تنظیمات کلی بلوک شامل تعریف تعداد ورودیها و خروجیهای بلوک و تنظیمات آنها، زمان نمونهگیری و تعریف چگونگی انجام معادلات حالت سیستم است. این تنظیمات در تمامی S-functionها یکسان بوده و در واقع به عنوان پیش فرض وجود دارد. تنها کاری که در این بخش انجام شده اعمال تنظیمات با توجه به نوع و تعداد سیگنالهای ورودی و خروجی است. در بخش دوم سه تابع Outputs,Startو Derivativesتعریف شدهاند که به ترتیب وظیفه تعریف مقادیر اولیه متغیرهای حالت، تعریف خروجیهای بلوک و حل معادلات دینامیکی مبدل را بر عهده دارند. این توابع در زیر توضیح داده شدهاند.
function Start (block)
block. ContStates. Data (1) = 0;
block. ContStates. Data (2) = 0;
block. ContStates. Data (3) = 0;
این تابع مقادیر هر سه متغیر حالت را برابر با صفر قرار میدهد. زیرا در لحظه اول همه جریانها و ولتاژ بار برابر با صفر است.
function Outputs (block(
block. OutputPort (1). Data = block. ContStates. Data (1) ;
block. OutputPort (2). Data = block. ContStates. Data (2) ;
block. OutputPort (3). Data = block. ContStates. Data (3) ;
این تابع مقادیر پورتهای خروجی را برابر با مقادیر لحظهای سه متغیر حالت قرار میدهد. در واقع با این کار میتوان در هر لحظه از انجام شبیهسازی به مقادیر متغیرهای حالت دست پیدا کرد.
function Derivatives (block)
A=[1e-2; %L1
۴۷۰e-6; %Capacitor
۵; %Load Resistance
۱e-2]; %Load Inductance
ifblock. InputPort (1). Data == 1
V = block. InputPort (2). Data;
block. Derivatives. Data (1) = (V - block. ContStates. Data (2)) / A (1) ;
ifblock. ContStates. Data (1) < 0 &&block. Derivatives. Data (1) < 0
block. Derivatives. Data (1) = 0;
end
else
V = 0;
block. Derivatives. Data (1) = (V - block. ContStates. Data (2)) / A (1) ;
ifblock. ContStates. Data (1) < 0
block. Derivatives. Data (1) = 0;
end
end
block. Derivatives. Data (2) = (block. ContStates. Data (1) - block. ContStates. Data (3)) / A (2) ;
block. Derivatives. Data (3) = (block. ContStates. Data (2) - A (3) * block. ContStates. Data (3)) / A (4) ;
تابع بالا در واقع هسته محاسباتی بلوک مبدل و مهمترین بخش آن است. در این تابع ابتدا یک ماتریس با نام A تعریف میشود. این تابع با ۴ عنصر به ترتیب مقادیر سلف ورودی، خازن، اندوکتانس بار و مقاومت اهمی بار را دریافت می کند. مابقی این تابع معادلات حالت را حل میکند. با توجه به اینکه در مبدل Buckدو عنصر نیمه هادی وجود دارند سبب میشوند که مدار از حالت LTIخارج شود. بنابراین برای محاسبه مقادیر متغیرهای حالت باید حتما از جملات شرطی استفاده کنیم. در واقع مدار با معادلات حالت یکسان مواجه نیست و بعد از قطع یا وصل شدن هر کلید تغییراتی در معادلات حالت به وجود میآید.
حالت اول:
در زمان DutyCycleقرار داریم و کلید ورودی وصل و دیود هرزگرد قطع است.
در این حالت شرط block. InputPort (1). Data == 1برقرار بوده و ولتاژ ورودی مبدل را برابر با ورودی دوم بلوک قرار میدهیم:
ifblock. InputPort (1). Data == 1
فرم در حال بارگذاری ...