Микропроцессорные средства в электроприводе

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

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

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

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

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

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

Федеральное государственное автономное образовательное учреждение высшего образования «Южно-Уральский государственный университет (национальный исследовательский университет)»

Политехнический институт

Кафедра Техника и технологии в металлургии

Пояснительная записка к курсовому проекту

По дисциплине «Микропроцессорные средства в электроприводах и технологических комплексах»

по теме «Микропроцессорные средства в электроприводе»

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

Оглавление

Введение

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

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

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

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

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

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

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

Введение

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

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

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

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

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

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

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

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

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

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

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

Портфель специализированных микроконтроллеров и цифровых сигнальных процессоров (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).

Таблица 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 с пакетом программного обеспечения «CodeWarriorDevelopmentStudio» с бесплатной лицензией для программ, объем которых не превышает 16 кбайт, блок питания и необходимые кабели.

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

Помимо электронных компонентов для построения систем управления электроприводом компания FreescaleSemiconductor предлагает разработчикам специализированную библиотеку - MotorControlLibraryfor 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)

Отсюда

(6)

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

, (7)

Откуда

Ом, (8)

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

Ом, (9)

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

B/c, (10)

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

(11)

(12)

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

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

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

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

Наимено-вание

серии

Внешний вид

Форма и размеры

апертуры перед

детектором

Форма и размеры

апертуры перед

излучателем

Ширина

просвета

(щели)

Траб,

°С

Варианты

функциона-льнойорга-низации

(см. табл. выше)

Особенности

PDF

HOA096X/097X

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

0,25x1,52 мм

или

1,27x1,52 мм

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

1,27x1,52 мм

3,18 мм

-40…+70

E, F

* 4 монтажных опции

* прямой ТТЛ интерфейс

* буферная и инверсная функции

* высокое разрешение

* материал корпуса: полисульфон

E

(10 кОм нагрузочный резистор,

выход `0` когда просвет

заблокирован)

F

(10 кОм нагрузочный резистор,

выход `1` когда просвет

заблокирован)

Индикатор

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

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

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

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

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

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

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

Как уже говорилось выше, номинальное питающее напряжение на индикаторе 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 для подключения катода тиристора.

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

Схема сопряжения с МК приведена на рис. 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

;

CHISLO1 .EQU 65536-CHISLO11

CHISLO2 .EQU 65536-CHISLO22+CHISLO11

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

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

;

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

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

.ORG 0BH

LJMP TIMER0

.ORG 01BH

LJMPTIMER1

.ORG 100H

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

CLRPSW.3

CLRPSW.4

MOVACC.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

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

MOV DPTR, #1000

CLR C

SUBB DPL, R0

SUBB DPH, R1

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

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

;

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

;

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

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

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

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

CLRTR0

CLRTR1

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

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

MOVTMOD, #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

MOVTH0, DPH

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

SETBET1

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

SETBTR0

SETBTR1

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

SETBPSW.3

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

MOVR7, #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

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

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

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

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

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

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

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

MOV ACC.1, R4.2

MOV ACC.2, R4.1

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

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

MOVACC.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:

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

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

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

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

SJMPSIMB12

SIMB12:

CLRCLKIN0

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

ACALL BIT1

ACALL BIT1

ACALL BIT1

ACALLBIT1

SETBCLKIN0

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

BIT1:

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

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

SETBCLKIN0 ; импульс

CLRCLKIN0 ; защелкивание

RET

;

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

;

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

;

TIMER0:

CLRTRO

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

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

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

PUSH ACC

PUSH DPL

PUSH DPH

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

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

MOV P3.1, C

JNСSJMP POZ1

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

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

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

MOV TL0, DPL

MOV TH0, DPH

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

POP DPL

POP ACC

POP PSW

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

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

SETBTR0

RET1

TIMER1:

CLR TR1

CLR EA

SETBPSW.3

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

PUSH ACC

PUSH DPL

PUSH DPH

MOV R0, TL0

MOV R1, TH0

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

POP DPL

POP ACC

POP PSW

RET1

СПИСОК ЛИТЕРАТУРЫ

1. Водовозов, А.М. Микроконтроллеры для систем автоматики: Учебное пособие/ А.М.Водовозов.- Вологда: ВоГТУ, 2002.- 128 с.

2. Жданкин, В. Поворотные шифраторы: основные типы и некоторые особенности применения/ В.Жданкин// Современные технологии автоматизации.- 2001.-№ 2.- С. 68 - 79 .

3. Жданкин, В. Поворотные шифраторы фирмы Pepperl+Fuchs/ В.Жданкин // Современные технологии автоматизации.- 2001.- № 3.- С. 6-24.

4. Водовозов, А.М. Цифровые элементы систем автоматики. Учебное пособие/А.М.Водовозов. - Вологда: ВоГТУ, 2002.- 110 с.

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


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

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