Forum: Mikrocontroller und Digitale Elektronik Voltcraft VC820(840) serielles Protokoll decodieren


von H2 O. (Gast)


Lesenswert?

Hallo zusammen,
ich benötige Hilfe beim zerlegen den Seriellen Protokolls meines 
Voltcraft VC820.
Habe bereits ein Dokument zum Protokoll gefunden, 
http://www.carl-engler-schule.de/culm/culm/culm2/th_messtechnik/labview/vis/vc820/121111-da-01-en-Digitalmultimeter_VC820_Schnittstellenp.pdf

Leider jedoch verstehe ich nicht so recht, wie ich die Bit-Operationen 
durchführen soll um schließlich die Bytes zu zerlegen und die 
tatsächlichen Werte zu errechnen.
Habe noch nicht mit Bit-Operationen bis dato machen müssen und würde 
mich freuen wenn mir da jemand helfen könnte, wie ich richtig anfange.

Ziel ist es aus den 14Bytes am PC ein sinnvolles Ergebniss zu erlangen 
und dann Code zu schreiben um es in einen Microcontrollerr zum 
Datenloggen zu portieren.
Dort läuft die SD Karte schon auf einem Arduino Nano.

Wäre sehr dankbar, wenns da nen Denkanstoß in die richtige Richtung 
gäbe.

von void (Gast)


Lesenswert?

Thomas B. schrieb:
> Voltcraft VC820.
> Habe bereits ein Dokument zum Protokoll gefunden,

Fertigen Source-Code gibt es hier, hier und hier:
 - http://true-random.com/homepage/projects/vc840/index.html
 - https://www.a-netz.de/blog/2007/08/vc820-software-de/comment-page-1/
 - Beitrag "Programm zum billigen DMM VC820/VC840"

Für Bit-Operationen liest du mal ein C- Lehrbuch oder das hier:
 - https://www.mikrocontroller.net/articles/Bitmanipulation

von Georg A. (georga)


Lesenswert?

void schrieb:
> - http://true-random.com/homepage/projects/vc840/index.html

Spassig, kommt mir bekannt vor, das Netz vergisst nichts ;) Die 
Originalseite gibts aber nicht mehr...

von H2 O. (Gast)


Lesenswert?

Zitat aus dem Protokoll:
http://www.carl-engler-schule.de/culm/culm/culm2/th_messtechnik/labview/vis/vc820/121111-da-01-en-Digitalmultimeter_VC820_Schnittstellenp.pdf
>15, 25, 3B, 40, 55, 67, 7D, 8F, 9E, A0, B0, C0, D1, E1
>
>Die oberen 4 Bit eines Byte geben die Reihenfolge der
>einzelnen Bytes an. Beginnend mit 1 wird bis E durchnumeriert.
>Die unteren 4 Bit eines Byte geben den Einschaltzustand der auf dem Display 
>angezeigten Segmente wieder.


Beispieldatensatz im VoltMesserbereich
76,F3,26,01,99,72,E4,C7,E3,F1,E2,78,78,00
oder µAmpere
74,6C,61,5C,51,4C,41,3A,18,71,E2,18,78,00

Wenn ich also im Terminal einen Datensatz habe der anderweitig lautet 
als folgenden mit X als Platzhalter für die unteren 4Bits jedes Bytes 
stimmt etwas mit meinem Adapter zum Multimeter hin nicht?

Soll das Schema also IMMER folgendes sein?

1X, 2X, 3X, 4X, 5X, 6X, 7X, 8X, 9X, AX, BX, CX, DX, EX

Ich steh glaub ich grad total aufm Schlauch.....SORRY

von Bernd B. (bbrand)


Lesenswert?

Schau mal hier: https://sigrok.org/wiki/Voltcraft_VC-820

bzw. direkt auf die dort verlinkte Seite für den FS9721 Chip, der wohl 
im VC-820 verbaut ist:
https://sigrok.org/wiki/Multimeter_ICs#Fortune_Semiconductor_FS9721_LP3

Ich finde die Beschreibung dort deutlich verständlicher. Passt aber auch 
nicht wirklich auf die Daten, die Du empfängst.

Gruß,
Bernd

: Bearbeitet durch User
von H2 O. (Gast)


Lesenswert?

Vielen Dank zu der Info bzgl. dem FS9721 so hatte ich das aus dem 
anderen Dokument bereits verstanden. Aber es ist schön eine "klarere" 
Bestätigung zu sehen. Merci

OK, also währe meine "theoretische Sollinterpretation" von ein Datensatz 
sollte lauten: (und ich klau mal die korrekte HEX Schreibweise^^)

0x1?, 0x2?, 0x3?, 0x4?, 0x5?, 0x6?, 0x7?, 0x8?, 0x9?, 0xA?, 0xB?, 0xC?, 
0xD?, 0xE?

So sehen meine aber noch nicht aus....

ich denke nun muss ich erstmal an meinem Adapter herumspielen, ich 
glaube es liegt an der Flankensteilheit den High/Low Pegel. Oder 
vielleicht der Flugverdrahtung aufm Breadboard. Mal das Oszi auspacken 
und gucken wie die Rise/Fall Times aussehen.

Zumindest bekomm ich schonmal klar strukturierte 14Bytes die sich im 
Schema widerholen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.