Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 3000500.doc
Скачиваний:
15
Добавлен:
30.04.2022
Размер:
7.42 Mб
Скачать

Раздел 11. Дискретные системы

11.1. Математический аппарат дискретных систем

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

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

- в виде разностного уравнения n-го порядка;

- в виде системы из n-разностных уравнений первого порядка;

- в виде Z-передаточной функции, если описывать процесс в дискретной системе на Z-плоскости в форме Z-передаточной функции n-порядка.

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

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

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

Если временем обработки информации пренебречь нельзя, то следует ввести последовательно с ЭВМ блок чистого запаздывания. Предположим, что при на вход ЭВМ подается сигнал . Так как обработка информации осуществляется мгновенно, то связь между входным и выходным сигналом выразится соотношением

, (11.1)

где - константа.

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

. (11.2)

Аналогично, будет иметь вид

.

Таким образом, используя операции умножения и сложения, выполняемые ЭВМ, получим разностное уравнение, общий вид которого (параметр опущен) имеет вид:

.

Разностное уравнение можно получить и чисто математически: путем замены производных соответствующими разностями:

– первая обратная разность;

– первая прямая разность.

Вторые разности определяются через первые разности

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

Пусть дано дифференциальное уравнение первого порядка

.

Заменяя производную разностью, получим

.

Решая последнее уравнение относительно , имеем

.

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

. (11.3)

Введем обозначение , и запишем разностное уравнение (11.3) в более компактном виде

. (11.4)

Из (11.4) видно, что интегрирование дифференциального уравнения методом Эйлера (замена производных соответствующими разностями) приводит к получению разностного уравнения.

Рассмотрим теперь представления математической модели дискретных систем – в виде Z-передаточных функций.

Для этого умножим левую и правую часть выражения (11.4) на и просуммируем полученные выражения

. (11.5)

Используя Z-преобразования и теорему о сдвиге, запишем Z-преобразование уравнения (11.5)

.

Определив отношение Z-изображений выходной величины к входной, получим Z-передаточную функцию

.

Для получения дискретной передаточной функции в системе Matlab можно воспользоваться следующей последовательностью операторов.

Пусть непрерывная передаточная функция имеет значение .

Считаем, что время преобразования одного аналогового сигнала составляет 25 микросекунд и общее время обновления управляющего сигнала – 50 микросекунд.

Определим дискретную передаточную функцию регулятора:

h =tf([0.5 1],[0.1 1);

hd=c2d(h,50e-6,'matched')

Transfer function:

4.999 z - 4.999

z - 0.9995

11.2. Обоснование структурной схемы импульсных систем регулирования

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

Затем решетчатая функция поступает на вход формирователя импульсов (экстраполятора), который из отдельных дискрет формирует реальные импульсы заданной формы и продолжительности.

Соединение ИИЭ с экстраполятором образует реальный импульсный элемент.

Выход формирователя может быть соединен с непрерывной или цифровой частью системы.

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

Для формирователя нулевого порядка непрерывная функция в интервале дискретности принимает постоянное значение, равное решетчатой функции в начале интервала дискретности.

В этом случае формирователь соединяет ИИЭ с непрерывной частью системы, и процессы в нем описываются на основе дискретного преобразования Лапласа (рис. 11.1а).

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

В этом случае преобразование непрерывного сигнала в дискретный описывается на основе Z-преобразования.

Рис. 11.1. Структурные схемы импульсных элементов

а)- выходной сигнал непрерывная функция времени (ИИЭ первого рода)

б)- выходной сигнал решетчатая функция времени (ИИЭ второго рода)

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

- на основе дискретного преобразования Лапласа;

- на основе Z-преобразования.

Чтобы отличить математические модели, использующие разные математические представления, введём понятие ИИЭ первого и второго рода. В дискретном преобразовании Лапласа используется экстраполятор первого рода, выходом которого является непрерывная функция (рис. 11.1а), а при Z-преобразовании - экстраполятор второго рода, выходом которого является решетчатая функция (рис. 11.1б).

При создании математической модели на основе дискретного преобразования Лапласа (ИИЭ первого рода) используется понятие -функции и ИИЭ представляется модулятором (блоком умножения), на один вход которого подается непрерывный сигнал, а на второй вход – последовательность -функции (рис. 11.2).

Это позволяет сигнал на выходе модулятора представить непрерывной функцией, к которой применимо преобразование Лапласа.

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

Рис. 11.2. Представление идеального импульсного элемента как модулятора

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

,

которые можно отнести к непрерывной части системы, что упрощает структурную схему системы ( рис. 11.3 ).

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

Как известно, цифровые системы компенсируют три составляющие ошибок:

- ошибки задания;

- ошибки преобразования сигналов обратной связи;

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

