Разработка аппаратного обеспечения
2.1 Выбор микропроцессора
Согласно техническому заданию, при разработке устройства будет использован микропроцессор ATmega 128.
ATmega 128 – маломощный 8-разрядный КМОП микроконтроллер, основанный на расширенной AVR RISC-архитектуре. За счет выполнения большинства инструкций за один машинный цикл ATmega128 достигает производительности 1 млн. операций в секунду/МГц, что позволяет проектировщикам систем оптимизировать соотношение энергопотребления и быстродействия.
Ядро AVR сочетает богатый набор инструкций с 32 универсальными рабочими регистрами. Все 32 регистра непосредственно подключены к арифметико-логическому устройству (АЛУ), который позволяет указать два различных регистра в одной инструкции и выполнить ее за один цикл. Данная архитектура обладает большей эффективностью кода за счет достижения производительности в 10 раз выше по сравнению с обычными CISC-микроконтроллерами.
ATmega128 содержит следующие элементы:
– 128 кбайт внутрисистемно программируемой флэш-памяти с поддержкой чтения во время записи;
– 4 кбайт ЭСППЗУ;
– 4 кбайт статического ОЗУ;
– 53 линии универсального ввода-вывода;
– 32 универсальных рабочих регистра, счетчик реального времени (RTC);
– 4 гибких таймера-счетчика с режимами сравнения и ШИМ;
– 2 УСАПП;
– двухпроводной последовательный интерфейс, ориентированный на передачу байт;
– 8-канальный 10-разрядный АЦП с опциональным дифференциальным входом с программируемым коэффициентом усиления;
– программируемый сторожевой таймер с внутренним генератором;
– последовательный порт SPI;
– испытательный интерфейс JTAG совместимый со стандартом IEEE 1149.1, который также используется для доступа к встроенной системе отладке и для программирования
Микроконтроллер также поддерживает шесть программно выбираемых режимов уменьшения мощности:
– Режим холостого хода (Idle) останавливает ЦПУ, но при этом поддерживая работу статического ОЗУ, таймеров-счетчиков, SPI-порта и системы прерываний.
– Режим выключения (Powerdown) позволяет сохранить содержимое регистров, при остановленном генераторе и выключении встроенных функций до следующего прерывания или аппаратного сброса.
– В экономичном режиме (Power-save) асинхронный таймер продолжает работу, позволяя пользователю сохранить функцию счета времени в то время, когда остальная часть контроллера находится в состоянии сна.
– Режим снижения шумов АЦП (ADC Noise Reduction) останавливает ЦПУ и все модули ввода-вывода, кроме асинхронного таймера и АЦП для минимизации импульсных шумов в процессе преобразования АЦП.
– В дежурном режиме (Standby) кварцевый/резонаторный генератор продолжают работу, а остальная часть микроконтроллера находится в режиме сна. Данный режим характеризуется малой потребляемой мощностью, но при этом позволяет достичь самого быстрого возврата в рабочий режим.
– В расширенном дежурном режиме (Extended Standby) основной генератор и асинхронный таймер продолжают работать.
Микроконтроллер производится по технологии высокоплотной энергонезависимой памяти компании Atmel. Встроенная внутрисистемно программируемая флэш-память позволяет перепрограммировать память программ непосредственно внутри системы через последовательный интерфейс SPI с помощью простого программатора или с помощью автономной программы в загрузочном секторе.
Загрузочная программа может использовать любой интерфейс для загрузки прикладной программы во флэш-память. Программа в загрузочном секторе продолжает работу в процессе обновления прикладной секции флэш-памяти, тем самым поддерживая двухоперационность: чтение во время записи. За счет сочетания 8-разрядной RISC ЦПУ с внутрисистемно самопрограммируемой флэш-памятью в одной микросхеме ATmega128 является мощным микроконтроллером, позволяющим достичь высокой степени гибкости и эффективной стоимости при проектировании большинства приложений встроенного управления.
ATmega128 поддерживается полным набором программных и аппаратных средств для проектирования, в том числе: Си-компиляторы, макроассемблеры, программные отладчики/симуляторы, внутрисистемные эмуляторы и оценочные наборы.
На рисунке 2.1 отображено расположение выводов у ATmega 128.
Рисунок 2.1 – Расположение выводов у ATmega 128
Ниже приведено описание выводов:
– VCC - напряжение питания цифровых элементов
– GND - общий
– Порт A (PA7..PA0) - 8-разрядный порт двунаправленного ввода-вывода с внутренними подтягивающими к плюсу резисторами (выбираются раздельно для каждого разряда). Выходные буферы порта A имеют симметричную выходную характеристику с одинаковыми втекающим и вытекающим токами. При вводе, линии порта А будут действовать как источник тока, если внешне действует низкий уровень и включены подтягивающие резисторы. Выводы порта A находятся в третьем (высокоимпедансном) состоянии при выполнении условия сброса, даже если синхронизация не запущена. Порт А также выполняет некоторые специальные
функции ATmega128.
– Порт В (PВ7..PВ0) - 8-разрядный порт двунаправленного ввода-вывода с внутренними подтягивающими к плюсу резисторами (выбираются раздельно для каждого разряда). Выходные буферы порта В имеют симметричную выходную характеристику с одинаковыми втекающим и вытекающим токами. При вводе, линии порта B будут действовать как источник тока, если внешне действует низкий уровень и включены подтягивающие резисторы. Выводы порта B находятся в третьем (высокоимпедансном) состоянии при выполнении условия сброса, даже если синхронизация не запущена. Порт В также выполняет некоторые специальные
функции ATmega128.
– Порт C (PC7..PC0) - 8-разрядный порт двунаправленного ввода-вывода с внутренними подтягивающими к плюсу резисторами (выбираются раздельно для каждого разряда). Выходные буферы порта C имеют симметричную выходную характеристику с одинаковыми втекающим и вытекающим токами. При вводе, линии порта C будут действовать как источник тока, если внешне действует низкий уровень и включены подтягивающие резисторы. Выводы порта C находятся в третьем (высокоимпедансном) состоянии при выполнении условия сброса, даже если синхронизация не запущена. Порт C также выполняет некоторые специальные функции ATmega128.
– Порт D (PD7..PD0) - 8-разрядный порт двунаправленного ввода-вывода с внутренними подтягивающими к плюсу резисторами (выбираются раздельно для каждого разряда). Выходные буферы порта D имеют симметричную выходную характеристику с одинаковыми втекающим и вытекающим токами. При вводе, линии порта D будут действовать как источник тока, если внешне действует низкий уровень и включены подтягивающие резисторы. Выводы порта D находятся в третьем (высокоимпедансном) состоянии при выполнении условия сброса, даже если синхронизация не запущена. Порт D также выполняет некоторые специальные
функции ATmega128.
– Порт E (PE7..PE0) - 8-разрядный порт двунаправленного ввода-вывода с внутренними подтягивающими к плюсу резисторами (выбираются раздельно для каждого разряда). Выходные буферы порта E имеют симметричную выходную характеристику с одинаковыми втекающим и вытекающим токами. При вводе, линии порта E будут действовать как источник тока, если внешне действует низкий уровень и включены подтягивающие резисторы. Выводы порта E находятся в третьем (высокоимпедансном) состоянии при выполнении условия сброса, даже если синхронизация не запущена. Порт E также выполняет некоторые специальные
функции ATmega128.
– Порт F (PF7..PF0) - действует как аналоговый ввод аналогово-цифрового преобразователя. Порт F также может использоваться как 8-разрядный порт двунаправленного ввода-вывода, если АЦП не используется. К каждой линии порта может быть подключен встроенный подтягивающий к плюсу резистор (выбирается раздельно для каждого бита). Выходные буферы порта F имеют симметричную выходную характеристику с одинаковыми втекающим и вытекающим токами. При вводе, линии порта F будут действовать как источник тока, если внешне действует низкий уровень и включены подтягивающие резисторы. Выводы порта F находятся в третьем (высокоимпедансном) состоянии при выполнении условия сброса, даже если синхронизация не запущена. Если активизирован интерфейс JTAG, то подтягивающие резисторы на линиях PF7(TDI), PF5(TMS) и PF4(TCK) будут подключены, даже если выполняется Сброс. Вывод TDO находится в третьем состоянии, если не введено состояние TAP, при котором сдвигаются выводимые данные. Порт F - также выполняет функции интерфейса JTAG.
– Порт G (PG4..PG0) - 5-разрядный порт двунаправленного ввода-вывода с внутренними подтягивающими к плюсу резисторами (выбираются раздельно для каждого разряда). Выходные буферы порта G имеют симметричную выходную характеристику с одинаковыми втекающим и вытекающим токами. При вводе, линии порта G будут действовать как источник тока, если внешне действует низкий уровень и включены подтягивающие резисторы. Выводы порта G находятся в третьем (высокоимпедансном) состоянии при выполнении условия сброса, даже если синхронизация не запущена. Порт G также выполняет некоторые специальные функции ATmega128.
– RESET вход сброса. Если на этот вход приложить низкий уровень длительностью более минимально необходимой будет генерирован сброс независимо от работы синхронизации.
– XTAL1 вход инвертирующего усилителя генератора и вход внешней синхронизации.
– XTAL2 выход инвертирующего усилителя генератора.
– AVCC вход питания порта F и аналогово-цифрового преобразователя. Он должен быть внешне связан с VCC, даже если АЦП не используется. При использовании АЦП этот вывод связан с VCC через фильтр низких частот.
– AREF вход подключения источника опорного напряжения АЦП.
– PEN вход разрешения программирования для режима последовательного программирования через интерфейс SPI. Если во время действия сброса при подаче питания на этот вход подать низкий уровень, то микроконтроллер переходит в режим последовательного программирования через SPI. В рабочем режиме PEN не выполняет никаких функций.
2.2 Выбор датчика скорости вращения
В качестве датчика для измерения скорости вращения коллекторного двигателя, выбираем датчик GT101DC (рисунок 2.2) фирмы Honeywell, созданный на основе эффекта Холла.
Рисунок 2.2 – Датчик GT101DC
Функциональная схема датчика GT101DC отображена на рисунке 2.3.
Рисунок 2.3 – Функциональная схема датчика GT101DC
Назначение внешних выводов датчика GT101DC представлено в таблице 2.1.
Таблица 2.1 – Назначение внешних выводов датчика GT101DC
Вывод | Обозначение | Назначение вывода |
VDD | Напряжение питания (+5В) | |
OUT | Выходной сигнал | |
VSS | Общий вывод |
В таблице 2.2 указаны технические характеристики датчика GT101DC.
Таблица 2.2 – Технические характеристики датчика GT101DC (начало)
Тип выходного сигнала: | пороговый |
Тип чувствительного элемента: | элемент Холла |
Наличие встроенного магнита: | есть |
Тип чувствительности к полю: | встроенный магнит |
Индукция включения при 25оС, Гаусс: | - |
Индукция выключения при 25оС, Гаусс: | - |
Максимальная чувствительность, мВ / Гаусс: | - |
Макс рабочая частота, кГц: | |
Время нарастания сигнала, мкс: | |
Мин напряжение питания, В: | 4.5 |
Макс напряжение питания, В: | |
Макс выходной ток, мА: |
Таблица 2.2 – Технические характеристики датчика GT101DC (окончание)
Температурный диапазон, гр. С: | -40…150 |
Корпус: | 1GT1 |
Производитель: | Honeywell Inc. |
Принцип действия датчика заключается в наведении разности потенциалов на границах полупроводниковой пластины с током, во внешнем магнитном поле.
Усиленная датчиком разность потенциалов прямо пропорциональна напряжённости магнитного поля в области его установки. Таким образом, при размещении датчика вблизи вращающейся детали на выходе будет генерироваться цифровой сигнал.
2.3 Выбор симистора и его управляющего драйвера
В разрабатываемом устройстве будет использован популярный отечественный симистор КУ208Г (рисунок 2.3).
Рисунок 2.3 – Симистор КУ208Г
Основные характеристики симистора:
– Макс. обратное напряжение 400В;
– Макс. среднее за период значение тока в открытом состоянии 5А;
– Макс. повторяющийся импульсный ток в открытом состоянии 10А;
– Макс. напряжение в открытом состоянии 2В;
– Наименьший постоянный ток управления для включения 0,3А;
– Наименьший повторяющийся импульсный ток управления, необходимый для включения 0,16А;
– Отпирающее напряжение управления, соответствующее минимальному постоянному отпирающему току 2,5В;
– Отпирающее напряжение управления, соответствующее минимальному импульсному повторяющемуся отпирающему току 5В;
– Критическая скорость нарастания напряжения в закрытом состоянии 10В/мкс;
– Критическая скорость нарастания тока в открытом состоянии 3А/мкс;
– Время включения 10мкс;
– Время выключения 150мкс;
– Рабочая температура -60 ... +85°C.
Симистор КУ208Г подходит под условия технического задания, так как максимальная поддерживаемая сила тока составляет 5А, в то время как в условиях задания оговорено 3А.
Для управления симистором выбран симисторный оптодрайвер MOC3041 (рисунок 2.4).
Рисунок 2.4 – Симисторный оптодрайвер MOC3041
В таблице 2.3 предоставлены характеристики симисторного оптодрайвера MOC3041.
Таблица 2.3 – Характеристики MOC3041
Характеристика | Значение |
Корпус | 6-SMD |
Тип монтажа | Поверхностный |
Корпус (размер) | 6-SMD |
Current - DC Forward (If) | 60mA |
Current - Hold (Ih) | 400µA |
Тип выхода | AC, Triac, Zero Cross |
Current - Gate Trigger (Igt) (Max) | 15mA |
Подключение симисторного оптодрайвера MOC3041 осуществляется по схеме, отображенной на рисунке 2.5.
Рисунок 2.5 – Схема подключения симисторного оптодрайвера MOC 3041
2.4 Выбор устройства индикации
В качестве устройства индикации будет использован двухстрочный ЖКИ HDD44780 (рисунок 2.6).
Рисунок 2.6 – ЖКИ HDD44780
На рисунке 2.7 отображена схема данного ЖКИ.
Рисунок 2.7 – Схема ЖКИ HDD44780
В данной схеме используются следующие порты:
DB0-DB7 – входы данных;
R/W – чтение / запись;
V0 – яркость;
E – разрешение;
RS – данные / команды.
Управление устройством индикации осуществляется при помощи команд, которые приведены в таблице 2.4.
Таблица 2.4 – Команды управления HDD44780
Команда | Код | Время выполнения | |||||||||
RS | R/W | DB7 | DB6 | DB5 | DB4 | DB3 | DB2 | DB1 | DB0 | ||
Очистка дисплея | 1,64 мкс | ||||||||||
Курсор домой | * | 1,64 мкс | |||||||||
Включение изображения | D | C | B | 40 мс | |||||||
Сдвиг | S/C | R/L | * | * | 40 мс | ||||||
Запись данных | WRITE DATA | 40 мс |
2.5 Выбор стабилизатора напряжения
Для питания микроконтроллера и остальных элементов схемы будет использован стабилизатор фиксированного положительного напряжения КР142ЕН5А (рисунок 2.8). Схема типового включения КР142ЕН5А изображена на рисунке 2.9.
Рисунок 2.8 – Стабилизатор КР142ЕН5А
Рисунок 2.9 – Схема типового включения КР142ЕН5А
На данных рисунках обозначены:
1 – вход;
2 – общий;
3 – выход.
Основные параметры стабилизатора фиксированного напряжения КР142ЕН5А приведены ниже:
– выходное номинальное напряжение – 5В;
– выходное минимальное напряжение – 4,9В;
– выходное максимальное напряжение – 5,1В;
– входное максимальное напряжение – 15В;
– коэффициент нестабильности напряжения, максимальный – 0,05%/B;
– коэффициент нестабильности тока, максимальный – 1,33%/A;
– выходное сопротивление – 17мОм;
– ток КЗ – 750мА;
– максимальный выходной ток – 1,5А;
– рабочий диапазон температур кристалла -45… +125 °С.