Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

AQUAFANAT - форум аквариумистов _ Очумелые ручки аквариумистов _ AquaController

Автор: aquagomel 19.4.2017, 15: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. Изготовлены мат.плата для сборки устройства.

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


Также пишется документация по работе с устройством его сборке и прошивке... http://www.aquafanat.com.ua/go.php?http://pcb.aquagomel.ru

Что из этого можно будет потрогать руками?
Практически все. Все материалы по плате, схема, разводки, 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 модулем

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

 PCB_v_1_1.zip ( 97,06 килобайт ) : 139
 PCB_gerber_v_1_1.zip ( 76,46 килобайт ) : 95
 Elemets_list_power.zip.zip ( 7,54 килобайт ) : 118
 AquaControllerESP.zip ( 244,94 килобайт ) : 125
 Elemets_list.zip ( 7,41 килобайт ) : 108
 AquaController_flash.zip ( 31,45 килобайт ) : 121
 Power_gerber_v_1_1.zip ( 88,56 килобайт ) : 99
 Power_PCB_v_1_1.zip ( 89,49 килобайт ) : 102
 Schema_power_v1_1.zip ( 29,67 килобайт ) : 129
 Schema_v1_1.zip ( 42,42 килобайт ) : 133
 

Автор: yarishNEW 19.4.2017, 18:34

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

Автор: sae74 19.4.2017, 20:15

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

Автор: aquagomel 20.4.2017, 12:41

На самом деле паять там особо то и не много, платы делались для удобства. Если не запариваться с беспроводной связью то можно и без плат собрать, силовой блок тоже можно не распаивать, а просто взять готовый шилд на твердотельных реле. hi.gif

Автор: aquagomel 11.9.2017, 14:27

Залил свежие прошивки:
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

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

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

-------------------------------------------------------
Вся актуальная информация доступна здесь: http://www.aquafanat.com.ua/go.php?https://1drv.ms/f/s!AtUQdsFO3hWIgYMbwP45VuvP0xUTUA


 

Автор: aquagomel 25.9.2018, 10:35

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

• Часы. Индикация даты и времени.
• Управление аквариумными нагрузками от 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 у.е.



 

Автор: aquagomel 10.6.2019, 9:51

Альтернативный источник скачивания: http://www.aquafanat.com.ua/go.php?https://1drv.ms/f/s!AtUQdsFO3hWIgYMbwP45VuvP0xUTUA

Исходники прошивок
Все исходники доступны под MIT License по адресу: http://www.aquafanat.com.ua/go.php?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 (пока еще в процессе)

Мобильный клиент.
http://www.aquafanat.com.ua/go.php?https://play.google.com/store/apps/details?id=com.aerosoft.aquacontroller

[attachment=35
0914:user1725...08234262.png]

 

Автор: C7men 24.6.2019, 22:08

Добрый день, подскажите пожалуйста возможно ли использования вместо платы ESP8266 модель ESP-07, плату CP2102 NodeMCU esp8266? А может и во все вместе ат мега как основу NodeMCU?

Автор: aquagomel 24.6.2019, 23:22

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

Ну если на макетке то можно.

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

Русская версия Invision Power Board (http://www.Aquafanat.com.ua)
© Invision Power Services (http://www.Aquafanat.com.ua)