Несмотря на то, что в структурной схеме рис. 11.3 компенсируется только составляющая ошибки задания, она часто приводится в технической, а особенно в учебной литературе. Внимание, которое отведено этой схеме совершенно не соответствует распространению её физических аналогов. Классическим примером этой схемы является радиолокационная следящая система (система слежения с помощью сканирования), осуществляющая сравнения величины отраженного сигнала с посылаем сигналом в данный момент времени.

Так как отраженный сигнал появляется спустя некоторое время, то траектория цели между двумя отсчетами интерполируется последовательным аналоговым корректирующим устройством, определяющим положение цели между моментами съема.

В этом случае аналоговое корректирующее устройство соединенного с аналоговой системой без дополнительных согласующих блоков, что соответствует структурной схеме рис. 11.3 и позволяет применить z-преобразование к произведению передаточных функций интерполятора (непрерывного корректирующего устройства) и объекта регулирования. Формирователь может запомнить импульсы на весь интервал , а может запомнить импульсы на части интервал дискретности на время .

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

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

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

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

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

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

Если в формирующем элементе осуществляется квантование по уровню и времени, то такую систему будем считать цифровой.

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

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

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

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

В импульсных системах с амплитудно-импульсной модуляцией информация передается амплитудой импульса при неизменной длительности.

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

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

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

Правда, микро ЭВМ помимо квантования по времени (шаг квантования по времени в микро ЭВМ определяется периодом смены информации, зависящей от быстродействия машины) осуществляет еще и квантование по уровню, который определяется числом разрядов, задаваемых для представления чисел.

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

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

Функциональная схема цифровой системы со стандартными обозначениями представлена на рис. 11.5.

Рис.11.5. Функциональная схема цифровой системы

11.3. Схема моделирования в переменных состояния

для дискретных систем

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

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

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

Через каждые секунд в блок задержки (регистр сдвига) записывается число и одновременно то число, которое хранилось в регистре, выводится из него.

Рассмотрим разностное уравнение .

Схема моделирования этого уравнения

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

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

- прямого программирования;

- параллельного программирования;

- последовательного программирования.

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

где - вход системы, а - выход.

Применим к этому уравнению Z-преобразование и получим

.

Обозначим через и координаты, которые характеризуют выходы соответствующих блоков задержки.

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

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

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

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

Тогда входы этих элементов задержки будут равны и , а уравнения состояния запишутся в виде

Эти уравнения можно представить в векторно-матричной форме

.

Используя стандартную запись векторов и матриц уравнения можно представить в компактной форме

Таким образом, для определения векторно-матричных уравнений дискретных систем необходимо по разностному уравнению или Z-передаточной функции изобразить схему моделирования. Затем выход каждого элемента задержки принять за переменную состояния. И, наконец, составить уравнения для входов каждого элемента задержки в зависимости от выходов каждого элемента задержки и входа системы.

11.4. Особенности моделирования микропроцессорных систем

Рассмотрим обоснованность использования классического Z-преобразования при моделировании систем автоматического управления с цифровым регулятором.

В качестве объекта управления выбираем отдельную координату манипулятора.

Система дифференциальных уравнений, описывающая исходную (без регулятора) структуру манипулятора имеет следующий вид:

и при подстановке исходных параметров имеет следующий вид переходного процесса (рис.11.6)

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

Передаточная функция регулятора при этом имеет вид

,

а график переходного процесса представлен на рис.11.7.

Рис. 11.6. Вид переходного процесса

Рис. 11.7. Переходный процесс системы с линейным регулятором

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

Передаточная функция регулятора при периоде квантования в 0,001 миллисекунду имеет вид

,

а график переходного процесса имеет тот же вид, что и на рис.11.7.

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

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

1) при Ткв = 0,001; 2) при Ткв = 0,01; 3) при Ткв = 0,1;

4) при Ткв = 1; 5) при Ткв = 0,005

Рис. 11.8 Дискретный регулятор с разными периодами квантования

Рис. 11.9. Переходные процессы дискретного регулятора

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

Округление коэффициентов Z-функции даже в третьем – четвертом знаке в некоторых системах приводит к потере регулятором своих статистических свойств. Такое свойство наиболее характерно для быстродействующих объектов и создает определенные сложности при реализации дискретной модели. Это положение отображено на рис. 11.10.

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

Рис.11.10. Переходные процессы исследуемого объекта с ограниченной точностью параметров дискретных регуляторов

При моделировании дискретного регулятора следует избегать еще одной инженерной ошибки: значение периода квантования по времени Ткв должно быть больше или равно значению Sample time, которое указывается при вводе величин в блоке дискретной tf -функции. Если это условие не выполняется, то регулятор также теряет свои свойства.

При выполнении данного условия переходные характеристики дискретного регулятора, изображенные на рис.11.11, соответствуют действительности. Но если условие не выполняется, то переходные характеристики регулятора, изображенные на рис.11.12, свидетельствуют о потере свойств регулятором.

1) при Ткв = 0,001; 2) при Ткв = 0,01; 3) при Ткв = 0,1;

