Прибор предназначен для управления электрооборудованием аквариума и удержания на заданном уровне температуры, РН и редокс-потенциала. Позволяет управлять электрическими приборами на 8-ми раздельных каналах, как в ручном режиме, так и в автоматическом. Имеет гибкую систему настройки, любому таймеру, температурному датчику можно присвоить любой выход на нагрузку, а также программировать на один выход несколько таймеров, термодатчиков. Один подобный аквариумный компьютер заменяет несколько различных устройств для управления электрооборудованием. Таймеры, обогреватели с терморегулятором, РН и редокс-контроллеры больше не потребуются.


  Для питания основного блока необходимо однополярное стабилизированное напряжение 5В, для блока измерения рН и редокс-потенциала — двухполярное +/- 5В

  Информация выводится на  знакосинтезирующий ЖК-индикатор (4 строки по 20 символов). Не следует без особой необходимости приобретать дисплеи для низкотемпературного диапазона — для них дополнительно потребуется отрицательное напряжение 5…13,5 вольт.

 В этой модели использован индикатор MT-20S4(A)-2YLG (МЭЛТ).

 
      Функции аква-контроллера:

  • Часы. Индикация времени, даты, дня недели.
  • 8 каналов управления устройствами с выбором управления как вручную, так и автоматически (по программам таймера, термостата, рН-электрода и т.д.).   Максимальная мощность на один канал зависит от типа используемых реле или симисторов и может достигать 2 кВт.
  • 20 программ таймера с возможностью выбора канала нагрузки и программирования по дням недели.
  • 4 программы секундного таймера от 1 до 999 сек. с выбором канала нагрузки для подключения дозаторов удобрений и других дозирующих устройств. 
  • Точность выдерживания интервалов не хуже 0,02 сек.
  • Поддержка двух электродов рН и управление клапаном СО2. Точность измерения РН +/- 0,02.
  • Поддержка двух электродов в режиме ‘мВ’ в диапазоне +/- 1000мВ для контроля редокс-потенциала и подключения ион-селективных электродов. 
  • Возможность управления исполнительными устройствами (УФ, озонаторы и т.п.), точность измерения +/- 2мВ.
  • Настройка и калибровка электродов в цифровом виде по двум точкам (ввод поправочных коэффициентов).
  • Поддержка 8 цифровых датчиков температуры (DS18B20) на одной 2-х или 3-х проводной шине. Измерение температуры в пределах -25…+85 градусов. 
  • Точность измерения 0,50. Возможность управления нагрузкой (обогревателем/охладителем) на любом из 8 каналов выхода. 
  • Прекращение выполнения программы термостата при неисправности датчика.
  • Точность удержания значений РН, редокс-потенциала и температуры определяется пользователем при программировании. 
  • Минимальный гистерезис для РН составляет 0,05, для редокс-потенциала — 5 мВ, для температуры — 0,50С.
  • Аккумулятор для работы МК с контролем заряда и автоматической подзарядкой. 
  • Сохранение хода часов и полное слежение за программами таймера в течение 6-8  часов.
  • Автоматическое сохранение в энергонезависимой памяти всех настроек (кроме хода часов) при полном отключении питания и разряде аккумулятора.
  • Клавиатура на 6 кнопок по типу "джойстика" — «вверх/вниз», «вправо/влево», «ОК» и кнопка «отмена». 
  • Может использоваться любая клавиатура с кнопками на замыкание, в том числе и с токопроводящей резиной сопротивлением до 500 Ом. 
  • Быстрый повтор кнопок при удержании для комфортного программирования. Функция доступна в режимах, где требуется быстро изменить значение параметров.
  • Вывод информации на знакосинтезирующий ЖК-дисплей 20*4 с минимальными сокращениями, интуитивно-понятный интерфейс. 
  • Автоматическое управление подсветкой дисплея (работает со светодиодной подсветкой, максимальный ток — 50 мА).
  • Связь с персональным компьютером по протоколу RS-232 (COM-порт). Дополнительное программное обеспечение для быстрого программирования таймеров, термостата, РН и редокса, синхронизации времени, полуавтоматической калибровки электродов и для настройки дополнительных функций (программа Aqua Control) 
  • Функция слежения за отклонением показаний датчиков от среднего установленного значения со звуковым оповещением и индикацией аварийного датчика.
  • Датчик уровня воды со звуковым оповещением.
  • Звуковое оповещение при аварийном состоянии с индикацией неисправного датчика.
  • Отключение нагрузки на произвольном выходе при срабатывании датчика уровня воды.*
  • Инвертирование выходов (для совместимости с некоторыми силовыми блоками)*
  • Отключение нагрузки (фильтра) на произвольном выходе при нажатии одной кнопки на 5-30 минут.*
  • * - функции программируются с персонального компьютера.
  • Инструкция по эксплуатации. Программирование таймеров, термостата и т.д.

         Включение прибора:

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

  Все выводы устанавливаются в тот режим, в котором они должны находиться согласно программе управления. Для сброса микроконтроллера (перезапуска  программы) следует замкнуть между собой выводы на разъеме «RESET».
  Заряд аккумулятора поддерживается автоматически, напряжение полностью заряженной батареи около 4,2В.

         Окна индикации:

           Основное окно:

              

 В этом режиме доступны для просмотра часы, дата, значения двух датчиков температуры (по выбору), значения электродов рН и первого редокс-электрода. Обновление показаний датчиков происходит примерно 1 раз в секунду.

              Дополнительные функции в этом режиме:

       1. Звук:
      Джойстик «вверх» - включение/выключение звука. Если звук включен, в правом верхнем углу появляется соответствующий значок.
       2. Предупреждение об аварии. Джойстик «Вниз» - выбор режима аварийного оповещения (включено/выключено).

  Настройка также осуществляется из программы Aqua Control 2007.
  Оповещение об аварийном состоянии работает следующим образом Температурный датчик запрограммирован, управление нагрузкой от этого датчика включено. Температура поддерживается в интервале от 24 до 25градусов. Соответственно, средняя температура - 24,5 С. При отклонении от средней температуры на 2 градуса в обе стороны будет работать прерывистый звуковой сигнал, на экране вместо даты и дня недели появится индикация датчика, значение которого вышло за критическую отметку. Даже если температура вернется в нормальный диапазон, этот аварийный режим останется активным до тех пор, пока пользователь его не отключит. Таким образом, даже кратковременный выход параметра за границы диапазона будет заметен.
 Аналогично при отклонении РН на 1,0 от среднего установленного значения. И при отклонении редокс-потенциала на 20мВ.
 Сброс сообщений об аварии происходит при однократном нажатии джойстика «вниз».

             Дополнительные окна:

 При нажатии джойстика «Вправо/влево» будет выполнен переход в окно индикации всех датчиков температуры и остальных датчиков рН, редокса, а также заряда     батареи резервного питания.
 Переключение между окнами происходит циклически, нажатие кнопки «отмена» - возврат в основное окно. При отсутствии нажатия клавиш в течение 3-4 минут переход в основное окно будет выполнен автоматически, эта функция работает во всех режимах.
 Нажатие на джойстик «Ок» - переход в меню.

        Меню:

          
 
         Меню содержит следующие пункты:

