Good to hear everyone got their units calibrated using the Python script. I'd like to apologize for the hassle everyone has experienced. The DMM4050 must use a different method to read the output buffer than these other DMMs. I might take my code down since very few people know Java. The only code that really needs to be adjusted are the DMM methods. As everyone has seen, Telnet cal involves much less mucking about but the SCPI commands are completely different between DMMs. If I do keep the script on the forum, I'll probably add a test class for people to get readback working first before running the script.
Again sorry for the trouble everyone has had with the script. It works great with my setup and really shouldn't be hard to figure out, but then again I wrote it. So yeah, my bad.
Also someone know how calibration values was obtained and from where ? Because on channel 2 lower voltages are negative until 40 mV . Only manual calibration of the DAC V on channel 2 manage to calibrate at a 1.5 mV for 1mV value . Above 100mV precission is equal on 3 decimals .
Thank you .
Mine , at 0V on channel 2 show (on DMM) -68mV and only to 39mV set show 0 on DMM - this for automated calibration (Matlab or Pyton same result)
But if I do a manual DAC calibration on CH2 I can obtain 1 to1.5 mV for Zero set. So PSU can do.
So from were the negative offset using calibration constants ... ?
garrettm
Don't feel bad, we know you were sincere in your effort to help. I can test your modified code if you like as long as it's adapted to:
a. NOT clear the DP832A cal and
b. NOT write the new Cal to the DP832
It should be pretty straightforward to come up with some test code that sets up the DP832 to output a certain voltage and then read the value from the 34461A
Thanks for your help.
I know about them but I want to know how they was obtained.
Can you check on your PSU if on CH2 range 0-40mV is ok ?
Thank you very much !
The reason I say this is that when my calibration was broken through the firmware update and cleared after a failed auto calibration, all the cal points were blank and showed up to 52 steps! So it would seem that custom cal points and increased number of cal points might be possible. But maybe not. It really depends on how Rigol implemented the linearization algorithm.
Yes , that I have seen on my PSU also . There were 52 points of calibration . And the first time when I try maual calibration was 44 .
All that needs to be done is to modify the SCPI strings so that a particular DMM can achieve proper configuration and readback. After that, calibration should be a breeze. Just need to copy the modified commands from TelnetTest into TelnetCal.
If you look at the output I listed as the test was run, you'll see that the 34461A readings appeared to be the commands that were being sent, like this...
ch1 DAC-V calibration
step 0, cal point: 0.2v, meas val: 34461A> 1
step 1, cal point: 0.5v, meas val: 34461A> *opc?
step 2, cal point: 1.2v, meas val: 34461A> 1
step 3, cal point: 2v, meas val: 34461A> *opc?
step 4, cal point: 3.2v, meas val: 34461A> *opc?
step 5, cal point: 4.1v, meas val: 34461A> *opc?
step 6, cal point: 5.2v, meas val: 34461A> :fetch?
The extended number of calibration points is also mentioned in this thread
-> https://www.eevblog.com/forum/testgear/rigol-dp832a-automatic-scpi-calibration-script/
with another calibration script, a bash one.
If I run this code, will it delete the good Cal I already have? I'm happy to test sending data and getting responses from the 34461A but I don't want to go back to where I was a few days back because my Python environment is unstable and I have to recreate the code every time I open up PyCharm (an issue which I'm working on separately).
If I run this code, will it delete the good Cal I already have? I'm happy to test sending data and getting responses from the 34461A but I don't want to go back to where I was a few days back because my Python environment is unstable and I have to recreate the code every time I open up PyCharm (an issue which I'm working on separately).
No cal data is erased or saved and you can skip reading back the ch1 cal points if you want. That's just there to be a better simulation for testing. If you do run the cal point read back, a power reset of the PSU is needed to resume normal operation after running the script. Again, nothing is changed running TelnetTest.class. It only attempts to configure and read measurements from the DMM and then, optionally, read the PSU cal points.
It sounds like you've settled on the Python script, so you don't really need to run the test unless you want to. Though I am curious if we can get the 34461A to work with it, but again, its up to you.
The extended number of calibration points is also mentioned in this thread
-> https://www.eevblog.com/forum/testgear/rigol-dp832a-automatic-scpi-calibration-script/
with another calibration script, a bash one.
Here's a picture of my calibrated DP832(A) sending 5.000V to my 34461A
Here's a picture of my calibrated DP832(A) sending 5.000V to my 34461A
If I had the results you're showing here I'd be worried. It's saying that the output is quite a bit higher than it should be unless those cables you're using have absolutely no voltage drop? Which is unlikely.
McBryce.