Умный Дом по Ethernet

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
Andrey_B
Администратор
Сообщения: 4081
Зарегистрирован: 18 мар 2011, 12:06

Re: Умный Дом по Ethernet

Сообщение Andrey_B » 30 май 2011, 11:05

THK писал(а):Хорошо-бы, чтобы один из выходов можно было настроить как Watchdog.
Мысль интересная. Идея понятна, но я бы попросил привести несколько примеров использования этой штуки, чтобы четко понимать как это дело можно использовать.
Если со счетчиком все понятно, то тут, наверное, следует на пальцах порассуждать.

THK
Модератор
Сообщения: 579
Зарегистрирован: 18 мар 2011, 19:00
Откуда: Серпухов, МО

Re: Умный Дом по Ethernet

Сообщение THK » 30 май 2011, 17:16

Andrey_B писал(а):Мысль интересная. Идея понятна, но я бы попросил привести несколько примеров использования этой штуки, чтобы четко понимать как это дело можно использовать.
Если со счетчиком все понятно, то тут, наверное, следует на пальцах порассуждать.
Первый вариант, который навел меня на эту мысль, включение резервного сервера. Но тут вылезают проблемы с переключением 1-Wire сети.
Второй вариант, это включение ручного управления. Вы писали, что для запуска отопления необходимо переключить несколько тумблеров, а почему-бы не доверить это автомату?
Третий, наверное самый разумный, включение зумера. Типа, посмотри хозяин, что-то с сервером...
Вообще, мне, эта функция ненужна. Просто пришла мысль, решил поделиться. Авось кому пригодится...

PS Небольшой отчет о проделанной работе... :D
Устройство "прошил". В процессе его оживления вылезло несколько багов.
1. Накосячил с питанием. В качестве стабилизатора 3,3 В применил МС IRU1010-33, в даташите указано, что у нее максимальное входное напряжение 7 В. Недолго думая, развел на плате второй стабилизатор на 5 В.
В результате питаю плату от 12 В (мне надо от 12) 78L05 понижает напряжение до 5 В, от которых питаю IRU1010-33.
Косяк в том, что максимальный выходной ток 78L05 - 100 мА, а ENC28J60 хочет 180 мА (!) в итоге у 78L05 срабатывает защита! Перепаял на 7805, греется как печка, но работает. Надо думать на тему LM2576...
2. По прошивке (от 27.05.2011) прошивал Ваш бинарник. То, что бросилось в глаза.
2.1. Функцию АЦП можно назначить пинам, на которых ее нет.
2.2. Состояние входов почему то инверсное (сейчас в этом не вполне уверен, пишу по памяти из дома, мог запутаться из-за следующего косячка). ;)
2.3. Какой то касяк с управлением выходами (мой или прошивки)... В WEB-интерфейсе нажимаю ссылку ON - светодиод (который на плате) не горит, OFF - загорелся, ну думаю и здесь инверсия. Но не тут-то было! ON - светодиод остается гореть OFF - потух.
Выяснил, что устройство меняет состояние выхода при сочетании команд

Код: Выделить всё

_http://192.168.0.14/sec/?pt=1&cmd=1:1
_http://192.168.0.14/sec/?pt=1&cmd=1:0
или при подаче команды _http://192.168.0.14/sec/?pt=1&cmd=1:2 два раза подряд.

Больше позаниматься с девайсом сегодня не удалось, завтра надо попробовать ф-ю АЦП...

Andrey_B
Администратор
Сообщения: 4081
Зарегистрирован: 18 мар 2011, 12:06

Re: Умный Дом по Ethernet

Сообщение Andrey_B » 30 май 2011, 17:49

THK писал(а):Косяк в том, что максимальный выходной ток 78L05 - 100 мА, а ENC28J60 хочет 180 мА (!) в итоге у 78L05 срабатывает защита! Перепаял на 7805, греется как печка, но работает. Надо думать на тему LM2576...
Да, почти любые Ethernet-чипы греются прилично и потребляют при этом немало. Ничего не сделаешь. А 100Мб/с греются еще больше, а на 1Гб/с вообще можно яичницу пожарить ;)
THK писал(а):2. По прошивке (от 27.05.2011) прошивал Ваш бинарник. То, что бросилось в глаза.
2.1. Функцию АЦП можно назначить пинам, на которых ее нет.
Здесь вы правы. Но я пока не придумал что с этим делать.
Если привязываться к схеме, которую мы тут обсуждаем, то можно в прошивке определить, что АЦП бывает только у C0-C3. Как вы считаете?
THK писал(а):2.2. Состояние входов почему то инверсное (сейчас в этом не вполне уверен, пишу по памяти из дома, мог запутаться из-за следующего косячка). ;)
Этого вроде бы не должно быть.
THK писал(а):2.3. Какой то касяк с управлением выходами (мой или прошивки)... В WEB-интерфейсе нажимаю ссылку ON - светодиод (который на плате) не горит, OFF - загорелся, ну думаю и здесь инверсия. Но не тут-то было! ON - светодиод остается гореть OFF - потух.
Не совсем понятно о каком светодиоде вы говорите. Если о том, который является частью платы B1, то он МЕНЯЕТ свое состояние ТОЛЬКО при нажатии кнопок. Он никак не должен реагировать на выходы. Или вы о другом светодиоде? О каком?
THK писал(а): Выяснил, что устройство меняет состояние выхода при сочетании команд

