 |
|
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 КБ, 2352 переглядів) |
 |
Elemets_list.zip (7,4 КБ, 2175 переглядів) |
 |
Schema_power_v1_1.zip (29,7 КБ, 2143 переглядів) |
 |
Power_gerber_v_1_1.zip (88,6 КБ, 2184 переглядів) |
 |
Power_PCB_v_1_1.zip (89,5 КБ, 2169 переглядів) |
 |
Elemets_list_power.zip.zip (7,5 КБ, 2111 переглядів) |
 |
PCB_gerber_v_1_3.zip (215,0 КБ, 2207 переглядів) |
 |
PCB_v_1_3.zip (1,17 МБ, 2199 переглядів) |
 |
AquaControllerNano-1.3.9-0.6.zip (31,1 КБ, 1875 переглядів) |
 |
AquaControllerNano-1.3.9-0.6-invers-logic.zip (31,1 КБ, 1857 переглядів) |
 |
AquaControllerESP-1.3.9-0.6.zip (261,7 КБ, 1947 переглядів) |
Востаннє редагував AquaGomel: 09.11.2019 о 23:58..
|
Переглядів: 192365
|
Ці 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) |
27.03.2017, 11:56
|
#106
|
Живу я тут
Реєстрація: 11.12.2011
Звідки Ви: Москва
Дописи: 112
сказав Дякую: 14
сказали Дякую 15 раз(и) в 13 повідомленні
|
Re: AquaController ===www.aquaforum.ua===
Цитата:
Допис від mashenkaM
где то дома была старая схема в протеусе, приду домой покажу, вам что не верится что бывает такое подключение? 
|
В АКВАКОНТРОЛЛЕРЕ!
|
|
|
27.03.2017, 11:57
|
#107
|
Живу я тут
Реєстрація: 11.12.2011
Звідки Ви: Москва
Дописи: 112
сказав Дякую: 14
сказали Дякую 15 раз(и) в 13 повідомленні
|
Re: AquaController ===www.aquaforum.ua===
Цитата:
Допис від mashenkaM
Я думала когда про всевозможные системы отказоустойчивости, но контроллер обрастал кучей датчиков, не хватало выводов, памяти и очень вырастала цена.
|
"не хватало выводов" - это ключевая Ваша фраза.
|
|
|
27.03.2017, 12:00
|
#108
|
Бан за нарушения
Реєстрація: 13.05.2016
Звідки Ви: Глобино
Дописи: 145
сказав Дякую: 37
сказали Дякую 54 раз(и) в 32 повідомленні
|
Re: AquaController ===www.aquaforum.ua===
Я уже и не знаю каким вам языком писать, хотя писала вроде изначально доступно и понятно, я сама использую и тот типа подключения и другой в разных версиях своих контроллеров. И изначально обрисовала плюсы и минусы каждого подключения, но AquaGomel упёрся в свои USB выходы и не хотел понимать что я пишу ему.
Он как будто на другом языке общается...
Была у меня идея написать инициализацию датчиков в ручную пользователем через меню, но это такой лишний и геморойный код, когда и там места и памяти не хватает, то в итоге решила или прописывать по адресам датчики или каждый на отдельный выход контроллера.
Когда пару лет назад на это дело подсадил меня мой знакомый и мы думали создать самый дешёвый и просто акваконтроллер, то мы долго спорили по поводу подключения датчиков и в лайт (минимальная) версии пришли к выводу что нужно пока хватает выходов контролера вешать их отдельно, потому что обращение через адреса для широких мас без ручной инициализации через меню для конечно пользователя просто не удобно, так как требует редактирование кода, который ни кто ему не даст или нести контроллер на прошивку производителю.
__________________ 
|
|
|
27.03.2017, 12:05
|
#109
|
Живу я тут
Реєстрація: 11.12.2011
Звідки Ви: Москва
Дописи: 112
сказав Дякую: 14
сказали Дякую 15 раз(и) в 13 повідомленні
|
Re: AquaController ===www.aquaforum.ua===
Вопрос: Вы в отпуске, датчик сломался и постоянно показывает 20С и грелка греет воду до 25С. Никто не может придти к Вам в квартиру. Ваши действия.
И не надо мне писать про AquaGomel, я тут не причем))
|
|
|
27.03.2017, 12:09
|
#110
|
Бан за нарушения
Реєстрація: 13.05.2016
Звідки Ви: Глобино
Дописи: 145
сказав Дякую: 37
сказали Дякую 54 раз(и) в 32 повідомленні
|
Re: AquaController ===www.aquaforum.ua===
Цитата:
Допис від AndrewUh
В АКВАКОНТРОЛЛЕРЕ!
|
Ну давайте пофантазируем вместе...
Стоят рядом два аквариума с гуппи со светодиодными лентами, грелками и фильтрами. Итого имеем 2 выхода -i2c, 2 выхода ленты, 2 выхода грелки, 2 выхода - температурные датчики, 2 выхода фильтры. Итого получаем 10 цифровых выходов.
Теперь фантазируем как мы подключаем их к 10 из 14 выходам Nano Arduino, схему себе представили? Мы конечно можем ещё дальше вместе пофантазировать, но это уже будет выходить за рамки темы 
__________________ 
|
|
|
27.03.2017, 12:15
|
#111
|
Живу я тут
Реєстрація: 31.07.2010
Звідки Ви: Белоруссия, Гомель
Дописи: 413
сказав Дякую: 38
сказали Дякую 192 раз(и) в 87 повідомленні
|
Re: AquaController ===www.aquaforum.ua===
Цитата:
Допис від mashenkaM
Ну давайте пофантазируем вместе...
|
Мы уже поняли, что вы предлагаете. По поводу резисторов я вам предложил решение выше. Проблему с правильной инициализацией я уже решил. По поводу функционального применения вашего решения то же я уже думаю все поняли. Какие-то принципиальные решения или рекомендации у вас еще есть, конкретно по этому проекту? Потому как тема скатывается в "я казала, ты казала"... Я выложу прошивку что бы можно было "потрогать руками", тогда будем писать кто что думает... А так вилами по воде...
|
|
|
27.03.2017, 12:25
|
#112
|
Живу я тут
Реєстрація: 11.12.2011
Звідки Ви: Москва
Дописи: 112
сказав Дякую: 14
сказали Дякую 15 раз(и) в 13 повідомленні
|
Re: AquaController ===www.aquaforum.ua===
Цитата:
Допис від mashenkaM
Ну давайте пофантазируем вместе...
Стоят рядом два аквариума с гуппи со светодиодными лентами, грелками и фильтрами. Итого имеем 2 выхода -i2c, 2 выхода ленты, 2 выхода грелки, 2 выхода - температурные датчики, 2 выхода фильтры. Итого получаем 10 цифровых выходов.
Теперь фантазируем как мы подключаем их к 10 из 14 выходам Nano Arduino, схему себе представили? Мы конечно можем ещё дальше вместе пофантазировать, но это уже будет выходить за рамки темы 
|
Не понял, к чему это все ((
Единственное, что полезного Вы сказали для этой темы - про резисторы, остальное - от лукавого.
Создайте тему про свой контроллер и там пообщаемся, если захотите.
|
|
|
27.03.2017, 12:26
|
#113
|
Живу я тут
Реєстрація: 11.12.2011
Звідки Ви: Москва
Дописи: 112
сказав Дякую: 14
сказали Дякую 15 раз(и) в 13 повідомленні
|
Re: AquaController ===www.aquaforum.ua===
AquaGomel, извини за флуд. Можешь удалять.
|
|
|
27.03.2017, 12:26
|
#114
|
Бан за нарушения
Реєстрація: 13.05.2016
Звідки Ви: Глобино
Дописи: 145
сказав Дякую: 37
сказали Дякую 54 раз(и) в 32 повідомленні
|
Re: AquaController ===www.aquaforum.ua===
Цитата:
Допис від AndrewUh
Вопрос: Вы в отпуске, датчик сломался и постоянно показывает 20С и грелка греет воду до 25С. Никто не может придти к Вам в квартиру. Ваши действия.
И не надо мне писать про AquaGomel, я тут не причем))
|
Самое первое это то что любой нагрев идёт по гистерезису и если через промежутки времени сравнить показания датчика и она не изменяется это уже авария!!!
Давайте рассмотрим это пример и другие и допустим грелка стоит без терморегулятора, в котором можно изначально выставить мах температуру на 2 градуса выше норм, что бы подобное не привело к перегреву.
В каких ситуациях может произойти подобное :
1) Датчик вышел из строя.
2) залипание биметалических пластин, переход в режим постоянной грелки без учёта данных температурного датчика.
3) "глупая" подмена воды или заполнение аквариум с нуля.
3й пункт убираем, так как ни кто не льёт в аквариум заведомо холодную воду, а если и льёт то колебание температуры в аквариуме не больше 2 градусов. Поэтому этот вариант исключаем.
Дальше что мы видим, что колебания температуры происходит по заданному гистерезису, допустим -1 градус и +1 градус от заданной температуры, получается что разница в 2-3 градуса от нормы считается аварийной, правильно? Это означает что автоматика не смогла следовать гистерезису и или датчик или грелка вышли из строя.
Соответственно пишем условие, что если температура в аквариуме больше или меньше на 3 градуса от заданной температуры в течении допустим 10-60 минут, то выдаём сигнал авариии и выключаем грелку.
Но бывает такое что не было света, вода остыла, а потом свет появился и грелке нужно время что бы нагреть воду, тогда добавляем отслеживание температуры во времени, то есть если в течении 10-60 минут температура не поменялась и не вышла за граничные точки, то включаем аварию и отключаем грелку.
тут можно ещё думать, но надеюсь смысл вам потянет.
__________________ 
|
|
|
27.03.2017, 12:34
|
#115
|
Живу я тут
Реєстрація: 11.12.2011
Звідки Ви: Москва
Дописи: 112
сказав Дякую: 14
сказали Дякую 15 раз(и) в 13 повідомленні
|
Re: AquaController ===www.aquaforum.ua===
mashenkaM, Вы в отпуске, Вас нет дома. Что делает Ваш контроллер?
Я в своем к шине могу подключить пару датчиков на время и из любого места по телефону заменю неисправный датчик на исправный. А Вы? Приедете и лучок с морковкой туда постругаете? Это к вопросу о надежности.
|
|
|
27.03.2017, 12:37
|
#116
|
Живу я тут
Реєстрація: 11.12.2011
Звідки Ви: Москва
Дописи: 112
сказав Дякую: 14
сказали Дякую 15 раз(и) в 13 повідомленні
|
Re: AquaController ===www.aquaforum.ua===
Цитата:
Допис від mashenkaM
Самое первое это то что любой нагрев идёт по гистерезису и если через промежутки времени сравнить показания датчика и она не изменяется это уже авария!!!
Давайте рассмотрим это пример и другие и допустим грелка стоит без терморегулятора, в котором можно изначально выставить мах температуру на 2 градуса выше норм, что бы подобное не привело к перегреву.
В каких ситуациях может произойти подобное :
1) Датчик вышел из строя.
2) залипание биметалических пластин, переход в режим постоянной грелки без учёта данных температурного датчика.
3) "глупая" подмена воды или заполнение аквариум с нуля.
3й пункт убираем, так как ни кто не льёт в аквариум заведомо холодную воду, а если и льёт то колебание температуры в аквариуме не больше 2 градусов. Поэтому этот вариант исключаем.
Дальше что мы видим, что колебания температуры происходит по заданному гистерезису, допустим -1 градус и +1 градус от заданной температуры, получается что разница в 2-3 градуса от нормы считается аварийной, правильно? Это означает что автоматика не смогла следовать гистерезису и или датчик или грелка вышли из строя.
Соответственно пишем условие, что если температура в аквариуме больше или меньше на 3 градуса от заданной температуры в течении допустим 10-60 минут, то выдаём сигнал авариии и выключаем грелку.
Но бывает такое что не было света, вода остыла, а потом свет появился и грелке нужно время что бы нагреть воду, тогда добавляем отслеживание температуры во времени, то есть если в течении 10-60 минут температура не поменялась и не вышла за граничные точки, то включаем аварию и отключаем грелку.
тут можно ещё думать, но надеюсь смысл вам потянет.
|
Все, что Вы здесь описали - по коду гораздо больше, чем инициализация и назначение датчиков.
|
|
|
27.03.2017, 17:31
|
#117
|
Бан за нарушения
Реєстрація: 13.05.2016
Звідки Ви: Глобино
Дописи: 145
сказав Дякую: 37
сказали Дякую 54 раз(и) в 32 повідомленні
|
Re: AquaController ===www.aquaforum.ua===
Цитата:
Допис від AndrewUh
mashenkaM, Вы в отпуске, Вас нет дома. Что делает Ваш контроллер?
Я в своем к шине могу подключить пару датчиков на время и из любого места по телефону заменю неисправный датчик на исправный. А Вы? Приедете и лучок с морковкой туда постругаете? Это к вопросу о надежности.
|
Позволю включить себе телепатически способности... вы имеет ввиду что у вас есть дублирующие друг друга датчики температуры?
Вы не поверите, но есть места где не ловит сеть телефон, например в крыму в горах, или глухих лесах и посёлках и т.д. Поехали вы на байдарках или в крым в горы и тоже на обратном пути купите лучка и морковки, потому что автоматика не отработает.
А если у вас села батарея и повер банк, то вы ни чего не сможете сделать, а дома будет уже уха 
__________________ 
|
|
|
27.03.2017, 17:31
|
#118
|
Бан за нарушения
Реєстрація: 13.05.2016
Звідки Ви: Глобино
Дописи: 145
сказав Дякую: 37
сказали Дякую 54 раз(и) в 32 повідомленні
|
Re: AquaController ===www.aquaforum.ua===
Цитата:
Допис від AndrewUh
Все, что Вы здесь описали - по коду гораздо больше, чем инициализация и назначение датчиков.
|
Ну да 10-15 строк кода - это конечно тяжело осилить 
__________________ 
|
|
|
27.03.2017, 17:36
|
#119
|
Бан за нарушения
Реєстрація: 04.01.2009
Звідки Ви: Полтава
Дописи: 5.494
сказав Дякую: 6.242
сказали Дякую 5.758 раз(и) в 2.264 повідомленні
|
Re: AquaController ===www.aquaforum.ua===
__________________ 
|
|
|
27.03.2017, 18:37
|
#120
|
Бан за нарушения
Реєстрація: 13.05.2016
Звідки Ви: Глобино
Дописи: 145
сказав Дякую: 37
сказали Дякую 54 раз(и) в 32 повідомленні
|
Re: AquaController ===www.aquaforum.ua===
sae74, а чип тут какой? Малинка? 
качество 240 для конспирации? 
__________________ 
|
|
|
 |
|
Тут присутні: 1 (учасників - 0 , гостей - 1)
|
|
Ваші права у розділі
|
Ви не можете створювати теми
Ви не можете писати дописи
Ви не можете долучати файли
Ви не можете редагувати дописи
HTML код Вимк.
|
|
|
Часовий пояс GMT +3. Поточний час: 11:35.
|