Автоматизированное управление электроприводами

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

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык русский
Дата добавления 16.12.2014
Размер файла 2,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Содержание

1. Микропроцессорные средства управления электроприводами

2. Современные микропроцессорные средства управления ЭП

3. Регулирование угловой скорости вращения двигателя постоянного тока с независимым возбуждением при помощи ШИР регулятора

3.1 Выбор типа двигателя постоянного тока

3.2 Выбор датчика скорости и периферийных устройств

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

3.4 Составление алгоритма и текста программы

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

1. Микропроцессорные средства управления электроприводами

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

Микроконтроллер (МК) - устройство ,выполняющее функции логического анализа (сложные последовательности логических операций) и управления; реализуемое на одной или нескольких БИС. МК - это микропроцессорное устройство, в котором за счёт сокращения функций по выполнению арифметических операций можно уменьшить его аппаратную сложность и развить функции логического управления.

Современные микропроцессоры, предназначенные для управления электроприводами, оперируют с 16-разрядными словами - это количество информации, обрабатываемой за цикл работы МП.

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

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

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

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

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

В настоящее время выпускается и используется большое число типов программируемых контроллеров: Деконт, MCS-196/296 и другие.

2. Современные микропроцессорные средства управления ЭП

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

Портфель специализированных микроконтроллеров и цифровых сигнальных процессоров (DSC) компании Freescale достаточно объемен. Существует множество решений на базе 8/16/32-битных процессоров с универсальными модулями ШИМ для управления различными типами электродвигателей: синхронными и асинхронными, коллекторными двигателями постоянного тока и бесколлекторными, шаговыми и вентильно-индукторными машинами. В данной работе речь пойдет о двух наиболее интересных аппаратных продуктах, а также о специализированных программных библиотеках для разработки системы.

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

Рис. 1 Система управления асинхронным электродвигателем на базе MC3PHAC

Алгоритм управления, реализованный в MC3PHAC, выполняет следующие задачи:

· Формирует шесть PWM-сигналов управления драйверами силовых ключей трехфазного инвертора напряжения. Форма выходного напряжения синусоидальная, частота коммутации 5,291...21,164 кГц. В алгоритме управления ключами предусмотрена возможность регулировки мертвого времени в пределах 0,5...32 мкс. Имеется вход аппаратной защиты силовых ключей.

· Автоматически восстанавливает сигналы управления ключами инвертора после снятия сигнала защиты.

· Реализует закон управления

U/F=const

с программируемой пользователем вольтдобавкой при нулевой частоте. Предельное значение частоты F составляет 50 или 60 Гц. Скорость разгона или торможения можно задавать в пределах 0,5...128 Гц/с. Соответствующий вход может быть использован для организации системы управления, замкнутой по скорости или по иному технологическому параметру. С целью подавления шумов аналоговый сигнал на входе текущего задания по скорости обрабатывается с использованием алгоритма цифровой фильтрации, реализованной на основе 24-разрядного представления данных.

· Осуществляет управление режимами работы электропривода по логическим сигналам «пуск/останов» и «направление вращения».

Помимо специализированного контроллера MC3PHAC с «заводским» программным обеспечением компания Freescale предлагает достаточно широкую линейку высокопроизводительных 16-разрядных DSC-контроллеров семейства 56F8xxx (см. рис. 2), позволяющих пользователю реализовывать свои собственные алгоритмы управления электроприводом.

Рис. 2 DSC-контроллеры семейства 56F8xxx

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

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

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

· Компактный ассемблерный и Си-код;

· Простота программирования;

· Высокая производительность и расширенное адресное пространство.

Как видно из рис. 2, семейство цифровых сигнальных контроллеров 56F8xxx состоит из трех семейств: 56F80xx, 56F81xx, 56F83xx, построенных на базе ядра 56800E и различающихся по производительности, объему памяти и набору перефирийных устройств (таблица 1).

DSC семейства 56F8xxx

56F80xx

56F81xx

56F83xx

Производительность, MIPS

32

40

60

Объем Flash-памяти, кБ

12...64

32...512

