|
|
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 Кб, 1637 просмотров) |
|
Elemets_list.zip (7.4 Кб, 1539 просмотров) |
|
Schema_power_v1_1.zip (29.7 Кб, 1444 просмотров) |
|
Power_gerber_v_1_1.zip (88.6 Кб, 1511 просмотров) |
|
Power_PCB_v_1_1.zip (89.5 Кб, 1497 просмотров) |
|
Elemets_list_power.zip.zip (7.5 Кб, 1455 просмотров) |
|
PCB_gerber_v_1_3.zip (215.0 Кб, 1493 просмотров) |
|
PCB_v_1_3.zip (1.17 Мб, 1521 просмотров) |
|
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..
|
Просмотров: 154698
|
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) |
Реклама помогает развиваться |
|
25.11.2019, 10:04
|
#586
|
Я тут недавно
Регистрация: 25.11.2019
Адрес: Кемерово
Сообщений: 1
Поблагодарил(а) : 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
Здравствуйте. Можно ли поставить 2 строчный экран? Нет возможности пока 4 строчный купить.
|
|
|
25.11.2019, 11:24
|
#587
|
Живу я тут
Регистрация: 31.07.2010
Адрес: Белоруссия, Гомель
Сообщений: 412
Поблагодарил(а) : 38
Поблагодарили 191 раз(а) в 86 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
Цитата:
Сообщение от Эндюх
Здравствуйте. Можно ли поставить 2 строчный экран? Нет возможности пока 4 строчный купить.
|
По идее можно, последние 2 строки не будет видно... Но я не проверял)))
|
|
|
30.04.2020, 11:29
|
#588
|
Я тут недавно
Регистрация: 02.05.2019
Адрес: Ташкент
Сообщений: 56
Поблагодарил(а) : 2
Поблагодарили 2 раз(а) в 2 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
Доброго дня. Вопрос, при настройке контроллера на охолождение аквариума , установлены пороги 24.5 вкл и 24 градуса выкл. вентилятора , вкл происходит при 24.25 . Пробовал менять пороги всегда гистерезис равен 0.25 градуса . Это так задумано?
|
|
|
30.04.2020, 14:59
|
#589
|
Живу я тут
Регистрация: 31.07.2010
Адрес: Белоруссия, Гомель
Сообщений: 412
Поблагодарил(а) : 38
Поблагодарили 191 раз(а) в 86 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
Цитата:
Сообщение от sl_64
Доброго дня. Вопрос, при настройке контроллера на охлаждение аквариума , установлены пороги 24.5 вкл и 24 градуса выкл. вентилятора , вкл происходит при 24.25 . Пробовал менять пороги всегда гистерезис равен 0.25 градуса . Это так задумано?
|
Срабатывание происходит при пересечении температуры минимального или максимального значения при охлаждении. Хотя возможно это не очень логично, надо подумать.
|
|
|
30.04.2020, 16:59
|
#590
|
Я тут недавно
Регистрация: 02.05.2019
Адрес: Ташкент
Сообщений: 56
Поблагодарил(а) : 2
Поблагодарили 2 раз(а) в 2 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
Порог включения отрабатывает правильно, а вот отключения нет .
|
|
|
Реклама помогает развиваться |
|
30.04.2020, 21:56
|
#591
|
Живу я тут
Регистрация: 31.07.2010
Адрес: Белоруссия, Гомель
Сообщений: 412
Поблагодарил(а) : 38
Поблагодарили 191 раз(а) в 86 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
Цитата:
Сообщение от sl_64
Порог включения отрабатывает правильно, а вот отключения нет .
|
Если интересно вот кусок кода отвечающий за пороги включения выключения темп таймеров:
Цитата:
/**
* Checking whether the program can be run for temperature sensors
*/
bool CheckStateTemp(byte sensorIndex, byte canalIndex) {
//Cooling
//-----Tmin=25------Tmax=20------/
if (TempTimerMinStart[sensorIndex] > TempTimerMaxEnd[sensorIndex]) {
//-----Tmin=25------Tmax=20----Tcur=26--/
if (TempSensor[sensorIndex] >= TempTimerMinStart[sensorIndex]) {
CheckStateWarningTemp(sensorIndex, false);
return true;
}
//-----Tmin=25------Tmax=22----Tcur=24--/
if (TempSensor[sensorIndex] < TempTimerMinStart[sensorIndex]
&& TempSensor[sensorIndex] > TempTimerMaxEnd[sensorIndex]) {
if (CurrentStateChanalsByTypeTimer[sensorIndex] == TIMER_TEMP) {
CheckStateWarningTemp(sensorIndex, false);
return true;
}
}
CheckStateWarningTemp(sensorIndex, false);
return false;
//Warming
//-----Tmin=20------Tmax=25------/
} else if (TempTimerMinStart[sensorIndex] < TempTimerMaxEnd[sensorIndex]) {
//--Tcur=19---Tmin=20------Tmax=25------/
if (TempSensor[sensorIndex] < TempTimerMinStart[sensorIndex]) {
CheckStateWarningTemp(sensorIndex, true);
return true;
}
//-----Tmin=20---Tcur=22---Tmax=25------/
if (TempSensor[sensorIndex] >= TempTimerMinStart[sensorIndex]
&& TempSensor[sensorIndex] < TempTimerMaxEnd[sensorIndex]) {
if (CurrentStateChanalsByTypeTimer[canalIndex] == TIMER_TEMP) {
CheckStateWarningTemp(sensorIndex, true);
return true;
}
}
CheckStateWarningTemp(sensorIndex, true);
return false;
}
return false;
}
|
Вот сам репозиторий: https://bitbucket.org/idealunch/aqua...o/src/develop/
Можно подправить по своему желению. Данную ветку я более не развиваю так как сейчас пишется вторая версия на esp32. Но при особом желании поковырятся в исходниках помощью обеспечу. Тем более что ваше замечание дельное и правку внесу уже в след версию контроллера.
|
|
|
20.09.2020, 22:48
|
#592
|
Я тут недавно
Регистрация: 06.12.2019
Адрес: Черновцы
Сообщений: 26
Поблагодарил(а) : 0
Поблагодарили 1 раз(а) в 1 сообщении
|
Re: AquaController ===www.aquaforum.ua===
Здравствуйте, взял ваш проект как за основу.
Закупил необходимые комплектующие:
Arduino Nano ATmega328
LCD 2004
Часы реального времени (DS3231)
Силовой блок (правда 4-х канальные блоки реле) так как мне 8 не нужно, достаточно 4х.
ESP8266 модель ESP-07
Спаял по схеме которую вы закрепили.
Правда в процессе было много трудностей которые я упущу.
После двух дневного мучения все таки удалось загнать
готовую прошивку которой вы любезно поделились в ардуинку.
А вот прошить ESP не получается никак. Приложение я установил, IP address - подтягивается, WiFi модуль определяется устройствами. Но вот прошить его не удается, на экране телефона ничего не появляется.
Если честно, как было уже выше подмечено, уровень знаний в этой области мал. Подскажите в каком направлении дальше двигаться и что я делаю не правильно.
Спасибо за внимание 🙏
|
|
|
21.09.2020, 15:28
|
#593
|
Живу я тут
Регистрация: 31.07.2010
Адрес: Белоруссия, Гомель
Сообщений: 412
Поблагодарил(а) : 38
Поблагодарили 191 раз(а) в 86 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
Цитата:
Сообщение от MichaelFox
Здравствуйте, взял ваш проект как за основу.
Закупил необходимые комплектующие:
Arduino Nano ATmega328
LCD 2004
Часы реального времени (DS3231)
Силовой блок (правда 4-х канальные блоки реле) так как мне 8 не нужно, достаточно 4х.
ESP8266 модель ESP-07
Спаял по схеме которую вы закрепили.
Правда в процессе было много трудностей которые я упущу.
После двух дневного мучения все таки удалось загнать
готовую прошивку которой вы любезно поделились в ардуинку.
А вот прошить ESP не получается никак. Приложение я установил, IP address - подтягивается, WiFi модуль определяется устройствами. Но вот прошить его не удается, на экране телефона ничего не появляется.
Если честно, как было уже выше подмечено, уровень знаний в этой области мал. Подскажите в каком направлении дальше двигаться и что я делаю не правильно.
Спасибо за внимание 🙏
|
Давайте определимся как вы пытаетесь прошить ESP модуль? Вернее через что, какой программатор? В момент прошивки на линии URAT должна находиться только ESP, потому ардуину нужно снять с платы. В любом случае нужно больше информации о том что происходит...
|
|
|
21.09.2020, 21:09
|
#594
|
Я тут недавно
Регистрация: 06.12.2019
Адрес: Черновцы
Сообщений: 26
Поблагодарил(а) : 0
Поблагодарили 1 раз(а) в 1 сообщении
|
Re: AquaController ===www.aquaforum.ua===
В таком случае постараюсь соблюдать последовательность.
Для работы я купил: Wi-Fi модуль NodeMCU V3 ESP8266 (CH340).
Никакого программатора я не использовал, подключение производил через кабель по USB к компу на котором стоит 7-ка.
Проблема заключается в том, что при подключении нет даже обнаружения COM порта.
Скачивал драйвер под CH340 для NodeMCU, следовал инструкции по установке но безрезультатно.
Помогите начинающему аквариумисту в нелегком деле, чувствую что своими силами это будет до Нового года или вовсе заброшу.
К слову, когда взялся за это дело я знал, что легко не будет, но после покупки всех комплектующих, ожидания доставки из Китая, 3-х дневной пайки а в последствии и перепайки, не хочется сдаваться на достигнутом.
|
|
|
21.09.2020, 22:23
|
#595
|
Живу я тут
Регистрация: 31.07.2010
Адрес: Белоруссия, Гомель
Сообщений: 412
Поблагодарил(а) : 38
Поблагодарили 191 раз(а) в 86 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
т.е. вы собираете без платы? Просто все подключаете проводами? И вместо esp8266-07 вы используете NodeMCU V3 ESP8266? Ок если так то вам нужно установить в систему драйвер что бы при подключении оно определялось примерно так. Погуглите "ch340 driver windows 7"
или так в вашем случае
Как только решите эту проблему скачаете от сюда софтинку:NodeMCU Flasher
В софтинке ставите тот ком порт который у вас пропишется в диспетчере задач (у меня это COM6).
Далее выбираете прошивку как тут:
В разделе "Advanced" ставите настройки для вашего чипа.
Нажимаете FLASH на вкладке "Operation" и если прошивка сама не начнется то далее зажимаете на NodeMCU кнопку FLASH потом RST потом отпускаете RST а потом через секунду другую FLASH...
|
|
|
02.10.2020, 23:20
|
#596
|
Я тут недавно
Регистрация: 06.12.2019
Адрес: Черновцы
Сообщений: 26
Поблагодарил(а) : 0
Поблагодарили 1 раз(а) в 1 сообщении
|
Re: AquaController ===www.aquaforum.ua===
Добрый вечер.
Нам удачно удалилось инициализировать Wi-Fi модуль.
Теперь выплыла следующая проблема.
При подключении температурных датчиков DS18B20 через резистор номиналом 4,7 кОм датчик t1 на экране и в приложении определился а вот t2 почему то не видит.
При входе: Activate DS18B20 подтягивает оба датчика.
В процессе эксплуатации данным приложением да и вообщем, сложилось впечатление, что существует большая задержка между заданной командой и временем отклика.
Особенно это заметно при нагреве датчика температуры, номиналы которого не меняются ни при нагреве ни при охлаждении, температура застыла на отметке 26.5 С.
Подскажите что делать и как исправить ситуацию.
|
|
|
03.10.2020, 11:00
|
#597
|
Я тут недавно
Регистрация: 06.12.2019
Адрес: Черновцы
Сообщений: 26
Поблагодарил(а) : 0
Поблагодарили 1 раз(а) в 1 сообщении
|
Re: AquaController ===www.aquaforum.ua===
Скорее всего это из за того, что я подключал каждый модуль последовательно.
То бишь, сначало Arduino затем wi-fi а потом перешёл к подключению температурных датчиков минуя подключение модуля реального времени, где скорее всего в программном компоненте прописана частота.
Но для этого мне нужно уточнить маленькую деталь, резисторы на схеме согласно номиналу 220 ом?
Спасибо за внимание и понимание 🙏
|
|
|
04.10.2020, 23:18
|
#598
|
Живу я тут
Регистрация: 31.07.2010
Адрес: Белоруссия, Гомель
Сообщений: 412
Поблагодарил(а) : 38
Поблагодарили 191 раз(а) в 86 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
Цитата:
Сообщение от MichaelFox
Скорее всего это из за того, что я подключал каждый модуль последовательно.
То бишь, сначало Arduino затем wi-fi а потом перешёл к подключению температурных датчиков минуя подключение модуля реального времени, где скорее всего в программном компоненте прописана частота.
Но для этого мне нужно уточнить маленькую деталь, резисторы на схеме согласно номиналу 220 ом?
Спасибо за внимание и понимание
|
Датчики не будут обновляться без подключения часов. На основе времени происходит опрос всех датчиков.
О каких резисторах идет речь? На сколько я помню там номиналы только 10к и 4.7к!!!
http://aquacontroller.ru/ru/main/class-layout/3-columns
|
|
|
05.10.2020, 00:41
|
#599
|
Я тут недавно
Регистрация: 06.12.2019
Адрес: Черновцы
Сообщений: 26
Поблагодарил(а) : 0
Поблагодарили 1 раз(а) в 1 сообщении
|
Re: AquaController ===www.aquaforum.ua===
AquaGomel,
Резистор на 4.7 кОм согласно схеме я подключил к датчикам температуры, а сей час надо будет подключить датчик реального времени, по схеме там идут два резистора. Я не силен в номенклатуре по этому просто "прогулил" по кольцам: золотой, коричневый, 2 красных. Мне подтянуло резистор на 220 Ом.
Дабы не на партачить я заранее решил переспросить Вас какого номинала резистор Вы использовали при подключении датчика реального времени.
|
|
|
05.10.2020, 15:35
|
#600
|
Живу я тут
Регистрация: 31.07.2010
Адрес: Белоруссия, Гомель
Сообщений: 412
Поблагодарил(а) : 38
Поблагодарили 191 раз(а) в 86 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
Цитата:
Сообщение от MichaelFox
AquaGomel,
Резистор на 4.7 кОм согласно схеме я подключил к датчикам температуры, а сей час надо будет подключить датчик реального времени, по схеме там идут два резистора. Я не силен в номенклатуре по этому просто "прогулил" по кольцам: золотой, коричневый, 2 красных. Мне подтянуло резистор на 220 Ом.
Дабы не на партачить я заранее решил переспросить Вас какого номинала резистор Вы использовали при подключении датчика реального времени.
|
Покажите где на схеме есть этот резистор!!!
Если вы про эти резисторы, то это подтягивающие резисторы i2c по питанию. Они на 10 кОм. Оба. На схеме это R1, R2.
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Текущее время: 09:36. Часовой пояс GMT +3.
|