Software and Hardware Implementation of the Converter of Control Actions Based on the Microcontroller ATmega328p

Karpov E.K., Kuznetsova E.M.

Abstract


Целью данной работы является изучение возможности практической реализации нового информационного подхода к автоматическому регулированию на базе микроконтроллерной техники. В современных автоматических системах алгоритмы управления основаны на методах нечеткой логики и использовании искусственных нейронных сетей. Применение разрабатываемого преобразователя управляющих воздействий не требует сложной настройки параметров регулятора с помощью экспертных оценок или проведения процесса «обучения». Анализ научной литературы и современных публикаций выявил отсутствие стандартных библиотек для программирования таких преобразователей на микроконтроллерах или программируемых логических контроллерах. В основной части статьи проведено сравнение аппаратной реализации и принципа работы звена чистого запаздывания и преобразователя управляющих воздействий, разработан алгоритм их выполнения на микроконтроллере ATmega328P. Предлагаемый авторами вариант программной реализации преобразователя управляющих воздействий нулевой вибрации позволяет получить погрешность временной задержки не более 2 %. По результатам экспериментальной оценки разработаны рекомендации по коррекции значений времени запаздывания с учетом требований программного обеспечения микроконтроллера для реализации полученного регулятора. Применение регулятора, работающего на основании новых информационных подходов, позволяет уменьшить время переходного процесса в системах второго порядка с единичной обратной связью и снизить значение перерегулирования до нуля.

Keywords


converter of control actions; microcontroller; time lag; transfer function; overshoot; transient time

Full Text

