Pull to refresh
72
0
Юрий Тараненко @Scorobey

Разработчик учебных программ

Send message

Определение плотности газа по результатам измерения давления и температуры датчиками Arduino

Reading time11 min
Views97K

Введение


Задача измерения параметров газовой смеси широко распространена в промышленности и торговле. Проблема получения достоверной информации при измерении параметров состояния газовой среды и её характеристик с помощью технических средств разрешается принятыми в стандартах методиками выполнения измерений (МВИ), например, при измерении расхода и количества газов с помощью стандартных сужающих устройств [1], или с помощью турбинных, ротационных и вихревых расходомеров и счётчиков [2].

Периодический газовый анализ позволяет установить соответствие между реальной анализируемой смесью и её моделью, по которой в МВИ учитываются физико-химические параметры газа: состав газовой смеси и плотность газа при стандартных условиях.
Также в МВИ учитываются теплофизические характеристики газа: плотность при рабочих условиях (давление и температура газа, при которых выполняют измерение его расхода или объёма), вязкость, фактор и коэффициент сжимаемости.
Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments6

Измерение уровня жидкости в топливном баке ракеты

Reading time6 min
Views13K


Введение


Топливо из резервуара окислителя и резервуара горючего поступает в камеру сгорания ракетного двигателя. Синхронная подача топлива в заданной пропорции обеспечивает эффективную работу ракетного двигателя.

Эффективная работа зависит от точного измерения уровня топлива в баке. Для этой цели топливный бак имеет систему управления топливом. Система представляет собой вертикальный измерительный канал с датчиками внутри канала для фиксации свободного уровня жидкости в канале [1]:


Рисунок. Схема топливного бака. 1- резервуар, 2- топливо, 3- измерительный канал, Po — давление газа, — уровень жидкости в канале, H — уровень жидкости в баке, r,x — координатные оси.

Вертикальный канал и топливный бак являются сообщающими сосудами. При снижении уровня топлива в баке, уменьшается и уровень топлива в измерительном канале. Когда уровень топлива в канале достигает датчика, происходит активация датчика. Сигнал поступает в систему управления топливом.

В результате расхода топлива его уровень в баке меняется. Таким образом, уровень топлива в канале должен определять уровень топлива в баке. Проблемы две. Первая методическая состоит в том, что свободная поверхность топлива в баке не совпадает с поверхностью топлива в канале.

Вторая проблема в колебаниях уровня при изменении ускорений ракеты в полёте, что приводит к ложным срабатываниям датчиков и, как следствие, к погрешностям измерения.

Ошибка измерения уровня топлива приводит к неэффективному расходу топлива. В результате ракетный двигатель работает не оптимально, а в танках может оставаться «лишнее» количество топлива.

Далее рассмотрим, как можно определить методическую погрешность от первой проблемы и уменьшить погрешность измерения от второй.
Читать дальше →
Total votes 17: ↑13 and ↓4+9
Comments6

Пространство состояний в задачах проектирования систем оптимального управления

Reading time6 min
Views21K

Введение


Исследование системы управления во временной области с помощью переменных состояния широко используется в последнее время благодаря простоте проведения анализа.

Состоянию системы соответствует точка в определённом евклидовом пространстве, а поведение системы во времени характеризуется траекторией, описываемой этой точкой.

При этом математический аппарат включает готовые решения по аналоговому и дискретному LQR и DLQR контролерам, фильтра Калмана, и всё это с применением матриц и векторов, что и позволяет записывать уравнения системы управления в обобщённом виде, получая дополнительную информацию при их решении.

Целью данной публикации является рассмотрение решения задач проектирования систем оптимального управления методом описания пространства состояний с использованием программных средств Python.
Читать дальше →
Total votes 9: ↑7 and ↓2+5
Comments1

Моделирование системы управления самолётом

Reading time3 min
Views8.9K


Здравствуйте!


В предыдущей статье [1] мы рассмотрели некоторые особенности применения библиотеки Python Control Systems Library для проектирования систем управления. Однако, в последнее время широко используется проектирование систем управления с помощью переменных состояния, что значительно упрощает расчёты.