32...512

Объем RAM-памяти, кБ

до 8

до 16

до 32

Каналов 12-битн. АЦП

до 16

до 16

до 16

Выходов ШИМ

до 6

до 6

до 12

Последовательные интерфейсы

до 2 SCI, до 2 SPI, I2C, CAN

SCI, SPI

до 2 SCI, до 2 SPI, до 2 CAN

GPIO

до 53

до 76

до 76

Число выводов

32...64

48...160

48...160

Краткое описание ядра 56800Е

16-битное ядро (рис. 3) цифровых сигнальных контроллеров построено на основе Гарвардской архитектуры.

Рис. 3 Ядро 56800Е цифровых сигнальных контроллеров 56F8xxx

Содержит умножитель, осуществляющий 16x16-битную операцию умножения с накоплением за один цикл, четыре 36-битных аккумулятора, 32-битное арифметическое и логическое мультибитное сдвигающее устройство, три внутренних адресных шины, четыре внутренних шины данных. Организация работы шин данных сделана таким образом, чтобы выполнять математическую операцию и две пересылки данных из одной области в другую одновременно. Система команд поддерживает как команды цифровой обработки сигнала, так и команды управления. Типы операндов: байты (8 бит), 16-битные слова (целые и дробные), 32-битные слова (дробные). Аккумулятор представляет собой 36-битный регистр. Вектора прерываний могут располагаться в любом месте памяти. Поддерживается четыре уровня приоритетов вложенных прерываний. Программные системные прерывания на каждом уровне приоритета. Поддерживаются быстрые прерывания, позволяющие ускорить обработку события в два-три раза.

Периферийные устройства семейства

Самый богатый набор периферийных устройств содержит серия 56F83xx (см. рис. 4).

Рис. 4 Ядро и периферийные устройства серии 56F83xx

Наличие двух ШИМ, двух АЦП и двух квадратурных модулей позволяет создавать высокоэффективные системы с двумя инверторами напряжения. Особенно следует отметить PWM-модуль, способный выполнять следующие функции:

· Генерирование шести независимых или трех комплементарных пар PWM-сигналов. Допускается произвольное сочетание комплементарного и независимого режимов работы; например, два выхода формируют комплементарные сигналы управления, остальные четыре выхода работают в независимом режиме;

· Реализация двух способов формирования PWM-сигналов: одностороннюю «фронтовую» или двухстороннюю «центрированную» PWM-модуляцию;

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

· Вставка программируемого «мертвого» времени в комплементарном режиме работы;

· Автоматическая коррекция ширины импульса управления верхним и нижним ключами одной фазы для компенсации влияния «мертвого» времени;

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

Серия 56F81хx отличается следующим набором периферийных устройств:

· Подстраиваемый внутренний релаксационный и кварцевый генератор;

· Программируемая ФАПЧ;

· До 6 выходов ШИМ с 4 прерываниями по ошибке;

· До 8 каналов 12-битного АЦП;

· Внутреннее или внешнее опорное напряжение Vref;

· Синхронизация между ШИМ и АЦП;

· Четыре 16-битных таймера общего назначения;

· SCI (совместим с LIN), SPI, I2C;

· До 26 GPIO.

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

· До 6 выходов ШИМ;

· До 16 каналов 12-битного АЦП;

· Рабочая частота периферийных таймеров и PWM модуля до 96 МГц;

· До 2 12-битных ЦАП;

· До 2 аналоговых компараторов;

· До 8 16-битных таймера общего назначения;

· До 53 GPIO;

· SCI, SPI, I2C, CAN.

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

Рис. 5 Схема подключения ЦАП и аналогового компаратора в системе защиты по току

В качестве отладочного средства для серии 56F83xx компания Freescale предлагает отладочную плату MC56F8300DSK. На плате установлен DSC-контроллер 56F8323 и датчик электрического поля MC33794 для бесконтактного обнаружения объекта, а также организации бесконтактных сенсорных клавиатур. На плате реализован JTAG-to-LPT-конвертер, упрощающий отладку программ пользователя. Отладочный комплект включает в себя все необходимые составляющие для быстрого старта: CD с пакетом программного обеспечения «CodeWarrior Development Studio» с бесплатной лицензией для программ, объем которых не превышает 16 кбайт, блок питания и необходимые кабели.