4) при Ткв = 1; 5) при Ткв = 0,005

Рис.11.11 При разных Ткв, но одном Sample time = 0.001

1) при 0,001; 2) при 0,01; 3) при 0,1; 4) при 1; 5) при 0,005

Рис.11.12. При разном значении Sample time, но одном Ткв = 0,001

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

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

В MatLab имеется блок, объединяющий функции квантователя (ключ замыкаемый на бесконечно малое время) и запоминающего элемента - экстраполятор нулевого порядка

Следует отметить что выход экстраполятора имеет вид единичной ступенчатой функции и поэтому он точно восстанавливает постоянный сигнал

На рис.11.13 представлены структурные схемы разомкнутых систем регулирования, иллюстрирующие это положение.

Структурная схема 11.13.1) соответствует классической дискретной модели а 11.13.1 – 11.13.4) - ее аналогу с экстраполятором нулевого порядка.

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

При уменьшении отличия так же будут уменьшаться а при отличия исчезнут

Переходные функции четырех систем, представленные на рис.11.14, одинаковы.

Это объясняется тем, что команда c2d (переводящая линейный регулятор в дискретный) определяет Z-передаточную функцию дискретной системы с учетом экстраполяторов, стоящих на входах и выходах дискретных частей системы.

Рис.11.13. Структурные схемы разомкнутых систем регулирования при периоде квантования Ткв = 0,001

Рис.11.14. Переходные функции исследуемых систем

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

Значит, вместо регулятора дискретного преобразования можно пользоваться линейным регулятором с экстраполятором нулевого порядка. С физической точки зрения верной будет система, где экстраполятор стоит на входе и выходе линейного регулятора, т.к. в реальной микропроцессорной системе управления дискретизация параметров происходит как на вводе в ЦПУ (АЦП), так и на выходе (ШИМ).

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

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

11.5. Моделирование микропроцессорных систем. Постановка задачи

Большинство современных систем автоматического управления и регулирования являются микропроцессорными.

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

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

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

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

Модель такой системы имеет вид

и при стандартных параметрах моделирования ( время моделирования 1 секунда ) показывает переходный процесс

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

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

hd=c2d(h,50e-6,'matched')

Transfer function:

4.999 z - 4.999

---------------

z - 0.9995

Модель с дискретным регулятором имеет вид:

Параметры регулятора заданы в следующей форме:

Переходный процесс системы имеет вид:

Это связано с тем, что неверно задан параметр Sample time, оставленный, как значение по умолчанию. Его величина должна соответствовать времени преобразования управляющего сигнала, т.е. 50 микросекунд.

В этом случае переходный процесс системы имеет вид:

Как видим, переходный процесс системы с дискретным регулятором мало отличается от переходного процесса непрерывной системы управления.

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

Так что же, современные микропроцессорные системы с их быстродействием не имеют проблем дискретной реализации?

На самом деле, в этой модели много неучтенных нюансов работы микропроцессора, к которым относятся:

Ограничение разрядности аналого-цифрового преобразователя;

Использование в качестве выхода широтно-импульсного сигнала с ограниченной частотой выходного сигнала;

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

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

11.6. Моделирование микропроцессорных систем. Широтно-импульсная модуляция

Рассмотрим влияние на вид выходной характеристики системы моделирования дискретного выхода микропроцессорного регулятора.

Если проанализировать выходную характеристику дискретного регулятора, построенного по классическому Z-преобразованию, то можно увидеть следующее (для наглядности приведен участок переходной характеристики с дискретностью 50e-4 секунды):

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

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

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

Поэтому для организации выходных сигналов в микропроцессорных системах управления используется широтно-импульсная модуляция.

Ф ункциональная схема широтно-импульсного модулятора (ШИМ) имеет следующий вид:

Для определения параметров модели необходимо определить следующие параметры:

максимальная амплитуда выходного сигнала.

Это значение задается в качестве параметра усилителя амплитуды и определяет величину “1” сигнала блока ШИМ;

частота ШИМ. Этот параметр определяет частоту генератора пилообразного сигнала и, собственно, частоту широтно-импульсного сигнала;

диапазон изменения входного сигнала. Этот параметр определяет амплитуду генератора “пилы”.

Для реализации модели ШИМ воспользуемся следующими блоками системы Simulink:

Sine Wave – генератор синусоидального сигнала, который будем использовать в качестве источника входного сигнала без изменения параметров блока заданных по умолчанию;

Repeating Sequence – генератор пилообразного напряжения. Параметры блока задаем следующими - Time values = [0 0,01] – для удобства анализа работы модели, Output values = [-1 1] – диапазон изменения входного сигнала;

Sign – определение знака входного сигнала. Этот блок необходим для изменения полярности сигнала ШИМ;

Relational Operator – блок используется для сравнения уровней входного сигнала и генератора “пилы”, формирующий логическую “1” пока сигнал генератора не достиг уровня входного сигнала;

