RFID Reichweite erhöhen

Hallo zusammen,

ich möchte gerne die Reichweite meines RFID-RC5222 erhöhen.Aktuell habe ich eine Reichweite von ca.2 cm mit passivem Transpondern, ich würde gerne aber eine Reichweite von ca.10-15 cm haben.
Ist das möglich?

Vielen Dank für eure Hilfe.

pronicolas:
Hallo zusammen,

ich möchte gerne die Reichweite meines RFID-RC5222 erhöhen.Aktuell habe ich eine Reichweite von ca.2 cm mit passivem Transpondern, ich würde gerne aber eine Reichweite von ca.10-15 cm haben.
Ist das möglich?

Vielen Dank für eure Hilfe.

Mit den billigen Teilen eher nicht.

Da musst du mal nach RFID auf UHF-Frequenzen suchen, die können eine größere Reichweite.

Vielen Dank für deine Antwort. Ich wollte nicht unbedingt 200€ ausgeben, eher 20€.Gibt es eine andere Möglichkeit, außerdem sollte der Leser am besten so groß sein wie die billigen Teile.

Was meinst du mit anderer Möglichkeit ?

HotSystems:
Was meinst du mit anderer Möglichkeit ?

Ich bin mir ziemlich sicher er meint sehr billig und klein mit fast der Reichweite eines long range RFID. In etwa so wie ein Wohnmobil mit innen 7m und außen 3,5m Länge.

genau das meine ich, wie Viktor es meint.Kann du vlt ein Link von den Longe Range RFID Lesern mir schicken.
danke

pronicolas:
genau das meine ich, wie Viktor es meint.Kann du vlt ein Link von den Longe Range RFID Lesern mir schicken.
danke

Da wirst du wohl selbst googeln müssen.

Viktor93:
In etwa so wie ein Wohnmobil mit innen 7m und außen 3,5m Länge.

Du meinst sicher einen blaue Telefonzelle mit 1x1m und "Die ist ja innen viel größer als von außen?"

Es gehet mit nicht um Meter ich brauche einen Abstand von 15-30cm, mehr nicht.Dazwischen ist auch keine Wand oder irgendetwas anderes.

pronicolas:
Es gehet mit nicht um Meter ich brauche einen Abstand von 15-30cm, mehr nicht.Dazwischen ist auch keine Wand oder irgendetwas anderes.

Ist schon klar....die Antwort hast du doch schon erhalten.
Wenn du nicht damit einverstanden bist, ist es dein Problem.

Die billigen Dinger gibt es eben nicht mit einer größeren Reichweite.

Alternativ konntest du etwas mit der Antenne rumexperimentieren, dazu sind aber Hochfrequenzkenntnisse notwendig.

Hi

Experimentieren geht auch ganz ohne Ahnung, was man Da treibt.
Nur wird's dann halt schwierig, einen Erfolg zu wiederholen oder einen Misserfolg auszubessern - da halt Alles rein zufällig passiert und von Dir nicht gesteuert werden KANN, da Du die Interner nicht verinnerlicht hast.

Wie gesagt: KANN funktionieren, ist dann aber reiner Zufall und wird wohl beim 2.ten RFID-Leser nicht mehr funktionieren ... oder nur, wenn der Mond im großen Wagen mit Saturn in sonst was steht.

MfG

Wenn der Sender die Energie zu einem passiven RFID Chip übertragen muß, dann muß die Energie quadratisch mit der Entfernung zunehmen. D.h. für die 10-fache Entfernung (3cm -> 30cm) wird die 100-fache Sendeenergie benötigt. Das macht nicht nur technische Probleme, es wird möglicherweise auch keine Zulassung für so einen Sender geben.

je nach dem welche Tags du lesen möchtest, könnte evtl. dieser Leser helfen:

Diesen Hinweis fand ich interessant:
Normally, the unit can also work with normal EM cards, normal 1.8mm thickness card can reach 60cm range, 0.8mm card can reach 40cm range.

Du kannst den Verkäufer um ein Manual anschreiben.