Код: Выделить всё

http://192.168.0.14/sec/?pt=1&cmd=1:1
[url=http://192.168.0.14/sec/?pt=1&cmd=1:0]http://192.168.0.14/sec/?pt=1&cmd=1:0[/url]
или при подаче команды http://192.168.0.14/sec/?pt=1&cmd=1:2 два раза подряд.
Давайте более подробно разберемся в ситуации.
Допустим начальное состояние OFF.
Посылаем 1:1. Оно должно стать ON
Посылаем 1:0. Оно должно стать снова OFF
Описываемая вами проблема в том, что после 1:1, 1:0 оно остается в состоянии ON?
Дело в том, что State берется не из памяти. Оно считывается из реального состояния порта. Поэтому какая-либо ошибка в коде маловероятна. У себя ничего подобного не замечал. Но еще раз проверю.

THK
Модератор
Сообщения: 579
Зарегистрирован: 18 мар 2011, 19:00
Откуда: Серпухов, МО

Re: Умный Дом по Ethernet

Сообщение THK » 30 май 2011, 18:35

Если привязываться к схеме, которую мы тут обсуждаем, то можно в прошивке определить, что АЦП бывает только у C0-C3. Как вы считаете?
Наверное это наилучший вариант. Только С0 - С6, все 7 линий порта С имеют АЦП.
Не совсем понятно о каком светодиоде вы говорите. Если о том, который является частью платы B1, то он МЕНЯЕТ свое состояние ТОЛЬКО при нажатии кнопок. Он никак не должен реагировать на выходы. Или вы о другом светодиоде? О каком?
Именно о нем! :oops: Теперь понятно, мой косяк!
Давайте более подробно разберемся в ситуации.
Наверное и разбирать нечего. Я не знал,что он МЕНЯЕТ свое состояние ТОЛЬКО при нажатии кнопок. Я соединил входной (D0) и выходной (D1) пины, в WEB-интерфейсе начал менять состояние выхода и смотреть (GET) вход, обратил внимание на красненький светодиодик и тут, с радости наверное, меня "переклинило" :shock:
Завтра, на свежую голову, испытаю все еще раз, внимательно и вдумчиво (а может и не раз ;) )

Andrey_B
Администратор
Сообщения: 4081
Зарегистрирован: 18 мар 2011, 12:06

Re: Умный Дом по Ethernet

Сообщение Andrey_B » 30 май 2011, 18:50

THK писал(а):
Если привязываться к схеме, которую мы тут обсуждаем, то можно в прошивке определить, что АЦП бывает только у C0-C3. Как вы считаете?
Наверное это наилучший вариант. Только С0 - С6, все 7 линий порта С имеют АЦП.
Согласен. Сделаю. Только C6 не выведен на клемму. Он используется как Reset для программирования.
THK писал(а):
Не совсем понятно о каком светодиоде вы говорите. Если о том, который является частью платы B1, то он МЕНЯЕТ свое состояние ТОЛЬКО при нажатии кнопок. Он никак не должен реагировать на выходы. Или вы о другом светодиоде? О каком?
Именно о нем! :oops: Теперь понятно, мой косяк!
Вообще такое поведение B1 осталось от процесса отладки работы с кнопками. На работающей прошивке его нужно заменить на что-то более полезное и логичное. Есть какие-нибудь идеи? Вывести на общую клемму пока не предлагать. ;) Хочу оставить "лампочку" под тестовые штуки.

THK
Модератор
Сообщения: 579
Зарегистрирован: 18 мар 2011, 19:00
Откуда: Серпухов, МО

Re: Умный Дом по Ethernet

Сообщение THK » 30 май 2011, 19:07

