Страница 1 из 2

При подключенном замке гардиан, посылаются лишние сигналы.

Добавлено: Чт июл 11, 2019 16:02:01
axelive
Здравствуйте, недавно понадобилось подключить єм замок гардиан к системе ajax, и так как мои знания заканчиваются на лабораторных института 10 летней давности, то сам проект может выглядеть довольно странно, не правильно итд. Замок и целую коробку всякой всячины я уже купил ) придется делать до конца и понимать по ходу. Проблема заключается в следующем:

У меня есть nodemcu v3 он собирает сигналы с ajax реле путем разрыва GND и контакта D1 через транзистор и на основе этого открывает или закрывает замок сменой полярности на проводах, через два пяти контактных реле которые включаются через транзисторы, тк своего питания не хватит чтобы реле открылось. Вот все бы хорошо, и все вроде работает, но прочитав что для корректной работы замок должен посылать сигнал от 0,3-1с я понял что отправлял всего 50мс, и хотелось чтобы по правильному все было. Увеличив время до 300мс, замок стал открываться и закрываться пока не выключишь с ajax, а в логах я увидел что отрабатывает все тот же D1 вход с ajax, но сигнал никто не посылал... если отключить замок, а релюшки оставить то в логах все нормально.

Замок немного модернизировал добавил геркон, чтобы знать состояния и просто так сигналы не слать.

Вот схема(надеюсь я правильно ее составил с макета), а так же фото самого макета, ну и код.

Надеюсь на вашу помощь, тк сам я уже не понимаю...

Схема
СпойлерИзображение
Макет
СпойлерИзображение
Макет вблизи
СпойлерИзображение
схема замка
СпойлерИзображение
разобранный замок без геркона но уже с магнитом на супер клее.
СпойлерИзображение
Код
Спойлер

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


#include <stdio.h>
#include "lockFunctions.h"

//<a href="https://randomnerdtutorials.com/esp8266-pinout-reference-gpios/" rel="nofollow">https://randomnerdtutorials.com/esp8266-pinout-reference-gpios/</a>

int InputAjaxPin = D1;
int InputLockPin = D2;
int InputButtonPin = D4;

int OutputLockLedPin = D6;
int OutputCtrlLedPin = D3;
int OutputCtrlPinBlue = D7;
int OutputCtrlPinGreen = D8;

int InputAjaxDigitalValue;
int InputLockDigitalValue;
int InputButtonDigitalValue;

bool SignalAjaxDuplicatePreventFlag = true;
bool SignalButtonDuplicatePreventFlag = true;

bool ButtonToggle = false;
int FirstTimeFlag = true;

bool time_stop = false;
unsigned long time_cycle, time_temp = 0;

void setup() {
  // Initializing serial port for debugging purposes
  Serial.begin(115200);

  pinMode(OutputCtrlLedPin, OUTPUT); 
  pinMode(OutputCtrlPinBlue, OUTPUT); 
  pinMode(OutputCtrlPinGreen, OUTPUT);
  pinMode(OutputLockLedPin, OUTPUT);
  pinMode(InputAjaxPin, INPUT_PULLUP); 
  pinMode(InputLockPin, INPUT_PULLUP);  
  pinMode(InputButtonPin, INPUT_PULLUP); 
  Serial.println();
 
}

