Умный Дом по Ethernet

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
andvas
Сообщения: 177
Зарегистрирован: 07 ноя 2011, 23:04
Откуда: Россия, Самара
Контактная информация:

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

Сообщение andvas » 17 апр 2013, 23:45

andvas писал(а):Вот за это большое спасибо Andrey_B. Давно ждал когда добавите поддержку температуры. У меня правда есть и тот и тот датчик, так что сегодня попробую залить прошивку и протестировать DHT11.
Andrey_B прошил я контроллер готовым hex. И почему то не заработал датчик. Описываю что делал , один датчик DHT11 и одно устройство Mega. У DHT11 1 нога-VCC (слева направо) , 2 нога-data, 4 нога -gnd. Сделал одну из ног в тип DSen. А показатели остались нулевые, попробовал на разных выводах, но результат везде отсутствовал.
И еще заметил в прошивке одну ошибку скорее всего, для меня по крайней мере. В свежем прошитом контроллере все ноги в состоянии NC. Беру любой вывод делаю его OUT. Появляются ссылки на ON, OFF, Type, Default state. Вывод прекрасно отключается и включается. Потом этот вывод делаю в type DSen, данных так и нет с датчика. Потом возвращаю вывод в состояние Out, при этом пропадают ссылки ON, OFF и появляется PWM(0-255). И никаким образом ссылки ON и OFF не появляются, если только не перепрошить atmega.

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

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

Сообщение Andrey_B » 18 апр 2013, 00:05

andvas, во-первых, следует проверить корректность подключения датчика (наличие подтягивающего резистора, см Datasheet). Во-вторых, код работы с датчиком сильно чувствителен к величине задержек, от которых зависит корректность работы протокола. Прошивка адаптирована к "фабричной" версии Мегадевайса, когда тактирование (F_CPU) идет от ENC28J60 и МК работает на частоте 12,5Мгц. При любом другом варианте работать не будет и нужно модифицировать прошивку.
Насчет описанной вами ситуации с конфигурацией посмотрю, спасибо.

select
Сообщения: 50
Зарегистрирован: 15 дек 2012, 20:06

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

Сообщение select » 18 апр 2013, 07:40

nevson писал(а):
dimonix писал(а): в крайнем случае делать токовую петлю с оптронной развязкой.
Можно подробнее?
Я делал так. См. вложение.
Рассчитано на работу с 24В. Однако устойчиво работает от 5 до 48В.
У меня в модуле 16 каналов ввода. Все они реализованы по этой схеме.
Если добавить светодиод параллельно со светодиодом оптопары, то получится индикация активного входа. Иногда удобно. Я использую.
Вложения
sch2.png
sch2.png (7.54 КБ) 18395 просмотров

andvas
Сообщения: 177
Зарегистрирован: 07 ноя 2011, 23:04
Откуда: Россия, Самара
Контактная информация:

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

Сообщение andvas » 18 апр 2013, 09:06

Andrey_B писал(а):Прошивка адаптирована к "фабричной" версии Мегадевайса, когда тактирование (F_CPU) идет от ENC28J60 и МК работает на частоте 12,5Мгц. При любом другом варианте работать не будет и нужно модифицировать прошивку
Теперь понятно почему не работает, у меня Мегадевайс собран как изначально схема была с 25 Мгц, жалко

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

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

Сообщение Andrey_B » 18 апр 2013, 09:27

"Фабричный" Мегадевайс мало чем отличается от изначальной схемы. Тактовый генератор 25МГц тактирует ENC28J60, от которой в свою очередь (поделившись пополам) тактируется Atmega328. Если у вас правильно прописаны фьюзы на внешний источник тактирования и этим внешним источником действительно является ENC28J60, тогда МК работает на частоте 12,5МГц и причина, по которой у вас не работает датчик в другом.
Попробуйте в этом случае разобраться в подключении датчика. Ошибка в коде маловероятна. В качестве основы использовалась библиотека DHT Library от Davide Gironi. Я протестировал работу датчика на все портах B/C/D. Питание датчика в моем случае составляло 3,3В (по даташиту от 3В до 5В).

igor333
Сообщения: 137
Зарегистрирован: 29 май 2012, 18:09

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

Сообщение igor333 » 18 апр 2013, 10:54

select писал(а):Если добавить светодиод параллельно со светодиодом оптопары, то получится индикация активного входа.
Так делать не стоит, ну разве оба перехода выполнены в на одной пластине и имеют одинаковые параметры, - лучше последовательно, после резистора, ну или параллельно IN-IN, со своим "резюком".

andvas
Сообщения: 177
Зарегистрирован: 07 ноя 2011, 23:04
Откуда: Россия, Самара
Контактная информация:

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

Сообщение andvas » 18 апр 2013, 12:52

Andrey_B писал(а):Я протестировал работу датчика на все портах B/C/D.
Andrey_B а присутствие 3,3 вольта на порту который установлен в DSen это так и нужно?

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

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

