<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Электронный научно-практический журнал «Современные научные исследования и инновации» &#187; Борисевич Алексей Валерьевич</title>
	<atom:link href="http://web.snauka.ru/issues/author/akpc806a/feed" rel="self" type="application/rss+xml" />
	<link>https://web.snauka.ru</link>
	<description></description>
	<lastBuildDate>Fri, 17 Apr 2026 07:29:22 +0000</lastBuildDate>
	<language>ru</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Минимизация энергопотребления асинхронного электродвигателя с векторным управлением на основе идентификации модели потерь</title>
		<link>https://web.snauka.ru/issues/2014/03/31987</link>
		<comments>https://web.snauka.ru/issues/2014/03/31987#comments</comments>
		<pubDate>Tue, 04 Mar 2014 13:07:34 +0000</pubDate>
		<dc:creator>Борисевич Алексей Валерьевич</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[асинхронный электродвигатель]]></category>
		<category><![CDATA[векторное управление]]></category>
		<category><![CDATA[идентификация модели потерь]]></category>
		<category><![CDATA[минимизация]]></category>
		<category><![CDATA[энергопотребление]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/?p=31987</guid>
		<description><![CDATA[Электродвигатели – доминирующий класс потребителей электроэнергии в мире. Во многих применениях электродвигатель большую часть времени работает с нагрузкой, меньшей номинальной. При этом КПД двигателя оказывается существенно ниже, чем при номинальном моменте на валу [1]. Специальные стратегии скалярного и векторного управления позволяют достичь оптимума энергопотребления в различных условиях нагрузки электродвигателя. Обзор состояния зарубежных работ, посвященных этой [...]]]></description>
			<content:encoded><![CDATA[<p>Электродвигатели – доминирующий класс потребителей электроэнергии в мире. Во многих применениях электродвигатель большую часть времени работает с нагрузкой, меньшей номинальной. При этом КПД двигателя оказывается существенно ниже, чем при номинальном моменте на валу [1]. Специальные стратегии скалярного и векторного управления позволяют достичь оптимума энергопотребления в различных условиях нагрузки электродвигателя. Обзор состояния зарубежных работ, посвященных этой проблеме, можно найти в [2-4]. Из последних отечественных публикаций можно привести исследования [5-7].</p>
<p>В настоящем статье обсуждается вопрос минимизации энергопотребления для двигателя, работающего в установившемся режиме с постоянным моментом нагрузки. Описываемый далее алгоритм относится к методам на основе модели мощности потерь. Вычисленная уставка тока намагничивания минимизирует установившуюся мощность потерь в обмотках без учета мощности в потерь в сердечнике.</p>
<p>Главное отличие описанного метода от других ранее опубликованных состоит в параметрической идентификации модели потерь за счет накопления данных о найденных ранее оптимумах энергопотребления. Таким образом, реализованный метод представляет собой гибридный алгоритм, основанный на поисковой оптимизации, которая заменяется после идентификации модели на прямое вычисление уставки тока намагничивания.</p>
<p>В этой главе мы не детализируем алгоритм до степени, достаточной для его прямой реализации. Вместо этого приводится описание концепта и его проверка на корректность по снятым с электродвигателей экспериментальным данным.</p>
<p><strong>1. Предварительные сведения</strong></p>
<p>1.1 Модель электродвигателя</p>
<p>Рассмотрим модель двигателя на основе обратной Г-образной схемы замещения [8] с ориентацией оси d вращающейся системы координат параллельно потокосцеплению ротора <img src="http://latex.codecogs.com/gif.latex?%5Cphi_r" alt="" align="absmiddle" />. В пространстве состояний, данная модель реализуется системой дифференциальных уравнения четвертого порядка:</p>
<p><img src="http://latex.codecogs.com/gif.latex?%5Cdot %5Cphi_r = -%5Cfrac{R_R}{L_M} %5Cphi_r  + i_{sd} R_R" alt="" align="absmiddle" /><br />
<img src="http://latex.codecogs.com/gif.latex?%5Cdot i_{sq} = - %5Cfrac{%5Comega}{ L_%5Csigma } %5Cphi_r - %5Cfrac{R_s}{L_%5Csigma} i_{sq} - %5Cfrac{R_R}{L_%5Csigma} i_{sq} - i_{sd} %5Comega_s + %5Cfrac{u_{sq}}{L_%5Csigma}" alt="" align="absmiddle" /><br />
<img src="http://latex.codecogs.com/gif.latex?%5Cdot i_{sd} = %5Cfrac{R_R}{L_M L_%5Csigma} %5Cphi_r - %5Cfrac{R_R}{L_%5Csigma} i_{sd} - %5Cfrac{R_s}{L_%5Csigma} i_{sd} + i_{sq} %5Comega_s + %5Cfrac{u_{sd}}{L_%5Csigma}" alt="" align="absmiddle" /><br />
<img src="http://latex.codecogs.com/gif.latex?%5Cdot %5Comega = p%5Cfrac{p %5Cphi_r i_{sq} - T_m}{ J }" alt="" align="absmiddle" /></p>
<p>где <img src="http://latex.codecogs.com/gif.latex?%5Comega_s = %5Comega + %5Cdfrac{R_R i_{sq}}{%5Cphi_r}" alt="" align="absmiddle" /> – синхронная скорость, <img src="http://latex.codecogs.com/gif.latex?%5Comega" alt="" align="absmiddle" /> – скорость вращения вала двигателя (электрическая – т.е. механическая <img src="http://latex.codecogs.com/gif.latex?%5Comega_r" alt="" align="absmiddle" />, умноженная на число пар полюсов p), <img src="http://latex.codecogs.com/gif.latex?T_e = p %5Cphi_r i_{sq}" alt="" align="absmiddle" /> – электромагнитный момент вращения, развиваемый двигателем. Параметры статора двигателя: <img src="http://latex.codecogs.com/gif.latex?R_s, L_%5Csigma" alt="" align="absmiddle" />, параметры ротора двигателя <img src="http://latex.codecogs.com/gif.latex?R_R, L_M" alt="" align="absmiddle" />.</p>
<p>Все напряжения и токи в модели являются действующими значениями и полученными с помощью преобразований Кларка и Парка, инвариантных по мощности.</p>
<p><strong>1.2 Модель потерь в обмотках при магнитном насыщении</strong></p>
<p>Насыщение индуктивностей в асинхронных электродвигателях – неотъемлемая черта их функционирования даже для токов статора, заметно меньших номинальных значений. Модель потерь [7] в установившемся режиме как функция от тока намагничивания <img src="http://latex.codecogs.com/gif.latex?i_{sd}" alt="" align="absmiddle" /></p>
<p><img src="http://latex.codecogs.com/gif.latex?P_{loss} = i_{sd}^2 R_s + %5Cleft ( %5Cfrac{T_m}{p L_M i_{sd}} %5Cright )^2 (R_s + R_R)" alt="" align="absmiddle" /> (*)</p>
<p>оказывается недостаточно точной, поскольку при насыщении индуктивности намагничивания двигателя, значение <img src="http://latex.codecogs.com/gif.latex?L_M" alt="" align="absmiddle" /> перестает быть постоянным и является функцией от тока <img src="http://latex.codecogs.com/gif.latex?L_m(i_{sd})" alt="" align="absmiddle" />.</p>
<p>С учетом насыщения индуктивности намагничивания, квадратурный ток <img src="http://latex.codecogs.com/gif.latex?i_{sq}" alt="" align="absmiddle" /> в устанавливавшемся режиме записывается в виде:</p>
<p><img src="http://latex.codecogs.com/gif.latex?i_{sq} = %5Cfrac{T_m}{p L_m(i_{sd}) i_{sd}}" alt="" align="absmiddle" /></p>
<p>тогда мощность потерь выражается как</p>
<p><img src="http://latex.codecogs.com/gif.latex?P_{loss} = i_{sd}^2 R_s + %5Cleft ( %5Cfrac{T_m}{p L_m(i_{sd}) i_{sd}} %5Cright )^2 (R_s + R_R)" alt="" align="absmiddle" /></p>
<p>Характеристика <img src="http://latex.codecogs.com/gif.latex?L_m(i_{sd})" alt="" align="absmiddle" /> может быть получена в результате следующей экспериментальной процедуры. Вал двигателя связывается с нагрузочной машиной, обеспечивающей известный постоянный момент <img src="http://latex.codecogs.com/gif.latex?T_m = %5Cconst" alt="" align="absmiddle" />. При ступенчатом варьировании тока намагничивания <img src="http://latex.codecogs.com/gif.latex?i_{sd}" alt="" align="absmiddle" /> измеряется установившееся значение квадратурного тока <img src="http://latex.codecogs.com/gif.latex?i_{sq}" alt="" align="absmiddle" /> как зависимость от <img src="http://latex.codecogs.com/gif.latex?i_{sd}" alt="" align="absmiddle" />. В результате, искомая характеристика может быть вычислена как <img src="http://latex.codecogs.com/gif.latex?L_m(i_{sd}) = %5Cdfrac {T_m}{p i_{sq}(i_{sd})}" alt="" align="absmiddle" />. Очевидно, что подобная процедура может быть выполнена только в лабораторных условиях, что значительно затрудняет применимость методов на основе модели потерь к произвольному двигателю.</p>
<p><strong>2. Метод минимизации энергопотребления</strong></p>
<p><strong>2.1 Условие оптимальности</strong></p>
<p>Дифференцирование <img src="http://latex.codecogs.com/gif.latex?P_{loss}" alt="" align="absmiddle" /> по <img src="http://latex.codecogs.com/gif.latex?i_{sd}" alt="" align="absmiddle" /> дает</p>
<p><img src="http://latex.codecogs.com/gif.latex?%5Cfrac{%5Cpartial P_{loss}}{%5Cpartial i_{sd}} = 2 R_s i_{sd} - 2 %5Cfrac{T_m^2 }{L_m^2(i_{sd}) i_{sd}^3 p^2} (R_s + R_R)" alt="" align="absmiddle" /><br />
<img src="http://latex.codecogs.com/gif.latex?- 2 %5Cfrac{T_m^2 }{L_m^3(i_{sd}) i_{sd}^2 p^2} %5Cfrac{%5Cpartial L_m}{%5Cpartial i_{sd}} (R_s + R_R)" alt="" align="absmiddle" /><br />
<img src="http://latex.codecogs.com/gif.latex?= 2 R_s i_{sd} - 2 (R_s + R_R) i_{sq}^2 %5Cleft ( %5Cfrac{1}{i_{sd}} + %5Cfrac{1}{L_m(i_{sd})} %5Cfrac{%5Cpartial L_m}{%5Cpartial i_{sd}} %5Cright )" alt="" align="absmiddle" /></p>
<p>Обозначив <img src="http://latex.codecogs.com/gif.latex?x(i_{sd}) := %5Cdfrac{1}{L_m(i_{sd})} %5Cdfrac{%5Cpartial L_m}{%5Cpartial i_{sd}}" alt="" align="absmiddle" /> и приравняв <img src="http://latex.codecogs.com/gif.latex?%5Cdfrac{%5Cpartial P_{loss}}{%5Cpartial i_{sd}} = 0" alt="" align="absmiddle" />, находим условие минимума энергопотребления</p>
<p><img src="http://latex.codecogs.com/gif.latex?R_s i_{sd}^2 - (R_s + R_R) i_{sq}^2 - (R_s + R_R) i_{sq}^2 i_{sd} %5Ccdot x(i_{sd}) = 0" alt="" align="absmiddle" /> (1)</p>
<p>При отсутствии насыщения <img src="http://latex.codecogs.com/gif.latex?x(i_{sd}) = 0" alt="" align="absmiddle" /> это условие интерпретируется как равенство мощностей потерь по оси d <img src="http://latex.codecogs.com/gif.latex?P_{loss,d} = R_s i_{sd}^2" alt="" align="absmiddle" /> и по оси q <img src="http://latex.codecogs.com/gif.latex?P_{loss,q} = (R_s + R_R) i_{sq}^2" alt="" align="absmiddle" />.</p>
<p>Разрешение уравнения (1) по <img src="http://latex.codecogs.com/gif.latex?i_{sd}" alt="" align="absmiddle" /> для получения минимизирующей уставки тока – есть основа предлагаемого метода. Однако, для решения должна быть известна характеристика <img src="http://latex.codecogs.com/gif.latex?x(i_{sd})" alt="" align="absmiddle" />.</p>
<p><strong>2.2 Идентификация характеристики намагничивания</strong></p>
<p>Предположим, что найдено оптимальное значение тока намагничивания <img src="http://latex.codecogs.com/gif.latex?i_{sd}^*" alt="" align="absmiddle" />. Это может быть сделано, например, в результате применения методов поисковой оптимизации, описанных в предыдущей главе. Тогда условие (1) выполняется для значения <img src="http://latex.codecogs.com/gif.latex?i_{sd}^*" alt="" align="absmiddle" />. Решая (1) как уравнение относительно x, получаем</p>
<p><img src="http://latex.codecogs.com/gif.latex?x = %5Cfrac{ R_s i_{sd}^2 - (R_R + R_s) i_{sq}^2 } { i_{sd} i_{sq}^2 (R_R + R_s) }" alt="" align="absmiddle" />. (2)</p>
<p>где <img src="http://latex.codecogs.com/gif.latex?i_{sd} := i_{sd}^*" alt="" align="absmiddle" /> и <img src="http://latex.codecogs.com/gif.latex?i_{sq}" alt="" align="absmiddle" /> – значения токов при минимальном <img src="http://latex.codecogs.com/gif.latex?P_{loss}" alt="" align="absmiddle" />.</p>
<p>Если электродвигатель работает с различными механическими нагрузками (или, эквивалентно, обеспечивается движение с различными постоянными ускорениями), то определение оптимума <img src="http://latex.codecogs.com/gif.latex?i_{sd}^*" alt="" align="absmiddle" /> в каждом случае дает свое значение x. В результате, имеем вектор собранных ранее значений <img src="http://latex.codecogs.com/gif.latex?I_{sd} = ( i_{sd_1}^*, i_{sd_2}^*,... i_{sd_N}^*)^T" alt="" align="absmiddle" /> оптимального тока намагничивания и соответствующих им значений характеристики x: <img src="http://latex.codecogs.com/gif.latex?X = ( x_1, x_2,... x_N)^T" alt="" align="absmiddle" />, таких что <img src="http://latex.codecogs.com/gif.latex?x_k = x(i_{sd_k}^*)" alt="" align="absmiddle" />.</p>
<p>Анализ экспериментальных данных показывает, что зависимость <img src="http://latex.codecogs.com/gif.latex?x(i_{sd})" alt="" align="absmiddle" /> может быть аппроксимирована линейно. Таким образом, возникает задача линейной регрессии по экспериментальным данным <img src="http://latex.codecogs.com/gif.latex?I_{sd}" alt="" align="absmiddle" /> и X для получения коэффициентов <img src="http://latex.codecogs.com/gif.latex?b_0, b_1" alt="" align="absmiddle" /> линейной аппроксимации:</p>
<p><img src="http://latex.codecogs.com/gif.latex?x = b_1 %5Ccdot i_{sd} + b_0" alt="" align="absmiddle" /> (3)</p>
<p>Для ее решения предлагается использование рекурсивного алгоритма наименьших квадратов [9], который позволяет осуществить вычисление коэффициентов b без хранения векторов <img src="http://latex.codecogs.com/gif.latex?I_{sd}" alt="" align="absmiddle" /> и X. Рекурсивное обновление вектора коэффициентов b осуществляется по следующим соотношениям:</p>
<p><img src="http://latex.codecogs.com/gif.latex?P_{k+1} = P_k - %5Cfrac {P_k a %5Ccdot (P_k a)^T}{1+a^T P_k a}" alt="" align="absmiddle" /> (4)<br />
<img src="http://latex.codecogs.com/gif.latex?b_{k+1} = b_k + (u - a^T b_k) P_{k+1} a" alt="" align="absmiddle" /></p>
<p>где <img src="http://latex.codecogs.com/gif.latex?P_k %5Cin %5CR^{2 %5Ctimes 2}" alt="" align="absmiddle" /> – ковариационная матрица размерностью <img src="http://latex.codecogs.com/gif.latex?2 %5Ctimes 2" alt="" align="absmiddle" />, изначально заполненная достаточно большими числами (близкими к машинной бесконечности), <img src="http://latex.codecogs.com/gif.latex?a := (1 ~~ i_{sd}^*)^T, u := x" alt="" align="absmiddle" />.</p>
<p>Каждый раз после того как найден новый оптимум <img src="http://latex.codecogs.com/gif.latex?i_{sd}^*" alt="" align="absmiddle" /> потерь согласно (*), происходит обновление вектора коэффициентов b согласно правилу рекурсивного алгоритма наименьших квадратов (4).</p>
<p><strong>2.3 Алгоритм</strong></p>
<p>Полный алгоритм минимизации энергопотребления не приводится, далее рассматриваются только его основные составляющие.</p>
<p>Начальными условиями являются <img src="http://latex.codecogs.com/gif.latex?b = (0~~0)^T, P_{i,j} = %5Cinfty" alt="" align="absmiddle" />. Если обнаружено, что момент двигателя изменился и токи статора <img src="http://latex.codecogs.com/gif.latex?i_{sd}, i_{sq}" alt="" align="absmiddle" /> установились и постоянны в течение некоторого времени, то инициируется численный поиск оптимального значения уставки тока намагничивания <img src="http://latex.codecogs.com/gif.latex?i_{sd}^*" alt="" align="absmiddle" />. В качестве начального значения используется решение (1) относительно <img src="http://latex.codecogs.com/gif.latex?i_{sd}" alt="" align="absmiddle" />, в котором характеристика <img src="http://latex.codecogs.com/gif.latex?x(i_{sd})" alt="" align="absmiddle" /> согласно линейной аппроксимации (3). После того, как найдено <img src="http://latex.codecogs.com/gif.latex?i_{sd}^*" alt="" align="absmiddle" />, вычисляется значение x согласно (2) и коэффициенты линейной аппроксимации обновляются по правилу (4). Исключение поискового алгоритма возможно после некоторого момента, когда постоянно обнаруживается, что найденный оптимум <img src="http://latex.codecogs.com/gif.latex?i_{sd}^*" alt="" align="absmiddle" /> совпадает с начальным значением, вычисляемым по (1). На всех этапах алгоритма необходимо контролировать, чтобы уставка тока намагничивания <img src="http://latex.codecogs.com/gif.latex?i_{sd}" alt="" align="absmiddle" /> не превышала номинальные значения.</p>
<p><strong>3. Экспериментальная проверка</strong></p>
<p>Для проверки работоспособности были проделаны эксперименты с двумя электродвигателями: номинальной мощностью 4 кВт (DRS112M4) и 0.37 кВт (DRS71S4). Суть экспериментов сводилась к следующему: электродвигатель, связанный с управляемой нагрузочной машиной, был запитан от векторного частотного преобразователя, при этом изменялась уставка тока намагничивания <img src="http://latex.codecogs.com/gif.latex?i_{sd}" alt="" align="absmiddle" /> и вычислялась мощность потерь в обмотках согласно (*). Эксперимент повторялся для разных значений нагрузки на валу <img src="http://latex.codecogs.com/gif.latex?T_m" alt="" align="absmiddle" />. В результате получилось семейство характеристик мощности потерь <img src="http://latex.codecogs.com/gif.latex?P_{loss}(i_{sd})" alt="" align="absmiddle" /> для разных моментов нагрузки на валу.</p>
<p>Измеренные данные обрабатывались следующим образом. По характеристике <img src="http://latex.codecogs.com/gif.latex?P_{loss}(i_{sd})" alt="" align="absmiddle" />, снятой для конкретного момента нагрузки <img src="http://latex.codecogs.com/gif.latex?T_m" alt="" align="absmiddle" />, определялось значение тока намагничивания <img src="http://latex.codecogs.com/gif.latex?i_{sd}^*" alt="" align="absmiddle" />, минимизирующее мощность потерь <img src="http://latex.codecogs.com/gif.latex?P_{loss}" alt="" align="absmiddle" /> и рассчитывалась величина x согласно (2). По собранным значениями <img src="http://latex.codecogs.com/gif.latex?i_{sd}^*" alt="" align="absmiddle" /> и x для различных моментов на валу проводилась линейная регрессия для получения коэффициентов аппроксимации (3).</p>
<p>С использованием аппроксимированной зависимости <img src="http://latex.codecogs.com/gif.latex?x(i_{sd})" alt="" align="absmiddle" /> согласно (2) были вычислены оптимальные значения <img src="http://latex.codecogs.com/gif.latex?i_{sd}^*" alt="" align="absmiddle" />, удовлетворяющие (1). Результаты были нанесены на экспериментально полученные графики <img src="http://latex.codecogs.com/gif.latex?P_{loss}(i_{sd})" alt="" align="absmiddle" /> для того, чтобы убедиться в соответствии вычисленным и действительным минимумам мощности потерь. Соответствующие зависимости приведены на рисунках 1-4.</p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2014/03/030714_1907_85.png" alt="" /><br />
Рисунок 1. Зависимость <img src="http://latex.codecogs.com/gif.latex?x(i_{sd})" alt="" align="absmiddle" /> для двигателя 0.37 кВт: экспериментальные точки (обозначены квадратными маркерами) и линейная аппроксимация.</p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2014/03/030714_1907_87.png" alt="" /><br />
Рисунок 2. Зависимости <img src="http://latex.codecogs.com/gif.latex?P_{loss}(i_{sd})" alt="" align="absmiddle" /> для двигателя 0.37 кВт, квадратными точками обозначены вычисленные минимумы согласно (1).</p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2014/03/030714_1907_89.png" alt="" /><br />
Рисунок 3. Зависимость <img src="http://latex.codecogs.com/gif.latex?x(i_{sd})" alt="" align="absmiddle" /> для двигателя 4 кВт: экспериментальные точки (обозначены квадратными маркерами) и линейная аппроксимация.</p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2014/03/030714_1907_91.png" alt="" /><br />
Рисунок 4. Зависимости <img src="http://latex.codecogs.com/gif.latex?P_{loss}(i_{sd})" alt="" align="absmiddle" /> для двигателя 4 кВт, квадратными точками обозначены вычисленные минимумы согласно (1).</p>
<p>Из представленных на рисунках 2 и 4 графиков видно, что теоретически вычисленные минимумы согласно условию (1) и линейной аппроксимации <img src="http://latex.codecogs.com/gif.latex?x(i_{sd})" alt="" align="absmiddle" /> с практической точки зрения хорошо согласуются с действительными минимумами мощности потерь двигателя.</p>
<p><strong>Заключение</strong></p>
<p>В настоящем разделе был рассмотрен вариант метода минимизации мощности потерь в обмотках двигателя, который использует информацию о найденных ранее минимумах потерь для идентификации характеристики насыщения индуктивности намагничивания двигателя. Алгоритм не требует предварительного измерения зависимости индуктивностей от тока намагничивания и может применяться при работе электродвигателя в составе оборудования. Метод использует на своем начальном этапе работы алгоритм прямого численного поиска минимума мощности потерь, и таким образом относится к гибридным алгоритмам. По мере накопления информации о характеристике насыщения двигателя, численный поиск исключается как избыточный этап.</p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2014/03/31987/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Реализация векторного управления асинхронным электродвигателем на микроконтроллере STM32F4</title>
		<link>https://web.snauka.ru/issues/2014/04/33144</link>
		<comments>https://web.snauka.ru/issues/2014/04/33144#comments</comments>
		<pubDate>Wed, 23 Apr 2014 10:14:30 +0000</pubDate>
		<dc:creator>Борисевич Алексей Валерьевич</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[асинхронный электродвигатель]]></category>
		<category><![CDATA[векторное управление]]></category>
		<category><![CDATA[микроконтроллер]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/?p=33144</guid>
		<description><![CDATA[1. Введение Векторное управление асинхронными двигателями &#8212; в настоящий момент доминирующая технология в области промышленного и транспортного электропривода переменного тока. Преимуществами векторного управления являются: обеспечение динамических характеристик, сравнимых с серводвигателями постоянного тока; увеличение КПД электропривода; возможность работы на малых скоростях в безредукторном приводе. Структура статьи следующая: сначала кратко описывается алгоритм векторного управления по полю, потом [...]]]></description>
			<content:encoded><![CDATA[<p><strong>1. Введение</strong></p>
<p>Векторное управление асинхронными двигателями &#8212; в настоящий момент доминирующая технология в области промышленного и транспортного электропривода переменного тока. Преимуществами векторного управления являются: обеспечение динамических характеристик, сравнимых с серводвигателями постоянного тока; увеличение КПД электропривода; возможность работы на малых скоростях в безредукторном приводе.</p>
<p>Структура статьи следующая: сначала кратко описывается алгоритм векторного управления по полю, потом описывается реализованная модель, далее описываются аппаратные средства и приводится результат реального испытания алгоритма.</p>
<p><strong>1.1 Модель двигателя</strong></p>
<p>На системном уровне описания, двигатель представляет собой элемент с тремя входами напряжения <img src="http://latex.codecogs.com/gif.latex?u_a, u_b, u_c" alt="" align="absmiddle" />, входом момента нагрузки <img src="http://latex.codecogs.com/gif.latex?T_m" alt="" align="absmiddle" /> и выходами фазных токов <img src="http://latex.codecogs.com/gif.latex?i_a, i_b, i_c" alt="" align="absmiddle" />, а также выходом скорости <img src="http://latex.codecogs.com/gif.latex?%5Comega" alt="" align="absmiddle" /> (которую мы далее будем считать электрической, т.е. отличающейся от реальной механической в p раз).</p>
<p>Известно, что электрические величины трехфазной цепи (например, фазные токи) могут быть представлены во вращающейся со скоростью <img src="http://latex.codecogs.com/gif.latex?%5Comega_s" alt="" align="absmiddle" /> системе координат d и q как два ортогональных компонента <img src="http://latex.codecogs.com/gif.latex?i_q,i_d" alt="" align="absmiddle" />:</p>
<p><img src="http://latex.codecogs.com/gif.latex?%5Cbegin{pmatrix} i_d %5C%5C i_q %5Cend{pmatrix} = %5Cfrac{2}{3} %5Cbegin{pmatrix} %5Ccos %5Ctheta_s &amp; %5Csin %5Ctheta_s %5C%5C  -%5Csin %5Ctheta_s &amp; %5Ccos %5Ctheta_s %5Cend{pmatrix} %5Cbegin{pmatrix} 1 &amp; -1/2 &amp; -1/2 %5C%5C 0 &amp; %5Csqrt{3}/2 &amp; -%5Csqrt{3}/2 %5Cend{pmatrix} %5Cbegin{pmatrix} i_a %5C%5C i_b %5C%5C i_c %5Cend{pmatrix}" alt="" align="absmiddle" /> (1)</p>
<p>где <img src="http://latex.codecogs.com/gif.latex?%5Ctheta_s(t) = %5Cint_0^t %5Comega_s(%5Ctau) d %5Ctau" alt="" align="absmiddle" /> — угловое положение вращающейся системы координат.</p>
<p>Преобразование вида (1) может быть аналогично применено и для фазных напряжений <img src="http://latex.codecogs.com/gif.latex?u_a, u_b, u_c" alt="" align="absmiddle" />. Выражение (1) называется инвариантным по амплитуде преобразованием Парка [1] или dq0-преобразованием. Важно отметить, что при соответствующем выборе <img src="http://latex.codecogs.com/gif.latex?%5Comega_s" alt="" align="absmiddle" /> (при вращении системы координат синхронно с вращением вектора тока), величины <img src="http://latex.codecogs.com/gif.latex?i_q, i_d" alt="" align="absmiddle" /> становятся постоянными и при этом <img src="http://latex.codecogs.com/gif.latex?%5Csqrt{i_q^2 + i_d^2}" alt="" align="absmiddle" /> — амплитуда переменного тока.</p>
<p>Рассмотрим инверсную Г-модель двигателя с ориентацией потокосцепления ротора <img src="http://latex.codecogs.com/gif.latex?%5Cphi_r" alt="" align="absmiddle" /> вдоль оси d синхронно вращающейся системы координат [2]. В пространстве состояний модель реализуется системой дифференциальных уравнений четвертого порядка:</p>
<p><img src="http://latex.codecogs.com/gif.latex?%5Cdot %5Cphi_r = -%5Cfrac{R_R}{L_M} %5Cphi_r  + i_{sd} R_R" alt="" align="absmiddle" /> (2)<br />
<img src="http://latex.codecogs.com/gif.latex?%5Cdot i_{sq} = - %5Cfrac{%5Comega}{ L_%5Csigma } %5Cphi_r - %5Cfrac{R_s}{L_%5Csigma} i_{sq} - %5Cfrac{R_R}{L_%5Csigma} i_{sq} - i_{sd} %5Comega_s + %5Cfrac{u_{sq}}{L_%5Csigma}" alt="" align="absmiddle" /><br />
<img src="http://latex.codecogs.com/gif.latex?%5Cdot i_{sd} = %5Cfrac{R_R}{L_M L_%5Csigma} %5Cphi_r - %5Cfrac{R_R}{L_%5Csigma} i_{sd} - %5Cfrac{R_s}{L_%5Csigma} i_{sd} + i_{sq} %5Comega_s + %5Cfrac{u_{sd}}{L_%5Csigma}" alt="" align="absmiddle" /><br />
<img src="http://latex.codecogs.com/gif.latex?%5Cdot %5Comega = p%5Cfrac{T_e - T_m}{ J }" alt="" align="absmiddle" /></p>
<p>где <img src="http://latex.codecogs.com/gif.latex?i_{sq}, i_{sq}" alt="" align="absmiddle" /> — токи статора во вращающейся системе dq-координат, <img src="http://latex.codecogs.com/gif.latex?u_{sd}, u_{sq}" alt="" align="absmiddle" /> — напряжения статора в системе dq-координат, <img src="http://latex.codecogs.com/gif.latex?%5Comega" alt="" align="absmiddle" /> — скорость вращения вала двигателя, <img src="http://latex.codecogs.com/gif.latex?T_e = p %5Cphi_r i_{sq}" alt="" align="absmiddle" /> — электромагнитный момент, развиваемый двигателем.</p>
<p>Параметры модели двигателя в (2) обозначены: <img src="http://latex.codecogs.com/gif.latex?R_R" alt="" align="absmiddle" /> — приведенное сопротивление ротора, <img src="http://latex.codecogs.com/gif.latex?R_s" alt="" align="absmiddle" /> — сопротивление статора, <img src="http://latex.codecogs.com/gif.latex?L_%5Csigma" alt="" align="absmiddle" /> — приведенная индуктивность статора, <img src="http://latex.codecogs.com/gif.latex?L_M" alt="" align="absmiddle" /> — приведенная индуктивность намагничивания, <img src="http://latex.codecogs.com/gif.latex?p" alt="" align="absmiddle" /> — число пар полюсов, <img src="http://latex.codecogs.com/gif.latex?J" alt="" align="absmiddle" /> — момент инерции ротора и нагрузки.</p>
<p>Система dq-координат вращается с синхронной скоростью вращения двигателя:</p>
<p><img src="http://latex.codecogs.com/gif.latex?%5Comega_s = %5Comega + %5Cdfrac{R_R i_{sq}}{%5Cphi_r}" alt="" align="absmiddle" /> (3)</p>
<p><strong>1.2 Векторное управление с ориентацией по полю</strong></p>
<p>Метод векторного управления с ориентацией системы координат полю ротора (field-oriented control, FOC) можно резюмировать следующим образом.</p>
<p>Измеряемыми величинами являются фазные токи статора <img src="http://latex.codecogs.com/gif.latex?i_a, i_b, i_c" alt="" align="absmiddle" /> и скорость вращения вала <img src="http://latex.codecogs.com/gif.latex?%5Comega" alt="" align="absmiddle" />. Измеренные значения токов преобразуются с помощью (1) в постоянные <img src="http://latex.codecogs.com/gif.latex?i_{sd},i_{sq}" alt="" align="absmiddle" />. Для такого преобразования необходимо знать синхронную скорость <img src="http://latex.codecogs.com/gif.latex?%5Comega_s" alt="" align="absmiddle" />, которая зависит от измеренной скорости <img src="http://latex.codecogs.com/gif.latex?%5Comega" alt="" align="absmiddle" /> и скольжения. Таким образом, реализация векторного управления содержит в себе блок вычисления <img src="http://latex.codecogs.com/gif.latex?%5Comega_s" alt="" align="absmiddle" /> по соотношению (3) и первому уравнению в (2). Важно заметить, что вычисление <img src="http://latex.codecogs.com/gif.latex?%5Comega_s" alt="" align="absmiddle" /> использует значение потокосцепления <img src="http://latex.codecogs.com/gif.latex?%5Cphi_r" alt="" align="absmiddle" />, которое оценивается на основе модели двигателя (2). Отсюда, важным является знание параметров двигателя <img src="http://latex.codecogs.com/gif.latex?R_R, L_M" alt="" align="absmiddle" />.</p>
<p>Векторное управление для стабилизации скорости вращения двигателя состоит их трех ПИ-регуляторов, два из которых предназначены для поддержания токов статора. Обозначим <img src="http://latex.codecogs.com/gif.latex?i_{sd}^{ref}, i_{sq}^{ref}" alt="" align="absmiddle" /> — уставки соответствующих токов статора. Из второго и третьего уравнения в (2) видно, что в первом приближении динамика токов статора относительно напряжений может быть представлена как система первого порядка с возмущениями, вызванными противо-ЭДС и взаимозависимостью токов.</p>
<p>Динамика ПИ-регуляторов может быть записана обычным образом</p>
<p><img src="http://latex.codecogs.com/gif.latex?e_{i_{sd}} = i_{sd}^{ref} - i_{sd}, %5C; %5Cdot %5Cxi_{i_{sd}} = e_{i_{sd}}, %5C; u_{sd} = K_p^{i_{sd}} e_{i_{sd}} + K_i^{i_{sd}} %5Cxi_{i_{sd}}" alt="" align="absmiddle" /> (4)<br />
<img src="http://latex.codecogs.com/gif.latex?e_{i_{sq}} = i_{sq}^{ref} - i_{sq}, %5C; %5Cdot %5Cxi_{i_{sq}} = e_{i_{sq}}, %5C; u_{sq} = K_p^{i_{sq}} e_{i_{sq}} + K_i^{i_{sq}} %5Cxi_{i_{sq}}" alt="" align="absmiddle" /></p>
<p>При соответствующем выборе коэффициентов ПИ-регуляторов возможна достаточно точная регулировка токов и достижение <img src="http://latex.codecogs.com/gif.latex?i_{sd} %5Capprox i_{sd}^{ref}, i_{sq} %5Capprox i_{sq}^{ref}" alt="" align="absmiddle" />. В таком случае, можно записать сокращенную модель двигателя</p>
<p><img src="http://latex.codecogs.com/gif.latex?%5Cdot %5Cphi_r = -%5Cfrac{R_R}{L_M} %5Cphi_r  + i_{sd}^{ref} R_R, %5C; %5Cdot %5Comega = p%5Cfrac{p %5Cphi_r i_{sq}^{ref} - T_m}{ J }" alt="" align="absmiddle" /></p>
<p>Заметим, что <img src="http://latex.codecogs.com/gif.latex?i_{sd}^{ref}" alt="" align="absmiddle" /> — это уставка тока намагничивания, которая определяется пользователем, обычно в процентах от номинального тока. Значение <img src="http://latex.codecogs.com/gif.latex?i_{sq}^{ref}" alt="" align="absmiddle" /> устанавливается ПИ-регулятором, обеспечивающим стабилизацию скорости <img src="http://latex.codecogs.com/gif.latex?%5Comega" alt="" align="absmiddle" />:</p>
<p><img src="http://latex.codecogs.com/gif.latex?e_%5Comega = %5Comega^{ref} - %5Comega/p , %5C; %5Cdot %5Cxi_%5Comega = e_%5Comega , %5C; i_{sq}^{ref} = K_p^{%5Comega} e_%5Comega + K_i^{%5Comega} %5Cxi_%5Comega" alt="" align="absmiddle" /> (5)</p>
<p>Выходы ПИ-регуляторов (4) — это напряжения статора, которые подаются непосредственно на двигатель после обратного преобразования координат:</p>
<p><img src="http://latex.codecogs.com/gif.latex?%5Cbegin{pmatrix} u_a %5C%5C u_b %5C%5C u_c %5Cend{pmatrix} = %5Cbegin{pmatrix} 1 &amp; 0 %5C%5C -1/2 &amp; %5Csqrt{3}/2 %5C%5C -1/2 &amp; -%5Csqrt{3}/2 %5Cend{pmatrix} %5Cbegin{pmatrix} %5Ccos %5Ctheta_s &amp; -%5Csin %5Ctheta_s %5C%5C  %5Csin %5Ctheta_s &amp; %5Ccos %5Ctheta_s %5Cend{pmatrix} %5Cbegin{pmatrix} u_{sd} %5C%5C u_{sq} %5Cend{pmatrix}" alt="" align="absmiddle" /> (6)</p>
<p><strong>2. Модель в Simulink</strong></p>
<p>Алгоритм векторного управления реализован в виде модели Simulink, показанной на рисунке 1.</p>
<p><img src="https://web.snauka.ru/wp-content/uploads/2014/04/Fig_0.png" alt="" /><br />
Рисунок 1. Модель векторного управления в Simulink.</p>
<p>Для упрощения отладки в модель включена возможность управления в скалярном (U/f) режиме, который является частным случаем векторного, в котором <img src="http://latex.codecogs.com/gif.latex?u_{sd} = 0" alt="" align="absmiddle" />, <img src="http://latex.codecogs.com/gif.latex?u_{sq}" alt="" align="absmiddle" /> — определяет амплитуду выходного напряжения, а <img src="http://latex.codecogs.com/gif.latex?%5Comega_s = const" alt="" align="absmiddle" /> — уставка выходной частоты, <img src="http://latex.codecogs.com/gif.latex?%5Ctheta_s = %5Comega_s t" alt="" align="absmiddle" />.</p>
<p>Входы модели:</p>
<p>theta — угловое положение ротора (электрический угол);<br />
enable — если enable=1, то активизируется векторное управление, если enable=0 — то скалярное;<br />
I_a, I_b — токи фаз A и B с датчиков (в А);<br />
scalar_freq — задание частоты для скалярного режима (в Гц);<br />
omega_ref — задание частоты для векторного режима (в рад/сек);<br />
i_sd_ref — задание тока намагничивания для векторного режима (в А);<br />
scalar_ampl — амплитуда выходного напряжения для скалярного режима (нормированное значение, от 0 до 1).</p>
<p>Выходы модели:</p>
<p>u_abc — выходы напряжения фаз A,B,C (нормированное значение от -1 до 1);<br />
i_s_dq — ток статора во вращающейся синхронной системе координат (в А);<br />
slip — скорость скольжения;<br />
debug — выход для отладочных сигналов.</p>
<p>Модель состоит из нескольких укрупненных подсистем:</p>
<p>Scalar generator — генерация <img src="http://latex.codecogs.com/gif.latex?%5Ctheta_s(t)" alt="" align="absmiddle" /> для скалярного режима;<br />
FOC — реализация регуляторов векторного алгоритма (4) и (5), а также инверсное преобразование (6) для генерации трехфазного напряжения;<br />
Current sensors — преобразование измеренных значений тока к вращающейся системе координат, согласно (1);<br />
Slip calculation — вычисление скорости скольжения согласно (3) и первому уравнению в (2).</p>
<p>Центральной частью реализации является подсистема FOC, показанная на рисунке 2. В данном блоке векторное управление реализуется в точности так, как это было описано в предыдущем разделе.</p>
<p><img src="https://web.snauka.ru/wp-content/uploads/2014/04/Fig_1.png" alt="" /><br />
Рисунок 2. Подсистема FOC, реализующая (4), (5) и (6).</p>
<p>С целью оптимизации, вычисление тригонометрических функций <img src="http://latex.codecogs.com/gif.latex?%5Csin %5Ctheta_s" alt="" align="absmiddle" /> и <img src="http://latex.codecogs.com/gif.latex?%5Ccos %5Ctheta_s" alt="" align="absmiddle" /> сосредоточено в одном месте модели.</p>
<p>Для верификации реализованного алгоритма была создана модель, в которой описанный векторный регулятор соединен с моделью асинхронного электродвигателя из библиотеки SimPowerSystems. Результаты моделирования полностью подтверждают работоспособность алгоритма управления.</p>
<p><strong>3. Аппаратная реализация</strong></p>
<p>В качестве аппаратной платформы выбрана плата STM32F4DISCOVERY, процессор STM32F407 которой позволяет реализовывать сложные численные алгоритмы и содержит всю необходимую периферию. Фрагменты кода для генерации ШИМ и считывания инкрементального энкодера взяты из библиотеки STM32 FOC firwmare libraries v2.0 [3].</p>
<p>Для силового модуля был использован частотный преобразователь китайского производства. Он состоит из платы управления и платы ключей, соединяемых проводом-шлейфом. Плата STM32F4DISCOVERY была подключена вместо штатной платы управления.</p>
<p>В качестве датчиков тока использовались LEM HX03-P, сигнал с которых нормировался к интервалу 0 — 3 В с помощью операционного усилителя. Компенсация дрейфа нуля датчиков в микроконтроллере реализована с помощью скользящего среднего с интервалом 1 с для динамической калибровки нуля.</p>
<p>Задание скорости осуществляется с помощью переменного резистора, подключенного к микроконтроллеру. Для отображения числовой информации к микроконтроллеру также был подключен ЖКИ индикатор 20&#215;4 типа AV2040.</p>
<p>Схема задействованных выводов микроконтроллера и их подключение представлена на рисунке 3.</p>
<p><img src="https://web.snauka.ru/wp-content/uploads/2014/04/Fig_2.png" alt="" /><br />
Рисунок 3. Подключение микроконтроллера.</p>
<p>Модель Simuink алгоритма векторного управления была транслирована в код на языке Си с помощью встроенного в MATALB средства Embedded Coder [4]. В качестве стратегии интегрирования выбрана одношаговая схема (ode1). Вся арифметика алгоритма реализована с плавающей точкой одинарной точности (float), которую аппаратно поддерживает микроконтроллер STM32F4. Ядро процессора работает на частоте 168 МГц. Время расчета одного цикла алгоритма — 150 мкс. Частота дискретизации алгоритма была выбрана в 500 мкс.</p>
<p>В качестве компилятора исходного кода использовался KEIL uVision 4.70. Откомпилированная программа занимает 25 кБайт памяти.</p>
<p>Для отладки внутренние сигналы алгоритма управления выводились на два встроенных в микроконтроллер ЦАП.</p>
<p><img src="https://web.snauka.ru/wp-content/uploads/2014/04/Fig_3.png" alt="" /><br />
Рисунок 4. Общий вид макета векторного управления электродвигателем.</p>
<p>Для испытаний был выбран двигатель DRS71S4 производства SEW Eurodrive, для которого известны параметры <img src="http://latex.codecogs.com/gif.latex?R_R = 11.6" alt="" align="absmiddle" /> Ом, <img src="http://latex.codecogs.com/gif.latex?L_M = 987" alt="" align="absmiddle" /> мкГн. Для тестирования механической нагрузки, шкив двигателя был соединен с управляемым серводвигателем, создающим постоянный тормозящий момент 2 Нм. Отработка профиля скорости показана на рисунке 5.</p>
<p><img src="https://web.snauka.ru/wp-content/uploads/2014/04/Fig_4.png" alt="" /><br />
Рисунок 5. Уставка <img src="http://latex.codecogs.com/gif.latex?%5Comega^{ref}" alt="" align="absmiddle" /> и действительное значение скорости <img src="http://latex.codecogs.com/gif.latex?%5Comega" alt="" align="absmiddle" />.</p>
<p><strong>Заключение</strong></p>
<p>В результате испытаний было установлено, что алгоритм векторного управления может быть реализован с помощью автоматической генерации кода из модели в Simulink. Возможностей и быстродействия микроконтроллера STM32F4 достаточно для выполнения алгоритма векторного управления с вычислениями с плавающей точкой. Наличие встроенного в микроконтроллер АЦП, а также интерфейса с энкодером позволяет создать компактное и дешевое устройство для промышленной реализации частотного преобразователя, а также в исследовательских целях для разработки новых алгоритмов управления.</p>
<p>В заключение, стоит сказать, что все представленные модели, а также проект для компилятора Keil можно скачать в архиве по ссылкам<br />
<a href="https://sites.google.com/site/akpc806a/VFD_Models_post.rar">https://sites.google.com/site/akpc806a/VFD_Models_post.rar</a><br />
<a href="https://sites.google.com/site/akpc806a/Project_STM32F4_FOC_Post.rar">https://sites.google.com/site/akpc806a/Project_STM32F4_FOC_Post.rar</a></p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2014/04/33144/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Полумарковская модель для оценки показателей надежности источника бесперебойного питания дата-центра</title>
		<link>https://web.snauka.ru/issues/2015/08/57039</link>
		<comments>https://web.snauka.ru/issues/2015/08/57039#comments</comments>
		<pubDate>Sun, 30 Aug 2015 19:37:23 +0000</pubDate>
		<dc:creator>Борисевич Алексей Валерьевич</dc:creator>
				<category><![CDATA[01.00.00 ФИЗИКО-МАТЕМАТИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[источник бесперебойного питания]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/?p=57039</guid>
		<description><![CDATA[Введение Дата-центры (центры обработки данных, ЦОД) играют ключевую роль в инфраструктуре глобальной сети Интернет, осуществляя хостинг, обработку и хранение данных веб-сайтов, а также предоставляя облачные сервисы. Дата-центры давно стали системами критического применения. Отказ даже одного сервера вследствие проблем с электроснабжением с частичной потерей данных в большинстве случаев приводит к тяжелым финансовым последствиям как для пользователей, [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Введение</strong></p>
<p>Дата-центры (центры обработки данных, ЦОД) играют ключевую роль в инфраструктуре глобальной сети Интернет, осуществляя хостинг, обработку и хранение данных веб-сайтов, а также предоставляя облачные сервисы. Дата-центры давно стали системами критического применения. Отказ даже одного сервера вследствие проблем с электроснабжением с частичной потерей данных в большинстве случаев приводит к тяжелым финансовым последствиям как для пользователей, так и для владельцев дата-центра.</p>
<p>Современные дата-центры крупных интернет-компаний являются по сути промышленными объектами, которые занимают большие площади и требуют отдельного электроснабжения. Так например один из небольших дата-центров компании Facebook занимает 2300 м2 и с суммарным потреблением 5 МВт [1].</p>
<p>В этой связи, вопросы проектирования и моделирования резервных источников бесперебойного питания (UPS, ИБП) дата-центров как объектов критического применения являются актуальными и требуют всестороннего исследования.</p>
<p>Простейшим подходом к моделированию динамики систем с резервированием является применение цепей Маркова [2]. Однако, средняя наработка до отказа для систем бесперебойного питания зависит от состояния заряда батареи на момент отключения электрической сети. Естественным формализмом моделирования подобных систем является полумарковский процесс [2]. Вопросам моделирования восстанавливаемых систем с помощью полумарковских процессов посвящены монографии отечественных [3] и зарубежных ученых [4].</p>
<p><strong>Полумарковская модель</strong></p>
<p>Пусть отказ и восстановление электропитания подчиняются классическими требованиями для марковских процессов непрерывного времени: переходы между состояниями статистически независимы и подчинены экспоненциальному распределению с интенсивностью отказов <img src="http://latex.codecogs.com/gif.latex? %5Clambda" alt="" align="absmiddle" /> и восстановления <img src="http://latex.codecogs.com/gif.latex? %5Cmu" alt="" align="absmiddle" />, соответственно. Таким образом, имеем два марковских состояния 1 – присутствие напряжения в сети, 2 – отказ электропитания с активацией бесперебойного источника. Кроме того, существует еще одно состояние 3, в которое переходит система при полном разряде батареи – полный отказ электроснабжения, в том числе резервного. Очевидно, что переход из 2 в 3 (как и из 2 в 1) не подчиняется условиям классического марковского процесса и зависит от состояния заряда батареи (показаны на рисунке 1 серым цветом). Пусть величина <img src="http://latex.codecogs.com/gif.latex? T" alt="" align="absmiddle" /> – время работы системы от аккумулятора. Переход из 2 в 3 происходит если за время <img src="http://latex.codecogs.com/gif.latex? t %5Cge T" alt="" align="absmiddle" /> электроснабжение не восстановлено. Переход из 3 в 1 происходит в соответствии с экспоненциальным распределением с интенсивностью восстановления <img src="http://latex.codecogs.com/gif.latex? %5Cmu" alt="" align="absmiddle" />.</p>
<p style="text-align: center;"><a href="https://web.snauka.ru/issues/2015/08/57039/fig_0-2" rel="attachment wp-att-57054"><img class="alignnone size-full wp-image-57054" src="https://web.snauka.ru/wp-content/uploads/2015/08/Fig_0.png" alt="" width="214" height="256" /></a><br />
Рисунок 1. Диаграмма состояний полумарковской модели ИБП.</p>
<p>Отсюда имеем следующую матрицу переходных вероятностей</p>
<p><img src="http://latex.codecogs.com/gif.latex? K(t) = %5Cbegin{pmatrix} 0 &amp;&amp; K_{12}(t) &amp;&amp; 0%5C%5C K_{21}(t) &amp;&amp; 0 &amp;&amp; K_{23}(t) %5C%5C K_{31}(t) &amp;&amp; 0 &amp;&amp; 0%5Cend{pmatrix}" alt="" align="absmiddle" /></p>
<p>где</p>
<p><img src="http://latex.codecogs.com/gif.latex? K_{12}(t) = 1 - e^{-%5Clambda t}" alt="" align="absmiddle" /> – вероятность того, что электроснабжение откажет до или в момент времени <img src="http://latex.codecogs.com/gif.latex? t" alt="" align="absmiddle" />;</p>
<p><img src="http://latex.codecogs.com/gif.latex? K_{21}(t) = %5Cint_0^t [1 - h(%5Ctau - T)] %5Cmu e^{-%5Cmu %5Ctau} d %5Ctau = 1 - e^{-%5Cmu t} - (e^{-%5Cmu T} - e^{-%5Cmu t}) h (t - T)" alt="" align="absmiddle" /> – вероятность того, что электроснабжение будет восстановлено до момента времени <img src="http://latex.codecogs.com/gif.latex? t %5Cle T" alt="" align="absmiddle" />;</p>
<p><img src="http://latex.codecogs.com/gif.latex? K_{23}(t) = %5Cint_t^%5Cinfty h(%5Ctau - T) %5Cmu e^{-%5Cmu %5Ctau} d %5Ctau = e^{-%5Cmu T} h (t - T)" alt="" align="absmiddle" /> – вероятность того, что электроснабжение не будет восстановлено до момента времени <img src="http://latex.codecogs.com/gif.latex? t %5Cge T" alt="" align="absmiddle" />;</p>
<p><img src="http://latex.codecogs.com/gif.latex? K_{31}(t) = 1 - e^{-%5Cmu t}" alt="" align="absmiddle" /> – вероятность того, что электроснабжение будет восстановлено до или в момент времени <img src="http://latex.codecogs.com/gif.latex? t" alt="" align="absmiddle" />;</p>
<p><img src="http://latex.codecogs.com/gif.latex? h(t)" alt="" align="absmiddle" /> – единичная ступенчатая функция.</p>
<p>Интересующий параметр – стационарный коэффициент готовности, который выражается через финальную вероятность нахождения в состоянии 3:</p>
<p><img src="http://latex.codecogs.com/gif.latex? K_%5CGamma = 1 - %5Clim_{t %5Cto %5Cinfty} p_3(t)" alt="" align="absmiddle" /></p>
<p>Для вычисления <img src="http://latex.codecogs.com/gif.latex? K_%5CGamma" alt="" align="absmiddle" /> запишем уравнения марковского восстановления [4]:</p>
<p><img src="http://latex.codecogs.com/gif.latex? P_{ij}(t) = %5CPsi_i(t) %5Cdelta_{ij} + %5Csum_{k = 1}^n %5Cint_0^t P_{ij}(t - %5Ctau) %5Cdot K_{ik} (%5Ctau) d %5Ctau" alt="" align="absmiddle" />,   (1)</p>
<p>где <img src="http://latex.codecogs.com/gif.latex? n=3" alt="" align="absmiddle" />, <img src="http://latex.codecogs.com/gif.latex? P_{ij}(t)" alt="" align="absmiddle" /> – вероятность нахождения в состоянии <img src="http://latex.codecogs.com/gif.latex? i" alt="" align="absmiddle" /> после состояния <img src="http://latex.codecogs.com/gif.latex? j" alt="" align="absmiddle" /> в момент времени <img src="http://latex.codecogs.com/gif.latex? t" alt="" align="absmiddle" />, <img src="http://latex.codecogs.com/gif.latex? %5Cdelta_{ij}" alt="" align="absmiddle" /> – символ Кронекера, <img src="http://latex.codecogs.com/gif.latex? %5Cdot K_{ik}(t) = d K_{ik}/dt" alt="" align="absmiddle" />, <img src="http://latex.codecogs.com/gif.latex? %5CPsi_i(t)" alt="" align="absmiddle" /> – вероятность того, что система не покинет состояния <img src="http://latex.codecogs.com/gif.latex? i" alt="" align="absmiddle" /> до момента времени <img src="http://latex.codecogs.com/gif.latex? t" alt="" align="absmiddle" />:</p>
<p><img src="http://latex.codecogs.com/gif.latex? %5CPsi_i(t) = 1 - %5Csum_{j = 1}^n K_{ij}(t)" alt="" align="absmiddle" />.</p>
<p>Первое слагаемое в (1) удобно представить в виде диагональной матрицы <img src="http://latex.codecogs.com/gif.latex? E(t)" alt="" align="absmiddle" /> с элементами <img src="http://latex.codecogs.com/gif.latex? E_{ii}(t) = %5CPsi_i(t)" alt="" align="absmiddle" />:</p>
<p><img src="http://latex.codecogs.com/gif.latex? P_{ij}(t) = E_{ij}(t) + %5Csum_{k = 1}^n %5Cint_0^t P_{kj}(t - %5Ctau) %5Cdot K_{ik} (%5Ctau) d %5Ctau" alt="" align="absmiddle" />.</p>
<p>Далее уравнение (1) может быть записано в операторной форме, если осуществить преобразование Лапласа для всех элементов матриц:</p>
<p><img src="http://latex.codecogs.com/gif.latex? P_{ij}^*(s) = %5Cint_0^%5Cinfty e^{-st} P_{ij}(t) dt" alt="" align="absmiddle" />,<br />
<img src="http://latex.codecogs.com/gif.latex? E_{ii}^*(s) = %5Cint_0^%5Cinfty e^{-st} %5Cleft [ 1 - %5Csum_{j = 1}^n K_{ij}(t) %5Cright ] dt" alt="" align="absmiddle" />,<br />
<img src="http://latex.codecogs.com/gif.latex? %5Cdot K_{ij}^*(s) = %5Cint_0^%5Cinfty e^{-st} %5Cdot K_{ij}(t) dt = s %5Cint_0^%5Cinfty e^{-st} K_{ij}(t) dt" alt="" align="absmiddle" />.</p>
<p>Если также учесть, что второе слагаемое в (1) – свертка, которая есть произведение операторных образов функций <img src="http://latex.codecogs.com/gif.latex? P^*" alt="" align="absmiddle" /> и <img src="http://latex.codecogs.com/gif.latex? %5Cdot K^*" alt="" align="absmiddle" />, то в матричном операторном виде (1) записывается как:</p>
<p><img src="http://latex.codecogs.com/gif.latex? P^*(s) = E^*(s) + P^*(s) %5Ccdot %5Cdot K^*(s)" alt="" align="absmiddle" />.</p>
<p>Отсюда</p>
<p><img src="http://latex.codecogs.com/gif.latex? P^*(s) = [I - %5Cdot K^*(s)]^{-1} E^*(s)" alt="" align="absmiddle" />,</p>
<p>где <img src="http://latex.codecogs.com/gif.latex? I" alt="" align="absmiddle" /> – единичная диагональная матрица.</p>
<p>Согласно предельной теореме для преобразования Лапласа, получаем матрицу установившихся вероятностей переходов:</p>
<p><img src="http://latex.codecogs.com/gif.latex? P(%5Cinfty) = %5Clim_{t %5Cto %5Cinfty} P(t) = %5Clim_{s %5Cto 0} s P^*(s)" alt="" align="absmiddle" />.</p>
<p>Кроме того, вследствие эргодичности полумарковского процесса, все элементы столбцов матрицы <img src="http://latex.codecogs.com/gif.latex? P(%5Cinfty)" alt="" align="absmiddle" /> окажутся равными между собой, т.е. мы можем взять любую строку <img src="http://latex.codecogs.com/gif.latex? P(%5Cinfty)" alt="" align="absmiddle" /> в качестве финальных вероятностей, например первую</p>
<p><img src="http://latex.codecogs.com/gif.latex? K_%5CGamma(t) = 1 - P_{13}(t)" alt="" align="absmiddle" />.</p>
<p>Непосредственные вычисления дают:</p>
<p><img src="http://latex.codecogs.com/gif.latex? %5Cdot K_{12}^*(s) = %5Cfrac{%5Clambda}{%5Clambda + s} ,~ %5Cdot K_{21}^*(s) = %5Cmu %5Cfrac{ 1 - e^{- T (%5Cmu + s)} }{%5Cmu + s}" alt="" align="absmiddle" />,<br />
<img src="http://latex.codecogs.com/gif.latex? %5Cdot K_{23}^*(s) = e^{- T (%5Cmu + s)} ,~ %5Cdot K_{31}^*(s) = %5Cfrac{%5Cmu}{%5Cmu + s}" alt="" align="absmiddle" />,<br />
<img src="http://latex.codecogs.com/gif.latex? E_{11}^*(s) = %5Cfrac{1}{%5Clambda + s} ,~ E_{22}^*(s) = %5Cfrac{ 1 - e^{- T (%5Cmu + s)} }{%5Cmu + s} , ~ E_{33}^*(s) = %5Cfrac{1}{%5Cmu + s}" alt="" align="absmiddle" />.</p>
<p>В силу относительной простоты выражений для <img src="http://latex.codecogs.com/gif.latex? %5Cdot K^*(s)" alt="" align="absmiddle" />, инверсия матрицы <img src="http://latex.codecogs.com/gif.latex? I - %5Cdot K^*(s)" alt="" align="absmiddle" /> может быть выполнена аналитически и выражения для <img src="http://latex.codecogs.com/gif.latex? P(%5Cinfty)" alt="" align="absmiddle" /> могут быть получены в явном виде. В настоящей работе был использован пакет символьных вычислений Symbolic Toolbox для системы Matlab в качестве инструмента автоматических преобразований формул.</p>
<p>Искомая вероятность для определения коэффициента готовности определятеся как:</p>
<p><img src="http://latex.codecogs.com/gif.latex? P_{13}^*(s) = %5Cfrac{%5Clambda}{s^2 + (%5Clambda + %5Cmu) s} e^{-T (%5Cmu + s)}" alt="" align="absmiddle" />.</p>
<p>Обратное преобразование Лапласа дает вероятность пребывания в аварийном состоянии <img src="http://latex.codecogs.com/gif.latex? P_{13}(t)" alt="" align="absmiddle" /> в явном виде:</p>
<p><img src="http://latex.codecogs.com/gif.latex? P_{13}(t) = %5Cfrac{%5Clambda}{%5Clambda + %5Cmu} %5Cleft [ e^{-T %5Cmu} - e^{-t (%5Clambda + %5Cmu) + T %5Clambda } %5Cright ] %5Ccdot h(t - T)" alt="" align="absmiddle" />.</p>
<p>Отсюда непосредственно получается финальная вероятность и стационарный коэффициент готовности</p>
<p><img src="http://latex.codecogs.com/gif.latex? %5Clim_{t %5Cto %5Cinfty} P_{13}(t) = %5Cfrac{%5Clambda}{%5Clambda + %5Cmu} e^{-T %5Cmu}" alt="" align="absmiddle" />,<br />
<img src="http://latex.codecogs.com/gif.latex?K_%5CGamma = 1 - %5Cfrac{%5Clambda}{%5Clambda + %5Cmu} e^{-T %5Cmu}" alt="" align="absmiddle" />.</p>
<p>Очевидно, что по заданному коэффициенту готовности <img src="http://latex.codecogs.com/gif.latex? K_%5CGamma" alt="" align="absmiddle" /> можно определить требуемую емкость батареи <img src="http://latex.codecogs.com/gif.latex? T" alt="" align="absmiddle" />, что является основной задачей выбора ИБП для ЦОД:</p>
<p><img src="http://latex.codecogs.com/gif.latex? T = -%5Cfrac{1}{%5Cmu} %5Cln %5Cleft ( %5Clambda^{-1} (1 - K_%5CGamma) (%5Clambda + %5Cmu) %5Cright )" alt="" align="absmiddle" />.</p>
<p>Из общеизвестных положений теории надежности [2], коэффициент готовности <img src="http://latex.codecogs.com/gif.latex? K_%5CGamma" alt="" align="absmiddle" /> определяется как отношение наработки на отказ <img src="http://latex.codecogs.com/gif.latex? T_O" alt="" align="absmiddle" /> к общему периоду работы (наработки на отказ <img src="http://latex.codecogs.com/gif.latex? T_O" alt="" align="absmiddle" /> и времени восстановления <img src="http://latex.codecogs.com/gif.latex? T_B" alt="" align="absmiddle" />):</p>
<p><img src="http://latex.codecogs.com/gif.latex? K_%5CGamma = %5Cfrac{T_O}{T_O + T_B}" alt="" align="absmiddle" />.</p>
<p>Среднее время восстановления для экспоненциального распределения равно <img src="http://latex.codecogs.com/gif.latex? T_B = 1/%5Cmu" alt="" align="absmiddle" />, отсюда можно вычислить среднюю наработку на отказ:</p>
<p><img src="http://latex.codecogs.com/gif.latex? T_O = %5Cfrac{K_%5CGamma T_B}{1 - K_%5CGamma} = %5Cfrac{e^{T %5Cmu} - 1}{%5Cmu} + %5Cfrac{e^{T %5Cmu}}{%5Clambda}" alt="" align="absmiddle" />.</p>
<p><strong>Имитационное моделирование</strong></p>
<p>Для верификации аналитической модели было проведено имитационное моделирование в среде Matlab.</p>
<p>Рассмотрим пример, приближенный к реальности, на основе ЦОД с полной нагрузкой 100 кВт и соответствующего ИБП типа Symmetra PX 100KW, обеспечивающего <img src="http://latex.codecogs.com/gif.latex? T = 7" alt="" align="absmiddle" /> минут непрерывной работы системы от аккумуляторов. Под восстановлением работоспособности можно понимать время запуска и выхода на режим аварийных генераторов, взяв вполне реалистично <img src="http://latex.codecogs.com/gif.latex? %5Cmu^{-1} = 2" alt="" align="absmiddle" /> минуты. Внеплановое отключение электричества в среднем происходит один раз в год, что дает среднее время между отказами <img src="http://latex.codecogs.com/gif.latex? %5Clambda^{-1} = 525.6 %5Ccdot 10^3" alt="" align="absmiddle" /> минут. Для большей репрезентативности моделирования, представим гипотетическую ситуацию когда питание отключается в среднем каждые <img src="http://latex.codecogs.com/gif.latex? %5Clambda^{-1} = 10" alt="" align="absmiddle" /> минут (что на 5 порядков больше реальной интенсивности отказов).</p>
<p>Моделирование полумарковского процесса осуществлялось до достижения 1000 переходов между состояниями. Заряд батареи варьировался в пределах <img src="http://latex.codecogs.com/gif.latex? T = [5, 8]" alt="" align="absmiddle" /> минут с шагом 0.1. Каждый численный эксперимент для конкретного <img src="http://latex.codecogs.com/gif.latex? T" alt="" align="absmiddle" /> был проведен 500 раз с целью накопления необходимой статистики для оценки среднего и вычисления доверительных интервалов (с уровнем 0.95).</p>
<p>Результаты моделирования показаны на рисунке 2.</p>
<p style="text-align: center;"><a href="https://web.snauka.ru/issues/2015/08/57039/fig_1-2" rel="attachment wp-att-57053"><img class="alignnone size-full wp-image-57053" src="https://web.snauka.ru/wp-content/uploads/2015/08/Fig_1.png" alt="" width="561" height="420" /></a><br />
Рисунок 2. Результаты имитационного моделирования и аналитическая зависимость <img class="aligncenter" src="http://latex.codecogs.com/gif.latex? T(K_%5CGamma)" alt="" align="absmiddle" /></p>
<p>Как следует из представленных результатов, разработанная аналитическая модель для оценки <img src="http://latex.codecogs.com/gif.latex? K_%5CGamma" alt="" align="absmiddle" /> полностью согласуется с данными имитационного моделирования.</p>
<p>Исходный код имитационной модели вместе со всеми необходимыми функциями для Matlab можно скачать по ссылке:<br />
<a title="https://sites.google.com/site/akpc806a/SemiMarkov_ups.rar" href="https://sites.google.com/site/akpc806a/SemiMarkov_ups.rar">https://sites.google.com/site/akpc806a/SemiMarkov_ups.rar</a></p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2015/08/57039/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
