Скачать .docx |
Курсовая работа: Микроконтроллерный регулятор оптимальной системы управления
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ
ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ
ТЕХНОЛОГИЧЕСКИЙ ИНСТИТУТ
ЮЖНОГО ФЕДЕРАЛЬНОГО УНИВЕРСИТЕТА В Г. ТАГАНРОГЕ
Факультет автоматики и вычислительной техники
Кафедра систем автоматического управления ___
Пояснительная записка
к курсовому проекту
по курсу «Микропроцессорные устройства систем управления»
на тему: «Микроконтроллерный регулятор оптимальной системы управления»
Вариант №4
Выполнил:
Студент гр. А-144Безродный С.В.
Проверил:
профессор кафедры САУ Крутчинский С.Г.
Таганрог 200 8
Содержание:
1. Введение
2. Техническое задание
3. Синтез фильтра нижних частот
4. Синтез канала №1
4.1. Первичный преобразователь
4.2. Инструментальный усилитель
5. Синтез канала №2
5.1. Датчик с токовым выходом
5.2. Преобразователь ток-напряжение
6. Аналого-цифровой преобразователь
7. Микроконтроллер AT90S8535
7.1. Прикладная программа микроконтроллерного регулятора
8. Выбор элементной базы
9. Анализ качественных показателей МКС
10. Заключение
11. Список литературы
ВВЕДЕНИЕ
Автоматизация различных технологических процессов, эффективное управление различными агрегатами, машинами, механизмами требуют многочисленных измерений разнообразных физических величин. Для организации сбора данных с датчиков используется микроконтроллер, с помощью которого осуществляется контроль над технологическими процессами в производстве. Между датчиком и микроконтроллером обязательно должен присутствовать канал обработки данных, который осуществляет усиление, фильтрацию и нормирование сигнала, подавление синфазной помехи; производится нелинейная обработка сигнала с целью линеаризации характеристики датчика и приведение аналогового сигнала к виду, пригодному для ввода в аналого-цифровой преобразователь (АЦП). В ходе выполнения данного курсового проекта необходимо синтезировать устройство согласования первичного преобразователя (датчика) с микроконтроллером. В данном устройстве первым узлом является датчик, а АЦП является оконечным узлом проектируемого устройства, и все другие составные функциональные единицы прямо или косвенно обеспечивают его нормальное функционирование. Синтезируемое устройство содержит два параллельных канала передачи сигналов: датчик – усилитель – фильтр нижних частот – аналого-цифровой преобразователь.
Рис.1. Схема проектируемого устройства.
При внедрении данного типа систем в производство используют многоканальные структуры, позволяющие подключение к микроконтроллеру нескольких датчиков.
В данном курсовом проекте необходимо синтезировать двухканальное устройство согласования, произвести расчет всех необходимых параметров устройства и путем моделирования оценить работоспособности системы
Синтезированная система должна имеет высокую интеграцию и универсальность, обладает модернизационным запасом, стабильностью работы и высоким быстродействием.
1. ТЕХНИЧЕСКОЕ ЗАДАНИЕ.
Разработать двухканальную микроконтроллерную систему и программный продукт, обеспечивающие реализацию оптимального по комплексному критерию закона управления:
где
В приведенных выражениях , представляют собой сигналы аналоговых датчиков (имеют размерность “Вольт”). Все прочие величины являются константами.
, В | , В | ,В | , В | ||||||
0,42 | 0,83 | 3,4 | 0,01 | 0,07 | 0,08 | 0,12 | 0,28 | 0,34 | 1,1 |
Величина измеряется сенсорным элементом (измерительный мост), при этом дифференциальное напряжение изменяется в пределах 0,1мВ – 25мВ, а синфазное не превышает 5В.
Величина измеряется датчиком с токовым выходом (максимальный ток 20мА). Примечание. Погрешность реализации линейного закона управления не должна превышать 2,5%.
2. СИНТЕЗ ФИЛЬТРА НИЖНИХ ЧАСТОТ.
Рис.2. Упрощенная принципиальная схема ограничителя спектра третьего порядка.
Необходимо рассчитать схему таким образом, чтобы граничная частота полосы пропускания ограничителя спектра .
Для реализации небольшой неравномерности амплитудно-частотной характеристики (АЧХ) в полосе пропускания при любой аппроксимирующей функции добротность полюса оказывается незначительной, поэтому можно использовать дополнительные параметрические условия:
; ; ;
; .
Выбираем кОм и нФ, тогда кОм и нФ.
Устройство реализует передаточную функцию:
,
где
, ,
, , , .
После подстановки значений всех коэффициентов получим:
Рис.3. Схема ФНЧ в MicroCAP 8.
Рис.4. Графики АЧХ и ФЧХ фильтра .
3. СИНТЕЗ КАНАЛА №1.
4.1. Первичный преобразователь .
Тензопреобразователь ВЮМА 4030 309.001 РЭ
Описание.
Тензопреобразователь ВЮМА предназначен для непрерывного пропорционального преобразования силы (серия С) или давления (серия Д) в электрический сигнал.
Климатическое исполнение тензопреобразователей по ГОСТ 15150 в рабочем интервале температур от -500 С до 800 С.
Преобразуемый параметр:
- сила от -5 до 5Н,
- давление от 0,1 до 0,6 МПа.
Электрическое питание осуществляется постоянным током 1,5±0,3 мА.
Начальное значение выходного сигнала, соответствующее нулевому значению преобразуемого параметра, не должно превышать по абсолютной величине 10 мВ.
Величина сопротивления моста должна находится в пределах 4,5±0,35 кОм.
Нелинейность выходного сигнала в пределах номинального значения диапазона изменения преобразуемого параметра, выраженная в процентах от диапазона выходного сигнала, должна быть не более 0,15%.
Перемещение конца рычага тензопреобразователей серии С , соответствующее изменению силы от нуля до верхнего предельного значения должно быть в пределах 0,25±0,003 мм.
Вариация выходного сигнала от диапазона выходного сигнала, должна быть не более 0,1%.
Изменение начального значения выходного сигнала на каждые 100 С, вызванное изменением температуры окружающей среды по абсолютной величине, должно быть не более 2мВ.
Величина сопротивления моста при температуре 80±30 С должна быть не более 5,3кОм.
Средний срок службы 12 лет.
Устройство и работа тензопреобразователя.
Тензопреобразователь представляет собой цилиндрический корпус с присоединенным штуцером (преобразователь давления) или рычагом (преобразователь силы) на одном торце и контактным разъемом на противоположном торце. Чувствительным элементом является сапфировая мембрана с кремниевыми тензорезисторами. Сапфировая мембрана по всей плоскости жестко соединена с металлической (титановой) мембраной, образуя с ней двухслойную мембрану, жестко закрепленную в корпусе. Двухслойная мембрана соединяется с мембраной, воспринимающей измеряемое давление, или с рычагом, воспринимающим измеряемую силу. Под действием давления или силы двухслойная мембрана деформируется , вызывая изменение сопротивления тензорезисторов, собранных в мостовую схему. В одну диагональ моста включен источник питания, а с другой диагонали снимается выходной электрический сигнал, пропорциональный механической деформации мембраны от приложенного давления или силы. В целях пассивной термокоррекции выходного сигнала используется внешнее сопротивление, включаемое параллельно одному из тензорезисторов моста.
Рис.5. Схема подключения тензопреобразователя.
4.2. Инструментальный усилитель.
В разрабатываемой микроконтроллерной системе входной блок состоит из измерительного моста и инструментального усилителя. Заметную роль в данной схеме играет входной, масштабный усилитель, в основном от того с какой точностью будет усиливаться входной сигнал, зависит погрешность преобразования АЦП.
Согласно техническому заданию, входная величина измеряется сенсорным элементом (измерительный мост), а величина - с помощью датчика с токовым выходом. Так как датчик имеет большую синфазную помеху, в качестве масштабного усилителя используется инструментальный, который согласовывает с опорным источником напряжения. Схемы измерительного моста и инструментального усилителя имеют вид:
Рис.6 . Измерительный мост и инструментальный усилитель.
Таким образом при согласовании ОУ1 и ОУ2 результирующая погрешность будет определяться параметрами ОУ3.
Измерительный мост преобразует значения входной величины в эквивалентное ей значение напряжения (с коэффициентом пропорциональности ), в соответствии с законом изменения значений реостата . Параметры ОУ выбираются из условия минимизации дрейфа нуля.
Напряжение на выходе усилителя определяется соотношением: , где - коэффициент усиления схемы.
Примем В.
Выбираем значения кОм, кОм.
Таким образом, чтобы получить единичный коэффициент усиления ИУ нужно выбрать , тогда В.
Рис.7. Схема канала №1.
Рис.8. АЧХ и ФЧХ канала №1.
В качестве прецизионного инструментального усилителя можно использовать МАХ 4195:
СИНТЕЗ КАНАЛА №2.
5.1. Датчик давления «АРКТУР-01» с токовым выходом.
Назначение.
Датчик давления Арктур-01 (в дальнейшем – датчик) предназначен для непрерывного преобразования избыточного давления жидкостей и газов, в унифицированный токовый выходной сигнал.
Датчик может применяться при контроле, регулировании и управлении технологическими процессами, а также при учете, в том числе коммерческом, жидкости и газа.
Арктур-01–цифровой датчик избыточного давления, имеющий климатическое исполнение УХЛ1 по ГОСТ 15150, предназначенные для работы при температуре окружающей среды от минус 40°С до +80°С, преобразующий измеряемое давление в унифицированный токовый выходной сигнал 0-5 мА (по 4-х-проводной линии связи) или 4-20 мА (по 2-х-проводной линии связи).
Датчик имеет невзрывозащищенное исполнение.
По эксплуатационной законченности датчики являются изделиями ГСП третьего порядка по ГОСТ 12299.
Характеристики, параметры, размеры.
Верхние пределы измерений избыточного давления датчиков — 0,06*; 0,1; 0,16; 0,25; 0,40; 0,60; 1,0; 1,6; 2,5; 4,0; 6,0; 10; 16; 25; 40; 60;100 МПа.
Конструкция датчиков обеспечивает возможность подстройки нуля и верхнего предела изменения выходного сигнала при выпуске из производства и в процессе эксплуатации.
Конструкция датчиков исключает несанкционированный доступ к электронному блоку.
Конструкция датчиков обеспечивает возможность измерения давления сред, по отношению к которым материалы, контактирующие с измеряемой средой, являются коррозионностойкими.
Пределы основной допускаемой погрешности, выраженной в процентах от верхнего предела измерений, g равны ± 0,1; ± 0,15; ± 0,2; ± 0,25; ± 0,5%
Вариация выходного сигнала не превышает допускаемой основной погрешности .
Номинальная статическая характеристика преобразования датчиков линейно-возрастающая и имеет вид:
Y-YН = K*Х в интервале Yн≤Y≤Yв,
где Y – текущее значение выходного сигнала датчика, мA;
Yн,Yв – нижний и верхний пределы изменения выходного сигнала, соответственно, мA;
К – коэффициент пропорциональности, указанный в таблице 1.1, мA/МПa;
Х – значение измеряемой величины, МПa;
Таблица 1.1
Верхний предел диапазона измерения давления, МПа |
Коэффициент пропорциональности К, мА/МПа, для диапазонов изменения выходного сигнала | |
от 4 до 20 мА | от 0 до 5 мА | |
0,06 0,10 0,16 0,25 0,40 0,60 1,0 1,6 2,5 4,0 6,0 10 16 25 40 60 100 |
266,667 160,000 100,000 64,000 40,000 26,666 16,000 10,000 6,400 4,000 2,667 1,600 1,000 0,640 0,400 0,267 0,160 |
83,3333 50,0000 31,2500 20,0000 12,5000 8,3333 5,0000 3,1250 2,0000 1,2500 0,8333 0,5000 0,3125 0,2000 0,1250 0,0833 0,050 |
Допускаемое отклонение характеристики преобразования м датчиков от номинальной статической характеристики не превышает 0.8
Диапазоны изменения выходных сигналов, тип линии связи и максимальное сопротивление нагрузки соответствуют указанным в таблице1.2.
Таблица 1.2
Диапазон изменения выходного сигнала, мА | Тип линии связи | Сопротивление нагрузки Rн , не более кОм |
4 – 20 |
Двухпроводная | 0,5 |
0 – 5 |
Четырехпроводная | 2,5 |
Значение выходного сигнала, соответствующее нулевому значению давления, равно 0 или 4 мА – для датчиков с диапазоном изменения выходного сигнала 0-5 мА и 4-20 мА, соответственно.
Электрическое питание датчиков должно осуществляться от источника питания постоянного тока напряжением (З6 + 0,72) В. При работе датчика в режиме 4-20 мА с нагрузкой Rн мах допускается уменьшение напряжения на датчике до 15 В за счет падения напряжения на нагрузке.
Пределы допускаемой дополнительной погрешностиg t , вызванной изменением температуры окружающего воздуха на каждые 10°С, не более указанной в табл.1.3.
Пределы допускаемой дополнительной погрешности, вызванной изменением напряжения питания со скоростью не более ± 0.5 В/С не превышают значений, указанных в табл. 1.3.
Пределы допускаемой дополнительной погрешности датчиков, вызванной воздействием внешнего переменного магнитного поля частотой 50 Гц и напряженностью 400 А/м или внешнего постоянного магнитного поля напряженностью 400 А/м, при самых неблагоприятных фазе и направлении поля указаны в табл. 1.3.
Таблица 1.3
Пределы основной допускаемой погрешности, % | Пределы допускаемой дополнительной погрешности, %, вызванной | ||
изменением температуры окружающего воздуха на каждые 10°С | изменением напряжения питания | воздействием магнитного поля | |
± 0,10 | - | ± 0,05 | ± 0,10 |
± 0,15 | ± 0,15 | ± 0,05 | ± 0,16 |
± 0,20 | ± 0,20 | ± 0,05 | ± 0,16 |
± 0,25 | ± 0,25 | ± 0,16 | ± 0,25 |
± 0,50 | ± 0,45 | ± 0,25 | ± 0,4 |
Пределы допускаемой дополнительной погрешности, вызванной изменением сопротивления нагрузки, не выходят за пределы + 0,01% от диапазона изменения выходного сигнала на каждые 100 Ом изменения сопротивления нагрузки.
Датчики герметичны при воздействии давления в 1,25 раза превышающего наибольший верхний предел измерений.
Полный средний срок службы не менее 12 лет, кроме датчиков, применяемых при измерении параметров химически агрессивных сред.
Средний срок службы датчиков, применяемых при измерении параметров химически агрессивных сред, не менее шести лет.
Средняя наработка на отказ с учетом технического обслуживания, регламентируемого РЭ, составляет 100000 ч. Критерием отказа является несоответствие датчиков требованиям 1.2.3 и нарушение герметичности рабочей камеры.
Потребляемый датчиками электрический ток при напряжении питания 36 В не более 14 мА.
Номинальная масса датчиков не более 1 кг.
Степень защиты корпусов датчиков от воздействия пыли и воды IP55 по ГОСТ 14254.
По устойчивости к механическим воздействиям (виброустойчивость и вибропрочность) датчик соответствует исполнению N1 по ГОСТ 12997.
Составные части датчика не являются источником образования горючей среды и источников зажигания в горючей среде.
Устройство и работа датчика.
Конструктивно датчик представляет собой законченное устройство, состоящее из измерительного преобразователя, электронного блока, элементов, обеспечивающих подключение датчика к магистрали, и корпуса, в котором размещены все элементы и блоки датчика. На крышке корпуса имеется совмещенный корректор нуля и верхнего предела изменения выходного сигнала и соединитель для подключения пульта для настройки, закрывающиеся винтовыми заглушками, а также кабельный ввод. Соединительный кабель несъемный, длиной 1.5 м.
Измеряемое давление подается в камеру измерительного блока и преобразуется в деформацию мембраны тензопреобразователя и, как следствие, изменение электрического сопротивления резисторов тензопреобразователя, размещенного в измерительном блоке. При этом на выходе тензопреобразователя появляется выходное напряжение, зависящее от давления на мембрану тензопреобразователя.
Средство контроля выходного сигнала должно иметь допускаемую основную погрешность не более, чем:
||≤0,15Imax /100.
Габаритные и присоединительные размеры датчика
Рис.9.Габаритные и присоединительные размеры датчика Арктур-01
Рис.10.Схема подключения датчика давления АРКТУР-01 с выходным сигналом 4-20 мА и двухпроводной линией связи.
5.2.Преобразователь ток-напряжение.
Поскольку выбранный датчик имеет токовый выход 4…20 мА, необходимо рассчитать схему таким образом, чтобы при входном токе 4 мА напряжение на выходе было 0 В, а при 20 мА – 2,5 В.
Для этой схемы можно записать следующую систему уравнений :
Тогда
(Ом)
Решая систему уравнений находим:
Пусть кОм, тогда кОм.
Произведём расчет полученной схемы по постоянному току с помощью программы MicroCap8, чтобы убедиться в правильности работы схемы:
Рис.11. Анализ по постоянному току в случае мА.
Рис.12. Анализ по постоянному току в случае мА.
Рис.13. Анализ по постоянному току канала №2.
Рис.14. АЧХ и ФЧХ на выходе канала.
АНАЛОГО-ЦИФРОВОЙ ПРЕОБРАЗОВАТЕЛЬ.
АЦП, имеющий разрядность n=10, встроенный в МК AVRработает по алгоритму последовательных приближений, погрешность преобразования - не более 2 единиц младшего значащего разряда, время преобразования 65 - 260 мкс. АЦП совместно со встроенным аналоговым мультиплексором обеспечивает преобразование в 10-ти разрядный двоичный код сигналов по 8 аналоговым входам (альтернативная функция линий ввода-вывода порта А) в диапазоне напряжений от О (AGND) до опорного (AREF).
Для снижения уровня помех цепи питания (AGND, AVCC) схем преобразования аналоговых сигналов подключаются отдельно (рис. 1), напряжение питания AVCC не должно отличаться от напряжения питания VCC более чем на ±0,3 В. Опорное напряжение должно лежать в диапазоне от 2 В до напряжения питания AVCC. Код АЦП $000 соответствует нулевому входному сигналу, максимальный код $3FF соответствует сигналу, равному опорному, минус вес единицы младшего значащего разряда.
Номер входа мультиплексора, с которого поступает сигнал для преобразования в АЦП, определяется тремя младшими битами MUX2, MUX1, MUXO управляющего регистра ADMUX. Любой из восьми входов может быть выбран через ADMUX записью в него соответствующего кода в любой момент времени, однако переключение входов фактически производится только после завершения очередного цикла преобразования АЦП.
АЦП может работать в режиме однократного преобразования или циклически с автоматическим повторным запуском после каждого преобразования. По окончании преобразования формируется флаг прерывания ADIF со стандартной процедурой вызова вектора прерывания ADC с адресом $00е и записью 10-разрядного кода в двухбайтовый регистр ADCL (младшие 8 бит результата), ADCH (старшие 2 бита результата). Чтение данных из регистра результата ADC должно начинаться обязательно с младшего байта (см. примечание на с. 20). Точность АЦП зависит от тактовой частоты преобразования, рекомендуется диапазон тактовых частот 50 - 200 кГц, при более высоких частотах точность преобразования снижается. Стандартный цикл преобразования требует 13 тактов работы и при рекомендуемом значении тактовой частоты 100 кГц определяет время преобразования 130 мкс.
Кроме регистров ADMUX, ADCH, ADCL, работа АЦП определяется регистром ADCSR, который также содержится в файле регистров ввода-вывода.
Символические имена битов управления в регистре ADCSR
ADEN - бит разрешения: 0 - АЦП выключен, 1 - АЦП включен.
ADSC - бит запуска преобразования, в режиме однократного преобразования. Единица должна записываться при каждом запуске, в циклическом режиме - один раз для запуска первого преобразования.
ADFR - бит режима преобразования: 1 - циклический режим, 0 - однократный.
ADIF - флаг прерывания, устанавливается после завершения преобразования и записи кода в выходной регистр АЦП. Очищается автоматически при вызове вектора прерывания либо записью 1 в этот бит.
ADIE - бит разрешения прерывания АЦП, 1 разрешает прерывание.
ADPS 2, ADPS 1, ADPS 20 - биты управления тактовой частотой АЦП, определяют коэффициент деления тактовой частоты микроконтроллера следующимобразом:
0 - коэффициент деления 2,
1 - коэффициент деления 2,
10 - коэффициент деления 4,
11 - коэффициент деления 8,
100- коэффициент деления 16,
101- коэффициент деления 32,
110- коэффициент деления 64,
111- коэффициент деления 128.
Дополнительное снижение уровня помех для повышения точности преобразования можно получить, если на время преобразования АЦП приостановить работу процессора в микроконтроллере переходом в режим "idle". Возврат в рабочее состояние должна обеспечивать подпрограмма обработки прерывания АЦП.
Рис.15. Структурная схема модуля АЦП.
4. МИКРОКОНТРОЛЛЕР.
Микроконтроллеры фирмы ATMEL с усовершенствованной RISC архитектурой обладают эффективными программно-аппаратными ресурсами для решения различных задач. Семейство микроконтроллеров AVR содержит и простые модели (AT90S1200, AT90S2313) с минимумом необходимых ресурсов, и весьма сложные модели megaAVR с существенно увеличенным объемом памяти, количеством портов ввода-вывода и других средств. Высокая эффективность микроконтроллеров AVR обеспечивается развитой системой команд, выполняющихся, как правило, за один рабочий такт, аппаратной реализацией многих стандартных функций (таймеры, модуляторы ШИМ, параллельные и последовательные порты ввода-вывода, компаратор, АЦП и др.) и возможностью внутрисистемного программирования, т.е. записи программ и данных в ПЗУ микроконтроллера непосредственно в схеме работающего устройства.
Общие архитектурные особенности и программная совместимость микроконтроллеров AVR позволяют использовать одни и те же алгоритмы и рабочие программы на разных моделях. Единственным ограничением применимости может служить только отсутствие необходимых для исполнения программ аппаратных средств в более простых моделях микроконтроллеров.
Существенной общей особенностью всего семейства AVR является использование 32 регистров общего назначения и гарвардской архитектуры с тремя раздельными адресными пространствами: памяти программ (флэш-памяти), оперативной памяти данных (ОЗУ), программируемой постоянной памяти данных (ППЗУ). Флэш-память и ППЗУ являются энергонезависимыми и, как обычно, сохраняют данные при отсутствии питающих напряжений. ОЗУ - это стандартная энергозависимая оперативная память. Система команд поддерживает стандартные операции с однобайтовыми данными, возможны определенные операции с двухбайтовыми словами и отдельными битами. Каждый из 32 восьмиразрядных регистров общего назначения может служить регистром-аккумулятором. Основной формат кодов команд - 2 байта, формат данных - 1 байт.
Управление и доступ к аппаратным средствам микроконтроллеров производятся с помощью специальных управляющих регистров - регистров ввода-вывода. Эти регистры определяют параметры и режимы работы устройств микроконтроллеров, обеспечивают необходимый обмен данными с ними. Система прерываний позволяет обслуживать программные прерывания, внутренние прерывания всех устройств микроконтроллеров через регистры ввода-вывода и внешние прерывания. Внутренние аппаратные и внешние прерывания имеют жестко закрепленные адреса векторов прерываний.
Микроконтроллер AT90S8535 (рис. 16) со 118 командами в системе команд содержит 8-разрядное арифметико-логическое устройство (АЛУ), память программ (флэш-память) объемом 8 Кбайт, электрически программируемое ППЗУ (EEPROM) объемом 0,5 Кбайт (также с возможностью внутрисистемного программирования), статическое ОЗУ объемом 0,5 Кбайт, 32 регистра общего назначения, 4 двунаправленных параллельных восьмиразрядных порта ввода-вывода, последовательный синхронный интерфейс SPI, последовательный асинхронный интерфейс UART, два восьмиразрядных и один шестнадцатиразрядный таймеры с возможностью реализации модулятора ШИМ, сторожевой таймер с автономным генератором, аналоговый компаратор, восьмиканальный АЦП.
На структурной схеме (рис.16) и в дальнейшем при описании микроконтроллеров будут использованы названия и обозначения, используемые фирмой ATMEL. Внешние выводы микроконтроллера:
VCC и GND (общий) - источник питания цифровых элементов;
AVCC, AGND (общий аналоговый), AREF - питание и опорное напряжение АЦП и его мультиплексора;
RESET - сигнал внешнего сброса (низкий уровень длительностью более 50 не), при включении питания сброс микроконтроллера производится автоматически;
XTAL1 и XTAL2 - соответственно вход и выход тактового генератора (для подключения частотозадающего кварцевого резонатора и общей синхронизации с другими устройствами), аналогичные электроды вспомогательного генератора асинхронного режима таймера 2 - выводы РС6 и РС7;
РАО-РА7, РВО-РВ7, РСО-РС7, PDO-PD7 - 32 линии ввода-вывода, объединены в 4 восьмиразрядных порта (PORTA, PORTB, PORTC, PORTD).
PORTA, PORTB, PORTC, PORTD могут использоваться как стандартные двунаправленные порты ввода-вывода либо для передачи сигналов других устройств микроконтроллера. Альтернативные функции PORTA: передача аналоговых сигналов через мультиплексор на вход АЦП. Альтернативные функции PORTB:
Рис.16. Структурная схема микроконтроллера АТ90 S 8535.
РВО и РВ1 - внешние входы ТО и Т1 таймеров 0 и 1 соответственно, РВ2 и РВЗ - входы AINO и AIN1 аналогового компаратора, остальные сигналы синхронного последователь- ного интерфейса SPI (PB4 - SS, PB5 - MOSI, PB6 - MISO, РВ7 - SCK). Альтернативные функции PORTC: PC6 и РС7 - вход и выход вспомогательного генератора таймера 2. Альтернативные функции PORTD: PDO и PD1 - сигналы RXD и TXD асинхронного последовательного интерфейса UART соответственно, PD2 и РВЗ сигналы внешних прерываний INTO и INT1, PD4-PD7 - сигналы ОС1В, OCIA, TCP, OC2 таймеров 1 и 2.
Запоминающие устройства микроконтроллера AT 90 S 8535.
Запоминающие устройства микроконтроллера -флэш-память программ, ОЗУ, ППЗУ, регистры общего назначения и регистры ввода-вывода образуют три отдельных адресных пространства (рис. 17).
Флэш-память объемом 8 Кбайт состоит из 4 К двухбайтовых ячеек с адресами $000 - $FFF* и предназначена для хранения кодов программ и констант, в том числе и при выключенном питающем напряжении. Запись данных производится специальным программатором в процедуре внутрисистемного программирования, допустимое количество циклов перезаписи не менее 1000. Большинство кодов команд имеют 16-битовый формат, поэтому, как правило, одна ячейка флэш-памяти хранит код 1 команды или две 8-битовых константы. Адресация в этом адресном пространстве производится программным счетчиком.
В памяти данных ППЗУ (EEPROM) образует отдельное адресное пространство объемом 0,5 К однобайтовых ячеек с адресами $000 - $ IFF и хранением данных при выключении питающего напряжения. Доступ к данным в ППЗУ производится с помощью специальных регистров из файла регистров ввода-вывода; программно доступно и чтение, и запись данных. Запись данных также может производиться программатором в процедуре внутрисистемного программирования.
Третье адресное пространство является основной частью памяти данных и содержит 32 регистра общего назначения с адресами $000 - $01F, 64 регистра ввода-вывода с адресами $020 - $05F и ОЗУ объемом 0,5 К однобайтовых ячеек с адресами $060 - $25F. Такая организация памяти данных позволяет адресовать все эти регистры как ячейки ОЗУ с известными адресами либо использовать для их адресации соответствующие обозначения или адреса в регистровых файлах. Например, регистр управления АЦП имеет адрес ОЗУ $026, адрес в файле регистров ввода-вывода $06 или символическое имя ADCSR.
Адресация ячеек памяти в третьем адресном пространстве производится стандартными способами. При прямой адресации адрес содержится в командах STS k, Rr и LDS Rd, k, где к - адрес в диапазоне $000-$25F, Rr и Rd любые из регистров общего назначения.
Рис.17. Память микроконтроллера АТ90 S 8535.
Косвенная адресация возможна регистрами X, Y, Z. Каждый из этих адресных регистров образован парой регистров общего назначения: X -R27-R26, Y - R29-R28, Z - R31-R30. Адресация также возможна с помощью указателя стэка (пара регистров SPH-SPL файла регистров ввода-вывода), обычно в качестве вершины стэка используется наибольший адрес ОЗУ с символическим именем RAMEND, для данного микроконтроллера - это физический адрес S25F.
Адресация регистров общего назначения стандартная: в команде указывается номер регистра (например, mov r2, r0) или присвоенное ему ранее символическое имя (например, mov r2, temp). Обращение к файлу регистров ввода-вывода производится командами in, out с использованием, как правило, символических имен (символические имена регистров ввода-вывода приведены в приложении).
Параллельные порты ввода-вывода.
Микроконтроллер содержит 32 линии ввода-вывода, объединенные в 4 двунаправленных порта (А, В, С, D). Управление каждым портом производится тремя регистрами порта из файла регистров ввода-вывода, символические имена этих регистров содержат наименование порта. Так как процедуры управления для всех портов аналогичны, рассмотрим их на примере порта А.
Регистр управления порта А с символическим именем DDRA*, адресом в файле регистров ввода-вывода $1А, адресом ОЗУ $03 А программно доступен и для чтения, и для записи и определяет направление передачи данных: 0 - ввод, 1 - вывод. Каждый бит DDRA (DDAO - DDA7) управляет соответствующей линией ввода-вывода и программируется независимо, начальное значение всех битов DDRA -- нулевое. Т.е. в процессе работы значение каждого бита не зависит от значений других битов, чтением содержимого регистра DDRA можно определить направление передачи данных по соответствующим линиям ввода-вывода в данный момент времени.
Регистр ввода данных PINA (адрес в файле регистров ввода-вывода -$19, адрес ОЗУ - $039) программно доступен только для чтения и обеспечивает считывание сигналов, поступающих в данный момент времени на соответствующие линии ввода-вывода (например, линия РА2 в режиме ввода формирует бит PINA2 регистра ввода данных). Никакого хранения данных регистр PINA не выполняет.
Регистр вывода данных PORTA (адрес в файле регистров ввода-вывода - $ 1В, адрес ОЗУ - $ОЗВ) программно доступен и для чтения, и для записи, обеспечивает хранение данных и выдачу их в режиме вывода на соответствующие линии ввода-вывода (например, PORTA4 - РА4). При чтении PORTA передает данные, ранее записанные в этот регистр для вывода.
Буферы портов в режиме вывода позволяют формировать логические сигналы с током нагрузки до 20 мА. В режиме ввода, кроме приема внешних сигналов, буферы позволяют подключать к входам портов внутренние резисторы, задавая на входах при отсутствии внешних сигналов уровень логического нуля. Например, DDA7=0 (ввод данных) при PORTA7=0 внутренний резистор буфера подключен и при отсутствии внешнего сигнала будет задавать на РА7 низкий уровень. Это позволяет устранитьвозможные неопределенности входных сигналов. При появлении сигнала внешнего источника уровень РА7 будет задаваться этим внешним сигналом. При PORTA7=1 внутренний резистор отключен и никакого влияния не оказывает.
Для остальных портов ввода-вывода используются такие же регистры с аналогичными именами и заменой буквы, обозначающей наименование порта. При использовании альтернативных функций портов ввода-вывода в регистрах управления должны задаваться соответствующие этим функциям направления передачи сигналов. Более детальное описание альтернативных функций будет приведено позже при описании соответствующих аппаратных средств микроконтроллера.
Последовательный интерфейс SPI.
Последовательный интерфейс SPI обеспечивает синхронный ввод-вывод данных в последовательном формате через линии ввода-вывода порта В сигналами SCK (альтернативная функция линии ввода-вывода РВ7), MOSI (альтернативная функция линии РВ5), MISO (альтернативная функция РВ6), SS (альтернативная функция РВ4). Контроллер при обмене данными может работать в режиме ведущий (master) или ведомый (slave). Структурная схема, поясняющая алгоритмы работы интерфейса, приведена на рис.18. Этот же интерфейс используется для внутрисистемного программирования микроконтроллера с записью данных во флэш-память и ППЗУ.
SPI-master управляет обменом данных, формируя информационную 8-битовую последовательность на выходе MOSI, стробирующую выдачу данных последовательность тактовых импульсов на выходе SCK и одновременно может принимать на входе MISO 8-битовую последовательность, стробируемую импульсами SCK. Если РВ4 конфигурируется как выход (DDB4=1), сигнал SS не используется, и РВ4 может работать в стандартном режиме вывода. Если РВ4 конфигурируют как вход (DDB4=0), при SS=1 продолжается работа в режиме SPI-master; SS=0, поступающий от другого устройства должен рассматриваться как запрос на переход в режим SPI-slave для приема данных.
Рис. 18. Интерфейс SPI .
SPI-slave управляется последовательностью импульсов на входе SCK и принимает информационную 8-битовую последовательность, подаваемую на его вход MOSI. Параллельно с приемом данных по этим же стробирующим импульсам SCK может формироваться выходная информационная последовательность на выходе MISO. Для этого режима РВ4 должен конфигурироваться входом. При SS=0 реализуется режим SPI-slave, если SS=1, интерфейс переходит в пассивное состояние и перестает работать.
Для режима SPI-master конфигурирование порта В следующее: MISO -вход, MOSI - выход, SCK - выход, SS - вход (как вход используется только при необходимости), для режима SPI-slave: MISO - выход, MOSI - вход, SCK - вход, SS - вход (задается сигнал логического нуля для работы интерфейса). Обмен данными между SPI-master и SPI-slave производится по алгоритму кольцевого регистра сдвига (рис.18), по каждому такту SCK данные сдвигаются на один бит, после 8 тактов содержимое регистра-master и регистра-slave меняется местами. Соединение MOSI - MOSI обеспечивает передачу от SPI-master к SPI-slave, а соединение MISO - MISO используется при необходимости передачи данных в обратном направлении.
Управление интерфейсом SPI производится тремя регистрами файла регистров ввода-вывода: регистром данных - SPDR, регистром управления - SPCR, регистром состояния - SPSR. SPDR и SPCR программно доступны и для чтения, и для записи, SPSR доступен только для чтения.
SPDR служит для записи передаваемых данных и чтения данных, которые поступили в регистр сдвига. SPCR содержит 8 бит управления интерфейсом (слева в таблице символических имен старший бит).
Символические имена битов управления в регистре SPCR
SPIE - бит разрешения прерывания SPI, 0 запрещает прерывания.
SPE - бит разрешения работы; при 0 запрещены любые операции в SP1,
1 разрешает работу интерфейса.
DORD - при 1 первым передается младший бит слова данных,
при 0 -старший бит.
MSTR - при 1 определяется режим SPI-master, при 0 - режим SPI-slave.
Младшие 4 бита SPCR определяют параметры тактового сигнала
SCK:
CPOL - определяет пассивный уровень сигнала SCK в перерывах передачи данных, т.е. при 0 тактовый сигнал в пассивном состоянии интерфейса тоже нулевой.
СРНА - при 0 запись данных должна производиться каждым первым фронтом сигнала SCK после пассивного уровня, при 1 - каждым вторым фронтом сигнала после пассивного уровня.
SPR1 и SPR0 задают частоту сигнала SCK; коэффициент деления тактовой частоты микроконтроллера для интерфейса определяется этими битами следующим образом:
00 - коэффициент деления 4,
01- коэффициент деления 16,
10 - коэффициент деления 64,
11 - коэффициент деления 128.
В регистре SPSR используется только 2 старших бита. SPIF (бит 7) - флаг прерывания, WCOL (бит 6) - флаг коллизии. SPIF устанавливается в 1 после каждого цикла передачи данных или после отмены режима SPI-master сигналом SS и вызывает вектор прерывания SPI_STC (адрес вектора $00а), если бит SPIE=1 (разрешение прерывания в SPCR) и установлен флаг глобального прерывания I в регистре состояния SREG". Флаг прерывания очищается автоматически при вызове вектора прерывания SPI_STC либо одновременно с очисткой флага WCOL. Флаг коллизии устанавливается в случае чтения регистра SPDR в период передачи данных в SPI (некорректное чтение данных) и автоматически очищается одновременно с флагом SPIF после чтения регистра SPSR и последующего обращения к регистру SPDR.
Если биты в регистре управления SPCR для выбора необходимого режима заданы, запись байта данных в регистр SPDR контроллера в режиме SPI-master приводит к началу рабочего цикла интерфейса. SPI-master (рис.4) передает на MOSI данные, с входа MISO может записывать данные от SPI-slave и на выходе SCK формирует 8 импульсов, управляющих передачей байта данных. Под управлением этих же сигналов SCK SPI-slave (рис. 16) принимает данные с входа MOSI и может передавать из своего регистра SPDR данные на выход MISO.
После завершения рабочего цикла обмена данными контроллер, работающий в любом режиме, устанавливает флаг прерывания для вызова вектора прерывания SPI_STC. Подпрограмма обработки этого вектора должна выполнять операции доступа к регистрам SPI для реализации необходимых функций интерфейса. Например, чтение из SPDR поступивших в предыдущем цикле данных и запись в него новых данных для передачи в следующем цикле. К контроллеру SPI-master для обмена данными вместо второго контроллера может быть подключен и обычный регистр сдвига разрядности, соответствующей формату данных.
Таким образом, интерфейс SPI обеспечивает за один рабочий цикл и передачу байта данных из SPDR на выход, и запись в этот же регистр нового байта данных, поступивших на вход. Запуск рабочего цикла производится записью в SPI-master очередного байта данных в регистр SPDR.
7.1. Прикладная программа микроконтроллерного регулятора.
Программирование микроконтроллера начинается с внесения в ППЗУ при помощи программатора табулированных значений функции , при помощи которых определяем знак нелинейного воздействия.
Словесный алгоритм функционирования микроконтроллерного регулятора:
1. Инициализация и настройка МК на ввод сигналов x1 и x2 .
Порт B на вывод.
2. Измеряем текущее значение x2
3. Проверяем условие
4. Измеряем значение x1
5. Если условие в пункте 3 ложно, переходим к пункту 8,
6. Проверяем условие .
7. Если оно истинно, то подаём на выход линейное управляющее воздействие и переходим к пункту 2
8. Считываем и сравниваем с x1
9. Если , то подаём на вывод нелинейное управляющее воздействие, иначе подаём его же, но с отрицательным знаком.
10. Переход к пункту 2.
Листинг программы:
. NOLIST
. INCLUDE "8535 def . inc "
. LIST
. CSEG
. org $000
rjmp reset ;прерывание по reset
. org $00 e
rjmp adc 0 ;прерывание по завершению преобразования АЦП
.ORG$011
reset:ldi r16, low(RAMEND)
out SPL, r16
ldi r16, high(RAMEND)
out SPH , r 16 ;определить в указателе стека адрес RAMENDldi r 16, 0 b 11111110
out admux , r 16 ; преобразовывать сигнал с первого выхода мультиплексора РА1
out DDRA , r 16 ; определить все биты порта A на ввод
ldi r 16, 0 b 11111110
out portA, r16 ; определить пассивный высокий уровень сигнала для всех битов порта А
ser r16 ;установить все биты $ff в регистр r16
out DDR B , r16 ;порт B на вывод
ldi r16, 0b11001110
out adcsr, r16 ;инициализация АЦП
ldi r16, 0b00000110 ;инициализация записи в ППЗУ
out EECR, r16
ldi r16, 0b00000000 ;инициализация чтения из ППЗУ
out EECR, r16
sei ;флаг глобального разрешения прерываний
main :
nop
rjmp main
adc 0: ;подпрограмма обработки прерываний АЦП
inc r20
cpi r20, 1
brne adc1
in r17, ADCL ;занести младший байт кода результата преобразования АЦП в регистр r17
in r 18, ADCH ;занести старший байт кода результата преобразования АЦП в регистр r18
ldi r 16, 0 b 00000001
out admux, r16 ;преобразовывать сигнал с первого выхода мультиплексора РА0 x1
sbi adcsr, ADSC ; запустить АЦП для однократного преобразования
reti
adc1:
clr r20
i n r21, ADCL ;занести младший байт кода результата преобразования АЦП в регистр r21
in r22, ADCH ;занести старший байт кода результата преобразования АЦП в регистр r22
ldi r23, 0b10110011
ldi r24, 0b01101011 ;занести С1
ldi r27, 0 b 00000110
ldi r 28, 0b11010101 ;занести С2
cpi r 28, r 18 ;сравнить C2 и x2
brne u 1 ;перейти если разность (C2 -x2 ) отрицательная
cpi r 27, r 17
brne u 1
cpi r 22, r 24 ;сравнить С1 и x1
brne u 1 ;перейти если разность (С1 -х1 ) отрицательная
cpi r 21, r 23
brne u 1
ldi r16,0b0000001 ;загрузить U2 линейная зависимость
out PORTB, r16
reti
u1:
lsl r17
rol r18
out EEARL, r17
out EEARH, r18
sbi EECR, EERE
rcall pausa ;задержка для нормального чтения из ППЗУ
in r11, EEDR
cpi r22, r11
brne otrsign
ldi r31,1
clr r30
add r17, r31
adc r18, r30
out EEARL, r17
out EEARH, r18
sbi EECR , EERE
rcall pausa ;задержка для нормального чтения из ППЗУ
in r11, EEDR
cpi r21, r10
brne otrsign
ldi r16,0b0000010 ; загрузитьU1 нелинейнаязависимость
out PORTB , r 16
sbi adcsr, ADSC ; запустить АЦП для однократного преобразования
ret i
otr sign :
ldi r16,0b0000100 ;загрузить U1 с обратным знаком нелинейная зависимость
out portB , r 16
sbi adcsr, ADSC ; запустить АЦП для однократного преобразования
ret i
;подпрограмма задержки для нормального чтения из ППЗУ
pausa:
inc r29
cpi r29, r39
brne pausa
clr r29
reti
5. ВЫБОР ЭЛЕМЕНТНОЙ БАЗЫ.
8.1. Выбор операционного усилителя
Так как одна из основных задач курсового проекта - реализовать закон управления с заданной погрешностью (не более 2,5%), рассчитаем обе схемы на точность попадания в прямоугольную область и на точность удержания рабочей точки. Для этого найдем максимальные отклонения напряжения от заданных значений, с помощью формулы:
,
где первое слагаемое – это дрейф нуля операционного усилителя. Второе слагаемое – влияние шумов усилителя. Третье – погрешность, вносимая резисторами.
Выбирая операционный усилитель необходимо минимизировать напряжение дрейфа нуля ОУ. Таким образом, необходимо добиться выполнения следующего условия:
(мВ)
Значит, требуется выбрать операционный усилитель, параметры которого удовлетворяют последнему условию.
Из справочной литературы выбираем тип и необходимые характеристики операционного усилителя. В качестве операционного усилителя был взят малошумящий прецизионный усилитель OP27. Необходимые параметры занесены в таблицу 1.
Таблица 1.5.
Параметр | Буквенное обозначение |
Значение | Единица измерения |
Число элементов в корпусе | Т | 1 | - |
Напряжение смещения ОУ | 0,03 | мВ | |
Входной ток | 40 | нА | |
Частота единичного усиления | 8 | МГц | |
Минимальный стабильный коэффициент усиления | - | ||
Напряжение питания | В | ||
Максимальный потребляемый ток на один элемент | 9,3 | мА | |
Типкорпуса | DIP-8, SO-8, TO99-8 | - | - |
Рис.19. Функциональная схема малошумящего прецизионного усилителя OP27.
8.2.Выбор резисторов
В спроектированном устройстве будем использовать прецизионные резисторы типа С2-29. Это резисторы с металлодиэлектрическим проводящим слоем, предназначенные для работы в высокоточных электрических цепях постоянного, переменного и импульсного тока в качестве элементов навесного монтажа. Резисторы типа С2-29 относятся к изолированным.
По шкале Е192 резисторы имеют точность:
XR =0,001
Температурный коэффициент сопротивления:
aR =5,5·10-5 1/0 С (при -10<t<200 C)
aR =5·10-5 1/0 С (при 20<t<500 C)
Рис.20. Вид резистора С2-29В
8.3.Выбор конденсаторов
Также в схеме будем использовать конденсаторы типа К71-6.
Рис.21. Конденсатор типа K 71-6.
Конденсаторы К71-6 предназначены для работы в цепях постоянного, переменного и импульсного тока.
Имеют цилиндрический металлический герметизированный корпус.
Диапазон рабочих температур: -60 … +200 0 С.
9.АНАЛИЗ КАЧЕСТВЕННЫХ ПОКАЗАТЕЛЕЙ МИКРОКОНТРОЛЛЕРНОЙ СИСТЕМЫ.
Динамический диапазон измеряемой величины х1 :
Относительная погрешность дифференциального напряжения, зависящая от технологии изготовления ЧЭ .
Статическая погрешность измерения величины х1 :
Коэффициент ослабления синфазного напряжения:
Цена одного кванта:
Технологическая несбалансированность моста чувствительного элемента приводит к смещению нуля усилителя:
(В)
Относительная погрешность сопротивления резисторов схемы:
(1/0 С)
Результирующая статическая погрешность устройства:
Следовательно, результирующая погрешность меньше результирующего кванта 10-разрядного АЦП. Именно поэтому доминирующей составляющей общей погрешности является смещение нуля, вызванное влиянием соответствующих параметров ОУ.
Влияния собственного шума активных элементов:
( нВ/).
Таким образом, предложенное схемотехническое решение можно рассматривать в качестве основы при построении аналоговых сенсорных интерфейсов как интеллектуальных датчиков, так и микроконтроллеров, ориентированных на задачи измерительной техники и автоматического управления.
ЗАКЛЮЧЕНИЕ
Для автоматизации производства и технологических процессов датчики являются неотъемлемой составляющей частью САУ. Датчики с цифровым выходом всё более вытесняют датчики с аналоговым выходом из-за простоты разработки канала обмена с микроконтроллером, но каналы обработки аналогового сигнала по сей день имеют более высокую интеграцию и универсальность за счёт того, что компоненты, которые включает в себя канал предназначены для универсальных подсистем. На базе АЦП, ЦАП, коммутаторов, схем выборки и хранения, операционных усилителей и других аналоговых элементов разрабатывают операционные узлы, способные обрабатывать аналоговую информацию без преобразования ее в цифровую форму. Каналы обработки аналоговой информации обладают большим быстродействием по сравнению с каналами обработки цифровой информации. При выполнении данного курсового проекта было разработано двухканальное устройство согласования датчиков с микроконтроллером, произведен расчет параметров системы, выполнено моделирование. Данное устройство имеет высокую интеграцию и универсальность, обладает модернизационным запасом, стабильностью работы и высоким быстродействием, что подтверждают проделанные расчеты и результаты моделирование.
СПИСОК ЛИТЕРАТУРЫ
1) А.В. Евстифеев Микроконтроллеры AVRсемейства Classic фирмы ATMEL. Москва, Издательский дом «Додэка-XXI», 2006.
2) Иванов Ю.И., Югай В.Я. Микропроцессорные устройства систем управления. Учебное пособие для вузов. -Таганрог. Изд. ТРТУ, 2005.
3) Иванов Ю.И., Югай В.Я. Применение микроконтроллеров AVR. Учебное пособие, Таганрог. Изд. ТРТУ, 2003.
4) Крутчинский С.Г., Маньков Ю.В. Микроконтроллеры и локальные системы. Методическое пособие по проектированию. Таганрог. Изд. ТРТУ, 1999.
5) Иванов Ю.И., Югай В.Я. Интерфейсы средств автоматизации. Учебное пособие.-Таганрог. Изд. ТРТУ, 2005.
6) Баранов В.Н. Применение микроконтроллеров AVR. Схемы, алгоритмы, программы. Издательский дом «Додэка-XXI», 2004
7) «Микросхемы ЦАП и АЦП»/ Б.Г. Федорков, В.А. Телец, М.: Энергоатомиздат 1990, 320с.
8) Справочник «Резисторы», под редакцией Четверткова.