1.- Ручной режим управления приборами.
2.- Программирование таймера.
3.- Программирование секундного таймера.
4.- Установка РН и калибровочных коэффициентов.
5.- Установка редокс-потенциала и калибровочных коэффициентов.
6.- Программирование термостата.
7.- Установка времени и даты.
8.- Активация цифровых датчиков температуры.
9.- Выход.
* Дополнительно в версии 1.04 — пункт "Other Timer” для программирования периодического таймера.
        Перемещение курсора осуществляется джойстиком «вверх/вниз», выбор пункта меню — кнопка «Ок».
        Возврат в основное окно — кнопка «отмена» или выбор пункта «Exit». Выход также будет осуществлен автоматически при отсутствии нажатия кнопок в течение 3-      4 минут.

          Ручной режим управления приборами:

 

В этом режиме устанавливается режим работы приборов на каждом канале.
Кнопки «вправо/влево» - циклическое переключение режимов.
Кнопки «вверх/вниз» - выбор номера нагрузки.
«On» - прибор включен, активирован ручной режим.
«Auto» - прибор остается с состоянии «вкл.», автоматический режим активен.
«Off» - прибор выключен, активирован ручной режим.
«Auto» - прибор остается с состоянии «выкл.», автоматический режим активен.

Если установлен ручной режим «On» или «Off» то команды от таймеров, термостата, и т.д. восприниматься не будут. Выход будет оставаться в этом режиме до тех пор, пока не будет активирован автоматический режим.
Кнопка «Ok» или «отмена» - возврат в главное меню. Настройки сохраняются в оперативной памяти. При перезапуске микроконтроллера (отключении питания и разряде АКБ) выходы всегда устанавливается режим «Auto».

          Программирование таймера:
 
