^

 VA18B Software und Hardware Tuning

 


Das Multimeter und die Schnittstelle

VA18BDas VA18B ist ein mit ca. 40 Euro sehr preiswertes Digitales Multimeter (DMM), das über eine Schnittstelle verfügt. Über diese kann es Messwerte an einen Computer übertragen. Die Daten werden seriell codiert und optisch an einen Seriell-USB-Wandler gegeben. Sobald wir erfolgreich den entsprechenden Treiber installiert haben, erscheint beim Empfangscomputer eine (virtuelle) serielle Schnittstelle. Wenn in unserem Gerät ein Sunplus-Chip verbaut ist, kann uns der Treiber echten Kummer bereiten; mehr dazu weiter unten. Interessante Infos und Links zum VA18B: http://sigrok.org/wiki/V%26A_VA18B

"Zaubertasten"

Die HZ/DUTY-Taste drücken wir während des Einschaltens, damit das das DMM überhaupt Daten an die Schnittstelle sendet.
Drücken wir gleichzeitig die SELECT-Taste, wird die automatische Abschaltung nach 15 Minuten unterbunden.

Eine DLL für eigene Programme

Nach erfolgreicher Treiberinstallation können wir uns den Datenstrom in einem beliebigen Terminalprogramm ansehen. Die Parameter sind: 2400 Baud, 8 Datenbits, 1 Stopbit, kein Paritätsbit. Die Nummer des Comports können wir im Gerätemanager ermitteln. Es kommen immer Datenblöcke zu 14 Byte an. Die Daten selber sind so erstmal nicht "menschenlesbar" und müssen interpretiert werden. Wie das geht, ist z.B. hier beschrieben. Hier wird zwar ein anderes Multimeter beschrieben, das System wird jedoch bei vielen Multimetern verwendet, siehe Kompatibilitätstabelle unten.

Was gibt's nun hier abzustauben? Mein Ansatz war, das Handling der seriellen Schnittstelle und das Decodieren der Daten in einer DLL zu kapseln (Windows, 32Bit). In eigenen Programmen können wir diese DLL verwenden um mit vier Funktionen an die Daten vom DMM zu kommen. Jede vernünftige Programmiersprache kann DLLs ansprechen. Auch mit VBA (z.B. in Excel) ist das möglich. Beispiele für AutoIt und BCX sind im Download enthalten, ebenso eine fertige EXE mit BCX-Quellcode.

Multimeter mit gleichem Datenformat (ohne Gewähr):VA16B Programm
Baugleiche:Vellemann DVM1200, PeakTech 3375, Maxwell MX-25328
Nachfolger:
Mastech VA40B, Velleman DVM4100, PeakTech 3415
Kompatible:
Digitech
QM1538, QM1537, QM1462

Digitek
DT9062, DT4000ZC, INO2513

PeakTech
3330

Uni-Trend
UT30A, UT30E, UT60A, UT60E

Voltcraft
VC-820, VC-840

Der Sunplus-Chip und sein Treiber

Bei den Tests für die oben beschriebenen Programmen habe ich Bekanntschaft mit etwas gemacht, was ich bei meinen aktuellen Windows Versionen noch nicht gesehen habe: Einen BLUESCREEN mit anschließendem Reboot!!! Und das sowohl bei 32bit Vista als auch bei 64bit Win7. Das liegt an dem verbauten Sunplus-Chip bzw. dessen Treiber. Ich habe lange nach einer aktuelleren Version gesucht, als das was ELV zum download anbietet - erfolglos. Der Sunplus-Treiber ließ sich unter 32bit und auch unter 64bit installieren. So lange Daten fließen,  funktioniert es auch grundsätzlich. Ohne Datenverkehr wird der Treiber dauernd aktiviert und deaktiviert (jeweils mit dem Windows Plong-Ton), wobei es manchmal zu den Bluescreen-Abstürzen kommt. Damit nicht genug: Das mitgelieferte Programm hat den Comport nicht erkannt, ebenso das Haftmann-Prog. Fazit: Unbrauchbar.

Jetzt mit Prolific-Chip?

Bei meiner Treibersuche habe ich Hinweise gefunden, dass aktuell Polific-Chips statt des unsäglichen Sunplus Teils verbaut werden (ohne Gewähr; Quelle: http://sigrok.org/wiki/Device_cables#V.26A_VA4000 ). Da können wir uns die nachfolgend beschrieben Umbauaktion vermutlich sparen. Auf Nummer Sicher gehen wir mit dem Nachfolgemodell VA40B.

Ersatz für den Sunplus-Chip

Originalplatine &
CP2102-BoardDer Sunplus-Mist musste weg. Schließlich gibt es genug andere bewährte USB-Seriell Wandler. Die gängigen heißen Ftdi FT232, Silicon Labs CP2102 und Prolific PL2303. Mit einem  FT232R habe ich den ersten erfolgreichen Test gemacht. Etwas günstiger ist ein CP2102 zu kriegen (der steckt auch unter der roten Platine im Bild). Vom PL2303 habe ich die Finger gelassen, weil es viele Versionen gibt, die teilweise nicht mehr unterstützt werden (Treiber) und die Chinesen nicht genau angeben, welche Type sie auf ihren Boards verbauen. Schlimmstenfalls bekommen wir einen Chinaklon von denen man munkelt, dass sie von aktuellen Prolific-Treibern nicht unterstützt werden.

Stichwort Chinesen: An den genannten Chips kann der Durchschnittsbastler nicht mehr selber löten. Ich habe hier auf ein fertiges CP2102-Board aus China zurückgegriffen. Bei eBay hat das 1,74 Euro incl. Versand und 4 Wochen Geduld gekostet (wie machen die das?). Wichtig ist, dass wir eine TTL-Version kaufen (ohne Pegelwandler), also keinen USB-RS232 Adapter.

Platine freilegenGehäuse

Die größte Hürde war, das Gehäuse des Schnittstellensteckers zerstörungsfrei zu öffnen. Leider ist es mir nicht gelungen. Die nicht mehr existierenden Teile der Unterschale habe ich auf dem Bild lediglich kaschiert. Die Herausforderung ist, die Nasen innerhalb der Außenhülle zu entfernen oder aus den Nuten (beidseitig) auszuhebeln. Diese Stellen sind mit den roten Pfeilen gekennzeichnet.

Liegt die Originalplatine vor uns (im Bild mit grüner Platine), holen wir uns die 5V Versorgungsspannung und Masse (GND) vom neuen Board. Die Daten greifen wir direkt an der Photodiode (Phototransistor?) ab und liefern sie an den seriellen Eingang (RXD) des neuen Boards. Das originale USB-Kabel können wir ablöten. Der Sunplus-Chip läuft "sinnlos" und ohne USB-Verbindung mit.

Downloads und Links

Download:  ZIP mit VA18B.dll, Beispielprogrammen, Doku und allen Quelltexten.

Alternatives Programm von Henrik Haftmann mit DDE Datenaustausch, Dateilogging usw. (als Gerät UT60A, UT60E, VC-820 oder VC-840 auswählen, die haben ein nahezu identisches Datenprotokoll zum VA18B).


Zur Startseite

 

Haftungsausschluss    Datenschutzerklärung    Impressum

© Frank Steinberg