Для семейства 56F80xx предлагается демонстрационная плата DEMO56F8013. С ней можно достаточно быстро провести разработку приложения, благодаря установленному на плате переходному разъему, позволяющему подключать ее непосредственно на макетную плату системы. Помимо переходного разъема на плате присутствуют разъем интерфейса RS-232, светодиоды и кнопки. В комплект входит непосредственно плата DEMO56F8013, руководство по установке, «CodeWarrior Development studio» на компакт-диске, блок питания, JTAG-LPT-адаптер с кабелем, исходные тексты демонстрационных программ на компакт-диске.

Помимо электронных компонентов для построения систем управления электроприводом компания Freescale Semiconductor предлагает разработчикам специализированную библиотеку - Motor Control Library for 56800E, которая свободно скачивается с сайта производителя. Библиотека представляет собой набор из 32 функций, часто используемых при построении систем управления электроприводом, написанных на ассемблере и скомпилированных в среде CodeWarrior для DSC-контроллеров. С библиотеками поставляется подробная документация с описанием всей внутренней математики реализованных функций. На рисунке 5 представлен состав библиотеки.

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

· Преобразования. Содержит различные алгоритмы перехода из трехкоординатной системы в двукоординатную и обратно (см. рис. 6);

Рис. 6 Состав библиотеки Motor Control Library for 56F800E

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

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

Рис. 7 Примеры работы функций преобразования

· Резолверы - содержит набор функций по вычислению текущей скорости ротора, угла поворота ротора, задания величины нового угла поворота ротора и т.д.;

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

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

Рис. 8 Пример работы функции обычной векторной модуляции

3. Регулирование угловой скорости вращения двигателя постоянного тока с независимым возбуждением при помощи ШИР регулятора

микропроцессорный электропривод программирование двигатель

В начале приведём алгоритм последовательности наших действий по реализации функции регулирования угловой скорости:

а) выбор типа двигателя постоянного тока:

б) выбор датчика скорости и периферийных устройств,;

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

г) составление алгоритма и текста программы;

3.1 Выбор типа двигателя постоянного тока

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

Двигатели рассчитаны на эксплуатацию при высоте над уровнем моря до 1000 метров, температуре окружающей среды от +1 до +40 С°, относительной влажности окружающего воздуха 80% при температуре +20 С°. Двигатели выпускаются в общепромышленном и экспортном исполнении.

Для начала выберем марку двигателя и приведем его паспортные данные:

Тип двигателя

Мощность, кВт

Частота вращения, об/мин

Номинальное напряжение

Ток якоря, А

Масса, кг

4ПБ1001L1

1,62

3000

220

8,8

37

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

Рис. 9 Схема ШИР

Он представлен в виде тиристоров Т1 и Т2, диода Д2, а также конденсатора Ск и индуктивности Lк, которые в совокупности с диодом Д2 образуют колебательный контур (рис. 9).

В схеме широтно-импульсного регулятора тиристор Т1 является основным (или рабочим) и непосредственно выполняет функции силового ключа К. Тиристор Т2 является вспомогательным и служит для запирания основного тиристора Т1. Конденсатор Ск в схеме ШИР выполняет функцию формирования напряжения запирающего тиристоры Т1 и Т2. Индуктивность Lк служит для обеспечения колебательного перезаряда конденсатора Ск. Диод Д2 обеспечивает прохождение тока через индуктивность Lк только в одном направлении.

Если обозначить длительность нахождения ключа К в замкнутом положении за t1, а в разомкнутом положении - t2, и при этом не изменяя суммы (t1 и t2), которая называется периодом коммутации, изменять соотношение между t1 и t2, то отношение

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

.

Частота замыкания и размыкания 1000 Гц выбрана с целью снижения коммутационных перенапряжений в ключе К.

Временные диаграммы мгновенных значений системы ШИР-Д представлены на рис. 10.