Сообщение Andrey_B » 18 апр 2013, 16:36

andvas, а это имеет какое-то значение? После сеанса (или попытки сеанса) с датчиком можно, наверное, ресетить порт таким образом, чтобы пин был в другом логическом состоянии. Но это на что-то влияет?

andvas
Сообщения: 177
Зарегистрирован: 07 ноя 2011, 23:04
Откуда: Россия, Самара
Контактная информация:

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

Сообщение andvas » 18 апр 2013, 17:15

Andrey_B писал(а):andvas, а это имеет какое-то значение? После сеанса (или попытки сеанса) с датчиком можно, наверное, ресетить порт таким образом, чтобы пин был в другом логическом состоянии. Но это на что-то влияет?
В принципе конечно не имеет никакого значение, просто имел ввиду не мешает ли это как нибудь датчику.

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

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

Сообщение Andrey_B » 18 апр 2013, 17:22

DHT11 - это датчик с цифровым протоколом. Нога микроконтроллера в процессе сеанса связи переключается с IN на OUT и меняет свои логические уровни с 0, на 1. Соответственно изменение логического уровня на ноге МК - это часть работы цифрового протокола. 0 от 1 отличается в данном случае наличием или отсутствием напряжения на ноге. Ну то есть совсем как-то некорректно говорить о том, что какой-то из двух логических уровней "мешает".
Если датчик исправен и правильно подключен, он должен работать с данной версией прошивки. У меня DHT11 на маленькой платке от DFRobot уже с подтягивающим резистором. Соединял как на фото тремя проводами. Заработало сразу.

andvas
Сообщения: 177
Зарегистрирован: 07 ноя 2011, 23:04
Откуда: Россия, Самара
Контактная информация:

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

Сообщение andvas » 18 апр 2013, 19:52

Andrey_B писал(а):DHT11 - это датчик с цифровым протоколом. Нога микроконтроллера в процессе сеанса связи переключается с IN на OUT и меняет свои логические уровни с 0, на 1. Соответственно изменение логического уровня на ноге МК - это часть работы цифрового протокола. 0 от 1 отличается в данном случае наличием или отсутствием напряжения на ноге. Ну то есть совсем как-то некорректно говорить о том, что какой-то из двух логических уровней "мешает".
Если датчик исправен и правильно подключен, он должен работать с данной версией прошивки. У меня DHT11 на маленькой платке от DFRobot уже с подтягивающим резистором. Соединял как на фото тремя проводами. Заработало сразу.
Спасибо вам Andrey_B за терпение к нам, неграмотным. Проверил фьюзы, они у меня стояли не так как вы описывали выше, изменил и все заработало.

nevson
Сообщения: 5
Зарегистрирован: 05 апр 2013, 19:51

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

Сообщение nevson » 18 апр 2013, 21:56

select писал(а): Я делал так. См. вложение.
Рассчитано на работу с 24В. Однако устойчиво работает от 5 до 48В.
Получается, нужно два источника питания? Один для мегадевайса и еще один для опторазвязки?

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

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

Сообщение Andrey_B » 19 апр 2013, 23:11

В новой beta-версии 3.05 исправлена ошибка, которая описана andvas в процедуре конфигурирования портов.
Но это не все. Теперь каждый вход (IN) считает количество срабатываний согласно режиму, заданному параметром "Mode". То есть любой из входов можно использовать как счетчик.
megad-328-counter.gif
megad-328-counter.gif (6.34 КБ) 18248 просмотров
Сразу за состоянием порта отображается значение внутреннего счетчика.
Значения сохраняются в оперативной памяти и после ресета/вкл-выкл питания естественно сбрасываются.

http://ab-log.ru/files/File/ip_manager3 ... _beta3.zip
http://ab-log.ru/files/File/ip_manager3 ... a3_hex.zip

dimik2000
Сообщения: 34
Зарегистрирован: 13 сен 2012, 12:51

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

Сообщение dimik2000 » 20 апр 2013, 00:25

Заметил такую особенность при использовании датчика DHT:
при установке входа в состояние DSen на странице отображаются значения ПРЕДЫДУЩЕГО опроса датчика.
т.е. в самый первый раз на странице температура - 0, влажность - 0. При обновлении страницы те значения которые были получены при предыдущем опросе датчика которые должны были вывестись на прошлой странице.

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

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

Сообщение Andrey_B » 20 апр 2013, 00:39

