Автор: Пользователь скрыл имя, 09 Декабря 2011 в 13:18, реферат
Цели работы:
Провести обзор по законам регулирования.
Освоить язык С и основы программирования микроконтроллера.
Освоить методику вычисления коэффициентов для закона ПИД- регулирования.
Написать программу для микроконтроллера Atmega16, контролирующую процесс термостабилизации.
Г л а в а I
Введение………………………………………………………………………………3
Глава I. ЛИТЕРАТУРНЫЙ ОБЗОР………………………………..……………..5
ЗАКОНЫ РЕГУЛИРОВАНИЯ.……………………………………………………..…5
П- РЕГУЛЯТОРЫ……………………………………………………………………6
ПИ- РЕГУЛЯТОРЫ………………………………………………………………….7
ПИД- РЕГУЛЯТОРЫ………………………………………………………………...7
ИНТЕРФЕЙС I2C(TWI)……………………………………………………………….9
ФОРМАТ ПОСЫЛКИ ПЕРЕДАВАЕМЫХ ДАННЫХ………………………………..10
Условия СТАРТа и СТОПа……………………………………………………….10
Формат адресного пакета………………………………………………………...10
Формат пакета данных…………………………………………………………...11
ФОРМИРОВАНИЕ ШИМ СИГНАЛА……………………………………………….11
РЕЖИМ БЫСТРОЙ ШИМ……………………………………………………...…..12
Г л а в а I I.ПРОГРАМНОЕ ОБЕСПЕЧЕНИЕ………………………………...14
АЛГОРИТМЫ ЦИФРОВОГО ПИД РЕГУЛИРОВАНИЯ……………………………14
СИСТЕМА АВТОМАТИЧЕСКОГО РЕГУЛИРОВАНИЯ……………………………14
ПРОГРАМНОЕ ОБЕСПЕЧЕНИЕ……………………………………………………15
ОСНОВНЫЕ РЕГИСТРЫ МИКРОКОНТРОЛЛЕРА………………………………...15
ОПИСАНИЕ РЕГИСТРОВ TWI……………………………………………………..16
ОПИСАНИЕ РЕГИСТРОВ 8-РАЗРЯДНОГО ТАЙМЕРА- СЧЕТЧИКА 0……………...17
ЗАКЛЮЧЕНИЕ…………………………………………………………………….22
ПРИЛОЖЕНИЯ……………………………………………………………………23
СПИСОК ЛИТЕРАТУРЫ…………………………………
ПИД-
РЕГУЛЯТОРЫ
Для ускорения реакции САР на внешние воздействия и изменения в задании в регулятор вводят дифференциальную составляющую d(U-X)/dt:
Y = K·(U-X) + ∫(U - X)/Ti∙dt + Тd· d(U-X)/dt,
где Тd - постоянная дифференцирования. Чем быстрее растет Е, тем больше d(U-X)/dt. Регулятор с таким законом управления называется ПИД-регулятором. Подобрав для конкретного объекта К, Тi и Td можно оптимизировать качество работы регулятора: уменьшить время выхода на задание, снизить влияние внешних возмущений, уменьшить отклонение от задания. При очень большом Тi регулятор очень медленно выводит объект на задание. При малом Тi происходит перерегулирование, т.е. регулируемый параметр Х проскакивает задание, а затем сходится к нему. Если Ti меньше оптимального в два раза, процесс регулирования может перейти в колебательный режим. Если Ti существенно больше оптимального, то регулятор медленно выходит на новый режим и слабо реагирует на быстрые возмущения. На рис.3 показано влияние неоптимальных настроек ПИД-регуляторов на вид переходной функции:
Рис.3
НАСТРОЙКА РЕГУЛЯТОРОВ
При
применении ПИД- регуляторов
Алгоритм настройки по реакции- на входной скачок:
- вычисляются
коэффициенты настройки согласно следующим
примерным соотношениям:
для П-регулятора К= 1/R·t0
для ПД-регулятора К= 1/R·t0, Td=0.25·t0
для ПИ-регулятора К= 0.8/R·t0,
Ti= 3·t0
для ПИД-регулятора К= 1.2/R·t0, Ti= 2·t0, Td=0.4·t0.
ИНТЕРФЕЙС I2C(TWI):
Отличительные особенности:
Двухпроводной последовательный интерфейс TWI идеально подходит для типичных применений микроконтроллера. Протокол TWI позволяет проектировщику системы внешне связать до 128 различных устройств через одну двухпроводную двунаправленную шину, где одна линия - линия синхронизации SCL и одна - линия данных SDA. В качестве внешних аппаратных компонентов, которые требуются для реализации шины, необходимы только подтягивающий к плюсу питания резистор на каждой линии шины. Все устройства, которые подключены к шине, имеют свой индивидуальный адрес, а механизм определения содержимого шины поддерживается протоколом TWI.
Условия СТАРТа и СТОПа
Ведущее
устройство инициирует и заканчивает
передачу данных. Передача инициируется,
когда ведущий формирует
Рисунок 6. Условия СТАРТа и СТОПа
Формат адресного пакета
Все передаваемые адресные пакеты по шине TWI состоят из 9 бит, в т.ч. 7 бит адреса, один бит управления для задания типа операции ЧТЕНИЕ/ЗАПИСЬ и один бит подтверждения. Если бит ЧТЕНИЕ/ЗАПИСЬ = 1, то будет выполнена операция чтения, иначе - запись. Если подчиненный распознает, что к нему происходит адресация, то он должен сформировать низкий уровень на линии SDA на 9-ом цикле SCL (формирование бита подтверждения). Если адресуемое подчиненное устройство занято или по каким-либо другим причинам не может обслужить ведущее устройство, то на линии SDA необходимо оставить высокий уровень во время цикла подтверждения. Ведущий после этого может передать условие СТОПа или "Повторного старта" для инициации новой передачи. Старший разряд адресного байта передается первым.
Рисунок 7. Формат адресного пакета
Формат пакета данных
Все пакеты данных, передаваемые по шине TWI, состоят из 9 бит, в т.ч. 1 байт данных и бит подтверждения. Во время передачи данных ведущее устройство генерирует синхронизацию, а также условия СТАРТа и СТОПа, при этом на приемник возлагается подтверждение приема. Подтверждение
рис.8
(ПОДТВ)
сигнализируется приемником
ФОРМИРОВАНИЕ ШИМ СИГНАЛА
Микроконтроллер Atmega16 в составе своих периферийных устройств имеет Таймер-счетчик 2 - модуль многофункционального одноканального 8-разрядного таймера-счетчика с аппаратным выходом для генерации ШИМ-сигнала и встроенным асинхронным опциональным тактовым генератором, который оптимизирован под использование часового кварца для асинхронного по отношению к системной синхронизации тактирования.
Основные отличительные особенности:
8-разрядный
цифровой компаратор
Рисунок 9. Функциональная схема блока сравнения
РЕЖИМ БЫСТРОЙ ШИМ
Режим быстрой широтно-импульсной модуляции (WGM21, WGM20 = 0b11) позволяет генерировать высокочастотные ШИМ- сигналы. От других режимов ШИМ данный отличается однонаправленностью счета. Счетчик изменяет свое значение в направлении от нижнего предела до максимального значения (0xFF), а затем перезагружается значением нижнего предела и счет продолжается снова до максимального значения. Если задан неинвертирующий режим выхода, то при совпадении TCNT2 и OCR2 сигнал OC2 сбрасывается, а при достижении нижнего предела счета устанавливается. Если задан инвертирующий режим, то выход OC2 устанавливается при совпадении и сбрасывается на нижнем пределе счета. За счет однонаправленности счета, рабочая частота для данного режима в два раза выше по сравнению с режимом ШИМ с фазовой коррекцией, где используется двунаправленный счет. Возможность генерации высокочастотных ШИМ сигналов делает использование данного режима полезным в задачах стабилизации питания, выпрямления и цифро-аналогового преобразования. Высокая частота, при этом, позволяет использовать внешние элементы физически малых размеров (индуктивности, конденсаторы), тем самым снижая общую стоимость системы.
В режиме быстрой ШИМ содержимое счетчика инкрементируется пока не достигнет максимального значения (0xFF). Следующим тактовым импульсом счетчик сброситься. Временная диаграмма для режима быстрой ШИМ показана на рис. 10. Значение TCNT2 на временной диаграмме показано в виде графика функции для иллюстрации однонаправленности счета. На диаграмме показаны как инвертированный, так и неинвертированный ШИМ-выходы. Короткой горизонтальной линией показаны точки на графике TCNT2, где совпадают значения OCR2 и ТCNT2.
Рисунок 10. Временная диаграмма режима быстрой ШИМ
ПРОГРАМНОЕ ОБЕСПЕЧЕНИЕ
АЛГОРИТМЫ ЦИФРОВОГО ПИД РЕГУЛИРОВАНИЯ
Наиболее распространенными алгоритмами являются ПИ и ПИД алгоритмы цифрового управления. При правильной настройке эти алгоритмы обеспечивают достаточно хорошее качество управления для. Рассмотрим процедуру вывода алгоритма цифрового ПИД- регулятора из соответствующего непрерывного закона, имеющего вид,
(1)
где -ошибка регулирования.
Запишем уравнение (1) в конечных разностях, путем замены
, (2)
где k=1,2,3...-
номер периода квантования, - величина
периода квантования.
Отметим, что при достаточно малых периодах
квантования цифровой ПИД закон управления
обеспечивает почти такое же качество
процессов управления, что и исходный
непрерывный закон (1).
Вычисление разности ошибок регулирования сводиться к вычислению разности температур: X(k)-X(k-1). То есть при повторном чтении с термодатчика температуры Х, последнее значение должно храниться в памяти. Программно это будет осуществляться присваиванием в конце основного цикла, в котором вычисляется выходная величина, переменной X_prev значения X. Для корректной работы программы до основного цикла надо присвоить переменной X_prev начальное значение температуры, чтобы вычислить первую разность.
Сумма же будет храниться в переменной summa. Перед каждым вычислением выходной величины значение этой переменной будет увеличиваться на .
Время
между двумя ближайшими измерениями
равно 10 ms. =10 ms.
СИСТЕМА АВТОМАТИЧЕСКОГО РЕГУЛИРОВАНИЯ
Принципиальная схема данной системы представлена на рис.11(см.прил.). Основным ее элементом является микроконтроллер ATmega16, который и будет ввиду заложенной в него программы регулировать процесс термостабилизации. Температура будет считываться с цифрового термодатчика AD7416, обмен данными между датчиком и контроллером будет осуществляться по I2C(TWI) интерфейсу. После чего вычисляется на основе ПИД закона выходная величина. На выходе формируется ШИМ - сигнал.
ПРОГРАМНОЕ ОБЕСПЕЧЕНИЕ
Система команд МК AVR изначально проектировалась с учетом особенностей языка программирования "C", что в результате позволяет получать после компиляции программ на "C" гораздо более эффективный код, чем для других микроконтроллеров. А это уже выигрыш и в размере полученного кода (в объеме памяти на кристалле), и в скорости работы микроконтроллера. Язык "C"- это универсальный язык программирования, для которого характерны экономичность выражения, современный поток управления и структуры данных, богатый набор операторов. Язык "C" не является ни языком "очень высокого уровня", ни "большим" языком, и отсутствие ограничений и общность языка делают его более удобным и эффективным для многих задач, чем языки, предположительно более мощные.