Рис. 10 Временные диаграммы мгновенных значений системы ШИР-Д

Уравнение механических характеристик системы ШИР-Д:

(1)

При этом семейство механических характеристик системы ШИР-Д представлено на рис. 11:

Рис. 11 Семейство механических характеристик системы ШИР-Д

Наличие нерегулируемой зоны в области малых скоростей объясняется тем, что при скоростях, близких к нулю, ЭДС двигателя также стремится к нулю

И в промежутке времени t2 ток в якорной цепи протекать не будет, следовательно, момент отсутствует

Преимущества системы ШИР-Д по сравнению с системой Г-Д:

1) Лучшие массогабаритные показатели;

2) Высокий КПД.

Преимущества системы ШИР-Д по сравнению с системой УСП-Д:

1) Отсутствие отрицательного влияния на питающую сеть.

Недостатки системы ШИР-Д:

1) Необходимость в наличие идеально сглаженного входного напряжения;

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

Используя паспортные данные выбранного двигателя рассчитаем неизвестные нам величины в уравнении (1), а именно: , приняв RШИР50% от RД.

Номинальный :

(2)

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

- номинальный к.п.д. двигателя;

- номинальная механическая мощность на валу двигателя.

Номинальная угловая скорость

(3)

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

Номинальный электромагнитный момент

Вт/с (4)

Величина является неизвестной. Для ее определения обычно используется соотношение

B, (5)

отсюда

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

, (7)

откуда

Ом, (8)

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

Ом, (9)

Таким образом, определив активное сопротивление обмотки якоря, и, подставив его значение в выражение для ЕНОМ (5), определим величину множителя как отношение

B/c, (10)

После несложных преобразований с учетом найденных величин получим функцию зависимости t1 от и t2 от t1:

(11)

(12)

В результате полученные формулы (11) и (12) выражают зависимость изменяемых величин в процессе управления t1 и t2 от регулируемой величины .

3.2 Выбор датчика скорости и периферийных устройств.

Отдадим предпочтение цифровому датчику скорости марки HOA096X/097X так как в этом случае нет необходимости в использовании АЦП и датчик имеет хорошие технические характеристики. Технические характеристики датчика сведены в таблицу:

Рис. 12

Также нашему вниманию предлагается электрическая схема устройства и графики некоторых режимов его работы:

Рис. 13

Рис. 14

Наименование серии

Внешний вид

Форма и размеры апертуры перед детектором

Форма и размеры апертуры перед излучателем

Ширина просвета (щели)

Траб, °С

Варианты функциональной организации

Особенности

PDF

HOA096X/097X

прямоугольная вертикальная, 0,25x1,52 мм или 1,27x1,52 мм

прямоугольная вертикальная, 1,27x1,52 мм

3,18 мм

-40…+70

E, F

* 4 монтажных опции * прямой ТТЛ интерфейс * буферная и инверсная функции * высокое разрешение * материал корпуса: полисульфон

Индикатор

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

Внешний вид индикатора приведён на рис. 12

Рис. 15 Внешний вид НТ1610

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

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

Таблица соответствия передаваемых кодов отображаемым цифрам приведена на рис.13.

Рис. 16 Таблица соответствия передаваемых кодов отображаемым цифрам

Как уже говорилось выше, номинальное питающее напряжение на индикаторе 1.5 В. Мы формируем его на цепочке, состоящей из резистора и двух включенных в прямом направлении кремниевых диодов широкого применения. При токе через диоды 2…3 мА падение напряжения на них в сумме составляет около 1,4 В, что на практике вполне приемлемо.

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

Драйвер для управления тиристорами.

Выбираем изолированный модуль запуска тиристоров ИМЗ 4.

Основные технические данные и характеристики:

Модуль предназначен для формирования импульсов управления для тиристоров (симисторов) с отпирающим током управления до 350 мА и напряжением на управляющем электроде до 5 В.

Отличительные особенности модуля:

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

- один изолированный канал управления;

