Iron Logic CP-Z iButton OneWire

Hallo :slight_smile:
Es freut mich hier im Forum zu sein, es hat mir schon einigemale weitergeholfen..., diesesmal ist das Thema aber schon so spezifisch das ich leider seit 2 Tagen nicht wirklich weiterkommen...

Es geht darum einen RFiD reader von der Firma Iron Logic bezeichnet als CP-Z über OneWire (verwendet das iButton Protocol) mit einem arduino auszulesen.

Ich hatte bereits mit dem Hersteller Kontakt...der konnte mir aber leider auch nicht weiterhelfen, scheinbar hat noch keiner versucht diesen RFiD Reader mit dem Arduino zu verwenden.

Konkret stehe ich vor folgendem Problem: Ich bekomme mit dem Befehl ds.search(addr) keine Adresse und auch kein true als hätte der Arduino was gefunden...aber der CP-Z muss doch eine fixe Adresse haben oder nicht? Pull up ist ein 4kOhm.
Also besteht die Frage ob das mit dem Arduino überhaupt funktioniert und ob das schonmal gemacht wurde...

Hier ist noch der Link des Produkts ( Ich hoffe ich darf das hier angeben:) )

Danke euch für eure Hilfe jetzt schon... wenn wir nicht bei 25 Türen bereits diesen RFiD Sensor verbaut hätten würde ich einen anderen nehmen aber hoffentlich kann ich mir das sparen :slight_smile:
und danke für eure bereits erbrachte Hilfe, es war mir auch dank euch möglich völlig Autodidakt das Programmieren am Arduino beizubringen.

Im User Manual https://ironlogic.me/files/documentation/product-guides/en/EN_CP-Z_v-1-01.pdf steht nichts.
Hat Dir der Hersteller / Verkäufer keine genauere technische Daten bzw Dokumentation gegeben?
Grüße Uwe

Das Ding wird mit 12V gefüttert...
Das Protokoll sagt noch nichts über die Pegel aus.

Möchtest Du von einem mal das Platinchen nehmen und ausbauen - umdrehen und Foto machen. Bitte nicht zu sehr verkleinern und dann schaun wa mal, was da drauf ist....

wow das geht schnell :smiley:

@uwefed : leider hat er mir nicht mehr gegeben...ich denke mir auch das da eigene Befehle oder so etwas vielleicht erforderlich sind... ich weiß aber nicht wonach ich genau fragen soll...das Thema mit der Adresse sollte ja noch ohne genauere Informationen bewältigbar sein...hm

@my_xy_projekt sehr gerne! vermutest du das die Datenleitung des CP-Z mit 12V funktioniert? nein oder?

auf dem großen IC steht: IRONLOGIC RM3_2002 B711G003EG
auf dem kleineren rechts oben steht: X72 z062 (X sollte ein kleines Firmensymbol sein glaube ich)

lg Niclas

Da muss ja irgendwie ein Pegel drauf kommen.
Ich hätte gerne ein bildchen von oben, das man die Leiterbahnen sieht, die an dem Schraubklemmenblock dran hängen.

Ich würde vermuten, das in dem Z05, was die Auswerteeinheit sein soll ein PULLUP drin ist, den Du noch nachrüsten musst.
Aber erstmal will ich sehen, ob da aus den Verbindungen was abzuleiten ist.

(Wobei das Platinchen wohl absichtlich so verschandelt wurde .... )

Sehr blöd. Ein Eigenbau. Ich glaube unmöglich infos zu finden.

Wo hast Du die Dinger her? Hat der Verkäufer keine infos?
Grüße Uwe

das ist die alte Platine, am blauen Strich ist der DATA0 angeschlossen gewesen

R13 hat 1 kOhm

es ist leider sehr schwer zu erkennen, die leiterbahnen verlaufen alle in andere Layer...

Nicht ganz.
das iButton/OneWire ist klar.
Basis ist der DS1996L.

Ich denke, das ist nur 2seitig.

Und damit sage ich mal:
Den Controller normal mit 12V füttern, damit der seine Betriebsamkeit herstellt.

GND und DATA0 mit dem Arduino verbinden.
Zwischen 5V des Arduino und dem PIN, wo Du DATA0 aufschaltest einen 4,7K Widerstand rein.

Und dann such mal, ob Du irgendwas auf dem Bus liest.

@my_xy_projekt das ist schon eine interessante Info das der DS1996L die Basis ist

  1. Deine beschrieben Schaltung habe ich versucht, der Rfid reader summt auch wenn er ein rfid chip liest. das einzige ist das ich 4k ohm genommen habe nicht genau 4,7k ist das entscheidend?

lg Niclas

Nicht wirklich.

Ich war mir nur nicht sicher, wie das funktioniert - aber die Z5 ist der Empfänger und ist auch derjenige, der das lesen auf dem Bus macht.

Applikationsnote zum OneWire mit mehreren Teilnehmern: AN3829

Ok...schade aber dann hat sich die belebung erledigt, dann kommt ein 5€ amazon reader rein...

Danke für eure schnelle Hilfe und Bemütheit :slight_smile: habt einen schönen Abend, lg Niclas :smiley:

???
Was habe ich verpasst?

Ich dachte mir das die Geschichte hier ihr Ende hat...falls du noch eine Idee hast bitte her damit wird sofort ausprobiert, ich dachte das wir soweit alles gecheckt hätten. Ich habe dem Hersteller noch gemailt und mehr Infos angefordet, jedoch glaube ich nicht das dieser ein fertiges Arduino Programm hat...

Ich wüßte leider wirklich nicht was ich noch probieren kann....

Mit neuer Motivation ist mit heute die Lösung gefunden!
Der Hersteller der Russischen Platine hat es gleich gehabt.
Schlussendlich ist die Lösung sehr einfach, man kann keine Adresse abfragen

Es war 0x33 als Anforderung vom Arduino zu senden um die ID zurück geschickt zu bekommen.

hier der Code:

  if(ds.reset()) { // if detect card
     ds.write(0x33); // send commands to reader for receive card data
     for(int i=0;i<8;i++) {
        data[i] = ds.read(); // read each byte (i don't remember how much, should be 1 low byte, 6 data bytes and high byte - crc)
        Serial.print(data[i], HEX);
      } 
     Serial.println(" ");  
     
  } 

der search Befehl hat nichts gefunden aber der reset Befehl bemerkt den CP-Z serwohl...

Aus dem Datenblatt:
Read ROM [33H]
This command allows the bus master to read the DS1996’s 8-bit family code, unique 48-bit serial number, and 8-bit CRC. This command can only be used if there is a single DS1996 on the bus. If more than one slave is present on the bus, a data collision will occur when all slaves try to transmit at the same time (open drain will produce a wired-AND result). The resultant family code and 48-bit serial number will usually result in a mismatch of the CRC

Ich wüsste noch gerne welcher R zwischen +5V und DATA-Pin drin ist.

4kOhm :slight_smile:

Ja, siehste...
Hab ich ja alles richtig gemacht :wink: - Beste Grüße!