Aquasys - удобрения нового поколения
Украинский форум аквариумистов

Здравствуйте, гость ( Вход | Регистрация )




> AquaController, Многофункциональный аквариумный контроллер
aquagomel
сообщение 19.4.2017, 15:15
Сообщение #1


Новенький на форуме
*
Группа: Пользователи
Сообщений: 8
Регистрация: 23.7.2013
Из: Гомель
Беларусь
Благодарности: 15 раз(а)


Прикрепленное изображение
Прикрепленное изображение

Уважаемые аквариумисты, хочется поделиться информацией и опытом по созданию умной "железяки" аквариумного контроллера. За последние несколько лет развитие одно платных компьютеров и им подобных шагнуло далеко в перед. Если ранее нужно было сидеть с паяльником травить лудить и вообще обладать не дюжими знаниями в области радиоэлектроники и программирования, то на текущий момент все это упростилось на столько что появилась возможность и желание сделать все самому. А посему, сею тему буду развивать и поддерживать в силу свободного времени и развития проекта...
Прикрепленное изображениеПрикрепленное изображениеПрикрепленное изображениеПрикрепленное изображение
Прикрепленное изображение

Контроллер выполнен в виде нескольких функционально законченных блоков. Данный контроллер построен на платформе Arduino Nano на микроконтроллере ATmega328. Основной упор при разработке делался на дешевизну проекта, поэтому использовались простые комплектующие без сенсорных экранов и прочих излишеств. За исходный функционал брался контроллер Юсупова, а так же меню и экраны управления были взяты по примеру этого контроллера. За исключением собственного функционала.

Комплектующие:

Мозги:Arduino Nano ATmega328
Дисплей: LCD 2004
Блока часов реального времени (DS3231)
Силового блока: В зависимости от типа устройства могут применяться как 4-х канальные, так и 8-ми канальные блоки.
Блок связи ESP8266 модель ESP-07

Основные функции.

• Часы. Индикация даты и времени.
• Управление аквариумными нагрузками от 4 до 8 каналов.
• До 10 ежедневных программ таймера.
• До 10 ежечасных программ таймера. С диапазоном длительности работы до 60 минут.
• До 10 секундных разовых таймеров. С диапазоном длительности работы от 1 до 255 секунд.
• Поддержка до 8 цифровых датчиков температуры2. на 3-х проводной шине.
• Измерение температуры в пределах 16…35 градусов. Разрешение измерения 0.125°C. Возможность управления нагрузкой (обогревателем/охладителем) на любом канале выхода.
• Аккумулятор для работы часов МК. Сохранение хода часов.
• Автоматическое сохранение в энергонезависимой памяти всех настроек (кроме хода часов) при полном отключении питания и разряде аккумулятора.
• Управление устройством через 2-х осевой джойстик.
• Вывод информации на ЖК-дисплей 20*4 с минимальными сокращениями, интуитивно-понятный интерфейс.
• Связь со смартфоном на ОС Android по Wi-Fi. Дополнительное программное обеспечение для быстрого программирования таймеров, термостата, синхронизации времени.
• Удаленное управление устройством по средствам Wi-Fi в локальной сети (либо сети Internet при определенной настройка сетевого оборудования).
• Самостоятельная синхронизация и корректировка даты и времени устройства при наличии доступа устройству в сеть Internet. Либо удаленная синхронизация через смартфон.
• Функция слежения за отклонением показаний датчиков от среднего установленного значения со звуковым оповещением и индикацией аварийного датчика.
Отключение нагрузки (фильтра) на произвольном выходе при нажатии одной кнопки на 5-30 минут (временное отключение фильтра).

*оранжевым выделено что еще в процессе разработки

Текущее состояние проекта:
Собран полноценный девайс на котором будут обкатываться прошивки.
Заканчивается написание прошивки оставшегося функционала (возможно что-то придется вынести в удаленные настройки с Android так как место под скетч катастрофически не хватает). Закончено написание прошивки для модуля связи ESP8266-07. Изготовлены мат.плата для сборки устройства.
Прикрепленное изображение

Пишется мобильный клиент.


Также пишется документация по работе с устройством его сборке и прошивке... Полная документация

Что из этого можно будет потрогать руками?
Практически все. Все материалы по плате, схема, разводки, gerber файлы я выложу после исправления ошибок.

