Микроклимат в теплице
Виды терморегуляторов и их общее устройство. Разработка устройства для управления микроклиматом в теплице. Возможные варианты модернизации системы контроля температуры. Блок инициализации микроконтроллера. Разработка структурной схемы работы программы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 27.05.2015 |
Размер файла | 1,8 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Введение
Система домашней автоматики «Умный дом» - это интеллектуальная система, в которой свет, кондиционеры, охранная сигнализация и электроприборы действуют в заданном согласованном режиме. Это гарантирует удобство управления и высокий уровень системы безопасности.
Управляйте светом во всём доме с любого удобного устройства, будь то настенный выключатель, сенсорная панель, компьютер или пульт дистанционного управления.
Термостат используется во многих устройствах бытовой и специальной техники. Универсальный четырех канальный таймер с функцией термостата может быть использовано в качестве системы управления отоплением дачи, дома, а также различными электроприборами. Это термостат, таймер, АЦП, часы реального времени.
Модуль позволяет поддерживать температуру, которая вам нужна именно в этот момент времени и день недели. "Электронный истопник" автоматически выберет самый выгодный источник энергии для текущего времени суток. Например, может в ночное время включать накопление энергии в тепловом аккумуляторе по дешевому тарифу, а среди недели будет поддерживать минимальную температуру, защищая дом от замерзания. Четыре цифровых датчика температуры можно использовать для управления по 12-ти каналам. Источник независимого питания восстановит работоспособность отопления после отключения сети 220.
1. ТЕОРЕТИЧЕСКИЙ РАЗДЕЛ
1.1 Техническое задание
Основной задачей курсовой работы является разработка устройства для управления микроклиматом. С возможным применением в качестве системы управления микроклиматом в теплице. Устройство должно обеспечивать выполнение следующих функций:
Основные функции устройства
Управление по таймеру:
- Включение нагрузки в определенном промежутке времени
- Управление нагрузками по определенным дням недели, дням в месяце, или по выбранным месяцам.
Управление по температуре (термостатирование):
- Управление в режиме охладителя
- Управление в режиме нагревателя
Будильник звук + свет(подсветка дисплея).
- Количество подключаемых датчиков температуры: 32.
- Энергонезависимые часы реального времени (полный календарь с учетом високосных лет).
- Сохранение всех настроек в энергонезависимой памяти. Продолжение правильной работы программы в случае временного отключения от сети.
- Выходы:
- Оптоизолированный каскад для подключения силовых симисторов (опционально)
- Логические выходы с максимальным током 10мА.
- Удаленное управление термостатом через СОМ - порт компьютера посредством специально разработанного ПО.
- Возможность обновления внутреннего программного обеспечения новыми версиями
- Индикация: 2-строчный 16 символьный LCD-дисплей с возможностью программного управления контрастностью и яркостью подсветки.
- Звуковая индикация встроенным микро-динамиком.
1.2 Анализ элементной базы
Для разработки данного устройства можно использовать следующие элементы элементной базы: Терморегулятор механический, аналоговый, цифровой, на МК. Таймер электромеханический, электронный. Рассмотрим виды терморегуляторов и их общее устройство.
Терморегулятор (термостат) - представляет собой автоматическое устройство и предназначен для точного поддержания температуры путём управления нагревательным или охладительным устройством объекта контроля.
Задаваемая пользователем установка и, выбранный при заказе термостата, алгоритм работы (нагрев или охлаждение) обеспечивают возможность управления нагревательными или охладительными установками.
Имеется встроенный датчик температуры.
Электронные терморегуляторы - имеют одно основное достоинство - высокий показатель определения и регулировки нагрева жилья. Они легко настраиваются и управляются подключенными к ним обогревателями. Состоит терморегулятор такого типа из:
- определяющего нагрев воздуха датчика;
- микропроцессора, обрабатывающего и передающего сигнал;
-детали коммутации управления, которая в данном случае выполняет роль термореле.
Используют электронные терморегуляторы для комплектации общей отопительной системы промышленного здания и частного жилья, регулировки функционирования кондиционеров и климат контролей. Терморегуляторы такой конструкции зачастую входят в комплектацию системы «умный дом», в ней они следят не только за нагревом воздуха в доме, но и за количеством градусов в приборах, входящих в систему. Это необходимо для снижения вероятности образования пожара.
Электромеханические терморегуляторы
Электромеханические терморегуляторы по конструкции самые простые. Сердцем этого прибора является реле, оно осуществляет отключение и подключение приборов. Устройства такого типа устанавливаются в утюгах, электроплитках, плойках и других приборах для быта, которые меняют температуру своей поверхности или внутренних элементов.
Конструкция реле в этих приборах представляет собой группу контактов и двойную пластину из металла. При нагреве пластина меняет свое положение и размыкает контакты, это останавливает ход тока к пластине и спирали. При охлаждении пластина приходит в исходное положение и замыкает контакты. Данный цикл держит температуру на необходимом уровне.
Существует еще одна популярная разновидность механических терморегуляторов, они имеют немного иную конструкцию и принцип действия. Реле в данных приборах расширяется при воздействии высокой температуры. Данный терморегулятор устанавливают в нагревательных баках, масляных обогревателях. Реле в таком типе конструкции имеет форму цилиндра, заполненного чувствительной к повышению и понижению температуры субстанцией. При повышении температуры эта субстанция расширяется и размыкает контакты. Здесь присутствует специальный и сложный привод цепи. При охлаждении субстанция возвращается к исходному объему и контакты замыкаются.
Программируемые терморегуляторы
Программируемый или цифровой терморегулятор дает возможность достигать максимального комфорта.
Это наиболее совершенный вид оборудования, удобный в эксплуатации и практичный. Диапазон установочной температуры шире, чем у механических приборов и составляет 5-45 С. Это позволяет значительно увеличить сферу применения оборудования и уровень создаваемого им комфорта.
Основное отличие программируемого оборудования - возможность задать сложную отопительную программу, которая будет функционировать на протяжении нескольких дней или недель. При этом программа дает возможность задать различную последовательность смены температуры и контроля над ней на каждый день. Оборудован такой терморегулятор двумя датчиками, назначение первого - следить за нагревом помещения в целом, второго - за нагревом самого обогревателя. Программируемые приборы используют для оборудования систем «умный дом».
Выбирая, какой терморегулятор купить, нужно учитывать такие факторы:
- условия внешнего климата;
- качество теплоизоляции обогреваемого строения;
- количество обогревателей в системе;
- тип используемых приборов для обогрева.
Предназначенные для инфракрасных обогревателей регуляторы в состоянии поддерживать работу нескольких обогревателей, но их общая мощность не должна превышать отметку 3-3,5 кВт. Для цепей, превышающих это значение, используют встраиваемый магнитный пускатель, который перераспределяет нагрузку на разные устройства сети. Исходя из целей ВКР нам подходит термостат на основе микроконтроллера.
Таймер -- прибор производственно-технического, военного или бытового назначения, в заданный момент времени выдающий определённый сигнал, либо включающий -- выключающий какое либо оборудование через своё устройство коммутации электроцепи.
Электромеханический таймер предназначен для любого электроприбора. Таймер сам включит или выключит тот или иной прибор. Например, включит утром свет в теплице, а вечером выключит. Включит компрессор в нужное нам время. Электромеханические таймеры отличаются друг от друга наличием регулятора , позволяющем работать включенному в него электрическому прибору на прямую, минуя настройки самого таймера.
Недостатки механических таймеров в следующем:
1. Заданная программа постоянна для каждого дня.
2. При отключении электроэнергии в сети, таймер сбивается на тот отрезок времени, сколько не было питания.
3. Некоторые модели тикают , как механический будильник.
4. чаще выходят из строя, перестают вращаться ( видимо изнашивается механизм шестерней)
Электронные таймеры отличаются друг от друга в основном дизайном внешней формы и парой функций. Одни имеют функцию перехода на летне-зимнее время, другие функцию реагирования на движение ( включаются при приближении к прибору включенному в таймер). Электронные таймеры имеют собственные аккумуляторы, не дающие сбиваться настроенной программе при отключении электроэнергии в сети. Как только питание вновь появляется, таймер работает по заданной программе.
Недостатки электронных таймеров:
1. внутренние аккумуляторы не вечны, и когда-то наступит время их полной выработки. Если Вам не удастся приобрести новые и заменить, таймер можно выбрасывать.
2. как упоминалось выше, при отключении питания, мы не сможем воспользоваться подсказкой, как в случае с механическим таймером и узнать отключалась ли электроэнергия. Ведь таймер не сбивается, и не отстает на тот отрезок времени, пока не было питания.
Достоинства электронных таймеров:
1. Программа может задаваться на каждый день своя. Например в течение рабочих дней включаться и выключаться приборы будут соответственно нашему графику занятости на работе ( учебе), а по выходным в другое время. Или вообще каждый день в разное время.
2. Программа может выставляться на несколько дней. Например только на первую или вторую половину недели.
3. Программа может выставляться через день.
4. Программа может выставляться только на один любой день.
5. По отношению к механическому таймеру, нет ни каких пластинок-рычажков, нет механизма шестерней и нет тиканья напоминающего будильник )
1.3 Анализ структурной схемы
Для осуществления заданных функций в устройства необходимо включить следующие элементы представленные на рисунке 1:
- Микроконтроллер
- Часы реального времени
- Датчик влажности
- Датчик температуры
- COM- порт
Рисунок 1 - Структурная схема термостат
Описание структурной схемы:
- Напряжение питания, постоянное: 9…15 В.
- Потребляемый ток, не более: 200 мА.
- Количество подключаемых датчиков температуры: 4.
- Количество каналов для управления нагрузкой: 4.
- Наличие часов реального времени: есть, полный календарь.
- Индикация: текстовая LCD 16*2.
- Звуковая индикация: есть, микро-динамик.
- Максимальное количество шагов программы: 32.
- Диапазон температур термометра-терморегулятора: -55…+125 С.
- Тип батареи резервного питания: литиевая (3 В)
1.5 Принципиальная схема
Рисунок 2 - Принципиальная схема
Описание принципиальной схемы:
Термостат построен на основе микроконтроллера Atmel Mega32. К портам ввода-вывода подключены: текстовый двух строчный индикатор, микросхема часов реального времени DS1307, драйвер уровней MAX232IN, оптосимисторы TR1…TR4. Стабилизатор напряжения выполнен на микросхеме LM7805. К выходам XS5-XS12 подключаются силовые симисторы. Блок клавиатуры выполнен в виде отдельной платы. Код нажатой клавиши декодируется аналогово-цифровым преобразователем (АЦП) контроллера. Кроме того АЦП контролирует состояние батареи резервного питания для часов. Стабилизатор напряжения выполнен на микросхеме LM7805. Термодатчики DS18B20 подключаются через разъем XS3 по протоколу 1-wire. Регулировка яркости подсветки осуществляется с помощью транзисторного ключа. С помощью миниатюрного динамика, подключенного через развязывающий конденсатор и гасящий резистор к порту контроллера, устройство может подавать звуковые сигналы.
Работоспособность схемы обеспечивается внутренней программой микроконтроллера. При старте программа производит анализ шины 1 -wire и инициализирует «зарегистрированные» термодатчики в 12 битный режим термопреобразования. Далее инициализируются все остальные блоки (текстовый индикатор, порт RS232, часовая микросхема). После инициализации система переходит в режим основного цикла. В этом режиме происходит постоянная обработка обновляемой информации от часов, от датчиков, а так же производится опрос состояния кнопок управления. Кроме того, постоянно работает процесс, отвечающий за управление по таймеру.
1.6 Ведомость применяемости
Позиция |
Номинал |
Примечание |
Кол. |
|
R1 |
220 Ом / 0,5Вт |
Красный, красный, коричневый |
1 |
|
R2, R6...R9 |
510 Ом |
Зеленый, коричневый, коричневый |
5 |
|
R3 |
300 Ом |
Оранжевый, черный, коричневый |
1 |
|
R4 |
150 Ом |
Коричневый, зеленый, коричневый |
1 |
|
R5 |
47 Ом |
Желтый, фиолетовый, черный |
1 |
|
R10...R13 |
2,2кОм / 0,25Вт |
Красный, красный, красный |
4 |
|
R14...R18, R20...R25 |
4,7 кОм или 5,1 кОм |
Желтый, фиолетовый, красный или зелёный, коричневый, красный |
11 |
|
R19 |
1 МОм |
Коричневый, черный, зеленый |
1 |
|
C1...C5, C7, C8, С10, C12,C13 |
0,1 мкФ |
Керамический конденсатор Обозначение 104 |
10 |
|
C6 |
100мкФ/16..25B |
Электролитический конденсатор (0611) |
1 |
|
C9, C11, С14 |
47мкФ/16..25B |
Электролитический конденсатор (0511) |
3 |
|
U1 |
См. Табл. 2 |
ЖКИ - индикатор |
1 |
|
U2 |
7805 |
Стабилизатор напряжения (ТО-220) |
1 |
|
U3 |
MAX232IN |
Драйвер уровней (корпус PDIP-16) |
1 |
|
U4 |
ATMega32-16PI |
Микроконтроллер (корпус PDIP-40) |
1 |
|
U5 |
DS1307N |
Микросхема часов (корпус PDIP-8) |
1 |
|
BE1 |
HCM1212A |
Мини-динамик |
1 |
|
ZQ1 |
QRZ 0.032768 KX-38 PBF |
Кварцевый резонатор |
1 |
|
Q1 |
BD137-16 |
Транзистор NPN |
1 |
|
TR1, TR4 |
MOC3052 |
Оптосимистор (корпус DIP-6) |
4 |
|
B1 |
BAT/HOLD BAT/HOLD. |
Держатель батареи CR2032 |
1 |
|
CR2032 |
Батарея |
1 |
||
DS18B20, DS1820 |
Датчик температуры |
4 |
||
K1...K7 |
TS-A6PS-130 |
Кнопка тактовая |
7 |
|
XS1 |
DRB-9MA |
Разъем на плату угловой |
1 |
|
XS2 |
DJK-07D |
Разъем питания |
1 |
|
XS3 |
ST-111 |
Разъем для датчиков температуры |
1 |
|
SOCKET SCL DIP-40x2,54 |
Панелька для микроконтроллера |
1 |
||
X6-X9 |
ED500V-2 |
Клеммник винтовой |
4 |
|
DJK-11D |
Штекер питания |
1 |
||
NP-107 |
Штекер «стерео» |
1 |
||
Шлейф 10 жил |
30см |
|||
А8036 |
Плата печатная: -основная 123х82мм -клавиатуры 123х24мм |
1 1 |
2. Специальный раздел
терморегулятор микроконтроллер инициализация схема
2.1 Конструкция устройства
Блок управления собран на печатной плате из фольгированного стеклотекстолита толщиной 1 мм. Её размер 123х82мм . Следует устанавливать на плату в первую очередь следует те детали, выводы которых должны быть припаяны к печатным проводникам на ее верхней стороне. Необходимо хорошо залудить проводники на плате, все таки по ним протекает значительный импульсный ток.. Для удобства монтажа на плате показано расположение элементов.
2.2 Блок схема работы программы и подпрограмм
2.3 Описание работы блоков программы
Блок Инициализации микроконтроллера: Определение работоспособности микроконтроллера, запуск микроконтроллера.
Блок Старта программы, установка даты и времени: Запуск программы, установка часов реального времени.
Блок Подключение опроса: производится поиск всех датчиков на шине 1-wire. Предусмотрена возможность установки одного и того же датчика на несколько каналов управления.
Блок Включения нагрузки: включение нагрузки в определенном промежутке времени, по определенным дням недели, дням в месяце, или по выбранным месяцам.
2.4 Код программы
$regfile = "m32def.dat"
$crystal = 1000000
$hwstack = 32
$swstack = 10
$framesize = 40
'$sim
$lib "ds1307clock.lib" ' modified lib
$lib "lcd4busy.lib"
$lib "Double.lbx"
Config Lcd = 16 * 2 ' Определяем тип дисплея 16 знаков на 2 строки
Cursor Off Noblink ' Выключаем курсур на LCD
'Определяем константы
Const _lcdport = Portb ' Порт для работы LCD дисплея
Const _lcdddr = Ddrb
Const _lcdin = Pinb
Const _lcd_e = 0 ' pin для сигнала E LCD
Const _lcd_rw = 1 ' pin для сигнала RW LCD
Const _lcd_rs = 2 ' pin для сигнала RS LCD
Const Repeatstart = 15
Const Speed = 1
'Определяем scl и sda выводы для работы DS1307
Config Sda = Portc.1
Config Scl = Portc.0
'Определяем куда шина 1wire подключена
Config 1wire = Portd.7
'адреса ds1307
Const Ds1307w = &HD0 ' Addresses of Ds1307 clock
Const Ds1307r = &HD1
' Константы коды клавиатуры
Const Key_enter = 0
Const Key_arr_up = 1
Const Key_arr_lf = 2
Const Key_arr_rt = 3
Const Key_arr_dn = 4
Const Key_menu = 5
Const Key_pwr = 6
Const Key_no = 255
Const Key_yes = 254
Const Key_fast = 128
Const Channel = 1 'Канал АЦП к которому подключена клавиатура
Config Clock = User
' Запускаем АЦП микроконтроллера
Config Adc = Single , Prescaler = 8 , Reference = Avcc
Start Adc
'Декларируем функции
Declare Sub Findds18b20
Declare Function Gettemperature(byval Numds As Integer) As Single
Declare Sub Convallt ' Convert T on ALL sensors
Declare Function Decigrades(byval Sc(9) As Byte) As Single
Declare Function Getkey() As Byte
Declare Function Readkeyboard() As Byte
Declare Sub Lcd_print_cp(byval Txt As String)
'декларируем переменные
'Массив 8 * 8
Dim Dsidm(64) As Byte
Dim Dsid(8) As Byte
Dim Dg As Integer 'DECIgrades, I call it, cause I have no space for commas on the display....
Dim Temperature As Single
Dim L As Integer
Dim B As Integer
Dim Sc(9) As Byte 'Scratchpad 0-8 72 bits incl CRC, explanations for DS18b20
'Sc(1) 'Temperature LSB
'Sc(2) 'Temperature MSB
'Sc(3) 'TH/user byte 1 also SRAM
'Sc(4) 'TL/user byte 2 also SRAM
'Sc(5) 'config also SRAM x R1 R0 1 1 1 1 1 - the r1 r0 are config for resolution - write FF to byte for 12 bit - others dont care
'Sc(6) 'res
'Sc(7) 'res
'Sc(8) 'res
'Sc(9) '8 CRC
'DALLAS DS18B20 ROM and scratchpad commands''''''''''''''''''''''''''1wwrite....
'&H 33 read rom - single sensor
'&H 55 match rom, followed by 64 bits
'&H CC skip rom
'&H EC alarm search - ongoining alarm >TH <TL
'&H BE read scratchpad
'&H 44 convert T
'begin Переменные для клавиатуры
Dim Key_old As Byte ' Код ранее нажатой клавиши
Dim Clockcounter As Integer ' Счётчик
Dim Key_delay_repeat As Integer ' Задержка повтора
Dim Key_delay_start_repeat As Integer ' Задержка запуска повтора
'end Перемненные для клавиатуры
Dim Weekday As Byte
Dim Dscount As Byte
Dim Keys As Byte
Dim Pulses As Word , Periods As Word ' Переменные для пищалки
Pulses = 130 : Periods = 20 ' устанавливаем кол - во импульсов и период их следования для пищалки
Speaker Alias Portd.5 ' Ссылка на порт динамика
On Int0 Int0_int 'Инициализируем и запускаем перывание INT0
Enable Interrupts
Enable Int0 'включаем прерыввания
Clockcounter = 0
'''' Основной текст программы
'Cls
'Locate 1 , 1
'Lcd_print_cp "Привет"
'Lcd_print_cp "Всего датчиков"
'Waitms 1000
' Установка даты и времени в DS1307
'Time$ = "23:58:59" ' приваиваем время
'Date$ = "11-13-02" ' устанавливаем дату 13 november 2002
' Определяем количество датчиков и ищем их всех
Findds18b20
Cls
Locate 1 , 1
Lcd_print_cp "Приветсвую Вас"
Locate 2 , 1
Lcd_print_cp "Датчиков:"
Locate 2 , 11
Lcd Hex(dscount)
Waitms 5000
Dim S As String * 16
' Основной бесконечный цикл программы
Do
Cls
Locate 1 , 1
Lcd "Date:" ; Date$
Lowerline
Lcd "Time:" ; Time$
Waitms 1000
Locate 2 , 15
Keys = Readkeyboard()
If Keys = Key_no Then Lcd_print_cp " "
If Keys = Key_pwr Then Lcd_print_cp "PW"
If Keys = Key_arr_up Then Lcd_print_cp "UP"
If Keys = Key_arr_dn Then Lcd_print_cp "DN"
If Keys = Key_arr_lf Then Lcd_print_cp "LT"
If Keys = Key_arr_rt Then Lcd_print_cp "RT"
If Keys = Key_menu Then Lcd_print_cp "MU"
If Keys = Key_enter Then Lcd_print_cp "ET"
Waitms 30
Convallt ' "Convert ALL T on the 1w-bus"
Waitus 200 : Waitus 200 : Waitus 200 : Waitus 200 'if you use 2-wire, could be reduced to 200us
Cls
Locate 1 , 1
Lcd_print_cp "1"
Locate 1 , 10
Lcd_print_cp "2"
Locate 2 , 1
Lcd_print_cp "3"
Locate 2 , 10
Lcd_print_cp "4"
Locate 1 , 3
If Dscount > 0 Then
Temperature = Gettemperature(1)
S = Fusing(temperature , "#.#")
Lcd S
Lcd " "
Else
Lcd "---- "
End If
Locate 1 , 12
If Dscount > 1 Then
Temperature = Gettemperature(2)
S = Fusing(temperature , "#.#")
Lcd S
Lcd " "
Else
Lcd "---- "
End If
Locate 2 , 3
If Dscount > 2 Then
Temperature = Gettemperature(3)
S = Fusing(temperature , "#.#")
Lcd S
Lcd " "
Else
Lcd "---- "
End If
Locate 2 , 12
If Dscount > 3 Then
Temperature = Gettemperature(4)
S = Fusing(temperature , "#.#")
Lcd S
Lcd " "
Else
Lcd "---- "
End If
Waitms 4000
Loop
End
''''
'''' Далее пошли процедуры и функции
''''
Sub Findds18b20
Local B1 As Integer
Local L1 As Integer
'Определяем количесво подключенных датчиков
Dscount = 1wirecount()
'Ищем первый датчик
Dsid(1) = 1wsearchfirst()
B1 = Memcopy(dsid(1) , Dsidm(1) , 8)
'Ищем остальные датчики
For L1 = 2 To Dscount
Dsid(1) = 1wsearchnext()
B1 = L1 - 1
B1 = B1 * 8
B1 = B1 + 1
B1 = Memcopy(dsid(1) , Dsidm(b1) , 8)
Next L
End Sub
Function Gettemperature(byval Numds As Integer)
Local B1 As Integer
Gettemperature = 0
B1 = Numds - 1
B1 = B1 * 8
B1 = B1 + 1
B1 = Memcopy(dsidm(b1) , Dsid(1) , 8)
1wverify Dsid(1)
If Err = 1 Then
Lcd "Err " 'Err = 1 if something is wrong
Elseif Err = 0 Then 'lcd " Sensor found"
1wwrite &HBE
Sc(1) = 1wread(9) 'read bytes into array
If Sc(9) = Crc8(sc(1) , 8) Then
Gettemperature = Decigrades(sc(9))
End If
End If
End Function
'Makes the Dallas "Convert T" command on the 1w-bus configured in "Config 1wire = Portb. "
'WAIT 200-750 ms after issued, internal conversion time for the sensor''''''''''
'SKIPS ROM - so it makes the conversion on ALL sensors on the bus simultaniously
'When leaving this sub, NO sensor is selected, but ALL sensors has the actual
'temperature in their scratchpad ( within 750 ms )
Sub Convallt
1wreset ' reset the bus
1wwrite &HCC ' skip rom
1wwrite &H44 ' Convert T
End Sub
'Makes a integer value of the first two bytes in scratchpad'''''''''''''
'Works on DS18 B 20 , observe "B". The R0 and R1 in Sc(5) tells you how many bits are accurate
Function Decigrades(byval Sc(9) As Byte)
Local U As Integer
Decigrades = 0
U = Makeint(sc(1) , Sc(2))
Decigrades = U
' Decigrades = Decigrades * 10
Decigrades = Decigrades / 16
End Function
' If you have DS1820 or DS18 S 20 , you can use this algo instead:
' Observe that DsId1(1) contains the info value of which sensor is used.
'(
Function Decigrades(byval Sc(9) As Byte)
Dim Tmp As Byte , T As Integer , T1 As Integer
Tmp = Sc(1) And 1 ' 0.1C precision
If Tmp = 1 Then Decr Sc(1)
T = Makeint(sc(1) , Sc(2))
'Print Hex(t)
'Print T
T = T * 50 'here we calculate the 1/10 precision like
T = T - 25 'DS18S20 data sheet
T1 = Sc(8) - Sc(7)
T1 = T1 * 100
T1 = T1 / Sc(8)
T = T + T1
Decigrades = T / 10
'As integer, this routine gives T*10, with 1/10 degree precision
End Function
')
'called from ds1307clock.lib
Getdatetime:
I2cstart ' Generate start code
I2cwbyte Ds1307w ' send address
I2cwbyte 0 ' start address in 1307
I2cstart ' Generate start code
I2cwbyte Ds1307r ' send address
I2crbyte _sec , Ack
I2crbyte _min , Ack ' MINUTES
I2crbyte _hour , Ack ' Hours
I2crbyte Weekday , Ack ' Day of Week
I2crbyte _day , Ack ' Day of Month
I2crbyte _month , Ack ' Month of Year
I2crbyte _year , Nack ' Year
I2cstop
_sec = Makedec(_sec) : _min = Makedec(_min) : _hour = Makedec(_hour)
_day = Makedec(_day) : _month = Makedec(_month) : _year = Makedec(_year)
Return
Setdate:
_day = Makebcd(_day) : _month = Makebcd(_month) : _year = Makebcd(_year)
I2cstart ' Generate start code
I2cwbyte Ds1307w ' send address
I2cwbyte 4 ' starting address in 1307
I2cwbyte _day ' Send Data to SECONDS
I2cwbyte _month ' MINUTES
I2cwbyte _year ' Hours
I2cstop
Return
Settime:
_sec = Makebcd(_sec) : _min = Makebcd(_min) : _hour = Makebcd(_hour)
I2cstart ' Generate start code
I2cwbyte Ds1307w ' send address
I2cwbyte 0 ' starting address in 1307
I2cwbyte _sec ' Send Data to SECONDS
I2cwbyte _min ' MINUTES
I2cwbyte _hour ' Hours
I2cstop
Return
End
'Считываем код нажатой кнопки
Function Getkey() As Byte
Local W As Word
Local W2 As Word
Local Ll As Integer
Local Keyp As Byte
Keyp = 255
W = Getadc(channel)
W2 = Getadc(channel)
Ll = Makedec(w) - Makedec(w2)
If Ll < 3 And Ll > -3 Then
If W > 1000 Then Getkey = 255
If W > 865 And W < 900 Then Keyp = Key_enter
If W > 840 And W < 865 Then Keyp = Key_arr_up
If W > 800 And W < 840 Then Keyp = Key_arr_lf
If W > 760 And W < 780 Then Keyp = Key_arr_rt
If W > 670 And W < 690 Then Keyp = Key_arr_dn
If W > 500 And W < 520 Then Keyp = Key_menu
If W < 30 Then Keyp = Key_pwr 'POWER
End If
Getkey = Keyp
End Function
' Читаем данные с клавиатуры
Function Readkeyboard() As Byte
Local Ifres As Integer
Local Result As Byte
Local Key As Byte
Key = Getkey()
If Key <> Key_old Then
Key_old = Key
Key_delay_repeat = Clockcounter
Key_delay_start_repeat = Key_delay_repeat
If Key <> 255 Then Sound Speaker , Pulses , Periods
Result = Key
Readkeyboard = Result
Exit Function
End If
Ifres = Clockcounter - Key_delay_start_repeat
If Ifres > Repeatstart Then
Ifres = Clockcounter - Key_delay_repeat
If Ifres > Speed Then
Key_delay_repeat = Clockcounter
If Key <> 255 Then Sound Speaker , Pulses , Periods
Result = Key Or 128
Readkeyboard = Result
Exit Function
End If
End If
Result = 255
Readkeyboard = Result
End Function
''' Функция выводит в заданную позицию руссифицированное сообщение
Sub Lcd_print_cp(byval Txt As String * 16)
Local I As Integer
Local Dlina As Integer
Local C As String * 1
Dlina = Len(txt)
If Dlina > 16 Then Dlina = 16
For I = 1 To Dlina
C = Left(txt , I)
C = Right(c , 1)
Select Case C
Case "А" : Lcd "A"
Case "Б" : Lcd " "
Case "В" : Lcd "B"
Case "Г" : Lcd "Ў"
Case "Д" : Lcd "а"
Case "Е" : Lcd "E"
Case "Ё" : Lcd "E"
Case "Ж" : Lcd "Ј"
Case "З" : Lcd "¤"
Case "И" : Lcd "Ґ"
Case "Й" : Lcd "Ґ"
Case "К" : Lcd "K"
Case "Л" : Lcd "§"
Case "М" : Lcd "M"
Case "Н" : Lcd "H"
Case "О" : Lcd "O"
Case "П" : Lcd "Ё"
Case "Р" : Lcd "P"
Case "С" : Lcd "C"
Case "Т" : Lcd "T"
Case "У" : Lcd "©"
Case "Ф" : Lcd "Є"
Case "Х" : Lcd "X"
Case "Ц" : Lcd "б"
Case "Ч" : Lcd "«"
Case "Ш" : Lcd "¬"
Case "Щ" : Lcd "в"
Case "Ъ" : Lcd ""
Case "Ы" : Lcd "®"
Case "Ь" : Lcd "b"
Case "Э" : Lcd "®"
Case "Ю" : Lcd "°"
Case "Я" : Lcd "±"
Case "а" : Lcd "a"
Case "б" : Lcd "І"
Case "в" : Lcd "і"
Case "г" : Lcd "ґ"
Case "д" : Lcd "г"
Case "е" : Lcd "e"
Case "ё" : Lcd "e"
Case "ж" : Lcd "¶"
Case "з" : Lcd "·"
Case "и" : Lcd "ё"
Case "й" : Lcd "ё"
Case "к" : Lcd "є"
Case "л" : Lcd "»"
Case "м" : Lcd "ј"
Case "н" : Lcd "Ѕ"
Case "о" : Lcd "o"
Case "п" : Lcd "ѕ"
Case "р" : Lcd "p"
Case "с" : Lcd "c"
Case "т" : Lcd "ї"
Case "у" : Lcd "y"
Case "ф" : Lcd "д"
Case "х" : Lcd "x"
Case "ц" : Lcd "е"
Case "ч" : Lcd "А"
Case "ш" : Lcd "Б"
Case "щ" : Lcd "ж"
Case "ъ" : Lcd "В"
Case "ы" : Lcd "Г"
Case "ь" : Lcd "Д"
Case "э" : Lcd "Е"
Case "ю" : Lcd "Ж"
Case "я" : Lcd "З"
Case Else Lcd C
End Select
Next
End Sub
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''
''' Работа с прерываниями
'''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Int0_int:
Incr Clockcounter
Return
На основе этого устройства управления можно легко реализовать систему управления и контроля как у вас в квартире, так и на даче или же применить устройство в собственных разработках. В рамках этой статьи предлагается вариант использования 4-х канального микропроцессорного устройства для автоматизации вашего тепличного хозяйства.
Автоматизация вашей дачной теплицы
Для этой цели устройство управления подходит, практически, идеально. Сейчас многие садоводы, не только профессионалы, но и любители предпочитают содержать на своем дачном участке собственное тепличное хозяйство. Ухаживая за произрастающими в теплице культурами, человек получает не только моральное удовлетворение и отдых от суеты мирской, а еще овощи, фрукты и зелень к столу, практически, круглый год. Вместе с тем, каждый садовод, конечно же, знает, что для хорошего роста культур немаловажной задачей будет являться поддержание оптимальной температуры в теплице. Практически это оказывается чрезвычайно трудно, поскольку ее круглосуточный контроль невозможен без специального оборудования в силу понятных причин.
Неплохим решением подобной проблемы может быть использование 4-х канального микропроцессорного устройства управления. Именно с его помощью садовод может организовать круглосуточное поддержание оптимальной температуры в своей теплице. Для этого, прежде всего, конструкцию необходимо правильно собрать и настроить. Информацию о том, как правильно это сделать, можно найти в интернете.
Для начала, обе собранные печатные платы устройства управления было бы разумным установить в корпус FB-04, который можно приобрести отдельно. В этих целях вам необходимо будет самостоятельно прорезать в нем несложные отверстия для индикатора, кнопок и разъемов. Платы крепятся в корпус винтами, которые входят в комплект корпуса FB-04. Общий вид печатных плат показан на Рис. 2
Рис 2.
Для удобства подключения питающего напряжения и датчиков температуры на печатной плате устройства управления предусмотрены разъемы XS2 и XS3 соответственно.
Когда блок управления собран и работоспособен, можно непосредственно приступить к построению самой системы управления теплицей.
Прежде всего, вам необходимо определить место для размещения блока управления (он показан на Рис. 1). Его расположение должно быть таким, чтобы обеспечить не только свободный обзор текстового индикатора, но и доступ к кнопкам управления.
Затем нужно правильно выбрать место установки термодатчика DS18B20. Именно от его в большей мере будет зависеть точность поддержания заданной температуры в теплице. Лучше всего датчик разместить подальше от стен. После того, как датчик надежно закреплен, его подключают к блоку управления шлейфом через разъем XS3. Как правильно это сделать, иллюстрирует Рис. 3
Рисунок 3. Подключение термодатчиков DS18B20 к блоку управления
Теперь можно к блоку управления подсоединить и обогревательное оборудование. Однако тут есть некоторая особенность, на которую вам обязательно нужно обратить внимание. Дело в том, что все силовые выходы устройства NM8036, подключенные к разъемным контактам XS5-XS12, рассчитаны на максимальный ток 1 А. Если суммарный потребляемый ток ваших тепличных обогревателей превосходит это значение, конструкцию устройства управления необходимо немного доработать.[2] Проще всего это сделать, если к используемым выходам XS5-XS12 подключить мощные силовые симисторы (в комплект набора NM8036 не входят) по схеме, приведенной на Рис. 4.
Рисунок 4. Способ подключения силовых симисторов
В схеме можно применять симисторы с током включения не более 1 А в пике. Ток постоянной нагрузки при этом не должен превышать 100 мА. Для такой цели хорошо подойдут симисторы MAC223-MAC224 или BT134-BT139 в зависимости от мощности подключаемо нагрузки (см. табл. 1). Если мощность нагрузки превышает 500 Вт, то симисторы требуется установить на радиатор, площадь которого должна обеспечить достаточный отвод тепла от корпуса прибора.
Таблица 1. Применение дополнительных симисторов для подключения мощной нагрузки
Максимальная мощность подключаемой нагрузки, кВт |
Тип симистора |
Максимальный ток симистора, А |
|
0,80 |
BT134, BT136 |
4 |
|
1,80 |
BT137 |
8 |
|
2,50 |
BT138 |
12 |
|
3,50 |
BT139 |
16 |
|
5,50 |
MAC223 |
25 |
|
8,80 |
MAC224 |
40 |
Так как в устройстве реализована возможность установки одного и того же датчика на несколько каналов управления, можно подключить часть обогревателей к другим выходным каналам, используя дополнительные симисторы, что даст повышение надежности работы силовой части конструкции за счет перераспределения суммарного тока нагрузки по другим каналам устройства управления. На этом установку «железа» для вашей системы управления теплицей можно считать оконченной. Но для нормальной работы термостата этого пока недостаточно. Его еще необходимо запрограммировать, иными словами, проделать ряд действий, предписывающих микропроцессорному устройству термостата, как действовать при определенных условиях и по какому алгоритму. Эти действия представляют собой, своего рода, «обучение» нашего «железа».
Убедившись, что все подключения сделаны верно, подайте напряжение питания на схему устройства управления через гнездо XS2. На индикаторе правильно настроенного блока управления вы должны будете увидеть поочередное переключение между режимами вывода времени (с полной датой) и выводом температур на все 4 канала. Оба режима показаны на Рис. 5
Рисунок 5. Отображение информации на экране блока управления
Начать программировать термостат следует, зайдя в меню блока управления. Для этого вам нужно нажать на кнопку «Меню». При этом становятся доступными следующие режимы: «Установка часов», «Программа», «Поиск датчиков», «Параметры», «Подсветка» и «Контрастность». Навигация осуществляется клавишами «вверх»/«вниз», а клавиша «ввод» позволяет изменять и запоминать соответствующие параметры для данного пункта меню. На Рис. 6. показана индикация этих режимов:
Рисунок 6. Индикация режимов работы устройства управления
«Обучение» термостата начинается с предварительной установки текущего времени, для чего вам необходимо зайти в режим «Установка часов». Затем можно перейти и к непосредственной инициализации (обнаружению) температурного датчика DS18B20. С этой целью вам следует выбрать режим «Поиск датчиков». При входе в данное подменю происходит задержка на несколько секунд, поскольку микроконтроллер производит поиск всех датчиков, подключенных к шине.
Если вы правильно подключили термодатчик DS18B20 к блоку управления, то датчик будет найден устройством, а на экране индикатора появится информация о нем:
Рисунок 7. Отображение информации на экране устройства управления о текущем состоянии температурного датчика
Далее стрелками «влево»/«вправо» производится выбор выходного канала, а стрелками «вверх»/«вниз» производится выбор термодатчика для данного канала. Нажатием на «ввод» вы осуществляете запоминание определенного датчика для выбранного канала. Повторное нажатие «ввод» позволяет вам удалить настройки датчика из памяти на данный канал. Как уже было упомянуто выше, при программировании датчиков предусмотрена возможность установки одного и того же датчика на несколько выходных каналов управления.
Для удобства пользователя в 4-х канальном микропроцессорном устройстве управления организована энергонезависимая память, позволяющая сохранять все настройки даже при отключении питания на длительное время. Кроме того, при отключении датчиков или подключении новых датчиков не будет происходить смещение нумерации и «путаница», так как их запоминание и присвоение к каналам происходит на уровне серийных номеров.
После определения термодатчика и программирования его на работу по выбранному вами каналу, остается задать необходимые условия работы термостата, то есть, научить его работать так, как вам нужно. Для этого в основном меню вам надо зайти в подменю «Программа» (см. Рис. 6). На экране индикатора появится примерно следующее:
Рисунок 8. Экран индикатора устройства управления в режиме «Программа»
При входе в это меню стрелками «вверх»/«вниз» производится выбор канала программы, а при нажатии на кнопку «ввод» происходит вход в режим установки выбранной записи программы управления.
При первом «вводе» происходит вход в установку времени включения нагрузки, а при следующем - переход на установку отключения нагрузки. Этот режим в данном случае для нас не представляет интереса, поскольку включение-выключение нагрузки (тепличных нагревателей) происходит только в зависимости от температуры.
При последующем нажатии на кнопку «ввод» вам нужно выбрать номер канала управления, а также один из четырех режимов (охладитель/нагреватель/без нагрузки/будильник) и установка температур на включение и отключение нагрузки. Выбираем режим «Нагреватель» (на экране появляется кружок) и выставляем максимальную и минимальную температуры. Интервал между этими двумя значениями и будет являться заданным оптимальным диапазоном температур, который устройство управления будет выдерживать внутри теплицы с высокой точностью.
Последним шагом программирования устройства управления является установка времени действия режима термостатирования. Для этого достаточно выставить время действия с 2000 по 2099 год. Система контроля температуры в вашей теплице настроена и готова к работе.
Возможные варианты модернизации системы контроля температуры
Помимо основной функции, такой, как поддержание оптимальной температуры, можно без труда заставить устройство управления NM8036 обеспечивать полив произрастающих в теплице культур строго в соответствии с заданным вами графиком. Для этого, прежде всего, вам будет необходимо выбрать один из свободных каналов управления, а затем «обучить» устройство управлять подключенной к выбранному каналу нагрузкой, в качестве которой может быть электромагнитный клапан, отвечающий за подачу воды в систему полива.
Чтобы реализовать вышесказанное, потребуется зайти в меню выбора режимов, нажав на кнопку «Меню». Вам откроется уже знакомая картинка (см. Рис. 6). Выбирайте кнопками «вверх»/«вниз» режим программирования, после чего жмите на кнопку «ввод». На индикаторе появляется картинка, также знакомая вам (Рис. 8). Теперь можно непосредственно приступить к программированию таймера, который будет управлять клапаном подачи воды.
С помощью кнопок «вверх»/«вниз» вам потребуется найти свободный канал, к которому вы в дальнейшем подключите клапан и нажать на кнопку «ввод». Номер канала запоминается в памяти устройства.
Далее необходимо ввести время старта, например, 14:00:00, а затем, после повторного нажатия на «ввод», время останова 14:30:00. Далее устанавливаются дата, месяц и год. Дальнейшее нажатие на «ввод» позволит вам выбрать типа управления. В этом пункте меню устанавливаем символ «крестик» и номер канала, к примеру, «4», после чего снова жмем «ввод». Появляется меню срабатывания по периоду. Поскольку полив в теплице нужно производить либо каждый день, либо по строго определенным дням на неделе, выберите периодичность срабатывания таймера: «по определенным дням недели» и отметьте те дни, когда должен осуществляться полив. Чтобы возвратиться в предыдущее меню, вам следует нажать клавишу «Меню».
Итак, вы запрограммировали устройство управления на периодический полив по заданным дням недели с 14-00 ч. До 14-30 ч. Остается лишь подключить электромагнитный клапан к выбранному вами при программировании каналу управления. Система «Термостат - автоматический полив» готова к работе!
И последний момент. Устройство управления NM8036, как вы уже, наверно, поняли, изучив его технические характеристики, приведенные в начале этой статьи, имеет возможность подключения к персональному компьютеру посредством разъема XS1, расположенным на основной плате, через последовательный СОМ-порт ПК. Такая особенность может успешно использоваться вами для контроля за работой устройства управления на расстоянии. В целях реализации подобной идеи вам потребуется спаять кабель связи. Приобретите в любом радиомагазине две розетки типа DB9F и изготовьте кабель связи необходимой длины. Схема распайки кабеля приведена на Рис. 9.
Рисунок 9. Способ распайки соединительного кабеля с компьютером
Чтобы заставить компьютер «увидеть» блок управления, вам потребуется специальное программное обеспечение, которое необходимо установить на винчестер ПК.
Если блок управления NM8036 подключен к СОМ-порту компьютера без ошибок, а необходимое программное обеспечение правильно установлено и запущено, на экране ПК вы сможете наблюдать за работой системы «термостат - автоматический полив» и, если нужно, изменять необходимые настройки устройства управления.
При использовании 4-х канального микропроцессорного устройства управления очень важным может оказаться то, что оно поддерживает полный календарь, что позволяет управлять нагрузками на времена до нескольких лет с точностью включения и отключения +/-1секунда. Разрешающая способность измерения температуры устройством составляет 0,1 градуса Цельсия, а точность соответствует заявленной точности на датчики Dallas и равна 0,5 градуса Цельсия.
Заключение
В данной курсовой работе был разработан таймер термостат на микроконтроллере. С возможным применением в качестве системы управления отоплением дачи, дома, а также различными электроприборами. Это термостат, таймер, АЦП, часы реального времени. Модуль позволяет поддерживать температуру, которая вам нужна именно в этот момент времени и день недели.
Приложение
ATmega32
Характеристики:
Высокопроизводительные, мало потребляющие AVR 8- битные микроконтроллеры
Развитая RISC архитектура:
- 131 исполняемых команд, большинство за один машинный такт
- 32 рабочих регистра общего назначения
- полностью статический режим работы
- производительность до 16 MIPS при 16 МГц
- встроенный 2-х тактовый умножитель
Энергонезависимая память программ и данных
- 32К байт внутрисистемно самопрограммируемой FLASH памяти с количеством циклов перепрограммирования до10 000.
- Опционно загрузочная область памяти с независимыми ключевыми битами, внутрисистемное программирование встроенной загрузочной программой, правильное чтение в процессе записи.
- 1024 байт EEPROM с допустимым количеством циклов стирания записи до 100 000.
- 2К байт внутренней SRAM
- программируемый ключ защиты программ
· JTAG (IEEE1149.1 совместимый) интерфейс
- Сканирование памяти в соответствии с JTAG стандартом
- Встроенная поддержка отладчика
- Программирование FLASH, EEPROM, охранных и ключевых бит через JTAG интерфейс
· Периферийные функции
- два 8-битных таймера/счётчика с программируемым предделителем и режимом сравнения
- один 16-битный таймер/счётчик с программируемым предделителем, режимом сравнения и захвата
- счётчик реального времени с программируемым генератором
- четыре ШИМ генератора
- 8-и канальный, 10-и битный АЦП
- байт- ориентированный, двухпроводный интерфейс
- программируемый USART
- Master/Slave SPI последовательный интерфейс
- Программируемыи Watchdog таймер с программируемым генератором
- Встроенный аналоговый компаратор
· Специальные функции
- Reset по включению питания и выключение при снижении напряжения питания
- Внутренний калиброванный RC генератор
- Внешние и внутренние источники прерывания
- Шесть экономичных режимов: Idle, подавления шумов АЦП, экономичный, режим Выкл. , режим ожидания и режим расширенного ожидания.
· 32 программируемых вывода вход-выход и 1 вход
· 40 выводной корпус PDIP, 44 выводной корпус TQFP, и 44 контактный MLF
Напряжение питания:
- 2.7 В до 5.5 В для ATmega32L
- 4.5 В до 5.5 В для Atmega32
· Тактовая частота:
0-8 МГц Atmega32L
- 0-16 МГц Atmega32
Расположение выводов
DS 1307
Модуль часы на чипе DS1307, запрограммирован на: секунды, минуты, часы, год ( с учетом високосных лет). Календарь до 2100 года.
Характеристики:
- 56 байт энергонезависимой памяти (тип памяти RAM.);
- рабочее напряжение от 4.5 до 5.5 Вольт DC;
- в режиме работы от батареи резервного питания энергопотребление около 500nA;
- автоматическое определение источника питания;
- двухпроводной последовательный интерфейс ;
- тип интерфейса: Serial, I2C;
- рабочая температура от - 40 до + 85?;
- кристалл 32.768 кГц;
В комплекте : модуль часы, батарейка.
Размер: 23 х 14 мм
Вес: до 15 гр.
Характеристики MAX232
Количество приемо/передатчиков |
2Dr/2Re |
|
Скорость передачи |
200 кБод |
|
Напряжение питания, В |
- |
|
Электростатическая защита |
нет |
|
Температурный диапазон |
0...0 |
|
Налич. внеш. конденсаторов |
- |
|
Корпус |
PDIP16 |
|
Производитель |
Maxim Integrated Products Inc. |
LM7805 Характеристики
Мин. входное напряжение, В |
7 |
|
Макс. входное напряжение, В |
20 |
|
Выходное напряжение, В |
5 |
|
Полярность включения |
положительная |
|
Номин. выходной ток, мА |
1 |
|
Падение напряжения вх/вых, В |
2 |
|
Число регуляторов в корпусе |
1 |
|
Точность, % |
2 |
|
Рабочая температура |
-40...+125 |
|
Корпус |
TO220 |
|
Производитель |
Fairchild |
MOC 3052 Характеристики
Количество каналов |
1 |
|
Постоянное прямое входное напряжение Uвх.,В |
1.15 |
|
при входном токе Iвх.,мА |
10 |
|
Максимальный входной ток Iвх.макс.,мА |
60 |
|
Максимальный импульсный входной ток Iвх.имп.макс.,мА |
- |
|
Максимальное входное обратное напряжение Uвх.обр.макс.,В |
- |
|
Выходной каскад |
симистор |
|
Коеффициент передачи тока CTR,%, макс. |
- |
|
при входном токе Iвх.,мА |
- |
|
Максимальный выходной ток Iвых.макс.мА |
- |
|
Максимальное выходное обратное напряжение Uвых.обр.макс.,В |
- |
|
Максимальное выходное коммутируемое напряжение Uвых.ком.макс.,В |
- |
|
Время нарастания выходного сигнала tнр.,мкс |
- |
|
Время спада выходного сигнала tсп.,мкс |
- |
|
Сопротивление изоляции между входной и выходной цепями Rиз,ГОм |
- |
|
Максимальное напряжение изоляции,В |
7500 |
|
Диапазон рабочих температур, оС |
-40...85 |
|
Корпус |
PDIP6 |
|
Производитель |
Fairchild /подразделение National Seniconductor/ |
Размещено на Allbest.ur
Подобные документы
Описание алгоритма работы и разработка структурной схемы МКС. Схема вывода аналогового управляющего сигнала, подключения ЖК-дисплея, клавиатуры и аварийного датчика. Разработка блок-схемы алгоритма главной программы работы МКС. Функция инициализации.
курсовая работа [5,7 M], добавлен 26.06.2016Разработка структурной схемы устройства управления учебным роботом. Выбор двигателя, микроконтроллера, микросхемы, интерфейса связи и стабилизатора. Расчет схемы электрической принципиальной. Разработка сборочного чертежа устройства и алгоритма программы.
курсовая работа [577,8 K], добавлен 24.06.2013Разработка структурной и принципиальной схемы. Блок-схема основной программы и подпрограмм обработки прерываний. Имена переменных, используемых в них. Результаты моделирования работы устройства в программе ISIS пакета Рroteus. Разработка печатной платы.
курсовая работа [1,5 M], добавлен 13.11.2016Проектирование устройства контроля температуры в холодильных установках. Устройство измеряет температуру с помощью схемы измерения температуры. Значение температуры представлены в 8-битном формате. Создание компьютерной программы для устройства.
курсовая работа [29,5 K], добавлен 22.02.2008Сравнительный анализ существующих приборов. Разработка функциональной схемы устройства. Выбор и статистический расчет элементов, входящих в систему: датчика, источник тока, усилителя, микроконтроллера, блок питания. Блок-схема управляющей программы.
курсовая работа [769,9 K], добавлен 12.01.2015Разработка принципиальной схемы, выбор управляющего микроконтроллера. Общий алгоритм работы программы. Блок анализа и реализации команд, принятых от персонального компьютера. Описание используемых интерфейсов. Формат данных RS-232C, листинг программы.
курсовая работа [1,2 M], добавлен 26.12.2012Идея создания системы удаленного управления и контроля устройств. Разработка электрической принципиальной и структурной схемы. Обоснование выбора микроконтроллера и чипа ENC28J60. Обоснование выбора и отладки среды моделирования, программы и компилятора.
курсовая работа [3,5 M], добавлен 26.08.2014Разработка компьютерного устройства RAM-диск, позволяющего считывать, записывать и хранить информацию в модулях динамической памяти типа SDRAM под управлением микроконтроллера. Составление структурной и принципиальной схемы устройства, листинг программы.
курсовая работа [3,9 M], добавлен 24.12.2012Разработка алгоритма работы устройства, описание выбора элементной базы и работы принципиальной схемы. Текст программы, инициализация указателя стека, структура системы и ресурсов микроконтроллера. Запись кодов при программировании данного устройства.
контрольная работа [18,4 K], добавлен 24.12.2010Разновидности конструктивных решений реализации весового оборудования. Разработка блок-схемы предустановок, блок-схемы измерения веса, блок-схемы вывода информации о весе в компьютер, блок-схемы устройства и программы работы микропроцессорного блока.
курсовая работа [525,4 K], добавлен 13.02.2023