Thermo Scientific RadEye IR-Adapter

Begonnen von Na-22, 28. Oktober 2026, 19:17

⏪ vorheriges - nächstes ⏩

Na-22

Ich hab mir mal den USB-IR-Adapter, der für Kommunikation mit den Geräten der RadEye-Familie notwendig ist, näher angeschaut. Er basiert auf dem FT232RL Chip und hat nur noch einen extra LED-Treiber. Zum Bestimmen der IR-Wellenlänge fehlt mir die Technik.
Vielleicht nützt der Schaltplan ja jemandem.

DG0MG

Uh, das ist interessant, danke!

Welchen Sinn haben denn C4, D2 und R6, an denen das TxD-Signal eingreift?


Blockiert das den Empfänger, solange Daten gesendet werden?
"Bling!": Irgendjemand Egales hat irgendetwas Egales getan! Schnell hingucken!

Na-22

Ja, dafür wird es ein.

Solange nichts zum RadEye gesendet wird ist TXD high und Q1 und damit auch D1 off. Pin 9 von U2 wird bei TXD=high langsam aufgeladen und gibt somit die Empfängerdioden frei.
Sobald TXD auf low geht wird Pin 9 von U2 über D2 sehr schnell auf low gezogen und blockiert damit die Signale der Empfängerdioden.
Ohne U2C, C4, D2 und R6 bekäme man wahrscheinlich ein Echo des TX Signals auf RX zurück. Die Sende- und Empfangsdioden sind nebeneinander im Gehäuse angeordnet. Die Anordnung Empfänger-Sender-Empfänger erlaubt es, den Adapter in beiden Richtungen an der Auslesestation zu montieren.

Ravenlord

#3
nicht schlecht

DG0MG

@Na-22 Falls jemand diese Infrarot-Datenschnittstelle nach persönlichem Gusto  "nachempfinden"  ;) und dann auch testen möchte, braucht es als erstes eine ganz einfache Möglichkeit eines Tests, ob damit die Kommunikation mit einem Gerät klappen könnte.

Also z.B. mit einem Terminalprogramm (PuTTY oder HTerm) die seriellen Parameter (Baudrate, Bitanzahl, Parität, Stopbits) einstellen und dann "X" senden. Dann könnte das Gerät mit "Y" antworten. So in der Form, falls es X und Y gibt. Das kommt natürlich auch darauf an, ob die Kommunikation in reinem ASCII oder binär erfolgt. Im zweiteren Fall ist das leider nicht ganz so einfach, könnte mit HTerm aber auch gehen. Lang nicht mehr gemacht.
"Bling!": Irgendjemand Egales hat irgendetwas Egales getan! Schnell hingucken!

Na-22

Man könnte denken, das stammt aus den Originalunterlagen der IR-Schnittstelle.

Zitat von: Ravenlord am 29. Oktober 2026, 14:48nicht schlecht

Ravenlord


Na-22

Dank der weiteren Unterlagen sind jetzt alle Bauelemente bekannt. Dem Datenblatt der IR-LED kann ich entnehmen, dass die Wellenlänge 950 nm beträgt. Somit wäre auch das geklärt.

Na-22

Mit einem einfachen Terminalprogramm war ich nicht erfolgreich. Ein kleines Pythonskript hat aber funktioniert. Es fragt die ID des RadEye ab. Am besten vorher den RadEye neu starten. Dann ist er sicher im Textmodus. Man darf vorher nicht die Originalsoftware verwenden. Die schaltet den RadEye irgendwie in einen anderen Modus. Bei mir hat dann nur ein Neustart geholfen.

Zuerst sendet man "@" ohne CR&LF. Die erwartete Antwort ist ">" (auch ohne CR&LF).
Danach "V" mit CR&LF senden. Die erwartete Antwort ist "#" gefolgt von der RadEye ID und CR&LF.

"""Ask the RadEye SPRD for its identity (command V). Read only, pyserial only.
    Usage: ask_identity.py COM3
    It is only working when RadEye is in text mode.
"""
import sys

import serial

s = serial.Serial(None, 9600, serial.SEVENBITS, serial.PARITY_EVEN, serial.STOPBITS_TWO, timeout=2)
s.port = sys.argv[1]
s.open()
s.reset_input_buffer()

command = b"@"                # wake-up: ">" = text mode
print(f"sending {command}")
s.write(command)
response = s.read(1)
print(f"Response: {response}")

command = b"V\r\n"                # ID
print(f"sending {command}")
s.write(command)
response = s.read_until(b"\r\n")
print(f"Response: {response}")

s.close()

Zitat von: DG0MG am 29. Oktober 2026, 15:12@Na-22 Falls jemand diese Infrarot-Datenschnittstelle nach persönlichem Gusto  "nachempfinden"  ;) und dann auch testen möchte, braucht es als erstes eine ganz einfache Möglichkeit eines Tests, ob damit die Kommunikation mit einem Gerät klappen könnte.

Also z.B. mit einem Terminalprogramm (PuTTY oder HTerm) die seriellen Parameter (Baudrate, Bitanzahl, Parität, Stopbits) einstellen und dann "X" senden. Dann könnte das Gerät mit "Y" antworten. So in der Form, falls es X und Y gibt. Das kommt natürlich auch darauf an, ob die Kommunikation in reinem ASCII oder binär erfolgt. Im zweiteren Fall ist das leider nicht ganz so einfach, könnte mit HTerm aber auch gehen. Lang nicht mehr gemacht.