Gain – усилитель сигнала, который доведет единичный сигнал на выходе компаратора до уровня выходной амплитуды ШИМ;

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

Результирующая модель имеет следующий вид:

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

Смена знака работает корректно, а вот уровень выходного сигнала смещен. Нулевой уровень соответствует половине выходного сигнала

Таким образом, для корректной работы модели ШИМ необходимо иметь точку нулевого отсчета в генераторе пилообразного напряжения. Этого можно достичь использованием блока |Abs|, так как знак входного сигнала учитывается в блоке умножения. Амплитуда “пилы” при этом имеет диапазон сигнала 0…max(Вход), а модель имеет вид

и выходной сигнал, который полностью соответствует теоретическому сигналу при периоде ШИМ 0,01 секунды.

Всю модель можно объединить в подсистему и создать для нее маску ввода параметров

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

Модель системы имеет вид

Диапазон изменения входного сигнала составляет -320…500 при максимальном управляющем сигнале. Следовательно, в нашем случае, уровень входного и выходного сигналов составляет 500, а частоту ШИМ определим в 1 КГц, т.е. период ШИМ равен 0,001 секунды.

Максимальное значение шага интегрирования задает на порядок меньше периода ШИМ, т.е. 0,0001 секунды. При этом выходной сигнал модели имеет следующий вид:

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

Исключим возможное влияние неточного решения. Уменьшим шаг интегрирования в 100 раз. Выходной сигнал модели имеет следующий вид:

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

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

Причина здесь в точности работы генератора пилообразного напряжения. Заменим генератор “пилы” следующей схемой:

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

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

Даже при минимальном управляющем сигнале и шаге интегрирования равным 1/10 от частоты ШИМ выходные характеристики линейной и микропроцессорной моделей не отличаются

Так что же, влиянием ШИМ можно пренебречь? Очевидно, что для этой модели да, так как время переходного процесса объекта значительно больше периода ШИМ.

При более “быстром” объекте, или, что то же самое, большем значении периода ШИМ (например 0,01 секунды) выходная характеристика уже отличается от выхода линейной системы.

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

При периоде ШИМ 0,01 секунды выходной сигнал имеет следующий вид:

А при ограничении разрядности входного сигнала до 10 и периоде 0,001 секунды

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

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

11.7. Моделирование микропроцессорных систем. Аналого-цифровой преобразователь

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

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

Это свойство присутствовало ранее в ТАУ для классического Z-преобразования, однако, в микропроцессорном исполнении нельзя упускать другую особенность – точность преобразования. Точность преобразования входного сигнала определяется разрядностью АЦП и вносит дополнительную погрешность в работу регулятора.

Задача первого этапа моделирования микропроцессорной системы управления состоит в определении параметров АЦП, которые обеспечивают приемлемое функционирование системы. На рис 11.15 представлена функциональная схема АЦП.

При этом устройства, используемые в АЦП должны обладать следующими свойствами:

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

частота генератора прямоугольных импульсов должна быть такой, чтобы за время, соответствующее одному периоду генератора «пилы», количество импульсов попавших на вход счетчика не превысило разрядности АЦП;

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

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

Рис. 11.15. Функциональная схема АЦП

Для реализации модели АЦП воспользуемся следующими блоками системы Simulink:

Sine Wave – генератор синусоидального сигнала, который будем использовать в качестве источника входного сигнала без изменения параметров блока заданных по умолчанию;

Repeating Sequence – генератор пилообразного напряжения. Параметры блока задаем следующими - Time values = [0 50е-6] – время двух преобразований, Output values = [-1 1] – диапазон изменения входного сигнала;

Pulse Generator – генератор прямоугольных импульсов. Используем его для выработки импульсов заполнения счетчика. Задаем только один параметр блока – Period. При использовании десятиразрядного АЦП этот параметр будет иметь значение время преобразования/210;

Relational Operator – блок используется для сравнения уровней входного сигнала и генератора “пилы”, формирующий логическую “1” пока сигнал генератора не достиг уровня входного сигнала;

Logical Operator – “логический ключ”, разрешающий подачу прямоуголных импульсов на счетчик;

Counter из библиотеки Signal Management / Switches and Counters – счетчик. В качестве параметров задаем Counter size – User defined, а в поле Maximum count value – задаем значение 210-1, соответствующее максимальному значению десятиразрядного счетчика;

Pulse Generator 1 – генератор сброса показаний счетчика, имеет частоту равную частоте преобразования сигнала.

Этими блоками воспроизводится функциональная схема АЦП. На рис. 11.16 представлена модель АЦП.

Рис. 11.16. Модель АЦП

П ри запуске решения возникает ошибка. Она связана с тем, что на вход счетчика поступает логический сигнал, в то время как свойствами блока предусмотрен целый или вещественный тип. Дополним схему блоком автоматического преобразования типа сигнала Data Type Conversion из библиотеки Signal Attributes. В этом случае получим дополненную модель АЦП, представленную на рис. 11.17.