void loop() {
  InputAjaxDigitalValue = (digitalRead(InputAjaxPin) == 1) ? 0 : 1;
  InputButtonDigitalValue = (digitalRead(InputButtonPin) == 1) ? 0 : 1;
  InputLockDigitalValue = digitalRead(InputLockPin);

  //analogWrite(OutputCtrlPinGreen,0);
  //analogWrite(OutputCtrlPinBlue,0);

  if (FirstTimeFlag == true){
    FirstTimeFlag = false; 

    //if lock locked and ajax is locked
    if (InputLockDigitalValue == 1 && InputAjaxDigitalValue == 1){
      SignalAjaxDuplicatePreventFlag = true;
      analogWrite(OutputCtrlLedPin,1024);
      //DO nothing bc all locked
    }

    //if lock unlocked but ajax is locked 
    if (InputLockDigitalValue == 0 && InputAjaxDigitalValue == 1){
      SignalAjaxDuplicatePreventFlag = true;
      analogWrite(OutputCtrlLedPin,1024);
      //send singnal to lock 
      lock(OutputCtrlPinBlue, OutputCtrlPinGreen, time_cycle, time_stop);
    }

    //if lock unlocked and ajax is unlocked 
    if (InputLockDigitalValue == 0 && InputAjaxDigitalValue == 0){
      SignalAjaxDuplicatePreventFlag = false;
      analogWrite(OutputCtrlLedPin,0);
      //DO nothing bc all unlocked
    }

    //if lock locked and ajax is unlocked 
    if (InputLockDigitalValue == 1 && InputAjaxDigitalValue == 0){
      SignalAjaxDuplicatePreventFlag = false;
      analogWrite(OutputCtrlLedPin,0);
      //send singnal to unlock 
      unlock(OutputCtrlPinBlue, OutputCtrlPinGreen, time_cycle, time_stop);
    }

    Serial.print("FIRST RUN TIME, LOCK INIT STATE : ");
    Serial.print(InputLockDigitalValue);
    Serial.println();
    Serial.println("------------------");
    Serial.println();
  }
  else
  {
    time_temp = millis();

    //instead delay
    
    if (time_stop){
      if ((time_temp-time_cycle) >= 100){
          time_stop = false;
          analogWrite(OutputCtrlPinGreen,0);
          analogWrite(OutputCtrlPinBlue,0);
          Serial.println();
          Serial.print(time_temp-time_cycle);
          Serial.print("====");
          Serial.println(); 
      }  
    }
    
    
    //ON AJAX UNLOCK  
    if (InputAjaxDigitalValue == 0 && SignalAjaxDuplicatePreventFlag == true){
      SignalAjaxDuplicatePreventFlag = false;

      Serial.println();
      Serial.println("---------AJAX UNLOCK:---------");
      Serial.print(InputAjaxDigitalValue);
      Serial.println();
      
      //IF LOCK LOCKED 
      analogWrite(OutputCtrlLedPin,0);
      if (InputLockDigitalValue == 1){
        //send lock singnal to unlock it 
        unlock(OutputCtrlPinBlue, OutputCtrlPinGreen, time_cycle, time_stop);
      }
    }
  
    //ON AJAX LOCK  
    if (InputAjaxDigitalValue == 1 && SignalAjaxDuplicatePreventFlag == false){
      SignalAjaxDuplicatePreventFlag = true;

      Serial.println();
      Serial.println("---------AJAX LOCK:---------");
      Serial.print(InputAjaxDigitalValue);
      Serial.println();

      //IF LOCK UNLOCKED 
      analogWrite(OutputCtrlLedPin,1024);
      if (InputLockDigitalValue == 0){
        //send lock singnal to lock it 
        lock(OutputCtrlPinBlue, OutputCtrlPinGreen, time_cycle, time_stop);
      }
    }

    //ON BUTTON DOWN
    if (InputButtonDigitalValue == 1 && SignalButtonDuplicatePreventFlag == true){
      SignalButtonDuplicatePreventFlag = false;

      Serial.println();
      Serial.println("---------BUT---------");
      Serial.println();

      if (InputLockDigitalValue == 1){
        //send lock singnal to unlock it 
        unlock(OutputCtrlPinBlue, OutputCtrlPinGreen, time_cycle, time_stop);
      }else
      {
        lock(OutputCtrlPinBlue, OutputCtrlPinGreen, time_cycle, time_stop);
      }
    }
  
    //ON BUTTON UP  
    if (InputButtonDigitalValue == 0 && SignalButtonDuplicatePreventFlag == false){
      SignalButtonDuplicatePreventFlag = true;
    }
  }

  //IF LOCK LOCKED
  if (InputLockDigitalValue == 1){
    analogWrite(OutputLockLedPin,1024);
  }
  //IF LOCK UNLOCKED
  else
  { 
    analogWrite(OutputLockLedPin,0);
  }
}   