Только C6 не выведен на клемму. Он используется как Reset для программирования.
Просмотрел...
Вывести на общую клемму пока не предлагать. ;)
Ну ежели так, то можно показывать наличие связи с сервером или просто мигать им, показывая, что ATmega не зависла, а на общую клемму я его уже вывел... :D Кстати, функция Watchdog в меге кажется есть, она задействована?

Andrey_B
Администратор
Сообщения: 4081
Зарегистрирован: 18 мар 2011, 12:06

Re: Умный Дом по Ethernet

Сообщение Andrey_B » 30 май 2011, 23:37

Изменил прошивку. Теперь АЦП можно настроить только на портах C*
Свежий архив выложил.
Не хватает памяти. Причем не для кода, а для переменных. Доступно всего 1Кб.
Самый простой выход, уменьшать объем буфера под HTML. Пока влезаем, но получается проще сделать "некрасивый" код, который пишет готовые блоки во флеш память, чем "красивый", но формирующий куски страничек динамически. Если посмотреть в код, то там видно кусок и того и другого кода. "Красивый" пришлось закоментировать. ;)

boban_
Сообщения: 12
Зарегистрирован: 30 апр 2011, 19:59

Re: Умный Дом по Ethernet

Сообщение boban_ » 31 май 2011, 06:19

Добрый день.

А почему за основу проекта не взять например это: STM32VLDiscovery.

Взято отсюда: http://www.compeljournal.ru/enews/2011/2/4.

Я понимаю что есть работающая основа, но вкладываться изначально в в тупиковое направление.

Здесь же, насколько я понимаю, единая респективная архитектура железа.

THK
Модератор
Сообщения: 579
Зарегистрирован: 18 мар 2011, 19:00
Откуда: Серпухов, МО

Re: Умный Дом по Ethernet

Сообщение THK » 31 май 2011, 07:16

По просьбе and_bomy выкладываю свою печатку (в формате SprintLayout 5.0):
Layout.rar
(42.33 КБ) 2391 скачивание
О проблемах спитанием я писал выше, надо "раздвинуть" элементы, чтобы 7805 ничего не касалась. На следующей версии платы разведу питатель на TPS5430 (нашел в закромах, остались от предыдущего проекта). Наверное это будет оптимальный вариант. Как думаете?
На плате разводка под обычный разъем + трансформатор (20F001N, FC-22, FL1012, UF-5001X), разъем и трансформатор взяты с какой то старой сетевой карты.
Разъем входов/выходов со старой материнки - IDE...
Последний раз редактировалось THK 31 май 2011, 09:22, всего редактировалось 2 раза.

boban_
Сообщения: 12
Зарегистрирован: 30 апр 2011, 19:59

Re: Умный Дом по Ethernet

Сообщение boban_ » 31 май 2011, 07:25

Да, стоимость вхождения равна стоимости самого устройства.

THK
Модератор
Сообщения: 579
Зарегистрирован: 18 мар 2011, 19:00
Откуда: Серпухов, МО

Re: Умный Дом по Ethernet

Сообщение THK » 31 май 2011, 08:05

boban_ писал(а):Да, стоимость вхождения равна стоимости самого устройства.
Стоимость устройства равна ~300 рублей :) ENC28J60 + Atmega168 остальное, если подумать, валяется под ногами... Разумеется, если Вы радиолюбитель. А кто еще возьмет в руки паяльник?

Andrey_B
Администратор
Сообщения: 4081
Зарегистрирован: 18 мар 2011, 12:06

Re: Умный Дом по Ethernet

Сообщение Andrey_B » 31 май 2011, 10:46

boban_ писал(а):А почему за основу проекта не взять например это: STM32VLDiscovery.
Я понимаю что есть работающая основа, но вкладываться изначально в в тупиковое направление.
Здесь же, насколько я понимаю, единая респективная архитектура железа.
В этой ветке я уже высказывался на эту тему. Сегодня AVR, завтра Cortex, послезавтра каменный топор и пещера ;)
Надо же было на чем-то попробовать. И, поверьте, LQFP100/LQFP64 - это не тоже самое, что PDIP28. Конечно, собрать можно, но уже проще заказать изготовление или купить готовые платы. И пошел счет на тысячи.
Еще раз хочу повторить, что идея не в самом железе, оно может быть любым, идея в том, чтобы построить Умный Дом на каких-то очень распространенных, доступных и простых программно-аппаратных элементах, позволяющих конструировать любые конфигурации.

А что касается тупиковое или не тупиковое. 6 месяцев и любое самое новомодное решение будет казаться тупиковым. Этак можно ничего и не делать. ;)

THK
Модератор
Сообщения: 579
Зарегистрирован: 18 мар 2011, 19:00
Откуда: Серпухов, МО