Рис.11.17. Дополненная модель АЦП

Теперь модель работает, однако время расчета очень велико, поскольку шаг моделирования должен быть меньше времени преобразования сигнала, т.е. менее 50*е-6 секунды.

Результат моделирования представлен на рис. 11.18.

Рис. 11.18. Результат моделирования

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

Для удаления регистрации процесса нарастания используем блок Sample and Hold из библиотеки signal Processing BlockSet – Signal Operations.

П реобразованная модель АЦП – рис.11.19.

Рис. 11.19. Преобразованная модель АЦП

Результат моделирования данного АЦП представлен на рис. 11.20

Рис. 11.20. Результат моделирования АЦП

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

В MATLAB 6.0 - 6.5 можно использовать блок Triggered Subsystem, который дает аналогичный результат. Используемая модель АЦП предложена на рис. 11.21.

Рис. 11.21. Используемая модель АЦП

Таким образом, полноценная модель аналого-цифрового преобразователя полностью подтверждает вывод о том, что при современном развитии аппаратной части микропроцессоров влияние АЦП на точность работы мала.

Однако на этапе моделирования использование такой модели может позволить определить минимальную разрядность и максимальное время преобразования сигнала, которые обеспечат достаточную точность управления объектом. Можно ли упростить модель АЦП, ускорив тем самым время моделирования? Воспользуемся блоком Idealized ADC quantizer из библиотеки Simulink Extras – Additional Discrete. В качестве параметров в блоке определяются Namber of converter bits (разрядность АЦП) и минимальное и максимальное значения входного сигнала. Упрощенная модель имеет следующий вид, изображенный на рис. 11.22.

Рис. 11.22. Упрощенная модель АЦП

Выходная характеристика полностью аналогична характеристике предыдущей модели. Время расчета практически не ощутимо.

В этой модели не учитывается время преобразования, что легко исправить, включив в модель блок Zero-Order Hold из библиотеки Discrete и задав в качестве параметра время преобразования.

Уточненная модель АЦП представлена на рис. 11.23.

Рис. 11.23. Уточненная модель АЦП

Ни время моделирования, ни точность расчетов при этом не изменяются.

В MATLAB 6.0-6.5 такого блока нет, но его можно с успехом заменить блоком quantizer библиотеки Discontinuities.

Параметр Quantization Interval определяет уровень квантования и определяется отношением диапазона входного сигнала к количеству уровней квантования (∆/2n).

Уточненная модель АЦП в MATLAB 6.0-6.5 - рис. 11.24.

Рис. 11.24.Уточненная модель АЦП в MATLAB 6.0-6.5

Параметр Sample Time определяет время преобразования и задается окном – рис. 11.25.

Рис. 11.25. Параметр Sample Time

Выходная характеристика при этом имеет вид, изображенный на рис. 11.26.

Рис. 11.26. Выходная характеристика

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

Убедимся, что блок полностью соответствует принципу работы АЦП, но без перевода выходного сигнала в другой диапазон значений.

Посмотрим выходной сигнал при 10-разрядном АЦП и времени одного преобразования 0,1 секунды – рис. 11.27.

Рис. 11.27. Выходной сигнал при 10-разрядном АЦП и времени одного преобразования 0,1 секунды

Представим выходной сигнал при 4-разрядном АЦП и времени преобразования 0,0001 секунды – рис. 11.28.

Рис. 11.28. выходной сигнал при 4-разрядном АЦП и времени преобразования 0,0001 секунды

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

Теперь сформируем модель исследуемой системы с учетом параметров АЦП. Для задания интервала квантования необходимо провести анализ диапазона изменения входных сигналов. Сигнал задания в нашем случае меняется в диапазоне 1…100, а сигнал канала обратной связи 0…160.

Окончательная модель АЦП имеет следующий вид – рис.11.29.

Рис. 11.29. Окончательная модель АЦП

Переходный процесс ничем не отличающийся от процесса в линейной системе. Однако при минимальном задающем воздействии наблюдается существенная разница в переходных процессах 1 и 2 – рис. 11.30.

Рис. 11.30. Переходные процессы 1 и 2

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

11.8. Моделирование микропроцессорных систем. Внутри процессорные расчеты

Рассмотрим поведение собственно программы расчета микропроцессорного регулятора. Основными отличительными особенностями микропроцессорного регулятора являются:

Дискретность изменения выходного сигнала во времени, обусловленная временем выполнения программы;

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

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

По формуле Мейсона такой передаточной функции соответствует структурная схема с двумя прямыми цепями от входа к выходу ( и ) и отрицательной обратной связью с передаточной функцией контура в разомкнутом состоянии . На основании этого можно составить следующую схему пооперационного выполнения функции регулятора:

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

