1 2 3 4 5 6 7 8 9 10 7.5/10 7,63оценок: 8

Домашняя автоматика - своими силами

Тема в разделе "Умный дом", создана пользователем ВИД, 07.01.08.

Метки:
  1. AVG111
    Регистрация:
    25.09.18
    Сообщения:
    2.773
    Благодарности:
    1.267

    AVG111

    Живу здесь

    AVG111

    Живу здесь

    Регистрация:
    25.09.18
    Сообщения:
    2.773
    Благодарности:
    1.267
    Адрес:
    Москва
    Какая задержка?
    Получается так. Между чтением аналогового пина и работой с wifi нужна задержка. Оператор delay вставляет в программный код вызов процедур работы с wifi, и после loop они так же вызываются. Между этими вызовами есть задержка, и аналоговый пин сторонними процедурами не используется. Даже если один вызов "деградирует", то второй гарантированно выполняется.
    Надо будет ставить delay (1) в начале loop и в конце.
    Спасибо за эксперимент.
     
  2. Oddentity
    Регистрация:
    26.10.19
    Сообщения:
    169
    Благодарности:
    99

    Oddentity

    Живу здесь

    Oddentity

    Живу здесь

    Регистрация:
    26.10.19
    Сообщения:
    169
    Благодарности:
    99
    Адрес:
    Всеволожский и Приозерский р-н ЛО
    Как правило, в инсталляциях оно так или иначе где-то будет, шина универсальная. Разные счетчики опрашиваются по RS-485, датчики CO2, модули реле и т. д. А 1-wire очень специфический и мертворожденный стандарт, сейчас там разве что термометры и остались. Для каких-то частных случаев, типа длинная труба на производстве - наверное, 1-wire уместно, но для домашней автоматизации, конечно удобнее будет RS-485. Да и сложностей никаких - так же тянется витая пара по комнатам и сводится в слаботочный щит, только в щите оно не звездой как ethernet включается, а собирается в последовательную шину.
     
  3. Netbyka
    Регистрация:
    30.07.15
    Сообщения:
    3.888
    Благодарности:
    2.323

    Netbyka

    Живу здесь

    Netbyka

    Живу здесь

    Регистрация:
    30.07.15
    Сообщения:
    3.888
    Благодарности:
    2.323
    Для разных задач разные инструменты.
    Конечно, если у вас уже используется где-то 485 - логично использовать ее же и для чего-то другого.

    1wire удобно использовать именно для навешивания кучи термометров, когда можно пустить кабель с ними "вдоль трубы" или "по периметру здания" - только кабель и микросхемы, как гирлянду. Тут как раз преимущество в том что не требуются дополнительные адаптеры датчиков к шине данных.
    В других случаях оно и не надо.

    И обратное: если вам нужна как раз подобная "гирлянда" термометров, то делать ее на основе шины 485, к которой подключать адаптеры, к которым к каждому подключать одну маленькую микросхему - слишком расточительно, и говорит больше о том, что интегратор не очень понимает в технологии, но зато хорошо понимает в стоимости поставленного заказчику оборудования и своих услуг по его установке.
    Сколько там писали, 7 т. р. за одно устройство? :)]
     
  4. Arcnet
    Регистрация:
    24.12.09
    Сообщения:
    3.238
    Благодарности:
    3.526

    Arcnet

    Живу здесь

    Arcnet

    Живу здесь

    Регистрация:
    24.12.09
    Сообщения:
    3.238
    Благодарности:
    3.526
    Адрес:
    Пермь
    К вопросу о подключении гирлянды 1-wire датчиков через готовое устройство.
    Где-то у меня лежит вот такой девайс (DS9490):

    DS9490R-Connector-Pinout.jpg
    Правда, насчет программной поддержки ничего не скажу. Когда-то пробовал запустить через стандартную софтину. Вроде работало.
     
  5. Netbyka
    Регистрация:
    30.07.15
    Сообщения:
    3.888
    Благодарности:
    2.323

    Netbyka

    Живу здесь

    Netbyka

    Живу здесь

    Регистрация:
    30.07.15
    Сообщения:
    3.888
    Благодарности:
    2.323
    Да, там несколько софтин есть.
    Тоже такой был. Единственный недостаток - требует более-менее полноценного компьютера, с USB.
    С гирляндой метров на 20 точно работало
     
  6. arv13
    Регистрация:
    30.09.13
    Сообщения:
    689
    Благодарности:
    97

    arv13

    Живу здесь

    arv13

    Живу здесь

    Регистрация:
    30.09.13
    Сообщения:
    689
    Благодарности:
    97
    К сожалению у wb изделие только для двух устройств, причём каждое должно быть подключено отдельно.
    1-wire шина у меня классическая, витая пара, на ней гирлянда ds18b20. Метров 50 может. Все работает как положено. Просто новое оборудование не понимает 1-wire.
     
  7. Arcnet
    Регистрация:
    24.12.09
    Сообщения:
    3.238
    Благодарности:
    3.526

    Arcnet

    Живу здесь

    Arcnet

    Живу здесь

    Регистрация:
    24.12.09
    Сообщения:
    3.238
    Благодарности:
    3.526
    Адрес:
    Пермь
    Еще, как вариант. Компактная коробочка сразу с датчиком и Модбасом:
    Есть разные варианты датчиков

    1WireModbus.PNG

    Или вот такой трехголовый Змей Горыныч (бывают одно и двухканальные):

    1WireModbus_1.PNG
    1WireModbus_2.PNG
     
    Последнее редактирование: 04.01.24
  8. Oddentity
    Регистрация:
    26.10.19
    Сообщения:
    169
    Благодарности:
    99

    Oddentity

    Живу здесь

    Oddentity

    Живу здесь

    Регистрация:
    26.10.19
    Сообщения:
    169
    Благодарности:
    99
    Адрес:
    Всеволожский и Приозерский р-н ЛО
    В контроллере у них тоже есть порты 1-wire и туда можно гирляндой подключать, но много устройств на одной шине не рекомендуют. 50 метров может быть и заведется, но не факт что будет стабильно работать.
     
  9. Netbyka
    Регистрация:
    30.07.15
    Сообщения:
    3.888
    Благодарности:
    2.323

    Netbyka

    Живу здесь

    Netbyka

    Живу здесь

    Регистрация:
    30.07.15
    Сообщения:
    3.888
    Благодарности:
    2.323
    Приделал, в тестовом варианте.
    На базе все той же Wemos с отправкой по UDP.
    В счетчике внутри стоит штатная оптопара, ее подключаю ко входу транзисторного ключа.
    Вход ESP принудительно притянут к "земле" резистором, ключ подключает его к питанию 3.3В.
    Прерывание типа RISING, срабатывает при фронте импульса.

    Есть нюанс: при срабатывании идут помехи и наводки, с ними можно бороться аппаратно, но мне лень, поэтому в самом прерывании стоит ограничение: увеличивать счетчик только раз в 0.3 секунды.
    Этого достаточно чтобы срабатывало 1 раз на 1 вспышку, максимальная считаемая мощность при этом 12кВтч (3600 сек / 0.3 / 1000).
    Работает.
     
  10. AVG111
    Регистрация:
    25.09.18
    Сообщения:
    2.773
    Благодарности:
    1.267

    AVG111

    Живу здесь

    AVG111

    Живу здесь

    Регистрация:
    25.09.18
    Сообщения:
    2.773
    Благодарности:
    1.267
    Адрес:
    Москва
    Вот насчет помех, очень интересно. А попробуйте в цикле считывать состояние пина, будут там помехи? У меня с счетчике не оптопара, а по всей видимости просто открытый коллектор. С прерываниями не пробовал, а при считывании в цикле, помех нет.
    У меня как раз такая же проблема возникала при чтении оборотов вентилятора. Там то же стоит оптопара на выходе тахометра.
     
  11. Arcnet
    Регистрация:
    24.12.09
    Сообщения:
    3.238
    Благодарности:
    3.526

    Arcnet

    Живу здесь

    Arcnet

    Живу здесь

    Регистрация:
    24.12.09
    Сообщения:
    3.238
    Благодарности:
    3.526
    Адрес:
    Пермь
    Я бы, наверное, сделал так:
    Подтяжку входа резистором к плюсу питания. Ключ между входом и землей. Параллельно ключу емкость. Чтобы постоянная времени полученной RC цепочки гарантированно превышала время "дребезга". Но была с запасом меньше периода поступления "полезных" импульсов.
    Тогда первый импульс разряжает емкость через ключ, и пока конденсатор обратно не зарядится, уровень на входе не поднимется.
    Прерывание по спаду уровня на входе.
     
  12. AVG111
    Регистрация:
    25.09.18
    Сообщения:
    2.773
    Благодарности:
    1.267

    AVG111

    Живу здесь

    AVG111

    Живу здесь

    Регистрация:
    25.09.18
    Сообщения:
    2.773
    Благодарности:
    1.267
    Адрес:
    Москва
    Нашел статью, то же человек столкнулся с дребезгом при прерываниях с использованием оптопары
    https://arduino.ru/forum/pesochnitsa-razdel-dlya-novichkov/kak-ustranit-drebezg-na-preryvanii
     
  13. Netbyka
    Регистрация:
    30.07.15
    Сообщения:
    3.888
    Благодарности:
    2.323

    Netbyka

    Живу здесь

    Netbyka

    Живу здесь

    Регистрация:
    30.07.15
    Сообщения:
    3.888
    Благодарности:
    2.323
    Там не дребезг, там пролезает наводка 50гц, когда оптопара приоткрывает транзистор - отрицательные полуволны его похоже закрывают.
    Надо будет аналоговым осциллографом точнее глянуть.

    При опросе такого не будет заметно, потому что опрос в моменте, а потом цикл дальше уходит. Другое дело что если цикл быстрый можно несколько раз один и тот же импульс посчитать.
     
  14. Arcnet
    Регистрация:
    24.12.09
    Сообщения:
    3.238
    Благодарности:
    3.526

    Arcnet

    Живу здесь

    Arcnet

    Живу здесь

    Регистрация:
    24.12.09
    Сообщения:
    3.238
    Благодарности:
    3.526
    Адрес:
    Пермь
    Про "дребезг" это условное название. Думаю, что RC цепочка бы помогла. Но можно и программно заморочиться.
    Не так давно делал точную синхронизацию RTC часов по сигналам PPS от GPS модуля. GPS висел на проводах, фронты импульсов ESP32 ловила аппаратно. Проблем с ложными срабатываниями не было, точность фиксации фронтов получилась порядка десятков наносекунд.
     
  15. Netbyka
    Регистрация:
    30.07.15
    Сообщения:
    3.888
    Благодарности:
    2.323

    Netbyka

    Живу здесь

    Netbyka

    Живу здесь

    Регистрация:
    30.07.15
    Сообщения:
    3.888
    Благодарности:
    2.323
    Если коротко - там помеха микросекундными импульсами 50гц, полезный сигнал такой же длительности, только немного больше по амплитуде, конденсатор по вашей схеме позволяет увеличить его длительность, но требуется либо программная обработка либо увеличение напряжения на оптроне и делитель напряжения на входе.
    Попробую варианты, схему выложу, вдруг кому надо.