Magnetische Hockey Tags

Stimmt. Vllt ne dicke Unterlegscheibe mit kleinem Innenloch.

1 „Gefällt mir“

Wären sie leichter, würde aber auch wirklich etwas von der Haptik verloren gehen. Ist so ähnlich wie Pokerchips, die einen extra Metallkern haben, damit sich’s besser anfühlt vom Gewicht her.

Ich hab übrigens mal bei https://www.bütic.de/ angefragt. Sie würden 1000 Scheibchen für etwa 180 € lasern. Falls hier genügend Interesse zusammenkommt, wäre das vllt auch noch eine vergleichsweise günstige Anlaufstelle.

Das würde ich nicht tun. Entwickler suchen immer nach Lösungen.
Ich habe momentan nicht die Zeit meine Idee gleich auszuprobieren, kann sie aber gerne in den Raum stellen. Ich denke das könnte funktionieren und wäre sicher eine coole Erweiterung.

Wenn das mit dem Eisenstück statt dem Magnet im Gerät klappt, dann wäre der nächste logische Schritt, im Gerät an passender Stelle einen Halleffekt Sensor zu platzieren. Dieser gibt dann die Info welche Seite aufliegt (Nord- oder Südpol).

In die Firmware sind das ein paar Zeilen. Die einfachste wäre z.B:
Wenn der Sensor die Info gibt „andere Seite“, dann einfach die UID des Tags invertieren.
Es wird mich wohl eher der Blitz treffen als dass ich zwei Tags habe, die genau die Invertierte UID haben. Damit habe ich physisch mit einem Tag 2 gemacht, deren funktion ich unabhängig zuweisen kann.

Wenn jemand zeit das, das vor meinem Versuch schon mal zu versuchen, würde ich mich auf Feedback freuen.

Folgender Sensor wäre dafür sehr geeignet:


Es handelt sich um einen linear Sensor, der ohne Magnetfeld die 1/2 Versorgungsspannung liefert und je nach Feldstärke und Polarität die Spannung erhöht oder absenkt.
Die Mindestversorgungsspannung liegt laut Datenblatt mit 3V auch noch gerade im gültigen Bereich.
image

LG

2 „Gefällt mir“

Lustige Idee die funktionieren könnte :+1:

Geniale Idee! Ich hab leider kein Messgerät zur Hand, um die Feldstärke zu bestimmen. Aber vllt findet sich ja auch ein Bauteil, das sich direkt an einem digitalen Eingang vom ESP nutzen lässt?

Definiert sind LOW und HIGH bei 25% bzw. 75% VDD, also bei unseren 3.3V wären das entsprechend 0.825V und 2.475V. Grob mit dem Diagramm aus dem Datenblatt über den Daumen gepeilt würde das bedeuten, dass ±80mT nötig sind, um eindeutige Schaltergebnisse zu bekommen. Hab nicht gecheckt, ob vllt doch noch ein analoger Input frei ist, dann wäre das natürlich damit erledigt.

Wäre schön, wenn man keinen großen Schaltungsaufwand betreiben müsste.

EDIT: Für die Platine von @biologist müssen wir wohl eher an den Port-Expander ran, da ist noch ein klein wenig was frei. Bei dem liegen die definierten Schaltbereiche minimal laxer mit 30% bzw. 70% VDD.

EDIT2: Hab mal die Remanenz für meine N35-Neodyms nachgeschlagen und grob die Flussdichte abgeschätzt. In der Theorie sollte der Hall-Sensor so ziemlich instantan auf Anschlag gehen. Kann also direkt an einen Digitaleingang. :+1:

EDIT3 (langsam reichts…): Perfekt wäre eigentlich ein WSH130 als Sensor.

Um genau zu sein der WSH130NL (non latched), da sonst ganz was lustiges passieren wird:
Beim WSH130 bleibt der Output bis der andere Zustand auftritt, d.h. wenn ich einen Hockey Tag auflege auf der "Rückseite ( 2. Seite) dann bleibt dieser Zustand, bis wieder einer auf der Vorderseite aufgelegt wird. Lege ich aber im vorherigen Zustand einen anderen Tag (Card etc. ohne Magnet auf) dann wird diese nicht eindeutig bzw. falsch interpretiert! Beim WSH130 ist kein Magnetfeld undefiniert.
Deshalb den WSH130NL
image
Hier Aktiviert nur der Südpol den Ausgang. Kein oder Nordpol siond definiert aus.

1 „Gefällt mir“

Stimmt natürlich, danke für das wachsame Auge. Aber auch der ist nur zu Mondpreisen zu bekommen, also gehts wohl doch eher in Richtung Linear Analog Hall Sensor, ggf. mit Komparator dran.

Nachdem hier Interesse bekundet wurde, habe ich mir doch die Zeit gestohlen, die Machbarkeit abzuklären:

