|
|
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 Кб, 1628 просмотров) |
|
Elemets_list.zip (7.4 Кб, 1533 просмотров) |
|
Schema_power_v1_1.zip (29.7 Кб, 1440 просмотров) |
|
Power_gerber_v_1_1.zip (88.6 Кб, 1510 просмотров) |
|
Power_PCB_v_1_1.zip (89.5 Кб, 1490 просмотров) |
|
Elemets_list_power.zip.zip (7.5 Кб, 1455 просмотров) |
|
PCB_gerber_v_1_3.zip (215.0 Кб, 1484 просмотров) |
|
PCB_v_1_3.zip (1.17 Мб, 1518 просмотров) |
|
AquaControllerNano-1.3.9-0.6.zip (31.1 Кб, 1248 просмотров) |
|
AquaControllerNano-1.3.9-0.6-invers-logic.zip (31.1 Кб, 1210 просмотров) |
|
AquaControllerESP-1.3.9-0.6.zip (261.7 Кб, 1312 просмотров) |
Последний раз редактировалось AquaGomel; 09.11.2019 в 23:58..
|
Просмотров: 154485
|
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) |
Реклама помогает развиваться |
|
01.07.2018, 19:51
|
#391
|
Живу я тут
Регистрация: 31.07.2010
Адрес: Белоруссия, Гомель
Сообщений: 412
Поблагодарил(а) : 38
Поблагодарили 191 раз(а) в 86 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
Цитата:
Сообщение от Oleksandr54
1. не совсем понимаю как бинарник (HEX файл) AquaControllerNano v 1.2.8 - 0.3 весом 84 Кб помещаеться в ArduinoNANO 32 Кб (ATmega328) при этом 2 Кб используются для загрузчика?.
2. мне любая схема интерестна, в схеме где применяються PCA9635 и ADS1015
непонятно назначение клемника DS1(Header3) если для DS18B20 то резистор R6 должен бить между контактом 2 и 3 DS1;
на микросхему U2 не подаеться питание на контакт VDD;
базу транзисторов Q1 и Q2 через сопротивление 10К желательно привязать до минуса;
обвязка управления оптопарами U1-U12 некоректна: слишком большие номинали сопротивлений R2, R8, R15.....при виходних уровнях микросхеми U2- 3 вольта, тем более дальше применяються светодиоди со своим падением напряжения. Может последовательно стоит подключить сопротивлене едак 30 Ом светодиод и до светодиода оптопари или чудить схему с транзисторами.
следует учтивать работу с ADS1115 (ADS1015) напряжение подаваемое на вход АЦП не должно превышать VDD+0,3 В.В данном случае VDD(3,3)+0,3В= 3,6 вольта.Этот модуль очень боится перенапряжения как по входам, так и по питанию. Превышение напряжения более чем на 5% от напряжения питания его моментально сожжет.
и бузер BZ1 все-таки подключить через транзистор (правило хорошего тона) Все изложенное ИМХО.
Пожелания: если будете фиксить прошивку, профиксите пожалуйста отображение на екране температури с DS18B20, чтоби не отображались сотие градуса (виглядит не корректно).
|
HEX это машинный код программы, в котором кроме самого куда куча служебной информации, поэтому размер самого файла всегда больше байт кода для кристала.
DS1 это для термодатчика, и да вы правы там мой косяк...
По поводу обвязки тоже надо будет пересчитать... Правда я в этом не силен)))
Кстати нашел вот такую схему в интернетах: насколько она правильная?
Последний раз редактировалось AquaGomel; 02.07.2018 в 00:03..
|
|
|
02.07.2018, 11:21
|
#392
|
Я тут недавно
Регистрация: 05.11.2014
Адрес: Б-Днестровский
Сообщений: 51
Поблагодарил(а) : 8
Поблагодарили 29 раз(а) в 23 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
Цитата:
Кстати нашел вот такую схему в интернетах: насколько она правильная?
|
Если вы про силовую часть, то правильная, но по мне избыточная
лед2 и R9 я бы не ставил а заместо R6 поставил сопротивления около 50 ом можно последовательно и светодиод (если он принципиально нужен).
симистор поставил бы 139, он мощнее и обычно дешевле.
обвязку R9 C3, обычно не ставлю
|
|
|
Пользователь, который поблагодарил kolljj за данный пост:
|
|
03.07.2018, 01:11
|
#393
|
Я тут недавно
Регистрация: 29.06.2018
Адрес: львов
Сообщений: 24
Поблагодарил(а) : 2
Поблагодарили 2 раз(а) в 2 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
Указание схеми работать не будут (указивал више почему). Предлагаю на голосование две схеми:
Последний раз редактировалось Oleksandr54; 03.07.2018 в 01:23..
|
|
|
Пользователь, который поблагодарил Oleksandr54 за данный пост:
|
|
03.07.2018, 10:14
|
#394
|
Живу я тут
Регистрация: 11.12.2011
Адрес: Москва
Сообщений: 112
Поблагодарил(а) : 14
Поблагодарили 15 раз(а) в 13 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
У меня вариант 1 работает без проблем при R1=390 (при питании Atmega от +5В). Схему с транзистором вижу впервые, игра не стоит свеч ИМХО, особенно если нагрузок 8шт. В силовой части обвязку не использую.
|
|
|
03.07.2018, 10:42
|
#395
|
Живу я тут
Регистрация: 31.07.2010
Адрес: Белоруссия, Гомель
Сообщений: 412
Поблагодарил(а) : 38
Поблагодарили 191 раз(а) в 86 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
Цитата:
Сообщение от AndrewUh
У меня вариант 1 работает без проблем при R1=390 (при питании Atmega от +5В). Схему с транзистором вижу впервые, игра не стоит свеч ИМХО, особенно если нагрузок 8шт. В силовой части обвязку не использую.
|
Изначально схема делалась под 5В, ноя забыл что теперь вместо 5В у меня 3.3В =)) Поэтому я так понимаю нужны другие номиналы сопротивлений + с учетом ЛЕД светодиода...
|
|
|
Реклама помогает развиваться |
|
03.07.2018, 10:56
|
#396
|
Живу я тут
Регистрация: 11.12.2011
Адрес: Москва
Сообщений: 112
Поблагодарил(а) : 14
Поблагодарили 15 раз(а) в 13 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
Расчет простой: ток через светодиод и оптрон, учесть падение напряжения на них. Если лень считать, то полно сайтов, например: http://www.casemods.ru/services/raschet_rezistora.html
|
|
|
03.07.2018, 12:27
|
#397
|
Я тут недавно
Регистрация: 29.06.2018
Адрес: львов
Сообщений: 24
Поблагодарил(а) : 2
Поблагодарили 2 раз(а) в 2 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
Считать особенно интересно когда светодиоди включени последовательно с разними параметрами, с разним падением напряжения на них (неизвесним) и разними паспортними рабочими токами
|
|
|
03.07.2018, 14:33
|
#399
|
Я тут недавно
Регистрация: 29.06.2018
Адрес: львов
Сообщений: 24
Поблагодарил(а) : 2
Поблагодарили 2 раз(а) в 2 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
Цитата:
Сообщение от kolljj
|
"МММ"- знакомая фирма, из каких годов?
|
|
|
04.07.2018, 15:32
|
#400
|
Я тут недавно
Регистрация: 29.06.2018
Адрес: львов
Сообщений: 24
Поблагодарил(а) : 2
Поблагодарили 2 раз(а) в 2 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
Что-то у меня инициализация дисплея не проходит. Верхний ряд сплошние квадрати. При тестовом скетче дисплей работает нормально. Правда HEX залит без затирания bootloadera и дисплей 1602 но логи проходят- значит прошивка работает. Стремно покупать LCD 2004 и затирать bootloader если изначально на минималке не стартует. Подскажите кто в теме.
|
|
|
04.07.2018, 17:55
|
#401
|
Живу я тут
Регистрация: 31.07.2010
Адрес: Белоруссия, Гомель
Сообщений: 412
Поблагодарил(а) : 38
Поблагодарили 191 раз(а) в 86 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
Цитата:
Сообщение от Oleksandr54
Что-то у меня инициализация дисплея не проходит. Верхний ряд сплошние квадрати. При тестовом скетче дисплей работает нормально. Правда HEX залит без затирания bootloadera и дисплей 1602 но логи проходят- значит прошивка работает. Стремно покупать LCD 2004 и затирать bootloader если изначально на минималке не стартует. Подскажите кто в теме.
|
Спикер подключен? При инициализации дисплея необходимо что бы на шине висел только он один. Я не знаю как вы прошивали свою ардуино, но без затирания bootloadera она не должна была прошиться корректно. Как вы шили через USB или через ICSP? Что еще за тестовый скетч? =)
Последний раз редактировалось AquaGomel; 04.07.2018 в 21:27..
|
|
|
04.07.2018, 19:22
|
#402
|
Живу я тут
Регистрация: 11.12.2011
Адрес: Москва
Сообщений: 112
Поблагодарил(а) : 14
Поблагодарили 15 раз(а) в 13 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
Цитата:
Сообщение от Oleksandr54
Что-то у меня инициализация дисплея не проходит. Верхний ряд сплошние квадрати. При тестовом скетче дисплей работает нормально. Правда HEX залит без затирания bootloadera и дисплей 1602 но логи проходят- значит прошивка работает. Стремно покупать LCD 2004 и затирать bootloader если изначально на минималке не стартует. Подскажите кто в теме.
|
В дисплеях 1602 и 2004 разная адресация памяти. Не думаю, что они взаимозаменяемые...
|
|
|
04.07.2018, 22:16
|
#403
|
Я тут недавно
Регистрация: 29.06.2018
Адрес: львов
Сообщений: 24
Поблагодарил(а) : 2
Поблагодарили 2 раз(а) в 2 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
Спикер пока не подключал. При инициализации дисплея на шине висел только он один (LCD1602 + ESP (NodeMCU)). Прошивал ардуино, но без затирания bootloadera через USB. Тестовий скетч: Для того чтоби проверить исправность дисплея, исправность I2C LCD adapterа, правильность пайки (без соплей) и правильность подключения к шине I2C. Загрузил в Arduino IDE библиотеку LiquidCrystal_I2C.h, потом в примерах для LiquidCrystal_I2C вибрал скеч например: Hello, world!. Пробовал ставить в скетче разние дисплеи: 16х2, 20х4 - на дисплее надписи появляются коректно. Менял даже адреса с 0x27 на 0x20 с перепайкой на I2C LCD adaptere - все работает.
В дисплеях 1602 и 2004 разная адресация памяти но библиотеки работают корректно, тут скорей проблема именно с инициализацией. Дисплей что подключен к I2C, что нет- отображается одинаково (весь верхний ряд заполнен пикселями). Может кто может залить прошивку через USB без затирания bootloadera,и посмотреть будет ли инициализироваться дисплей (отображаться цифри), не хочу испортить Arduino напрасно без гарантии что с прошивкой через ICSP будет все нормально.
P.S. читал где то на форумах что била прошивка LITE, может у кого осталась? Уже купил джойстик-деваться некуда
Последний раз редактировалось Oleksandr54; 04.07.2018 в 22:34..
|
|
|
05.07.2018, 09:59
|
#404
|
Живу я тут
Регистрация: 31.07.2010
Адрес: Белоруссия, Гомель
Сообщений: 412
Поблагодарил(а) : 38
Поблагодарили 191 раз(а) в 86 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
Цитата:
Сообщение от Oleksandr54
Спикер пока не подключал. При инициализации дисплея на шине висел только он один (LCD1602 + ESP (NodeMCU)). Прошивал ардуино, но без затирания bootloadera через USB. Тестовий скетч: Для того чтоби проверить исправность дисплея, исправность I2C LCD adapterа, правильность пайки (без соплей) и правильность подключения к шине I2C. Загрузил в Arduino IDE библиотеку LiquidCrystal_I2C.h, потом в примерах для LiquidCrystal_I2C вибрал скеч например: Hello, world!. Пробовал ставить в скетче разние дисплеи: 16х2, 20х4 - на дисплее надписи появляются коректно. Менял даже адреса с 0x27 на 0x20 с перепайкой на I2C LCD adaptere - все работает.
В дисплеях 1602 и 2004 разная адресация памяти но библиотеки работают корректно, тут скорей проблема именно с инициализацией. Дисплей что подключен к I2C, что нет- отображается одинаково (весь верхний ряд заполнен пикселями). Может кто может залить прошивку через USB без затирания bootloadera,и посмотреть будет ли инициализироваться дисплей (отображаться цифри), не хочу испортить Arduino напрасно без гарантии что с прошивкой через ICSP будет все нормально.
P.S. читал где то на форумах что била прошивка LITE, может у кого осталась? Уже купил джойстик-деваться некуда
|
Никто не может... Легковесные прошивки более не поддерживаются. Я вам ясно написал что шить нужно через ICSP программатором. Так называемые вами "тестовые прошивки" используют зашитый адрес в них адрес, в прошивке контроллера идет унифицированный код для поиска устройства на шине. Подключите спикер к устройству. Он сигнализирует об ошибках при старте.
|
|
|
05.07.2018, 10:21
|
#405
|
Я тут недавно
Регистрация: 29.06.2018
Адрес: львов
Сообщений: 24
Поблагодарил(а) : 2
Поблагодарили 2 раз(а) в 2 сообщениях
|
Re: AquaController ===www.aquaforum.ua===
OK. Тада приеду с командировки, куплю кварцевий резонатор 16 Mгц для Atmega 328 (не Arduino) дисплей 2004 и займусь вплотную.
P.S. бубен тоже куплю на всякий случай...
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Текущее время: 04:52. Часовой пояс GMT +3.
|