Поэтому, в данной статье на примере системы управления из публикации [2] мы рассмотрим упрощённую модель автопилота с использованием переменных состояния и функций tf, ss библиотеки Control.

Физические основы работы автопилота и системы уравнений полёта


Уравнения, управляющие движением летательного аппарата, представляют собой очень сложный набор из шести нелинейных связанных дифференциальных уравнений. Однако, при определенных предположениях, они могут быть разделены и линеаризованы в уравнения продольных и боковых перемещений. Полёт самолета определяется продольной динамикой.

Рассмотрим работу автопилота, который контролирует высоту воздушного судна. Основные координатные оси и силы, действующие на самолет, показаны на рисунке, приведенном ниже.


Читать дальше →
Total votes 13: ↑7 and ↓6+1
Comments7

Использование библиотеки Python Control Systems Library для проектирования систем автоматического управления

Reading time4 min
Views20K

Здравствуйте!


С появлением библиотеки Python Control Systems Library [1], решение основных задач проектирования систем автоматического управления (САУ) средствами Python значительно упростилось и теперь практически идентично решению таких задач в математическом пакете Matlab.

Однако, проектирование систем управления с применение указанной библиотеки имеют ряд существенных особенностей, которых нет в документации [1], поэтому особенностям использования Python Control Systems Librar и посвящена данная публикация.

Начнём с инсталляции библиотеки. В документации говориться о загрузке двух модулей slycot и control, на самом деле для нормальной работы нужна ещё библиотека numpy+mkl, остальные устанавливаются автоматически при загрузке control.

Указанные модули можно скачать с сайта [2]. В документации так же сказано, что для интерфейса по умолчанию нужно просто импортировать контрольный пакет следующим образом: import control.

Однако, при таком импортировании библиотека не работает ни одном из примеров. Для импортирования библиотеки необходимо применить from control import* как и для импортировании окружения matlab: from control. matlab import *[1].

Рассматривать специализированную библиотеку Python Control Systems Library можно только применительно к задачам проектирования систем автоматического управления, поэтому мы так и поступим.
Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments0

Контроллер Arduino с датчиком температуры и Python интерфейсом для динамической идентификации объектов управления

Reading time7 min
Views14K

Введение


Возможность получения действительной информации о состоянии реальных объектов в реальном масштабе времени позволяет обоснованно приступать к следующему этапу анализа и синтеза систем – математическому моделированию динамических характеристик объектов управления.

В данной публикации рассматривается доступный в реализации проект системы измерения технологического параметра – температуры, с дистанционной передачей сигнала в вычислительную среду для дальнейшей обработки измерительной информации.

В основу данного проекта положены аппаратные средства для прототипирования на базе платформы Arduino со множеством совместимых с ними модулей и свободных программных средств Python, образующих интегрированную среду разработки Arduino Software.
Читать дальше →
Total votes 15: ↑12 and ↓3+9
Comments29

Математическая модель тепловыделяющего элемента ядерного реактора

Reading time10 min
Views21K


Введение


Тепловыделяющий элемент (ТВЭЛ) — главный конструктивный элемент активной зоны гетерогенного ядерного реактора, содержащий ядерное топливо [1].

В ТВЭЛах происходит деление тяжелых ядер урана 235 или плутония 239, сопровождающееся выделением тепловой энергии, которая затем передаётся теплоносителю.

ТВЭЛ должен обеспечить отвод тепла от топлива к теплоносителю и препятствовать распространению радиоактивных продуктов из топлива в теплоноситель.

Поэтому расчёт температурных полей в ТВЭЛах является важной задачей проектирования ядерного реактора.
Читать дальше →
Total votes 24: ↑19 and ↓5+14
Comments5

Подвесные топливные баки для самолётов

Reading time6 min
Views23K


Введение


Часто, для обеспечения большой дальности полета, к самолету снаружи подвешивают дополнительные баки. Подвесные баки бывают сбрасываемые и не сбрасываемые.

