Показати повну версію : AquaController
AquaGomel
06.01.2017, 11:47
http://www.aquaforum.ua/picture.php?albumid=17117&pictureid=242797&thumb=0 ('http://www.aquaforum.ua/picture.php?albumid=17117&pictureid=242797') http://www.aquaforum.ua/picture.php?albumid=17117&pictureid=242798&thumb=0 ('http://www.aquaforum.ua/picture.php?albumid=17117&pictureid=242798')
Уважаемые аквариумисты, хочется поделиться информацией и опытом по созданию умной "железяки" аквариумного контроллера. За последние несколько лет развитие одно платных компьютеров и им подобных шагнуло далеко в перед. Если ранее нужно было сидеть с паяльником травить лудить и вообще обладать не дюжими знаниями в области радиоэлектроники и программирования, то на текущий момент все это упростилось на столько что появилась возможность и желание сделать все самому. А посему, сею тему буду развивать и поддерживать в силу свободного времени и развития проекта...
Основные экраны
https://www.aquaforum.ua/picture.php?albumid=17117&pictureid=266714&thumb=1 ('https://www.aquaforum.ua/picture.php?albumid=17117&pictureid=266714') https://www.aquaforum.ua/picture.php?albumid=17117&pictureid=266716&thumb=1 ('https://www.aquaforum.ua/picture.php?albumid=17117&pictureid=266716') https://www.aquaforum.ua/picture.php?albumid=17117&pictureid=266720&thumb=1 ('https://www.aquaforum.ua/picture.php?albumid=17117&pictureid=266720') https://www.aquaforum.ua/picture.php?albumid=17117&pictureid=266717&thumb=1 ('https://www.aquaforum.ua/picture.php?albumid=17117&pictureid=266717') https://www.aquaforum.ua/picture.php?albumid=17117&pictureid=266718&thumb=1 ('https://www.aquaforum.ua/picture.php?albumid=17117&pictureid=266718') https://www.aquaforum.ua/picture.php?albumid=17117&pictureid=266719&thumb=1 ('https://www.aquaforum.ua/picture.php?albumid=17117&pictureid=266719') https://www.aquaforum.ua/picture.php?albumid=17117&pictureid=266721&thumb=1 ('https://www.aquaforum.ua/picture.php?albumid=17117&pictureid=266721')
Печатные платы
Рекомендуется использовать готовые платы для сборки контроллера и силовой части:
http://www.aquaforum.ua/picture.php?albumid=17117&pictureid=249944&thumb=1 ('http://www.aquaforum.ua/picture.php?albumid=17117&pictureid=249944') http://www.aquaforum.ua/picture.php?albumid=17117&pictureid=249943&thumb=1 ('http://www.aquaforum.ua/picture.php?albumid=17117&pictureid=249943') http://www.aquaforum.ua/picture.php?albumid=17117&pictureid=249945&thumb=1 ('http://www.aquaforum.ua/picture.php?albumid=17117&pictureid=249945') http://www.aquaforum.ua/picture.php?albumid=17117&pictureid=249947&thumb=1 ('http://www.aquaforum.ua/picture.php?albumid=17117&pictureid=249947') http://www.aquaforum.ua/picture.php?albumid=17117&pictureid=249946&thumb=1 ('http://www.aquaforum.ua/picture.php?albumid=17117&pictureid=249946')
Контроллер выполнен в виде нескольких функционально законченных блоков. Данный контроллер построен на платформе Arduino Nano на микроконтроллере ATmega328. Основной упор при разработке делался на дешевизну проекта, поэтому использовались простые комплектующие без сенсорных экранов и прочих излишеств. За исходный функционал брался контроллер Юсупова, а так же меню и экраны управления были взяты по примеру этого контроллера. За исключением собственного функционала.
Принципиальная схема
Для тех кто хочет собрать на макетке.
https://www.aquaforum.ua/picture.php?albumid=17117&pictureid=266713&thumb=1 ('https://www.aquaforum.ua/picture.php?albumid=17117&pictureid=266713')
Комплектующие:
Мозги: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 минут (временное отключение фильтра).
• Функция слежения и оповещения за уровнем воды (перелив).
Мобильный клиент.
http://www.aquaforum.ua/picture.php?albumid=17117&pictureid=249393&thumb=1 ('http://www.aquaforum.ua/picture.php?albumid=17117&pictureid=249393') http://www.aquaforum.ua/picture.php?albumid=17117&pictureid=249394&thumb=1 ('http://www.aquaforum.ua/picture.php?albumid=17117&pictureid=249394') http://www.aquaforum.ua/picture.php?albumid=17117&pictureid=249396&thumb=1 ('http://www.aquaforum.ua/picture.php?albumid=17117&pictureid=249396') http://www.aquaforum.ua/picture.php?albumid=17117&pictureid=249395&thumb=1 ('http://www.aquaforum.ua/picture.php?albumid=17117&pictureid=249395') http://www.aquaforum.ua/picture.php?albumid=17117&pictureid=249397&thumb=1 ('http://www.aquaforum.ua/picture.php?albumid=17117&pictureid=249397')
Скачать можно по ссылке:
http://www.aquaforum.ua/attachment.php?attachmentid=624727&thumb=1 ('https://play.google.com/store/apps/details?id=com.aerosoft.aquacontroller')
Также пишется документация по работе с устройством его сборке и прошивке... Полная документация (http://aquacontroller.ru)
Что из этого можно будет потрогать руками?
Практически все. Все материалы по плате, схема, разводки, 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 (подключение датчика уровня воды)
Для чего это?code52
Да на форуме много тем с различными проектами аквариумной автоматики, данное устройство не претендует на какую-то оригинальность, делалось под себя, и возможно кому-то понравится данный проект... На все вопросы с удовольствием отвечу, все советы с удовольствием выслушаю...
Альтернативный источник скачивания: https://1drv.ms/f/s!AtUQdsFO3hWIgYMbwP45VuvP0xUTUA
Исходники прошивок
Все исходники доступны под MIT License по адресу: https://bitbucket.org/account/user/idealunch/projects/AQ
Последняя актуальная версия 1.3.9
- Обновлен протокол передачи данных до версии 0.6 (см. документацию)
- Добавлены уведомления о протечке (низком уровне) воды на удаленном клиенте. По умолчанию выключены.
- Добавлена возможность автоматического обновления прошивок удаленно с сервера. Данная функция настраивается только через удаленный клиент.
По умолчанию выключена.
-Добавлено кеширования основных настроек на модуле связи для ускорения подключения клиента к контроллеру.
Готовые решения
Итоговый вариант.
https://www.aquaforum.ua/attachment.php?attachmentid=641157&thumb=1 ('https://www.aquaforum.ua/attachment.php?attachmentid=641157') https://www.aquaforum.ua/attachment.php?attachmentid=641158&thumb=1 ('https://www.aquaforum.ua/attachment.php?attachmentid=641158')
AndrewUh
06.01.2017, 14:01
Датчик температуры какой, DS18B20?
AquaGomel
06.01.2017, 14:18
Датчик температуры какой, DS18B20?
Поддерживаемые датчики:
DS18B20
DS1822
DS1820
DS18S20 (не рекомендуется)
Используется мной DS18B20.
AndrewUh
06.01.2017, 14:48
Тогда откуда такая точность измерения (0,01) при погрешности датчика 0,5?
Я понимаю еще ds18s20. Там при считывании поправочных коэф. можно добиться точности 0,1 - но это все!
AquaGomel
06.01.2017, 14:58
Тогда откуда такая точность измерения (0,01) при погрешности датчика 0,5?
Я понимаю еще ds18s20. Там при считывании поправочных коэф. можно добиться точности 0,1 - но это все!
Вы правы, думал об одном писал о другом... Речь конечно же не о точности а о разрешении...
Спасибо за труд!
Судя по схеме индикатор на квадратной шине - нужно это учитывать.
Отдайте один порт на клавиатуру - пригодится.
На чем написано приложение для Андроид?
Имхо.
AquaGomel
06.01.2017, 17:18
Спасибо за труд!
Судя по схеме индикатор на квадратной шине - нужно это учитывать.
Отдайте один порт на клавиатуру - пригодится.
На чем написано приложение для Андроид?
Имхо.
Софт пишется на Java в Android Studio, по поводу клавиатуры и индикатора немного не понял...
RozarioAgro
06.01.2017, 20:54
AquaGomel, толковая штука, какая стоимость готового блока на 4 силовых канала? У меня есть похожее решение за 40$, кроме температурных датчика (2 шт), можно подключать вентиляторы с программной регулировкой, отдельный таймер на 12В, выход под датчик уровня воды и универсальное питание 12-48В.
AquaGomel
06.01.2017, 21:14
AquaGomel, толковая штука, какая стоимость готового блока на 4 силовых канала? У меня есть похожее решение за 40$, кроме температурных датчика (2 шт), можно подключать вентиляторы с программной регулировкой, отдельный таймер на 12В, выход под датчик уровня воды и универсальное питание 12-48В.
Давайте прикинем: Сама ардуинка 2-2.5$, ds3231 <1$, само изготовление платы где-то 2$ шт, ESP8266-07 чуть больше 2$, датчики температуры 0.8$ шт. Экран 4$, кондеры и сопротивлюхи хз, я брал сразу по 100 шт., лень считать ну пусть еще 1$ и 1$ на контакты и пучок готовых соединительных проводов, силовая часть готовый блок реле на 4х - 2$ все везлось с Aliexpress. Итого внутрянка без корпуса и клемм и блока питания обойдется где-то 12-13$ ну пусть 15$ может что забыл. Это в расчете на партию в 10 шт. Функционал ограничен только размером скетча, который на текущий момент уже занимает 98% свободного места. Можно извернуться и шить программатором получив еще заветных дополнительных 2-3 кб тогда можно дописать еще функционал на вентиляторы и датчик воды. Но такой цели я пока не ставлю.
AquaGomel, если возможно, можете рассказать тут или в личке по поводу прошивки ЕСР. Через какой протокол общаются устройства? Хочу тоже сделать управление через WiFi, но уровень знаний в этой области пока мал, смотрю пока в сторону UDP.
Функционал ограничен только размером скетча, который на текущий момент уже занимает 98% свободного места. Можно извернуться и шить программатором получив еще заветных дополнительных 2-3 кб тогда можно дописать еще функционал на вентиляторы и датчик воды. Но такой цели я пока не ставлю.
Я когда свой скетч писал, у меня оперативка кончилась :)
В итоге после прочтения хорошей книги по С, переписал и освободил 30% оперативки. Возможно есть ещё места экономии.
AquaGomel
08.01.2017, 15:45
AquaGomel, если возможно, можете рассказать тут или в личке по поводу прошивки ЕСР. Через какой протокол общаются устройства? Хочу тоже сделать управление через WiFi, но уровень знаний в этой области пока мал, смотрю пока в сторону UDP.
Собственно прошивается ESP так же как и ардуинка, в нете куча инфы как добавить поддержку в Arduino IDE. Устройства общаются по средствам UART на схеме есть шина связи. Протокол данных свой собственный основан на json, есть готовые библиотеки по работе с ним, но готовитесь отдать от 6 кб места под скетч и от 200 байт оперативы. UDP для этого самый правильный протокол, можно еще TCP, но лично мне не подошел... Если будут более подробные вопросы спрашивайте...
Привет скажи что необходимо для продвижения твоего проекта в жизнь( я хочу попробовать сделать 3-5 штук для продажи--если пойдёт--50\50 мне схема полностью надо -прошивка и тд --условия твои--пиши пообщяемся мой адрес mokretsov.iury@yandex.ua жду ответа Юрий Васильевич
AquaGomel
08.01.2017, 18:49
Привет скажи что необходимо для продвижения твоего проекта в жизнь( я хочу попробовать сделать 3-5 штук для продажи--если пойдёт--50\50 мне схема полностью надо -прошивка и тд --условия твои--пиши пообщяемся мой адрес mokretsov.iury@yandex.ua жду ответа Юрий Васильевич
Схему и gerber файлы я выложу чуть позже сейчас там есть момент один нужно подправить. Прошивку для Arduino и ESP я так же выложу после обкатки их в реальных условиях. Сейчас я жду когда приеду танталовые конденсаторы, чтобы окончательно спаять и собрать девайс в "коробку", после этого начнется тест. Так что как минимум каждый сможет воспроизвести себе такой-же девайс абсолютно бесплатно. Если понравится и захочется исходников то все обсуждаемо в личке. code33
Спасибо Будем ждать--УДАЧИ
Отличный бюджетный контроллер да еще и с мобильным клиентом ))))
AquaGomel
11.01.2017, 08:35
Отличный бюджетный контроллер да еще и с мобильным клиентом ))))
Спасибо, сейчас как раз таки клиент и доделываю...
AquaGomel
13.01.2017, 09:04
Добавил схему и файлы печатной платы, чуть позже Gerber закину...
AquaGomel
13.01.2017, 09:36
*dsn будет? code33 Я не волшебник я только учусь, так что расшифруйте пожалуйста, что должно быть? Gerber в шапке.
Файл протеуса. Или не пользуетесь для отладки?
AquaGomel
13.01.2017, 09:59
Файл протеуса. Или не пользуетесь для отладки?
Нет не пользуюсь, я сразу купил 3 ардуинки, осталась одна, как спалю последнюю начну пользоваться))) Или еще 3 куплю...
AquaGomel
18.01.2017, 15:56
Пока жду последнюю комплектуху, накидал модельку платы, ценности особой в разработке не имеет, ну если только прикинуть как крепить и.т.п. А покрутить прикольно...code44
AquaGomel, вы не думали что разъём Х2 будет мешать подключению через мини-юсб?
Я у себя вобще сделал в корпусе отверстие и не разбирая подключаю его к юсб.
AquaGomel
18.01.2017, 19:31
AquaGomel, вы не думали что разъём Х2 будет мешать подключению через мини-юсб?
Я у себя вобще сделал в корпусе отверстие и не разбирая подключаю его к юсб.
USB у меня используется только в момент прошивки, причем прошиваются мозги без установки в плату. Все питание только внешнее 5v700mA блоки, ну и ESP8266 через ams1117 3.3V, И если уж встанет такая необходимость воткнуть шнурок, для снятия лога или еще для чего, то под разъемом все контакты неиспользуемые, поэтому все подключается свободно. А вообще в планах было сделать на mini без всяких USB, но пока будет на nano, так сказать сначала обкатать нужно на более простом девайсе, а потом займемся минимизацией и удешевлением code44
AquaGomel, я свою постоянно перепрошиваю, потому что нет пределу совершенству :)
AquaGomel
02.02.2017, 12:32
Блин как же долго идет из Китая комплектуха! Пока набросал документацию по протоколу передачи данных между клиентом и устройством. Буду пока жду дальше документацию оформлять.
AquaGomel
16.02.2017, 18:33
Собственно сегодня закончил со сборкой, а так же пробно упаковал все в корпус. Получилось не очень. Сразу вылезло пару косяков. Когда заказывал корпус, расстраивался что он не весь железный, как же я радуюсь теперь что резать пришлось пластик а не металл. В домашних условиях вырезать ровно просто не реально, а по сему, следующий корпус закажу лазерную резку. Бо в ручную получилось "топорно". Но как для себя то сойдет. Второе, когда делал расстановку деталей не учел что нужно крепить внутренние детали силовой части, управления и.т.п. Поэтому пришлось приклеивать... В общем 80% времени занимает работа с корпусом. Получилось вот так:
Силовой блок:
http://www.aquaforum.ua/attachment.php?attachmentid=582908&thumb=1 ('http://www.aquaforum.ua/attachment.php?attachmentid=582908') http://www.aquaforum.ua/attachment.php?attachmentid=582909&thumb=1 ('http://www.aquaforum.ua/attachment.php?attachmentid=582909')
Сам контроллер:
http://www.aquaforum.ua/attachment.php?attachmentid=582910&thumb=1 ('http://www.aquaforum.ua/attachment.php?attachmentid=582910') http://www.aquaforum.ua/attachment.php?attachmentid=582911&thumb=1 ('http://www.aquaforum.ua/attachment.php?attachmentid=582911')
В сборе:
http://www.aquaforum.ua/attachment.php?attachmentid=582913&thumb=1 ('http://www.aquaforum.ua/attachment.php?attachmentid=582913') http://www.aquaforum.ua/attachment.php?attachmentid=582914&thumb=1 ('http://www.aquaforum.ua/attachment.php?attachmentid=582914')
Вот как-то так. Сейчас будет тест всех режимов работы на небольшой банке. Затем придется немного повозиться еще с прошивкой модуля связи. Ну а потом выложу для всех желающих материалы для повторения, еже-ли будут такие...:)
AquaGomel, смотрится весьма серьёзно :)
Больше похоже на сложную технику СССР, чем на простой акваконтроллер :)
желания перейти на твердотельные реле не появилось? Меня немного напрягает когда клацает реле? И для обогревателя дополнительные залипающие контакты не очень, сам наступил на эти грабли и уже получил твердотельные...
Pro100LED
17.02.2017, 14:27
AquaGomel, добротно вышло. Вы говорили про стоимость такого аппарата в районе 15$ без корпуса, куда нести деньги?
ТС написал что работа с корпусом 80% от всего
15 получается всего в изделии 20%
тогда все изделие 75
хотя это еще дешево--за прототип
Pro100LED
18.02.2017, 01:17
Вы что то путаете, не может такой контролер стоить 75 баксов, на форуме есть за 40 с более расширенным функционалом чем у автора темы.
Ещё учтите, что цена названная ТС, скорее всего себестоимость комплектующих без " умственной и физической работы"
Сергій М
18.02.2017, 16:08
Arduino, разве что итальянский оригинал, и то никак не дотянет ...
Стоимость любого из комплектующих около 2-х $ на Алиэкспрессе, разве что блок реле около 10$. Поэтому разом не более 20$.
Про "умственную" работу - не спорю. Мне тут на Мегу 2560 прошивку предлагали - просили 70$ только за саму прошивку, причём весь "бутерброд" (мега+шилд+тач.скрин экран) стоит всего 23$.
А физической там на 15 мин. работы.
Сергій М, Вы не внимательны!
AquaGomel, добротно вышло. Вы говорили про стоимость такого аппарата в районе 15$ без корпуса, куда нести деньги?
Вот я и написал что это скорее всего просто себестоимость. Причём тут итальянская ардуина?
Во вторых, вы на 2560 не просто же таймер хотели прошить? Скорее всего довольно сложную прошивку, которая пишется и дорабатывается 3-4 месяца минимум. Умножите работу программиста на 2-3 месяца и подумайте сколько выходит?
В месяц где то 600 баксов * 2 месяца = 1200 баксов = 32400 грн. Покупателей не так много, поэтому затраты делятся между ними.
Чип стоит 2 бакса, а программы которые могут там работать тысячи долларов. Вас это удивляет?
Вы мне двигатель автомобиля за 200 грн переберёте? Наверное нет, потому что там много работы, почему вы думаете что её тут мало или кто то хочет работать бесплатно?
Сергій М
18.02.2017, 22:38
Arduino, Да,я хотел не просто таймер, но таких прошивок много, и даже бесплатных, даже на нашем форуме несколько.
А насчёт невнимательности - это уже к Вам, прозвучала вероятная цена готового изделия в 75$, а Вы:
скорее всего себестоимость комплектующих
именно это и повлияло на написанное мной.
AquaGomel
19.02.2017, 13:40
AquaGomel
желания перейти на твердотельные реле не появилось? Меня немного напрягает когда клацает реле?
Если честно то есть такое желание, и связано оно прежде всего с качеством китайского реле, которое бьет искру при срабатывании, что вызывает перезагрузку контроллера по линии питания...
ТС написал что работа с корпусом 80% от всего
15 получается всего в изделии 20%
тогда все изделие 75
хотя это еще дешево--за прототип
Вы путаете мое время и ваши деньги))) 80% работа по сборке а не по изготовлении и тем более по стоимости...
Ещё учтите, что цена названная ТС, скорее всего себестоимость комплектующих без " умственной и физической работы"Я цен не называл. Я называл себестоимость комплектующих для изготовления самого контроллера, без установки в корпус и силовой части...
Далее я уже писал что прошивку и прочую информацию выложу всю бесплатно, останется только взять в руки паяльник и сделать. Так что каждый сможет посчитать стоимость своего изделия ))))
AquaGomel
24.02.2017, 10:53
Столкнулся с проблемой "искры" на электромагнитном реле, особенно чувствуется на фильтрах и компрессорах из-за самоиндукции на обмотках,с помехоустойчивостью у ардуинки совсем плохо... Думал отдельно запитать реле, не от платы а сразу от источника питания, не помогает. Походу фонит эта китайская поделка не кисло. Заказал твердотельное реле, посмотрим что получиться... Век живи век учись...
AquaGomel, bt139 - Вам в помощь )))))
AndrewUh
27.02.2017, 07:31
AquaGomel, bt139 - Вам в помощь )))))
+1
И места займет меньше, если постараться, чем эта щелкающая и залипающая китайская фигня!
AquaGomel
12.03.2017, 20:41
Обнаружилась очередная ошибка в схеме ПП... RX и TX перепутаны местами. После исправления выложу правильную файл ПП. Приношу извинения. Обнаружил только после сборки.
AquaGomel
21.03.2017, 10:21
Сегодня приехало мое твердотельное реле, заменил электромагнитною дребезжалку. Все работает как часы!!! Теперь разрабатываю отдельно силовую плату на bt139. Эх... Знал бы заранее, сделал бы все сразу... теперь опять детали заказывать опять ждать...
mashenkaM
21.03.2017, 11:38
у меня тоже приехало два твердотельных, одно получилось 33 грн.
А если брать по 10 шт, то получится:
bt139 - 9 грн.
moc moc3041 - 5 грн.
обвязка - 1 грн.
Плата - сколько получится.
Но всё же получается около 15 грн, вместо 32 грн и всё можно разместить на одной плате.
P.S. Вы меня тоже совратили, буду заказывать комплектующие, правда мне нужно всего 2-3 комплекта, а 7 как всегда осядет мёртвым грузом :)
AquaGomel
21.03.2017, 12:20
у меня тоже приехало два твердотельных, одно получилось 33 грн.
А если брать по 10 шт, то получится:
bt139 - 9 грн.
moc moc3041 - 5 грн.
обвязка - 1 грн.
Плата - сколько получится.
Но всё же получается около 15 грн, вместо 32 грн и всё можно разместить на одной плате.
P.S. Вы меня тоже совратили, буду заказывать комплектующие, правда мне нужно всего 2-3 комплекта, а 7 как всегда осядет мёртвым грузом :)
Проблема не в цене (хотя у меня твердотельник на 8 каналов в 10$ обошолся) а в компановке, при изготовлении своей собственной силовой платы,есть возможность сделать ее соразмерной плате контроллера, и посадить на те же крепления, что бы получился сендвич + я планирую продублировать на силовой плате контактные группы чтобы можно было пробросить их на силовую и к ней уже подключать переферию. Про заказ комплектующих, не много не понял. Если вы про мой проект, то погодите хотя бы несколько неделек, я пока тестирую прошивку + в схеме нужны несколько правок, схема будет полностью на SMD, так как нужно место для спикера.
mashenkaM
21.03.2017, 12:28
AquaGomel, не у меня своих планов навалом на ESP8266 12Е
AquaGomel
24.03.2017, 13:34
Обновил в шапке схему, саму схему печатной платы залью чуток попозже. Надо еще раз все проверить что бы не было конфуза опять (((...
AquaGomel, Я могу ошибаться, но зачем на каждый датчик температуры свой резистор? У меня один на все.
mashenkaM
24.03.2017, 15:24
AquaGomel, sae74 тоже самое кинулось в глаза, там именно один и нужен.
AquaGomel, Я смотрю Вы меня разыгрываете :) У вас же все датчики температуры висят на одно выходе, значить тоже обращение через адреса, и просто так вытыкнуть и втыкнуть новый датчик простому пользователю не получится :)
и просто так вытыкнуть и втыкнуть новый датчик простому пользователю не получится
Почему не получится? Если реализован поиск датчиков, а потом в настройке указать какой именно датчик за что отвечает - то пользователю будет удобно.
AquaGomel
24.03.2017, 15:32
AquaGomel, Я могу ошибаться, но зачем на каждый датчик температуры свой резистор? У меня один на все.
Я тоже могу ошибаться, тем более особо не вникал, я читал что связанно с различной длинной провода, но толкового объяснения я не нашел. Хотя везде используется схема как с одним резистом так и с несколькими... А по хорошему я программист, который умеет чуток держать паяльник в руках))) Так что возможно я и не прав...
AquaGomel
24.03.2017, 15:36
AquaGomel, sae74 тоже самое кинулось в глаза, там именно один и нужен.
AquaGomel, Я смотрю Вы меня разыгрываете :) У вас же все датчики температуры висят на одно выходе, значить тоже обращение через адреса, и просто так вытыкнуть и втыкнуть новый датчик простому пользователю не получится :)
Как раз таки нет. Висят то они на одной шине, только кодом я к датчику никак не привязан. Т.е. простой пример: есть у вас 8 произвольных датчиков. Вы все их подключаете. После инициализации, каждый из них займет определенный индекс. И как бы вы потом эти датчики не "тусовали" контроллер всегда будет знать какой номер датчика подключен в любой порт!
Вы можете менять номера датчиков только последовательным подключением и инициализацией.
AquaGomel,
Тогда при замене датчика и новой инициализации придется заново настраивать программу?
AquaGomel
24.03.2017, 15:48
AquaGomel,
Тогда при замене датчика и новой инициализации придется заново настраивать программу?
Если убрать датчик то никаких настроек вообще не получиться с ним сделать. Программа привязана только к индексу датчика а не к его адресу. Если к примеру убрать, один из датчиков то программа для него выполняться не будет. А для остальных ничего не измениться, так как индексы меняются только при при инициализации датчиков. Что будет если произвести инициализацию с новым датчиком? Хм... если не изменятся индексы то все останется работать как прежде. А вот что как определяется порядок назначения индексов библиотекой нужно смотреть, пока не готов ответить... Вопрос хороший.. нужно будет посмотреть если хватит еще места в скетче позаботится что бы замененный датчик становился на место старого...
mashenkaM
24.03.2017, 15:50
Как раз таки нет. Висят то они на одной шине, только кодом я к датчику никак не привязан. Т.е. простой пример: есть у вас 8 произвольных датчиков. Вы все их подключаете. После инициализации, каждый из них займет определенный индекс. И как бы вы потом эти датчики не "тусовали" контроллер всегда будет знать какой номер датчика подключен в любой порт!
Вы можете менять номера датчиков только последовательным подключением и инициализацией.
Да Вы правы, но до первого выключения питания, потому что датчики индексируются каждый раз по разному (рандомно).
AquaGomel
24.03.2017, 15:52
Да Вы правы, но до первого выключения питания, потому что датчики индексируются каждый раз по разному.
Датчики индексируются во-первых по адресу, а во вторых они инициализируются в ручную... После инициализации они сохраняются в EEPROM. И все последующие запуски и перезагрузки, контроллер работает без изменений как с датчиками так и с таймерами...
mashenkaM
24.03.2017, 16:18
Я тоже могу ошибаться, тем более особо не вникал, я читал что связанно с различной длинной провода, но толкового объяснения я не нашел. Хотя везде используется схема как с одним резистом так и с несколькими... А по хорошему я программист, который умеет чуток держать паяльник в руках))) Так что возможно я и не прав...
Данный резистор является подтягивающим и при подключение нескольких датчиков к одному питанию и сигналу нужен только один резистор, иначе несколько будут работать по принципу параллельного подключения и общее сопротивление просто упадёт.
mashenkaM
24.03.2017, 16:39
AquaGomel, правильно ли мы поняли, вы инициализацию прописали у себя в коде программно? То есть идёт сканирование адресов, а вы определяете из списка (щупая каждый за кончик или подключая только один) кокой датчик за что отвечает? В EEPROM вы адреса сохраняете датчиков?
AquaGomel
24.03.2017, 18:13
Данный резистор является подтягивающим и при подключение нескольких датчиков к одному питанию и сигналу нужен только один резистор, иначе несколько будут работать по принципу параллельного подключения и общее сопротивление просто упадёт.
В этом вопросе я спорить не буду, так как моя квалификация не позволяет этого сделать. Возможно вы правы, но я использовал другую схему, если вам больше нравиться один подтягивающий резистор впаивайте тогда его одного к примеру R12.
AquaGomel, правильно ли мы поняли, вы инициализацию прописали у себя в коде программно? То есть идёт сканирование адресов, а вы определяете из списка (щупая каждый за кончик или подключая только один) кокой датчик за что отвечает? В EEPROM вы адреса сохраняете датчиков?
Другой инициализации я не знаю. Да сохраняются адреса, так как опрос самих датчиков делается именно по адресам.
потому что датчики индексируются каждый раз по разному (рандомно)
К счастью нет. Порядок датчиков определяется строго их адресами.
Если убрать датчик то никаких настроек вообще не получиться с ним сделать. Программа привязана только к индексу датчика а не к его адресу. Если к примеру убрать, один из датчиков то программа для него выполняться не будет. А для остальных ничего не измениться, так как индексы меняются только при при инициализации датчиков. Что будет если произвести инициализацию с новым датчиком? Хм... если не изменятся индексы то все останется работать как прежде. А вот что как определяется порядок назначения индексов библиотекой нужно смотреть, пока не готов ответить... Вопрос хороший.. нужно будет посмотреть если хватит еще места в скетче позаботится что бы замененный датчик становился на место старого...
Да к сожалению при подключении нового датчика или замена какого-либо из них, ломает логику работы программ для температурных датчиков, программы продолжат работать но для них могут быть уже другие датчики... так как программы связаны с индексом датчика а не с его реальным адресом. И возникает вопрос. Насколько это существенно? Конечно можно добавить какую-то логику, но как я уже говорил место практически нет... вообщем надо думать...
mashenkaM
24.03.2017, 20:32
AquaGomel, чё там думать я выше раз 5 писала, что для конечного пользователя в широких масах нужно просто подключать один датчик только к одному выходу. Тогда не нужно будет лезть в программу и шить заново.
AquaGomel
24.03.2017, 20:52
AquaGomel, чё там думать я выше раз 5 писала, что для конечного пользователя в широких масах нужно просто подключать один датчик только к одному выходу. Тогда не нужно будет лезть в программу и шить заново.
Я читал ваши 5 раз, только я не совсем понимаю зачем вы так делаете? Я стараюсь сделать универсальное устройство. Вы же предлагаете сделать одноразовое. С таким подходом можно просто сделать торчащий шнур из коробки, без всяких там входов. Я уже объяснял вам 5 раз, что пользователь не должен лазить в прошивку что бы поменять сгоревший датчик. Если вы харкодно забьете адрес подключенного датчика, что потом делать пользователю если возникнет необходимость его поменять? А если добавить еще один? У вас один аквариум, а у кого-то пять! Не вы не я не знаете что нужно массе аквариумистов, поэтому нужно стараться делать универсальные вещи. Советую посмотреть на тот же контроллер Юсупова. Очень универсальная вещь. По поводу выше описанного случая, думаю есть решение. На выходных попробую грамотно закодить его!
mashenkaM
24.03.2017, 21:51
удалить...
mashenkaM
24.03.2017, 22:02
Я читал ваши 5 раз, только я не совсем понимаю зачем вы так делаете? Я стараюсь сделать универсальное устройство. Вы же предлагаете сделать одноразовое.
Поясните пожалуйста что вы имеет в виду под сделать одноразовое?
А то у меня складывается чувство что вы пользуетесь гугл-переводчкиком :)
AquaGomel
25.03.2017, 12:47
Поясняю. Одноразовое, это устройство которое ты выкидываешь когда нет возможности его починить. В случае когда мы программно делаем так что бы у пользователя не было возможности починить это самое устройство, или нужно приложить столько сил и знаний что пользователь не в состоянии это сам сделать. Вы так и не ответили на мои вопросы выше!
mashenkaM
25.03.2017, 13:54
AquaGomel, на какие именно?
У меня создаётся мнение что вы пользуетесь гугл-переводчиком читая мои посты.
6-ой раз писать одно и тоже не охото...
или оформите свою мысль так что бы она была доступна широким массам...
AquaGomel
25.03.2017, 14:19
на какие именно?
Если вы харкодно забьете адрес подключенного датчика, что потом делать пользователю если возникнет необходимость его поменять? А если добавить еще один?
Ну давайте хотя бы на эти?
mashenkaM
25.03.2017, 15:06
AquaGomel, как я писала много раз выше, вбивать хардкорно адреса датчиков можно только для личного использования или для знающих людей. Для продажи или широко распространения эти все вещи необходимо инкапсулировать от пользователя, ему надо только знать что если датчик сгорел, он покупает новый, припаивает к нему разъём и вставляет в разъём где был прошлый.
Я думаю что вы считает именно так, но почему то постоянно задаёте мне этот вопрос.
mashenkaM
25.03.2017, 15:07
Что бы было понятнее вы можете привести отрывок вашего кода работы с датчиками, думаю там нет ни чего секретного, а нам бы было понятнее.
AquaGomel
25.03.2017, 15:28
припаивает к нему разъём и вставляет в разъём где был прошлый Ну в вашем случае еще нужно описать процесс извлечения устройства для его прошивки (и не дай боже устройство стояло не отдельной коробкой а к примеру было встроено в крышку), далее переписывание кода, его прошивка, настройка устройства заново, так как EEPROM естественно очищается, ну и монтаж девайса в корпус... Даже для себя и для знающих людей, не тяжеловато? Может все же сделать универсальную замену датчиков?Нет?
но почему то постоянно задаёте мне этот вопрос
Насколько я понял вас вы же и предлагаете сделать так как я описал выше, поэтому я стараюсь донести до вас свою мысль, что это не правильно. Но вы по прежнему со мной не соглашаетесь.
Что бы было понятнее
А что именно непонятно? Я же очень подробно описал процесс работы и замены датчиков.
думаю там нет ни чего секретного
Там действительно нет ничего секретного, в интернете полно примеров как работать с датчиками температуры. Но к сожалению рассматривая не один проект я натыкаюсь на одно и то же. Люди берут эти примеры, даже не разбираясь как это работает, даже не пытаясь улучшить их, добавить универсальности при работе. Не говоря уже о каких-то краевых условиях.
AndrewUh
25.03.2017, 19:45
AquaGomel, ...а вы определяете из списка щупая каждый за кончик...
Кстати, тоже неплохой вариант. Не так часто это необходимо делать. Я уже забыл, когда у себя датчик менял.
mashenkaM
25.03.2017, 21:03
AquaGomel, с чего бы при заливки скетча EEPROM очищаться?
Во вторых хоть датчики и висят на одном выходе, то это всё внутри корпуса, внешне это отдельные 3.5 выходы. И лично у меня в корпусе есть отверстие куда вставляется юсб шнурок ну и ноутбук придумали давно :)
mashenkaM
25.03.2017, 21:07
AquaGomel, я писала новую библиотеку, потому что delay() который используется почти везде и даже в даласе убивает весь смысла реал тайма.
AquaGomel
25.03.2017, 23:05
с чего бы при заливки скетча EEPROM очищаться? При прошивке из Arduino IDE он конечно не очищается. Но это как раз таки и есть плохо. Конечно можно его оставлять от прошлой версии прошивки понадеявшись на авось. Но это не мой случай.
И лично у меня в корпусе есть отверстие куда вставляется юсб шнурок ну и ноутбук придумали давно
Ну что же это все хорошо, но если вспомнить что устройство разрабатывается не для программистов а для аквариумистов, мне ваш подход не понятен. Хоть если исходить из ситуации, что делается проект сугубо для себя, то можно вообще писать весь проект под фразу "и так сойдет...
внешне это отдельные 3.5 выходы" Мой вам совет использовать все же USB разъемы.
Не так часто это необходимо делать. Я к стати так же думал. Но все же согласитесь было бы приятнее если бы при замене датчика не сбивалась программа для всех остальных.
mashenkaM
26.03.2017, 00:15
Ну что же это все хорошо, но если вспомнить что устройство разрабатывается не для программистов а для аквариумистов, мне ваш подход не понятен. Хоть если исходить из ситуации, что делается проект сугубо для себя, то можно вообще писать весь проект под фразу "и так сойдет...
" Мой вам совет использовать все же USB разъемы.
Я пишу свою программу именно для себя, под свои нужды и так как удобно мне в плане конфигурации и тому подобное, это совсем не значить что это И ТАК СОЙДЁТ.
Писать для всех обычно дело не благодарное и всем не угодишь :)
За USB спасибо, но у меня миниджеки встраиваемые в панель, мне так удобнее в данном случае, но буду иметь в виду...
mashenkaM
26.03.2017, 00:20
При прошивке из Arduino IDE он конечно не очищается. Но это как раз таки и есть плохо. Конечно можно его оставлять от прошлой версии прошивки понадеявшись на авось. Но это не мой случай.
я бы сказал что это наоборот хорошо, при изменение прошивки не слетают настройки. Я понимаю что начальные настройки можно прописать в инициализации, но как вы говорите то что нравится вам, может не устроить других, и тогда им придётся настраивать все пункты заново, а это бесит. :)
НО если вы что то изменили в адресации памяти, то тут в любой случае нужно производить инициализацию.
mashenkaM
26.03.2017, 00:26
AquaGomel, мы так и не поняли, вы кричите про универсальность и простоту, но сами повесили 4 датчика на один провод, что явно не универсальность и простота. Или вы это как то решили программно?
Один из ваших датчиков можно просто заменить физически и программа будет работать корректно?
AquaGomel
26.03.2017, 09:25
AquaGomel, мы так и не поняли, вы кричите про универсальность и простоту, но сами повесили 4 датчика на один провод, что явно не универсальность и простота. Или вы это как то решили программно?
Где я такое написал? Все 4 датчика висят на своих проводах. Если вы смотрели схему то там как раз 4 выхода для каждого свой датчик.
Один из ваших датчиков можно просто заменить физически и программа будет работать корректно?
Да именно так, я стараюсь сейчас написать код что бы была именно такая логика.
AndrewUh
26.03.2017, 13:28
Я к стати так же думал. Но все же согласитесь было бы приятнее если бы при замене датчика не сбивалась программа для всех остальных.
У меня все через меню: при инициализации всех датчиков я каждому присваиваю назначение. В результате, в массиве с адресами (индивидуальными для каждого датчика) имеется указатель назначения. Если какой-то датчик заменяешь или отключаешь, то при следующей инициализации он исключается из массива вместе с назначением, а остальные работают как и раньше.
AquaGomel
26.03.2017, 16:09
У меня все через меню: при инициализации всех датчиков я каждому присваиваю назначение. В результате, в массиве с адресами (индивидуальными для каждого датчика) имеется указатель назначения. Если какой-то датчик заменяешь или отключаешь, то при следующей инициализации он исключается из массива вместе с назначением, а остальные работают как и раньше.
А если к примеру удалить один датчик и вместо него поставить другой новый. И сделать инициализацию. Для нового датчика назначения не будет? А остальные старые так же продолжат работать?
AndrewUh
26.03.2017, 17:06
А если к примеру удалить один датчик и вместо него поставить другой новый. И сделать инициализацию. Для нового датчика назначения не будет? А остальные старые так же продолжат работать?
Это как сделать. Есть два варианта.
Если при инициализации адрес датчика не находишь, то :
1. В массиве удаляешь этот датчик и его назначение. Новый датчик записываешь в массив без назначения (потом можно назначить или сразу);
2. Записываешь на место отсутствующего - новый, сохраняя при этом назначение (этот вариант хорош при замене одного датчика).
AquaGomel
26.03.2017, 17:17
Это как сделать. Есть два варианта.
Если при инициализации адрес датчика не находишь, то :
1. В массиве удаляешь этот датчик и его назначение. Новый датчик записываешь в массив без назначения (потом можно назначить или сразу);
2. Записываешь на место отсутствующего - новый, сохраняя при этом назначение (этот вариант хорош при замене одного датчика).
У меня получилась такая логика: У каждого датчика есть состояние подключен\отключен (зависит от того получается ли с него снять температуру и корректна ли она, что бы если сгорит датчик на нем не выполнялась программа и можно было включить тревогу), далее при инициализации мы ищем все датчики которые отсутствуют сейчас в списке инициализированных. Далее мы ищем старые датчики у которых статус отключен и заменяем их найденными новыми датчиками. Все программы при этом сохраняются и продолжают работать с новыми датчиками. Если заменяется датчик один, то он становиться на место первого отключенного датчика (таким образом поочередной инициализацией мы можем правильно расставить новые датчики не меняя программ для них), если менять сразу несколько датчиков сразу, то они расставляются согласно их адресам. Тогда нужно будет уже в ручную определить какой замененный датчик получил какой номер!
AndrewUh
26.03.2017, 17:29
Можно и так. Я у себя не делал определение неисправности датчика. В случае, если датчик показывает нереальную температуру я получаю смс и могу по телефону скорректировать управление нагревателем или охладителем. Мне этого достаточно. С вашим интерфейсом это должно быть еще проще. От всего все равно не застрахуешься.
mashenkaM
27.03.2017, 00:07
Где я такое написал? Все 4 датчика висят на своих проводах. Если вы смотрели схему то там как раз 4 выхода для каждого свой датчик.
Да именно так, я стараюсь сейчас написать код что бы была именно такая логика.
Смотрю первый Ваш пост, скачиваю файл Schema_v1_1.zip, в нём файл Schema_v1_1.pdf, открываю его и представте себе вижу что все 4 датчика подключены к одному выводу D3.
589004
mashenkaM
27.03.2017, 00:14
AndrewUh, AquaGomel,
с учётом того что в итоге выяснилось что у второго датчики всё таки висят каждый на своём выходе, а не так как она показал всем, то что вы там мудрите с датчиками, любой пример использования таких датчиков предполагает что их можно менять на любой подобный или даже местами и программа будет работать правильно на 100%.
Это если несколько датчиков висят на одном выводе, тогда да, нужны танцы с бубном.
AndrewUh, если у вас тоже все датчики висят отдельно, то зачем вам адреса их?
AquaGomel
27.03.2017, 00:39
AndrewUh, AquaGomel,
с учётом того что в итоге выяснилось что у второго датчики всё таки висят каждый на своём выходе, а не так как она показал всем, то что вы там мудрите с датчиками, любой пример использования таких датчиков предполагает что их можно менять на любой подобный или даже местами и программа будет работать правильно на 100%.
Это если несколько датчиков висят на одном выводе, тогда да, нужны танцы с бубном.
AndrewUh, если у вас тоже все датчики висят отдельно, то зачем вам адреса их?
Мы с вами говорим про разные вещи, я вам говорю про выходы USB для датчиков, вы говорите про цифровые входы выходы ардуино. Естественно что никто отдавать отдельный канал с ардуино под каждый датчик не станет, потому что это глупо. А то что они будут работать если их местами поменять тут никто и не спорит. А вот если поменять сам датчик и при этом в прошивке не предусмотрена возможность установить новый датчик на место старого то ломается логика программ по работе с этими датчиками.
AndrewUh
27.03.2017, 08:34
AndrewUh, если у вас тоже все датчики висят отдельно, то зачем вам адреса их?
У меня все датчики на одном входе. Слишком жирно каждый вешать на свой вход (можно, конечно, расширитель портов поставить, но тут уж каждому свое). У Вас он может один, а у кого-то 8. Если честно, то я не видел еще ни одной схемы, где датчики подключаются каждый к своему входу.
mashenkaM
27.03.2017, 09:21
Мы с вами говорим про разные вещи, я вам говорю про выходы USB для датчиков, вы говорите про цифровые входы выходы ардуино. Естественно что никто отдавать отдельный канал с ардуино под каждый датчик не станет, потому что это глупо. А то что они будут работать если их местами поменять тут никто и не спорит. А вот если поменять сам датчик и при этом в прошивке не предусмотрена возможность установить новый датчик на место старого то ломается логика программ по работе с этими датчиками.
У меня все датчики на одном входе. Слишком жирно каждый вешать на свой вход (можно, конечно, расширитель портов поставить, но тут уж каждому свое). У Вас он может один, а у кого-то 8. Если честно, то я не видел еще ни одной схемы, где датчики подключаются каждый к своему входу.
Вариантов подключения датчиков есть несколько, если вы не знаете или не умеет ими пользоваться и применять в конкретных случаях, то это ваше не понимание темы, у каждого своя задача и количество датчиков и в каждом отдельно случае решается жирно или не жирно. Если вы не видели схем где датчики висят на отдельных выхода, то посмотрите хотя бы примеры и библиотек, глядишь это расширит ваше понимание...
У меня на акваконтроллере задействовано всего 8 цифровых выходов (2 шт - i2c, 2 шт - температурны датчики, 1 шт. - сервопривод, 2 шт. - реле, 1 шт. - светодиодная лента). В нано их 14, ещё куча свободных выходов, так вот тут вершина глупости вешать датчики на один выход, я повесила их на разные и втыкаю любой датчик в любой выход и всё работает отлично и без вашего геморроя.
А по поводу универсальности, это вечная утопия, любой прибор работает лучше когда он заточек под конкретную задачу, если я пишу его под свой аквариум, то он на 100% будет отрабатывать свою функцию, если под аквариум друга, то там другие могут быть задачи и т.д.
Судя по вашим словам вы не собираетесь делать на этом бизнес, поэтому зачем вам эта универсальность что бы угодить всем?
Так же по схеме, 4е резистора на 4х датчиках подключены параллельно, вспоминаем правила параллельного подключения их школьного курса, и получаем что четыре резистора по 4,7к Ом подключённых параллельно дают сопротивление 1,57 к Ом, хотя в схемах подключения чётко указано про 4,7к Ом. То есть схема подключения не правильная.
AndrewUh
27.03.2017, 09:42
Покажите мне хоть одну схему акваконтроллера, где каждый датчик подключается к своему входу. Вы-пока "единственная и неповторимая", а это скорее исключение, чем правило, ИМХО.
И по-спокойнее, про кругозор, понимание и глупости. Вы же не на митинге))
У меня, например, 4шт. -темп., 2 шт - i2c, 3шт.-свет, 1шт. -помпа, 2шт.- UART, 4шт.-дозатор УДО, 5шт. - автодолив, 2шт.- pH, 2шт. - нагрев/охлаждение, 7шт.-LCD, еще кнопки - считать не буду...
AquaGomel
27.03.2017, 10:24
То есть схема подключения не правильная.
Е-мое...А я смотрю что не так то, а схема то не правильная... Значит и датчики не должны работать... А они работают, значит что-то не так!!! Спасибо, будем ломать.
По существу. Постараюсь на этой неделе выложить прошивку. Ее можно попробовать и без платы:
D6 (10), D7(11),D8(12), D9(13), D10(14), D11(15), D12(16), D13(17) - каналы используются для силовой части (реле).
D5(9) - switchPin (кнопка джойстика)
D4(8) - tonePin (канал спикера)
D3(7) - температурные датчики
A0(23), A1(24) - X,Y джойстика
A4(27),A5(28) - I2C шина, используется для подключения экрана и модуля часов.
TDX(31), RDX(30) - UART шина для обмена данных с WiFI модулем
Вот распиновка. Залил в шапку.
mashenkaM
27.03.2017, 10:37
Е-мое...А я смотрю что не так то, а схема то не правильная... Значит и датчики не должны работать... А они работают, значит что-то не так!!! Спасибо, будем ломать.
По существу. Постараюсь на этой неделе выложить прошивку. Ее можно попробовать и без платы:
Вот распиновка. Залил в шапку.
Вы даёте гарантию что схема будет работать у любого человека с любой партией датчиков, там же не идиоты датащиты пишут. Или вы больше знаете чем изготовитель? Вместо литого диска колеса можно деревянный диск поставить на машину - тоже будет ездить, но так же не делают.
mashenkaM
27.03.2017, 10:38
mashenkaM, вас начинает уже заносить, будьте попроще. В следующий раз корона может закатится, так что долго будете искать :).
AndrewUh, прав, выносить датчики на отдельные входы в простых схемах, более чем глупо.
ВОт именно в простых схемах лучше вешать датчики отдельно на каждый выход. Мы как раз получаем лёгкую замену датчика для пользователя, а когда выходов не хватает (будем называть её сложной схемой, надеюсь вам так будет понятнее) там приходится вешать датчики на один вход контроллера.
Для начинающих или для простых пользователей которые будут собирать сами это не оспоримый плюс, старый датчик снял, новый поставил и больше ни каких операций и главное простота кода, не нужно писать ни каких инициализаций и привязок, что вы можете противопоставить такой простоте и удобности?
AndrewUh
27.03.2017, 10:53
ВОт именно в простых схемах лучше вешать датчики отдельно на каждый выход. Мы как раз получаем лёгкую замену датчика для пользователя...
Как часто Вы меняете датчики температуры? Я несколько лет уже не менял, и зачем пользователю такое редкое удобство?
AndrewUh, Вы не правы.
У меня за пол года три датчика сгнили.
А до этого пару лет работали нормально.
mashenkaM
27.03.2017, 10:59
Покажите мне хоть одну схему акваконтроллера, где каждый датчик подключается к своему входу. Вы-пока "единственная и неповторимая", а это скорее исключение, чем правило, ИМХО.
Посмотрите в интернете и вы удивитесь! В той же широко распространнёной Dallas Temperature Library есть реализация такого подключения.
#include <OneWire.h>
#include <DallasTemperature.h>
int oneWirePins[]={3,7};//OneWire DS18x20 temperature sensors on these wires
AquaGomel
27.03.2017, 11:03
что вы можете противопоставить такой простоте и удобности? Малым функционалом. Я уже писал выше что не у всех ваши потребности, кому-то и 8 каналов реле мало, кому-то нужен вспомогательный функционал, доливы, УДО и.т.п.
Вы даёте гарантию code11
Я уже по-моему писал вам выше, но вы не читаете, не нравится 4 сопротивления впаивайте одно любое из 4. В чем проблема?
AndrewUh
27.03.2017, 11:07
AndrewUh, Вы не правы.
У меня за пол года три датчика сгнили.
А до этого пару лет работали нормально.
Ну это проблема не датчиков, а их герметизации. До этого пару лет ведь работали? :)
А если подходить в этому с позиции, что что-то часто ломается, то можно увязнуть. Ничто не вечно!
mashenkaM
27.03.2017, 11:08
Как часто Вы меняете датчики температуры? Я несколько лет уже не менял, и зачем пользователю такое редкое удобство?
Да бывают некачественно сделанная усаженная термоусадка и бывают разные высоты аквариумов, чем ниже датчик, тем больше давление со стороны воды и вероятнее проникновение влаги внутрь. В 20 литрах он будет очень долго жить, а в высоких аквариумах могут жить по пол года, правда тогда уже нужно дополнительно принимать меры по герметичности.
А так же бывают переезды, перестановки, где пользователю необходимо разобрать устройство и ему придётся вытянуть датчики из разъёмов и не факт что он подключит их с первого раза так как это было до этого.
А ещё провод в воде или выше воды может рассохнуться или ещё как то нарушится.
Датчик это расходник и если вы уж собрались делать устройство универсальным и в широкие массы, то нужно делать так что бы замена расходника была наиболее проста для конечного пользователя.
AndrewUh
27.03.2017, 11:11
Датчик это расходник и если вы уж собрались делать устройство универсальным и в широкие массы, то нужно делать так что бы замена расходника была наиболее проста для конечного пользователя.
Вы же вроде для себя делали?
Никогда не покупал готовые китайские "водонепроницаемые" датчики.
Клеевая термоусадка - и нет проблем (у меня, во всяком случае).
AndrewUh
27.03.2017, 11:14
Посмотрите в интернете и вы удивитесь! В той же широко распространнёной Dallas Temperature Library есть реализация такого подключения.
Читайте внимательно: я просил показать схему акваконтроллера, а не библиотеку производителя.
Было бы удивительно, если бы производитель не предусмотрел вожможность использования всего одного датчика в устройстве, тогда и адресация не нужна - это логично. А шина потому и называется "шиной"...
mashenkaM
27.03.2017, 11:25
Ну это проблема не датчиков, а их герметизации. До этого пару лет ведь работали? :)
А если подходить в этому с позиции, что что-то часто ломается, то можно увязнуть. Ничто не вечно!
Вы конечно не поверите, но все современные устройства, а тем более контролеры разрабатываются с учётом максимальной отказоустойчивости.
Люди продумывают всевозможные варианты отказов и их обработки, за это они и ценятся и остаются на рынке. Они не думают, ой ну как это у них не может быть воды и всё равно включают в програму стиральной машины обработку отсутствия воды.
Если вы программировали в языках более высоких чем С/С++, то должны были видеть exception, в том же андроиде их в последнее время вобще куча, практически на каждую возможную ошибку, которая только может возникнуть (нет доступа к файлу, нет свеязи, деление на ноль, не может загрузить файл и т.д.).
Если бы у людей был такой же подход как у Вас, то наши телефоны были висли при первой же микро ошибке, или стиралка стиралка без воды.
mashenkaM
27.03.2017, 11:29
Вы же вроде для себя делали?
Никогда не покупал готовые китайские "водонепроницаемые" датчики.
Клеевая термоусадка - и нет проблем (у меня, во всяком случае).
Я вроде по русски написала слова ВЫ, на Я.
Опять же это Вы так делаете, а другие покупают готовые, та же цена, что и за отдельный датчик.
Поэтому давайте решим, кто для кого и что делает, я так понял вы с AquaGomel позиционируете контроллер для широких масс, а я делаю и пишу лично для себя, в рассчёте на то что пользоваться устройством будет знающий человек.
mashenkaM
27.03.2017, 11:38
Малым функционалом. Я уже писал выше что не у всех ваши потребности, кому-то и 8 каналов реле мало, кому-то нужен вспомогательный функционал, доливы, УДО и.т.п.
code11
Я уже по-моему писал вам выше, но вы не читаете, не нравится 4 сопротивления впаивайте одно любое из 4. В чем проблема?
Вам указали на ошибку, а ваше поведение детского садика - не нравится не делайте... Не верите почитайте датащит, почитайте правила параллельного подключения резисторов, почитайте что такое подтягивающий резистор.
Хотя нормальный бы человек сказал спасибо и исправил.
После вас же эту глупость и ошибку будут повторять другие. Вы на это нацелены?
AndrewUh
27.03.2017, 11:39
Я вроде по русски написала слова ВЫ, на Я.
Опять же это Вы так делаете, а другие покупают готовые, та же цена, что и за отдельный датчик.
Поэтому давайте решим, кто для кого и что делает, я так понял вы с AquaGomel позиционируете контроллер для широких масс, а я пишу лично для себя.
Вообще-то к AquaGomel я никакого отношения не имею и свой контроллер тоже никогда не продавал. Работает мой контроллер более 5 лет без проблем.
Цена - не всегда правильный показатель.
Не смешивайте все в одну кучу. Мы говорим про конкретный тип устройств, а не про стиральный машины.
AndrewUh
27.03.2017, 11:43
Вы конечно не поверите, но все современные устройства, а тем более контролеры разрабатываются с учётом максимальной отказоустойчивости.
Вы тоже не поверите, но Ваш вариант включения датчиков никак не повлияет на отказоустойчивость устройства в целом.
mashenkaM
27.03.2017, 11:50
Читайте внимательно: я просил показать схему акваконтроллера, а не библиотеку производителя.
Было бы удивительно, если бы производитель не предусмотрел вожможность использования всего одного датчика в устройстве, тогда и адресация не нужна - это логично. А шина потому и называется "шиной"...
где то дома была старая схема в протеусе, приду домой покажу, вам что не верится что бывает такое подключение? :)
mashenkaM
27.03.2017, 11:52
Вы тоже не поверите, но Ваш вариант включения датчиков никак не повлияет на отказоустойчивость устройства в целом.
А он и не влияет, он просто упрощает пользователя установку и замену датчика. А программисту не нужно писать сложные алгоритмы обработки подключения датчиков.
Я думала когда про всевозможные системы отказоустойчивости, но контроллер обрастал кучей датчиков, не хватало выводов, памяти и очень вырастала цена. Поэтому как кто то писал, пытаемся сделать всё по минимальной цене.
AndrewUh
27.03.2017, 11:56
где то дома была старая схема в протеусе, приду домой покажу, вам что не верится что бывает такое подключение? :)
В АКВАКОНТРОЛЛЕРЕ!
AndrewUh
27.03.2017, 11:57
Я думала когда про всевозможные системы отказоустойчивости, но контроллер обрастал кучей датчиков, не хватало выводов, памяти и очень вырастала цена.
"не хватало выводов" - это ключевая Ваша фраза.
mashenkaM
27.03.2017, 12:00
Я уже и не знаю каким вам языком писать, хотя писала вроде изначально доступно и понятно, я сама использую и тот типа подключения и другой в разных версиях своих контроллеров. И изначально обрисовала плюсы и минусы каждого подключения, но AquaGomel упёрся в свои USB выходы и не хотел понимать что я пишу ему.
Он как будто на другом языке общается...
Была у меня идея написать инициализацию датчиков в ручную пользователем через меню, но это такой лишний и геморойный код, когда и там места и памяти не хватает, то в итоге решила или прописывать по адресам датчики или каждый на отдельный выход контроллера.
Когда пару лет назад на это дело подсадил меня мой знакомый и мы думали создать самый дешёвый и просто акваконтроллер, то мы долго спорили по поводу подключения датчиков и в лайт (минимальная) версии пришли к выводу что нужно пока хватает выходов контролера вешать их отдельно, потому что обращение через адреса для широких мас без ручной инициализации через меню для конечно пользователя просто не удобно, так как требует редактирование кода, который ни кто ему не даст или нести контроллер на прошивку производителю.
AndrewUh
27.03.2017, 12:05
Вопрос: Вы в отпуске, датчик сломался и постоянно показывает 20С и грелка греет воду до 25С. Никто не может придти к Вам в квартиру. Ваши действия.
И не надо мне писать про AquaGomel, я тут не причем))
mashenkaM
27.03.2017, 12:09
В АКВАКОНТРОЛЛЕРЕ!
Ну давайте пофантазируем вместе...
Стоят рядом два аквариума с гуппи со светодиодными лентами, грелками и фильтрами. Итого имеем 2 выхода -i2c, 2 выхода ленты, 2 выхода грелки, 2 выхода - температурные датчики, 2 выхода фильтры. Итого получаем 10 цифровых выходов.
Теперь фантазируем как мы подключаем их к 10 из 14 выходам Nano Arduino, схему себе представили? Мы конечно можем ещё дальше вместе пофантазировать, но это уже будет выходить за рамки темы code101
AquaGomel
27.03.2017, 12:15
Ну давайте пофантазируем вместе...
Мы уже поняли, что вы предлагаете. По поводу резисторов я вам предложил решение выше. Проблему с правильной инициализацией я уже решил. По поводу функционального применения вашего решения то же я уже думаю все поняли. Какие-то принципиальные решения или рекомендации у вас еще есть, конкретно по этому проекту? Потому как тема скатывается в "я казала, ты казала"... Я выложу прошивку что бы можно было "потрогать руками", тогда будем писать кто что думает... А так вилами по воде...
AndrewUh
27.03.2017, 12:25
Ну давайте пофантазируем вместе...
Стоят рядом два аквариума с гуппи со светодиодными лентами, грелками и фильтрами. Итого имеем 2 выхода -i2c, 2 выхода ленты, 2 выхода грелки, 2 выхода - температурные датчики, 2 выхода фильтры. Итого получаем 10 цифровых выходов.
Теперь фантазируем как мы подключаем их к 10 из 14 выходам Nano Arduino, схему себе представили? Мы конечно можем ещё дальше вместе пофантазировать, но это уже будет выходить за рамки темы code101
Не понял, к чему это все ((
Единственное, что полезного Вы сказали для этой темы - про резисторы, остальное - от лукавого.
Создайте тему про свой контроллер и там пообщаемся, если захотите.
AndrewUh
27.03.2017, 12:26
AquaGomel, извини за флуд. Можешь удалять.
mashenkaM
27.03.2017, 12:26
Вопрос: Вы в отпуске, датчик сломался и постоянно показывает 20С и грелка греет воду до 25С. Никто не может придти к Вам в квартиру. Ваши действия.
И не надо мне писать про AquaGomel, я тут не причем))
Самое первое это то что любой нагрев идёт по гистерезису и если через промежутки времени сравнить показания датчика и она не изменяется это уже авария!!!
Давайте рассмотрим это пример и другие и допустим грелка стоит без терморегулятора, в котором можно изначально выставить мах температуру на 2 градуса выше норм, что бы подобное не привело к перегреву.
В каких ситуациях может произойти подобное :
1) Датчик вышел из строя.
2) залипание биметалических пластин, переход в режим постоянной грелки без учёта данных температурного датчика.
3) "глупая" подмена воды или заполнение аквариум с нуля.
3й пункт убираем, так как ни кто не льёт в аквариум заведомо холодную воду, а если и льёт то колебание температуры в аквариуме не больше 2 градусов. Поэтому этот вариант исключаем.
Дальше что мы видим, что колебания температуры происходит по заданному гистерезису, допустим -1 градус и +1 градус от заданной температуры, получается что разница в 2-3 градуса от нормы считается аварийной, правильно? Это означает что автоматика не смогла следовать гистерезису и или датчик или грелка вышли из строя.
Соответственно пишем условие, что если температура в аквариуме больше или меньше на 3 градуса от заданной температуры в течении допустим 10-60 минут, то выдаём сигнал авариии и выключаем грелку.
Но бывает такое что не было света, вода остыла, а потом свет появился и грелке нужно время что бы нагреть воду, тогда добавляем отслеживание температуры во времени, то есть если в течении 10-60 минут температура не поменялась и не вышла за граничные точки, то включаем аварию и отключаем грелку.
тут можно ещё думать, но надеюсь смысл вам потянет.
AndrewUh
27.03.2017, 12:34
mashenkaM, Вы в отпуске, Вас нет дома. Что делает Ваш контроллер?
Я в своем к шине могу подключить пару датчиков на время и из любого места по телефону заменю неисправный датчик на исправный. А Вы? Приедете и лучок с морковкой туда постругаете? Это к вопросу о надежности.
AndrewUh
27.03.2017, 12:37
Самое первое это то что любой нагрев идёт по гистерезису и если через промежутки времени сравнить показания датчика и она не изменяется это уже авария!!!
Давайте рассмотрим это пример и другие и допустим грелка стоит без терморегулятора, в котором можно изначально выставить мах температуру на 2 градуса выше норм, что бы подобное не привело к перегреву.
В каких ситуациях может произойти подобное :
1) Датчик вышел из строя.
2) залипание биметалических пластин, переход в режим постоянной грелки без учёта данных температурного датчика.
3) "глупая" подмена воды или заполнение аквариум с нуля.
3й пункт убираем, так как ни кто не льёт в аквариум заведомо холодную воду, а если и льёт то колебание температуры в аквариуме не больше 2 градусов. Поэтому этот вариант исключаем.
Дальше что мы видим, что колебания температуры происходит по заданному гистерезису, допустим -1 градус и +1 градус от заданной температуры, получается что разница в 2-3 градуса от нормы считается аварийной, правильно? Это означает что автоматика не смогла следовать гистерезису и или датчик или грелка вышли из строя.
Соответственно пишем условие, что если температура в аквариуме больше или меньше на 3 градуса от заданной температуры в течении допустим 10-60 минут, то выдаём сигнал авариии и выключаем грелку.
Но бывает такое что не было света, вода остыла, а потом свет появился и грелке нужно время что бы нагреть воду, тогда добавляем отслеживание температуры во времени, то есть если в течении 10-60 минут температура не поменялась и не вышла за граничные точки, то включаем аварию и отключаем грелку.
тут можно ещё думать, но надеюсь смысл вам потянет.
Все, что Вы здесь описали - по коду гораздо больше, чем инициализация и назначение датчиков.
mashenkaM
27.03.2017, 17:31
mashenkaM, Вы в отпуске, Вас нет дома. Что делает Ваш контроллер?
Я в своем к шине могу подключить пару датчиков на время и из любого места по телефону заменю неисправный датчик на исправный. А Вы? Приедете и лучок с морковкой туда постругаете? Это к вопросу о надежности.
Позволю включить себе телепатически способности... вы имеет ввиду что у вас есть дублирующие друг друга датчики температуры?
Вы не поверите, но есть места где не ловит сеть телефон, например в крыму в горах, или глухих лесах и посёлках и т.д. Поехали вы на байдарках или в крым в горы и тоже на обратном пути купите лучка и морковки, потому что автоматика не отработает.
А если у вас села батарея и повер банк, то вы ни чего не сможете сделать, а дома будет уже уха :)
mashenkaM
27.03.2017, 17:31
Все, что Вы здесь описали - по коду гораздо больше, чем инициализация и назначение датчиков.
Ну да 10-15 строк кода - это конечно тяжело осилить :)
а я, а я, а у меня, а я вот так вот!
iJqo_2bRC4Y
mashenkaM
27.03.2017, 18:37
sae74, а чип тут какой? Малинка? :)
качество 240 для конспирации? :)
Он самый ))))
Отправлено с моего iPhone используя Tapatalk
mashenkaM
27.03.2017, 18:39
sae74, не честно с пулемётом приходить к детям с пластмассовыми лопатками :) Мы с вами в разных весовых категориях :)
А у меня и пластмассовая лопатка есть на ардуино сенсорным экраном
Отправлено с моего iPhone используя Tapatalk
mashenkaM
27.03.2017, 18:40
А у меня и пластмассовая лопатка есть на ардуино сенсорным экраном
А на ESP8266 есть?
Arduino Мега рядом тема
Отправлено с моего iPhone используя Tapatalk
AquaGomel
28.03.2017, 11:05
Залил в шапку pcb плату чуть позже залью Gerber файлы для контроллера. А так же pcb для силовой платы. :)
par-n-go
28.03.2017, 11:45
Позволю включить себе телепатически способности... вы имеет ввиду что у вас есть дублирующие друг друга датчики температуры?
Вы не поверите, но есть места где не ловит сеть телефон, например в крыму в горах, или глухих лесах и посёлках и т.д. Поехали вы на байдарках или в крым в горы и тоже на обратном пути купите лучка и морковки, потому что автоматика не отработает.
А если у вас села батарея и повер банк, то вы ни чего не сможете сделать, а дома будет уже уха :)
Так в чем проблема сделать несколько условий для срабатывания? Что б срабатывало условие по любому из датчиков?
mashenkaM
28.03.2017, 15:36
par-n-go, я просто до конца не поняла используется ли он дублирующие датчики или нет. Вроде из контекста похоже что да, но внятного ответа не было. Понятно что везде можно использовать дубли, но в практике аква контроллеров я практически не встречала такого подхода.
А про несколько условий срабатывания и это возможно не все, я писала выше.
AquaGomel
28.03.2017, 21:33
Добавил Gerber файлы в шапку.
AquaGomel
29.03.2017, 11:12
Компоновка силовой части.
mashenkaM
29.03.2017, 12:33
AquaGomel, обновите пожалуйста в первом посте "Комплектующие:" было бы очень удобно и хорошо если бы туда по возможности вошло всё включая резисторы и т.д. Тогда человеку с этим списком можно смело идти на радио рынок.
И есть ли у вас полная принципиальная схема, что бы взглянуть на всё устройство в целом? В файлике лишь схема одно платы.
AquaGomel
29.03.2017, 12:59
"Комплектующие:"
Залил "Elements_list"
В файлике лишь схема одно платы.
Внимательно смотрим шапку. Файлик Schema_v1_1.zip
mashenkaM
29.03.2017, 13:39
AquaGomel, я имела ввиду общую схему с реле и т.д. в файле Schema_v1_1.zip только одна страница и на ней только ЕСП, ардуина, датчики температуры, стабилизатор 3.3 в и разъёмы, а силовой части нет где реле и т.д.
Вот этого:
http://www.aquaforum.ua/attachment/1/7/2/5/9/589347.thumb?d=1490775126
нет не в схеме не в списке.
AquaGomel
29.03.2017, 13:52
нет не в схеме не в списке.
Схему добавил в шапку: Schema_power_v1_1.zip
Остальное еще в процессе разводки платы, как только сразу выложу
mashenkaM
29.03.2017, 15:20
AquaGomel, подскажите, в схеме у вас симисторы, а на фото механические реле.
Вы собираетесь заменить покупную плату с реле на свою с симисторами?
AquaGomel
29.03.2017, 15:34
AquaGomel, подскажите, в схеме у вас симисторы, а на фото механические реле.
Вы собираетесь заменить покупную плату с реле на свою с симисторами?
На фото это до того как я начал тестирование, сейчас у меня так же реле, только твердотельные, но и их я буду заменять на симисторы, потому как стоимость почти в 3 раза выше, чем если делать свою плату.
mashenkaM
29.03.2017, 16:58
AquaGomel, можете показать или дать ссылку на ваши usb разъёмы для темп. датчиков, искала у нас в Украине в Космодроме, но нашла только те что в плату впаиваться, а встраиваемых не нашла. :(
И почему вы против мини джеков 3,5 ?
mashenkaM
29.03.2017, 17:02
Судя по всего двум выходам usb под темп. датчики то можно было бы вешать их и на отдельные выходы контролера, а нехватку выходов решить за счёт копеечного сдвигового регистра 74HC595. Одни таким регистром можно управлять сразу всеми вашими 8 линиями, используя при этом всего 3 выхода на ардуино.
mashenkaM
29.03.2017, 17:05
AquaGomel, и не сочтите за наглость, но было бы очень хорошо сделать общую принципиальную схему, потому что смотришь хотя бы на файл из Schema_v1_1.zip видишь например разъём A1_CONN, и подписанные выходы, а что к ним подключается и используются ли они не понятно.
AquaGomel
29.03.2017, 17:40
можете показать или дать ссылку на ваши usb разъёмы для темп. датчиков,
https://ru.aliexpress.com/item/2pcs-Type-A-Female-USB-To-DIP-2-54MM-PCB-Board-Adapter-Converter-For-Arduino/32521073614.html?spm=2114.13010608.0.0.mmMp8S
+
https://ru.aliexpress.com/item/5pcs-Type-A-Male-USB-4-Pin-Plug-Socket-Connector-With-Black-Plastic-Cover/32670319008.html?spm=2114.13010608.0.0.Srmsng
И почему вы против мини джеков 3,5 ?
Я не против. Просто конструктивно они не очень, всегда есть возможность коротнуть на горячую... Для DS18B20 это практически смерть...
Судя по всего двум выходам usb под темп. датчики то можно было бы вешать их и на отдельные выходы контролера, а нехватку выходов решить за счёт копеечного сдвигового регистра 74HC595. Одни таким регистром можно управлять сразу всеми вашими 8 линиями, используя при этом всего 3 выхода на ардуино.
В данном контролере нет нехватки портов, даже один лишний. Но код писался именно для подключения на один выход. Что бы была универсальность по переносу его к примеру на ESP8266 и.т.п.
но было бы очень хорошо сделать общую принципиальную схему
Общую принципиальную схему чего? Есть контроллер есть силовая часть. Для них нет общих схем, просто они сделаны так чтобы силовая часть садилась на контроллер и получался "сендвич". Но повторяю это отдельные проекты, никаких общих схем для них нет. Взаимодействие между ними только через колодку реле. Выделен зеленым. Белая колодка это джойстик управления, зеленый со стрелкой интерфейс для прошивки модуля связи, остальные разведены но они не используются. Возможно кому-то понадобится какие-то выходы с ардуино или модуля ESP для этого они и выведены.
mashenkaM
29.03.2017, 18:09
Я не против. Просто конструктивно они не очень, всегда есть возможность коротнуть на горячую... Для DS18B20 это практически смерть...
В данном контролере нет нехватки портов, даже один лишний. Но код писался именно для подключения на один выход. Что бы была универсальность по переносу его к примеру на ESP8266 и.т.п.
Ну не смерть, но перегружается контроллер или БП уходит в защиту это точно :) Проходили.
То есть код писался с учётом того что на ESP8266 будет не хватать выходов и расширять их вы не планировали?
mashenkaM
29.03.2017, 18:15
AquaGomel, по ссылке всё равно разъёмы впаяные в платы, они не крепятся в панель
Я имела в виду что то типа такого, что бы перенести всю нагрузку при подключении с платы на корпус. Странно что не подобных USB
http://www.kosmodrom.com.ua/pic/JC-127.jpg
http://www.kosmodrom.com.ua/pic/JC-116.jpg
AndrewUh
29.03.2017, 18:36
mashenkaM, я в свое время искал USB на корпус - не нашел нигде. На рынке мне сказали, что таких нет в природе.
AquaGomel
29.03.2017, 19:07
То есть код писался с учётом того что на ESP8266 будет не хватать выходов и расширять их вы не планировали?
Код писался исходя из того что на ESP мне не хватит портов и поэтому на силовую плату был добавлен 74hc595.
по ссылке всё равно разъёмы впаяные в платы, они не крепятся в панель
http://prntscr.com/epyrtr Но если этого вам мало то есть https://ru.aliexpress.com/item/5-pcs-lot-USB-2-0-A-Type-Female-Printer-Panel-Mount-to-Pitch-2-54mm/32546353030.html?spm=2114.03010208.3.243.2zt9gR&ws_ab_test=searchweb0_0,searchweb201602_7_10152_10 065_10068_10150_10136_10137_10060_10138_10062_1014 1_203_10056_10055_10054_121_10059_10099_10103_1010 2_10096_10144_10052_10053_10142_10107_10050_10143_ 10051_10525_10529_10528_10522_10117_10084_10083_10 119_10080_10082_10081_10110_10111_10112_10113_1011 4_10516_10515_10037_10032_10078_10079_10077_10073_ 10070_10122_10123_10120_10127_10124_10125-10150_10152_10515_10120,searchweb201603_1,afswitch _1_afChannel,ppcSwitch_4,single_sort_0_default&btsid=1ddb660f-5f9e-489b-8a7d-c4e50841fc2a&algo_expid=1a45a9f7-b83a-4918-a024-21b422b798c6-26&algo_pvid=1a45a9f7-b83a-4918-a024-21b422b798c6 Но это значительно увеличивает стоимость конечного девайса.
AndrewUh
29.03.2017, 19:42
AquaGomel, Я такие покупал:
http://www.neokt.ru/ru/katalog/usb/usba-2fs
или
http://www.neokt.ru/ru/katalog/usb/usba-fsb2-s-pryamym-kraem
главное чтобы перпендикулярно плате паялись, тогда не так контакты в месте пайки расшатываются, ИМХО
Правда, в этом случае съедается лишний объем корпуса=размеру разъема.
Ну и для крутых:
http://www.neokt.ru/ru/katalog/usb/usba-fs-germ-rozetka-na-blok
mashenkaM
29.03.2017, 20:35
Код писался исходя из того что на ESP мне не хватит портов и поэтому на силовую плату был добавлен 74hc595.
Какое то противоречие, если на ЕСР будет хватать, зачем было вешать на один порт два датчика? :)
AquaGomel
30.03.2017, 00:21
Какое то противоречие
Читайте очень внимательно что я написал.
Код писался исходя из того что на ESP мне не хватит
Сергій М
30.03.2017, 01:37
всегда есть возможность коротнуть на горячую... Для DS18B20 это практически смерть...И у меня на Меге сие чудо случилось, и-за использования именно 3.5 разъёмов, пришлось заказывать новую, так как спалил не только этот выход. Я слишком хитрые разъёмы для этого купил, которые переключали каналы, как во многих устройствах - переключение с динамика на наушники.
ЮСБшные разъёмы считаю намного лучше.
mashenkaM
30.03.2017, 10:00
AquaGomel, на еср у вас будет такая же функциональность, в смысле количество необходимых портов как и в этой версии или будете что то добавлять или убирать?
mashenkaM
30.03.2017, 10:17
AquaGomel, между прочим, зашла на ваш сайт - много чего интересного, нужно будет полистать на досуге.
mashenkaM
30.03.2017, 10:34
AquaGomel, ещё вопрос...
Вы я вижу хорошо знаете программирование на Андроид.
Как вы думаете, кроме приложения, можно же написать виджет, который как виджет погоды будет в уведомлениях показывать основные параметры аквариума, когда устройство находится в сети аква-контроллера, ну что бы не нужно было запускать приложение.
Только я вот не помню, там вроде бы раньше было очень большое минимальное обновление, вроде не чаще чем в пару часов.
AquaGomel
30.03.2017, 11:52
на еср у вас будет такая же функциональность Она будет функциональнее, ESP все же более привлекательный чип в плане памяти и размера Flash, так как уже сейчас после добавления логики для датчиков, я получил перерасход по размеру скетча на Arduino. Количество портов цифровых будет задействовано все, и даже будут использоваться аналоговые. Но у Arduino есть небольшое преимущество. Спорное конечно. Но все же. Его легко заменить в случае чего, ну и прошить тоже. С ESP такой финт не пройдет.
можно же написать виджет
Бесполезно. Во первых "долбить девайс" запросами в итоге придет к его зависанию (если делать контроллер только на ESP это вообще серьезная проблема). Во вторых https://developer.android.com/reference/android/appwidget/AppWidgetProviderInfo.html#updatePeriodMillis 30 минут минимум на обновление. (Есть вариант обновление по wakeup девайса, но это тоже не вариант)
mashenkaM
30.03.2017, 12:11
AquaGomel, почему с ESP это не пройдёт? Вы просто не умеет её готовить :) Вы просто возьмите не сток версию,а например эту, расстояние между ножками 2,4 мм и на плате уже есть usb выход и вся обвязка портов.
https://ru.aliexpress.com/item/D1-mini-Mini-NodeMcu-4M-bytes-Lua-WIFI-Internet-of-Things-development-board-based-ESP8266-by/32635160765.html?spm=2114.13010608.0.0.mrllEM
AquaGomel
30.03.2017, 12:54
AquaGomel, почему с ESP это не пройдёт? Вы просто не умеет её готовить :) Вы просто возьмите не сток версию,а например эту, расстояние между ножками 2,4 мм и на плате уже есть usb выход и вся обвязка портов.
https://ru.aliexpress.com/item/D1-mini-Mini-NodeMcu-4M-bytes-Lua-WIFI-Internet-of-Things-development-board-based-ESP8266-by/32635160765.html?spm=2114.13010608.0.0.mrllEM
Я не буду спорить, с вами по вопросу ESP, потому как тема про конкретный контроллер. Просто в текущем варианте у меня ESP "на подпевке" ардуино. В другой версии возможно будет что-то другое. Вы вообще можете не распаивать ESP на плату. От этого прошивка никак не зависит. Все будет работать, за исключением WiFi и NTP. Так что можно вообще выкинуть ее + обвязку, оставив только фильтры по питанию и подтягивающие резисторы для I2C и DS18B20. Можно даже плату выкинуть. :)
mashenkaM
30.03.2017, 13:13
Что вы имели в виду под:
Его легко заменить в случае чего, ну и прошить тоже. С ESP такой финт не пройдет
Физическую замену установил-снял или замену на аналог или что то ещё?
AquaGomel
30.03.2017, 13:29
Или вы меня не понимаете, или я Вас.
Вы пишите что:
Что вы имели в виду под:
Физическую замену установил-снял или замену на аналог или что то ещё?
Я пишу про конкретно данный контроллер, а не вообще... У меня ардуино не припаивается к плате в отличии от ESP, соответственно и замена физически проще. И да я знаю про готовые модули. Но так как вы похоже платы не разводите под эти все китайские поделки, мне будет трудно вам объяснить что иногда очень сложно впихнуть сторонний шилд на собственную плату. Единственное исключение это пожалуй nodeMCUv3, но опять таки, если встанет вопрос что использовать, чип ESP12 или готовый шилд, я выберу всегда первое. Потому как знаете ошибки в просчетах они денег стоят. За первую партию которую я запорол я отдавал 30$, какие гарантии что когда вы разведете плату (кстати еще нужно поискать даташит на эти все проделки с точными размерами, я сильно сомневаюсь что можно будет найти готовые компоненты, поэтому их тоже нужно будет рисовать) ваш китайский друг вышлет вам именно эти платы под которые вы разводили, где гарантия что в новой ревизии они чуток не сменили форм-фактор и пошло и поехало... Поэтому давайте перестанем писать про ESP, мне неинтересно про это вести разговор. Когда вы перейдете с уровня монтажной доски до уровня монтажа полноценного устройства, пусть и для себя, тогда мы обсудим с вами и эти вопросы тоже, но уже не в рамках этой темы. Если есть какие-то вопросы по данному изделию пишите, я отвечу. Если просто поговорить то в личку.
AquaGomel
02.04.2017, 02:03
Хм, столкнулся с проблемой в 280 байт. Сейчас скетч заливается только через программатор, что не есть хорошо. Так как не у каждого он есть. В текущий момент скетч весит ровно 31000 байт. Надо поискать еще где-то лишних 280.
AquaGomel
03.04.2017, 09:12
Удалось впихнуть скетч в 30720 байт. Сегодня еще раз все проверю и выложу на тест прошивку. Так же прилагаю файлы для силовой части. Схема, печатная плата, гербер файлы для изготовления платы. Отправил платы в печать, сейчас выкатят счет за 10 шт. силовых и 10 шт самого контроллера, потом отпишусь по цене. Кстати при печати накидывают по 1 шт лишней в каждый заказ.
AquaGomel
05.04.2017, 00:33
Итак как и обещал прошивка для контроллера. Все еще в тесте. Если будут какие-то ошибки или не точности пишите. Из особенностей: Кроме ардуинки экрана и часов, к сожалению нужен будет еще джойстик, в принципе можно запустить и так. Но управлять к сожалению только через него. Ну и без подключения джойстика будут произвольные нажатия, это уже работа самой ардуины. Кто знает как это лечиться напишите. В официальной доке, сказано что если не подключать нагрузку, то ардуина генерит случайные данные на порту.
Далее возвращаясь к вопросу о количестве резисторов на шине датчиков. Сегодня когда распаивал плату, решил впаять только один резистор, в результате получил пакет глюков, через раз определялись датчики, иногда один иногда вообще не одного. Иногда пропадали значения температуры. Как только впаял все остальные все сразу заработало как часы.
Стоимость 10 силовых и 10 плат контроллера обошлась в 42$. В течении месяца должны приехать платы.
Дальше буду тестить прошивку для модуля связи. Как только согласую работу двух устройств выложу и ее тоже.
Добавил легкий мануал по прошивке: http://pcb.aquagomel.ru/index.php/doc/class-layout/flasharduino
AndrewUh
05.04.2017, 09:05
Далее возвращаясь к вопросу о количестве резисторов на шине датчиков. Сегодня когда распаивал плату, решил впаять только один резистор, в результате получил пакет глюков, через раз определялись датчики, иногда один иногда вообще не одного. Иногда пропадали значения температуры. Как только впаял все остальные все сразу заработало как часы.
Странно это. Извиняюсь за глупый вопрос: номинал резисторов не попутали?
AquaGomel
05.04.2017, 09:16
Странно это. Извиняюсь за глупый вопрос: номинал резисторов не попутали?
Да как-то сложно было бы не заметить что ты 4 раза в подряд впаиваешь не те резисторы, так что с этим все ок. Опять таки я не настаиваю, возможно это частный случай. Но так как все же схему с несколькими резисторами придумал не я, все же была какая-то на это причина что люди вешали на каждый датчик свой резистор.
AndrewUh
05.04.2017, 09:24
Да как-то сложно было бы не заметить что ты 4 раза в подряд впаиваешь не те резисторы, так что с этим все ок.
:patstalom:
AndrewUh
05.04.2017, 09:31
Но так как все же схему с несколькими резисторами придумал не я
А можно ссылочку на схему? Интересно, чем аргументировали такое соединение. В сумме сопротивление получилось чуть больше 1к.
AquaGomel
05.04.2017, 09:43
А можно ссылочку на схему? Интересно, чем аргументировали такое соединение. В сумме сопротивление получилось чуть больше 1к.
А ни чем, там не аргументировали: http://proumnyjdom.ru/kontrollery/ds18b20-podklyuchenie-k-arduino.html#h2_2
http://microkontroller.ru/praktikum-mikrokontrollershhika/datchik-temperaturyi-ds18b20-podklyuchenie-programmirovanie/
http://www.14core.com/wiring-the-ds18b20-1-wire-temperature-sensor/
AndrewUh
05.04.2017, 09:54
А ни чем, там не аргументировали: http://proumnyjdom.ru/kontrollery/ds18b20-podklyuchenie-k-arduino.html#h2_2
Такие статьи не рекомендую читать: там резистор вообще неправильно включен! Как скажет mashenkaM, даташит люди вообще не читают :)
AquaGomel
05.04.2017, 09:59
Такие статьи не рекомендую читать: там резистор вообще неправильно включен! Как скажет mashenkaM, даташит люди вообще не читают :)
Кстати да)))... Но я для примера загуглил не особо всматриваясь...
AndrewUh
05.04.2017, 10:02
Расстояние от датчиков до прибора большое?
AquaGomel
05.04.2017, 10:24
Расстояние от датчиков до прибора большое?
Метр...
AndrewUh
05.04.2017, 10:36
Ну не знаю, может это такая особенность Ардуино? У меня на Меге32 все нормально работает. Хотя при включении 10 датчиков сопротивление будет 470 ом, что в принципе позволительно (правда, для большой длины шины).
AquaGomel
05.04.2017, 18:20
Обновил прошивку в шапке, включил подтягивающие резисторы на входах джойстика, теперь можно собирать и без джойстика, ложные срабатывания больше не беспокоят!!!
AquaGomel
06.04.2017, 22:45
Так как народ стал интересоваться платами. Сразу скажу заказывал только 10 шт. Платы только-только пошли в производство. Я даже не знаю без ошибок ли они code29 Заказать можно тут (www.pcbway.com). Делают очень быстро. Процесс можно мониторить прямо у них на сайте.Стоимость одних мат плат 22$ с доставкой. Если скооперироваться можно заказать. Параметры платы при заказе внизу на скрине. В принципе они стандартны.
http://image.prntscr.com/image/d96c990c4a264bf2ab86450690afd284.pnghttp://image.prntscr.com/image/0dab793a7d2d449298faab6b2c035818.png
mashenkaM
07.04.2017, 12:17
Чего то я упустила или забыла спросить...
В этом контролере что нет управления светодиодными драйверами?
AquaGomel
07.04.2017, 12:52
В этом контролере что нет управления светодиодными драйверами?
Аппаратного или программного?
ya7sergey
07.04.2017, 15:58
Присоединюсь к выше заданному вопросу. В прошивке заложена возможность управления светодиодами по средствам ШИМ? То что потребуется переделка силовой части и так понятно.
mashenkaM
08.04.2017, 00:42
Аппаратного или программного?
Физического :)
AquaGomel
08.04.2017, 15:08
Присоединюсь к выше заданному вопросу. В прошивке заложена возможность управления светодиодами по средствам ШИМ? То что потребуется переделка силовой части и так понятно.
Вообще-то нет. Мне как-то он был вообще без надобности. Я даже на Юсупова контроллера не использовал ШИМ. НО если это такая мега важная функция... ТО можно прикинуть... На ардуине осталось свободная одна нога с ШИМ, в принципе ее можно задействовать какой-то внешний драйвер с поддержкой ШИМ управления на пример на L298N. Однако есть несколько проблем:
1. Про удаленное управление этим самым шимом можно забыть сразу. Физически просто не хватит места на функционал + удаленный контроль
2. Про простую прошивку так же стоит забыть сразу. Только программатор. Так как даже если добавить просто логику + экран настройки мы сразу выйдем за доступные 30720
3. Так как канал всего один, то управление различными цветовыми лентами или несколькими каналами с разными цветами, можно так же забыть.
Вопрос: оно надо?
ya7sergey
08.04.2017, 15:15
Вообще-то нет. Мне как-то он был вообще без надобности. Я даже на Юсупова контроллера не использовал ШИМ. НО если это такая мега важная функция... ТО можно прикинуть... На ардуине осталось свободная одна нога с ШИМ, в принципе ее можно задействовать какой-то внешний драйвер с поддержкой ШИМ управления на пример на L298N. Однако есть несколько проблем:
1. Про удаленное управление этим самым шимом можно забыть сразу. Физически просто не хватит места на функционал + удаленный контроль
2. Про простую прошивку так же стоит забыть сразу. Только программатор. Так как даже если добавить просто логику + экран настройки мы сразу выйдем за доступные 30720
3. Так как канал всего один, то управление различными цветовыми лентами или несколькими каналами с разными цветами, можно так же забыть.
Вопрос: оно надо?
В принципе было бы не плохо добавить это. Например рассвет-закат. Как раз достаточно одного канала. Прошивка программатором совершенно не пугает - он просто есть. Как вариант сделать сделать такую прошивку опциональной. Кому надо (как мне) зашьют ее, остальным- стандартную через Х-лоадер и usb.
AquaGomel
08.04.2017, 15:23
В принципе было бы не плохо добавить это.
Ну тогда сделаем так после того как закончу тестировать прошивку для модуля связи, и вся эта связка будет как минимум стабильно работать. Я сделаю отдельно прошивку с возможностью управлять в один канал светодиодным драйвером. Но только по таймеру. На температуру уже вряд ли хватит места.
ya7sergey
08.04.2017, 19:44
Ну тогда сделаем так после того как закончу тестировать прошивку. Но только по таймеру. На температуру уже вряд ли хватит места.
Отлично! А привязка этого канала к температуре совсем ни к чему. Вы правы, достаточно таймера. В идеале с установкой длительности плавного включения и выключения.
mashenkaM
08.04.2017, 23:45
Вопрос: оно надо?
Сейчас идёт сильная тенденция перехода на светодиодное освещение, люминисцентные лампы (не учитываю спец лампы для травников) не кому не нужны и уже считаются устаревшими.
Сейчас делать крышки на ЛЛ считается моветоном. Поэтому контроллер который не поддерживает хотя бы три раздельных канал для светодиодов, уже тоже изжиток прошлого...
AquaGomel
09.04.2017, 00:09
люминисцентные лампы (не учитываю спец лампы для травников) не кому не нужны
Я надеюсь это не голословное утверждение и как минимум у вас есть какая-то статистика или результаты опросов аквариумистов по которым вы делаете такие смелые заявления?
Поэтому контроллер который не поддерживает хотя бы три раздельных канал для светодиодов, уже тоже изжиток прошлого...
Не дадите ссылку на ваши разработки в области современных решений по автоматизации аквариума?
AquaGomel
11.04.2017, 22:28
И так сегодня удалось значительно снизить объем скетча, за счет толстых книжек по C++))). На сей момент объем скетча:
Program: 29932 bytes (91.3% Full) (.text + .data + .bootloader)
Data: 1218 bytes (59.5% Full) (.data + .bss + .noinit)
А по этому есть место для полноценного шим. Думаю можно сделать будет даже 3-х канальный. Единственное несколько смущает несколько ограничений:
1. Больше 4 таймеров вряд ли получиться сделать.
2. Длительность рассвет\закат возможно будет не более 255 секунд.
Пока вот так...
AquaGomel
18.04.2017, 15:03
Прошивка для модуля связи.
AquaGomel
27.04.2017, 15:17
Нужен совет по организации некоторого функционала. При программировании таймеров я отключил возможность их включения или выключения, пока мы находимся в этом режиме, посчитав что было бы не удобно пока мы их настраиваем, контроллер сможет включать или выключать каналы. При этом если пользователь не выйдет из режима программирования то естественно никакие программы работать не будут. Так же был добавлен функционал автоматического возврата на главное меню, он по дефолту он отключен.
По сему вопрос: Как было бы удобнее (правильнее) 1. По умолчанию сделать возврат на главное меню после некоторого бездействия и убрать эту настройку (либо оставить только возможность изменить задержку по времени )
2. Сделать работу таймеров независимо от режима программирования, и программы смогут срабатывать даже когда вы их программируете.
3. Ничего не трогать оставить как есть.
ya7sergey
27.04.2017, 15:30
Считаю, что надо отключать работу таймеров во время программирования и делать автовозврат в главное меню после некоторого времени бездействия (20-30 сек. будет достаточно или добавить настойку таймаута- пусть пользователь сам настроит под себя)
AquaGomel
27.04.2017, 15:40
Тоже думаю что нужно просто по дефолту сделать возврат в главное меню, к примеру 30 сек. а пользователь может это время менять, но отключить это настройку не может, как сейчас.
AquaGomel
27.04.2017, 18:20
Ну вот приехали платы.
Сейчас закончу с добавлением ШИМ в прошивку и будем пробовать собрать.
imac2008
19.07.2017, 20:37
Неужели такая тема умерла?
burnashev
20.07.2017, 09:58
Неужели такая тема умерла?
Чего же умерла?! Просто спит!
Отправлено с моего Redmi 3 через Tapatalk
AquaGomel
20.07.2017, 14:59
Нет не умерла, умерли все ардуино что у меня были :) Вернее не умерли а залочились. Поэтому был месячный таймаут, ждал новой партии. Уже как 2 недели продолжаю разработку. На текущий момент добавил в прошивку все что обещал в посте #179 (http://www.aquaforum.ua/showpost.php?p=3345540&postcount=179) и даже больше, управление не одним а тремя каналами на 8 программ с ручным управлением. Собрал еще один вариант уже полностью на своей силовой плате, планирую заняться тестированием подключив к аквариуму. Так же оптимизировал прошивку для модуля связи, работает практически без задержек, есть еще ошибки в передаче параметров, поэтому тут пока нужно работать. Все будет выложено в общий доступ как только будет пройдет тест, либо появятся люди которые захотят помочь в тестировании.:)
+ бонусом полный доступ к исходникам для клиента (там сильная альфа версия): https://bitbucket.org/Vteselkin/aquacontroller_client желающие и разбирающиеся могут использовать сие творения на свое усмотрение. Пока вот такие новости...
burnashev
20.07.2017, 15:04
А как это залочились???
Отправлено с моего Redmi 3 через Tapatalk
AquaGomel
20.07.2017, 15:10
А как это залочились???
Отправлено с моего Redmi 3 через Tapatalk
А вот так code13, где-то слетели фьюзы при прошивке (или я напортачил) и теперь кристаллы не шьются по причине того что программатор их не видит. Т.е. программа в них работает но обновить нельзя)))... Нужен высоковольтный программатор, но из-за 2-ух ардуин я не стал париться, просто докупил еще пяток, вот когда их накопиться поболее тогда куплю и программатор)))
burnashev
20.07.2017, 15:12
А если на прямую через ттл?
Отправлено с моего Redmi 3 через Tapatalk
AquaGomel
20.07.2017, 15:37
А если на прямую через ттл?
Отправлено с моего Redmi 3 через Tapatalk
А что bootloader при TTL прошивке разве не нужен?
burnashev
20.07.2017, 15:49
А что bootloader при TTL прошивке разве не нужен?
Через ттл прямое общение с атмегой обходя юсб преобразователь, ИМХО по идеи должно заработать
Отправлено с моего Redmi 3 через Tapatalk
AquaGomel
20.07.2017, 16:08
Через ттл прямое общение с атмегой обходя юсб преобразователь, ИМХО по идеи должно заработать
Отправлено с моего Redmi 3 через Tapatalk
Да все верно, через TTL мы легко можем прошить атмегу, даже больше скажу за это отвечает штатный загрузчик bootloader, который затирается при прошивке через ICSP, т.е. в данном случае так как прошивка более чем 30720 байт то естественно никакого загрузчика на кристалле уже нет. Поэтому отложим пока их в сторонку до лучших времен :)
burnashev
20.07.2017, 16:10
Да все верно, через TTL мы легко можем прошить атмегу, даже больше скажу за это отвечает штатный загрузчик bootloader, который затирается при прошивке через ICSP, т.е. в данном случае так как прошивка более чем 30720 байт то естественно никакого загрузчика на кристалле уже нет. Поэтому отложим пока их в сторонку до лучших времен :)
То есть прошить получилось?
Отправлено с моего Redmi 3 через Tapatalk
AquaGomel
20.07.2017, 16:13
То есть прошить получилось?
Отправлено с моего Redmi 3 через Tapatalk Нет конечно, как же их прошить если на них нет загрузчика))) Только через ICSP, который не определяется программатором, так как "фьюзы слетели"...
Alserk-3
07.08.2017, 14:19
Пришли комплектующие, собрал на макетке, все работает прекрасно, но хотел бы узнать в самой нижней строке постоянно должно быть сообщение о подключение к интернет и пожалуйста скомпилируйте клиент для мобильника, что-то не получается у меня. И если можно ответьте в личку можно ли у вас купить плату?
AquaGomel
07.08.2017, 17:20
Пришли комплектующие, собрал на макетке, все работает прекрасно, но хотел бы узнать в самой нижней строке постоянно должно быть сообщение о подключение к интернет и пожалуйста скомпилируйте клиент для мобильника, что-то не получается у меня. И если можно ответьте в личку можно ли у вас купить плату?
В самой нижней строке при подключении должен быть IP адрес устройства и состояние подключение в интернету.
http://pcb.aquagomel.ru/images/DSC_0085.jpg
Клиент на данный момент еще на стадии тестирования, выложу сразу вместе с прошивкой версии 1.3, так как там изменился протокол.
Платы есть но с ошибкой в разводке(те что в шапке правильные), лечится двумя "соплями", но пока продажами не планирую заниматься...
Alserk-3
07.08.2017, 21:10
У меня эта строчка появляется рандомно, сам wi-fi виден в сети. При включении канала, выключается реле остальные каналы включены, как можно инвертировать выходы?
AquaGomel
07.08.2017, 21:18
У меня эта строчка появляется рандомно, сам wi-fi виден в сети. При включении канала, выключается реле остальные каналы включены, как можно инвертировать выходы?
По поводу рандомной строчки уточните не совсем понятно.
Что у вас за реле? Я так у вас оно управляется "минусом"? Надо будет добавить настройку для инверсии, если памяти хватит.
Alserk-3
07.08.2017, 22:11
Имел в виду, что после включения может появиться, а может и нет. Реле типа такого только на 8 каналов
http://s.aliexpress.com/ia6JJnyU
AquaGomel
08.08.2017, 09:59
Имел в виду, что после включения может появиться, а может и нет. Реле типа такого только на 8 каналов
http://s.aliexpress.com/ia6JJnyU
А логи можете снять с ESP? По поводу реле. Раньше пытался использовать такие же, к сожалению перешел сначала на твердотельные а потом уже на bt139... Наводки там такие были что перезагружался контроллер.
Alserk-3
08.08.2017, 10:23
Тоже буду переходить на bt139, логи попробую снять. Спасибо за ответы.
Во-первых хотел сказать спасибо за отличный контроллер)). Единственное, есть у меня какой-то непонятный глюк, настроил 1термодатчик на подогрев, а второй на охлаждение (пока все на макете испытываю), так вот, второй включается и выключается без вопросов, а вот первый один раз включившись уже не выключается (только вручную из меню), на данный момент поборол установкой третьего датчика, первый только температуру показывает. Также есть вопрос по ожидаемой прошивке, её можно будет прошить без программатора и без затирания загрузчика?
З. Ы. Согласен даже на бэта версию программы для телефона, а то как соберу, в тумбу не удобно будет лазить. Ещё раз спасибо.
AquaGomel
08.08.2017, 22:50
Во-первых хотел сказать спасибо за отличный контроллер)). Единственное, есть у меня какой-то непонятный глюк, настроил 1термодатчик на подогрев, а второй на охлаждение (пока все на макете испытываю), так вот, второй включается и выключается без вопросов, а вот первый один раз включившись уже не выключается (только вручную из меню), на данный момент поборол установкой третьего датчика, первый только температуру показывает. Также есть вопрос по ожидаемой прошивке, её можно будет прошить без программатора и без затирания загрузчика?
З. Ы. Согласен даже на бэта версию программы для телефона, а то как соберу, в тумбу не удобно будет лазить. Ещё раз спасибо.
По поводу глюка буду тестировать. Если не сложно скиньте настройки для температурных таймеров + настройки для временных таймеров. Если есть ошибка поправим. Тяжело протестировать все варианты одному. По поводу клиента, сейчас он еще в тесте, для старых прошивок он не подойдет, так как изменился протокол передачи данных. Выложу клиента сразу с прошивкой. Прошивка без программатора возможна только для скетча размером менее чем 30720 байт. Последняя сборка показала :
Program: 31024 bytes (94.7% Full) (.text + .data + .bootloader) Data: 1374 bytes (67.1% Full) (.data + .bss + .noinit)
Так что программатор все же нужен будет.
Мда, непонятненько.... пришел на работу, после листания по меню и выхода на основном 2 нижние строчки пошли крякозябрами, ребутнул, стало ок, в т.ч. и с терморегуляцией... А как скоро можно ожидать новую прошивку? Может бета тестеры нужны?code67
AquaGomel
09.08.2017, 10:23
Мда, непонятненько.... пришел на работу, после листания по меню и выхода на основном 2 нижние строчки пошли крякозябрами, ребутнул, стало ок, в т.ч. и с терморегуляцией... А как скоро можно ожидать новую прошивку? Может бета тестеры нужны?code67
Бывает из-за наводок, когда руками трогаем девайс, тем более на стенде. "терморегуляцией" - имеете ввиду ваш описанный баг? Сейчас в клиенте идет исправление бага с отправкой данных для термотаймеров, + нужно будет полностью проверить работоспособность прошивки. Так как по просьбам выше был добавлен функционал по управлению LED. После этого можно будет дать на тест для тем у кого есть возможность погонять эту прошивку. По времени планирую к началу - середине сентября закончить.
В общем удалось выловить глюк, проявляется он после того как сработает таймер 1 на 3 линии, после этого канал управления именно нагревом!!! по первому термодатчику перестает отключаться, если поменять канал управления ситуация та же, а вот если таймер выключить, то все работает как надо. Так-же во вложениях фото крякозябр, но тут, как мне кажется, вина монтажа на макетке, хотя и странно.
AquaGomel
09.08.2017, 11:09
В общем удалось выловить глюк, проявляется он после того как сработает таймер 1 на 3 линии, после этого канал управления именно нагревом!!! по первому термодатчику перестает отключаться, если поменять канал управления ситуация та же, а вот если таймер выключить, то все работает как надо.
Т.е. получается что термодатчики работают правильно на нагрев и охлаждение пока мы на этот же канал не повесим какой либо другой таймер? Вечером проверю, спасибо.
Попробовал поменять номер таймера и линии, с другими настройками работает как надо. Проблема в моем случае только с таймером №1.
Новые данные, глючить начинает тот канал управления (не важно нагрев или охлаждение) который совпадает именно с номером временнОго таймера! Так что рекомендую что-бы номер таймера совпадал с каналом управления, так все будет работать.
AquaGomel
09.08.2017, 13:38
Так что рекомендую что-бы номер таймера совпадал с каналом управления, так все будет работать.
Это не выход, на один канал должна быть возможность повесить много таймеров. Вечером проверю этот баг, если в новой версии проблема осталась будем фиксить. Так не должно быть. Таймеры температуры должны иметь приоритет перед обычными таймерами. Хз как я просмотрел эту ошибку.
Таймеры температуры должны иметь приоритет перед обычными таймерами
Тут дело не в приоритете, похоже переменная номера таймера накладывается на переменную выхода, за который отвечает температурный датчик...как-то так.
Alserk-3
09.08.2017, 20:47
Подскажите как снять логи с esp, в интернете не нашол как.
AquaGomel
09.08.2017, 21:15
Подскажите как снять логи с esp, в интернете не нашол как.
https://image.prntscr.com/image/s9jEAArVRzmj1zjHmFxoEA.png
http://en.freedownloadmanager.org/Windows-PC/Serial-Port-Utility.html
Такой еще вопросик, можно-ли расширить вилку регулировки температуры градусов до 70? Что бы была возможность один из термодатчиков сделать ответственным за охлаждение светодиодного освещения? И добавить селектор инвертированное/не инвертированное управление реле?
AquaGomel
11.08.2017, 17:05
Такой еще вопросик, можно-ли расширить вилку регулировки температуры градусов до 70? Что бы была возможность один из термодатчиков сделать ответственным за охлаждение светодиодного освещения? И добавить селектор инвертированное/не инвертированное управление реле?
Вилку расширить можно, тут проблем нет. Инвертор по управлению реле, надо смотреть по объему свободного места в скетче, но сама идея хороша. Такой функционал важен, поэтому постараюсь в каком либо виде добавить. Баг описанный выше подтвердился, в новой прошивке присутствует.
Alserk-3
14.08.2017, 09:27
снял логи:
"status":"info","message":"wifi_log","log":"WiFi:Init complete.."}
{"status":"get","message":"settings"}
{"status":"info","message":"wifi_log","log":"Couldn't get config "}
{"status":"info","message":"wifi_log","log":"WiFi:Error... "}
Сам есп регестрируется в сети и получает адрес
AquaGomel
14.08.2017, 18:21
снял логи:
"status":"info","message":"wifi_log","log":"WiFi:Init complete.."}
{"status":"get","message":"settings"}
{"status":"info","message":"wifi_log","log":"Couldn't get config "}
{"status":"info","message":"wifi_log","log":"WiFi:Error... "}
Сам есп регестрируется в сети и получает адрес
Ардуино не отдала настройки для модуля связи (либо ESP не смогла их получить, либо Arduino не получила запрос и не отправила их). Хотя если вы снимали лог с ESP без подключения к ней ардуино то это нормально. Если не трудно снимите еще лог с ардуино (через USB порт), но при этом ESP должна быть к ней подключена.
Alserk-3
14.08.2017, 19:00
Ещё раз решил прошить есп, но название точки доступа не меняется зайти не могу, что может быть. Прошивка ставиться до конца
AquaGomel
14.08.2017, 20:07
Ещё раз решил прошить есп, но название точки доступа не меняется зайти не могу, что может быть. Прошивка ставиться до конца
Куда именно вы не можете зайти? После настройки подключения, конфиг сохраняется в файловую систему ESP, перепрошивка конфиг не удаляет.
Alserk-3
14.08.2017, 20:53
Не знаю как объяснить, контроллер как будто прошивается но имя точки доступа не меняется на AquaController а остаётся типа esp_254be2
AquaGomel
14.08.2017, 23:33
Не знаю как объяснить, контроллер как будто прошивается но имя точки доступа не меняется на AquaController а остаётся типа esp_254be2
Модуль связи (http://pcb.aquagomel.ru/index.php/ru/typography/bonus-page/news-feed) работает в двух режимах точки доступа и клиента. В режим точки доступа он переходит только при невозможности подключиться к той сети, настройки которой вы указали когда он работал в режиме точки доступа. После ввода имени сети и пароля и успешном подключении он переходит в режим клиента. И имя у этого клиента аля esp_254be2 и.т.п. Перепрошивка не сбрасывает настройки. Что бы вернуть его в режим точки доступа его нужно отключить от текущей точки доступа. т.е. один раз настроили и он всегда будет клиентом, пока есть подключение...
Alserk-3
15.08.2017, 10:44
{"status":"info","message":"wifi_log","log":"WiFi:Init complete.."}
{"status":"get","message":"settings"}
{"status":"info","message":"wifi_log","log":"WiFi:Load config... "}
{"status":"info","message":"wifi_log","log":"WiFi:Try connect... "}
{"status":"info","message":"wifi_log","log":"WiFi:Failed connect "}
{"status":"info","message":"wifi_log","log":"WiFi:Config mode... "}
{"status":"info","message":"wifi_log","log":"HTTP server start..."}
{"status":"info","message":"wifi_log","log":"LAN:0.0.0.0 "}
AquaGomel
15.08.2017, 11:12
{"status":"info","message":"wifi_log","log":"WiFi:Init complete.."}
{"status":"get","message":"settings"}
{"status":"info","message":"wifi_log","log":"WiFi:Load config... "}
{"status":"info","message":"wifi_log","log":"WiFi:Try connect... "}
{"status":"info","message":"wifi_log","log":"WiFi:Failed connect "}
{"status":"info","message":"wifi_log","log":"WiFi:Config mode... "}
{"status":"info","message":"wifi_log","log":"HTTP server start..."}
{"status":"info","message":"wifi_log","log":"LAN:0.0.0.0 "}
Лог, когда модуль связи не смог подключиться к вашему роутеру и перешел в режим точки доступа, и доступен по адресу: http://192.168.4.1
Alserk-3
15.08.2017, 11:27
Разобрался, теперь вот так:
{"status":"info","message":"wifi_log","log":"WiFi:Init complete.."}
{"status":"get","message":"settings"}
{"status":"info","message":"wifi_log","log":"WiFi:Load config... "}
{"status":"info","message":"wifi_log","log":"WiFi:Try connect... "}
затык происходит когда подключается к роутеру, логин и пароль верный
AquaGomel
15.08.2017, 11:40
Разобрался, теперь вот так:
{"status":"info","message":"wifi_log","log":"WiFi:Init complete.."}
{"status":"get","message":"settings"}
{"status":"info","message":"wifi_log","log":"WiFi:Load config... "}
{"status":"info","message":"wifi_log","log":"WiFi:Try connect... "}
затык происходит когда подключается к роутеру, логин и пароль верный
Ну если после этого идет:
{"status":"info","message":"wifi_log","log":"WiFi: Failed connect "}
То 100% проблема с подключением к роутеру. Проверьте есть ли в подключениях на роуторе ваш контроллер, если есть попробуйте его пингануть. Что бы перевести модуль в режим точки доступа запретите на роуторе подключение контроллера либо поменяйте пароль на роуторе, либо если есть такая возможность сделайте отдельную сеть для экспериментов. Озвучьте модель роутера.
Alserk-3
15.08.2017, 12:09
Модель роутера asus RT-N12D
Теперь всё нормально вот лог:
{"status":"info","message":"wifi_log","log":"WiFi:Init complete.."}
{"status":"get","message":"settings"}
{"status":"info","message":"wifi_log","log":"WiFi:Load config... "}
{"status":"info","message":"wifi_log","log":"WiFi:Try connect... "}
{"status":"info","message":"wifi_log","log":"WAN:192.168.1.105 "}
{"status":"info","message":"wifi_log","log":"NTP:Sending packet: "}
{"status":"info","message":"wifi_log","log":"time.nist.gov "}
{"status":"post","message":"time_NTP","data":{"epoch":1502815756}}
{"status":"info","message":"wifi_log","log":"NTP:Time update: "}
{"status":"info","message":"wifi_log","log":"1502815756 "}
{"status":"info","message":"wifi_log","log":"WAN:192.168.1.105 "}
Но строчка WAN:192.168.1.105 на дисплее появляется через раз и не синхронизируется время
Alserk-3
28.08.2017, 11:33
Подскажите пожалуйста, через какой промежуток обновляется время, и можно ли поставить другой модуль часов, пробовал несколько 1307 часы за сутки убегают на несколько минут.
ded_andrey
30.08.2017, 22:02
Цена готового девайса?
AquaGomel
01.09.2017, 15:06
Подскажите пожалуйста, через какой промежуток обновляется время, и можно ли поставить другой модуль часов, пробовал несколько 1307 часы за сутки убегают на несколько минут.
Часы обновляются в реалтайм, 1307 крайне неудачный в этом плане модуль, используйте ds2331
Цена готового девайса?
Цена комплектующих для сборки под ключ у меня получалась где-то 70$, это уже в корпусе со всеми датчиками и шнурами...
Такой вопрос, функция временного отключения фильтров работает? если да, то как? а то не разобрался.
AquaGomel
08.09.2017, 17:49
Такой вопрос, функция временного отключения фильтров работает? если да, то как? а то не разобрался.
Уже работает, добавил функционал в новую прошивку. На выходных выложу. Будет возможность выключить на 5 минут и на 30. Для кормления и уборки. Отключает только 1 канал.
Отлично, с нетерпением жду. Паяльник уже прогрет)))
AquaGomel
11.09.2017, 00:07
Залил в шапку прошивки:
AquaControllerNano v1.2.3
-исправлена ошибка 1 канала и температурных датчиков.
-исправлена ошибка отключения WiFi
+добавлены режимы временного выключения канала на 5 и 30 мин. Работают при длительном удержании джойстика вверх или вниз.
AquaControllerNano_1_3_0_[led]
+добавлена поддержка работы с 3 драйверами LED. Ручное включение выключение каналов. 10 таймеров рассвета заказа, с максимальным временем задержки 250 сек. Данная прошивка работает только через сдвиговый регистр 74hc165. Схема подключения, а так же задействованные пины в шапке.
Клиент пока еще в работе, к сожалению не успел еще его доделать, постараюсь дописать для теста хотя бы альфа версию в течении пары недель.
В связи с тем что изменился протокол передачи данных. Необходимо обязательно прошить кроме ардуины модуль связи ESP для него прошивка находится в архиве с прошивкой ардуины.
Документацию обновлю уже после того как закончу клиент. Так как запарился каждый раз ее менять.
Есть есть вопросы или предложения пишите...
Спасибо огромное) Я правильно понимаю, что платы остаются те-же? И такой еще вопрос, прошивка 1_3_0_[led] в принципе без регистра работать не будет или только релейная часть?
AquaGomel
11.09.2017, 13:28
Спасибо огромное) Я правильно понимаю, что платы остаются те-же? И такой еще вопрос, прошивка 1_3_0_[led] в принципе без регистра работать не будет или только релейная часть?
Да схемотехника не менялась. Платы те же. Просто для прошивки AquaControllerNano v1.2.3 можно использовать китайский блок на твердотельном реле, можно "сваять" свой на bt139, а вот для LED версии нужен сдвиговый регистр. К сожалению места для него уже не хватило и он переехал на силовую плату. Поэтому если делать версию для LED можно взять готовую плату из шапки. Трехканальный выключатель предназначен именно для переключения двумя этими версиями. LED прошивка без регистра работать не будет.
Ммм, а в прошивке 1 2 3 температура выставляется только в диапазоне 16.00-25.50...??? что странно, изначально стоит значение 77 градусов, если щелкать вниз, то нормально уменьшается с шагом 0.25, но если щелкнуть вверх, то становится 16 и выше чем до 25.50 не поднимается. Как-то не корректно работает отключение фильтра, реле выключается буквально на пол секунды и включается снова, хотя сообщение на экране остается и канал свое состояние меняет(оба таймера и на 5 и на 30 мин), есть какие-то требования к настройке канала с фильтрами(ручная установка или еще где)? По истечению времени 5 и 30 мин меняется индикация канала, но остается висеть надпись Filter off 1 min... и не пропадает.
Alserk-3
11.09.2017, 22:04
Сегодня пришли платы, установил прошивки. Успел проверить только время, работает хорошо. Завтра буду разбираться с остальным. Спасибо за хорошее устройство.
AquaGomel
11.09.2017, 22:06
Ммм, а в прошивке 1 2 3 температура выставляется только в диапазоне 16.00-25.50...??? что странно, изначально стоит значение 77 градусов, если щелкать вниз, то нормально уменьшается с шагом 0.25, но если щелкнуть вверх, то становится 16 и выше чем до 25.50 не поднимается. Как-то не корректно работает отключение фильтра, реле выключается буквально на пол секунды и включается снова, хотя сообщение на экране остается и канал свое состояние меняет(оба таймера и на 5 и на 30 мин), есть какие-то требования к настройке канала с фильтрами(ручная установка или еще где)? По истечению времени 5 и 30 мин меняется индикация канала, но остается висеть надпись Filter off 1 min... и не пропадает.
Прошу прощения мой косяк,собрал билд не из того репозитория, ночью уже заливал... не посмотрел... завтра соберу правильный....
С герберами все понятно, а какой прогой смотреть файлы в архиве PCB v 1 3.zip???
Честно говоря хотел-бы переразвести под себя. Хочу дсплей буззер и джойстик сделать выносными, и по возможности вообще убрать ардуину и оставить только атмегу.
AquaGomel
12.09.2017, 22:20
Залил прошивку версии 1.2.3 Лед залью чуть позже. PCB v 1 3.zip можно смотреть либо P-CAD либо Altium Designer. Я пользуюсь последней.
Обнаружил глюк в V 1.2.3, не знаю правда на сколько критичный, за это время ничего страшного произойти не успеет) При отключении фильтра на 5/30 мин на это время перестает работать терморегуляция (нагрев/охлаждение) т.е. пока таймер останова фильтра до конца не отработает состояние реле не изменяется, хотя температура отображается верно.
AquaGomel
15.09.2017, 14:22
Обнаружил глюк в V 1.2.3, не знаю правда на сколько критичный, за это время ничего страшного произойти не успеет) При отключении фильтра на 5/30 мин на это время перестает работать терморегуляция (нагрев/охлаждение) т.е. пока таймер останова фильтра до конца не отработает состояние реле не изменяется, хотя температура отображается верно.
Терморегуляция перестает работать для всех каналов?
да, при изменении каналов то-же самое.
AquaGomel
15.09.2017, 14:47
да, при изменении каналов то-же самое.
Хорошо, спасибо, вечером проверю и поправлю.
AquaGomel
17.09.2017, 18:32
Залил исправленный вариант в шапку.
Alserk-3
23.09.2017, 19:08
Здравствуйте, контроллер работает хорошо, а когда можно будет потрогать мобильный клиент?
AquaGomel
23.09.2017, 19:25
Здравствуйте, контроллер работает хорошо, а когда можно будет потрогать мобильный клиент?
Думаю можно будет выложить версию для теста на след неделе. Правда сильно альфа версию...:002:
vBulletin версії 3.8.7, © 2000-2025, Jelsoft Enterprises Ltd.
Переклад: © Віталій Стопчанський, 2004-2010