Проектирование микроконтроллера

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информатика, ВТ, телекоммуникации
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    283,75 Кб
  • Опубликовано:
    2017-04-03
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Проектирование микроконтроллера

Содержание

Техническое задание на проектирование

1. Теоретическая часть

1.1 Микроконтроллеры

1.2 Микроконтроллеры семейства Fujitsu F2MC-16FX

1.3 Датчик присутствия

2. Структурная схема объекта проектирования

3. Функциональная схема объекта проектирования

4. Разработка принципиальной электрической схемы

4.1 Микроконтроллер

4.2 Выбор датчика присутствия

4.3 Выбор и расчет параметров реле

4.4 Выбор транзистора

5. Принципиальная схема

6. Программное обеспечение

Заключение

Список использованных источников

Техническое задание на проектирование


Работа устройства организована по следующему принципу:

контроллер предназначен для освещения темного помещения и его принудительной вентиляции;

при входе людей в помещение включается освещение (200 Вт);

через 30 минут пребывания людей в помещении включается вентиляция (50 Вт);

через 30 секунд после ухода всех людей из помещения свет выключается, а через 15 минут выключается вентиляция.

устройство должно быть реализовано на микроконтроллере MB90F591G.

1. Теоретическая часть


1.1 Микроконтроллеры


Микроконтроллер - это микросхема, предназначенная для управления электронными устройствами. Типичный микроконтроллер сочетает на одном кристалле функции процессора и периферийных устройств, содержит ОЗУ и (или) ПЗУ.

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

Неполный список периферии, которая может присутствовать в микроконтроллерах, включает в себя:

·              универсальные цифровые порты, которые можно настраивать как на ввод, так и на вывод;

·              различные интерфейсы ввода-вывода, такие как UART, IІC, SPI, CAN, USB, Ethernet;

·              аналого-цифровые и цифро-аналоговые преобразователи;

·              компараторы <#"902858.files/image001.gif">

Рисунок 2.1 Структурная схема устройства контроллера кондиционирования

Назначение блоков структурной схемы:

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

Блок присутствия человека будет представлять собой датчик, определяющий присутствие человека в комнате и дальнейшую обработку сигнала, необходимого для его обработки микроконтроллером.

Блок коммутационных устройств - необходим для управления мощной нагрузкой с помощью сигналов поступающих с выхода микроконтроллера.

Вентилятор - элемент стандартного оборудования охлаждения воздуха в помещении.

Лампа - элемент стандартного оборудования освещения в помещении.

3. Функциональная схема объекта проектирования


Функциональная схема устройства кондиционирования приведена на рисунке 3.1.

Рисунок 3.1 Функциональная схема устройства кондиционирования

Назначение блоков функциональной схемы:

Датчик присутствия - работает по принципу ИК сигнала, отраженного от человека.

Блок формирования логической "1" - представляет собой делитель напряжения, построенный на постоянных резисторах. Необходим для согласования напряжения между датчиком и микроконтроллером.

Блок управления - состоит из полевого транзистора, работающего в ключевом режиме, в коллекторной цепи стоит обмотка реле. В зависимости от программы, записанной на микроконтроллере, сигнал будет поступать на блок управления. Т.о. контакты реле будут включать вентилятор и лампу.

4. Разработка принципиальной электрической схемы


4.1 Микроконтроллер


В курсовом проекте используется микроконтроллер типа MB90F591G серии МВ90590 семейства F2MC-16LX разработанный фирмой Fujitsu.

Основные характеристики микроконтроллера MB90F591G:

Микроконтроллер MB90F591G организован на базе микропроцессорного ядра F2MC-16LX. Он содержит энергонезависимую память (ROM) типа Flash объемом 384 Кбайт и оперативную память RAM объемом 8 Кбайт. Максимальное значение внутренней частоты (System clock) - 16 МГц. Напряжение питания - 4,5-5,5 В.

Микроконтроллер включает ряд периферийных модулей:

-       Трёхканальный дуплексный универсальный асинхронный приемопередатчик (UART) с максимальной скоростью обмена в асинхронном режиме 500 Кбод и в синхронном режиме - 2 Мбод;

-       Последовательный интерфейс SPI со скоростью обмена до 2 Мбод (Serial I/O);

-       Восьмиканальный аналого-цифровой преобразователь с разрешением 8 или 10 разрядов (A/D Converter);

-       Двухканальный 16-разрядный перезагружаемый таймер с функцией подсчета внешних событий (Reload Timer);

-       Сторожевой таймер (Watch Timer);

-       16-разрядный таймер ввода/вывода (I/O Timer);

-       6-канальный 16-разрядный блок сравнения/формирования выходных сигналов (Output Compare);

-       6-канальный 16-разрядный блок захвата входных событий (Input Capture);

-       6-канальный 8 - или 16-битныйпрограммируемый генератор импульсов (Programmable Pulse Generator);