Введение В теории автоматического управления для приближенной оценки качества управляющих систем достаточно двух основных параметров, определяемых по кривой переходного процесса: времени переходного процесса и величины перерегулирования. Соответственно, уменьшение значений этих параметров при условии сохранения устойчивости систем является актуальной задачей. Разрабатываемые алгоритмы управления и принципы регулирования, основанные на новых информационных подходах, при моделировании показывают высокие результаты решения задачи снижения значений перерегулирования и времени переходных процессов. Но реализация таких алгоритмов в микроконтроллерных системах управления ограничивается, в частности, тем, что в программной среде разработки отсутствуют какие-либо библиотеки, реализующие эти алгоритмы. Изначально преобразователи управляющих воздействий (ПУВ) разрабатывались для автоматизированных систем управления, в которых организация обратной связи затруднена или невозможна [1]. Была разработана концепция преобразователей сигнала для линии обратной связи [2] для случая многосвязных систем с сильно связанной динамикой. Предложены также методы одновременного использования управления по обратной связи и преобразователя управляющих воздействий [3], что в результате дает лучшие характеристики управляемых переходных процессов, чем при последовательном расчете этих регуляторов. Дальнейшим развитием применения преобразователей сигналов в линиях обратной связи является формирователь с распределенным элементом запаздывания [4]. На современном этапе исследования и применения преобразователей управляющих воздействий широко изучаются вопросы их синтеза и оптимизации. Рассматриваются вопросы их реализации на различной аппаратной платформе, например на микроконтроллерах [5]. На основе теории преобразователей входящих сигналов в статье [6] предложен многоступенчатый оптимальный фильтр произвольного временного запаздывания, обладающий большой устойчивостью в системах с параметрической неопределенностью. Многоуровневый оптимизационный подход для создания цифровых преобразователей [7] позволяет оптимизировать первичные и вторичные проектные ограничения и устранить сложности нелинейной оптимизации. Цели и задачи исследования Целью данной работы является исследование возможности практической реализации нового информационного подхода к автоматическому регулированию - преобразователей управляющих воздействий (Shaping-алгоритмов) на базе микроконтроллерной техники, что позволит применить его для решения практических задач автоматизации. Предлагаемое решение возможно осуществить при помощи программной реализации алгоритма звена чистого запаздывания и последующей его модификации с учетом вычислительной способности микроконтроллера. Основная задача исследования включает в себя создание модели преобразователя управляющих воздействий, разработку ее структурной схемы и алгоритма работы, реализацию этого алгоритма с помощью программного кода для микроконтроллеров ATmega328P, последующую оценку результатов работы этой модели. Характеристика shaping-алгоритмов Принцип работы преобразователей заключается в формировании управляющего сигнала путем свертки задающего управляющего воздействия с последовательностью импульсов в виде дельта-функции Дирака [8]: (1) Эффективность алгоритма определяется количеством импульсов, их периодом следования и амплитудой каждого импульса. За счет относительного увеличения времени перехода системы из одного состояния в другое обеспечивается компенсация возникающих колебаний, а сдвиг управляющего воздействия на половину периода вычисленных колебаний объекта управления обеспечивает в идеальном случае полное их подавление (рис. 1). Рис. 1. Процесс преобразования задающего единичного воздействия Для снижения величины перерегулирования в ходе исследования применяется двухимпульсный алгоритм преобразования нулевой вибрации. Расчет его амплитуд и времени запаздывания второго импульса производится по формуле (2) с учетом коэффициентов K (3) и T (4), принятых для упрощения записи. Двухимпульсный ZV-shaper, или фильтр с нулевой вибрацией (zero-vibration), позволяет свести вибрации системы до нуля. Однако условием его работы является совпадение настроенной частоты с фактической. В противном случае могут возникать остаточные колебания высокой амплитуды: (2) (3) (4) где Ai - амплитуда i-го импульса; ti - время i-го импульса; w - частота колебаний; x - коэффициент демпфирования; T и K - введенные для упрощения записи коэффициенты. Алгоритмизация процесса преобразования управляющих воздействий для микроконтроллера В процессе моделирования преобразователей управляющих воздействий в системе имитационного блочного моделирования динамических систем Simulink было определено, что наиболее точно процесс их работы передается при построении структуры, пример которой представлен на рис. 2. Рис. 2. Преобразователь управляющих воздействий нулевой вибрации Такая схема включает в себя сумматор, на который поступают сигналы с двух пропорциональных звеньев, коэффициенты которых равны A1 и A2, причем сигнал с A2 подается через звено чистого запаздывания t2. При проведении исследования при реализации алгоритма преобразователя на базе микроконтроллера были приняты следующие допущения: - частота сохранения значений задающего воздействия значительно выше, чем собственная частота объектов, для которых предлагается применять данный регулятор, таким образом, он рассматривается как непрерывное звено, а не дискретное; - значение характеристики переходного процесса между двумя дискретными точками сохранения определяется по пропорциональному закону; - погрешности при преобразовании аналоговой входной величины микроконтроллера в цифровое сохраняемое значение и цифрового управляющего воздействия в выходное аналоговое значение на данном этапе не учитываются; - нелинейности в элементах микроконтроллера (цифроаналоговый преобразователь, аналого-цифровой преобразователь) не учитываются. Реализация звена чистого запаздывания Поскольку звено чистого запаздывания подает на выход сигнал после некоторой временной задержки, то при разработке его программы необходимо учесть, что входящий сигнал должен сохраняться в памяти микроконтроллера. Возможна реализация такого процесса хранения значений управляющих воздействий только при ограничении количества этих записей в оперативной памяти с учетом ее объема. Для микроконтроллеров фирмы Atmel (в нашем случае Atmega328P) времена перезаписи данных ячеек памяти с входным сигналом можно отсчитывать с помощью встроенной функции задержки - delay(), параметр времени которой задается в миллисекундах. Задавая программно количество ячеек (i, мс) в памяти под значения управляющего воздействия и время пауз между перезаписыванием ячеек (t), можно получить на выходе микроконтроллера сигнал, чистое время запаздывания которого равно произведению i на t, мс. При достижении последнего элемента вектора i инкрементируемому счетчику записи j присваивается нулевое значение, то есть перезапись вектора входных сигналов осуществляется циклически. Если значение счетчика записи j меньше длины вектора значений i, то на выход микроконтроллера подается значение (j+1) ячейки, в противном случае выходным сигналом будет нулевой элемент вектора. Реализация преобразователя управляющих воздействий Основным отличием алгоритма преобразователя управляющих воздействий от звена чистого запаздывания будет расчет выходного значения, состоящего из суммы входного сигнала, умноженного на A1, и произведения значения (j+1) ячейки на A2. Программная реализация преобразователя состоит из настраиваемой части и собственно алгоритма работы регулятора. В настраиваемой части программы алгоритма ПУВ задаются следующие величины (прил. 1): 1) номер аналогового входа микроконтроллера; 2) номер выхода микроконтроллера, поддерживающий широтно-импульсную модуляцию; 3) время запаздывания второго импульса t2 в миллисекундах; 4) коэффициенты умножения импульсов sA1 и sA2; 5) размер вектора входных данных. На основании этой информации микроконтроллером вычисляется время задержки между перезаписью ячеек. Также производится создание вектора заданной размерности. Циклическая часть алгоритма реализуется в постоянно повторяющейся служебной функции микроконтроллера loop(). Объем оперативной памяти микроконтроллера ограничен, а фактическая задержка между формированиями выходного сигнала состоит не только из времени, определенного в функции delay(), но и из времени, затрачиваемого на выполнение операций функции loop(). Следовательно, необходимо определить эти значения и оценить их влияние на качество работы алгоритма. Демонстрационный код программной реализации преобразователя управляющих воздействий приведен в прил. 1 к этой статье. Основные результаты проверки работы программы алгоритма на микроконтроллере Для проверки работоспособности полученного алгоритма регулирования была собрана система, структурная схема которой представлена на рис. 3. С компьютера пользователь выбирает тип задающего воздействия (единичный, импульс, синус). Эта информация передается на управляющий микроконтроллер, который формирует заданный тип сигнала и передает на аналоговый вход исследуемого преобразователя управляющих воздействий. На аналоговом выходе регулятора формируется сигнал управления силовым транзистором, к которому подключен объект управления - электродвигатель. Для регистрации скорости его вращения используется датчик Холла, подключенный к управляющему микроконтроллеру. Далее информация с него передается на компьютер и отображается в виде графика для более удобного восприятия пользователем. Для реализации описанных выше действий в среде Processing было написано программное обеспечение, с помощью которого и была обеспечена возможность визуализации переходных процессов. Во время эксперимента изучалось влияние исследуемого преобразователя на характеристики переходных процессов (время переходного процесса и величина перерегулирования) системы. График реакции системы без преобразователя на ступенчатое воздействие представлен на рис. 4. Рис. 3. Структурная схема системы управления электродвигателем Рис. 4. Переходная функция системы управления электродвигателем Математическое описание объекта может быть получено либо аналитически, либо экспериментальными методами. В первом случае анализ физических, химических и иных процессов, происходящих в объекте, приводит к дифференциальным, интегро-дифференциальным, разностным и т. д. управлениям, связывающим входные и выходные переменные. При этом приходится принимать упрощающие предположения, что снижает достоверность полученной модели. Экспериментальные методы базируются на пассивном либо активном эксперименте. Метод пассивного эксперимента основан на регистрации контролируемых параметров процесса в режиме нормальной работы объекта без внесения в него каких-либо преднамеренных возмущений. Метод активного эксперимента основан на использовании определенных искусственных возмущений, вводимых в объект по заранее спланированной программе. Наиболее часто используют определение математического описания (передаточной функции) объекта по его переходной характеристике. Переходная функция имеет явный колебательный характер, поэтому объект с такой характеристикой (рис. 4) можно представить в виде колебательного звена. При подборе математического выражения предположим, что рассматриваемый объект может быть представлен функцией (5) где ai, bi - постоянные времени; m = 1, 2, … - степень. Переходная характеристика объекта h(t) определяется обратным преобразованием Лапласа (6) В соответствии с методом «площадей» для определения коэффициентов передаточной функции [9] будем иметь (7) где некоторые bi; i = m, m - 1, … и всегда bi, ai; I = m + 1, m + 2, …, 2m равны нулю. А величины S определяются по формуле (8) По виду h(t) можно предположить, что h(+0) = 0; h'(+0) = 0; h"(+0) ≈ 0, и поэтому порядок числителя передаточной функции принимается равным нулю. После нормировки переходной функции и входного воздействия методами численного интегрирования находим величину S1 = 0,136 с по формуле Симпсона. Далее по формуле (8) находим S2 = 0,0529 с; S3 < 0. Так как ни по виду начального участка h(t), ни из анализа физических процессов, происходящих в исследуемом объекте, не следует, что надо увеличивать порядок числителя передаточной функции, то вычисление «площадей» более не требуется и можно определить коэффициенты a1 и a2: a1 = S1 = 0,136с; a2 = S2∙1 = 0,0529 с; По формуле (2) находим коэффициенты A1, A2 и t2. После присвоения переменным sA1, sA2 и t2 в программе регулятора вычисленных коэффициентов и записи модифицированного алгоритма в микроконтроллер был получен график переходного процесса для исследуемой системы (рис. 5). Рис. 5. Переходная функция системы управления электродвигателем с использованием ПУВ Анализ полученных экспериментальных данных подтверждает работоспособность синтезированного регулятора. Время переходного процесса с его применением сокращается с 2,40 до 0,58 c, а перерегулирование - с 40 до 2 % в сравнении с исходной системой (рис. 6). В ходе выполнения экспериментальной части исследования было установлено, что после оптимизации программного кода максимальная длина вектора составляет 1515 хранимых значений длиной в один байт. Для функции delay(), реализуемой на микроконтроллерах Mega328P, рекомендуется использовать значения задержки в диапазоне 10 миллисекунд. Это значение будет использоваться для определения погрешности времени, формируемой выполнением кода программы. Исходная функция loop() была модифицирована таким образом, чтобы после каждого выполнения цикла на последовательный порт компьютера с микроконтроллера выводилось его время в микросекундах. Экспериментально было определено, что после подачи питания на микроконтроллер и перехода его в установившийся режим работы время выполнения целевой функции без задержки delay() составляет 203 микросекунды. Следовательно, величина погрешности равна 2 % при значении задержки, равном 10 миллисекундам. Данная погрешность будет сохраняться для алгоритма ПУВ нулевой вибрации при любом запаздывании delay(), это значит, что с уменьшением пауз между перезаписями выходного сигнала она будет становиться более критической и ее необходимо будет учитывать при расчетах. Рис. 6. Сравнение переходных процессов исходной системы и с использованием преобразователя Заключение В ходе выполнения работы было установлено, что возможно реализовать преобразователь управляющих воздействий на базе микроконтроллерной техники. Для этого разработан программный алгоритм звена чистого запаздывания и собственно преобразователя, эффективность работы которого была подтверждена экспериментально. С учетом принятых допущений величина ошибки вычисления запаздывания при его работе не превышает 2 %, а анализ экспериментально полученных данных показывает его эффективность: время переходного процесса с его применением сокращается с 2,40 до 0,58 c, а перерегулирование - с 40 до 2 % в сравнении с исходной системой. Результаты исследования позволят применить данный тип регуляторов при решении различных задач автоматизации. В дальнейшем алгоритм необходимо дополнить функциями корректировки времени чистого запаздывания и точного преобразования входных и выходных сигналов, что повысит точность выполнения алгоритма и его эффективность. Приложение 1. Программная реализация преобразователя управляющих воздействий на микроконтроллере Arduino IDE int analogReadPin = A0; //Определение рабочих входа и выхода int analogWritePin = 8; //преобразователя управляющих воздействий //Задание параметров преобразователя unsigned long t2=760;//t2 в миллисекундах float sA1=0.73;//Коэффициенты сигналов А1 float sA2=0.27;// и А2 //Определение размерности вектора входных данных const int maxCountValues = 190; unsigned int deltime=t2/maxCountValues; byte analogReadPinValue = 0; byte values[maxCountValues]; int posReadFromPin = 0; int rez=0; void setup () { pinMode(analogReadPin, INPUT); pinMode(analogWritePin, OUTPUT); for (int i=0;i

