|
|
06.01.2017, 11:47
|
|
AquaController
Живу я тут
Регистрация: 31.07.2010
Адрес: Белоруссия, Гомель
Сообщений: 412
Поблагодарил(а) : 38
Поблагодарили 191 раз(а) в 86 сообщениях
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 Кб, 1624 просмотров) |
|
Elemets_list.zip (7.4 Кб, 1533 просмотров) |
|
Schema_power_v1_1.zip (29.7 Кб, 1433 просмотров) |
|
Power_gerber_v_1_1.zip (88.6 Кб, 1504 просмотров) |
|
Power_PCB_v_1_1.zip (89.5 Кб, 1485 просмотров) |
|
Elemets_list_power.zip.zip (7.5 Кб, 1450 просмотров) |
|
PCB_gerber_v_1_3.zip (215.0 Кб, 1478 просмотров) |
|
PCB_v_1_3.zip (1.17 Мб, 1509 просмотров) |
|
AquaControllerNano-1.3.9-0.6.zip (31.1 Кб, 1246 просмотров) |
|
AquaControllerNano-1.3.9-0.6-invers-logic.zip (31.1 Кб, 1210 просмотров) |
|
AquaControllerESP-1.3.9-0.6.zip (261.7 Кб, 1310 просмотров) |
Последний раз редактировалось AquaGomel; 09.11.2019 в 23:58..
|
Просмотров: 153926
|
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
Адрес: Белоруссия, Гомель
Сообщений: 412
Поблагодарил(а) : 38
Поблагодарили 191 раз(а) в 86 сообщениях
|
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]}}
|
|
|
Пользователь, который поблагодарил Wayler за данный пост:
|
|
03.10.2017, 12:55
|
#275
|
Живу я тут
Регистрация: 31.07.2010
Адрес: Белоруссия, Гомель
Сообщений: 412
Поблагодарил(а) : 38
Поблагодарили 191 раз(а) в 86 сообщениях
|
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
Адрес: Белоруссия, Гомель
Сообщений: 412
Поблагодарил(а) : 38
Поблагодарили 191 раз(а) в 86 сообщениях
|
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
Адрес: Белоруссия, Гомель
Сообщений: 412
Поблагодарил(а) : 38
Поблагодарили 191 раз(а) в 86 сообщениях
|
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===
Пытался повторить ошибку со сбросом пароля, ничего не получилось, работает стабильно
|
|
|
Пользователь, который поблагодарил 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..
|
|
|
Пользователь, который поблагодарил Wayler за данный пост:
|
|
04.10.2017, 10:42
|
#285
|
Живу я тут
Регистрация: 31.07.2010
Адрес: Белоруссия, Гомель
Сообщений: 412
Поблагодарил(а) : 38
Поблагодарили 191 раз(а) в 86 сообщениях
|
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 туда забивает. Можно проверить сняв лог с Ардуино при отправке данных с клиента. Скорее всего где-то на этом этапе происходит сбой. Точнее скажу вечером когда буду дома. Спасибо за найденный баг. Будем исправлять!
|
|
|
Пользователь, который поблагодарил AquaGomel за данный пост:
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
Опции темы |
|
Опции просмотра |
Линейный вид
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Текущее время: 17:23. Часовой пояс GMT +3.
|