IR-Sensormodul, empfindlichkeit

IR-Sensormodul, empfindlichkeit

Hallo miteinander,

an meinem "Projekt" Stromzähler auslesen bin ich immer noch dran :-(.
inzwischen habe ich einen Code mit dem ich glaube weiter machen zu können und bekomme zumindest ein Ergebnis das in die richtige Richtung geht.

Jedoch ist mir aufgefallen je nachdem wie ich meinen IR Sensor vor meinen Stromzähler halte mal nur 00 Werte bekomme oder irgend einen Schrott oder Daten die ausschauen als wenn sie brauchbar wären.

Je nachdem in welchen Winkel, Abstand etc. ich vor dem Sendekopf des Stromzählers bin.

Daher wollte ich mal fragen wie empfindlich so ein teil denn ist.
Oder bilde ich mir das nur ein?

Wie kann ich es ermitteln wie ich meinen Sensor dran bauen muss damit ich immer gute Daten bekomme? denn ich kann das schlecht in den Leeren (Luft" Raum einfach rein stellen da muss ich schon eine Halterung für machen.

Hardware:
Bord: ==> ESP32 DEVKIT V1
Stromzähler: ==> ISKRA-MT681
IR-Modul: ==> TCRT5000

Aktueller Code:

/* Projekt
      Stromzähler auslesen
   Hadware
     Bord:         ==> ESP32 DEVKIT V1
     Stromzähler:  ==> ISKRA-MT681
     IR-Modul:     ==> TCRT5000
   Anschluss
     ESP32   (GND) <=> TCRT5000 (GND)
     ESP32   (3V3) <=> TCRT5000 (VCC)
     ESP32(PIN 15) <=> TCRT5000 (D0)
     ohne anschluß  => TCRT5000 (A0)
*/

// Serielle Schnittstelle TCRT5000 zum ESP32
    #define RXD2 15                         // TCRT5000 (D0)
    #define TXD2 13                         // ohne belegung
    #define Baudrate 9600                   // vorgabe vom Stromzähler
    #define Protocol SERIAL_8N1             // vorgabe vom Stromzähler
// Serielle Schnittstelle ESP32 zum PC
    #define Baudrate_USB 115200             // 


void setup() {
  // Schnitstelle Starten
    // TCRT5000 <=> ESP32 Format: Serial2.begin(baud-rate, protocol, RX pin, TX pin);
    Serial1.begin(Baudrate, Protocol, RXD2, TXD2);
    // ESP32 <=> PC
    Serial.begin(Baudrate_USB);
  Startsequenz();
}


void loop() {
  static unsigned long lastchar;            // zum Pause erkennen
  if (Serial1.available()) {                // Abfragen ob daten im Pufer sich befinden
    int inByte = Serial1.read();            // Empfang der Daten 
    if (inByte < 0x10) Serial.write('0');   // empfangene Daten nur einstellig führende Null einfügen
    Serial.print(inByte,HEX);               // empfange Daten ausgeben 
    Serial.write (' ');                     // leerzeichen in die Ausgabe einfügen
    lastchar = millis();                    // Pausen zähler zurück setzen
  }

  const int PAUSE = 350; // evtl. an tatsächliche Pause anpassen, so dass nur eine Neue Zeile passiert 
  if (millis() - lastchar > PAUSE) {        // Prüfen ob Pausenzeit erreicht wurde 
    Serial.println();                       // Leerzeile ausgeben 
    lastchar += PAUSE;                      // verstehe ich nicht, ... 
  }
}

void Startsequenz() {
  // Startsequenz
  Serial.println("");
  Serial.println("Stromzähler auslesen");
  Serial.println(""); 
  Serial.println(" Stromzähler: ISKRA-MT681");
  Serial.println(" IR-Modul:    TCRT5000");
  Serial.println("Anschluss");
  Serial.println("   ESP32   (GND) <=> TCRT5000 (GND)");
  Serial.println("   ESP32   (3V3) <=> TCRT5000 (VCC)");
  Serial.println("   ESP32(PIN " + String(RXD2) + ") <=> TCRT5000 (D0)");
  Serial.println("   ESP32 <=> TCRT5000 (Baudrate)     = " + String(Baudrate));
  Serial.println("");  
  Serial.println("Bereit .... !! Du auch? ;-)");
  Serial.println("");  
}

Gruß Mücke

Habe zwar keinen ISKRAxxx aber bei meinem Stromzähler / IR ist ein Sender und ein Empfänger nebeneinander angebracht. Hier macht die Orientierung des Lesekopfes einen deutlichen Unterschied. Mein Lesekopf ist in einem runden Gehäuse, welches einen Ringmagneten zur Befestigung hat. Versorgt wird das ganze (Lesekopfeinheit + ESP8266) per USB-5V Adapter. das Kabel hab' ich mit Tesafilm fixiert - da verdreht sich nix. Die Magnetkraft reicht für einen sicheren Halt am Stromzähler.
P.S.: schon mal bei https://www.volkszaehler.org/ vorbeigeschaut?

OK, wenn du deinen Lesekopf um 10 - 45° dehne würdest dann stimmen deine Werte auch nicht mehr?

Wenn dem so ist, dann wehre das eine Große Erleichterung und eine Fehlerquelle die ich beseitigen muss, um vernünftig weiter zu machen.


grafik

mein Sensor:
grafik

Ja bei www.volkszaehler.org habe ich schon vorbei geschaut, da ich die teile jedoch hier hatte dachte ich das ich das damit mache.

Ich hatte verfälschte / verstümmelte Daten, als ich den Empfänger ohne Gehäuse nur "ungenau", also praktisch frei schwebend, über dem Zähler hängen hatte. Seit dem Einbau in's Gehäuse und der Befestigung mittels Ringmagnet sind die Werte zuverlässig.
Hier mal meine Installation


auch wenn es doof klingt, doch das sind gute Nachrichten, denn ich mache das ja per Hand Frei in der Luft, ...

und ab und an sind Daten dabei die schauen schon sehr gut aus.

das bedeutet für mich Hinsetzen und ein Gehäuse bauen mit Magneten so das ich den Sensor immer gleich und das Gut vor den Sender bekomme.

danke!

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.