Исполняемыми математическими операция программы микропроцессорного регулятора будут три операции сложения (блоки Sum1, Sum2 и Sum3), две операции умножения (блоки Gain и Gain1) и операция численного интегрирования (блок Integrator), которая сводится к операции сложения и элементу памяти, хранящему предыдущее значение на выходе блока.

Каждый блок структурной схемы регулятора, включая первый сумматор, с точки зрения микропроцессорной реализации – математическая операция, точность выполнения которой определяется разрядностью микропроцессора и базой (степенью точности) вычислений. Поясним это на примере. Пусть некая переменная имеет возможность изменяться в пределах [-50 … 50]. Так как диапазон изменения переменной имеет положительные и отрицательные значения, то для программирования это эквивалентно либо удвоению диапазона значения (расчеты со смещением начала отсчета), либо уменьшением точности вычислений на 1 разряд (старший разряд считается знаковым). Оба варианта равноценны с точки зрения точности вычислений (так как удвоение диапазона при смещении точки отсчета также вызывает уменьшение диапазона изменения значения переменной на один разряд). Конкретный метод выбирается программистом по своим предпочтениям. В модели мы будем придерживать варианта вычислений со знаковым битом. Это соответствует принятым вычислительным процедурам при программировании расчетов с фиксированной точкой.

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

Блок

регулятора

Минимальное значение выхода

Максимальное значение выхода

Точность представления

данных

8 бит

16 бит

SUM1

-59,5

100

0

-8

SUM2

-63,8

100

0

-8

SUM3

-313

500

2

-6

GAIN

-636

1 000

3

-5

GAIN1

-318

500

2

-6

INTEGRATOR

-5,9

14,6

-3

-11

Точность представления данных – это «вес» младшего разряда двоичного представления данных. Значение «-3» говорит о том, что минимальное значение, которым может быть представлена переменная равно , а, следовательно, при использовании восьмиразрядного процессора минимальное приращение выходной переменной регулятора на выходе блока SUM2 составляет , что превышает в восемь раз полное значение выхода интегратора. Полный же разброс оптимальных значений точности вычислений составляет диапазон от -3 до 3 для восьмиразрядного микропроцессора и от -5 до -11 для шестнадцатиразрядного.

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

Одним из них является Data Type Conversion. В нем указываются:

тип выходного сигнала Output data type mode: Specify via dialog для входных блоков и double на выходе модели регулятора;

разрядность выходной величины: в нашем случае sfix(8) или sfix(16);

точность представления числа в выбранной разрядности микропроцессора.

Блок суммирования имеет следующие параметры:

Simple time. Можно указать время дискретизации расчетов, а можно поставить (-1), что будет означать о наследовании значения из предыдущего блока;

в закладке Signal data types необходимо указать вид выходной величины Output data type mode и точность представления числа.

Необходимо поставить галочку в окошке Saturate on integer overflow (ограничить выходную величину при переполнении). При невыполнении этого пункта, в случае, когда выходная величина превысит заданную точность, выход переводится в область отрицательных значений, что приводит к неустойчивости системы в целом. При этом следует помнить о том, что в дискретной модели выходные величины некоторых блоков могут оказаться больше, чем они были в линейном аналоге, за счет того, что в начале переходного процесса, ввиду малости значений сигналов обратной связи и ограничения точности их воспроизведения, большое значение управляющего воздействия не уменьшается значительно дольше.

Блок Gain по первым двум вкладкам Main и Signal data types заполняется аналогично блоку суммирования Sum, но со своим значением точности вычислительных операций

В закладке Parameter data type определяется точность представления собственно коэффициента передачи блока.

Блок Discrete-Time Integrator служит для дискретного интегрирования входной переменной.

В окне параметров дискретного интегратора имеются следующие параметры:

Integration method – метод численного интегрирования;

Sample time – время дискретизации выходного сигнала.

Метод интегрирования выбирается из раскрывающегося списка. Возможен выбор одного из трех методов:

Forward Euler – прямой метод Эйлера;

Backward Euler – обратный метод Эйлера;

Trapeziodal – метод трапеций.

В вкладыше Signal data tapes указывается выходное представление значения Output data type mode, выбираемое из представляющихся ниже: single, double и т.п. имеется так же

Inherit via back propagation – наследование точности по свойствам предыдущего блока

Inherit via internal rule – представление по внутренним правилам

Назначение прочих параметров то же, что и для непрерывного интегратора:

External reset (внешний сброс) – тип внешнего управляющего сигнала, выбираемый из раскрывающегося списка (none – нет, rising – нарастающий, falling – спадающий, either – любой);

Initial condition source - источник начального значения выходного сигнала при интегрировании. В раскрывающемся списке можно выбрать внутренний (internal) или внешний (external) источник;

Initial condition (начальное состояние) – установка начального значения выходного сигнала при интегрировании (в виде числа, по умолчанию 0);

Limit output – включение/отключение ограничения выходного сигнала;