-       2 канала последовательного интерфейса CAN версии 2.0 А и В (CAN Interface);

-       котроллер шагового двигателя (4 канала) (Stepping Motor Controller);

-       контроллер внешних прерываний (8 каналов) (External Interrupt);

-       звуковой генератор (Sound Generator);

-       порты ввода/вывода общего назначения (I/O Ports). Они делят внешние выводы контроллера с другими периферийными устройствами в режиме альтернативных функций.

Для увеличения помехозащищенности все цифровые входные линии контроллера имеют гистерезис. Выходные сигналы формируются парами CMOS транзисторов и не имеют встроенных подтягивающих (pull-up/down) резисторов. В рабочем режиме контроллер потребляет ток до 80 мА. Микроконтроллер выпускается в корпусе QFP, имеющем 100 выводов. [1]

4.2 Выбор датчика присутствия


Выбираем датчик движения МА3102.

Блок представляет собой датчик движения (детектор присутствия), подключаемый к персональному компьютеру через USB-порт для его настройки и управлять силовыми нагрузками.

С его помощью можно включать вентилятор при приближении на расстояние 15 см, 1 м.

Напряжение питания Uпит =12 В.

Конструктивно устройство выполнено на двухсторонней печатной плате из фольгированного стеклотекстолита.

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

Исходя из технических характеристик датчика необходимо отметить, что при моменте, когда человек появляется в зоне излучения с выхода датчика необходимо получить единицу. При выходе человека из помещения, датчик снова меняет свое значение на ноль.

Электрическая схема датчика и делителя приведена на рисунке 4.1.

Рисунок 4.1 Электрическая схема датчика и делителя

4.3 Выбор и расчет параметров реле


При выборе реле необходимо учитывать, чтобы коммутируемая нагрузка составляла 220В, что необходимо для включения вентилятора.

Выберем реле типа TRIL-12VDC-SD. Реле является нейтральным.

Основными техническими параметрами TRIL-12VDC-SD являются:

1) Номинальное рабочее напряжение:

) Номинальный рабочий ток:

) Коммутируемое переменное напряжение:

) Номинальное сопротивление обмоток реле:

4.4 Выбор транзистора


Для управления реле выбираем полевой транзистор КП921А.

Транзистор кремниевый, полевой с изолированным индуцированным каналом n-типа. Предназначен для применения в быстродействующих переключающих устройствах. Выпускается в пластмассовом корпусе с гибкими выводами. Масса не более 10г.

Транзистор работает в ключевом режиме, а к стоку подсоединяется обмотка реле.

Основными техническими параметрами КП921А являются:

1) Постоянное напряжение сток-исток:

) Ток стока: .

Для предотвращения повреждения транзистора высоковольтным импульсом ЭДС самоиндукции, который возникает при обесточивании обмотки реле, необходимо поставить диод VD1. Диод срабатывает только при размыкании цепи.

Выберем диод Д237А, у которого максимальное обратное импульсное напряжение

Электрическая схема блока управления вентилятора представлена на рисунке 4.4 [3]

Рисунок 4.2 Электрическая схема блока управления вентилятором

5. Принципиальная схема


Рисунок 5.1 Электрическая схема блока управления контроллером кондиционирования

6. Программное обеспечение


. PROGRAM cooler

#include Mb90V590. h

. EXPORT _main

. SECTION DATA_MAIN, DATA, ALIGN=2

; инициализация начальных значений происходит в _init

isAnyoneInside. RES. B 1; есть ли кто-нибудь в помещении, 1 - да, 0 - нет

timerPeopleIn. RES. W 1; счетчик для таймера вентиляции (для подсчета 30 мин из 2Hz)

timerPeopleOutLight. RES. W 1; счетчик для таймера света (для подсчета 30 сек из 2Hz)

timerPeopleOutCool. RES. W 1; счетчик для таймера вентиляции (для подсчета 15 мин из 2Hz)

isTimerOn. RES. B 1; включен ли таймер

isTimerOnPeopleIn. RES. B 1; включен ли таймер. RES. B 1; включен ли таймер. RES. B 1; включен ли таймер

. SECTION INTR, CODE, ALIGN=2

int2HzTimer:; вызывается при включенном таймере 2 раза в секунду

clrb I: TMCSR0: 2; set UF=0isAnyoneInside,PDR2isAnyoneInside, #H'01, disableCounterIntimerPeopleOutLight, #H'0timerPeopleOutCool, #H'0:isTimerPeopleIn, #H'01, checkCounterOutLighttimerPeopleIn, #H'00, decCounterInisTimerPeopleIn, #H'0timerSetOffcoolerSetOnendTimer:timerPeopleIncheckCounterOutLight:isTimerPeopleIn, #H'0

