|
|
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 Кб, 1636 просмотров) |
|
Elemets_list.zip (7.4 Кб, 1539 просмотров) |
|
Schema_power_v1_1.zip (29.7 Кб, 1444 просмотров) |
|
Power_gerber_v_1_1.zip (88.6 Кб, 1510 просмотров) |
|
Power_PCB_v_1_1.zip (89.5 Кб, 1496 просмотров) |
|
Elemets_list_power.zip.zip (7.5 Кб, 1455 просмотров) |
|
PCB_gerber_v_1_3.zip (215.0 Кб, 1493 просмотров) |
|
PCB_v_1_3.zip (1.17 Мб, 1520 просмотров) |
|
AquaControllerNano-1.3.9-0.6.zip (31.1 Кб, 1248 просмотров) |
|
AquaControllerNano-1.3.9-0.6-invers-logic.zip (31.1 Кб, 1211 просмотров) |
|
AquaControllerESP-1.3.9-0.6.zip (261.7 Кб, 1312 просмотров) |
Последний раз редактировалось AquaGomel; 09.11.2019 в 23:58..
|
Просмотров: 154673
|
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
Адрес: Белоруссия, Гомель
Сообщений: 412
Поблагодарил(а) : 38
Поблагодарили 191 раз(а) в 86 сообщениях
|
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,495
Поблагодарил(а) : 6,244
Поблагодарили 5,759 раз(а) в 2,265 сообщениях
|
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 для конспирации?
__________________
|
|
|
|
|
Здесь присутствуют: 2 (пользователей: 0 , гостей: 2)
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Текущее время: 07:23. Часовой пояс GMT +3.
|