код файла лок

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


/*
  To unlock - blue - zero
  To lock - blue - +12v
*/
void lock(int OutputCtrlPinBlue, int OutputCtrlPinGreen, unsigned long &time_cycle, bool &time_stop) {
      
  analogWrite(OutputCtrlPinBlue,1024);
  analogWrite(OutputCtrlPinGreen,0);

  Serial.println();
  Serial.println("---------LOCK---------");
  Serial.println();

  time_cycle = millis();

  time_stop = true;

  //delay(300);

  //default ctrl signal 0 till ajax send signal
  //analogWrite(OutputCtrlPinBlue,0);
  //analogWrite(OutputCtrlPinGreen,0);
}

void unlock(int OutputCtrlPinBlue, int OutputCtrlPinGreen, unsigned long &time_cycle, bool &time_stop) {
  
  analogWrite(OutputCtrlPinBlue,0);
  analogWrite(OutputCtrlPinGreen,1024);

  Serial.println();
  Serial.println("---------UNLOCK---------");
  Serial.println();

  time_cycle = millis();

  time_stop = true;

  //delay(300);

  //default ctrl signal 0 till ajax send signal
  //analogWrite(OutputCtrlPinGreen,0);
  //analogWrite(OutputCtrlPinBlue,0);
}


Re: При подключенном замке гардиан, посылаются лишние сигнал

Добавлено: Чт июл 11, 2019 17:03:41
Ivanoff-iv
странная схема... :
на 5в вход схемки подается 12в...
преобразователь питания задействован только для открытия одного транзистора...
если схема срисована с макетки... то причиной всему могут быть наводки по GND и хреновое качество беспаечных плат.
П.С.: пожалуйста всё длинное уберите под спойлер - весь экран смозолил пока промотал... (названий блоков не привел, т.к. забывал их, пока до окошка с текстом доматывал... :) )

Re: При подключенном замке гардиан, посылаются лишние сигнал

Добавлено: Чт июл 11, 2019 17:20:39
axelive
[uquote="Ivanoff-iv",url="/forum/viewtopic.php?p=3664684#p3664684"]на 5в вход схемки подается 12в...[/uquote]

Я тоже думал что 5 нужно, оказалось до 20в )) зарядил 12

[uquote="Ivanoff-iv",url="/forum/viewtopic.php?p=3664684#p3664684"]преобразователь питания задействован только для открытия одного транзистора...[/uquote]

Начал вычитывать и смотреть видео, пишут транформаторы греются очень рекомендовали это, подумал что так будет лучше ) хотя и они у меня есть

[uquote="Ivanoff-iv",url="/forum/viewtopic.php?p=3664684#p3664684"]П.С.: пожалуйста всё длинное уберите под спойлер - весь экран смозолил пока промотал... (названий блоков не привел, т.к. забывал их, пока до окошка с текстом доматывал... :) )[/uquote]

сделано )

[uquote="Ivanoff-iv",url="/forum/viewtopic.php?p=3664684#p3664684"]если схема срисована с макетки... то причиной всему могут быть наводки по GND и хреновое качество беспаечных плат.[/uquote]

а наводки в смысле ?

Re: При подключенном замке гардиан, посылаются лишние сигнал

Добавлено: Чт июл 11, 2019 17:42:34
Ivanoff-iv
минуса с реле вон какой длинный крюк делают... да через все платы... почему не напрямую?

Re: При подключенном замке гардиан, посылаются лишние сигнал

Добавлено: Чт июл 11, 2019 17:47:10
mickbell
[uquote="axelive",url="/forum/viewtopic.php?p=3664690#p3664690"][uquote="Ivanoff-iv",url="/forum/viewtopic.php?p=3664684#p3664684"]П.С.: пожалуйста всё длинное уберите под спойлер - весь экран смозолил пока промотал... (названий блоков не привел, т.к. забывал их, пока до окошка с текстом доматывал... :) )[/uquote]
сделано )[/uquote]Да где же сделано-то? Всё так, как и было. Картинки под спойлер надо. Все.

Re: При подключенном замке гардиан, посылаются лишние сигнал

Добавлено: Пт июл 12, 2019 08:48:16
axelive
[uquote="mickbell",url="/forum/viewtopic.php?p=3664705#p3664705"][uquote="axelive",url="/forum/viewtopic.php?p=3664690#p3664690"][uquote="Ivanoff-iv",url="/forum/viewtopic.php?p=3664684#p3664684"]П.С.: пожалуйста всё длинное уберите под спойлер - весь экран смозолил пока промотал... (названий блоков не привел, т.к. забывал их, пока до окошка с текстом доматывал... :) )[/uquote]
сделано )[/uquote]Да где же сделано-то? Всё так, как и было. Картинки под спойлер надо. Все.[/uquote]

Думал длинное это код) поправил
Ivanoff-iv писал(а):минуса с реле вон какой длинный крюк делают... да через все платы... почему не напрямую?
Завтра с утра попробую чем-то более длинным напрямую, но чувство у меня что не может быть все так просто...

----

пока мое дете не проснулось, чтобы я нормально замок проверил спрошу, у замка написано в схеме 3 строчка

Изображение

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

Re: При подключенном замке гардиан, посылаются лишние сигнал

Добавлено: Пт июл 12, 2019 09:53:26
Ivanoff-iv
Этого тока не надо бояться, но к нему надо быть готовым...
если БП слаб, этот ток может даже полностью перезапустить по питанию всю схему...
можно на плюс и минус контактов реле (контакты входа питания) добавить конденсатор ~1000 мкФ, броски тока немного сгладит,
можно последовательно с мотором резистор низкоомный поставить, ток кз упадет, правда упадет и сила мотора...
в минусовой провод можно добавить шунт и снимать с него напряжение, так можно будет отслеживать момент окончания хода штока и отключать мотор не по времени с запасом, а по факту закрытия, тогда этот ток будет протекать очень короткое время.

Re: При подключенном замке гардиан, посылаются лишние сигнал

Добавлено: Пт июл 12, 2019 12:03:58
mickbell
[uquote="Ivanoff-iv",url="/forum/viewtopic.php?p=3664963#p3664963"]Этого тока не надо бояться, но к нему надо быть готовым...
если БП слаб, этот ток может даже полностью перезапустить по питанию всю схему...
можно на плюс и минус контактов реле (контакты входа питания) добавить конденсатор ~1000 мкФ,[/uquote]Почему именно тыщу? Маловато не будет? В описании постом выше в последней строчке докУмента указано 10000 мкФ (почему-то обозвав их зарядом, а не ёмкостью), так, может быть, именно десять тыщ и поставить? А уже перед конденсатором можно и резистор маленький.

Re: При подключенном замке гардиан, посылаются лишние сигнал

Добавлено: Сб июл 13, 2019 14:08:03
axelive
[uquote="Ivanoff-iv",url="/forum/viewtopic.php?p=3664963#p3664963"]можно на плюс и минус контактов реле (контакты входа питания) добавить конденсатор ~1000 мкФ, броски тока немного сгладит,
можно последовательно с мотором резистор низкоомный поставить, ток кз упадет, правда упадет и сила мотора...
в минусовой провод можно добавить шунт и снимать с него напряжение, так можно будет отслеживать момент окончания хода штока и отключать мотор не по времени с запасом, а по факту закрытия, тогда этот ток будет протекать очень короткое время.[/uquote]

Это 3 разных можно "или" или "и" ) ?

и про шунт и снятия напряжения, как это реализовать, как выглядит схема ? это мне придется брать сигнал с этого шунта в ардуино и посылать сигнал на закрытие\открытие? или я не так понял ?

Re: При подключенном замке гардиан, посылаются лишние сигнал

Добавлено: Сб июл 13, 2019 18:27:08
Ivanoff-iv
провод минуса переложить - обязательно,
конденсатор на питание контактов реле - очень желательно
цепи контроля тока (шунт и т.д.) - по желанию... (на стабильновть не влияет, но мотор прослужит подольше если не будет пытаться открывать открытое и закрывать закрытое, плюсом контроль состояния замка сделкть можно)

Re: При подключенном замке гардиан, посылаются лишние сигнал

Добавлено: Сб июл 13, 2019 18:41:13
musor
вобщето для этого уконцевики ставят по току будут сболи зимой в мороз и в жару летом а в дождь....ваше молчу будет авария
сигнал с датчика тока послек формирователя уровня перепада 0/1 подантся на вход прерывания процесора или на спец фход управления микросхемы драйвенра мотора(мостовой) таких чипоф полно в сери Вахххх и никаких реле не надовхдами рулит сам процик уровнями 0/1 в уровнях кмоп 3в3

Re: При подключенном замке гардиан, посылаются лишние сигнал

Добавлено: Вс июл 14, 2019 10:54:02
axelive
[uquote="Ivanoff-iv",url="/forum/viewtopic.php?p=3665680#p3665680"]провод минуса переложить - обязательно[/uquote]

я попробовал, был в шоке.... я месяц вожусь, думал у меня крыша едет... думал что то с транзисторами... и остальное... переставил на более короткое расстояние минус, и пропало открывание\закрывание... но в логах пишет лишние пару сигналов...

я подумал, заказал макетки для пайки, паяльную станцию... буду это дело паять и проверять ) надеюсь все будет ок, и перейду к стадии "учимся травить"

[uquote="Ivanoff-iv",url="/forum/viewtopic.php?p=3665680#p3665680"]конденсатор на питание контактов реле - очень желательно[/uquote]

пробовать ставить 1000 мкф ? или как заметил mickbell 10к ?
musor писал(а):вобщето для этого уконцевики ставят по току будут сболи зимой в мороз и в жару летом а в дождь....ваше молчу будет авария
сигнал с датчика тока послек формирователя уровня перепада 0/1 подантся на вход прерывания процесора или на спец фход управления микросхемы драйвенра мотора(мостовой) таких чипоф полно в сери Вахххх и никаких реле не надовхдами рулит сам процик уровнями 0/1 в уровнях кмоп 3в3
без обид, часть я не понял,

1) почему будут сбоить и что ?
2) про формирование перепада я не понял.
3) какого рода авария ?
4) можете скинуть пример чипа - у меня опыта мало, я вот заказал себе по незнанию вот это

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

Re: При подключенном замке гардиан, посылаются лишние сигнал

Добавлено: Вс июл 14, 2019 12:20:32
Ivanoff-iv
не понял? про провод: "я попробовал, был в шоке..." это значит помогло или нет? должно было помочь
про конденсатор: достатьчно даже небольшой керамики, она поглотит вч выбросы, более же мощный кондей будет помогать бп в более долгий период = должен избавить от больших провалов питания при недостаточной мощности бп (не думаю, что без конденсатора питание системы проваливается до перезагрузки мозгов...) если питание на бп вольт до 5и не падает - емкий кондер не нужен.
—————
Гонец спиртогонский о том вещает, что, коли механизм заблокирован будет (водою ли студеною в день зимний, морозный, мальцами/удальцами ли неразумными) то мотору тяжело будет и никому об этом будет неведомо и никто его не пощадит и не пожалеет даже...

Re: При подключенном замке гардиан, посылаются лишние сигнал

Добавлено: Вс июл 14, 2019 15:29:56
axelive
[uquote="Ivanoff-iv",url="/forum/viewtopic.php?p=3665977#p3665977"]не понял? про провод: "я попробовал, был в шоке..." это значит помогло или нет? должно было помочь[/uquote]

помогло, перестало прыгать, НО в логах все равно пишет, думаю если все пропаять уйдет, для того и буду в макетке делать) чтоб уж точно проверить.
Ivanoff-iv писал(а):Гонец спиртогонский о том вещает, что, коли механизм заблокирован будет (водою ли студеною в день зимний, морозный, мальцами/удальцами ли неразумными) то мотору тяжело будет и никому об этом будет неведомо и никто его не пощадит и не пожалеет даже...
ну в этом плане, у меня в роли концевика гекон(лишнего не пошлет, если конечно сам не умрет ), буду открывать по минимальному времени, как и открываю думаю должно быть ок, да и в многоквартирном доме, не думаю что будет агрессивная среда ).

Надеюсь в понедельник, вторник приедет станция, сяду вечерком руки себе попалю и отпишусь).

---

у меня есть вопрос не по теме, смотрел видео по затравке плат, вот вся жидкость которая останется после, ее в канализацию сливать можно? или лучше ее как то разбавить, погасить чем то ?

Re: При подключенном замке гардиан, посылаются лишние сигнал

Добавлено: Вс июл 14, 2019 16:18:21
mickbell
[uquote="axelive",url="/forum/viewtopic.php?p=3665953#p3665953"][uquote="Ivanoff-iv",url="/forum/viewtopic.php?p=3665680#p3665680"]конденсатор на питание контактов реле - очень желательно[/uquote]пробовать ставить 1000 мкф ? или как заметил mickbell 10к ?[/uquote]Хотя бы что-нибудь поставьте. И посмотрите, как оно повлияет. Если никак или недостаточно - тогда увеличивайте. Кроме вас никто не попробует, а иначе истину не получить.

Re: При подключенном замке гардиан, посылаются лишние сигнал

Добавлено: Пн июл 15, 2019 13:41:54
axelive
[uquote="mickbell",url="/forum/viewtopic.php?p=3666082#p3666082"][uquote="axelive",url="/forum/viewtopic.php?p=3665953#p3665953"][uquote="Ivanoff-iv",url="/forum/viewtopic.php?p=3665680#p3665680"]конденсатор на питание контактов реле - очень желательно[/uquote]пробовать ставить 1000 мкф ? или как заметил mickbell 10к ?[/uquote]Хотя бы что-нибудь поставьте. И посмотрите, как оно повлияет. Если никак или недостаточно - тогда увеличивайте. Кроме вас никто не попробует, а иначе истину не получить.[/uquote]

поставил 1000мкф 25в(вычитал что нужно брать V в x1.5 x2 больше номинал, если я не то вычитал скажите) последовательно питанию реле(через него идет питание),само реле слышу тикает, но замок молчит...может я не так понял ? теперь осталось найти 10000 )) они жутко большие ... бывают эти дела размером не с кулак младенца ?

Re: При подключенном замке гардиан, посылаются лишние сигнал

Добавлено: Пн июл 15, 2019 13:49:14
Ivanoff-iv
надо параллельно! и как можно ближе к контактам реле.

Re: При подключенном замке гардиан, посылаются лишние сигнал

Добавлено: Пн июл 15, 2019 14:44:40
axelive
[uquote="Ivanoff-iv",url="/forum/viewtopic.php?p=3666431#p3666431"]надо параллельно! и как можно ближе к контактам реле.[/uquote]

а понял, щас проверю, а ближе к контактам реле ? почему ?

Re: При подключенном замке гардиан, посылаются лишние сигнал

Добавлено: Пн июл 15, 2019 15:36:02
Ivanoff-iv
конденсатор для питания представляет собой разрыв провода (потому он и не заработал последовктельно), но для выбросов он представляет собой к.з., и чем короче будет это к.з. тем меньше шансов у помех выбраться в другие цепи.

Re: При подключенном замке гардиан, посылаются лишние сигнал

Добавлено: Пн июл 15, 2019 16:42:25
axelive
Спасибо за пояснение, спаяю отпишусь еще