Таймер имеет 20 программ. На один канал управления (Line) можно программировать несколько таймеров.
В этом окне необходимо настроить следующие параметры:
«Timer 20» — номер программы таймера.
«Enable» — Необходимость управления по этой программе. При установке «Disable» — программа выполняться не будет.
«Line 8» — Номер канала нагрузки, для которого программируется таймер.
«On 19:00» — Время включения. Часы и минуты устанавливаются отдельно.
«Off 20:20» — Время выключения.
«Mondey» — установка дня недели для таймера. Включение будет происходить только при совпадении дня недели, выключение в любой день в установленное время. Для ежедневной работы программы установите «Every Day»
 Перемещение курсора — джойстик «вправо/влево», изменение значений — «вверх/вниз». В этом режиме при удержании кнопки в течение 1 секунды  начинается  быстрая смена значений.
 После изменения значений контроллер сразу начинает работать по новой программе.
 Выход в главное меню — кнопки «Ок» или «отмена». При этом происходит запись новых значений в энергонезависимую память контроллера.

           Программирование секундного таймера:

 

Этот режим имеет 4 программы и настраивается аналогично предыдущему. Программа выполняется ежедневно.
«On 01:00» - время включения.
«Run 30 sec» - длительность работы в секундах. Доступны значения от 1 до 999 сек.
Перемещение курсора — кнопки «вправо/влево», изменение значений — «вверх/вниз».
Выход в главное меню — кнопки «Ок» и «отмена». При этом происходит запись новой программы в энергонезависимую память контроллера.

            Установка РН:

          

В этом окне настраивается работа клапана подачи углекислого газа для удержания РН на заданном уровне. На экране пример программирования: Клапан должен быть подключен на выход (Line) №3, Его включение будет происходить при РН = 6,9, отключение при рН = 6,8. Доступный диапазон установки РН — от 4,00 до 9,90, минимальный гистерезис (точность удержания РН) — 0,05.
В этом же режиме осуществляется ввод поправочных коэффициентов для выбранного датчика РН.
Перемещение курсора и изменение значений происходит аналогично предыдущим режимам. При выходе в основное меню данные автоматически записываются в энергонезависимую память.

           Установка редокс-потенциала:

 
 
Режим управления приборами, влияющими на редокс-потенциал (озонаторы, УФ-стерилизаторы и т.п.)
Доступный диапазон от -1000 мВ до 1000 мВ. Шаг изменения параметра и минимальный гистерезис — 5 мВ.
В этом же режиме осуществляется ввод поправочных коэффициентов для выбранного датчика редокс-потенциала.

            Программирование термостата:


Каждый температурный датчик имеет свою программу управления.
«Term 2» - номер температурного датчика (от 1 до 8)
«t=26.5» - показания температурного датчика на текущий момент
«Enable/Disable» - включение/выключение автоматического управления от выбранного датчика.
«Line 5» - выбор канала для подключения нагревателя/охладителя.
«On 25,5» - температура, при которой прибор включается.
«Off 26,0» - температура, при которой прибор выключается.
«To freeze/Heat Up» - выбор режима нагревание/охлаждение (режим выбирается автоматически по установленнойтемпературе).
Если установки заданы нелогично (ton = toff), то в правом нижнем углу экрана появится надпись «Err».
Шаг изменения значений температуры и минимальный гистерезис — 0,50С. Доступный диапазон установки температуры — от 10,0 до 50,00С.

             Установка времени и даты:

 
Перемещение курсора — джойстик «вправо/влево», изменение значений — «вверх/вниз».

              Активация цифровых датчиков температуры:

 
После нажатия кнопки «ОК» произойдет поиск всех подключенных в данный момент датчиков температуры (DS18B20). Всего можно подключить до 8 датчиков на общую двух- или трехпроводную шину (предпочтительнее использовать второй вариант, ошибок обмена информацией с датчиком будет меньше). Порядковые номера присваиваются датчикам автоматически. Установить, какой номер присвоен конкретному датчику, можно прикоснувшись к нему рукой, произойдет быстрая смена значения температуры. Также можно временно отключить датчик. Вместо показаний температуры появится значение 0,0.
     Серийные номера активированных датчиков сохраняются в энергонезависимой памяти, при отключении питания или перезапуске микроконтроллера повторная активация не требуется. При подключении новых датчиков активацию следует выполнить снова, при этом порядковые номера ранее подключенных датчиков могут быть изменены. Старайтесь сразу подключать необходимое количество датчиков, а после проведения повторной активации проверяйте присвоенные порядковые номера и программу термостата.

            Датчик уровня воды:

 Представляет собой два контакта. Если они намокнут (произойдет замыкание), то будет включен прерывистый звуковой сигнал. Можно использовать поплавковые, герконовые датчики или просто использовать эффект проведения тока через воду (последний вариант не подходит, если в аквариуме установлены измерительные электроды)
