 |
|
06.01.2017, 12:47
|
|
AquaController
Живу я тут
Регистрация: 31.07.2010
Адрес: Белоруссия, Гомель
Сообщений: 411
Поблагодарил(а) : 38
Поблагодарили 189 раз(а) в 85 сообщениях

06.01.2017, 12: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 Кб, 1593 просмотров) |
 |
Elemets_list.zip (7.4 Кб, 1501 просмотров) |
 |
Schema_power_v1_1.zip (29.7 Кб, 1403 просмотров) |
 |
Power_gerber_v_1_1.zip (88.6 Кб, 1470 просмотров) |
 |
Power_PCB_v_1_1.zip (89.5 Кб, 1454 просмотров) |
 |
Elemets_list_power.zip.zip (7.5 Кб, 1413 просмотров) |
 |
PCB_gerber_v_1_3.zip (215.0 Кб, 1446 просмотров) |
 |
PCB_v_1_3.zip (1.17 Мб, 1480 просмотров) |
 |
AquaControllerNano-1.3.9-0.6.zip (31.1 Кб, 1216 просмотров) |
 |
AquaControllerNano-1.3.9-0.6-invers-logic.zip (31.1 Кб, 1184 просмотров) |
 |
AquaControllerESP-1.3.9-0.6.zip (261.7 Кб, 1278 просмотров) |
Последний раз редактировалось AquaGomel; 10.11.2019 в 00:58..
|
Просмотров: 148007
|
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 (13.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) |
Реклама помогает развиваться |
|
24.03.2017, 22:51
|
#61
|
Бан за нарушения
Регистрация: 13.05.2016
Адрес: Глобино
Сообщений: 145
Поблагодарил(а) : 37
Поблагодарили 54 раз(а) в 32 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
удалить...
__________________ 
Последний раз редактировалось mashenkaM; 24.03.2017 в 23:04..
|
|
|
24.03.2017, 23:02
|
#62
|
Бан за нарушения
Регистрация: 13.05.2016
Адрес: Глобино
Сообщений: 145
Поблагодарил(а) : 37
Поблагодарили 54 раз(а) в 32 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
Цитата:
Сообщение от AquaGomel
Я читал ваши 5 раз, только я не совсем понимаю зачем вы так делаете? Я стараюсь сделать универсальное устройство. Вы же предлагаете сделать одноразовое.
|
Поясните пожалуйста что вы имеет в виду под сделать одноразовое?
А то у меня складывается чувство что вы пользуетесь гугл-переводчкиком 
__________________ 
|
|
|
25.03.2017, 13:47
|
#63
|
Живу я тут
Регистрация: 31.07.2010
Адрес: Белоруссия, Гомель
Сообщений: 411
Поблагодарил(а) : 38
Поблагодарили 189 раз(а) в 85 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
Поясняю. Одноразовое, это устройство которое ты выкидываешь когда нет возможности его починить. В случае когда мы программно делаем так что бы у пользователя не было возможности починить это самое устройство, или нужно приложить столько сил и знаний что пользователь не в состоянии это сам сделать. Вы так и не ответили на мои вопросы выше!
|
|
|
25.03.2017, 14:54
|
#64
|
Бан за нарушения
Регистрация: 13.05.2016
Адрес: Глобино
Сообщений: 145
Поблагодарил(а) : 37
Поблагодарили 54 раз(а) в 32 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
AquaGomel, на какие именно?
У меня создаётся мнение что вы пользуетесь гугл-переводчиком читая мои посты.
6-ой раз писать одно и тоже не охото...
или оформите свою мысль так что бы она была доступна широким массам...
__________________ 
|
|
|
25.03.2017, 15:19
|
#65
|
Живу я тут
Регистрация: 31.07.2010
Адрес: Белоруссия, Гомель
Сообщений: 411
Поблагодарил(а) : 38
Поблагодарили 189 раз(а) в 85 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
Цитата:
Сообщение от mashenkaM
на какие именно?
|
Цитата:
Сообщение от AquaGomel
Если вы харкодно забьете адрес подключенного датчика, что потом делать пользователю если возникнет необходимость его поменять? А если добавить еще один?
|
Ну давайте хотя бы на эти?
|
|
|
Реклама помогает развиваться |
|
25.03.2017, 16:06
|
#66
|
Бан за нарушения
Регистрация: 13.05.2016
Адрес: Глобино
Сообщений: 145
Поблагодарил(а) : 37
Поблагодарили 54 раз(а) в 32 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
AquaGomel, как я писала много раз выше, вбивать хардкорно адреса датчиков можно только для личного использования или для знающих людей. Для продажи или широко распространения эти все вещи необходимо инкапсулировать от пользователя, ему надо только знать что если датчик сгорел, он покупает новый, припаивает к нему разъём и вставляет в разъём где был прошлый.
Я думаю что вы считает именно так, но почему то постоянно задаёте мне этот вопрос.
__________________ 
|
|
|
25.03.2017, 16:07
|
#67
|
Бан за нарушения
Регистрация: 13.05.2016
Адрес: Глобино
Сообщений: 145
Поблагодарил(а) : 37
Поблагодарили 54 раз(а) в 32 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
Что бы было понятнее вы можете привести отрывок вашего кода работы с датчиками, думаю там нет ни чего секретного, а нам бы было понятнее.
__________________ 
|
|
|
25.03.2017, 16:28
|
#68
|
Живу я тут
Регистрация: 31.07.2010
Адрес: Белоруссия, Гомель
Сообщений: 411
Поблагодарил(а) : 38
Поблагодарили 189 раз(а) в 85 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
Цитата:
Сообщение от mashenkaM
припаивает к нему разъём и вставляет в разъём где был прошлый
|
Ну в вашем случае еще нужно описать процесс извлечения устройства для его прошивки (и не дай боже устройство стояло не отдельной коробкой а к примеру было встроено в крышку), далее переписывание кода, его прошивка, настройка устройства заново, так как EEPROM естественно очищается, ну и монтаж девайса в корпус... Даже для себя и для знающих людей, не тяжеловато? Может все же сделать универсальную замену датчиков?Нет?
Цитата:
Сообщение от mashenkaM
но почему то постоянно задаёте мне этот вопрос
|
Насколько я понял вас вы же и предлагаете сделать так как я описал выше, поэтому я стараюсь донести до вас свою мысль, что это не правильно. Но вы по прежнему со мной не соглашаетесь.
Цитата:
Сообщение от mashenkaM
Что бы было понятнее
|
А что именно непонятно? Я же очень подробно описал процесс работы и замены датчиков.
Цитата:
Сообщение от mashenkaM
думаю там нет ни чего секретного
|
Там действительно нет ничего секретного, в интернете полно примеров как работать с датчиками температуры. Но к сожалению рассматривая не один проект я натыкаюсь на одно и то же. Люди берут эти примеры, даже не разбираясь как это работает, даже не пытаясь улучшить их, добавить универсальности при работе. Не говоря уже о каких-то краевых условиях.
|
|
|
25.03.2017, 20:45
|
#69
|
Живу я тут
Регистрация: 11.12.2011
Адрес: Москва
Сообщений: 112
Поблагодарил(а) : 14
Поблагодарили 15 раз(а) в 13 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
Цитата:
Сообщение от mashenkaM
AquaGomel, ...а вы определяете из списка щупая каждый за кончик...
|
Кстати, тоже неплохой вариант. Не так часто это необходимо делать. Я уже забыл, когда у себя датчик менял.
|
|
|
25.03.2017, 22:03
|
#70
|
Бан за нарушения
Регистрация: 13.05.2016
Адрес: Глобино
Сообщений: 145
Поблагодарил(а) : 37
Поблагодарили 54 раз(а) в 32 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
AquaGomel, с чего бы при заливки скетча EEPROM очищаться?
Во вторых хоть датчики и висят на одном выходе, то это всё внутри корпуса, внешне это отдельные 3.5 выходы. И лично у меня в корпусе есть отверстие куда вставляется юсб шнурок ну и ноутбук придумали давно 
__________________ 
|
|
|
25.03.2017, 22:07
|
#71
|
Бан за нарушения
Регистрация: 13.05.2016
Адрес: Глобино
Сообщений: 145
Поблагодарил(а) : 37
Поблагодарили 54 раз(а) в 32 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
AquaGomel, я писала новую библиотеку, потому что delay() который используется почти везде и даже в даласе убивает весь смысла реал тайма.
__________________ 
|
|
|
26.03.2017, 00:05
|
#72
|
Живу я тут
Регистрация: 31.07.2010
Адрес: Белоруссия, Гомель
Сообщений: 411
Поблагодарил(а) : 38
Поблагодарили 189 раз(а) в 85 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
Цитата:
Сообщение от mashenkaM
с чего бы при заливки скетча EEPROM очищаться?
|
При прошивке из Arduino IDE он конечно не очищается. Но это как раз таки и есть плохо. Конечно можно его оставлять от прошлой версии прошивки понадеявшись на авось. Но это не мой случай.
Цитата:
Сообщение от mashenkaM
И лично у меня в корпусе есть отверстие куда вставляется юсб шнурок ну и ноутбук придумали давно
|
Ну что же это все хорошо, но если вспомнить что устройство разрабатывается не для программистов а для аквариумистов, мне ваш подход не понятен. Хоть если исходить из ситуации, что делается проект сугубо для себя, то можно вообще писать весь проект под фразу "и так сойдет...
Цитата:
Сообщение от mashenkaM
внешне это отдельные 3.5 выходы
|
" Мой вам совет использовать все же USB разъемы.
Цитата:
Сообщение от AndrewUh
Не так часто это необходимо делать.
|
Я к стати так же думал. Но все же согласитесь было бы приятнее если бы при замене датчика не сбивалась программа для всех остальных.
|
|
|
26.03.2017, 01:15
|
#73
|
Бан за нарушения
Регистрация: 13.05.2016
Адрес: Глобино
Сообщений: 145
Поблагодарил(а) : 37
Поблагодарили 54 раз(а) в 32 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
Цитата:
Сообщение от AquaGomel
Ну что же это все хорошо, но если вспомнить что устройство разрабатывается не для программистов а для аквариумистов, мне ваш подход не понятен. Хоть если исходить из ситуации, что делается проект сугубо для себя, то можно вообще писать весь проект под фразу "и так сойдет...
" Мой вам совет использовать все же USB разъемы.
|
Я пишу свою программу именно для себя, под свои нужды и так как удобно мне в плане конфигурации и тому подобное, это совсем не значить что это И ТАК СОЙДЁТ.
Писать для всех обычно дело не благодарное и всем не угодишь
За USB спасибо, но у меня миниджеки встраиваемые в панель, мне так удобнее в данном случае, но буду иметь в виду...
__________________ 
|
|
|
26.03.2017, 01:20
|
#74
|
Бан за нарушения
Регистрация: 13.05.2016
Адрес: Глобино
Сообщений: 145
Поблагодарил(а) : 37
Поблагодарили 54 раз(а) в 32 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
Цитата:
Сообщение от AquaGomel
При прошивке из Arduino IDE он конечно не очищается. Но это как раз таки и есть плохо. Конечно можно его оставлять от прошлой версии прошивки понадеявшись на авось. Но это не мой случай.
|
я бы сказал что это наоборот хорошо, при изменение прошивки не слетают настройки. Я понимаю что начальные настройки можно прописать в инициализации, но как вы говорите то что нравится вам, может не устроить других, и тогда им придётся настраивать все пункты заново, а это бесит.
НО если вы что то изменили в адресации памяти, то тут в любой случае нужно производить инициализацию.
__________________ 
|
|
|
26.03.2017, 01:26
|
#75
|
Бан за нарушения
Регистрация: 13.05.2016
Адрес: Глобино
Сообщений: 145
Поблагодарил(а) : 37
Поблагодарили 54 раз(а) в 32 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
AquaGomel, мы так и не поняли, вы кричите про универсальность и простоту, но сами повесили 4 датчика на один провод, что явно не универсальность и простота. Или вы это как то решили программно?
Один из ваших датчиков можно просто заменить физически и программа будет работать корректно?
__________________ 
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
Опции темы |
|
Опции просмотра |
Линейный вид
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Текущее время: 05:08. Часовой пояс GMT +3.
|