Распиновка
D6 (10), D7(11),D8(12), D9(13), D10(14), D11(15), D12(16), D13(17) - каналы используются для силовой части (реле).

D5(9) - switchPin (кнопка джойстика)

D4(8) - tonePin (канал спикера)

D3(7) - температурные датчики

A0(23), A1(24) - X,Y джойстика

A4(27),A5(28) - I2C шина, используется для подключения экрана и модуля часов.

TDX(31), RDX(30) - UART шина для обмена данных с WiFI модулем

Для чего это?
Да на форуме много тем с различными проектами аквариумной автоматики, данное устройство не претендует на какую-то оригинальность, делалось под себя, и возможно кому-то понравится данный проект... На все вопросы с удовольствием отвечу, все советы с удовольствием выслушаю...

Сообщение отредактировал aquagomel - 19.4.2017, 15:22
Прикрепленные файлы
Прикрепленный файл  PCB_v_1_1.zip ( 97,06 килобайт ) Кол-во скачиваний: 128
Прикрепленный файл  PCB_gerber_v_1_1.zip ( 76,46 килобайт ) Кол-во скачиваний: 94
Прикрепленный файл  Elemets_list_power.zip.zip ( 7,54 килобайт ) Кол-во скачиваний: 116
Прикрепленный файл  AquaControllerESP.zip ( 244,94 килобайт ) Кол-во скачиваний: 124
Прикрепленный файл  Elemets_list.zip ( 7,41 килобайт ) Кол-во скачиваний: 107
Прикрепленный файл  AquaController_flash.zip ( 31,45 килобайт ) Кол-во скачиваний: 120
Прикрепленный файл  Power_gerber_v_1_1.zip ( 88,56 килобайт ) Кол-во скачиваний: 98
Прикрепленный файл  Power_PCB_v_1_1.zip ( 89,49 килобайт ) Кол-во скачиваний: 100
Прикрепленный файл  Schema_power_v1_1.zip ( 29,67 килобайт ) Кол-во скачиваний: 125
Прикрепленный файл  Schema_v1_1.zip ( 42,42 килобайт ) Кол-во скачиваний: 131
 


3
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
Ответов (1 - 9)
yarishNEW
сообщение 19.4.2017, 18:34
Сообщение #2


Читатель, звать Олег
*****
Группа: Консультанты
Сообщений: 11 884
Регистрация: 11.1.2010
Из: Кременчуг
Украина
Благодарности: 22314 раз(а)


Спасибо за инфу, может кто-то надумает спаять, что-то по вашим схемам.
Альтернатива должна быть всегда! drinks.gif


--------------------


Благодарности:
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
sae74
сообщение 19.4.2017, 20:15
Сообщение #3


Активный аквариумист
***
Группа: Партнёры
Сообщений: 343
Регистрация: 13.9.2009
Из: Полтава
Украина
Благодарности: 944 раз(а)


aquagomel, Правильно - несите автоматику в Массы!
Мне нравится Ваша разработка!


Сообщение отредактировал sae74 - 19.4.2017, 20:15


Благодарности:
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
aquagomel
сообщение 20.4.2017, 12:41
Сообщение #4


Новенький на форуме
*
Группа: Пользователи
Сообщений: 8
Регистрация: 23.7.2013
Из: Гомель
Беларусь
Благодарности: 15 раз(а)


На самом деле паять там особо то и не много, платы делались для удобства. Если не запариваться с беспроводной связью то можно и без плат собрать, силовой блок тоже можно не распаивать, а просто взять готовый шилд на твердотельных реле. hi.gif
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
aquagomel
сообщение 11.9.2017, 14:27
Сообщение #5


Новенький на форуме
*
Группа: Пользователи
Сообщений: 8
Регистрация: 23.7.2013
Из: Гомель
Беларусь
Благодарности: 15 раз(а)


Залил свежие прошивки:
AquaControllerNano v1.2.3
-исправлена ошибка 1 канала и температурных датчиков.
-исправлена ошибка отключения WiFi
+добавлены режимы временного выключения канала на 5 и 30 мин. Работают при длительном удержании джойстика вверх или вниз.
AquaControllerNano_1_3_0_[led]
+добавлена поддержка работы с 3 драйверами LED. Ручное включение выключение каналов. 10 таймеров рассвета заказа, с максимальным временем задержки 250 сек. Данная прошивка работает только через сдвиговый регистр 74hc165.