Отключить звуковой сигнал после срабатывания датчика можно двумя способами: 1) устранить замыкание между контактами датчика, т.е. вытащить его из воды, 2) нажать джойстик «вверх» в основном окне, при этом также будет отключен звук клавиатуры.
 При использовании программного обеспечения для персонального компьютера возможно отключение нагрузки, при срабатывании датчика.

            Дополнительные функции:

 С программой для  персонального компьютера Aqua Control 2007 появляется доступ к некоторым дополнительным функциям. Подробнее — в описании    программного обеспечения для ПК.

            Ввод калибровочных коэффициентов:


 Для каждого РН- и редокс-электрода необходимо ввести два поправочных коэффициента К1 и К2. Подобный принцип калибровки используется в  лабораторных иономерах, он является достаточно удобным и очень точным.
Расчет коэффициентов сложный, для автоматического расчета можно скачать табличку MS Excel или воспользоваться программой Aqua Control 2007, она также рассчитывает коэффициенты (в конце статьи файл).

 Для калибровки РН-электрода необходимо два стандартных раствора с любым рН (обычно используют растворы с рН 7,0 и 4,0).
  Калибровку канала для измерения в режиме «мВ» можно проводить, подавая на вход известное напряжение, например, 400мВ и -400 мВ.

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

  После сборки прибора, контроллер необходимо запрограммировать. Для этого нужна какая-нибудь программа для прошивки микроконтроллеров AVR и кабель для связи микроконтроллера с LPT или COM-портом компьютера. 
  Можно использовать бесплатную программу Uniprof. Она русифицирована, имеет подробное описание и схему распайки провода для связи с COM-портом. Также хорошо работает с LPT.
  Самый простой вариант — это кабель «пять проводков». Для любительских нужд вполне сгодится.

Вариант распайки такого кабеля:

 
  Этот вариант совместим с большинством программ для прошивки микроконтроллеров AVR.
После соединения микроконтроллера через разъем ISP с портом компьютера необходимо установить FUSE-биты. Т.е. настроить микроконтроллер на работу от внешнего кварцевого резонатора и отключить интерфейс JTAG (это необходимо для правильной работы клавиатуры в дальнейшем). Остальные параметры лучше не трогать.
 Не трогайте бит SPIEN, дальнейшее программирование микроконтроллера станет невозможным!

В настоящий момент установочные биты у меня выглядят следующим образом:

 
  После установки FUSE можно приступать к прошивке микроконтроллера. 
В обязательном порядке необходимо запрограммировать не только FLASH-память, но и энергонезависимую память EEPROM
  Для «продвинутых» пользователей: Чтобы EEPROM не стиралась автоматически при записи новой программы и все настройки, соответственно, оставались прежними, снимите галочку с бита EESAVE. После этого запись EEPROM будет происходить только по указанию пользователя.

F.A.Q. по сборке и настройке:

Вопрос: Почему контроллер не реагирует на нажатие кнопок?

Ответ: Проверьте, правильно ли выставлены FUSE. Интерфейс JTAG должен быть обязательно отключен. Также можно проверить следующее: Если FUSE выставлены правильно и монтаж деталей без ошибок, то при отсутствии нажатий кнопок на выходах 24, 25, 26, 27 микроконтроллера должно быть напряжение, близкое к напряжению питания. При нажатии кнопки напряжение падает практически до нуля на соответствующем выходе.

Вопрос: Почему на экране часы обновляются через 3-4 секунды? Это неисправность?

Ответ: Такое может быть из-за неправильного тактирования микроконтроллера. Чаще всего из-за неправильной установки FUSE, а также из-за паразитного контакта на резонаторе (припой, флюс между дорожками и т.п.). Проблема решается тщательной очисткой платы и проверкой настройки FUSE.

Вопрос: Контроллер запускается, видно приветствие, затем экран гаснет, контроллер далее не реагирует на любые действия.

Ответ: Это связано с тем, что МК неправильно определяет наличие напряжения питания и «уходит» в спящий режим. Это не зависит от наличия аккумулятора. Проверьте, установлен ли резистор R17 и есть ли напряжение питания на 35-ой ножке микроконтроллера, именно она отвечает за опрос напряжения питания. 

Вопрос: Каким монитором можно заменить монитор МЭЛТ (MT-20S4(A)-2YLG)?

Ответ: Этот монитор совместим с большинством подобных мониторов других фирм. При выборе монитора следует обращать внимание на подсветку. В данной схеме выполнено управление светодиодной матрицей. Для других вариантов потребуется изменение схемы. Также не следует использовать мониторы для низкотемпературного диапазона. Для повышения контрастности для них может потребоваться отрицательное напряжение. Более подробную информацию о подсветке, температурном режиме и др. ищите в Datasheet на сайтах производителей.

       =  Взято из форумов =

