 |
|
06.01.2017, 11:47
|
|
AquaController
Живу я тут
Реєстрація: 31.07.2010
Звідки Ви: Белоруссия, Гомель
Дописи: 413
сказав Дякую: 38
сказали Дякую 192 раз(и) в 87 повідомленні

06.01.2017, 11:47
Рейтинг:
(2 голосов - 5,00 средняя оценка)
Уважаемые аквариумисты, хочется поделиться информацией и опытом по созданию умной "железяки" аквариумного контроллера. За последние несколько лет развитие одно платных компьютеров и им подобных шагнуло далеко в перед. Если ранее нужно было сидеть с паяльником травить лудить и вообще обладать не дюжими знаниями в области радиоэлектроники и программирования, то на текущий момент все это упростилось на столько что появилась возможность и желание сделать все самому. А посему, сею тему буду развивать и поддерживать в силу свободного времени и развития проекта...
Основные экраны
Печатные платы
Рекомендуется использовать готовые платы для сборки контроллера и силовой части:
Контроллер выполнен в виде нескольких функционально законченных блоков. Данный контроллер построен на платформе Arduino Nano на микроконтроллере ATmega328. Основной упор при разработке делался на дешевизну проекта, поэтому использовались простые комплектующие без сенсорных экранов и прочих излишеств. За исходный функционал брался контроллер Юсупова, а так же меню и экраны управления были взяты по примеру этого контроллера. За исключением собственного функционала.
Принципиальная схема
Для тех кто хочет собрать на макетке.
Комплектующие:
Скрытый текст
Мозги:Arduino Nano ATmega328
Дисплей: LCD 2004
Блока часов реального времени (DS3231)
Силового блока:Применяются 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 минут (временное отключение фильтра).
• Функция слежения и оповещения за уровнем воды (перелив).
Мобильный клиент.
Скачать можно по ссылке:
Также пишется документация по работе с устройством его сборке и прошивке... Полная документация
Что из этого можно будет потрогать руками?
Практически все. Все материалы по плате, схема, разводки, 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) - температурные датчики
A7(26), A6(25) - X,Y джойстика
A4(27),A5(28) - I2C шина, используется для подключения экрана и модуля часов.
TDX(31), RDX(30) - UART шина для обмена данных с WiFI модулем
A0(19) - waterpin (подключение датчика уровня воды)
Для чего это?
Да на форуме много тем с различными проектами аквариумной автоматики, данное устройство не претендует на какую-то оригинальность, делалось под себя, и возможно кому-то понравится данный проект... На все вопросы с удовольствием отвечу, все советы с удовольствием выслушаю...
Альтернативный источник скачивания: https://1drv.ms/f/s!AtUQdsFO3hWIgYMbwP45VuvP0xUTUA
Исходники прошивок
Все исходники доступны под MIT License по адресу: https://bitbucket.org/account/user/i...ch/projects/AQ
Последняя актуальная версия 1.3.9
- Обновлен протокол передачи данных до версии 0.6 (см. документацию)
- Добавлены уведомления о протечке (низком уровне) воды на удаленном клиенте. По умолчанию выключены.
- Добавлена возможность автоматического обновления прошивок удаленно с сервера. Данная функция настраивается только через удаленный клиент.
По умолчанию выключена.
-Добавлено кеширования основных настроек на модуле связи для ускорения подключения клиента к контроллеру.
Готовые решения
Итоговый вариант.

Мініатюри долучень
Долучені файли
 |
Schema_v1_1.zip (42,4 КБ, 2357 переглядів) |
 |
Elemets_list.zip (7,4 КБ, 2183 переглядів) |
 |
Schema_power_v1_1.zip (29,7 КБ, 2148 переглядів) |
 |
Power_gerber_v_1_1.zip (88,6 КБ, 2190 переглядів) |
 |
Power_PCB_v_1_1.zip (89,5 КБ, 2176 переглядів) |
 |
Elemets_list_power.zip.zip (7,5 КБ, 2116 переглядів) |
 |
PCB_gerber_v_1_3.zip (215,0 КБ, 2214 переглядів) |
 |
PCB_v_1_3.zip (1,17 МБ, 2206 переглядів) |
 |
AquaControllerNano-1.3.9-0.6.zip (31,1 КБ, 1881 переглядів) |
 |
AquaControllerNano-1.3.9-0.6-invers-logic.zip (31,1 КБ, 1861 переглядів) |
 |