Сбрасываемые подвесные баки после расходования из них топлива сбрасываются так же, как и авиационные бомбы с замков бомбодержателей, на которые они подвешиваются.

Питание из подвесных баков осуществляется включением трубопроводов от этих баков в общую систему питания двигателя топливом через запорный или многоходовой кран.

Интересным фактом является то, что во вьетнамских джунглях после войны стали находить много сброшенных американскими самолётами топливных баков.

Крестьяне распиливают баки вдоль и получаются две лодки. Такая лодка не ржавеет, мало весит, а благодаря аэродинамической форме на ней очень легко грести.


Читать дальше →
Total votes 31: ↑27 and ↓4+23
Comments12

Беспоисковый метод расчета настроек регуляторов средствами Python

Reading time13 min
Views12K


Введение


Беспоисковый метод — простой, надёжный и универсальный метод расчёта настроек субоптимальных регуляторов, включая и такие алгоритмы как ПД, ПДД и ПИДД [1].

Однако, приведенная в [1] программная реализация данного метода имеет ряд недостатков, что затрудняет его применение в микропроцессорных регулирующих приборах.

Среди недостатков можно выделить такие:

Неоднозначность в определении диапазона рабочих частот, которая, даже при наличии сглаживающего звена в структуре передаточной функции регулятора, может привести к отрицательным значениям настроек;

В работе [1] для реализации беспоискового метода расчёта регуляторов рассматривается передаточная функция объекта вида:



что при второй степени оператора p в знаменателе ограничивает точность динамической идентификации объекта управления [2].

Постановка задачи:


1. Средствами высокоуровневого языка программирования Python определять по КЧХ субоптимального регулятора максимальное и минимальное значение частот так, чтобы, при максимуме частоты, мнимая и действительная часть передаточной функции были положительными;

2. Средствами библиотеки scipy. optimize высокоуровневого языка программирования Python найти по передаточной функции субоптимального регулятора настройки регулятора, а средствами библиотеки scipy. integrate получить переходные характеристики замкнутой системы регулирования;

3. Для более точной идентификации объекта, использовать в расчётах передаточную функцию, имеющую третью степень оператора p в знаменателе;



4. Сравнить переходные характеристики замкнутой системы, полученные поисковым [3] и беспоисковым методами;

5. Построить с использованием беспоискового метода переходную характеристику для ПИДД алгоритма, сравнить её по интегральному квадратичному критерию качества регулирования с ПИД алгоритмом.
Читать дальше →
Total votes 10: ↑8 and ↓2+6
Comments7

Микроспутники для дистанционного зондирования Земли

Reading time4 min
Views6.8K


В настоящее время большой интерес проявляется к созданию и использованию малых космических аппаратов — адекватной замене больших космических аппаратов.

Это объясняется многими преимуществами микроспутников (МС) [1]:

  • Сравнительно низкая цена, а также небольшое время, необходимое для разработки и изготовления микроспутника.
  • Низкая цена запуска космического аппарата. Ракета-носитель, даже легкого класса, способна вывести на орбиту несколько микроспутников.
  • Для запуска применяются конверсионные баллистические ракеты, которые, в соответствии с договорами, уничтожаются путем запуска в космос с полезной нагрузкой.
  • Легкие космические аппараты могут выводиться в качестве попутного груза на ракетах-носителях (РН) или в транспортных кораблях, доставляющих грузы на долговременные орбитальные станции.
  • Снижение риска больших финансовых потерь при гибели микроспутника в случае аварии РН на старте или при неудачном выведении его на рабочую орбиту.
Читать дальше →
Total votes 7: ↑6 and ↓1+5
Comments5

Оптимизация настроек ПИД регулятора по интегральному критерию качества регулирования

Reading time12 min
Views12K


Постановка задачи оценки качества регулирования


Интегральные оценки качества регулирования характеризует суммарное отклонение реального переходного процесса в системе от идеализированного переходного процесса.