Re: Умный Дом по Ethernet

Сообщение THK » 31 май 2011, 13:33

Повторил испытания устройства, все прекрасно работает!
Натолкнулся на непонятное поведение WEB-интерфейса:
Пину назначена ф-я Out, хочу поменять на NC - браузер предлагает сохранить файл:
eEO9iKny.rar
(440 байт) 1975 скачиваний
Переключение между остальными функциями происходит без проблем.

PS Прошивка предпоследняя от 28.05.2011

Andrey_B
Администратор
Сообщения: 4081
Зарегистрирован: 18 мар 2011, 12:06

Re: Умный Дом по Ethernet

Сообщение Andrey_B » 31 май 2011, 15:07

Как-то я совсем упустил, что иногда бывает нужным и "расконфигурировать" порт. ;)
Поправлю.

Andrey_B
Администратор
Сообщения: 4081
Зарегистрирован: 18 мар 2011, 12:06

Re: Умный Дом по Ethernet

Сообщение Andrey_B » 31 май 2011, 22:57

Собственно, поправил.

THK
Модератор
Сообщения: 579
Зарегистрирован: 18 мар 2011, 19:00
Откуда: Серпухов, МО

Re: Умный Дом по Ethernet

Сообщение THK » 31 май 2011, 23:56

Andrey_B писал(а):Собственно, поправил.
Спасибо!

Есть пара вопросов, по которым хочется получить "просветление" :D
Какие у Вас планы по поводу порта PB0? (про PB1 молчу ;) )
Есть-ли смысл тактировать мегу от собственного кварца? Кроме отладочных целей. Если тактировать от ENC28J60 освобждается порт PB7, который в принципе тоже можно использовать для линий ввода/вывода.

Я веду к тому, что конечный смысл устройства в том, чтобы получить максимальное число каналов с наименьшими затратами и удобным управлением. Так может стоит "выжать" из него максимум?
Два канала (PB0 и PB7) на дороге не валяются. Или я не прав?

По поводу PB1, честно пытаюсь придумать для этого светодиода применение, но на ум пока ничего не приходит... А у Вас какие мысли? Может просто поджигать его на время наличия "1" на любом из входов? Может помочь, если "залипнет" какая нибудь кнопка.

Andrey_B
Администратор
Сообщения: 4081
Зарегистрирован: 18 мар 2011, 12:06

Re: Умный Дом по Ethernet

Сообщение Andrey_B » 02 июн 2011, 10:41

Я думаю, что:
PB0 использовать можно.
Если тактировать МК от ENC28J60, то PB7 также можно использовать в качестве IO.
У себя пока использую внешний генератор на XTAL1-XTAL2, так как это влияет на надежность девайса в случает ошибок в коде.
Единственное, что немного останавливает, это объем EEPROM. Надо провести мероприятия по оптимизации работы с EEPROM (о которых мы уже говорили), чтобы добавить еще 2 порта.

THK
Модератор
Сообщения: 579
Зарегистрирован: 18 мар 2011, 19:00
Откуда: Серпухов, МО

Re: Умный Дом по Ethernet

Сообщение THK » 02 июн 2011, 11:32

Единственное, что немного останавливает, это объем EEPROM. Надо провести мероприятия по оптимизации работы с EEPROM (о которых мы уже говорили), чтобы добавить еще 2 порта.
Понятно.

Случайно обратил внимание на эти строчки в даташите
Speed Grade:
– ATmega48V/88V/168V: 0 - 4 MHz @ 1.8V - 5.5V, 0 - 10 MHz @ 2.7V - 5.5V
– ATmega48/88/168: 0 - 10 MHz @ 2.7V - 5.5V, 0 - 20 MHz @ 4.5V - 5.5V
Отсюда вопрос. Какая частота тактирования при работе от ENC28J60?
У нас питание 3,3 В, т.е. получается, что рекомендованная частота до 10 MHz.
В даташите на ENC28J60 указано:
5V tolerant inputs
Может, для надежности, стоит поднять питание меги до 5 В? Как Вы считаете?

У Вас, как я понял, такты 16 MHz. Ничего похожего на глюки не замечали?

boban_
Сообщения: 12
Зарегистрирован: 30 апр 2011, 19:59

Re: Умный Дом по Ethernet

Сообщение boban_ » 03 июн 2011, 11:15


boban_
Сообщения: 12
Зарегистрирован: 30 апр 2011, 19:59

Re: Умный Дом по Ethernet

Сообщение boban_ » 03 июн 2011, 11:16

Сильно понравилось.

Буду пытаться перенести на ARM.

Ответить