Код: [Выделить]
Код
Распиновка:
D6 (10), D9(13), D10(14) - каналы используемые LED

//Пин подключен к ST_CP (12) входу 74HC595 D11
byte latchPin = 11;
//Пин подключен к SH_CP (11) входу 74HC595 D12
byte clockPin = 12;
//Пин подключен к DS (14) входу 74HC595 D13
byte dataPin = 13;

D5(9) - switchPin (кнопка джойстика)

D4(8) - tonePin (канал спикера)

D3(7) - температурные датчики

A7(23), A6(24) - X,Y джойстика

A4(27),A5(28) - I2C шина, используется для подключения экрана и модуля часов.




Клиент пока еще в работе, к сожалению не успел еще его доделать, постараюсь дописать для теста хотя бы альфа версию в течении пары недель.

В связи с тем что изменился протокол передачи данных. Необходимо обязательно прошить кроме ардуины модуль связи ESP для него прошивка находится в архиве с прошивкой ардуины.
Документацию обновлю уже после того как закончу клиент. Так как запарился каждый раз ее менять.

Есть есть вопросы или предложения пишите...


Благодарности:
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
aquagomel
сообщение 26.10.2017, 14:44
Сообщение #6


Новенький на форуме
*
Группа: Пользователи
Сообщений: 8
Регистрация: 23.7.2013
Из: Гомель
Беларусь
Благодарности: 15 раз(а)


Мобильный клиент.

Текущая версия: 1.2.5*
-------------------------------------------------------
-Исправлены некоторые ошибки (и добавлены новые)
-Добавлена служба мониторинга температуры. Работает в фоновом режиме собирает статистику по температурным датчикам. В
системном лотке можно узнать температуру первого датчика не запуская программу.
-Настроена правильный подсчет расхода электроэнергии (пока без учета температурных таймеров)
-Добавлена информация по температуре для всех датчиков. На вкладке температурных таймеров.
-Добавлены графики изменения температуры для первых двух датчиков. (Нажатие на иконки температуры с главного окна)
-Добавлена синхронизация времени контроллера с временем телефона (через контекстное меню).
-Добавлена настройка GMT часового пояса для правильной синхронизации времени.
-Добавлена информация о типе таймера включившего канал
-------------------------------------------------------
* - Версия альфа. Для тестирования и поиска ошибок.

-------------------------------------------------------
Вся актуальная информация доступна здесь: https://1drv.ms/f/s!AtUQdsFO3hWIgYMbwP45VuvP0xUTUA
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение

Прикрепленное изображение
Прикрепленное изображение
 


Благодарности:
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
aquagomel
сообщение 25.9.2018, 10:35
Сообщение #7


Новенький на форуме
*
Группа: Пользователи
Сообщений: 8
Регистрация: 23.7.2013
Из: Гомель
Беларусь
Благодарности: 15 раз(а)


Есть в наличии контроллер из этой темы.
Функционал:

• Часы. Индикация даты и времени.
• Управление аквариумными нагрузками от 4 до 8 каналов.
• До 10 ежедневных программ таймера.
• До 10 ежечасных программ таймера. С диапазоном длительности работы до 60 минут.
• До 10 секундных разовых таймеров. С диапазоном длительности работы от 1 до 255 секунд.
• Поддержка до 8 цифровых датчиков температуры2. на 3-х проводной шине.
• Измерение температуры в пределах 16…35 градусов. Разрешение измерения 0.125°C. Возможность управления нагрузкой (обогревателем/охладителем) на любом канале выхода.
• Аккумулятор для работы часов МК. Сохранение хода часов.
• Автоматическое сохранение в энергонезависимой памяти всех настроек (кроме хода часов) при полном отключении питания и разряде аккумулятора.
• Управление устройством через 2-х осевой джойстик.
• Вывод информации на ЖК-дисплей 20*4 с минимальными сокращениями, интуитивно-понятный интерфейс.
• Связь со смартфоном на ОС Android по Wi-Fi. Дополнительное программное обеспечение для быстрого программирования таймеров, термостата, синхронизации времени.
• Удаленное управление устройством по средствам Wi-Fi в локальной сети (либо сети Internet при определенной настройка сетевого оборудования).
• Самостоятельная синхронизация и корректировка даты и времени устройства при наличии доступа устройству в сеть Internet. Либо удаленная синхронизация через смартфон.
• Функция слежения за отклонением показаний датчиков от среднего установленного значения со звуковым оповещением и индикацией аварийного датчика.
• Отключение нагрузки (фильтра) при нажатии одной кнопки на 5 или 30 минут (временное отключение фильтра).
• Функция слежения и оповещения за уровнем воды (перелив).