Das ist keine Produktempfehlung, ich bin nur gerade darübergestolpert.

Wenn der Sender die Energie zu einem passiven RFID Chip übertragen muß, dann muß die Energie quadratisch mit der Entfernung zunehmen. D.h. für die 10-fache Entfernung (3cm -> 30cm) wird die 100-fache Sendeenergie benötigt. Das macht nicht nur technische Probleme, es wird möglicherweise auch keine Zulassung für so einen Sender geben.

Und nicht nur der stationäre Teil, auch der RFID-Tag muss eine höhere Sendeleistung aufbringen, um die Reichweite zu überbrücken.

Vielen Dank für eure vielen Antworten.Ich habe einen Mkr1000.Der Sketch will nicht komprimieren, da er irgendein Problem bei tasterstatus sieht.
Hier der Sketch

#include <SPI.h> // SPI-Bibiothek hinzufügen

#include <MFRC522.h> // RFID-Bibiothek hinzufügen

#define SS_1PIN 7 // SDA an Pin 10 (bei MEGA anders)
#define SS_2PIN 6
#define RST_PIN 5 // RST an Pin 9 (bei MEGA anders)

#define NR_OF_READERS 2
MFRC522 mfrc522(SS_1PIN, SS_2PIN); // RFID-Empfänger benennen
int taster = 4;
int tasterstatus = 0;
int ledrot = 3;
int geld = 2;
int RELAIS_PIN 1;
void setup() // Beginn des Setups:

{

Serial.begin(9600); // Serielle Verbindung starten (Monitor)

SPI.begin(); // SPI-Verbindung aufbauen

mfrc522.PCD_Init(); // Initialisierung des RFID-Empfängers

}
digitalWrite(ledrot,OUTPUT);
digitalWrite(ledgelb,OUTPUT);
digitalWrite(RELAIS_PIN,OUTPUT);
digitalWrite(taster,INPUT);
void loop() // Hier beginnt der Loop-Teil
{ 
 
  {
  tasterstatus=digitalRead(taster);
if (tasterstatus == HIGH)
{
digitalWrite(RELAIS_PIN, LOW);
digitalWrite(RELAIS_PIN , LOW);
digitalWrite(orangeled , HIGH);
digitalWrite(rotled,LOW);
Serial.println(" Relais wurde durch Taster ausgelöst");
delay(5000);
digitalWrite(orangeled,LOW);


}
else
{

}




{
 
if ( ! mfrc522.PICC_IsNewCardPresent())
  {
    return;
  }
  if ( ! mfrc522.PICC_ReadCardSerial())
  {
    return;
  }
  long code = 0;
  for (byte i = 0; i < mfrc522.uid.size; i++)
  {
    code = ((code + mfrc522.uid.uidByte[i]) * 10);
  }
  Serial.print("System wurde durch Karte entsperrt");
  Serial.println(code);
  if (code == Rfid SCHARF PIN)
  {
    digitalWrite(RELAIS_PIN, HIGH);
    digitalWrite(ledrot,HIGH);
   digitalWrite(ledgelb,LOW);
  }
}

  if ( ! mfrc522.PICC_IsNewCardPresent())
  
    return;
  }
  if ( ! mfrc522.PICC_ReadCardSerial())
  {
    return;
  }
  long code = 0;
  for (byte i = 0; i < mfrc522.uid.size; i++)
  {
    code = ((code + mfrc522.uid.uidByte[i]) * 10);
  }
  Serial.print("System wurde durch Karte entsperrt");
  Serial.println(code);
  if (code == RFID nicht scharf pin)
  {
    digitalWrite(RELAIS_PIN, LOW);
    digitalWrite(ledrot,LOW);
    digitalWrite(ledgelb,LOW);
    
  }
}

Hier die Fehlermeldung:“expected initializer before numeric constant”

Überprüfe deine Klammersetzung im Setup, da sind zu wenig bzw. falsche Klammern gesetzt.
Und bitte den Moderator deinen überflüssigen Thread zu löschen.

da fehlt was:

int RELAIS_PIN 1;