Galleys

PDF (Русский)
References References

Lawrence J., Singhose W. Robustness of Input Shaping to Non-linear Crane Dynamics // Woodruff School of Mechanical Engineering Georgia Institute of Technology - Atlanta, Georgia, 2008.

Hromcik M., Vyhlidal T. Inverse Feedback Shapers for Coupled Multibody Systems // Ieee Transactions on Automatic Control. 2017. Vol. 62. No. 9. Pp. 4804-4810.

Huey J. R., Singhose W. Design of proportional-derivative feedback and input shaping for control of inertia plants // Iet Control Theory and Applications. 2012. Vol. 6. No. 3. Pp. 357-364.

Vyhlidal T., Hromcik M., Kucera V. Inverse signal shapers in effective feedback architecture // 2013 European Control Conference. 2013. P. 4418-4423.

Lamar D. G., Fernandez A., Arias M., Rodriguez M., Sebastian J., Hernando M. M. A unity power factor correction preregulator with fast dynamic response based on a low-cost microcontroller // Ieee Transactions on Power Electronics. 2008. Vol. 23. No. 2. Pp. 635-642.

Liu K. P., Zeng J. P., Yang M., Jiang C. H. Design of Multi-stage Optimal Arbitrary Time-delay Filter // Advanced Design and Manufacturing Technology III, Pts. 1-4. 2013. Vol. 397-400. Pp. 1510-1514.

Robertson M. J., Singhose W. E., Aacc Multi-level optimization techniques for designing digital input shapers // Proceedings of the 2001 American Control Conference, Vols 1-6. 2001. P. 269-274.

Lawrence J., Singhose W. Robustness of Input Shaping to Non-linear Crane Dynamics // Woodruff School of Mechanical Engineering Georgia Institute of Technology - Atlanta, Georgia, 2008.

Балакирев В. С., Дудников Е. Г., Цирлин А. М. Экспериментальное определение динамических характеристик промышленных объектов управления. - М. : Энергия, 1967. 232 с




DOI: http://dx.doi.org/10.22213/2410-9304-2018-4-95-102

Article Metrics

Metrics Loading ...

Metrics powered by PLOS ALM

Refbacks

  • There are currently no refbacks.


Copyright (c) 2018 Карпов Е.К., Кузнецова Е.М.

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.

ISSN 1813-7911