Изготовление мое. Контроллер использовался около полугода на моих банках. Продается так как был изготовлен еще один =)... В наличии сам контроллер, датчик температуры, сетевой шнур. Цена 100 у.е.


Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 


Благодарности:
drv,
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
aquagomel
сообщение 10.6.2019, 9:51
Сообщение #8


Новенький на форуме
*
Группа: Пользователи
Сообщений: 8
Регистрация: 23.7.2013
Из: Гомель
Беларусь
Благодарности: 15 раз(а)


Альтернативный источник скачивания: https://1drv.ms/f/s!AtUQdsFO3hWIgYMbwP45VuvP0xUTUA

Исходники прошивок
Все исходники доступны под MIT License по адресу: https://bitbucket.org/account/user/i...ch/projects/AQ

Последняя актуальная версия 1.3.7
- Исправлена ошибка секундного таймера.
- Исправлены ошибки обновления времени.
-Исправлен баг с отправкой данных через клиент для часовых таймеров.
+ Обновления модуля связи теперь можно производить удаленно:http://[IP-устройства]/update
+ Обновление времени через сервера NTP теперь работают с учетом временной зоны. Для этого необходимо в клиенте в настройках установить вашу временную зону, (0,1,2,3... - накидывает время в часах к времени UTC ) и сделать одно обновление времени через клиент далее контроллер сам будет обновлять время с учетом временной зоны (Конечно если включена настройка NTP в контроллере).
- Статистика по температуре более не будет собираться клиентом, а будет собираться на стороне контроллера (более точные данные которые будут доступны и удаленно)
- Все параметры контроллера доступны через REST API, для желающих написать свою web оболочку или любой иной клиент. Список URL:
http://[IP-устройства]/device.json
http://[IP-устройства]/canal.json
http://[IP-устройства]/timerday.json
http://[IP-устройства]/timerhour.json
http://[IP-устройства]/timersec.json
http://[IP-устройства]/timertemp.json
http://[IP-устройства]/tempsensor.json
http://[IP-устройства]/tempstats.json
http://[IP-устройства]/ph.json (пока еще в процессе)

Мобильный клиент.
https://play.google.com/store/apps/details?....aquacontroller
Прикрепленное изображение
Прикрепленное изображение
[attachment=35
0914:user1725...08234262.png]

Сообщение отредактировал aquagomel - 10.6.2019, 9:58
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 


Благодарности:
drv,
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
C7men
сообщение 24.6.2019, 22:08
Сообщение #9


Я присматриваюсь...

Группа: Присматриваюсь
Сообщений: 1
Регистрация: 24.6.2019
Из: Смоленск
Россия
Благодарности: 0 раз(а)


Добрый день, подскажите пожалуйста возможно ли использования вместо платы ESP8266 модель ESP-07, плату CP2102 NodeMCU esp8266? А может и во все вместе ат мега как основу NodeMCU?
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
aquagomel
сообщение 24.6.2019, 23:22
Сообщение #10


Новенький на форуме
*
Группа: Пользователи
Сообщений: 8
Регистрация: 23.7.2013
Из: Гомель
Беларусь
Благодарности: 15 раз(а)


Цитата(C7men @ 24.6.2019, 23:08) *
Добрый день, подскажите пожалуйста возможно ли использования вместо платы ESP8266 модель ESP-07, плату CP2102 NodeMCU esp8266? А может и во все вместе ат мега как основу NodeMCU?

Ну если на макетке то можно.
Прикрепленное изображение

Но если собирать рабочий вариант, то плата разведена именно под ESP-07 (ESP-12F не тестировал).


Благодарности:
Перейти в начало страницы
Вставить ник
+Цитировать сообщение

Начать новую темуОтветить в данную тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Перейти в начало страницы RSS Текстовая версия Сейчас: 25.8.2019, 0:18