Dazu 2 folgende Videos, die meinen Ansatz bestätigen:

  1. Ist Feldstärke ausreichen:

  2. Wird der RFID Leser gestört

Das bedeutet dann folgenden überschaubaren Aufwand:

Hardware:
Den Halleffektsensor gut platziert ankleben und die 3 Kabel (+3.3V, GND, UAnalog) an den ESP.
UAnalog an einen Analogeingang

Firmware:
Eine zusätzliche Thematik ist noch zu berücksichtigen.
Höchstwahrscheinlich erkennt der RFID-Reader schneller den Tag als der Hallsensor, denn letzterer ist deutlich unempfindlicher, d.h. erst wenn der Tag ganz nahe ist, wird dieser signalisieren.

Dafür sehe ich 2 Lösungsansätze:

  1. Ich entscheide mich dafür, dass nur Hockey Tags funktionieren:
    In diesem Fall würde ich den Leser erst aktivieren, sobald der Sensor signalisiert, dass er einen Tag (Magnetfeld) in seiner Nähe hat.
    Dann den Tag lesen und wenn Seite 2 dann UID invertieren.
    Leser wieder ausschalten. Das Entfernen des Tags würde weiterhin der Halleffektsensor signalisieren.

  2. Wesentlich einfacher Eingriff in die Firmware wäre:
    Wenn der Reader einen Tag ausliest, dann noch ein #define Time in ms warten, zusätzlich den Halleffektsensor abfragen und ggf. die UID invertieren.

Die Münzkapseln und Magnete habe ich schon bestellt.
Ich werde bei mir Variante 2 umsetzen, denn diese lässt auch normale einfache Tags zu.
Die Verzögerung von 1/2 Sekunde (mehr oder weniger) spielt hier für mich keine Rolle.

2 „Gefällt mir“

(Hab die Idee noch etwas genauer gefasst und neu formuliert.)

Deine Variante 2 würde ich noch etwas verfeinern und zwei Fälle beim Auflegen unterscheiden:

  • UID ist bekannt: Einfach wie gewohnt abspielen. Hall Sensor wird gar nicht genutzt.
  • UID ist unbekannt: Es wird, sagen wir mal, max. 5 Sekunden versucht, die Polarität zu bestimmten. Sollte das eindeutig funktionieren, wird die UID intern angepasst. Ich schlage vor, das erste Byte zu inkrementieren. +1 für Nord, +2 für Süd (modulo 16). Die angepasste ID kann dann wieder nachgeschlagen werden und ggf. abgespielt.

Auf diese Weise gibt es keine unnötigen Wartezeiten und auch kein kurzes Abspielen von ggf. falschen Inhalten.

(Alter Post:
Sobald ein Tag aufgelegt wird, wird der Hall Sensor laufend ausgelesen bis zu einer Grenzzeit, sagen wir 5 Sekunden. Wiedergabe kann bereits gestartet werden, falls die UID bekannt ist. Falls bis dahin keine eindeutige Orientierung erkenntlich ist, haben wir wohl einen normalen Tag, alles easy.

Sollte in der Zeit doch ein Magnetfeld safe erkannt werden, würde ich das erste Byte der UID (quasi Hersteller-Byte) um 1 (Nord) respektive 2 (Süd) inkrementieren mod 16. Dann die Wiedergabe starten. Die originale UID ohne Inkrementierung sollte dann gar nicht registriert sein im ESPuino.

Damit stellt man sicher, dass nicht einen kurzen Moment die falsche Seite abgespielt wird und es geht bei normalen Tags ohne Wartezeit los.)

2 „Gefällt mir“

Sehr guter Ansatz, damit ist der letzte Kompromiss ausgeräumt.

Gerade einen kurzen Test mit meiner Box gemacht: Nur mit einer kleinen Eisenscheibe statt Magnet im Gehäuse halten die Tags nicht. Also müsste ggf. ein größerer oder kräftigerer Magnet in so einen Tag rein…

Was meinst du mit halten?

Na sie „kleben“ nicht an der Box fest, wenn ich die Box bewege. Hab 12mm N52 Magnete bestellt und probiere es demnächst damit.

Meine Ankündigung habe ich nun gestern in die Tat umgesetzt.
Damit kann ich euch ermutigen, dass meine Idee mit dem Halleffektsensor in der Praxis recht einfach machbar ist.
Ich weise in den Bildbeiträgen auch darauf hin, auf was besonders zu achten ist.
Am Schluss seht ihr ein Video mit der neuen Funktionalität „Hockey-Dualfunction-Tag“.

Hardwareänderung:
Zuerst das Innenleben meines ESPuinos mit dem Einbau des Hallsensors auf dem RFID-Readers:
Eine M10 Mutter - In die Meitte den HalleffektSensor mit Heißklebepistole fixiert.
Anschluss: 3 Kabel: GND, 3.3V, IO32


