Table of Contents

UT71B-Schnittstelle

Die Digitalmultimeter-Serie UT71 von Uni-Trend

bietet eine billige Messlösung mit angemessener Genauigkeit. Das Set enthält ein USB-Schnittstellenkabel und eine Windows-basierte Software. Leider funktioniert die USB-Schnittstelle nicht mit Mac OS X. Die optische Schnittstelle kann jedoch problemlos für weniger als 5,00 € gebaut werden.

Menge Teile Kosten
1 PL2303HX oder ähnliches 3,00 €
1 IR-Fototransistor 0,10 €
1 IR-LED 0,10 €
1 4k7 0,10 €
1 1K0 0,10 €
1 PCB (sehr kleines Stück) 0,50 €
1 Gehäuse (3D-Druck oder Laserschnitt) 0,50 €

Schema

Der USB-Seriell-Wandler PL2303HX bietet 4 Drähte für die Signale GND, + 5V, RxD und TxD, wie im Schaltplan gezeigt. Die TxD-Diode ist optional und wird (noch) nicht von der Software unterstützt.

Gehäuse

Ich habe ein lasergeschnittenes Gehäuse aus 2 mm weißem Acryl verwendet. Das Design wurde mit Inkscape erstellt. Abhängig von der Dicke Ihrer Verkabelung benötigen Sie möglicherweise nicht alle Schichten. In meinem Beispiel habe ich nur 4 Stück verwendet.

Montage

Schneiden und gravieren Sie mit dem Laserschneider Ihrer Wahl. Bereiten Sie das kleine Stück PCB (Lochrasterplatine) vor. Kleben Sie den IR-Transistor (dunkelblau) und die IR-LED fest. Der flache Teil sollte sich jeweils links befinden. Löten Sie die Teile und die SMD-Widerstände wie in der Abbildung gezeigt. Zu guter Letzt verbinden Sie die vier Drähte des PL2303HX.

Protokoll

Am Logikanalyser sieht der Signalverlauf wie folgt aus:

UT71 frame

Wie zu erkennen ist, sendet das Messgerät 11 Bytes mit 2400 Baud, 7 Bit und ODD Parity im ASCII Format alle ca. 650ms. Mit der gebauten Hardware können wir jetzt das Protokoll mit einen UART-Programm empfangen und weiter analysieren. Nach vielem Ausprobieren ergibt sich diese Bedeutung der Bytes:

    # Decode 11 bytes from UT71A/B/C
    # ==============================
    # Byte / Bit          6    5    4    3    2    1    0
    # [0]    Digit 1      0    1    1    =====Digit======
    # [1]    Digit 2      0    1    1    =====Digit======
    # [2]    Digit 3      0    1    1    =====Digit======
    # [3]    Digit 4      0    1    1    =====Digit======
    # [4]    Digit 5      0    1    1    =====Digit======
    # [5]    Range        0    1    1    0    =see below=
    # [6]    Unit         0    1    1    ====see below===
    # [7]    Coupling     0    1    1    0    0    DC   AC    (also DC and AC possible)
    # [8]    Info         0    1    1    0    NEG  MAN  AUTO  (MAN or AUTO only)
    # [9]    '\r'         0    0    0    1    1    0    1
    # [10]   '\n'         0    0    0    1    0    1    0
    #
    # Digit: 0x30..0x39 = '0..9', 0x3A = ' ', 0x3B = '-', 0x3C = 'L', 0x3F = 'H'
    # REL not sent
    # No tansmission in HOLD state
    # If NEG set at Range 15 sent value is duty cycle
    # No LowBat info sent
    # Storaged data not accessable

Abhängig von gewählten Messbereich ergibt sich mit dem Range und der Unit ein Multiplikationsfaktor für den empfangenen Wert:

      Unit:    0   1     2     3     4     5    6     7     8     9    10    11    12    13   14  15  
Range:         mV  V     V     mV    Ω     F    °C    µA    mA    A    Pieps Diode Hz    °F   W   %   
        '0'    .01 -     -     .01  -      -    .1   .01   .001   -    .01   .0001 .001  .1   -   .01 
        '1'    -   .0001 .0001 -    .01   .001  -    .1    .01    .001 -     -     .01   -    -   -   
        '2'    -   .001  .001  -    .0001 .01   -    -     -      -    -     -     .0001 -    -   -   
        '3'    -   .01   .01   -    .001  .0001 -    -     -      -    -     -     .001  -    -   -   
        '4'    -   .1    .1    -    .01   .001  -    -     -      -    -     -     .01   -    -   -   
        '5'    -   -     -     -    .0001 .01   -    -     -      -    -     -     .0001 -    -   -   
        '6'    -   -     -     -    .001  .0001 -    -     -      -    -     -     .001  -    -   -   
        '7'    -   -     -     -    .01   .001  -    -     -      -    -     -     .01   -    -   -   

Software

UT71 App

record table

Mit der Protokollinformation kann man jetzt ein kleines Python Programm aufsetzen was die Werte empfängt, als Diagramm anzeigen kann auch speichert und als CSV exportiert. Damit erlauben sich Langzeitmessungen beliebiger Messgrößen. Die Messdaten werden in einer SQLite Datenbank gespeichert und lassen sich so auch mit einfachen Tools wie DB Browser for SQLite betrachten.

Downloads

Spenden

Wenn ihr meine Arbeit unterstützen wollt, so könnt ihr mir gerne einen Cappuccino oder so spenden: .