В качестве идеализированного процесса обычно принимается ступенчатый (скачкообразный) переходный процесс или экспоненциальный процесс с заданными параметрами экспоненты.

До настоящего времени остаётся не выясненным, какой из интегральных критериев линейный или квадратичный выбрать для оптимизации настроек регуляторов.

В данной публикации определение оптимальных настроек регулятора осуществляется на основе критерия оптимальности в виде суммы линейного и квадратичного интегральных показателей качества регулирования.
Читать дальше →
Total votes 22: ↑16 and ↓6+10
Comments2

Бронебойные снаряды с прямоточным воздушно- реактивным двигателем

Reading time7 min
Views19K


Введение


В настоящее время в качестве бронебойных боеприпасов широкое применение получили бронебойные оперенные подкалиберные снаряды (БОПС), обладающие высокой проникающей способностью.

Это достигается за счет высокой начальной скорости боеприпаса (1650 – 1840 м/с) и малого поперечного сечения (d = 20-30 мм). Для компенсации силы сопротивления воздуха применяют придание боеприпасу реактивной тяги.

Прямоточный воздушно-реактивный двигатель (ПВРД), прост по конструкции, имеет высокий коэффициент полезного действия при больших числах Маха компактен, поскольку не требует наличие окислителя в составе топлива, так как использует кислород окружающей среды [1].
Читать дальше →
Total votes 44: ↑37 and ↓7+30
Comments13

Оптимизация многоступенчатых компрессоров по энергозатратам на адиабатическое сжатие газа

Reading time7 min
Views7.3K


Введение


В 1934 году швейцарская фирма «БроунБовери» (Brown-Boveri) на основе теоретических работ Стодолы впервые создала многоступенчатый осевой компрессор с КПД 84 %. Вскоре, осевые компрессоры стали успешно использоваться этой фирмой для газотурбинных установок.

Многоступенчатые осевые компрессоры [1]


Принципиальная схема осевого многоступенчатого компрессора приведена на рисунке:



Осевой многоступенчатый компрессор состоит из ряда последовательно расположенных направляющих лопаток 6, закрепленных в корпусе 7, и рабочих лопаток 5, расположенных на барабанном роторе 11. По мере сжатия, объем воздуха уменьшается и, следовательно, уменьшаются высоты лопаток.

Вращаясь, рабочие лопатки ротора сообщают газу кинетическую энергию. При движении по расширяющимся каналам рабочих лопаток относительная скорость воздуха падает, происходит уменьшение кинетической энергии потока с соответствующим повышением давления в нем.

Изменение относительной скорости потока в канале рабочих лопаток связано с расходом энергии, подводимой к компрессору.

В расширяющихся каналах направляющих лопаток наблюдается дальнейшее повышение давления воздуха и уменьшение скорости его движения. В проточную часть компрессора воздух поступает через входной патрубок 1 и направляющий аппарат 4, откуда, пройдя каналы рабочих лопаток 5 и направляющих лопаток 6, попадает в спрямляющий аппарат 8.

Направляющий аппарат обеспечивает необходимое направление воздушному потоку перед входом в первую ступень, а спрямляющий аппарат обеспечивает осевой выход в диффузор 9 и далее в выходной патрубок 10.

Число ступеней сжатия в такой конструкции определяется количеством рабочих лопаток 5, расположенных на барабанном роторе 11.
Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments7

Расчёт сопел современных ракетных двигателей

Reading time10 min
Views60K


Введение


Сопло ракетного двигателя- техническое приспособление, которое служит для ускорения газового потока, проходящего по нему до скоростей, превышающих скорость звука. Основные виды профилей сопел приведены на рисунке:



По причине высокой эффективности ускорения газового потока, нашли практическое применение сопла Лаваля. Сопло представляет собой канал, суженный в середине. В простейшем случае такое сопло может состоять из пары усечённых конусов, сопряжённых узкими концами:



