Автор работы: Пользователь скрыл имя, 12 Декабря 2013 в 10:40, курсовая работа
Разработать схему регулирования мощности, подаваемой в нагрузку, на основе микроконтроллера AVR Atmega16 с использованием широтно-импульсной модуляции (ШИМ).
Уровень управляющего напряжения регулируется с помощью потенциометра.
Для связи с компьютером использовать интерфейс RS-232.
1. Техническое задание
2. Введение
3. Выбор и обоснование структурной схемы
4. Разработка алгоритма работы микроконтроллера
5. Выбор и обоснование принципиальной схемы
6. Разработка программы для микроконтроллера
7. Заключение
8. Список литературы
Федеральное агентство по образованию
Государственное образовательное учреждение высшего профессионального образования
“Томский Политехнический Университет”
Факультет – Электрофизический
Направление – Электроника и микроэлектроника
Кафедра – ПМЭ
Регулятор мощности, подаваемой в нагрузку, на основе ШИМ
Курсовой проект
по дисциплине: «
Выполнил студент группы 1А51
Проверил преподаватель
Томск 2009
Разработать схему регулирования мощности, подаваемой в нагрузку, на основе микроконтроллера AVR Atmega16 с использованием широтно-импульсной модуляции (ШИМ).
Уровень управляющего напряжения регулируется с помощью потенциометра.
Для связи с компьютером
Современный рынок электронных
систем предъявляет все более
жесткие требования к разрабатываемым
устройствам. Данные системы должны
быть просты по своей схемотехнике,
надежны, высокотехнологичны, иметь
большие ресурсы в части
-простоту схемотехники при
-малое энергопотребление при высоком быстродействии;
-малые затраты на подготовку производства для обеспечения серийного выпуска изделий.
Всем вышеперечисленным
Данная схема имеет простую структуру. Регулятор управляющего напряжения – это первый блок. В моем случае это потенциометр. Главным блоком является второй – непосредственно микросхема AVR с прошитой программой. С её помощью реализован ШИМ и происходит регулирование его скважности. Это позволяет на выходе МК получить ШИМ сигнал с регулируемой, в зависимости от управляющего напряжения, скважностью. Связь с компьютером обеспечивается через интерфейс RS-232, что задано по техническому заданию (ТЗ).
В данной работе моей задачей является проектирование схемы для получения регулируемого ШИМ сигнала на выходе МК AVR, и связь этой схемы с компьютером.
Описание алгоритма:
Данная программа
В заданном МК предусмотрены 4 канала аппаратного формирования ШИМ сигнала [2]. Мы будем использовать всего один. Сначала ШИМ нужно настроить. Для регулирования скважности будем использовать оцифрованное напряжение с выхода АЦП. Для этого его нужно подавать в регистр сравнения ШИМа.
Т.к. с помощью напряжения потенциометра должна изменятся скважность ШИМа, то нужно оцифровать это аналоговое напряжение. Для этого его нужно подать на АЦП, который есть в микросхеме ATmega16 [2]. Предварительно нужно провести инициализацию и настройку АЦП.
Для передачи данных по интерфейсу RS-232 нужно предварительно настроить модуль USART, который есть в ATmega16 [2].
После запуска одиночного преобразования АЦП, микроконтроллер ждет его завершения. После завершения АЦ преобразования программа переходит по вектору прерывания и запускает подпрограмму - обработчик прерываний, при выполнении которой МК помещает результат в регистр сравнения ШИМа, тем самым задавая его скважность, также она помещает этот результат в регистр данных модуля USART, что приводит к немедленной отправке данных на компьютер. Затем подпрограмма снова запускает одиночное преобразование и цикл повторяется вновь.
Таким образом происходит регулирование скважности ШИМа и отправка данных через COM-порт.
Схема приведена в Приложении №1 к курсовому проекту.
Регулятор управляющего напряжения реализован
с помощью обыкновенного
СП3-3д – 0,05Вт – 4,7кОм ± 20%
Переключатель SA1, предназначенный для сброса МК, выберем SWT 6 x 6 x 6мм
В настоящее время
МК имеет следующую цоколёвку:
VCC – ножка для подачи питания (4,5 – 5,5 В) от стабилизированного источника
GND – земля
RESET – сброс (при низком уровне напряжения)
XTAL1, XTAL2 – ножки для подключения кварцевого резонатора
PA, PB, PC, PD – порты ввода/вывода (A, B, C и D соответственно)
Остальные характеристики и параметры ATmega16 приведены в Приложении №4.
Преобразователь уровня
Ранее для согласования уровней ТТЛ и RS-232C использовались дискретные элементы и дополнительные источники питания.
Однако сейчас есть специализированные микросхемы, которые не нуждаются в дополнительных источниках питания в связи с тем, что их схемотехника обеспечивает повышение напряжения относительно 5В и его инверсию. Широкий спектр таких микросхем изготавливает фирма МАХIМ.
В качестве преобразователя уровня будем использовать микросхему:
ИС |
Кол-во RS-232 драйверов |
Кол-во RS-232 приемников |
Активные Приемники (shutdown) |
Кол-во внешних конденсаторов |
Режим shutdown |
TTL с 3-я состояниями |
MAX232 |
2 |
2 |
0 |
5 х 0.1 мкФ |
Нет |
Нет |
Отличительные особенности:
Выберем 5 конденсаторов емкостью
0.1мкФ необходимых для
Выбираем конденсаторы: К53-1– 0.1мкФ-16В+/-10%
Листинг программы приведен в Приложении №2.
Опишем основные моменты программы:
.include "m16def.inc"
Этой директивой подключаем названия всех портов и адреса регистров управления периферийными устройствами. Теперь к ним можно обращаться по их буквенному обозначению. Компилятор открывает указанный в директиве файл, компилирует его пока файл не закончится или не встретится директива EXIT, после этого продолжает компиляцию начального файла со строки следующей за директивой INCLUDE.
******************************
.def wreg =R31
.def wreg =R30
.def wreg2 =R29
Этой командой задаем регистрам буквенные имена, для того, чтобы было легче обращаться к регистрам.
******************************
.ORG $0000
Эта директива указывает на адрес, начиная с которого будет располагаться программа, описываемая ниже.
******************************
rjmp init
Безусловный переход по метке init.
******************************
.ORG $001C
По этому адресу располагается вектор прерывания от АЦП (по окончанию преобразования он переходит на этот адрес)
******************************
rjmp ADfinish ; окончание преобразования АЦП
Безусловный переход по метке ADfinish.
******************************
init:
Метка init
******************************
ldi wreg,low(RAMEND)
out SPL,wreg
ldi wreg,high(RAMEND) ; установка стека
out SPH,wreg
В начале программы необходимо организовать стэк. Во всех микроконтроллерах семейства Mega стек реализован программно. Он размещается в памяти данных, и его глубина определяется только размером свободной области памяти данных. В качестве указателя стека во всех моделях используется пара регистров ввода/вывода SPH.SPL, расположенных по адресам $ЗЕ (S5E) и S3D (S5D) соответственно. Так как после подачи напряжения питания (или после сброса) в регистрах содержится нулевое значение, в самом начале программы необходимо инициализировать указатель стека.
******************************
;Настройка USART
LDI wreg3,0b00001000
OUT UCSRB,wreg3
UCSRB.
Информация о работе Регулятор мощности, подаваемой в нагрузку, на основе ШИМ