Rcwl 0516 + esp8266 nodemcu проблема с управляющим сигналом

Тема в разделе "ESP8266, ESP32", создана пользователем Аркадий, 28 май 2020.

Метки:
  1. SergeiL

    SergeiL Оракул Модератор

    Даже запитав его от отдельной батареи рядом с ESP8266 все равно он будет давать ложные срабатывания.
     
    ИгорьК нравится это.
  2. ИгорьК

    ИгорьК Гуру

    В общем, как я уже говорил, я не мог его с еспшкой запустить.
     
  3. SergeiL

    SergeiL Оракул Модератор

    Микроволновка в принципе подвержена ложным срабатываниям.
    Их можно, отсеевать, например по одиночным срабатываниям. Но это программно.
     
  4. ИгорьК

    ИгорьК Гуру

    Она там могла по пять раз подряд с равными промежутками семафорить. Я не смог уловить какой-то логики. Забил.
     
  5. SergeiL

    SergeiL Оракул Модератор

    Я обычно отдельные срабатывания откидываю.
    Если постоянно, в течении нескольких секунд - вероятность присутствия человека.
     
    ИгорьК нравится это.
  6. ИгорьК

    ИгорьК Гуру

    ESP или ардуино?
     
  7. Аркадий

    Аркадий Нерд

    К сожалению, у меня нет такой роскоши - ждать несколько секунд. В условии: есть 2-1,5 м видимости датчиком. Человек движется в сторону датчика с любой скоростью. К примеру: бегом. Задача: реакция датчика в начальной точке видимости.
    Постараюсь проверить все предложенные версии.
     
    Последнее редактирование: 30 май 2020
  8. Airbus

    Airbus Радиохулиган Модератор

    Круто!И что делает устройство?Захлопывает Турникет или бьет шокером непрошенного гостя?
     
  9. SergeiL

    SergeiL Оракул Модератор

    Мега32, В связи с ложными срабатываниями перешел полностью на PIR.
    PIR в закрытых помещениях нормально работают, стабильно, а на улице иногда бывают ложные срабатывания, летом.
    Солнце греет землю, а потом ветром сдувает тепло, похоже. Зимой практически нет ложных срабатываний.
     
    ИгорьК нравится это.
  10. Аркадий

    Аркадий Нерд

    Почти угадали. :) Дергает чеку у гранаты.
     
    Airbus нравится это.
  11. Аркадий

    Аркадий Нерд

    Не совсем согласен. Ставил PIR. Но у PIR есть три недостатка:
    1. "видит" только в прямой видимости, если нет препятствий между датчиком и человеком.
    В силу этого, устанавливается исключительно наружно.
    2. Не всегда вовремя срабатывает. (хоть в помещении, хоть, на улице). Если, не криминально время реакции, то можно. Для меня не приемлемо.
    3. Ложные срабатывания. В лабораторных условиях, все замечательно.Но в естественной среде, проблемы. На датчик может повлиять, хотя бы, сквозняк в помещении летом.
     
  12. Airbus

    Airbus Радиохулиган Модератор

    А если самому сделать как емкостной датчик?Приближается Некто—изменяется емкость—частота генератора уплывает.На контуре напряжение падает.Единица переходит в нол. Компаратор надежно фиксирует и выдает.
     
  13. Аркадий

    Аркадий Нерд

    Предложение имеет смысл для телефона или сенсорной кнопки, но бесполезно для моего проекта, где расстояние срабатывания должно быть 2м>L<1,5м, и радар должен "пробивать" не отражающие предметы (в данном случае, двери).
     
  14. Аркадий

    Аркадий Нерд

    Я исхожу и того, что на ложные срабатывания радара могут влиять только факторы не стабильного напряжения, или шумы, возникающие при подключении wifi контроллера. Так как, при включении wifi, контроллер мгновенно повышает потребление элэнергии. Но, здесь то же не все мне ясно. Если контроллер влияет на радар в устройстве, он должен аналогично влиять и на макетке? А этого нет. Во всяком случае я не наблюдал. Возможно дело в обвязке микросхемы радара. Сама микросхема, по сути - приемник. Очень чувствительна к любым изменениям окруж среды. Если обвязка не сбалансирована, то она может усиливать любые шумы, и провоцировать микросхему на подачу ложного импульса. С другой стороны, если антенна слишком чувствительна, она будет генерировать сигналы по любому поводу.
     
  15. Аркадий

    Аркадий Нерд

    Провел испытания радара на предмет ложных срабатываний.
    Однозначно могу утверждать, что ложные срабатывания, относящиеся к неустойчивости питания устраняются фильтром. И о них можно забыть.
    Все остальные ложные срабатывания ложатся исключительно на антенну.
    Избежать их можно установив антенну радара на 10-15 см от esp.
    За ночь ни одного лс. Еще потестю. Но, на первый взгляд, проблему можно считать решенной.
    Фильтр я оставил тот, что был 1000Мф -10 Ом - 1000Мф. Ключ оставил. Убрал дополнительное питание радара. Оставил 5В. Все работает исключительно хорошо.
     
    SergeiL и ИгорьК нравится это.
  16. SergeiL

    SergeiL Оракул Модератор

    Для помещения, наверное да, для улицы - не думаю, что не будет ложных срабатываний.
    У меня вокруг дома стоят что то типа LC-151, комбинированный, уличный.
    И то бывают ложные срабатывания.
    Да и в машине, в свое время микроволновка частенько срабатывала, при отсутствии живых существ вокруг.
     
    Аркадий нравится это.
  17. Аркадий

    Аркадий Нерд

    Все эти устройства - лишь инструмент (рояль) . Ну, не издает рояль ложных звуков, и вообще никаких, пока пальцы музыканта не ударят по клавишам! Ну, хоть, что с ним не делай! А, если издает, то виноват настройщик, не сбалансировавший натяжение противовесов клавишам!
     
  18. Аркадий

    Аркадий Нерд

    Что обнаружил: Выход D4 (GPIO2) связан с выходом TX (GPIO1). ШИМ на D4, о котором я писал раньше, это повторитель ШИМ на ТХ. Эти выводы можно, как-то развязать? По даташит GPIO2 - U1TXD, a GPIO1 - U0TXD. При назначении GPIO2 в качестве выхода или входа, на нем постоянно присутствует эта ШИМ. Никакие подтяжки не решают проблему. Кто-то сталкивался с подобным?

    Вот такой скетч. При любом раскладе на входе 10, на выходе 2 висит ШИМ. И ничего не сделать!

    Код (C++):
    extern "C" {
    #include "user_interface.h";
    }


    bool _bounseInputD10S = 0;
    bool _bounseInputD10O = 0;
    unsigned long _bounseInputD10P = 0UL;

    void setup()
    {
    pinMode(10, INPUT_PULLUP);
    pinMode(2, OUTPUT);
    digitalWrite(2, 0);


    _bounseInputD10O =  digitalRead(10);

    }
    void loop()
    {


    bool  _bounceInputTmpD10 =  (digitalRead (10));

    if (_bounseInputD10S)
        {
         if (millis() >= (_bounseInputD10P + 40))
             {_bounseInputD10O= _bounceInputTmpD10; _bounseInputD10S=0;}
         }
    else
        {
         if (_bounceInputTmpD10 != _bounseInputD10O )
             {_bounseInputD10S=1; _bounseInputD10P = millis();}
          }
    digitalWrite(2, _bounseInputD10O);
    }

    bool _isTimer(unsigned long startTime, unsigned long period )
      {
      unsigned long currentTime;
    currentTime = millis();
    if (currentTime>= startTime) {return (currentTime>=(startTime + period));} else {return (currentTime >=(4294967295-startTime+period));}
      }
     
    Последнее редактирование: 2 июн 2020
  19. Аркадий

    Аркадий Нерд

  20. SergeiL

    SergeiL Оракул Модератор

    Вы бы вставили код по правилам форума (сообщение №38), смотрите пункт "4 - Вставка кода" Правила здесь