Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: LIX Международной научно-практической конференции «Технические науки - от теории к практике» (Россия, г. Новосибирск, 27 июня 2016 г.)

Наука: Технические науки

Секция: Информатика, вычислительная техника и управление

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Маханько А.А. ОСОБЕННОСТИ ФОРМИРОВАНИЯ ШИМ СИГНАЛОВ В МИКРОПРОЦЕССОРНЫХ СИСТЕМАХ УПРАВЛЕНИЯ // Технические науки - от теории к практике: сб. ст. по матер. LIX междунар. науч.-практ. конф. № 6(54). – Новосибирск: СибАК, 2016. – С. 20-29.
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов

ОСОБЕННОСТИ ФОРМИРОВАНИЯ ШИМ СИГНАЛОВ В МИКРОПРОЦЕССОРНЫХ СИСТЕМАХ УПРАВЛЕНИЯ

Маханько Андрей Анатольевич

канд. техн. наук, доц., Казанский национальный исследовательский технический университет им. А.Н. Туполева-КАИ,

РФ, Республика Татарстан, г. Казань

PECULIARITIES OF PWM SIGNALS FORMATION IN MICROPROCESSOR CONTROL SYSTEM

Andrei Makhanko

candidate of Science, assistant professor in Kazan National Research Technical University named after A.N. Tupolev-KAI,

Russia, Republic of Tatarstan, Kazan

 

АННОТАЦИЯ

В современных системах управления нашли широкое применение сигналы широтно-импульсной модуляции, но в отсутствии специальной аппаратуры на это требуется много машинного времени. В статье рассматривается алгоритм, позволяющий экономить машинное время при формировании ШИМ сигналов.

ABSTRACT

Modern control systems are widely used signals PWM, but in the absence of special equipment required too many computer time. The article discusses the algorithm allows saving machine time during the formation of the PWM signals.

 

Ключевые слова: широтно-импульсная модуляция, система управления, дискретные, аналоговые, сигналы, программное формирование.

Keywords: pulse-width modulation, control system, discrete, analog, signals, software formation.

 

При формировании аналоговых управляющих сигналов, часто используемых в современных системах управления [2], возникает проблема – для управления сильноточными нагрузками необходимо формировать мощный аналоговый сигнал. Дополнительные сложности возникают из-за того, что большинство выпускаемых микроконтроллеров не имеют аналоговых выходов, что требует высокой квалификации специалистов [4] при проектировании систем на основе таких микроконтроллеров.

Вариантом формирования управляющего сигнала является использование цифро-аналоговых преобразователей (ЦАП) и пропорционального усилителя, но такая система крайне сложна и имеет низкий КПД, так как для пропорционального управления требуется промежуточные режимы работы усилителя – не желательные с точки зрения энергопотребления.

Альтернативой ЦАП является использование сигналов широтно-импульсной модуляции (ШИМ), которые сейчас широко используются в цифровых системах управления. Они удобны тем, что могут вырабатываться дискретными системами и имеют только два уровня (активный – «1» и пассивный – «0»), но при этом могут без дополнительных преобразований подаваться на исполнительные устройства, требующие аналогового сигнала постоянного тока, а в качестве усилителей мощности могут использоваться дискретные ключи, обеспечивающие малое рассеивание мощности на управляющих элементах схемы.

Сигналы ШИМ особенно удобны для микроконтроллеров, так как позволяют объединить в одном корпусе вычислительное устройство и устройство формирования управляющего сигнала.

Для формирования управляющего ШИМ сигнала в составе некоторых типов микроконтроллеров предусматриваются специальные устройства. На рисунке 1 приведён пример схемы такого устройства, использованного в семействе микроконтроллеров PIC16 фирмы Microchip.

 

Рисунок 1. Устройство формирования ШИМ сигнала

 

Как правило, такое устройство имеет в составе регистр длительности импульса (CCPR) и таймер с ограничением периода переполнения (TMR2).

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

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

Подобная аппаратура позволяет формировать ШИМ высокой частоты большого разрешения и практически не требует дополнительных вычислительных мощностей. Однако эта аппаратура существенно усложняет и удорожает контроллер, поэтому применяется недостаточно широко (например, в микроконтроллерах PIC16 используется не более двух независимых формирователей ШИМ).

Для того чтобы восполнить недостаток аппаратных средств формирования ШИМ, как правило, используется следующий алгоритм программного формирования ШИМ. (рисунок 2).

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

 

ШИМ_001

Рисунок 2. Блок-схема алгоритма формирования ШИМ сигнала

 

