|
|
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 Кб, 1625 просмотров) |
|
Elemets_list.zip (7.4 Кб, 1533 просмотров) |
|
Schema_power_v1_1.zip (29.7 Кб, 1434 просмотров) |
|
Power_gerber_v_1_1.zip (88.6 Кб, 1504 просмотров) |
|
Power_PCB_v_1_1.zip (89.5 Кб, 1486 просмотров) |
|
Elemets_list_power.zip.zip (7.5 Кб, 1451 просмотров) |
|
PCB_gerber_v_1_3.zip (215.0 Кб, 1480 просмотров) |
|
PCB_v_1_3.zip (1.17 Мб, 1511 просмотров) |
|
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..
|
Просмотров: 154090
|
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) |
Реклама помогает развиваться |
|
04.10.2017, 11:15
|
#286
|
Я тут недавно
Регистрация: 08.08.2017
Адрес: Москва
Сообщений: 61
Поблагодарил(а) : 12
Поблагодарили 6 раз(а) в 6 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
Сейчас сниму логи с контроллера, вот и я удивился когда начал сравнивать с протоколом обмена.
Поправка, это данные которые контроллер передает в есп. ИМХО это косяк не клиента, а скорее контроллера, поэтому и клиент пишет ошибку, т.к. не корректные данные приходят.
Последний раз редактировалось Wayler; 04.10.2017 в 11:30..
|
|
|
08.10.2017, 19:19
|
#287
|
Живу я тут
Регистрация: 31.07.2010
Адрес: Белоруссия, Гомель
Сообщений: 412
Поблагодарил(а) : 38
Поблагодарили 191 раз(а) в 86 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
Залил новую прошивку и изменения в клиенте:
Изменения в прошивке контроллера
- изменен протокол отправки состояния каналов. ( http://www.aquaforum.ua/showpost.php...&postcount=284)
Теперь устройство отправляет состояний канала в зависимости от его работы а так же от типа таймера который включил этот канал:
"cl": [2, 2, 1, 1, 1, 1, 1, 1] - состояние канала (1 - off, 2 - on, 3-daily, 4-hour, 5-sec, 6-temp)
Изменения в прошивке модуля связи
-исправлены тайминги начальной задержки для корректной синхронизации устройств.
Изменения в клиенте
-добавлена валидация получаемых данных.
-добавлены повторных запросы на не валидные данные. Теперь в случае если контроллер не ответил или ответил не корректно, будут производиться повторные запросы.
-исправлена ошибка не обновления состояния каналов при срабатывании таймера
------------------------------------------------------
При обновлении необходимо обновить прошивку контроллера и прошивку модуля связи!
|
|
|
3 пользователей поблагодарили AquaGomel за данный пост:
|
|
09.10.2017, 11:35
|
#288
|
Я тут недавно
Регистрация: 08.08.2017
Адрес: Москва
Сообщений: 61
Поблагодарил(а) : 12
Поблагодарили 6 раз(а) в 6 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
Спасибо, все работает ))))
|
|
|
09.10.2017, 13:47
|
#289
|
Живу я тут
Регистрация: 31.07.2010
Адрес: Белоруссия, Гомель
Сообщений: 412
Поблагодарил(а) : 38
Поблагодарили 191 раз(а) в 86 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
Цитата:
Сообщение от Wayler
Спасибо, все работает ))))
|
Ок, тогда продолжим расширять функционал клиента!
|
|
|
16.10.2017, 20:49
|
#290
|
Я тут недавно
Регистрация: 27.10.2010
Адрес: Казань
Сообщений: 50
Поблагодарил(а) : 23
Поблагодарили 3 раз(а) в 3 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
Здравствуйте, можете провести эксперимент, задайте два события на один канал. Я задавал интервал с 8:00 до 12:00 и с 15:00 до 20:00 на 2 канал, событие вроде записалось, но теперь моргает экран и не могу сбросить ни как. Интервалы задавал с мобильного клиента Извените что так сумбурно.
|
|
|
Реклама помогает развиваться |
|
16.10.2017, 21:44
|
#291
|
Живу я тут
Регистрация: 31.07.2010
Адрес: Белоруссия, Гомель
Сообщений: 412
Поблагодарил(а) : 38
Поблагодарили 191 раз(а) в 86 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
Цитата:
Сообщение от Alserk-3
Здравствуйте, можете провести эксперимент, задайте два события на один канал. Я задавал интервал с 8:00 до 12:00 и с 15:00 до 20:00 на 2 канал, событие вроде записалось, но теперь моргает экран и не могу сбросить ни как. Интервалы задавал с мобильного клиента Извените что так сумбурно.
|
Добрый вечер. Такой эксперимент провел еще на прошлой неделе. В шапке лежат прошивки версии 1.2.5 исправляющий этот баг. Изменилась логика проверки каналов. По поверхностным тестам все типы каналов теперь включаются и выключаются правильно, включая температурные таймеры. Однако возможны какие-либо краевые неучтенные случаи так как глубокие тесты не успел провести, если будут проблемы пишите будем дальше исправлять)))
|
|
|
Пользователь, который поблагодарил AquaGomel за данный пост:
|
|
17.10.2017, 13:16
|
#292
|
Живу я тут
Регистрация: 31.07.2010
Адрес: Белоруссия, Гомель
Сообщений: 412
Поблагодарил(а) : 38
Поблагодарили 191 раз(а) в 86 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
Обновился мобильный клиент. 1.2.5
--------------------------------------------------
-Исправлены некоторые ошибки ( и добавлены новые)
-Добавлена служба мониторинга температуры. Работает в фоновом режиме собирает статистику по температурным датчикам. В
системном лотке можно узнать температуру первого датчика не запуская программу.
-Настроена правильный подсчет расхода электроэнергии (пока без учета температурных таймеров)
-Добавлена информация по температуре для всех датчиков. На вкладке температурных таймеров.
-Добавлены графики изменения температуры для первых двух датчиков. (Нажатие на иконки температуры с главного окна)
-Добавлена синхронизация времени контроллера с временем телефона (через контекстное меню).
-Добавлена настройка GMT часового пояса для правильной синхронизации времени.
-Добавлена информация о типе таймера включившего канал
---------------------------------------------------------------
Как всегда замечания и багрепорты приветствуются!
Последний раз редактировалось AquaGomel; 17.10.2017 в 15:54..
|
|
|
17.10.2017, 17:24
|
#293
|
Я тут недавно
Регистрация: 15.09.2012
Адрес: Харьков
Сообщений: 55
Поблагодарил(а) : 13
Поблагодарили 9 раз(а) в 7 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
AquaGomel, а вы не планировали полностью отказаться от дисплея? Так как предполагаю, что код под его обработку занимает не мало места, а это место можно использовать под другие функции, ведь можно все установки через мобильный клиент сделать.
|
|
|
17.10.2017, 18:27
|
#294
|
Живу я тут
Регистрация: 31.07.2010
Адрес: Белоруссия, Гомель
Сообщений: 412
Поблагодарил(а) : 38
Поблагодарили 191 раз(а) в 86 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
Цитата:
Сообщение от Denisios
AquaGomel, а вы не планировали полностью отказаться от дисплея? Так как предполагаю, что код под его обработку занимает не мало места, а это место можно использовать под другие функции, ведь можно все установки через мобильный клиент сделать.
|
Отказавшись от дисплея мы сильно усложним задачу большинству аквариумистов. Удаленный доступ к устройству это всего лишь возможность повысить комфорт и информативность для конечного пользователя, по сути для того что бы настроить и забыть. Ну и как максимум получить информацию удаленно если что-то случиться. Хотя опять же сомнительная функция. Если мне на работе придет уведомление о том что упала температура или выключится какой-то канал. А я буду на работе, смысл такого уведомления. Вообще есть тысяча причин почему дисплей должен быть, прежде всего это индикатор того что устройство работает правильно. Хотя даже в этом случае есть вероятность обратного, но она гораздо меньше если мы через кучу устройств будем слать команду состоянии и управления рассчитывая что все сработает как мы думаем...
По поводу объема кода: да отъедает не мало места. Но есть более простые способы нарастить функционал не в ущерб удобству. В рамках текущего контроллера о них мы говорить не будем, хотя забегая в перед скажу что работы в этом направлении ведутся...
|
|
|
17.10.2017, 19:47
|
#295
|
Я тут недавно
Регистрация: 15.09.2012
Адрес: Харьков
Сообщений: 55
Поблагодарил(а) : 13
Поблагодарили 9 раз(а) в 7 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
AquaGomel, подскажите пожалуйста, возможно ли добавить поддержку датчика влажности si7021?
|
|
|
17.10.2017, 21:08
|
#296
|
Живу я тут
Регистрация: 31.07.2010
Адрес: Белоруссия, Гомель
Сообщений: 412
Поблагодарил(а) : 38
Поблагодарили 191 раз(а) в 86 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
Цитата:
Сообщение от Denisios
AquaGomel, подскажите пожалуйста, возможно ли добавить поддержку датчика влажности si7021?
|
В этой версии функционал меняться не будет. В следующей датчик влажности и давления будет присутствовать. Но это не прямо сейчас. Тут бы обкатать прошивку с текущим функционалом.
|
|
|
17.10.2017, 21:51
|
#297
|
Я тут недавно
Регистрация: 15.09.2012
Адрес: Харьков
Сообщений: 55
Поблагодарил(а) : 13
Поблагодарили 9 раз(а) в 7 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
|
|
|
17.10.2017, 21:56
|
#298
|
Живу я тут
Регистрация: 31.07.2010
Адрес: Белоруссия, Гомель
Сообщений: 412
Поблагодарил(а) : 38
Поблагодарили 191 раз(а) в 86 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
Цитата:
Сообщение от Denisios
|
Уже заготовлен BME280.
|
|
|
18.10.2017, 16:48
|
#299
|
Я тут недавно
Регистрация: 27.10.2010
Адрес: Казань
Сообщений: 50
Поблагодарил(а) : 23
Поблагодарили 3 раз(а) в 3 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
Здравствуйте, не совсем понял логику работы температурного датчика. Установил температуру включения 25 градусов, отключения 26 градусов, в итоге он включается ниже 25 градусов, а выключается выше 25 градусов. Канал фильтра по умолчанию №1 и как сделать выключение на 30 минут? Спасибо заранее
|
|
|
18.10.2017, 17:16
|
#300
|
Живу я тут
Регистрация: 31.07.2010
Адрес: Белоруссия, Гомель
Сообщений: 412
Поблагодарил(а) : 38
Поблагодарили 191 раз(а) в 86 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
Цитата:
Сообщение от Alserk-3
Здравствуйте, не совсем понял логику работы температурного датчика. Установил температуру включения 25 градусов, отключения 26 градусов, в итоге он включается ниже 25 градусов, а выключается выше 25 градусов. Канал фильтра по умолчанию №1 и как сделать выключение на 30 минут? Спасибо заранее
|
По поводу настройки температуры: http://aquacontroller.ru/ru/set/menu/temperatura
Вы задаете интервал поддержания температуры в аквариуме: Первое значение это нижняя граница когда грелка включиться верхнее когда она выключиться.
"30 мин" Я так понимаю идет речь про временное отключение фильтра? Курсор вверх удерживаем в течении 3-5 сек отключение на 5 мин вниз на 30 мин...
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Текущее время: 14:53. Часовой пояс GMT +3.
|