Регулятор мощности, подаваемой в нагрузку, на основе ШИМ

Автор работы: Пользователь скрыл имя, 12 Декабря 2013 в 10:40, курсовая работа

Описание работы

Разработать схему регулирования мощности, подаваемой в нагрузку, на основе микроконтроллера AVR Atmega16 с использованием широтно-импульсной модуляции (ШИМ).
Уровень управляющего напряжения регулируется с помощью потенциометра.
Для связи с компьютером использовать интерфейс RS-232.

Содержание работы

1. Техническое задание
2. Введение
3. Выбор и обоснование структурной схемы
4. Разработка алгоритма работы микроконтроллера
5. Выбор и обоснование принципиальной схемы
6. Разработка программы для микроконтроллера
7. Заключение
8. Список литературы

Файлы: 1 файл

Мой курсовой МПC.doc

— 290.00 Кб (Скачать файл)


 

 

 

Федеральное агентство  по образованию

Государственное образовательное  учреждение высшего профессионального  образования

“Томский Политехнический Университет”

 

 

Факультет   –      Электрофизический

Направление   –                  Электроника и микроэлектроника

Кафедра           –       ПМЭ

 

 

Регулятор мощности, подаваемой в нагрузку, на основе ШИМ

Курсовой проект

по дисциплине: «Микропроцессорная техника»

 

 

 

 

 

 

 

 

 

Выполнил студент группы 1А51                                                           Д.О. Лебедев

Проверил преподаватель                                                                        Г.С. Воробьева

 

 

 

 

Томск 2009

Содержание:

  1. Техническое задание
  2. Введение
  3. Выбор и обоснование структурной схемы
  4. Разработка алгоритма работы микроконтроллера
  5. Выбор и обоснование принципиальной схемы
  6. Разработка программы для микроконтроллера
  7. Заключение
  8. Список литературы
  9. Приложения

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Техническое задание

Разработать схему регулирования мощности, подаваемой в нагрузку, на основе микроконтроллера AVR Atmega16 с использованием широтно-импульсной модуляции (ШИМ).

Уровень управляющего напряжения регулируется с помощью потенциометра.

Для связи с компьютером использовать интерфейс RS-232.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Введение

Современный рынок электронных  систем предъявляет все более  жесткие требования к разрабатываемым  устройствам. Данные системы должны быть просты по своей схемотехнике, надежны, высокотехнологичны, иметь  большие ресурсы в части модификации  выполняемых функций и иметь низкую стоимость, При этом очень часто при разработке электронных устройств  приходится увязывать взаимоисключающие моменты:

-простоту схемотехники при большом  наборе выполняемых функций;

-малое энергопотребление при  высоком быстродействии;

-малые затраты на подготовку производства для обеспечения серийного выпуска изделий.

Всем вышеперечисленным задачам  и требованиям соответствуют  устройства, разработанные на базе микроконтроллеров, в частности на базе МК AVR производства фирмы Atmel, которые объединяют все передовые технологии микроконтроллеров: высокую  производительность, прогрессивную RISC-архитектуру, малое потребление электроэнергии, функциональную законченность и минимальные размеры. В соответствии с гарвардской архитектурой память AVR-микроконтроллера разделена на две области: память данных и память программ. Кроме того, МК содержит память на EEPROM для энергонезависимого хранения данных.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Выбор и обоснование структурной  схемы

 

Данная схема имеет простую структуру. Регулятор управляющего напряжения – это первый блок. В моем случае это потенциометр. Главным блоком является второй – непосредственно микросхема AVR с прошитой программой. С её помощью реализован ШИМ и происходит регулирование его скважности. Это позволяет на выходе МК получить ШИМ сигнал с регулируемой, в зависимости от управляющего напряжения, скважностью. Связь с компьютером обеспечивается через интерфейс RS-232, что задано по техническому заданию (ТЗ).

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Разработка алгоритма работы МК

Описание алгоритма:

Данная программа предназначена  для регулирования скважности ШИМ  сигнала, что эквивалентно регулированию мощности, поступающей в нагрузку, и отправки значения результата преобразования АЦП на компьютер через модуль USART.