В данном алгоритме используется явление переполнения разрядной сетки. При каждом прерывании таймера значение регистра периода ШИМ уменьшается на единицу (NN0=NN0-1). Это приведёт к тому, что для восьмиразрядного процессора если исходное значение NN0 равно 0, то после вычитания получится 255, таким образом, происходит переполнение (рисунок 3). Формирование сигнала ШИМ происходит следующим образом - в момент времени, когда NN0=0 происходит запись числа из буферного регистра (N1) в регистр счётчик (NN1), после чего на каждом прерывании происходит уменьшение регистра счётчика на единицу, до тех пор, пока он не станет равен нулю, после этого уменьшение прекращается. Пока значение регистра счётчика не равно нулю на выходе (OUT1) установлена единица, когда значение приравнивается нулю, на выходе устанавливается ноль. Этот алгоритм повторяется для каждого канала ШИМ.

Для реализации этого алгоритма необходимо, чтобы контроллер имел доступ к поразрядному управлению портами ввода-вывода. Управление частотой осуществляется настройкой периода прерывания таймера. Скважность импульсов равна отношению числа, записанного в буферный регистр и максимального числа при данной разрядной сетке (для восьмиразрядного контроллера это 255).

 

ШИМ_003a

Рисунок 3. Временная диаграмма формирования ШИМ сигнала

 

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

Рассмотренный алгоритм использовался при проектировании системы управления колёсного погрузчика ПК-60.01Я [3]. В системе имелось 6 каналов управления, все были выполнены как ШИМ сигналы. В качестве управляющего устройства использовался контроллер PIC18F8680 с тактовой частотой 16 МГц, частота ШИМ задана была 100 Гц. Для обеспечения заданной частоты ШИМ потребовалось задать длительность кванта ШИМ – 39,22 микросекунд (627 тактов генератора или 156 командных циклов). Программа обслуживания одного канала содержала 11 операторов. Для сохранения состояния процессора и последующего его восстановления необходимо 14 операторов. Вся подпрограмма обслуживания ШИМ состояла из 80 (11*6 + 14) операторов, на выполнение которой требовалось 20 микросекунд. Следовательно, на формирование ШИМ тратилось 20 мкС / 39,22 мкС = 51 % вычислительных возможностей контроллера.

Если бы требовалось обслуживать 12 каналов, процедура формирования ШИМ состояла бы из 146 операторов, занимала бы 36,5 микросекунд и забирала бы более 93 % времени контроллера. Это означает, что для выполнения остальных функций контроллера в системе управления не хватало бы времени. Для решения этой проблемы можно было бы предложить поднять тактовую частоту, что сократит время исполнения подпрограммы, но контроллеры имеют ограничение максимальной тактовой частоты (например, для семейства PIC18 до 25 МГц). К тому же, при повышении тактовой частоты увеличивается потребление энергии и нагрев контроллера.

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

Для использования этого алгоритма необходимо организовать массив, содержащий записи {Ni Mi}. В этой записи Mi – маска, которая при выполнении операции «логическое И» с текущим состоянием порта обнуляет один или несколько разрядов порта, а Ni – число, характеризующее момент применения маски, то есть момент переключения очередного сигнала. Кроме массива необходимо использовать счётчик времени (NN0) и указатель массива (i). Так же, как и в предыдущем алгоритме используется аппаратный таймер, который отсчитывает промежутки времени, соответствующие квантам сигнала ШИМ.

При каждом прерывании счетчик времени увеличивается на единицу. Период ШИМ сигнала соответствует переполнению счётчика (для восьмиразрядных систем 255). В начале цикла указатель массива устанавливается на начало массива, а текущее значение счётчика времени сравнивается с выбранным значением Ni. Как только значение счётчика превышает Ni, производится операция «И» между текущим значением порта вывода, в котором должны быть сосредоточены сигналы ШИМ, формируемые этим алгоритмом, и маской Mi, в результате чего некоторые разряды порта вывода будут обнулены. Так же в этот момент указатель «передвигается» на следующий элемент массива (i = i+1).

После завершения цикла ШИМ (NN0=0) производится анализ команд выданных основной программой (составляется новый массив {Ni Mi}). Значения Ni сортируются по возрастанию и определяются маски Mi соответствующие каждому переключению. В начале нового цикла все каналы ШИМ устанавливаются в единицу. В дальнейшем каждый из них будет сброшен в момент времени, определённый состоянием соответствующего регистра Ni.

Таким образом, частота ШИМ определяется периодом между прерываниями, заданным таймером. Скважность каждого импульса определяется соотношением соответствующего регистра Ni и максимального значения счётчика времени при данной разрядной сетке (для восьмиразрядных систем – 255).

 

