Болл С.Р. Аналоговые интерфейсы микроконтроллеров (2007) (1264220), страница 32
Текст из файла (страница 32)
В общем, модель системы управления с предсказанием — это математическое представление отклика системы, так что система с предсказанием может оказаться непрактичной для небольшого прибора на основе микроконтроллера. Модель системы представляет собой таблицу величин, 5.10. Измерение и анализ реакции петли обратной связи ° 169 однако при нескольких входных параметрах, число данных в таблицах может превысить объем доступной памяти. Модель системы управления с предсказанием формируется либо в результате анализа электрической и механической составляющих системы для определения их откликов, либо иа основе опытов.
У каждого метода свои недостатки; аналитическое решение может оказаться трудиодостижимым, а опытное (эмпирическое) тестирование — трудиовыполнимым. 5.10. Измерение и анализ реакции петли обратной СВЯЗИ При разработке систем управления часто требуется, чтобы были измерены входные и выходные сигналы. Это может быть необходимо для устаиовки ПИД-параметров или для отладки системы. На Рис. 5.20а показана система управления с подключенным блоком мониторинга. Блок измеряет выходной сигнал АЦП и результирующий выходной сигнал. Контролирующан алактроника б) Логический анализатор цифроаойааломинающийосциллограф Рнс. 5.20.
Мониторинг системы управления 170 ° Глава 5. Методы управления Блоком мониторинга системы может служить, например, логический анализатор, регистрирующий каждое слово АЦ П и каждую запись в усилитель (линейный или ШИМ). Основная идея такого подхода — в регистрации входных воздействий и реакции системы управления. При использовании логического анализатора результирующие данные могут быть записаны на диск или посланы по сети на удаленный компьютер.
Затем данные могут быть распечатаны или проанализированы. Если вы отслеживаете некоторую неточность работы системы управления, на логический анализатор можно подать дополнительный сигнал для синхронизации с ошибочным событием и просмотреть действия системы непосредственно перед этим событием. За неимением логического анализатора, поведение относительно медленных систем можно исследовать с помощью 1ВМ РС или платы сбора информации. Фирма )чаг)опа) 1пзгпипепгз производит такие платы. Другой метод мониторинга — добавить дополнительную программу в код процессора, выводящую данные чтения датчиков и выходные сигналы через последовательный порт или какой-либо другой интерфейс.
Этот метод менее трудоемок, однако построен на предположении, что ПО работает без сбоев. Например, данный метод не позволит найти ошибку, случающуюся, когда ПО генерирует правильный код, но не успевает записать его в выходной буфер. На выходе может не оказаться требуемой величины в определенный момент, а программа диагностики покажет, что все корректно. 5.10.1.
Логический анализатор/Цифровой осциллограф Одна из трудностей и для логического анализатора, и для программного мониторинга — поиск неточного преобразования входной аналоговой величины АЦП. Если ошибки случаются в результате смещения опорного напряжения с изменением температуры, то ни один из вышеперечисленных методов их не определит, поскольку выходные сигналы АЦП будут выглядеть вполне корректно.
На Рис. 5.200 показано подключение цифрового запоминающего осциллографа (П)0)ш) Бгогабе Озсй)озсоре, 1)50) к системе управления. На экране осциллографа можно отследить реальный сигнал датчика в то время, как логический анализатор контролирует выходы АЦП и всей системы управления. Вход синхронизации осциллографа связан с выходом логического анализатора (или наоборот) так, чтобы данные двух приборов можно было скоррелировать. Использование логического анализатора совместно с цифровым запоминающим осциллографом, который обеспечивает интегрирование сигналов„упрощает процесс корреляции и находит все малозаметные ошибки А/Ц преобразования.
5ЛО. Измерение и анализ реакции ленми обратной связи ° 171 Независимо от того, как вы собираетесь производить мониторинг системы, хорошим стилем работы является внесение в схему достаточного количества контрольных точек для мониторинга еще на стадии разработки. Для этих целей могут быть установлены дополнительные разьемы на плату или зарезервирован порт в микроконтроллере. 5.10.2. Измерение параметров двигателя Измерение реакции системы ПИД-управления, управляющей нагревателем, довольно легко произвести — достаточно контролировать осциллографом или с помощью АЦП сигнал с терморезистора и вводить данные в компьютер. Систему с двигателем отладить гораздо трудней.
Нет никакого прямого метода измерения скорости; можно измерять время между импульсами энкодера для определения, как быстро вращается ось. Статистика измерений собирается и заносится в электронную таблицу и далее в программу На Рис. 5.21 показана структурная схема двух простых устройств, которые могут быть использованы для контроля параметров двигателя.
На Рис. 5.21а изображена схема для измерения периода следования импуль- Счетчик Ре петр Тактовые импульсы нмпульоы аикодера двигателя а1 Счетчик Реистр Импульсы зикодер деигателя Такгоеые импульсы 61 Рис. 5. 2А Схема анализа двюкення двигателя 172 ° Глава 5. Методы управления сов знкодера. Счетчик работает с определенной тактовой частотой. Каждый импульс энкодера передает число с выхода счетчика в регистр и сбрасывает счетчик.
Сброс счетчика может быть как синхронным, так и асинхронным, хотя логика сброса должна быть согласована с характеристиками счетчика. Выход регистра может быть соединен с логическим анализатором для ввода данных о скорости, либо со входом ЦАП, устанавливающем напряжение, пропорциональное скорости. Результирующие сигналы можно регистрировать осциллографом. В некоторых логических анализаторах к тому же предусмотрен резком графического просмотра данных как более информативного, либо полученные данные могут быть записаны на диск для последующего просмотра или анализа с помощью ПК.
Частота дискретизации данных счетчика зависит от характеристик пары двигатель/энкодер. Если двигатель вращается со скоростью 2000 об./мин (33.3 об./сек), и используется знкодер на 500 отсчетов, тогда время между импульсами энкодера составит: ! 500 х 33.33 Если требуется 8-битное измерение скорости при 250 отсчетах, тактовая частота составит 250/60 мкс или 4.167 МГц. При измерении скорости двигателя, порядка 100 об./мин, импульсы энкодера будут следовать с частотой 833 Гц, счетчик накопит около 5000 отсчетов между импульсами, и понадобится уже ! 3-битный счетчик. В данном примере счетчик сбрасывается в 0 и считает на сложение, поэтому большее число соответствует меньшей скорости. Для того, чтобы изменение кодов счетчика было пропорционально скорости двигателя (больше число = выше скорость), следует либо инвертировать выходной код счетчика, либо использовать счет на вычитание со сбросом в максимальном коде, а не в нуле.
На Рис. 5.216 показана аналогичная схема, но поменялись местами вход синхронизации и вход сброса счетчика. Такая схема измеряет частоту импульсов энкодера. При использовании аналогичного 1000...5000 об./мин двигателя с таким же энкодером на 500 отсчетов, дискретизация через 10 мс приведет к счету по 8 на скорости 100 об./мин и счету по 166 на скорости 2000 об./мин. Выход данной схемы можно также присоединить к логическому анализатору или комбинации ЦАП/осциллограф.
Естественно, такая схема может быть выполнена как на основе дискретной логики, так и с применением ПЛИС. 5. 11. Примеры программирования ПИД-систем ° 173 5.10.3. Доступное программное обеспечение Существует программное управление (ПО), призванное помочь в разработке систем ПИД-управления. Например, %(птцпс компании ВСЕ!Во(С (цпчщЬее(зо(г.сопс) или пакет анализа ПИД-параметров от фирмы )ч)а((опа! !пзспппспсв (цччц(п!.Сопс). 5.11. Примеры программирования ПИД-систем Далее следуют отдельные примеры программирования на языке Ваис для простой системы ПИД-управления, с различными встроенными опциями.
5.11.1. Основная петля ПИД-управления кеад 1приг (вогив1 ров1ттоп, вреед, тепр, иватечег( сгов вепвог, ване вв Сиггептча1ие. еггог = тагдесча1ие — сигтепгна1ие Петгчаттче = Егтот — РгечтоивЕттогна1ие 1пседта1 = 1птедга1 в Еггог сопггогна1ие = к1*1пгедгв1 - к2*оег1нвгтче в кз*еггог РтечтоивЕгготчв1ие = Еггог (сот иве иттв пехт вавр1е! оигриг сопгго1на1ие го сотгго1 11агдиаге оетспсгсопв: к1 = тпгедга1 дато. к2 = цеггчат1че да1п КЗ = Еггог да1п 1птедгв1 = 1ттедга1 Гепв оегтнвг1оне = пегтчвг1че гепв Еггог = Еггот Гепв, ветротпг в1пив всгиа1 ча1ие геад сгов вепвог тагдегна1ие = яегротпт, гве девтгед 1приг Ситгепсча1ие = Сиггепт ча1ие геад сгов вепвог РгечтоивЕггогча1ие = тве ча1ие от Еггог стоп гпе ргеч1оив вапр1е Примечание. Епог, (Зепчас!че и !псейга! должны быть сохранены в таком типе переменных, чтобы могли принимать и отрицательные значения.