edit: und ja - Drück mal STRG-T - dann siehst du dass du Fehler in deiner Klammersetzung hast.

und noch was: Aktiviere die ausführliche Fehlermeldungen, eigentlich schreibt der Kompiler ziemlich genau raus, was ihm so stört.

Und die definitionen der Pins sind falsch, die gehören ins Setup.

ich bezweifle dass es richtig ist, aber es kompiliert (mit Warnings):

#include <SPI.h> // SPI-Bibiothek hinzufügen
#include <MFRC522.h> // RFID-Bibiothek hinzufügen

#define SS_1PIN 7 // SDA an Pin 10 (bei MEGA anders)
#define SS_2PIN 6
#define RST_PIN 5 // RST an Pin 9 (bei MEGA anders)

#define NR_OF_READERS 2
MFRC522 mfrc522(SS_1PIN, SS_2PIN); // RFID-Empfänger benennen
int taster = 4;
int tasterstatus = 0;
int ledrot = 3;

int geld = 2;
int RELAIS_PIN = 1;

const int ledgelb = 42;
const int orangeled = 42;
const int rotled = 42;

int RFID_nicht_scharf_pin = 42; //?
int Rfid_SCHARF_PIN = 42; //?

void setup() // Beginn des Setups:
{
  Serial.begin(9600); // Serielle Verbindung starten (Monitor)
  SPI.begin(); // SPI-Verbindung aufbauen
  mfrc522.PCD_Init(); // Initialisierung des RFID-Empfängers

  digitalWrite(ledrot, OUTPUT);
  digitalWrite(ledgelb, OUTPUT);
  digitalWrite(RELAIS_PIN, OUTPUT);
  digitalWrite(taster, INPUT);
}  // diese "Ende von Loop" Klammer habe ich versetzt


void loop() // Hier beginnt der Loop-Teil
{
  {
    tasterstatus = digitalRead(taster);
    if (tasterstatus == HIGH)
    {
      digitalWrite(RELAIS_PIN, LOW);
      digitalWrite(RELAIS_PIN , LOW);
      digitalWrite(orangeled , HIGH);
      digitalWrite(rotled, LOW);
      Serial.println(" Relais wurde durch Taster ausgelöst");
      delay(5000);
      digitalWrite(orangeled, LOW);
    }
    else
    {
    }

    
    {                                                    // WTF Klammer???
      if ( ! mfrc522.PICC_IsNewCardPresent())
      {
        return;
      }
      if ( ! mfrc522.PICC_ReadCardSerial())
      {
        return;
      }
      long code = 0;
      for (byte i = 0; i < mfrc522.uid.size; i++)
      {
        code = ((code + mfrc522.uid.uidByte[i]) * 10);
      }
      Serial.print("System wurde durch Karte entsperrt");
      Serial.println(code);
      if (code == Rfid_SCHARF_PIN) // ???
      {
        digitalWrite(RELAIS_PIN, HIGH);
        digitalWrite(ledrot, HIGH);
        digitalWrite(ledgelb, LOW);
      }
    }  // Ende der  WTF Klammer???

    if ( ! mfrc522.PICC_IsNewCardPresent())

      return;
  }
  if ( ! mfrc522.PICC_ReadCardSerial())
  {
    return;
  }
  long code = 0;
  for (byte i = 0; i < mfrc522.uid.size; i++)
  {
    code = ((code + mfrc522.uid.uidByte[i]) * 10);
  }
  Serial.print("System wurde durch Karte entsperrt");
  Serial.println(code);
  if (code == RFID_nicht_scharf_pin)
  {
    digitalWrite(RELAIS_PIN, LOW);
    digitalWrite(ledrot, LOW);
    digitalWrite(ledgelb, LOW);
  }
}

@noiasca
Sehr großzügig von dir, aber ich befürchte, du wirst dem TO damit nicht weiter helfen.

Er soll unbedingt Grundlagen lernen und nicht immer alles ohne zu überlegen zusammen kopieren.
Und wir müssen ihm dann die Kohlen aus dem Feuer holen.