Насчет нулей не знаю, но то, что отображаются показания предыдущего запроса, это факт.
Ну, DHT11 - цифровой датчик, причем с проверкой контрольной суммы. Что он выдает, то мы и отображаем.
Как решение я пробовал делать подряд два запроса к датчику и отображать значения последнего ответа. Тогда все хорошо, но, соответственно, это занимает в 2 раза больше времени.
Так как реализация протокола построена на delay(), то сразу напрашивается рекомендация не совмещать функционально в рамках одного устройства порты с подключенными кнопками освещения и такими медленными цифровыми датчиками как DHT11/DHT22.
Поскольку нас интересуют реальные показания датчика в конкретный момент времени, а не какие-то абстрактные, я могу включить в прошивку двойной опрос. Но было бы на самом деле интересно узнать почему так происходит. Возможно датчик настолько медленный, что не может отдать результат сразу и ему требуется некоторое время. Возможно с DHT22 такой проблемы нет.

dimik2000
Сообщения: 34
Зарегистрирован: 13 сен 2012, 12:51

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

Сообщение dimik2000 » 21 апр 2013, 15:56

с DHT-22 тоже самое. Отображает предыдущие значения.

Dron
Сообщения: 207
Зарегистрирован: 08 мар 2013, 13:00

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

Сообщение Dron » 22 апр 2013, 14:22

Andrey_B, приветствую! не планируете ли Вы в ближайшем времени делать программный ШИМ, с проверкой прохождения синусоиды в розетке через ноль?

или вопрос ко всем остальным Гуру: кто знает, как схематически реализовать управление лампой переменного тока через ШИМ-выход, без дополнительного программирования? обычная симисторная схема при низком питании (уровень в программе на ноге с ШИМ < 200) на нагрузке выдаёт моргания лампы

поиск решения ни на форуме, ни "спроси у гугла" не помогли. единственное решение, найденное мной -- программная проверка прохождения синусоиды через ноль. в итоге ШИМ реализуется на любой ноге, но это занята 1 нога под вход синусоиды, плюс в мегадевайсе, как я понимаю, не реализовано.

всем, кто откликнется, заранее спасибо!

ExReader
Сообщения: 227
Зарегистрирован: 16 дек 2011, 10:05
Откуда: Уездный город Н-ск

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

Сообщение ExReader » 22 апр 2013, 15:24

Dron писал(а):Andrey_B, приветствую! не планируете ли Вы в ближайшем времени делать программный ШИМ, с проверкой прохождения синусоиды в розетке через ноль?

или вопрос ко всем остальным Гуру: кто знает, как схематически реализовать управление лампой переменного тока через ШИМ-выход, без дополнительного программирования? обычная симисторная схема при низком питании (уровень в программе на ноге с ШИМ < 200) на нагрузке выдаёт моргания лампы

поиск решения ни на форуме, ни "спроси у гугла" не помогли. единственное решение, найденное мной -- программная проверка прохождения синусоиды через ноль. в итоге ШИМ реализуется на любой ноге, но это занята 1 нога под вход синусоиды, плюс в мегадевайсе, как я понимаю, не реализовано.

всем, кто откликнется, заранее спасибо!
При "шимировании" (управлении по фазе) лампами накаливания сети 220 вольт без синхронизации по "нулю" никак... Иначе будет наблюдаться мерцание лампочки. При способе управления хоть на включение нагрузки (тиристоры) хоть отключение нагрузки (MOSFET), в любом случае время включения/отключения нужно синхронизировать... ;) Для проверки прохождения через "ноль" можно собирать "детекторы нуля" на рассыпухе или использовать специализированные микросхемы, типа HCPL3700. Сразу-же с опторазвязкой, можно цеплять сразу к МК. :)

alexsis_76
Сообщения: 1071
Зарегистрирован: 26 авг 2011, 05:09
Откуда: Забайкальский край п Оловянная

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

Сообщение alexsis_76 » 22 апр 2013, 16:36

может быть попробывать вот это http://www.chip-nn.ru/find.php?f=%CA1182%CF%CC1%D0 там на стр 13 что то про шим регулирования

Dron
Сообщения: 207
Зарегистрирован: 08 мар 2013, 13:00

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

Сообщение Dron » 22 апр 2013, 16:40

ExReader писал(а):При "шимировании" (управлении по фазе) лампами накаливания сети 220 вольт без синхронизации по "нулю" никак... Иначе будет наблюдаться мерцание лампочки. При способе управления хоть на включение нагрузки (тиристоры) хоть отключение нагрузки (MOSFET), в любом случае время включения/отключения нужно синхронизировать... ;) Для проверки прохождения через "ноль" можно собирать "детекторы нуля" на рассыпухе или использовать специализированные микросхемы, типа HCPL3700. Сразу-же с опторазвязкой, можно цеплять сразу к МК. :)
можно хоть 1 пример железячной реализации? вот хоть убейте, не понимаю, как увязать ШИМ на 490 Гц и ловлю ноля для 50 Гц схемотехнически =-(
железно-программный способ я уже понял как сделать. но не хотелось бы, боюсь не осилю грамотно дописать программу мегадевайса.
Последний раз редактировалось Dron 22 апр 2013, 16:58, всего редактировалось 1 раз.

Ответить