DG0MG

Zitat von: Na-22 am 29. Oktober 2026, 20:19Ein kleines Pythonskript hat aber funktioniert.

Na das ist doch schonmal was!
"Bling!": Irgendjemand Egales hat irgendetwas Egales getan! Schnell hingucken!

Na-22

Es haben sich noch paar nützliche Kommandos angefunden:

known_commands = {"ID": b"V\r\n",
                  "Count rate": b"Z\r\n", 
                  "Dose rate": b"R\r\n",
                  "Total dose": b"D\r\n",
                  }
for function, command in known_commands.items():
    print(f"Function: {function}")
    print(f"sending: {command}")
    s.write(command)
    response = s.read_until(b"\r\n")
    print(f"Response: {response}")
    print()

Bei meinem SPRD liefern diese Kommandos gültige Antworten vom RadEye


sending b'@'
Response: b'>'
Function: ID
sending: b'V\r\n'
Response: b'#RadEye SPRD E1.10 \r\n'

Function: Count rate
sending: b'Z\r\n'
Response: b'#16 16 0 1.01305E+00 0 15 00000000 \r\n'

Function: Dose rate
sending: b'R\r\n'
Response: b'#5.64695E-02 0.00000E+0 \r\n'

Function: Total dose
sending: b'D\r\n'
Response: b'#2.86819E+00 0.00000E+0 0 \r\n'

DG0MG

Zitat von: DG0MG am 29. Oktober 2026, 15:12"nachempfinden"  ;)

nachempfunden:

Sie dürfen in diesem Board keine Dateianhänge sehen.

Der USB-to-Seriell-Wandler ist ein CP210x, das zweite Platinchen ist ein ehemaliger Papiersensor aus einem Drucker aus der Bastelkiste. Der enthält gleich Infrarotsendediode und den empfangenden Fototransistor (oder ist es eine Fotodiode?).

Auf die Echounterdrückung hab ich mal verzichtet, auch auf den eventuell nötigen Ziehwiderstand von RxD nach +3.3V. Da scheint schon einer auf der Wandlerplatine zu sitzen. Die IR-LED kann der Wandler ohne Transistor auch selbst treiben.

Sie dürfen in diesem Board keine Dateianhänge sehen.

Und mit diesem russischen Aufbau bekomme ich tatsächlich schon Antwort vom RadEye B20:

Sie dürfen in diesem Board keine Dateianhänge sehen.

Python war erstmal auch nicht nötig - wie vermutet, geht das mit HTERM:

Sie dürfen in diesem Board keine Dateianhänge sehen.

Die etwas ungewöhnlichen Schnittstellenparameter von 9600 7E2 scheinen tatsächlich so zu stimmen, mit anderen gehts nicht.

"Bling!": Irgendjemand Egales hat irgendetwas Egales getan! Schnell hingucken!

Na-22

Glückwunsch zum Erfolg.

Funktioniert auch die Rückgabe der Zählrate (Kommando "Z")?

Na-22

Das kommt raus, wenn man eine erste Clean Room Session mit "Craft Anything" und Claude macht. Das hat gerade mal 25 Minuten gedauert und ich hab noch nie eine Zeile in Rust geschrieben.

Ich bin schwer beeindruckt von dem, was man heute so alles machen kann.

DG0MG

Zitat von: Na-22 am 01. November 2026, 13:32Funktioniert auch die Rückgabe der Zählrate (Kommando "Z")?

Ja, da kommt auch was zurück. Es kommt nicht immer, oder erst beim zweiten Versuch.

V,Z,R,D:

#RadEye B20 E2.05<\r><\n>
#RadEye B20 E2.05<\r><\n>
#RadEye B20 E2.05<\r><\n>
#RadEye B20 E2.05<\r><\n>
#1 0 16 <\r><\n>
#1 0 15 <\r><\n>
#2 0 0 <\r><\n>
#4 0 16 <\r><\n>
#4 0 16 <\r><\n>
#0 0 16 <\r><\n>
#4 0 0 <\r><\n>
#0 0 15 <\r><\n>
#0 0 15 <\r><\n>
#2 0 16 <\r><\n>
>#?<\r><\n>
#24 <\r><\n>
#25 <\r><\n>
#25 <\r><\n>
#26 <\r><\n>
#26 <\r><\n>
#27 <\r><\n>
#28 <\r><\n>
#28 <\r><\n>
#28 <\r><\n>
#28 <\r><\n>
#28 <\r><\n>
>#?<\r><\n>
#0 <\r><\n>
#0 <\r><\n>
#0 <\r><\n>
#0 <\r><\n>
#0 <\r><\n>
#0 <\r><\n>
@BATM1<\r><\n>
<\0>BATM0<\r><\n>

Das @BATM1,BATM0 kommt immer nach einer Weile, wenn man nichts mehr sendet. Wahrscheinlich verlässt er da den Textmodus wieder?
"Bling!": Irgendjemand Egales hat irgendetwas Egales getan! Schnell hingucken!