Softwareänderung:
Ein paar Zeilen sind anzupassen.
Bezüglich Manipulation der UID habe ich gerne die Idee von sonovice mit Inkrementierung des 4. Bytes um 1 oder 2 je nach Magnetpol
Wenn Interesse zum Nachbau besteht, dokumentiere ich das gerne genauer.

Hockeytag - Parts und Assembling:

Dabei ist folgendes zu beachten:

  1. Der RFID-Tag muss möglichst an den äußeren Rand platziert werden.
    Hintergrund:
    Ist bei mir deshalb wichtig, da ich 15x3mm Neodym Magnete verwende und dieser den Tag komplett abschirmen würde.
    Bei 10mm war das kein Problem, den Tag zentriert zu setzen.
    10mm waren aber schon grenzwertig. Da muss der Tag genau auf den Leser gesetzt werden, d.h. man müsste schon fast kleine Begrenzungen aufkleben.
    Deshalb hab ich mich dann für die 15mm entschieden. Da läuft das Ganze problemlos.

  2. Zwischen Tag und Magnet soll das Trägermaterial der Tags als Isolation und Abstand nicht entfernt werden.

Nun das Video mit der fertigen Umsetzung in meiner Box:

3 „Gefällt mir“

Sehr cool, gerne genauer dokumentieren. :+1:
Vllt kann die Softwareänderung per PR auch in den Hauptzweig?

Interessanter Punkt, das mit dem seitlichen Positionieren des Tags.

Muss man für den Halleffektsensor irgendwas beachten oder kann man den nächstbesten nehmen?

Wenn ich das richtig verstehe, dann kann man mit dem Expanderboard auch einfach Pin 32 von der EXT-Leiste benutzen, wenn jp5 auf 2-3 gebrückt ist, was bei mir auch schon der Fall ist. Korrekt, @biologist?

Ja, korrekt.

1 „Gefällt mir“

Mache ich asap.

Es gibt analoge und digitale (mit SchmittTrigger) und da mit und ohne Latch.
Bei denen mit Digitalausgang unbedingt ohne Latch, sonst bekommt man unvorhersehbare Ergebnisse bei normalen Tags ohne Magnet.
Ich habe für ein anderes Projekt bereits einen analogen zur Hand gehabt mit dem sich das gut umsetzen ließ. Ist auch preislich interessant. Wenn es vergleichbare gibt mit höherer Empfindlichkeit dann ist das kein Nachteil. Weiter oben habe ich den Typ den ich verwende bereits erwähnt: SS49E
I’m weiteren Verlauf auch zum Thema Sensoren mit digitalem Ausgang.

Z. B. 10pcs Hall Element 49e Oh49e SS49e Linearer Sensor Hall Sensor Hfmqv | Fruugo AT

1 „Gefällt mir“

Kann gerne die Implementierung vornehmen sodass dieses Feature wie gewohnt mit #defines in „settings“ aktiviert und in "settings-env… " das Port für den analog input konfiguriert werden. Zudem ist mit http get Befehl die automatische Kalibrierung auszulösen, die die optimalen, sicheren Schaltschwellen für beste Empfindlichkeit ermittelt und im NVS ablegt. Damit muss lediglich 2 #defines aktiviert werden und die Kalibrierung aufgerufen werden. Im Web-GUI können die Werte unter Infos ausgelesen bzw. Beobachtet werden.

@biologist
Ich würde mir den aktuellen Master via git Desktop ziehen und die Änderungen vornehmen. Zum Thema PullRequest fehlen mir noch die notwendigen Infos Schritte. Deine Meinung auch gerne via PN. LG

2 „Gefällt mir“

Also es braucht auf jeden Fall eine exakte Beschreibung, was da wie und wo gemacht werden muss beim Setup. Man kann in den Settings zudem auch auf so nen Thread wie hier verweisen - das habe ich schon öfter gemacht. Aber grundsätzlich finde ich es immer gut, wenn man eine eigene Seite hat, auf der das Feature mal richtig beschrieben wird. Z.B. sowas: Neues Feature: Bluetooth Kopfhörer.
Von meiner Seite werde ich das Ganze jedoch nicht testen/supporten - das müsst dann ihr machen :slight_smile:. Also das ist jetzt nicht bös’ gemeint, aber ich kann das nicht alles testen und habe dafür auch keinen Testaufbau.

Aber ich find’s cool euer Feature! :slight_smile:

PR ist eigentlich nicht notwendig. Ich kann mir per Cherry-Picking auch einen Commit holen aus deinem Repository. Üblicherweise wird das in einem Feature-Branch gemacht, aber das ist mir letztlich egal. Was ich nur nicht will sind irgendwie zehn Commits oder so :slight_smile:.

4 „Gefällt mir“