В ракетном двигателе сопло Лаваля впервые было использовано генералом М. М. Поморцевым в 1915 году. В ноябре 1915 года в Аэродинамический институт обратился генерал М. М. Поморцев с проектом боевой пневматической ракеты.

Ракета Поморцева приводилась в движение сжатым воздухом, что существенно ограничивало ее дальность, но зато делало ее бесшумной. Ракета предназначалась для стрельбы из окопов по вражеским позициям. Боеголовка оснащалась тротилом.

В ракете Поморцева было применено два интересных конструктивных решения: в двигателе имелось сопло Лаваля, а с корпусом был связан кольцевой стабилизатор. Подобные конструкции используются и в настоящее время, но уже с твёрдотопливным двигателем и системой автоматического наведения:



Однако проблемы остались старые, но уже в современном исполнении: ограниченная дальность до 3 км., наведение и удержание цели в условиях хорошей видимости, что для настоящего боя не реально, не защищённость от электромагнитных заградительных помех и, наконец, но не в последнюю очередь, высокая стоимость.
Читать дальше →
Total votes 52: ↑47 and ↓5+42
Comments21

Использование обратного преобразования Лапласа для анализа динамических звеньев систем управления

Reading time8 min
Views14K


Здравствуйте!

До настоящего времени в арсенале средств высокоуровневого языка программирования Python отсутствовали модули для численного преобразования передаточных функций элементов САУ из частотной области во временную.

Поскольку функции обратного преобразования Лапласа широко используются при анализе динамических систем контроля измерения и управления, использование Python для указанных целей было весьма затруднительно, поскольку приходилось использовать менее точное обратное Фурье преобразование [1].

Указанную проблему решает модуль mpmath библиотеки Python свободного распространения (под лицензией BSD), предназначенный для решения задач вещественной и комплексной арифметики с плавающей точкой и заданной точностью.

Работу над модулем ещё в 2007 году начал Fredrik Johansson [2], и, благодаря помощи многих участников проекта, в настоящее время mpmath приобрёл возможности серьёзного математического пакета.
Читать дальше →
Total votes 19: ↑16 and ↓3+13
Comments6

Математические модели релейно-импульсных регуляторов

Reading time7 min
Views10K


Введение

Важнейшей задачей автоматического управления любыми технологическими процессами является разработка математического описания, расчет и анализ динамики автоматических систем регулирования (АСР).

Практика промышленного использования микропроцессорных регулирующих приборов (МРП) показала, что “идеальные алгоритмы” физически не реализуемы. Синтезированная на их основе АСР не отражает поведение реальной системы [1].

Отклонения алгоритмов от идеализированных при определенных условиях, например, для релейно-импульсных регуляторов, когда скорость исполнительного механизма соответствует реальной динамике объекта, поведение реальной системы с достаточной степенью точности соответствует результатам математической модели.

Релейно-импульсные регуляторы применяются в микропроцессорных регулирующих приборах, где наблюдается следующая тенденция. Например, в публикации [2] описаны возможности применения протокола modbus для создания собственной Scada системы на базе Python.
В публикации [3] описано использование Python для работы с Arduino. Продолжаю эту тенденцию и я в надежде, что Python окончательно овладеет этой новой областью применения.
Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments5

Динамическая идентификация объектов управления

Reading time8 min
Views18K

Введение


Идентификация объектов управления — совокупность методов для построения математических моделей объекта по данным наблюдений.

Математическая модель в данном контексте означает математическое описание поведения какого-либо объекта или процесса в частотной или временной области, к примеру, физических процессов (движение механической системы под действием внешней силы [1]), экономического процесса (влияние смены курса валют на потребительские цены на товары [2]).

В настоящее время эта область теории управления находит широкое применение на практике и поэтому интересна для рассмотрения.

Область динамической идентификации объектов управления в связи с различной природой самих объектов достаточно обширна, поэтому для начала ограничимся рассмотрением методов обработки так называемой кривой разгона.

Кривой разгона называют процесс изменения во времени выходной переменной, вызванный ступенчатым входным воздействием. Кривая разгона служит для определения динамических свойств объекта.
Читать дальше →
Total votes 9: ↑7 and ↓2+5
Comments9