Вопрос:  Собрал контроллер, вроде все заработало. Подключил аккумылятор, но через некоторое время обратил внимание, судя 
по показаниям индикатора напряжение на аккумуляторе 0В. Разобрал контроллер и обнаружил, что аккумулятор вздулся (сильно). Отсоединил 
его, но на индикаторе попрежнему 0В. Аккумулятор соответствующей емкости и напряжения GP. Подскажите куда копать?

Ответ: Алгоритм заряда АКБ следующий: Каждую минуту на 40-ой ногк МК проходит измерение напряжения на аккумуляторе. Если оно ниже установленного (4?1-4?2 вольта), то нога становится выходом и через токоограничимвающий резистор R11 происходит зарядка АКБю Ток подзарядки при этом 2-5 мА. 
Перезарядить или вывести из строя рабочий никель-кадмиевый аккумулятор в таких условиях невозможно. 

Перезарядка может быть если: 

1. Диод VD1 установлен неправильно или имеет большой обратный ток. Через него может идти "лишняя" зарядка. 
2. Неисправен аккумулятор. Он имеет три "банки" по 1,2 вольта каждая, если какая-то одна будет замкнутой, то две остальные будут перезаряжаться и могут вздуться. 
3. Прошивка МК выполнена с ошибками. Иногда такое бывает, когда программа вроде работает, но некоторые модули работают некоррректно. Лечится перепрошивкой МК и функцией "Test" - сверка файла прошивки и Флэш-памяти МК.

Варианты: 

1. прошивка с ошибками, не работает алгоритм ADC-преобразования, неверно выставляются биты управления портом PA0. 
2. "Вылетел" порт PA0 - выгорел физически. 
3. PA0 замкнут на массу. 
4. Вообще не работает алгоритм ADC на портах PA0-PA7. Скорее всего из-за дефектного МК или некорректной прошивки. Как вариант - неправильно установленные FUSE, хотя в них вроде бы нет настройки аналогово-цифрового преобразователя.
Если температурных датчиков не много и провода не по 20 метров, то можно на них +5В не подавать. Подключить на двухпроводную шину, оставив только DQ и GND (по крайней мере 4 датчика я проверял, а вообще и 8 должны работать). 
"Ну и в довесок уже мысли, что надо сделать цепь на сброс проца (железным способом)". 
Читаем даташит, AVR сам себя сбрасывает при пониженном питании и инициализируется с задержкой. Причем это настраивается установкой FUSE, можно установить сброс при напряжении 4 и 2,7 вольта. А от зависания программы есть сторожевой таймер
Sesh, фиксит баг нагрев/охлаждение Aqua Control 2007.:
Сохранить hнастройки в AquaControl.Просто открыть/сохранить из telper  Открыть результат в AquaControl2007. 
                            
Скачать прошивку, печатки, описание
Скачать программу
Скачать расчет калибровочных коэффициентов (V.01)


Источник

   
rgb # 1
 
 
Проект просто навороченный, чем и пугает. Жаль у меня нет аквариума.


   
capitan # 2
 
 
Виталий! очень классный проект, я счастливый обладатель моря, у меня собран контроллер на PIC, всё полностью автоматизированно и работает, хочу повторить вашу конструкцию, всё в одном, я собрал постую схему автодолива воды на триггере ТМ2 и паре герконов эта вещь очень востребованна любителями моря, хотелось увидить эту функцию и у вас.


   
win-puh # 3
 
 
Подскажите пожалуйста как и из чего изготовить кантакты PH и redox измерителя?


   
win-puh # 4
 
 

В этом же режиме осуществляется ввод поправочных коэффициентов для выбранного датчика РН.

На схеме вижу один "комплект" PH и redox измерителей.
А сколько их и куда подключаются остальные?


Обновления

Сообщения ФорумаОтветов
3D Модели для Авто0
Бакометр 2335
Touch Start-Stop Engine.587
Кодграберр17
Исправляем AVR фьюзы при помощ …109
Бакометр - измеритель остатка…4
IR конструктор на PIC12F62977
Универсальное зарядное устройство103
бaкoмeтр1974
Двунаправленный автомобильный…2
Программатор GENIUS G8401
Светодиодный тахометр34
Индикаторы ГРИ ИН1 - ИН141
Multiprog1
Управляющая программа LED CUB959
Универсальное зарядное устройство9
Изготовлю печатные платы29
Простой автоматический выключа…25