Upper saturation limit – верхний предел ограничения выходного сигнала (по умолчанию inf, т.е. машинная бесконечность);

Lower saturation limit – нижний предел ограничения выходного сигнала (по умолчанию inf, т.е. машинная бесконечность);

Show saturation port – управляет отображением порта, выводящего сигнал, который равен 1 если интегратор работает в режиме ограничения;

Show state port – управляет отображением порта состояния системы;

Absolute tolerance – абсолютная погрешность (по умолчанию автоматический выбор – auto).

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

Модель системы теперь имеет следующий вид:

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

Следует отметить, что все вышесказанное относится к блокам системы Simulink в пакетах Matlab версий 7 и выше.

Для более ранних версий пакета необходимо заменить все математические блоки на аналогичные блоки из библиотеки Fixed-Point.

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

Тогда в качестве типа выходной переменной следует указать sfix(N), а в качестве точности представления – 2^(k-N), где k – цифра, определяемая количеством разрядов для представления целой части максимально возможного значения параметра + 1 на учет смены знака.

Тогда для изменения разрядности используемого микропроцессора достаточно в рабочей области задать новое значение N.

Производим расчет при Т=8 и получаем следующий переходный процесс:

Как видим, вычисления с использованием восьмиразрядного процессора дают существенные искажения выходного сигнала. Эксперименты показали, что так будет не для всех типов регуляторов. Здесь ошибка связана с тем, что в установившемся режиме выходная величина регулятора стремится к нулю, а точность представления выходного блока составляет 2^2. Уже при использовании 10 разрядных вычислений ошибка практически исчезает, а при 16 разрядах переходные процессы дискретной и линейной систем не отличаются. Проверим теперь расчет при минимальном управляющем воздействии. Как видно из полученных результатов, фиксированная точность расчетов при использовании восьмиразрядного процессора и уменьшении управляющего сигнала в 100 раз приводят к полной неработоспособности системы (выходной сигнала равен нулю).

Повышение разрядности восстанавливает работоспособность.

Известны алгоритмы программирования с переменной точностью выполняемых расчетов. Простейшие из них повышают точность отдельных операций при уменьшении входного сигнала. В этом случае сигнал при минимальном управлении и восьмиразрядном процессоре будет аналогичен представленному выше сигналу с разрядностью 16. Ошибка в установившемся режиме обусловлена большим диапазоном уровня выходного сигнала блока регулятора, который в установившемся режиме стремится к нулю. Воспользуемся блоком автоматического определения масштабов вычислительных операций Fixed-Point Settings. С установкой параметра Logging Mode в состояние Min, max and Overflow блок определяет масштабы изменения выходов каждого блока. Если установить тип вычислений в состояние Data Type Override в состояние Scaled Doubles (выполнять повторные вычисления) то уже при восьмиразрядном процессоре выходная переменная дискретной системы полностью идентична выходу линейной системы.

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

11.9. Методика разработки модели с использованием блоков библиотеки Fixed-Point

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

Следует помнить, что такая модель, по своей сути, является нелинейной, и ее реализация возможна только моделированием в подсистеме simulink.

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

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

Одним из них является Data Type Conversion – рис.11.31.

В нем указываются следующее.

Выходная величина, которая принимается за туже, что и входная: Output data type mode: Specify via dialog или double.

Это зависит от того, где стоит этот блок: в начале дискретных преобразований (Specify via dialog) или в конце (double).

Разрядность выходной величины: в нашем случае sfix(8) или sfix(16)

Точность представления числа в выбранной разрядности микропроцессора.

Здесь необходимо сделать некоторые расчеты. Пусть нужно указать точность числа 14,56. Для этого определяем сколько разрядов необходимо для представления целой части числа – это 24=16.

Допустим, что микропроцессор 8-ми разрядный.

Тогда если не учитывать один разряд на знак, для представления дробной части числа остается 8-4=4, которое показывается со знаком минус, т.е. -4. Т.о., в окошке Output scaling value указывается 2-4. Если система реверсивная, то один разряд отводится на знак переменной и точность представления выходной величины составит 2-3.

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

Необходимо поставить галочку в окошке Saturate on integer overflow (ограничить выходную величину при переполнении).

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

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

В окошке Sample time указывается время дискретизации выходного сигнала.

Это время должно быть больше минимального шага интегрирования решателя дифференциальных уравнений (задается в меню Simulink parameters).

1 2

1 – при выходной величине Output data type mode: Specify via dialog;

2- при выходной величине Output data type mode: double

Рис. 11.31. Параметры блока Data Type Conversion

Следующим рассмотрим блок суммирования Sum, вид которого представлен на рисунке 11.32.

В закладке Main также указывается Simple time.

Можно указать тоже время, а можно поставить (-1), что будет означать о наследовании значения из предыдущего блока.

В закладке Signal data types необходимо указать вид выходной величины Output data type mode.

Здесь можно выбрать или Specify via dialog или Same as first input, что означает тоже вид числа на выходе, что и на входе.

