Inner workings of UNI-TREND UT61E Digital Multimeter

Ole hat mich in einem älteren Beitrag auf das Innenleben des „UNI-TREND UT61E Digital Multimeter“ aufmerksam gemacht. Ole suchte nach einer Möglichkeit die serielle Datenübertragung zu deaktivieren. Ich schlug vor das Multimeter zu öffnen und nach einem Datenblatt des verwendeten IC’s zu suchen.

Das Multimeter besitzt einen Cyrustek ES51922P (P für Peak, Datenblatt ist verlinkt). Dessen Funktionalität geht etwas über die angegeben Features des UNI-TREND UT61E hinaus. So könnte man durch kleinere Modifikationen auch noch Temperatur messen, das Multimeter kalibrieren oder als Frequenzzähler nutzen.

Da ich derzeit diese Funktionen nicht benötige, entschied ich mich erst einmal hier nichts zu modifizieren. Aber vielleicht ist ja jemand Anderes auf der Suche nach genau diesen Features..

Das Datenblatt ist in verständlich in Englisch verfasst und enthält auch eine Spezifikation des seriellen Protokolls. Es ergänzt so die von Henrik Haftmann erarbeitete detaillierte Beschreibung des Protokolls,

Hier noch eine paar Bilder der Innereien (man könnte sie fast zum Nachbau verwenden 😉

PS: Die serielle Ausgabe ist durch das Ziehen von Pin 111 auf Masse permanent aktiviert und lässt nicht auch nicht Abschalten. Höchstens das Durchtrennen der Leiterbahn um Pin 111 würde Abhilfe schaffen.

UNI-TREND UT61E Digital Multimeter

Der Testaufbau
Der Testaufbau

Seit ein paar Wochen habe ich schon nun mein neues Multimeter: ein UT61E von UNI-TREND. Bisher bin ich rundum zufrieden damit. Gekauft habe ich es über das Internet bei Pinsonne-Elektronik. Lieferung und Bezahlung verlief schnell und problemlos. Den Laden kann ich also nur weiterempfehlen.

Ein besonderes Highlight der neuen Messgeräte ist die RS232 Schnittstelle für die Auswertung am Rechner. Über diese per Optokopler isolierte Schnittstelle ist es möglich in aktuelle Messergebnisse am Rechner auszuwerten und weiter zu verarbeiten.

Leider haben die in China ansässigen Hersteller die Linux-Gemeinde aber mal wieder vergessen. Nach einigen Recherchen und etlichen Stunden später habe ich es dann jedoch geschafft ein kleines Tool für Linux zu entwickeln, welches mir die Messergebnisse im CSV Format liefert. In diesem Format kann ich sie nun in Open Office, MatLab und vielen anderen Programmen öffnen und auswerten.

Als besonderes Gimmick habe ich auch noch ein kleines Script geschrieben, das mit Hilfe gnuplot Graphen der Messergebnisse zeichnet. Diese werden dann 1-2 in der Sekunde aktualisiert. Mit einem Oszilloskop ist das jedoch lange noch nicht vergleichbar. Aber für Langzeit-Messungen durchaus sehr praktisch.

Die Live-Darstellung der Messergebnisse mit gnuplot
die Live-Darstellung der Messergebnisse mit gnuplot

Ich bedanke mich bei Henrik Haftmann für die detaillierte Beschreibung des Protokolls, welche mir beim Entwickeln dieses Tools unheimlich geholfen hat.

Update: Ich habe das Datenblatt es verwendeten IC’s gefunden. Es enthält auch eine Spezifikation des serielle Protokolls. Hier geht es zum neuen Eintrag mit Bildern des Chips und der restlichen Platine.

Das Tool sowie das gnuplot Script habe ich hier in einem Archiv zusammengefasst. Die Installation ist sicherlich nicht die einfachste. Aber die nötigen Kenntnisse setzte ich bei dieser Zielgruppe einfach mal voraus :p

Achtung: Das Binary, das ich im Archiv beigelegt habe, ist für 64bit Linuxe kompiliert. Benötigt dafür aber keine weiteren dynamischen libs.

Anregungen, Patches und Bugreports sind per Mail immer willkommen.

Hier noch ein kleines Beispiel wie die Daten von meinem Tool ausgegeben werden. Für das Verständnis hilft sicherlich ein Blick in den Quelltext.

1;0.0589;0.0589;0;0.0589;V;AC;Manual
2;0.07184;0.07184;0;0.06537;V;AC;Manual
3;0.12869;0.12869;0;0.0864767;V;AC;Manual
4;0.07876;0.12869;0;0.0845475;V;AC;Manual
5;0.06458;0.12869;0;0.080554;V;AC;Manual
6;0.09626;0.12869;0;0.0831717;V;AC;Manual
7;0.17355;0.17355;0;0.0960829;V;AC;Manual
8;0.17487;0.17487;0;0.105931;V;AC;Manual
9;0.13565;0.17487;0;0.109233;V;AC;Manual
10;0.10726;0.17487;0;0.109036;V;AC;Manual
11;0.16506;0.17487;0;0.114129;V;AC;Manual
12;0.14415;0.17487;0;0.116631;V;AC;Manual
13;0.15238;0.17487;0;0.119381;V;AC;Manual
14;0.17396;0.17487;0;0.123279;V;AC;Manual
15;0.11834;0.17487;0;0.12295;V;AC;Manual
16;0.2117;0.2117;0;0.128497;V;AC;Manual
17;0.18906;0.2117;0;0.132059;V;AC;Manual
18;0.17674;0.2117;0;0.134542;V;AC;Manual
19;0.08354;0.2117;0;0.131857;V;AC;Manual
20;0.053;0.2117;0;0.127915;V;AC;Manual
21;0.0688;0.2117;0;0.1251;V;AC;Manual
22;0.12796;0.2117;0;0.12523;V;AC;Manual
23;0.14954;0.2117;0;0.126287;V;AC;Manual
24;0.17535;0.2117;0;0.128331;V;AC;Manual
25;0.1381;0.2117;0;0.128722;V;AC;Manual
26;0.1588;0.2117;0;0.129878;V;AC;Manual
27;0.13258;0.2117;0;0.129979;V;AC;Manual
28;0.097;0.2117;0;0.128801;V;AC;Manual
29;0.04637;0.2117;0;0.125958;V;AC;Manual
30;0.06749;0.2117;0;0.124009;V;AC;Manual
31;0.09002;0.2117;0;0.122913;V;AC;Manual
32;0.07575;0.2117;0;0.121439;V;AC;Manual
33;0.0711;0.2117;0;0.119914;V;AC;Manual