PPK2 reports implausible values & modifiers - how to recalibrate?

Hello,

My PPK2 is reporting 2 zetta amperes power usage, and I found out that the "modifiers" appear really broken:

Calibrated: 0
R0: 3095044895830869060112875520.0000
R1: 0.0000
R2: 0.0000
R3: 0.0000
R4: 0.0000
GS0: 0.0000
GS1: 138.3582
GS2: 21.5994
GS3: 3.0130
GS4: 0.0876
GI0: 1.0000
GI1: 0.9614
GI2: 0.9534
GI3: 0.9415
GI4: 0.9521
O0: 0.0000
O1: -2814926129201152.0000
O2: 0.0000
O3: -2251799813685248.0000
O4: 0.0000
VDD: 3300
HW: 54350
mode: 2
S0: -0.000000009
S1: -0.000000064
S2: -0.000000512
S3: -0.000004891
S4: 0.002447326
I0: 0.000000044
I1: 0.000000364
I2: 0.000061116
I3: -0.000254856
I4: -0.007713722
UG0: 1.00
UG1: 1.00
UG2: 1.00
UG3: 1.00
UG4: 1.00
IA: 58
END

I have attempted to re-flash the ppk2 firmware, but that had no effect.

This affects both measurement modes, but in source mode the correct voltage is still output.

Intercepting the modifiers before they are parsed and replacing them with some from a different PPK2 again results in plausible measurements.

This may be related to accidentally writing a binary image intended for a different device onto the PPK2 serial port, assuming there are serial commands to configure those values which do not verify plausibility and do not have a checksum.

Is it possible to re-calibrate the device, or will it have to be replaced?

Parents Reply Children
  • Great, here are the "correct" calibration modifiers for your device:

    GI: [1.0, 0.9614, 0.9534, 0.9415, 0.9521]
    
    GS: [0.0, 138.3582, 21.5994, 3.013, 0.0876]
    
    I: [4.4e-08, 3.64e-07, 6.1116e-05, -0.000254856, -0.007713722]
    
    S: [-9e-09, -6.4e-08, -5.12e-07, -4.891e-06, 0.002447326]
    
    Resistors: [1008.1857, 102.3791, 10.4143, 0.9783, 0.0574]
    
    IA: 58.0
    
    
    
    O0: 2.6004240858328525e-09
    
    O1: 7.554799772474161e-08
    
    O2: 5.8812010525675484e-05
    
    O3: -0.00027686695506880764
    
    O4: 0.003299244635613041

    Best regards,

    Simon

  • Thanks a lot, the measurements look accurate with those values :)

    I have not found a way to write those values anywhere and the App only allows configuring user gains.

    Can you point me to how to do that (ie the byte sequence I can send to the serial port) or is that something proprietary? I would prefer not having to patch the tools to intercept every time.

Related