- интегрированные в модуль активные токовый ограничитель (А/D) на входе и преобразователь формы (D/A) на выходе модуля обеспечивают идентичность характеристик и стабильное управление за счёт патентованного способа преобразования сигнала;

- в модуле отсутствуют оптоэлектронные компоненты;

- высокая электромагнитная и коммутационная устойчивость;

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

Область применения: управление тиристорами большой мощности.

Структура условного обозначения модуля:

И - изолированный

М - модуль

3 - запуска

4 - порядковый номер модификации конструкции

Габаритные и присоединительные размеры Входная секция

вывод 1 для подключения общего провода входной секции - 0В;

вывод 2 для подключения управления модулем;

вывод 3 для подключения + (12--15) В.

Выходная секция

вывод 4 для подключения управляющего электрода тиристора;

вывод 5 для подключения катода тиристора.

Рис. 17

Рис. 18

Рис. 19 Функциональная схема модуля

Схема сопряжения с МК приведена на рис. 17

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

В данном курсовом проекте выбираем микроконтроллер (МК) семейства х51. С этими контроллерами по-прежнему работает не меньше разработчиков чем с AVR или PIC-контроллерами, не говоря уже о любых других.

В качестве языка программирования используем DOS-ассемблер TASM.

Структурно процесс управления можно разбить на два канала:

- информационный канал;

- канал управления.

Информационный канал реализуется посредством цифрового датчика скорости, таймера 1 (входящего в состав архитектуры МКх51) и семисегментного жидкокристаллического индикатора. Цифровой сигнал с датчика скорости поступает на вход МКх51, он же линия порта Р1.3. Пока просвет датчика не заблокирован на его выходе будет высокий уровень. В течение этого времени таймер 1 накапливает значения регистров TL0(младший байт) и TLH(старший байт) с тактовой частотой 1 МГц. Как только просвет датчика блокируется - вход опрокидывается, в результате чего в микропроцессоре устанавливается флаг прерывания, который вызывает подпрограмму прерывания и упомянутый флаг автоматически сбрасывается. После выполнения подпрограммы - TL0 и TLH таймера 1 обнуляются, предварительно занеся содержимое своих ячеек в регистры R0 и R1 соответственно. Полученное двухбайтное число численно равно периоду выраженному в микросекундах, за время которого вал двигателя совершает полный оборот. Так как нам необходимо получить на индикаторе значение , мы преобразуем полученное число по формуле

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

Канал управления включает в себя линии порта Р2(младший байт), линию порта Р3.3(старший байт), а также линии порта Р3.1 и Р3.2. Первые две группы линий предназначены для ввода желаемого значения в двоичной форме. Две последние линии Р3.1 и Р3.2 необходимы для подачи управляющих импульсов на силовой и вспомогательный ключи посредством драйвера управления тиристорами (управление производится нулём!). Осуществить данное управление также помогает таймер 0. На вход мы программно подаём высокий уровень. В зависимости от задаваемого значения мы также программно заряжаем таймер 0 на величину t1 или t2 (в зависимости от очерёдности). После переполнения таймера 0 вызывается подпрограмма прерывания, заставляющая процессор выполнить необходимые команды, в том числе подать управляющий импульс на один из выходов Р3.1 или Р3.2. Важно отметить, что данная процедура должна отличаться высокой точностью и своевременностью по сравнению с процессом индикации. Для этого мы программно устанавливаем приоритет прерываний для таймера 0, чтобы при возникновении неопределенности в выборе обработки прерываний микропроцессор безоговорочно вызвал подпрограмму прерывания от таймера 0 (прошу прощения за каламбур).

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

(13)

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

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

Управление таймерами/счётчиками осуществляется при помощи битов, входящих в состав регистров TMOD и TCON. Назначение битов первого из них приведено на рис. 12, второго - на рис. 13 - 14.

Рис. 20 Структура регистра TMOD

Рис. 21 Структура регистра TCON (старшие 4 бита)

Рис. 22 Структура регистра TCON (младшие 4 бита)

Структура регистра IE отвечающего за прерывания изображена на рис. 15.

Рис. 23 Структура регистра IE