// -----------:isTimerPeopleOutLight, #H'01, checkCounterOutCooltimerPeopleOutLight, #H'00, decCounterOutLightisTimerPeopleOutLight, #H'0timerSetOfflightSetOffcheckCounterOutCool:timerPeopleOutLight

// -----------:isTimerPeopleOutCool, #H'01, endTimertimerPeopleOutCool, #H'00, decCounterOutCoolisTimerPeopleOutCool, #H'0timerSetOffcoolerSetOffendTimer:timerPeopleOutCool:

externalInterrupt: // прерывание с датчика присутствия

call timerSetOnintPresence

// задаем обработчик внешних прерываний

. SECTION INTVEC, CONST, LOCATE=H'FFFFCC

. DATA. L externalInterrupt

// задаем обработчик прерывания таймера

. SECTION INTVEC2, CONST, LOCATE=H'FFFFA0

. DATA. L int2HzTimer

. SECTION CODE_MAIN, CODE, ALIGN=2:isTimerOn, #H'0, endTimeSetUp; если таймер активен - ничего не делаемtimerPeopleIn, #D'3600; 30min = 1800sec = 3600 * 0.5 = 3600 * 2HzTimertimerPeopleOutLight, #D'60; 30sec = 60 * 0.5 = 60 * 2HzTimertimerPeopleOutCool, #D'1800; 15min = 900sec = 1800 * 0.5 = 1800 * 2HzTimer isTimerOn, #H'0; ставим флаг, что таймер включен

movw A, #H'F424; start timer counter = 62500 TMRLR0, A

; селектор ставим на понижении в 32 раза, включаем таймер

; после того, как счетчик досчитает до нуля вызывается прерывание

; которое обработается в int2HzTimerA, #H'81A; selector /32, autoflush, interrupts, enable timerTMCSR0, A::isTimerPeopleIn, #H'00, endTimerSetOffisTimerOnPeopleOutLight, #H'00, endTimerSetOffisTimerOnPeopleOutCool, #H'00, endTimerSetOffA, #H'00; отключаем таймерTMCSR0, A::PDR3: 1 // включаем лампу:PDR3: 1 // отключаем лампу:PDR3: 0 // включаем вентилятор:PDR3: 0 // отключаем вентилятор:; датчик присутствия PDR2, #H'0, presenseAnyone // если никого в помещении нет

mov isTimerPeopleOutLight, #H'1isTimerPeopleOutCool, #H'1presenseEnd:lightSetOn // включаем светisTimerOnPeopleIn,#H'1presenseEnd:

_init:

; resetisAnyoneInside, #H'0timerPeopleIn, #H'0timerPeopleOutLight, #H'0timerPeopleOutCool, #H'0isTimerPeopleIn, #H'0isTimerPeopleOutLight, #H'0isTimerPeopleOutCool, #H'0 isTimerOn, #H'0

; разрешаем внешние прерывания:

; INT4 - блок присутствия человека

setb ENIR: 4 // разрешаем прерывание с INT4

mov H'000031, #H'10 // очищаем значение регистра (EIRR) с INT4

mov H'000033, #H'2 // ELVR прерывание по нарастающему фронту

mov H'0000B0, #H'05; priority button/detect interruptsH'0000B6, #H'06; priority timer interrupts

; разрешаем прерывания с приоритетом <=6

mov ILM, #H'07

or CCR, #H'40

; используем порты для ввода/вывода

setb DDR3: 0 // вентилятор p30

setb DDR3: 1 // лампа p31

clrb DDR2: 4 // датчик присутствия p24

ret

call _init

loop: nop; бесконечный цикл, т.к. вся работа основана на прерываниях

jmp loop

. end

Заключение


В результате выполнения курсового проекта разработано устройство кондиционирования. Разработана принципиальная электрическая схема. Устройство работает на базе микропроцессора типа MB90F591G серии МВ90590 семейства F2MC-16LX разработанный фирмой Fujitsu. Также разработано программное обеспечение на данный тип микроконтроллера. Устройство работает в зависимости от сигналов, приходящих на микроконтроллер от датчиков присутствия человека в помещении. Разработанное устройство удовлетворяет поставленным требованиям.

Список использованных источников


1. "Микропроцессорные средства систем управления", Б.Н. Гаврилин, Е.И. Гуревич,

В.А. Можаев, В.М. Шеленков - Москва, Издательство МАИ, 2007г.

. "Микроконтроллеры 16-разрядные семейства 16LX фирмы Fujitsu. Справочное пособие"

. "Полупроводниковая схемотехника", У. Титце, К. Шенк,

. "Микропроцессорные средства систем управления" Гаврилин Б.Н. и др.

. "Датчики: Справочное пособие" Шарапов В.М. и др.

Похожие работы на - Проектирование микроконтроллера

 

Не нашел материал для своей работы?
Поможем написать качественную работу
Без плагиата!