Решение задачи оптимизации многоступенчатых ракет

Reading time8 min
Views16K

Введение

Методы нелинейной оптимизации широко применяются при проектировании машин и механизмов. Указанные методы применяются и в ракетостроении, например, для оптимизации многоступенчатых ракет [1].

Многоступенчатая ракета — это аппарат, в котором части конструкции отделяются во время полета, придавая оставшейся части ракеты дополнительную скорость. Трёхступенчатая ракета схематически показана на рисунке.



По мере движения ракеты, ступени отделяются до тех пор, пока не останется главная часть ракеты, несущая полезную нагрузку. Задача оптимизации ракеты состоит в таком распределении веса по ступеням, при котором определенная целевая функция достигает максимального либо минимального значения.

Мы рассмотрим две задачи в предположении, что коэффициент и скорость реактивной струи Cn постоянны на каждой ступени, однако на разных ступенях могут принимать различные значения. В обеих задачах в качестве целевой функции принят коэффициент полезной нагрузки ракеты G, который необходимо минимизировать.

Характеристики многоступенчатой ракеты можно описать двумя уравнениями. Первое уравнение для коэффициента полезной нагрузки ракеты:



где: W1– полезный вес ракеты ;WN –начальный вес ракеты до отделения ступеней.
Читать дальше →
Total votes 39: ↑35 and ↓4+31
Comments8

Автоколебания и резонанс

Reading time11 min
Views19K

Здравствуйте!


В связи с вопросами читателей моей публикации [1] касательно условий возбуждения автоколебаний в механической системе, я решил описать явление возникновения и поддержания автоколебаний подробно, выделив основные области возникновения и применения автоколебаний.

В википедии автоколебания объясняют так [2]:
Незатухающие колебания в диссипативной динамической системе с нелинейной обратной связью, поддерживающиеся за счёт энергии постоянного, то есть непериодического внешнего воздействия.

Автоколебания отличаются от вынужденных колебаний тем, что последние вызваны периодическим внешним воздействием и происходят с частотой этого воздействия, в то время как возникновение автоколебаний и их частота определяются внутренними свойствами самой автоколебательной системы. При этом частота становится почти равной резонансной.
Читать дальше →
Total votes 16: ↑13 and ↓3+10
Comments1

Оптимизация портфеля ценных бумаг средствами Python

Reading time12 min
Views26K

Введение


На финансовом рынке обращается, как правило, несколько типов ценных бумаг: государственные ценные бумаги, муниципальные облигации, корпоративные акции и т.п.

Если у участника рынка есть свободные деньги, то их можно отнести в банк и получать проценты или купить на них ценные бумаги и получать дополнительный доход. Но в какой банк отнести? Какие ценные бумаги купить?

Ценные бумаги с низкими рисками, как правило, малодоходны, а высокодоходные, как правило, более рискованны. Экономическая наука может дать некоторые рекомендации для решения этого вопроса, но для этого необходимо иметь соответствующие программные средства, желательно с простым интерфейсом и бесплатные.

Программные средства для анализа портфелей ценных бумах должны работать с матрицами доходности и решать задачи нелинейного программирования с ограничениями в виде строгих и нестрогих неравенств. Символьное решение на Python некоторых типов задач нелинейного программирования мною уже рассматривалось в публикации [1]. Однако, применить предложенные в указанной публикации методы для анализа портфеля ценных бумаг нельзя из-за ограничений в виде строгих неравенств.

Целью настоящей публикации является разработка методов оптимизации портфелей ценных бумаг с использованием библиотеки scipy.optimize. Пришлось исследовать и применить при программировании такие мало известные возможности указанной библиотеки, как введение дополнительных ограничений в функцию цели [2].
Читать дальше →
Total votes 15: ↑10 and ↓5+5
Comments7

Information

Rating
Does not participate
Location
Днепр, Днепропетровская обл., Украина
Date of birth
Registered
Activity