Для того, чтобы, например, заставить МК вначале обрабатывать прерывания от таймера/счётчика 1, а только затем все остальные, прерыванию от таймера нужно присвоить высокий приоритет - установить в 1 соответствующий бит в регистре приоритетов IP (см. рис. 16).

Рис. 24 Структура регистра IP

Рис. 25 Общая структурная схема сопряжения периферийных устройств с МКх51

3.4 Составление алгоритма и текста программы

В общем, решение задачи регулирования угловой скорости вращения ДПТ с НВ условно можно разделить на шесть процедур (рис.)

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

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

Рис. 26 Общий алгоритм программы

Рис. 27

После данного преобразования составим алгоритм отображения цифрового сигнала на семисегментном ЖК индикаторе.

Рис. 28

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

Рис. 29

Рис. 30

;

CHISLO1.EQU 65536-CHISLO11

CHISLO2.EQU 65536-CHISLO22+CHISLO11

DATIN0.EQU P1.0 ; к выводу DI индикатора

CLKIN0.EQU P1.1 ; к выводу SK индикатора

;

.ORG 0 ; нижеследующая команда с адреса 0

LJMP WORK ; на команду после метки WORK

.ORG 0BH

LJMP TIMER0

.ORG 01BH

LJMP TIMER1

.ORG 100H

WORK: ; расчет длительности импульсов t1 и t2

CLR PSW.3

CLR PSW.4

MOV ACC.0, P3.3 ; загрузка старшего байта

MOV B, P2

MOV DPL, B

MOV DPH, A

ADD DPL, B

ADD DPH, A

DIV DPTR, #3

MOV A, DPTR

ADD A, #25

MOV B, #17

MUL A, B

MOV DPL, A

MOV DPH, B

DIV DPTR, #4

ADD DPTR, #3

MOV RO, DPL ; младший байт t1

MOV R1, DPH ; старший байт t1

MOV DPTR, #1000

CLR C

SUBB DPL, R0

SUBB DPH, R1

MOV R6, DPL ; младший байт t2

MOV R7, DPH ; старший байт t2

;

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

;

SETB P3.1 ; выход сигнала осуществляется на силовой тиристр

CLR P3.2 ; выход сигнала осущ. на вспомогательный тиристр

SETB TCON.3 ; подаём на вход INT0 высокий уровень с тем чтобы

; таймер 0 прерывался только при переполнении

CLR TR0

CLR TR1

SETB IP.3 ; устанавливаем бит приоритета таймера 1

CLR EА ; запрещаем все прерывания

MOV TMOD, #10011001B

SUBB R1, R7

JNC SJMP CHISL

MOV DPL, R0

MOV DPH, R1

MOV CHISLO11, DPTR

MOV DPL, R6

MOV DPH, R7

MOV CHISLO22, DPTR

CHISL:

MOV DPL, R0

MOV DPH, R1

MOV CHISLO22, DPTR

MOV DPL, R6

MOV DPH, R7

MOV CHISLO11, DPTR

MOV DPTR, #CHISLO1

MOV TL0, DPL

MOV TH0, DPH

SETB ET0 ; задаём таймерам режим работы

SETB ET1

SETB EA ; разрешаем все прерывания

SETB TR0

SETB TR1

; работаем со вторым банком

SETB PSW.3

; преобразование длительности импульса с таймера 1 в

MOV R7, #01011111B ; запись в регистры чила 2*1000000 мкс

MOV R6, #11011111B

MOV R5, #10110001B

;

; деление трёхбайтного числа R7R6R5 на

; двухбайтное R1R0 c получением двухбайтного частного R5R4

;

MOV A, #8

DCLK_32:

PUSH ACC

CLR C

MOV A, R5

RLC A

MOV R5, A

MOV A, R6

RLC A

MOV R6, A

MOV A, R7

RLC A

MOV R7, A

PUSH PSW

PER1_32:

CLR C

MOV A, R6

SUBB A, R0

MOV R6, A

MOV A, R7

SUBB A, R1

MOV R7, A

JC PER2_32

POP PSW

PER3_32:

INC R4

SJMP PER4_32

