Программы
Книги
Статьи

Регулирование с помощью AVR

Измерение, управление и регулирование с помощью AVR-микроконтроллеров.
Скачать

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

Содержание

Плата STK500 для тестирования и программирования микроконтроллеров AVR

Технические данные и применение микроконтроллеров AVR

Разработка

Программирование

Плата STK500 для тестирования и программирования микроконтроллеров AVR 14

Внутрисистемное программирование

Глава 1. Анализ и коррекция ошибок. Калибровка устройств, управляемых микроконтроллерами AVR

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

Глава 2. Вспомогательные средства при вводе-выводе данных

2.1.Управление семисегментным индикатором через один вывод порта

  • Непосредственное управление семисегментным светодиодным индикатором с
  • помощью микроконтроллера AVR
  • Принцип мультиплексной индикации

2.2.Управление семисегментным индикатором через один вывод порта микроконтроллера AVR

  • Разделение тактового сигнала и сигнала данных
  • Генерирование импульса записи в буфер
  • Вычисление частоты регенерации/ц
  • Буферизированный сдвиговой регистр.
  • Расчет токоограничительныхрезисторов R4...R11 (см. рис. 2.3)
  • Практическая реализация светодиодных дисплеев
  • Описание программы
  • Часть инициализации
  • Программа тестирования
  • Подпрограмма обработки прерываний Display
  • Подпрограмма Code_4
  • Подпрограмма Code_3
  • Подпрограмма Get_7_Segm
  • Выводы

2.3.Взаимодействие микроконтроллера AVR с ПК через последовательный интерфейс

  • Программа HyperTerminal
  • Определения для последовательной передачи данных по интерфейсу RS232.
  • Соединения внутри интерфейса RS232
  • Управляющие сигналы стандарта RS232
  • Схема тестирования обмена данными по интерфейсу RS232
  • Программа тестирования
  • Описание программы
  • Часть инициализации
  • Основная программа

Глава 3. Измерение напряжения с помощью микроконтроллеров AVR

3.1.Встроенный АЦП микроконтроллеров AVR с разрешением десять разрядов .. 64

  • Характеристики АЦП микроконтроллеров AVR
  • Принцип работы
  • Подача тактовых импульсов на АЦП.
  • Входные каналы АЦП
  • Режимы работы АЦП.
  • Выбор входных каналов и источника опорного напряжения
  • Регистр ADMUX АЦП
  • Регистровая пара ADCH.ADCL
  • Регистр управления и состояния ADCSRA
  • Подавление/предотвращение помех при аналого-цифровом преобразовании.
  • Примеры
  • Описание программы
  • Часть инициализации
  • Основная программа
  • Подпрограмма Out_Text
  • Подпрограмма CalcRe suit
  • Подпрограмма SendResult
  • Подпрограмма DivlO
  • Подпрограмма Mu 15

3.2.Подключение микросхемы АЦП ADS7818 с разрешением 12 разрядов и интерфейсом SPI

  • Технические данные ADS7818
  • Принцип работы ADS7818
  • Процесс аналого-цифрового преобразования eADS7818
  • Режим пониженного энергопотребления ADS7818
  • Дополнительные режимы работы ADS7818
  • Изменение направления потока битов результата
  • Уменьшение разрешения ADS7818
  • УправлениеADS7818 через интерфейс SPIмикроконтроллераAVR
  • Реализация последовательной передачи с помощью аппаратного интерфейса SPI 95 Реализация последовательной передачи с помощью программного интерфейса SPI97
  • Тестовая схема для проверки интерфейса АЦП микроконтроллера
  • Тестовая программа управления ADS7818 и выдачи результата аналого-цифрового преобразования
  • Описание программы
  • Часть инициализации
  • Основная программа
  • Подпрограмма обработки прерывания Display
  • Подпрограмма ReadSPI
  • Подпрограмма CalcResult
  • Подпрограмма SendByte
  • Подпрограмма SendResult
  • Подпрограмма Code_4
  • Подпрограмма Get_7_Segm
  • Подпрограмма DivlO
  • Выводы

3.3. Тестовая плата для микроконтроллера AT90S2313 и микросхемы AIjnADS7818aba

4. Цифро-аналоговое преобразование с помощью микроконтроллеров AVR

4.1.Цифро-аналоговое преобразование с использованием широтно-импульсной модуляции

  • Принцип цифро-аналогового преобразования с помощью ШИМ-сигнала
  • Амплитудный спектр прямоугольных импульсов
  • Среднее арифметическое выходного напряжения
  • Практическая реализация АЦП с ШИМ
  • Калибровка схемы
  • Пример расчета параметров фильтра нижних частот
  • Формирование ШИМ-сигнала с помощью Т/С1
  • Аналоговое управление коэффициентом заполнения прямоугольных импульсов напряжения
  • Управление коэффициентом заполнения прямоугольных импульсов напряжения с помощью Т/С1
  • Режим быстрой широтно-импульсной модуляции
  • Программа
  • Описание программы
  • Тестовая программа
  • ПАП с управлением по прерыванию при использовании ШИМ-аккумулятора.
  • Алгоритм формирования ШИМ-сигнала
  • Пример ШИМ-генератора в качестве "виртуальной периферии"
  • Описание программы

4.2.Цифро-аналоговое преобразование с помощью встроенного АЦП микроконтроллера AVR

  • Практическая реализация ПАП с помощью встроенного АЦП микроконтроллера AVR
  • Алгоритм регулирования ПАП.
  • Пример применения
  • Описание программы
  • Часть инициализации
  • Основная программа
  • Подпрограмма обработки прерывания по завершению АЦ-преобразования
  • Подпрограмма Dif ferenz
  • Подпрограмма SendByte
  • Подпрограмма GetByte
  • Подпрограмма Out_Text
  • Подпрограмма In_Text
  • Подпрограмма Dekodieren
  • Подпрограмма Mul_ 10
  • Подпрограмма Div_5
  • Подпрограмма Verzoegerung

