Сайт радиолюбителей Республики Коми.
Блок жизнеобеспечения аквариума.
На главнуюГлавная

Блок жизнеобеспечения аквариума представляет собой функционально законченный блок, который управляет включением компрессора, фильтра, освещения, нагревателя. Блок измеряет освещенность и выключает освещение, если освещенность превысит заданный порог (устанавливается потенциометром) в течение 9 минут. Период измерения 17 минут. Блок измеряет температуру воды и включает нагреватель, если температура воды меньше 24 градусов.

Суточный период работы блока разбит на дневной и ночной режимы. В дневном режиме работают попеременно компрессор и фильтр в течение часа каждый. Между переключениями компрессор/фильтр интервал паузы составляет 5минут. В ночном режиме работает только компрессор. Перерыв в работе компрессора в ночном режиме составляет 5минут после каждого часа. Освещение в ночном режиме выключено. Дневной режим начинается в 8часов 30минут и заканчивается в 21час 30 минут.

Принципиальная блока жизнеобеспечения аквариума. состоит из:

AT89с2051

Центральный процессор

DS1621

Датчик температуры воды с интерфейсом I2C

DS1307

Часы реального времени с интерфейсом I2C

MOC3023

Симисторные оптроны

DS1812

Микросхема сброса процессора


Для измерения температуры воды применена микросхема - термометр DS1621. Микросхема подключена по стандартной схеме, взятой из DATASHIT на микросхему. Адрес микросхемы на шине I2C 92h (выводы А1 (6) = А2 (5) = 0, А0 (7) = 1). В процессе работы было замечено, что через определенное время 72 - 105 часов (зависит от экземпляра DS1621) микросхема отключается и посылает нулевую температуру, независимо от температуры корпуса.

Избежать этого удалось применением сброса питания микросхемы. Период сброса питания микросхемы DS1621 равен периоду горячего рестарта процессора и составляет примерно 2 часа 20минут. Время отсутствия питания на микросхеме DS1621 составляет 1с. Блокировка питания осуществляется при помощи резистора 100Ом в цепи питания микросхемы DS1621 и вывода процессора P1.2. Для надежного сброса процессора при включении питания применена микросхема - монитор питания DS1812. Микросхема может быть заменена конденсатором. Резистор 4.3КОм на выходе микросхемы необходим для исключения взаимного влияния в случае ручного сброса процессора.

Для подсчета реального времени применена микросхема - часы реального времени DS1307. Чтение и запись микросхемы осуществляется по интерфейсу I2C. Резисторы 4.7кОм и 1 кОм обеспечивают напряжение на выводе 3 не выше 3.9В, поскольку при большем напряжении батареи (по отношению к питающим +5В) микросхема переходит в спящий режим при котором блокируется интерфейс I2C. Кремниевый диод препятствует разряду ионистора при отсутствии основного питания. Вместо ионистора может быть применена литиевая батарея на 3В или конденсатор. Установка часов осуществляется удержанием кнопки на выводе P3.7 процессора во время сброса (включения питания). Устанавливаемое время фиксировано и составляет 21час 1мин 00секунд. В варианте автора часы устанавливались один раз в год. За этот период уход часов составил 15минут.

Измерение освещенности осуществляется фоторезистором ФР1-3 номиналом 150КОм. Изменение порога освещенности осуществляется потенциометром 10Ком. Изменением переменного резистора добиваются выключения освещения аквариума при достаточной наружной освещенности. Если за период примерно 17минут напряжение на выводе процессора P1.1 будет меньше, чем на P1.2 в течение суммарного времени 9минут, освещение будет выключено.

Процессор управляет двумя светодиодами. Синий работает с периодом 1с и показывает наличие секундных импульсов от микросхемы часов. Работа желтого светодиода зависит от режима. В ночном режиме светодиод постоянно включен. В дневном режиме светодиод мигает с интервалом 350мс. При высокой освещенности (в дневном режиме, когда напряжение на выводе процессора P1.1 будет меньше, чем на P1.2) светодиод выключен.

Частота кварца процессора может быть любой. Все временные задержки определяются от секундных интервалов микросхемы - часов. Частота кварца определяет лишь период мигания желтого светодиода и скорость обмена по шине I2C. Силовые ключи собраны на оптронных семисторах MOC3023 и отечественных семисторах TS106. Микросхема MOC3023 включена по типовой схеме.

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

При ассемблировании необходимо, чтобы include - файлы находились в одном директории с основным файлом или указать другой путь в конце файла Aquarium.asm. При включении питания процессор инициализирует рабочие ячейки ОЗУ. Далее инициализируется микросхема - часы DS1307 (без изменения текущего времени), микросхема - термометр DS1621 и выполняется основной цикл программы. После завершения основного цикла компрессор - перерыв 5мин - фильтр - перерыв 5мин происходит рестарт программы и выключение питания микросхемы - термометра DS1621 на время 1с.

Описание констант программы автомобильного комплекта

Номер строки программы

Значение

Описание

22

7

Константа, определяющая время прерывания аппаратного таймера 0 (50мс). Младший байт

23

4Ch

Константа, определяющая время прерывания аппаратного таймера 0 (50мс). Старший байт

25

7

Константа, определяющая период мигания желтого светодиода (350мс)

54

0

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

55

0

Инициализация ячейки памяти измерения темного периода фильтра

56, 57

0FFh, 4

Инициализация счетчика 17 минут

60

1

Время блокировки питания микросхемы - термометра DS1621 на время (1с)

65

21h

Установка времени (часы, BCD формат)

68

1

Установка времени (минуты, BCD формат)

69

0

Установка времени (секунды, BCD формат)

93

60

Продолжительность работы компрессора (в минутах)

99

5

Продолжительность паузы после работы компрессора (в минутах)

104

60

Продолжительность работы фильтра (в минутах)

109

5

Продолжительность паузы после работы фильтра (в минутах)

114

4

Перезагрузка старшего байта программного счетчика 17минут

124

0

Инициализация ячейки памяти измерения темного периода фильтра

125

0

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

126

0FFh

Перезагрузка младшего байта программного счетчика 17минут

136

8

Компаратор начала дневного режима (часы)

141

30h

Компаратор начала дневного режима (минуты, BCD формат)

145

21h

Компаратор конца дневного режима (часы, BCD формат)

150

30h

Компаратор конца дневного режима (минуты, BCD формат)

159

23

Нижний порог температуры

Скачать файлы проекта:

  1. Принципиальная схема блока жизнеобеспечения аквариума
  2. Программа блока жизнеобеспечения аквариума
  3. Исполняемый файл программы
  4. Принципиальная схема блока жизнеобеспечения аквариума в формате ORCAD 9.2
  5. Ассемблер, линкер и файлы конфигурации для линкера фирмы 2500 A.D. Software, Inc.

Дмитрий Шабров, dshabrov@mtu-net.ru

На главнуюГлавная
Rambler's Top100 Rambler's Top100
Hosted by uCoz