PER2_32:

POP PSW

JC PER3_32

MOV A, R6

ADD A, R0

MOV R6, A

MOV A, R7

ADDC A, R1

MOV R7, A

PER4_32:

POP ACC

DJNZ ACC, DCLK_32

MOV R2, R4 ; заносим полученное число в регистры R3R2

MOV R3, R5 ; для удобства написания дальнейшей программы

Рис. 31

Рис. 32

; результат преобразования в R7R6R5R4

; вывод двоично-десятичного числа на ЖК индикатор

; так как значение не превосходит 3х разрядов, то при индикации рассматриваем

; R4 и младшую тетраду R5

MOV ACC.0, R4.3 ; старший разряд первого числа

MOV ACC.1, R4.2

MOV ACC.2, R4.1

MOV ACC.3, R4.0 ; младший разряд

ACALL SIMBOL1 ; вызов подпрограммы, осуществляющей индикацию

MOV ACC.0, R4.7 ; старший разряд второго числа

MOV ACC.1, R4.6

MOV ACC.2, R4.5

MOV ACC.3, R4.4

ACALL SIMBOL1

MOV ACC.0, R5.3

MOV ACC.1, R5.2

MOV ACC.2, R5.1

MOV ACC.3, R5.0

ACALL SIMBOL1

SETB DATIN0

SIMBOL1:

ANL A, #00001111B ; зануляем старшую тетраду аккум.

CJNE A, #0, SIMB12 ; если аккумулятор не равен 0, то переход

MOV A, #10 ; потому что в данном индикаторе символу 0

; соответствует код 1010 (см. таблицу)

SJMP SIMB12

SIMB12:

CLR CLKIN0

SWAP A ; меняем местами старшую и младшую тетраду

ACALL BIT1

ACALL BIT1

ACALL BIT1

ACALL BIT1

SETB CLKIN0

RET ; выход из подпрограммы

BIT1:

RLC A ; сдвиг аккум. влево через вит переноса С

MOV DATIN0, C ; вызов данных в ЖК-дисплей

SETB CLKIN0 ; импульс

CLR CLKIN0 ; защелкивание

RET

;

LJMP WORK ; зацикливаем программу

;

; описание подпрограмм для таймеров

;

TIMER0:

CLR TRO

CLR EA ; запрещаем все прерывания

CLR PSW.3 ; переходим к нулевому банку

PUSH PSW ; загружаем данные в стек

PUSH ACC

PUSH DPL

PUSH DPH

MOV C, P3.2 ; меняем местами посредством бита переноса

MOV P3.2, P3.1 ; значения на выходе портов Р3.1 и Р3.2

MOV P3.1, C

JNС SJMP POZ1

MOV DPTR , #CHISLO2 ; в зависимости от значения С загружаем в

POZ1: ; регистр DPTR число соответствующее

MOV DPTR, #CHISLO1 ; ближайшему ожидаемому импульсу на выходе МК

MOV TL0, DPL

MOV TH0, DPH

POP DPH ; выводим данные из стека

POP DPL

POP ACC

POP PSW

SETB PSW.3 ; вновь переходим в первый банк

SETB EA ; разрешаем прерывания

SETB TR0

RET1

TIMER1:

CLR TR1

CLR EA

SETB PSW.3

PUSH PSW ; загружаем данные в стек

PUSH ACC

PUSH DPL

PUSH DPH

MOV R0, TL0

MOV R1, TH0

POP DPH ; выводим данные из стека

POP DPL

POP ACC

POP PSW

RET1

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

1) Фрунзе А.В. “Микроконтроллеры? Это же просто!”Т.1.-М.:ООО”ИД СКИМЕН” , 2002.

2) Онищенко Г.Б. Электрический привод. Учебник для вузов - М.: РАСХН, 2003.

3) Боборыкин А.В., Липовецкий Г.П. и др. Однокристальные микро-ЭВМ, - М.: МИКАП, 1994.

4) Курс лекций по дисциплине “Элементы систем автоматики”.

5) Курс лекций по дисциплине “Теория электропривода”.

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.