Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
МАРИЙСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Факультет информатики и вычислительной техники
Кафедра ИВС
Блок управления стиральной машины
Курсовой проект
по дисциплине
Микропроцессорные системы
Выполнил: студент группы ВМ-41 Мокеев А. В.
Проверил: зав. кафедры ИВС Мясников В.И.
Оценка:
Йошкар-Ола
2006
АННОТАЦИЯ
В данной пояснительной записке представлены функциональные и принципиальные схемы проектируемого устройства управления стиральной машины. В соответствии с заданием выбраны составные части схемы, рассчитаны необходимые параметры схемы.
СОДЕРЖАНИЕ
ТЕХНИЧЕСКОЕ ЗАДАНИЕ
ВВЕДЕНИЕ
Стиральная машина бытовая, предназначается для замочки, стирки, полоскания, подсинивания и отжима белья. Первая стиральная машина появилась в США в 80-х гг. 19 в. Основные узлы стиральной машины. активатор (диск с выступающими ребрами), мешалка или барабан; отжимное устройство; насос; один или несколько электродвигателей для привода перечисленных узлов; стиральный бак.
Схема управления стиральной машины разработанная в данном курсовом проекте содержит встроенный микроконтроллер, который выполняет регулировку температуры, вывод информации на экран, управление двигателя и насосов.
1. ФУНКЦИОНАЛЬНАЯ СПЕЦИФИКАЦИЯ
Векторы |
Двигатель включен |
Клапан включен |
Насос 2 включен |
Нагреватель включен |
Z0 |
- |
- |
- |
- |
Z1 |
- |
+ |
- |
- |
Z2 |
- |
- |
- |
+ |
Z3 |
+ |
- |
- |
- |
Z4 |
+ |
- |
+ |
- |
Z5 |
- |
- |
+ |
- |
2. ПРОЕКТИРОВАНИЕ СИСТЕМЫ
На основании анализа функциональной спецификации можно выделить следующие блоки, которые необходимо реализовать аппаратным способом:
ВХОДЫ:
- модуль датчика температуры;
- модуль переключателя режимов;
- модуль датчика уровня воды;
ВЫХОДЫ:
- модуль управления двигателем;
Модуль подавления дребезга контактов кнопок лучше реализовать аппаратным способом.
3. ПРОЕКТИРОВАНИЕ АППАРАТНОЙ ЧАСТИ УСТРОЙСТВА
3.1. Разработка функциональной схемы устройства
Элементная база МПУ требует напряжения питания +5В.
Модуль переключателя режимов реализуем в виде реле переключателя контактов. При сработке контакта, произойдет замыкание соответствующего контакта.
В качестве датчика температуры необходимо выбрать такой, который бы обеспечивал заданную точность измерения температуры.
Микроконтроллер должен содержать таймер, контроллер обработки внешних прерываний, охранный таймер. Все современные микроконтроллеры имеют встроенный тактовый генератор с внешней времязадающей цепью. На основании анализа структурной схемы получим, что количество внешних линий ввода/вывода должно быть не менее 32.
На схему сброса и синхронизации не накладывается каких-либо особых требований, вида: частота генератора должна иметь определенную стабильность.
Схема сброса должна выработать импульс сброса для микроконтроллера при включении питания.
Модуль драйверов позволяет микроконтроллеру управлять мощной нагрузкой. Насос, нагреватель и клапан питаются от напряжения ~220 В, поэтому модуль драйверов должен выполнять еще и роль гальванической развязки, с целью защиты всей схемы от возможного попадания высокого напряжения. Наиболее приемлемым вариантом развязки является использование оптосимисторов.
Для управления скоростью вращения, и направлением двигателя будем использовать дополнительный модуль.
В качестве модуля ЖКИ можно выбрать любой одно строчный индикатор с восемью символами в строке.
В качестве модуля нагревателя, насоса и клапана можно взять любые, работающие от сети переменного тока в 220 В, тогда для управления придётся использовать драйверы с оптосимисторами.
Модуль питания в нашем случае преобразует переменное напряжение ~220 В в напряжение питания для схемы контроллера. Остановимся на промышленном модуле питания АС/DC, имеющем меньшие габариты, повышенную надежность по сравнению с классическим источником питания на трансформаторе и линейном стабилизаторе.
3.2. Разработка принципиальной схемы устройства
Выбор кнопок, модулей переключателя режимов и датчиков температуры и уровня воды определяется эргономическими требованиями, ценой и т.д.
Модуль защиты от помех может быть реализован на дискретных элементах. Однако в настоящее время лучшим выходом является использование специализированных микросхем, разработанных для подключения механических переключателей. Так серия МАХ681х защищает от статического электричества ( 15кВ), большого напряжения на входах (до уровня 25В) и применима для жестких промышленных условий. Кроме того, она снабжена схемой защиты от дребезга контактов, что делает ее идеальным устройством съема состояния с переключателей. Для нашего случая подойдет микросхема МАХ6816. Её внутренняя структура содержит защитные диоды, аппаратную схему подавления дребезга и защиту от статики, типовая схема включения приведена на рис. 2.1.
В качестве датчика температуры выберем модель фирмы Analog Devices TMP03. Она обеспечивает диапазон измерения температуры от 55 до +125 С, с дискретностью 0,5 С.
Остановимся на выборе микроконтроллера AVR АТ90LS8515. Его характеристики: 40-выводной корпус 35 программируемых линий ввода/вывода с выходными буферами; 16-разрядный таймеры/счетчики; 3 внешних прерывания; программируемый сторожевой таймер, интерфейс SPI и др.
Схема синхронизации наиболее просто реализуется путем использования внутреннего тактового генератора с подключенным внешним кварцевым резонатором. Так как разрабатываемая схема не критична к быстродействию, то зададимся частотой процессора 1МГц. Данная частота позволяет легко формировать необходимые временные задержки и энергопотребление микроконтроллера в этом случае незначительное.
При выборе схемы сброса (супервизора питания) необходимо обратить внимание на то, чтобы длительность импульса, генерируемого схемой по включению питания, была больше длительности, требуемой для сброса микроконтроллера. Кроме того, у АТ90LS8515 сброс низким уровнем.
Выберем супервизор фирмы Dallas DS 1813-5, удовлетворяющий указанным условиям.
В качестве двигателя выбирается любой питающийся от сети в 220 В 50 Гц.
Схему драйвера управления нагревателем, насосом и клапаном построим на мощных симисторах, которыми будем управлять через оптоэлектронную развязку. Например, фирма MOTOROLA предлагает симисторы серии МАС для токов до 40А и напряжений до 800В. Для управления симисторами фирма выпускает оптоэлектронные приборы серии МОС3хх.
В качестве ЖКИ выберем индикатор HDM08111H-1 фирмы Hantronix. Это однострочный 8-символьный индикатор. Его корпус имеет 14 выводов: 8 под данные, один для сигнала чтения/записи, сигнала разрешения, питания и др.
В качестве источника питания, как отмечалось выше, проще всего выбрать промышленный АС/DC модуль. Данные модули выпускаются на разное входное/выходное напряжение с широкой номенклатурой выходной мощности. В нашем случае входное напряжение равно ~220В, выходное +5В. Можно остановиться на AC/DC преобразователях фирмы Franmar.
Для систем управления маломощными двигателями специально разработана серия высокофункциональных IGBT-модулей (AS IPM), которые сочетают силовые, защитные и управляющие функции в одной корпусе. Оптимизация эффективности всей управляющей системы была достигнута благодаря интеграции специальных функций, используемых в конкретных приложениях. Выберем модуль фирмы Mitsubishi Electric серии PS.
Фирма Crydom выпускает широкий ассортимент герконовых датчиков уровня жидкости горизонтального и вертикального (серия RSF5x) исполнения, изготавливаемых из различных материалов и предназначенных для работы в различных средах, в том числе и агрессивных, в диапазоне рабочих температур
от -20 до +120 °C. В датчиках уровня жидкости поплавкового типа в качестве коммутирующего элемента используются герконы. При достижении жидкостью уровня размещения датчика, поплавок со встроенным магнитом поднимается вместе с уровнем жидкости и замыкает или размыкает контакты геркона.
Выберем датчик RSF4-x.
4. ПРОЕКТИРОВАНИЕ ПРОГРАММНОЙ ЧАСТИ УСТРОЙСТВА
4.1. Разработка структуры программного обеспечения
MAIN()
{
ИНИЦИАЛИЗАЦИЯ СИСТЕМЫ();
РАЗРЕШЕНИЕ ОБЩЕГО ПРЕРЫВАНИЯ();
while (1)
{
ПРОВЕРКА ();
СБРОС WDT();
}
}
ИНИЦИАЛИЗАЦИЯ()
{
установка портов на ввод/вывод и задание выходного вектора;
настройка таймера на минимальный дискрет отсчета времени;
настройка постоянной времени охранного таймера;
настройка системы прерывания, разрешение отдельных прерываний;
}
Модуль ПРОВЕРКИ проверяет состояние флага нажатия. Если флаг установлен, то запускается процедура соответствующая нажатой кнопке. Эти процедуры содержатся в ВЫХОДНОМ модуле, такие как включения/выключения ламп, запуск электродвигателя вывод информации на ЖКИ.
ПРОВЕРКА()
{
Если флаг нажатия установлен, то выполнить
{
ВЫХОДНОЙ (параметры);
Сброс флага нажатия;
Разрешение прерывания по нажатию;
}
}
ТАЙМЕР()
{
перезагрузка таймера для задания периода вызова прерывания;
увеличение счетчика текущего времени;
}
ВХОДНОЙ модуль должен реагировать на изменение сигнала от кнопок/датчика. Реализуем данный модуль в виде подпрограммы прерывания по входному сигналу. При возникновении прерывания необходимо установить флаг нажатия.
ВХОДНОЙ()
{
установка флага нажатия;
сброс счетчика текущего времени;
сканирование клавиатуры;
подавление дребезга контактов;
опрос термометра;
}
ВЫХОДНОЙ(параметры)
{ /* начало процедуры*/
установка на порту выходного вектора;
} /* возврат
4.2. Разработка заданного программного модуля
4.3. Руководство программиста
Программа управления написанная на языке С. Программа создана в соответствии с разработанным алгоритмом и состоит из 4-х модулей: обработки прерывания таймера TimerOverFlow, обработки внешнего прерывания по входу INT0, проверки флага сработки\нажатия и установки выходного состояния Contr_out, сброса охранного таймера- _WDR() и процедуры инициализации INIT. Модули представляют собой отдельные задачи. С целью организации простой системы переключения задач в каждой из них выполняется только одно состояние, после чего осуществляется выход из задачи. Для организации приоритетного обслуживания использована система прерываний. Переключение задач организовано путем помещения их в бесконечный цикл while(1) в основной программе main. Процедуры инициализации каждой задачи объединены в процедуре INIT.
Листинг программы:
#include <io8515.h>
#include <ina90.h>
#define time_otsim 10*1800 //время отжима 10 мин.
#define time_stirka 10*2400 //время стирки 30 мин
//определение масок прерывания
#define MskInt0=0x40
#define MskTIE1=0x80
//Определение номеров состояний
#define Q1 1
#define Q2 2
#define Q3 3
#define Q4 4
#define Q5 5
// определение периода счета таймера1
#define T1_H 0x3C
#define T1_L 0xB0
unsigned int xdsec // счетчик интервалов
char Q //номер состояния
void nabor(void)
void nagrev(void)
void stirka(void)
void otsim(void)
void sliv(void)
void INIT(void) // инициализация контроллера
{
// Настройка таймера 1
TCCR1B |= 0x02; //коэффициент деления частоты генератора
TCCR1B &= 0xFA;
TCNT1H = T1_H; TCNT1L=T1_L;
_WDR();
WDTCSR |=0x0F;
WDTCSR &=0xFA;
// Настройка портов
DDRD = 0x00; // РD7...РD0 на вход
DDRA = 0xFF; // PA7…PA0 на выход
DDRC = 0xFF; // PC7…PC0 на выход
DDRB = 0x7F; //PB7-вход, ост. - выход
//настройка прерываний
TIMSK |=MskTIE1;
GIMsk |=MskInt0;
_SEI();
}
Void CONTR_OUT (void)
{char t;
GIMSK &= ~MskInt0;
t=xdSec;
GIMSK |=MskInt0;
Switch(Q)
{case Q1:
If(Urwater1=1)
{nagrev();}
Break;
case Q2:
If(TEMP=1)
{stirka();}
Break;
case Q3:
If(t>time_stirka) {otsim();}
void main(void)
{
INIT(); //инициализация контроллера
_SEI(); // Общее разрешение прерываний
DIODE=1;
// Бесконечный цикл
while (1)
{if(start)
{ CONTR_OUT;
_WDR(); }// Сброс охранного таймера
}
}
5. ЗАКЛЮЧЕНИЕ
В ходе выполнения данной курсовой работы была разработана схема контроллера стиральной машины. Были выполнены выбор и обоснование элементной базы. В результате выполнения работы были приобретены навыки практического применения теоретических знаний, полученных в результате изучения курса микропроцессорных систем.
6. ЛИТЕРАТУРА