Выбор представления выходной величины зависит от ее точности. Более точное представление будет при Specify via dialog.

1 2 3

1 – вкладка Main; 2 – вкладка Signal data types при выходной величине

Output data type mode: Same as first input; 3 - вкладка Signal data types

при выходной величине Output data type mode: Specify via dialog

Рис. 11.32. Параметры блока Sum

Блок Gain по первым двум вкладкам Main и Signal data types заполняется аналогично блоку суммирования Sum.

В закладке Parameter data type указывается информация о величине: Specify via dialog и sfix(8) – в зависимости от разрядности микропроцессора. ( рис. 11.33).

1 2

3 4

1 – вкладка Main; 2 – вкладка Signal data types при выходной величине Output data type mode: Same as input;

3 - вкладка Signal data types при выходной величине Output data type mode: Specify via dialog;

4 – вкладка Parameter data type

Рис. 11.33. Параметры блока Gain

Блок Discrete-Time Integrator служит для дискретного интегрирования входной переменной, его вид показан на рисунке 11.34.

В окне параметров дискретного интегратора имеются следующие параметры:

Integration method – метод численного интегрирования;

Sample time – время дискретизации выходного сигнала.

Метод интегрирования выбирается из раскрывающегося списка. Возможен выбор одного из трех методов:

Forward Euler – прямой метод Эйлера;

Backward Euler – обратный метод Эйлера;

Trapeziodal – метод трапеций.

В вкладыше Signal data tapes указывается выходное представление значения Output data type mode, выбираемое из представляющихся ниже: single, double и т.п. имеется так же

Inherit via back propagation – наследование точности по свойствам предыдущего блока

Inherit via internal rule – представление по внутренним правилам

Назначение прочих параметров то же, что и для непрерывного интегратора:

External reset (внешний сброс) – тип внешнего управляющего сигнала, выбираемый из раскрывающегося списка (none – нет, rising – нарастающий, falling – спадающий, either – любой);

Initial condition source - источник начального значения выходного сигнала при интегрировании. В раскрывающемся списке можно выбрать внутренний (internal) или внешний (external) источник;

Initial condition (начальное состояние) – установка начального значения выходного сигнала при интегрировании (в виде числа, по умолчанию 0);

Limit output – включение/отключение ограничения выходного сигнала;

Upper saturation limit – верхний предел ограничения выходного сигнала (по умолчанию inf, т.е. машинная бесконечность);

Lower saturation limit – нижний предел ограничения выходного сигнала (по умолчанию inf, т.е. машинная бесконечность);

Show saturation port – управляет отображением порта, выводящего сигнал, который равен 1 если интегратор работает в режиме ограничения;

Show state port – управляет отображением порта состояния системы;

Absolute tolerance – абсолютная погрешность (по умолчанию автоматический выбор – auto).

1 2

1 – вкладка Main; 2 – вкладка Signal data types

Рисунок 11.34. Параметры блока Discrete-Time Integrator

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

Тогда в качестве типа выходной переменной следует указать sfix(N), а в качестве точности представления – 2^(k-N), где k – цифра, определяемая количеством разрядов для представления целой части максимально возможного значения параметра + 1 на учет смены знака.

Тогда для изменения разрядности используемого микропроцессора достаточно в рабочей области задать новое значение N.

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

11.10. Сравнительный анализ дискретных моделей

Д ля анализа результатов моделирования двух вариантов дискретных моделей (Z-форма и модель с учетом разрядности микропроцессорных расчетов) проведем анализ результатов моделирования переходных процессов системы при периоде квантования Т = 0.001 секунды и восьмиразрядном процессоре.

Результаты моделирования имеют следующий вид

Теперь увеличим разрядность процессора, при том же периоде квантования. Результаты моделирования

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

У меньшим величину периода квантования до величины 0.0001 секунды при использовании восьмиразрядного процессора

Уменьшение периода квантования практически не оказывает влияния на точность расчетов микропроцессорной модели.

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

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

Наконец, воспользуемся еще одной функцией, которую предоставляет пакет Fixed-Point – автоматическое определение точности выходных переменных при ограничении разрядности вычислительных процедур.

Для этого заходим в блок установки параметров Fixed-Point: Tools>Fixed-Point Settings...

Устанавливаем параметр Data type override в положение True doubles и смотрим результаты моделирования при восьмиразрядном процессоре и периоде квантования Т=0.0001 секунды (наихудший вариант при фиксированной точности выходных переменных)

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

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

сколько времени дополнительно потребуется процессору для постоянного контроля уровня выходных переменных структуры регулятора;

как скажется увеличение сложности программного обеспечения адаптивного (по точности расчетов) регулятора на работоспособности всего программного обеспечения в целом.

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

Таким образом, моделирование микропроцессорных систем управления в пакете MATLAB позволяет решить следующие задачи:

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

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

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

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