ШИМ_002

Рисунок 4. Экономичный алгоритм формирования ШИМ сигнала

 

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

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

Например, при реализации системы управления длина программных ветвей процедуры обработки прерывания не превышает 16 операторов (при выполнении переключения сигнала 16 операторов, без выполнения переключения 12). Моменту начала цикла ШИМ соответствует довольно длинная процедура подготовки массива, но эта процедура выполняется один раз за полный цикл ШИМ и поэтому не отнимает много времени контролера, также эту процедуру можно вынести в основную программу тем самым избежать конфликта между основной программой и задачей формирования ШИМ.

Для сравнения – рассмотренный выше алгоритм формирования 6 управляющих сигналов укладывается в 32 оператора (16 операторов – процедура формирования ШИМ и 16 операторов процедура входа и выхода из прерывания), что составляет всего 20,4 % времени контроллера. Это соотношение не меняется, независимо от количества каналов, до тех пор, пока количество каналов не превышает разрядности шины данных контроллера.

Если число каналов больше разрядности контроллера, то потребуется несколько магистральных операций для применения маски. Длина ветвей программы в этом случае будет составлять: 12 операторов без выполнения переключения сигналов, 18 операторов при выполнении переключения сигналов, собранных в два порта ввода-вывода. В этом случае процедура обслуживания прерывания составит 34 оператора, то есть потребует 21,675 % рабочего времени контроллера.

Использование дискретного по сути сигнала ШИМ позволяет существенно упростить аппаратную реализацию системы управления. В этом случае формирователи выходного сигнала представляют собой мощные транзисторные ключи.

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

При разработке блока управления «Омега-1» колёсного погрузчика ПК-60.01 использовались ключи на полевых транзисторах с частотой переключений до 6 МГц. Это позволило формировать сигналы большой точности. В одном из вариантов системы использовался электрогидрораспределитель с двумя выходными каналам в каждой секции. Это позволило управлять шестью бустерами коробки передач (1, 2, 3, 4 передачи и бустеры переднего и заднего хода) с помощью трёх секций распределителя. Однако это потребовало формирования выходного сигнала так, что диапазон от Uпит/2 до Uпит использовался как команда для одного канала управления, а от 0 до Uпит/2 для другого. Это уменьшило разрешающую способность каждого из сигналов ШИМ в 2 раза, но этого оказалось достаточно для обеспечения требуемого уровня точности формирования управляющих сигналов.

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

Модифицированный блок «Омега-1» использовался в системе управления трансмиссией бульдозера-рыхлителя Т-40.01ЯБР. В этом случае высокое разрешение сигнала ШИМ позволило обеспечить плавность управления поворотом трактора.

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

При разработке системы управления трансмиссией бульдозера-рыхлителя Т-40.01КБР был использован микропроцессорный блок фирмы Sauer-Danfoss марки Plus1 MC 050-010, в котором используется система защиты выходных ключей от короткого замыкания в нагрузке. Это позволило существенно повысить надёжность системы.

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

Однако, интеллектуальные ключи имеют низкую частоту переключения, что затрудняет их использование для формирования сигналов ШИМ.

В данном случае возможно два решения.

В первом случае используется обычный полевой транзистор, который формирует ШИМ сигнал, а вместе с ним работает система защиты и измерения тока. Такая система получается громоздкой, сложной и дорогой.

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

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

 

Список литературы:

  1. Алпаров А.У., Благов А.Е., Дегтярев Г.Л., Маханько А.В., Маханько А.А., Руденко С.А., Харитонов А.Ю. Микропроцессорная система управления самоходной моделью тримарана. Вестник казанского государственного технического университета им. А.Н. Туполева, Казань, 2014. № 3.
  2. Благов А.Е., Земляков А.С. Синтез управления механическими системами на основе декомпозиции-агрегирования. Вестник Казанского государственного технического университета им. А.Н. Туполева. 2004. № 2.
  3. Дегтярёв Г.Л., Маханько А.А. Опыт применения микропроцессорных систем управления на тяжёлых транспортных машинах. Вестник казанского государственного технического университета им. А.Н. Туполева, Казань, 2007. № 1 (45).
  4. Морозов С.А., Соколова Г.П. Особенности создания системы дистанционного обучения. Математические методы в технике и технологиях – ММТТ. 2013. № 9-1 (59).
  5. Соколова Г.П. Использование информационных технологий при изучении графических дисциплин. Математические методы в технике и технологиях – ММТТ-21: сб.трудов XXI Международ. науч. конф. в 10 т. Т. 9. Саратов: изд-во Сарат. гос. техн. ун-та, 2008.
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом