Zapojene rele znefunkcni program

Uživatelský avatar
kiRRow
Příspěvky: 1147
Registrován: 07 kvě 2019, 07:03
Reputation: 0
Bydliště: Opava

Re: Zapojene rele znefunkcni program

Příspěvek od kiRRow » 22 zář 2019, 16:44

já myslel že schéma znamená co kde je jak zapojený a ták ... to je tak max steží blokové zapojení, podle kterého to vypadá, že 12V jde do čtečky rfid ? ... chuďěrka čtečka ... :(

Uživatelský avatar
dzooky
Příspěvky: 124
Registrován: 03 úno 2018, 01:09
Reputation: 0
Bydliště: Fintice
Kontaktovat uživatele:

Re: Zapojene rele znefunkcni program

Příspěvek od dzooky » 22 zář 2019, 16:58

Neee nemam tolko fixiek. Rfid na 3.3 rele 5v zas taky magor nie som ta by uz davno nefungovala


Sent from my iPhone using Tapatalk

Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

Re: Zapojene rele znefunkcni program

Příspěvek od pavel1tu » 22 zář 2019, 17:41

No, pokud to NANO napájí z 12V i cívku relé, tak to je mazec.
nevím jaký odběr má, ale každých 100mA je 0,7W a stabilizátoru an tom NANO musí být asi pěkně vedro ;)

Je to tak jednoduché, že nechápu jak na tom nenajít chybu.
Já bych i měřil 5V, jestli nepoklesne, pak by se mohlo sekat i to Arduino
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

Uživatelský avatar
dzooky
Příspěvky: 124
Registrován: 03 úno 2018, 01:09
Reputation: 0
Bydliště: Fintice
Kontaktovat uživatele:

Re: Zapojene rele znefunkcni program

Příspěvek od dzooky » 22 zář 2019, 17:47

Otestoval som..
Arduino bolo napajane cez usb a len ten zamok isiel z 12V, takze nemali nic spolocne
Vysledok rovnaky.

Vyskusal som len obycajne zopnutie nie bzucanie, taktiez vysledok rovnaky.

Mam inde nano s citackou.
Musim napajat s 12V lebo potom arduino blbne.
Ked som daval 5V co mam z rovnakeho zdrja arduino nebavilo.

Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

Re: Zapojene rele znefunkcni program

Příspěvek od pavel1tu » 22 zář 2019, 17:50

Ještě poradím,
já mám u všech RFID i dalších snímačů LED, které mi signalizují zelená-známá karta/červená-neznámá karta/žlutá-chyba čtení

někdy se stává, že ty čtečky z číny někam zabloudí a pomůže až restart.
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

ArduXPP
Příspěvky: 361
Registrován: 14 pro 2017, 19:31
Reputation: 0
Kontaktovat uživatele:

Re: Zapojene rele znefunkcni program

Příspěvek od ArduXPP » 22 zář 2019, 18:57

Když jsou rozdílné napájení, ale společné GND, tak to vliv má. Pak je potřeba vyzkoušet relé nastavit na galvanické oddělení

Uživatelský avatar
dzooky
Příspěvky: 124
Registrován: 03 úno 2018, 01:09
Reputation: 0
Bydliště: Fintice
Kontaktovat uživatele:

Re: Zapojene rele znefunkcni program

Příspěvek od dzooky » 22 zář 2019, 20:06

@pavel1tu
Ja som to sledoval na seriovej linke.
Program sa dostal do funkcie kde zistuje cislo karty ale nic nezistil.

Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

Re: Zapojene rele znefunkcni program

Příspěvek od pavel1tu » 22 zář 2019, 20:14

dzooky píše:
22 zář 2019, 20:06
@pavel1tu
Ja som to sledoval na seriovej linke.
Program sa dostal do funkcie kde zistuje cislo karty ale nic nezistil.
Já nevím - nic nezjistí ?
A co vyčte kdyř to nefunguje ? Vyčte správné číslo karty, nebo zkomolené, umí knihovna používat CRC komunikace z kartou ?

Už to vzdávám ....
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

marh
Příspěvky: 37
Registrován: 19 bře 2018, 15:13
Reputation: 0

Re: Zapojene rele znefunkcni program

Příspěvek od marh » 22 zář 2019, 22:56

vypísať:
parametre zdroja
parametre zámku
parametre réle
alebo obrázok
stačí kresliť vo windowse a nie kriedou na chodníku :)

el.zámky sú na striedavé a jednosmerné napätie , TESLA/Čína?
tá schéma je divná---do Arduino nano ide napájanie Plus tak prečo ide napájanie Plus z Arduina ešte ráz na réle. Ne obrázku je réle už napájané. Má to byť Plus a Signál z Arduina.
Réle je od Arduina často oddelený cez optočlen. Mínus a signál. Žiadne rušenie.

ak odpojíš réle a zámok a dáš tam LED tak si zistíš či je chýba v programe či v hardware.

Často sú tu len programátori alebo majstri ale často chýbajú základné znalosti z elektrotechniky.



vždy pomôže popis súčiastok/fotka/kód ak ide o mikročip

vďaka

Uživatelský avatar
dzooky
Příspěvky: 124
Registrován: 03 úno 2018, 01:09
Reputation: 0
Bydliště: Fintice
Kontaktovat uživatele:

Re: Zapojene rele znefunkcni program

Příspěvek od dzooky » 23 zář 2019, 09:11

1. Parametre zdroja tie velmi nepoviem. Ako som vyssie spominal je to PC zdroj ale uz je vybrany a doska osadena v mojej skrinke uz vela z nej nenacitam. Je to daco novsie 1-2 roky stare.
2. To ti tie vela toho nepoviem, bol dodany z branickou. Neni to ani tesla ani cina. Je to polske mozno vyrobene v cine.
Je na nom vytlacene 12 a 24 a 12 je odfajknute. V podstatne je jedno ci to das na jednosmerne alebo striedave napatie.
Pri jednosmernom len zopne. Pri striedavombude zopnat/bzucat.
3. Ohladom rele uz som tu raz pisal. je to rele z ciny napajane z arduina 5V


Toto je komplet kod programu

Kód: Vybrat vše

/********************************************************************************************/
/*                       -=  Slave 2 - branicka =-                                          */
/*********************************************************************************************
* Verzia: 0.92
* Popis: Program pre otvaranie garazovej brany RFID/Paywave
* Change log: 0.9  zakladna verzia otvarania
*             0.91 doladenie komunikacie, cas na zvonenie
*             0.92 doladovanie programu
*      
* Autor: dzooky
* Kontakt: www.dzooky.eu (info@dzooky.eu)
* --------------------------------------------------------------------------------------------
* Periferie:  MAX485  - RS485
*             MFRC522 - Citacka kariet
*             
*        
* -------------------------------------------------------------------------------------------- 
* Pinout:
* 
*               Periferia       Arduino
* Signal        Pin             Pin
* -------------------------------------------------------------------------------------------- 
* RX            RS485 RO        D2
* TX            RS485 DI        D3
* TXenable      RS485 DE + RE   D4
* Odomknutie    Rele            D5
* Zvoncek       Tlacidlo        D6
* RST/Reset     RST             D9
* SPI SS        SDA(SS)         D10
* SPI MOSI      MOSI            D11
* SPI MISO      MISO            D12
* SPI SCK       SCK             D13
* -------------------------------------------------------------------------------------------- 
* Message:
* 
* Typ           Meno            Smer      Popis 
* Boolean       data1           In        Otvor branu
* Boolean       data1           Out       Zvoncek
*********************************************************************************************/
#include <SoftwareSerial.h>
#include <SoftEasyTransfer.h>           //kniznica pre RS485
#include <SPI.h>                        //SPI kniznica
#include <MFRC522.h>                    //Kniznice pre MFRC522
#include <Bounce2.h>                    //Kniznica pre osetrenie zakmitov

//Definovanie pinov a pouzitych nazvov
#define RS485RX         2               //RO pin RS485
#define RS485TX         3               //DI pin RS485
#define TXenableRS485   4               //RE + DE
#define RELE            5
#define ZVONCEK         6
#define RST_PIN         9               //MFRC522 Reset
#define SS_PIN          10              //MFRC522 Set pin

SoftwareSerial RSSerial(RS485RX, RS485TX);  //Arduino RX - RS485 RO, Arduino TX - RS485 DI
SoftEasyTransfer ET;
struct PayloadTX{
byte nodeID, address;
boolean data1;                    //otvor branu
boolean data2;                    //nepouziva sa
int data3, data4, data5;};        //nepouziva sa
PayloadTX emontx;   // create an instance


//Cisla kariet
String read_rfid, old_rfid;       //Uchovanie cisla karty
String peto_mbank = "3788ddc8";
String peto_trkarta = "a7b7b219045038";

String peto_kluce = "d4b8a5be";
String ivka_kluce = "1478a4be";
String mamocka_kluce = "245644dc";

String smax1 = "c6f534b";
String smax2 = "6466a4be";
String cmax1 = "b47513ca";
String cmax2 = "e4b946cc";
boolean otvor = false;              //Premenna pre otvorenie, true ak je spravny kod
MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance.
const int cas_rele = 2000;
static uint32_t rele_start;
boolean RELAY = HIGH;

Bounce debouncer = Bounce(); 
boolean zvoncek;
const int zvoncek_timer = 10000;

void setup() 
  {
    Serial.begin(9600);               //Inicializacia seriovej komunikacie
    msgs(1,">>> Zaciatok inicializacie <<<");
    msgs(1,"Verzia: 1.92");
    msgs(1,"Inicializacia seriovej komunikacie");
           
    pinMode(TXenableRS485,OUTPUT);
    RSSerial.begin(9600);
    ET.begin(details(emontx), &RSSerial);
    digitalWrite(TXenableRS485,LOW);

    msgs(1,"Inicializacia citacky kariet");
    SPI.begin();                      //Inicializacia SPI zbernice
    mfrc522.PCD_Init();               //Inicializacia MFRC522 citacky

    msgs(1,"Inicializacia rele");
    pinMode(RELE, OUTPUT);
    digitalWrite(RELE, RELAY);

    msgs(1,"Inicializacia tlacidla");
    pinMode(ZVONCEK, INPUT_PULLUP);
    debouncer.attach(ZVONCEK);
    debouncer.interval(5); // interval in ms
    msgs(1,">>> Koniec inicializacie <<<");
  
  }

void loop()
  {
    citacka();
    //debouncer.update();
    //zvoncek = debouncer.read();
    //RSSerial.listen();
    //if(ET.receiveData()) komunikacia();   //Ak dostal data
    if(otvor == true) ovladanie_brany();
    }

void komunikacia()
  {
      msgs(1,"Master ma kontaktuje");
      if(emontx.nodeID == 0 && emontx.address == 2 && emontx.data1 == true) ovladanie_brany(); //Ak kontaktuje master prave mna
      if(zvoncek == true)
        {
          msgs(1,"Posielam data");
          emontx.nodeID = 2;                //1 - ID slave
          emontx.address = 0;               //0 - ID Mastra
          emontx.data1 = zvoncek;
          digitalWrite(TXenableRS485,HIGH);
          ET.sendData();
          digitalWrite(TXenableRS485,LOW);
        }
   }

void ovladanie_brany()
  {
        msgs(1,"Otvaram branu");
        rele_start = millis();
        otvor = false;
        while(millis() - rele_start < cas_rele)
          {
                    digitalWrite(RELE, RELAY);
                    RELAY = !RELAY;
                    delay(10);
          }
        digitalWrite(RELE, HIGH);
  }

boolean citacka()
  {
    Serial.println("som tu");
    // Look for new cards
    if ( ! mfrc522.PICC_IsNewCardPresent()) return false;

    // Select one of the cards
    if ( ! mfrc522.PICC_ReadCardSerial()) return false;

    dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size);
    Serial.println(read_rfid);
    if (read_rfid==peto_mbank || 
        read_rfid==peto_trkarta || 
        read_rfid==peto_kluce ||
        read_rfid==ivka_kluce ||
        read_rfid==mamocka_kluce ||
        read_rfid==smax1 ||
        read_rfid==smax2 ||
        read_rfid==cmax1 ||
        read_rfid==cmax2) 
      {
        msgs(0,"Spravny kod: ");
        otvor = true;
      }
    else
      {
        msgs(0,"Nespravny kod: ");
        otvor = false;
      }
    msgs(1,read_rfid);
    emfrc522.PICC_HaltA();
  }


/*
 * Helper routine to dump a byte array as hex values to Serial.
 */
void dump_byte_array(byte *buffer, byte bufferSize) 
  {
    read_rfid="";
    for (byte i = 0; i < bufferSize; i++) 
      {
        
        read_rfid=read_rfid + String(buffer[i], HEX);
      }
  }

void msgs(boolean type, String msg)
  {
    if(type == 0) Serial.print(msg);
    if(type == 1) Serial.println(msg);
  }

Obsahuje aj tlacidlo co je zvocek a RS485 ktory zatial nepouzivam.

Toto je funkcia ktora obsluhuje kontrolu karty a vyhodnotenie ci je spravna karta aby vedelo arduino ci ma otvarat

Kód: Vybrat vše

boolean citacka()
  {
    Serial.println("som tu");
    // Look for new cards
    if ( ! mfrc522.PICC_IsNewCardPresent()) return false;

    // Select one of the cards
    if ( ! mfrc522.PICC_ReadCardSerial()) return false;

    dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size);
    Serial.println(read_rfid);
    if (read_rfid==peto_mbank || 
        read_rfid==peto_trkarta || 
        read_rfid==peto_kluce ||
        read_rfid==ivka_kluce ||
        read_rfid==mamocka_kluce ||
        read_rfid==smax1 ||
        read_rfid==smax2 ||
        read_rfid==cmax1 ||
        read_rfid==cmax2) 
      {
        msgs(0,"Spravny kod: ");
        otvor = true;
      }
    else
      {
        msgs(0,"Nespravny kod: ");
        otvor = false;
      }
    msgs(1,read_rfid);
    emfrc522.PICC_HaltA();
  }


/*
 * Helper routine to dump a byte array as hex values to Serial.
 */
void dump_byte_array(byte *buffer, byte bufferSize) 
  {
    read_rfid="";
    for (byte i = 0; i < bufferSize; i++) 
      {
        
        read_rfid=read_rfid + String(buffer[i], HEX);
      }
  }
@marh
Neviem ci ma zmysel davat namiesto zamku led, lebo program nevyhodnoti ze ma otvarat branu, teda zopnut rele.

@pavel1tu
Pytal si sa co vrati ci skomolene alebo co.
No ako som pisal uz nevrati nic

Hlasku "Som tu" som dostaval teda program volal funkciu na zistovanie porovnavanie kariet.
Ale uz nevypisoval ziadnu kartu, teda jej cislo. Tusim ze sa dostaval aj do dump_byte_array ale nevratil ziadne cislo karty.

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 2 hosti