HB-UNI-Sen-RFID-RC - Anpassung für Wiegand-Leser möglich?

Entwicklung und Bau von Hardware aller Art, die im HM-Umfeld eingesetzt werden kann

Moderator: Co-Administratoren

mcbo
Beiträge: 76
Registriert: 16.08.2016, 15:45
Danksagung erhalten: 3 Mal

Re: HB-UNI-Sen-RFID-RC - Anpassung für Wiegand-Leser möglich?

Beitrag von mcbo » 05.06.2020, 21:54

Hallo Jérôme,
jp112sdl hat geschrieben: Du meinst den Taster an Kanal 8 ?
Nein, ich habe im vorhergehenden Sketch (ohne Taster an GPIO) mal folgende kleine Änderung in der "RFID.h" eingebaut:

Unter

Code: Alles auswählen

#ifdef USE_WIEGAND
   if (rdrDev.available()) {
zähle ich bei erkannter gleicher ID zum letzten Scan, einen Zähler hoch:

Code: Alles auswählen

     if (String(rdrDev.getCode()) == String(oldid)) {
      idcount = idcount + 1;
     }
     else {
      idcount = 0;
     }
Unter

Code: Alles auswählen

 // check for release
      else if( (matches & 0b00000011) == 0b00000010 ) {
unterscheide ich, ob die ID mehr als 2x gescannt wurde:

Code: Alles auswählen

 if( idcount > 2 ) {

        idcount = 0;
        s = longpressed;
        DPRINTLN(F("longpressed"));
        this->device().buzzer().on();
        
        // clear longlong
        matches &= 0b11000111;
        
       } else {
   
        s = released;
        DPRINTLN(F("released"));
        this->device().buzzer().on(millis2ticks(100));
       }
Das ist so sicher nicht schön, erzeugt mir aber nach 3 gleichen Scans, ein Longpress Ereignis.
Allerdings auch so lange bis ich wieder eine Karte lese. :wink:
jp112sdl hat geschrieben: Was meinst du mit "stehen bleiben"?
Ein Longpress wird so lange gesendet (alle paar ms) wie du den Taster gedrückt hältst.
Wie oben erklärt, feuert der Sketch nach meiner Modifikation ein Longpress - Dauersignal.
Der "BUZZER_PIN" ist dann auch permanent auf High.
Da habe ich bestimmt einen Fehler.
Sollte auch nur ein Test sein.
jp112sdl hat geschrieben: Richtig wäre, den Lesevorgang so zu bauen, dass eine dauerhaft gelesene ID auch kontinuierlich während der ganzen Zeit präsentiert wird.
Ich denke mal, das nicht alle Wiegand fähigen Leser, automatisch mehrfach hintereinander lesen.
Testweise habe ich momentan einen "ZOTER" RFID-Reader angeschlossen.
Der liest nur einmal, dann muß man die Karte erneut vorhalten oder bewegen.

Könnte ich Dir einen Wiegand-Leser zur Verfügung stellen, um das Projekt weiter nach vorne zu bringen? :?:
Ich hätte hier noch einen "ZOTER" RFID-Reader liegen.

Gruß

Marcel

jp112sdl
Beiträge: 6407
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 304 Mal
Danksagung erhalten: 615 Mal
Kontaktdaten:

Re: HB-UNI-Sen-RFID-RC - Anpassung für Wiegand-Leser möglich?

Beitrag von jp112sdl » 05.06.2020, 23:04

mcbo hat geschrieben:
05.06.2020, 21:54
unterscheide ich, ob die ID mehr als 2x gescannt wurde:
Aber innerhalb welcher Zeit?
Also woher weißt du jetzt, ob du nicht "2x kurz" meinst, statt "1x lang" ?
mcbo hat geschrieben:
05.06.2020, 21:54
Wie oben erklärt, feuert der Sketch nach meiner Modifikation ein Longpress - Dauersignal.
Das ist das Problem... du weißt nicht, wann "losgelassen" wurde und der "lange Drücken" Status zurück gesetzt werden kann?
Du bräuchtest noch einen zweiten Alarm-Timer. Wenn innerhalb einer Zeitspanne x Mal gescannt wurde = langer Druck.

Oder man nimmt den Taster für die Konstellation
"Taster gedrückt halten + Scan" = langer Druck
mcbo hat geschrieben:
05.06.2020, 21:54
Könnte ich Dir einen Wiegand-Leser zur Verfügung stellen, um das Projekt weiter nach vorne zu bringen?
Erstmal nicht. Reichelt Lieferung kam gestern endlich und ich widme mich erstmal wieder anderen Projekten.

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

mcbo
Beiträge: 76
Registriert: 16.08.2016, 15:45
Danksagung erhalten: 3 Mal

Re: HB-UNI-Sen-RFID-RC - Anpassung für Wiegand-Leser möglich?

Beitrag von mcbo » 15.06.2020, 23:23

Hallo Jérôme,

ich bin gerade dabei mir einen Prototypen zu bauen.
Bisher war alles nur auf einem Breadboard gesteckt.
Die Taster Abfrage, habe ich erst einmal in die Wiegand.cpp eingebaut
und sende bei jedem Tastendruck, eine feste ID.

Ich habe jetzt aber ein ganz anderes merkwürdiges, Hardware-Problem.
Von meinen 3 „China Arduino-Pro-Mini“, erkennt nur noch einer die Wiegand Interrupts an Port 2 und 3.
Bei den Beiden defekten kommt keine Auswertung oder nur HEX 00000000. :cry:
Alle 3 haben exakt den gleichen Sketch aufgespielt und vorher, am Wiegand-Reader funktioniert. :roll:

Testweise habe ich einen Minisketch mit "digitalRead" von Port 2 und 3 gebaut.
Damit funktionieren die Port 2und 3, an allen Boards. :roll:

Auch 2 10K Pulldown Wiederstände an Port 2/3 gegen Masse, brachte keinen Erfolg.

Es werden sicher die Interrupts nicht richtig erkannt.
Liegt das eventuell an den "günstigen China-Boards" :wink:
Es sind aber original Atmega 328P verbaut. :wink:

Kann man da noch was mit Fuses Bits richten?
Die Bootloader habe ich schon neu gebrannt.

PS: Wieviel Eingangsspannung verträgt ein Arduino GPIO?
Aus dem Wiegand-Reader D0/D1 kommen ca. 5V.
Sollte ich lieber noch ein Vorwiederstand einbauen?

Gruß

Marcel

TomMajor
Beiträge: 1139
Registriert: 30.08.2017, 23:25
Hat sich bedankt: 78 Mal
Danksagung erhalten: 207 Mal
Kontaktdaten:

Re: HB-UNI-Sen-RFID-RC - Anpassung für Wiegand-Leser möglich?

Beitrag von TomMajor » 15.06.2020, 23:43

mcbo hat geschrieben:
15.06.2020, 23:23

PS: Wieviel Eingangsspannung verträgt ein Arduino GPIO?
Aus dem Wiegand-Reader D0/D1 kommen ca. 5V.
Sollte ich lieber noch ein Vorwiederstand einbauen?
Die ProMini laufen vermutlich mit 3,3V ?
Allgemein 0,5V mehr als Vcc.
https://github.com/TomMajor/SmartHome/t ... -atmega328
Viele Grüße,
Tom

mcbo
Beiträge: 76
Registriert: 16.08.2016, 15:45
Danksagung erhalten: 3 Mal

Re: HB-UNI-Sen-RFID-RC - Anpassung für Wiegand-Leser möglich?

Beitrag von mcbo » 16.06.2020, 02:02

TomMajor hat geschrieben: Die ProMini laufen vermutlich mit 3,3V ?
Allgemein 0,5V mehr als Vcc.
Ja, 3,3V 8 MHz.

Dann bekommen die Ports, 2V zu viel.
Und die kleinen Chinesen vertragen das nicht? :lol:

Aber auf "digitalRead" antworten die Ports noch.
Also doch nicht defekt?

Was muß ich denn für einen Strom, für die Widerstandsberchnung ansetzen?
1 mA ? => 2V = 2KOhm.

Oder wäre hier ein Pegelwandler 5V auf 3,3V besser?


Gruß

Marcel

jp112sdl
Beiträge: 6407
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 304 Mal
Danksagung erhalten: 615 Mal
Kontaktdaten:

Re: HB-UNI-Sen-RFID-RC - Anpassung für Wiegand-Leser möglich?

Beitrag von jp112sdl » 16.06.2020, 07:19

Ich würde mal messen, was im Ruhezustand anliegt.
Sie die Pegel da High, also 5V ?
Dann kann es durchaus sein, dass der L Pegel nicht weit genug abfällt.


Oder ist
mcbo hat geschrieben:
15.06.2020, 23:23
Die Taster Abfrage, habe ich erst einmal in die Wiegand.cpp eingebaut
hierbei was schiefgelaufen?

Aber wenn du sagst, auf alle 3 Pro Mini ist der selbe Sketch... Hmm

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

stan23
Beiträge: 1239
Registriert: 13.12.2016, 21:14
System: Alternative CCU (auf Basis OCCU)
Wohnort: Altmühltal
Hat sich bedankt: 236 Mal
Danksagung erhalten: 120 Mal
Kontaktdaten:

Re: HB-UNI-Sen-RFID-RC - Anpassung für Wiegand-Leser möglich?

Beitrag von stan23 » 16.06.2020, 08:17

mcbo hat geschrieben:
16.06.2020, 02:02
Was muß ich denn für einen Strom, für die Widerstandsberchnung ansetzen?
1 mA ? => 2V = 2KOhm.

Oder wäre hier ein Pegelwandler 5V auf 3,3V besser?
Hi Marcel,

der Vorwiderstand hilft hier nicht, denn der Eingangswiderstand des GPIO ist wesentlich höher und bildet mit dem Vorwiderstand einen Spannungsteiler bei dem der Großteil immer noch am GPIO abfällt.

Du braucht einen Spannungsteiler vor dem GPIO, IM Verhältnis 2:3.
Die absoluten Werte hängen davon ab wie viel Strom dein Leser liefern kann.

Alternativ eben ein Pegelwandler.
Viele Grüße
Marco

RaspberryMatic als VM auf einem NUC mit Proxmox und USB-Funkmodul
~80 Geräte (HM, HmIP, HMW, HBW, AskSin)

mcbo
Beiträge: 76
Registriert: 16.08.2016, 15:45
Danksagung erhalten: 3 Mal

Re: HB-UNI-Sen-RFID-RC - Anpassung für Wiegand-Leser möglich?

Beitrag von mcbo » 16.06.2020, 13:43

jp112sdl hat geschrieben: Ich würde mal messen, was im Ruhezustand anliegt.
Sie die Pegel da High, also 5V ?
Dann kann es durchaus sein, dass der L Pegel nicht weit genug abfällt.
Im Leerlauf ca. 5V.
Beim Lesevorgang beide Datenleitungen D0/D1 ca. 0,1V geringer.
jp112sdl hat geschrieben: Die Taster Abfrage, habe ich erst einmal in die Wiegand.cpp eingebaut
hierbei was schiefgelaufen?
Nein, glaube ich nicht.
Funktioniert ja mit einem der 3 "China Pro Mini" und einem weiteren "wattuino pro mini"

Ich vermute auch das die Pegel zu hoch sind, und eventuell nicht jeder der Pro Minis, toleriert das. :roll:

Ich habe im FHEM-Forum, folgenden Beitrag gefunden, da wird ein Level-Converter verwendet:
https://forum.fhem.de/index.php?topic=41124.15

Gruß

Marcel

jp112sdl
Beiträge: 6407
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 304 Mal
Danksagung erhalten: 615 Mal
Kontaktdaten:

Re: HB-UNI-Sen-RFID-RC - Anpassung für Wiegand-Leser möglich?

Beitrag von jp112sdl » 16.06.2020, 14:18

mcbo hat geschrieben:
16.06.2020, 13:43
Beim Lesevorgang beide Datenleitungen D0/D1 ca. 0,1V geringer.
Ich vermute mal, das ist der Trägheit deines Messgerätes geschuldet, dem die Pulse zu kurz sind

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

mcbo
Beiträge: 76
Registriert: 16.08.2016, 15:45
Danksagung erhalten: 3 Mal

Re: HB-UNI-Sen-RFID-RC - Anpassung für Wiegand-Leser möglich?

Beitrag von mcbo » 16.06.2020, 14:22

jp112sdl hat geschrieben: Ich vermute mal, das ist der Trägheit deines Messgerätes geschuldet, dem die Pulse zu kurz sind
Das kann gut sein, habe es mit MAX / MIN Funktion am Multimeter probiert.
Leider habe ich keinen Oszi, steht aber auf meiner Wunschliste. :wink:

Was meinst Du zu dem Pegelwandler?
Wäre das eine Option?

Gruß

Marcel

Antworten

Zurück zu „Hardwareentwicklung und Selbstbau von Aktoren und Sensoren“