Технические данные и применение микроконтроллеров AVR

В своей книге "AVR RISC-микроконтроллеры"1 автор достаточно подробно описал возможности микроконтроллеров AVR на примере некоторых моделей серии "Classic" (AT90Sxxxx). Рассмотренные характеристики действительны также и для новейших представителей семейства AVR и останутся актуальными и в будущих моделях. Как и прежде, у микроконтроллеров будет регистровый файл, оперативная и флэш-память, память типа EEPROM, порты ввода-вывода, интерфейсы SPI, I2C (TWI) и RS232, таймер, аналоговый компаратор и режим ожидания и т.д. К примеру, порты ввода-вывода ATmega32 устроены аналогично портам AT90S2313, а аналоговый компаратор ATtiny26 работает по тем же принципам, что и в AT90S8515. Безусловно, в устройствах появляются новые дополнительные функции, однако и в новейших поколениях микроконтроллеров AVR будут применяться принципы, исследованные и описанные в упомянутой выше книге.

Система команд также основана на системе команд серии AT90Sxxxx, хотя и дополнена новыми инструкциями (например, командами умножения и пересылки, применение которых будет описано ниже в этой книге). По этой причине, в данной серии мы не будем повторяться с описанием всех функций микроконтроллеров AVR, рассмотренных в книге "AVR-RISC микроконтроллеры", а остановимся подробнее на таких вопросах как цифро-аналоговое преобразование и скоростной режим широтно-импульсной модуляции таймера/счетчика Т/С1.

Наиболее свежие технические описания всех микроконтроллеров AVR и многие рекомендации относительно их применения можно найти на Web-сайте компании Atmel: www. atmel. com (информация распространяется бесплатно).

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

Разработка

Для ускорения и упрощения разработки собственных проектов, основанных на устройствах AVR, можно воспользоваться интегрированной средой AVR-Studio, бесплатно распространяемой через Web-сайт компании Atmel (www. atmel. com).

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

Компания Atmel предлагает также внутрисхемные эмуляторы, однако возможности моделирующей среды AVR-Studio позволяют отследить до 95% всех ошибок. Остальное обнаруживается при тестировании в режиме реального времени посредством определения подходящих программных прерываний.

Интегрированный в AVR-Studio ассемблер является неизмененной версией автономного ассемблера, описанного в книге "AVR-RISC микроконтроллеры". В этой же книге описаны и принципы работы с самой средой AVR-Studio.

Программирование

Серия "Измерение, управление и регулирование с помощью AVR-микроконт-роллеров" затрагивает, прежде всего, наиболее распространенные задачи техники измерения и автоматического регулирования на примере микроконтроллеров AVR компании Atmel. Исходные тексты разработанных автором программ в расширенном виде можно найти на прилагаемом к книге компакт-диске. Программы предназначены для частного (не промышленного!) использования и создавались как образец для дальнейших самостоятельных разработок.

Плата STK500 для тестирования и программирования микроконтроллеров AVR

Существует множество способов записи представленных в книге и созданных читателем самостоятельно программ в микроконтроллеры AVR, однако наиболее доступным и универсальным решением можно назвать предлагаемую компанией Atmel плату STK500 , позволяющую максимально упростить программирование почти всех микроконтроллеров AVR серий "Classic", "Tiny" и "Mega".

Для различных вариантов исполнения микроконтроллеров предусмотрены различные разъемы с двухрядным расположением контактов. Микроконтроллеры AVR с корпусами типа PLCC и TQFP подключаются к плате через адаптер.

Плата STK500 питается нестабилизированным постоянным напряжением в диапазоне 10-15 В. Стабилизация реализована в самой плате.

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

Мультиплексный режим светодиодного семисегментного индикатора

В целом, в микроконтроллерах можно заметить четкую закономерность: чем большее выводов присутствует на корпусе, тем большее количество функций реализует микроконтроллер (приемопередатчик UART, цифро-аналоговый преобразователь, таймер, интерфейсы TWI и SPI и т.д.). Эти функции, безусловно, влияют на стоимость, поэтому микроконтроллеры с большим количеством выводов более дорогостоящие. Тем не менее, очень часто многие функций остаются неиспользованными, а наиболее востребованными оказываются порты ввода-вывода. В этом случае, из соображений экономии, выбирается микроконтроллер AVR с наименьшими возможными размерами корпуса и оптимальным набором портов ввода/вывода.

В главе 16 своей книги "AVR RISC-микроконтроллеры" автор продемонстрировал метод увеличения количества портов ввода/вывода с помощью интерфейса SPI, позволяющий без значительных затрат получить устройство с необходимым количеством выводов. Интерфейс SPI позволяет подключать параллельно внешние блоки, используя при этом все три вывода (а также, в случае необходимости, дополнительные п выводов для сигналов выборки, разрешения или фиксации). Однако, учитывая тот факт, что в "младших" моделях микроконтроллеров AVR (например, таких как AT90S1200 или AT90S2313) этот интерфейс не реализован вообще или предназначен только для программирования, а не для свободного использования, описанный способ также будет стоить (3 + п) выводов.

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

Но прежде рассмотрим два стандартных метода управления светодиодным дисплеем с помощью микроконтроллера AVR.

 


Сайт управляется системой uCoz