AquaControllerESP-1.3.9-0.6.zip (261,7 КБ, 1953 переглядів) |
Востаннє редагував AquaGomel: 09.11.2019 о 23:58..
|
Переглядів: 193681
|
Ці 33 користувач(ів) сказали Дякую AquaGomel за це повідомлення:
|
AfricaNN52 (05.11.2021), AlexVOK (02.05.2017), Alserk-3 (28.05.2017), AndrewUh (05.04.2017), Arduino (07.01.2017), Asrok (11.01.2017), chack (28.03.2017), Danchik (20.07.2018), Denisios (17.10.2017), DjoserZee (12.03.2020), Floyd (25.02.2018), harn (08.06.2018), igor_tj21 (04.07.2020), imac2008 (18.01.2017), kolljj (06.01.2017), litlechina (04.05.2022), LVit (05.10.2018), mashenkaM (28.03.2017), myprog (06.01.2017), nickanya (06.01.2017), orthos (23.01.2017), Rulik (02.09.2017), Sem (06.01.2017), Star_POM (22.10.2017), Torin21 (24.03.2017), Vadim_VD (04.05.2017), Wayler (09.08.2017), xxxFeLiXxxx (18.04.2017), ya7sergey (28.03.2017), yarishNEW (18.01.2017), _Vadim (22.01.2018), Сергій М (06.01.2017), Юрий77 (06.01.2017) |
03.10.2017, 10:28
|
#271
|
Живу я тут
Реєстрація: 31.07.2010
Звідки Ви: Белоруссия, Гомель
Дописи: 413
сказав Дякую: 38
сказали Дякую 192 раз(и) в 87 повідомленні
|
Re: AquaController ===www.aquaforum.ua===
Обновил прошивку для ESP:
----------------------------------------------
+ увеличил время задержки при первом старте до 10с. Видимо все же 4с для синхронизации не хватает.
+ добавил возможность инициализации модуля связи, вручную через меню настройки WiFi. А так же по готовности Arduino.
----------------------------------------------
Если не сложно у кого были проблемы с предыдущей прошивкой, скиньте логи для анализа из новой прошивки. Спасибо.
Цитата:
PS восстановил стырые настройки, со "старым клиентом", теперь тоже не работает(( не могу понять почему, пакеты в контроллер и из него доходят нормально...(((
|
Потому что в старом клиенте забит адрес вручную а не из настроек что вы указываете. Используйте последнюю версию.
Востаннє редагував AquaGomel: 03.10.2017 о 11:13..
|
|
|
03.10.2017, 11:36
|
#272
|
Придивляюся
Реєстрація: 08.08.2017
Звідки Ви: Москва
Дописи: 61
сказав Дякую: 12
сказали Дякую 6 раз(и) в 6 повідомленні
|
Re: AquaController ===www.aquaforum.ua===
Цитата:
Допис від AquaGomel
Потому что в старом клиенте забит адрес вручную а не из настроек что вы указываете. Используйте последнюю версию.
|
Я тогда адрес есп через роутер сделал 192.168.1.55, и со старой заработало.
|
|
|
03.10.2017, 12:19
|
#273
|
Придивляюся
Реєстрація: 08.08.2017
Звідки Ви: Москва
Дописи: 61
сказав Дякую: 12
сказали Дякую 6 раз(и) в 6 повідомленні
|
Re: AquaController ===www.aquaforum.ua===
Прошивку залил, теперь подключается
ÿ{"status":"success","message":"c_s","data":{" cl":[2,1,1,1,1,1,1,1],"c_t":[2,3,3,3,3,3,3,3]}}
..øÿÿpâ......ðiÞÏîþí.rˆ.€B...0Y—...ÄN.‡X‡.Þ.ÿ{" status":"info","message":"wifi_log","log":"WiFi:v1 .2.4-0.3 "}
{"status":"info","message":"wifi_log","log":"WiFi: Init complete.."}
{"status":"get","message":"set"}
.{"status":"info","message":"wifi_log","log":"Coul dn't get config "}
.{"status":"info","message":"wifi_log","log":"WiFi :Error... "}
{"status":"info","message":"wifi_log","log":"WiFi: Load config... "}
{"status":"info","message":"wifi_log","log":"WiFi: Try connect... "}
.{"status":"info","message":"wifi_log","log":"WiFi  isable... "}
..<Y×...†.V‡X‡.ž.ÿ{"status":"info","message":"wifi _log","log":"WiFi:v1.2.4-0.3 "}
{"status":"info","message":"wifi_log","log":"WiFi: Init complete.."}
{"status":"get","message":"set"}
.{"status":"info","message":"wifi_log","log":"Coul dn't get config "}
{"status":"info","message":"wifi_log","log":"WiFi: Error... "}
{"status":"info","message":"wifi_log","log":"WiFi: Load config... "}
{"status":"info","message":"wifi_log","log":"WiFi: Disable... "}
{"status":"info","message":"wifi_log","log":"WiFi: Disable... "}
{"status":"info","message":"wifi_log","log":"WiFi: Disable... "}
{"status":"info","message":"wifi_log","log":"WiFi: Disable... "}
{"status":"info","message":"wifi_log","log":"WiFi: Disable... "}
{"status":"info","message":"wifi_log","log":"WiFi: Disable... "}
{"status":"info","message":"wifi_log","log":"WiFi: Load config... "}
{"status":"info","message":"wifi_log","log":"WiFi: Try connect... "}
{"status":"info","message":"wifi_log","log":"WiFi: Disable... "}
{"status":"info","message":"wifi_log","log":"Shoul d save config "}
{"status":"info","message":"wifi_log","log":"Tr y reconnect... "}
{"status":"info","message":"wifi_log","log":"LAN:1 92.168.1.35 "}
{"status":"info","message":"wifi_log","log":"WAN:N ot connection.."}
{"status":"info","message":"wifi_log","log":"LAN:1 92.168.1.35 "}
.{"status":"get","message":"t_sen"}
{"status":"info","message":"wifi_log","log":"LAN:1 92.168.1.35 "}
{"status":"get","message":"t_sen"}
{"status":"info","message":"wifi_log","log":"LAN:1 92.168.1.35 "}
{"status":"info","message":"wifi_log","log":"LAN:1 92.168.1.35 "}
{"status":"get","message":"t_sen"}
{"status":"info","message":"wifi_log","log":"LAN:1 92.168.1.35 "}
во вкладке состояния после настройки в меню отображается только состояние фильтра, подогрев, охлаждение и свет всегда выкл(хотя на жкд меняют свое состояние)
не корректно работает настройка термостатов
на вкладке каналы активный канал термостата( нагрев/охлаждение) при сработке пишет ошибка(вы об этом писали?)
Что должен показывать график?
|
|
|
03.10.2017, 12:34
|
#274
|
Придивляюся
Реєстрація: 08.08.2017
Звідки Ви: Москва
Дописи: 61
сказав Дякую: 12
сказали Дякую 6 раз(и) в 6 повідомленні
|
Re: AquaController ===www.aquaforum.ua===
Данные из контроллера в есп:
{"status":"success","message":"dev","data":{"ver": "AQ_CH08W","m_t":10,"m_t_se":4,"min_t":1600,"max_t ":3500}}
{"status":"success","message":"c_s","data":{"cl ":[1,4,1,1,1,1,1,1],"c_t":[2,3,3,3,3,3,3,3]}}
{"status":"success","message":"t_sen","data":{"t_s e":[44,45,46,0]}}
{"status":"success","message":"th_s","data":{"ht_m _st":[0,0,0,0,0,0,0,0,0,0],"ht_m_sp":[0,0,0,0,0,0,0,0,0,0],"ht_s":[0,0,0,0,0,0,0,0,0,0],"ht_c":[0,0,0,0,0,0,0,0,0,0]}}
{"status":"success","message":"ts_s","data":{"st_h _s":[0,0,0,0,0,0,0,0,0,0],"st_m_s":[0,0,0,0,0,0,0,0,0,0],"st_d":[0,0,0,0,0,0,0,0,0,0],"st_s":[0,0,0,0,0,0,0,0,0,0],"st_c":[0,0,0,0,0,0,0,0,0,0]}}
{"status":"success","message":"t_sen","data":{"t_s e":[44,45,46,0]}}
{"status":"success","message":"te_s","data":{"tt_s ":[1,1,0,0],"tt_m_s":[46,52,0,0],"tt_m_e":[48,47,76,76],"tt_c":[1,2,0,0]}}
{"status":"success","message":"t_sen","data":{"t_s e":[43,45,46,0]}}
{"status":"success","message":"t_sen","data":{"t_s e":[43,44,45,0]}}
{"status":"success","message":"t_sen","data":{"t_s e":[43,44,45,0]}}
.{"status":"success","message":"t_sen","data":{"t_ se":[43,44,45,0]}}
{"status":"success","message":"c_s","data":{"cl ":[2,4,1,1,1,1,1,1],"c_t":[2,3,3,3,3,3,3,3]}}
{"status":"success","message":"t_sen","data":{"t_s e":[43,44,45,0]}}
|
|
|
cказали "Дякую" Wayler за цей допис:
|
|
03.10.2017, 12:55
|
#275
|
Живу я тут
Реєстрація: 31.07.2010
Звідки Ви: Белоруссия, Гомель
Дописи: 413
сказав Дякую: 38
сказали Дякую 192 раз(и) в 87 повідомленні
|
Re: AquaController ===www.aquaforum.ua===
Цитата:
Допис від Wayler
Прошивку залил, теперь подключается
во вкладке состояния после настройки в меню отображается только состояние фильтра, подогрев, охлаждение и свет всегда выкл(хотя на жкд меняют свое состояние)
не корректно работает настройка термостатов
на вкладке каналы активный канал термостата( нагрев/охлаждение) при сработке пишет ошибка(вы об этом писали?)
Что должен показывать график?
|
В настройках задайте номера каналов для типов оборудования. График должен показывать расход электроэнергии за сутки, при задании мощности каналов (он правда корявый и еще будет не раз переделываться, так как особой смысловой нагрузки пока не несет), все еще возможны ошибки в клиенте, я писал выше, не все было протестировано и валидации тоже нет. Так что клиент пока в стадии "поиграться".
|
|
|
03.10.2017, 13:31
|
#276
|
Придивляюся
Реєстрація: 08.08.2017
Звідки Ви: Москва
Дописи: 61
сказав Дякую: 12
сказали Дякую 6 раз(и) в 6 повідомленні
|
Re: AquaController ===www.aquaforum.ua===
Цитата:
Допис від AquaGomel
В настройках задайте номера каналов для типов оборудования.
|
Так в том-то и дело, настроил. Если не настроено, то стоят прочерки.
В моем случае всегда написано выкл.
|
|
|
03.10.2017, 13:34
|
#277
|
Живу я тут
Реєстрація: 31.07.2010
Звідки Ви: Белоруссия, Гомель
Дописи: 413
сказав Дякую: 38
сказали Дякую 192 раз(и) в 87 повідомленні
|
Re: AquaController ===www.aquaforum.ua===
Цитата:
Допис від Wayler
Так в том-то и дело, настроил. Если не настроено, то стоят прочерки.
В моем случае всегда написано выкл.
|
А каналы включены на которые настроены устройства? Если каналов несколько то они должны работать все. Что бы надпись была Вкл.
|
|
|
03.10.2017, 13:37
|
#278
|
Придивляюся
Реєстрація: 08.08.2017
Звідки Ви: Москва
Дописи: 61
сказав Дякую: 12
сказали Дякую 6 раз(и) в 6 повідомленні
|
Re: AquaController ===www.aquaforum.ua===
Давайте по пунктам
в контроллере:
1. фильтра
2. термостат подогрев
3. термостат охлаждение
4.
5.
6.
7.
8. таймер свет
в клиенте через минуту скину скрины
|
|
|
03.10.2017, 13:42
|
#279
|
Придивляюся
Реєстрація: 08.08.2017
Звідки Ви: Москва
Дописи: 61
сказав Дякую: 12
сказали Дякую 6 раз(и) в 6 повідомленні
|
Re: AquaController ===www.aquaforum.ua===
скрины из клиента:
ЗЫ на момент съемки на контроллере включены каналы 1,2,8
|
|
|
03.10.2017, 13:47
|
#280
|
Живу я тут
Реєстрація: 31.07.2010
Звідки Ви: Белоруссия, Гомель
Дописи: 413
сказав Дякую: 38
сказали Дякую 192 раз(и) в 87 повідомленні
|
Re: AquaController ===www.aquaforum.ua===
Из второго скрина программы я вижу что работает только 1 канал. А на контроллере в этот момент какие каналы работали?
|
|
|
03.10.2017, 13:58
|
#281
|
Придивляюся
Реєстрація: 08.08.2017
Звідки Ви: Москва
Дописи: 61
сказав Дякую: 12
сказали Дякую 6 раз(и) в 6 повідомленні
|
Re: AquaController ===www.aquaforum.ua===
1 2 и 8
|
|
|
03.10.2017, 14:00
|
#282
|
Придивляюся
Реєстрація: 08.08.2017
Звідки Ви: Москва
Дописи: 61
сказав Дякую: 12
сказали Дякую 6 раз(и) в 6 повідомленні
|
Re: AquaController ===www.aquaforum.ua===
2 (термостат подогрев) пишет ошибка
если термометр подогреть(чтобы со 2го канала подогрева переключился на 3 канал охлаждения, то 2ой будет писать выкл, а 3 ошибка)
на ручное управление клиент реагирует, а вот в режиме авто нет((
|
|
|
03.10.2017, 22:17
|
#283
|
Придивляюся
Реєстрація: 27.10.2010
Звідки Ви: Казань
Дописи: 50
сказав Дякую: 23
сказали Дякую 3 раз(и) в 3 повідомленні
|
Re: AquaController ===www.aquaforum.ua===
Пытался повторить ошибку со сбросом пароля, ничего не получилось, работает стабильно
|
|
|
cказали "Дякую" Alserk-3 за цей допис:
|
|
04.10.2017, 10:32
|
#284
|
Придивляюся
Реєстрація: 08.08.2017
Звідки Ви: Москва
Дописи: 61
сказав Дякую: 12
сказали Дякую 6 раз(и) в 6 повідомленні
|
Re: AquaController ===www.aquaforum.ua===
{"status":"success","message":"t_sen","data":{"t_s e":[44,46,46,0]}}
.{"status":"success","message":"c_s","data":{"cl ":[2,1,1,1,1,1,1,1],"c_t":[2,3,3,3,3,3,3,3]}}
{"status":"success","message":"set","NTP":1,"AUTO" :1,"TIMERS":10,"SENSOR":4}
{"status":"success","message":"c_s","data":{"cl ":[2,4,1,1,1,1,1,1],"c_t":[2,3,3,3,3,3,3,3]}}
{"status":"success","message":"t_sen","data":{"t_s e":[44,45,46,0]}}
{"status":"success","message":"c_s","data":{"cl ":[2,1,1,1,1,1,1,1],"c_t":[2,3,3,3,3,3,3,3]}}
{"status":"success","message":"c_s","data":{"cl ":[2,1,4,1,1,1,1,1],"c_t":[2,3,3,3,3,3,3,3]}}
{"status":"success","message":"t_sen","data":{"t_s e":[52,57,53,0]}}
Можно уточнить, почему в режиме авто состояние активного канала 4? я так понял там должно быть 1 или 2 (в нашем случае активен =>2)...?
Востаннє редагував Wayler: 04.10.2017 о 10:40..
|
|
|
cказали "Дякую" Wayler за цей допис:
|
|
04.10.2017, 10:42
|
#285
|
Живу я тут
Реєстрація: 31.07.2010
Звідки Ви: Белоруссия, Гомель
Дописи: 413
сказав Дякую: 38
сказали Дякую 192 раз(и) в 87 повідомленні
|
Re: AquaController ===www.aquaforum.ua===
Цитата:
Допис від Wayler
{"status":"success","message":"t_sen","data":{"t_s e":[44,46,46,0]}}
.{"status":"success","message":"c_s","data":{"cl ":[2,1,1,1,1,1,1,1],"c_t":[2,3,3,3,3,3,3,3]}}
{"status":"success","message":"set","NTP":1,"AUTO" :1,"TIMERS":10,"SENSOR":4}
{"status":"success","message":"c_s","data":{"cl ":[2,4,1,1,1,1,1,1],"c_t":[2,3,3,3,3,3,3,3]}}
{"status":"success","message":"t_sen","data":{"t_s e":[44,45,46,0]}}
{"status":"success","message":"c_s","data":{"cl ":[2,1,1,1,1,1,1,1],"c_t":[2,3,3,3,3,3,3,3]}}
{"status":"success","message":"c_s","data":{"cl ":[2,1,4,1,1,1,1,1],"c_t":[2,3,3,3,3,3,3,3]}}
{"status":"success","message":"t_sen","data":{"t_s e":[52,57,53,0]}}
Можно уточнить, почему в режиме авто состояние активного канала 4? я так понял там должно быть 1 или 2 (в нашем случае активен =>2)...?
|
Вообще в прошивке контроллера:
//CHANAL HANDS CONTROLL
#define OFF_CHANAL 1
#define ON_CHANAL 2
#define AUTO_CHANAL 3
Но судя по тому что у вас туда попала "4". Скорее всего где-то ошибка в клиенте. Который эту 4 туда забивает. Можно проверить сняв лог с Ардуино при отправке данных с клиента. Скорее всего где-то на этом этапе происходит сбой. Точнее скажу вечером когда буду дома. Спасибо за найденный баг. Будем исправлять!
|
|
|
cказали "Дякую" AquaGomel за цей допис:
|
|
 |
|
Тут присутні: 1 (учасників - 0 , гостей - 1)
|
|
Ваші права у розділі
|
Ви не можете створювати теми
Ви не можете писати дописи
Ви не можете долучати файли
Ви не можете редагувати дописи
HTML код Вимк.
|
|
|
Часовий пояс GMT +3. Поточний час: 09:54.
|