В заданном МК предусмотрены 4 канала аппаратного формирования ШИМ сигнала [2]. Мы будем использовать всего один. Сначала ШИМ нужно настроить. Для регулирования скважности будем использовать оцифрованное напряжение с выхода АЦП. Для этого его нужно подавать в регистр сравнения ШИМа.

Т.к. с помощью напряжения потенциометра  должна изменятся скважность ШИМа, то нужно оцифровать это аналоговое напряжение. Для этого его нужно подать на АЦП, который есть в микросхеме ATmega16 [2]. Предварительно нужно провести инициализацию и настройку АЦП.

Для передачи данных по интерфейсу RS-232 нужно предварительно настроить модуль USART, который есть в ATmega16 [2].

После запуска одиночного преобразования АЦП, микроконтроллер ждет его завершения. После завершения АЦ преобразования программа переходит по вектору прерывания и запускает подпрограмму - обработчик прерываний, при выполнении которой МК помещает результат в регистр сравнения ШИМа, тем самым задавая его скважность, также она помещает этот результат в регистр данных модуля USART, что приводит к немедленной отправке данных на компьютер. Затем подпрограмма снова запускает одиночное преобразование и цикл повторяется вновь.

Таким образом происходит регулирование скважности ШИМа и отправка данных через COM-порт.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Выбор и обоснование принципиальной схемы

Схема приведена в Приложении №1 к курсовому проекту.

Регулятор управляющего напряжения реализован с помощью обыкновенного потенциометра. Для него выберем переменный резистор номиналом 4,7 кОм из справочника [3]:

СП3-3д – 0,05Вт – 4,7кОм ± 20%

Переключатель SA1, предназначенный для сброса МК, выберем SWT 6 x 6 x 6мм

В настоящее время микроконтроллеры (МК) семейства AVR очень широко используются в электронной технике. В курсовом проекте я использовал микросхему ATmega16 производства фирмы Atmel. Данный МК обладает хорошим соотношением цена/характеристики. Кроме того, AVR ATmega16 имеет аппаратную возможность формировать 4 ШИМ сигнала на ножках OC0, OC1A, OC1B, OC2 [2] (цоколёвка приведена ниже).

МК имеет следующую цоколёвку:

 

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 мкФ

Нет

Нет


Отличительные особенности:

  • Электростатическая защита (ESD) выводов I/O RS-232 отвечает стандартам: 
        ±15кВ—Human Body Model 
        ±8кВ—IEC1000-4-2, Contact Discharge 
        ±15кВ—IEC1000-4-2, Air-Gap Discharge
  • свободны от эффекта «залипания» (в отличие от биполярных эквивалентов)
  • Гарантированная скорость передачи данных 120 Кбит/с – совместимы со стандартом LapLink™
  • Гарантированная минимальная скорость нарастания напряжения 3 В/мкс
  • Питание +5 В
  • Расположение выводов и типовая схема включения:

 

Выберем 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.

  • Бит 7 - RXCIE (Receive Comlete Interrupt Enable). Бит генерации прерывания при приеме данных. Если установлен, происходит прерывание для немедленной обработки принятых данных.
  • Бит 6 - TXCIE (Transmit Comlete Interrupt Enable). Бит генерации прерывания при завершении передачи. Если установлен, происходит прерывание после отправки данных.
  • Бит 5 - UDRIE (UDR Empty Interrupt Enable). Бит генерации прерывания при отсутствии данных для передачи.
  • Бит 4 - RXEN (Receiver Enable). Бит наличия приемника данных. Если установлен, МК будет принимать данные через RS-232C.
  • Бит 3 - TXEN (Transmitter Enable). Бит наличия передатчика данных. Если установлен, МК будет передавать данные через RS-232C.
  • Бит 2 - UCSZ2 (USART Character SiZe 2). Определяет количество бит в кадре. Работает вместе с битами UCSZ1 и UCSZ0 в UCSRC.
  • #Бит 1 - RXB8 (Receive Data Bit 8). Девятый бит принятых данных (восьмой при нумерации с 0), использующийся в многопроцессорном режиме.
  • Бит 0 - TXB8 (Transmit Data Bit 8). Девятый бит отправляемых данных, использующийся в многопроцессорном режиме.

Информация о работе Регулятор мощности, подаваемой в нагрузку, на основе ШИМ