Author Topic: SCPI boilerplate for configuring a 3457A/44492A for logging voltage references  (Read 923 times)

0 Members and 1 Guest are viewing this topic.

Offline rhb

  • Super Contributor
  • ***
  • Posts: 3168
  • Country: us
I had the good fortune to get a  good deal on the setup.  This spares me having to build a multiplexer from 44421A boards before I can log my references using one of my 34401As.

As logging references seems to be the leading sport in this group I thought I'd ask if  logging software is readily available from anyone.  My  interest is the SCPI code to set up the instrument.  The mathematical analysis I prefer to do myself.  Poring through the programming manuals for the 3457A to figure out how to configure it is not all that interesting, just time consuming.

My *real* interest is seeing if I can accurately predict future aging rates, but as I have been unable to get  historical data in a machine readable format from anyone I shall have to collect my own.

Given the effect of aging on the uncertainty, I'd  expected more cooperation in modeling aging.  However, I was clearly wrong.  So finding out if I can do it will be delayed by 3-5 years.  I find this rather weird as all I am asking for is the opportunity to fail at something no one else seems to be interested in attempting.

FWIW the aging curves look to be of the form, a+b*exp(f(x)).  While that is a difficult equation to fit, I have lots of practice doing it including 4th & 5th order polynomial functions of the exponent of the exponential.

Have Fun!
Reg
 

Offline MiDi

  • Frequent Contributor
  • **
  • Posts: 561
  • Country: ua
Code: [Select]
    inst.write("LOCK ON") #only remote operation allowed
    inst.write("PRESET NORM") #everything to standard - recommended
    inst.write("OFORMAT ASCII") #output format
    inst.write("DCV 0.1") #range selection
    inst.write("TARM HOLD") #stop measurement for setup of instrument
    inst.write("TRIG AUTO") #continuously trigger
    inst.write("NPLC 10") #integration time
    inst.write("NRDGS 1,AUTO") #count of readings
    inst.write("MEM OFF") #do not store in memory
    inst.write("END ALWAYS") #mandatory for reading from instrument
    inst.write("NDIG 6") #digits on LCD
    inst.write("DISP OFF") #turn off LCD
    inst.write("TARM AUTO") #start measurements

Overview of commands bodged together to start with and that are useful.
Some cmds do not make sense to use together or are already set to the value by PRESET NORM.

Edit: To be clear: HP instruments do not have SCPI. It is HP style that looks a bit like SCPI.
« Last Edit: January 12, 2020, 07:51:08 am by MiDi »
 
The following users thanked this post: rhb

Offline maat

  • Regular Contributor
  • *
  • Posts: 118
  • Country: de
What programming language are you looking at?

I do have some Python stuff including an async wrapper, which works well, when collecting data from multiple instruments.
 

Offline MiDi

  • Frequent Contributor
  • **
  • Posts: 561
  • Country: ua
I do have some Python stuff including an async wrapper, which works well, when collecting data from multiple instruments.

Definitly interested, but better to put that into another (existing) topic.
 

Offline rhb

  • Super Contributor
  • ***
  • Posts: 3168
  • Country: us
Thanks.

I'm fairly language agnostic, but awk, C or Python are the probable programming language choices.  I don't have any experience with Python, but it's become clear I should finally get around to using it.

When logging with my 34401As in the USA Cal Club Round 2 I used awk.  I was getting time and date from the PC, temperature and pressure from an Arduino and readings from AR488 running on a custom board designed by @vindoline.  That was a bit of a hassle, so I plan to add an RTC and T&H sensor or two to a MEGA 256 and add commands to read them to AR488.

In particular, I want to use the statistical functions of the 3457A and the 44492A 10 port scanner.  At the moment I have 8 or 9 references I'd like to log.  My understanding is I can get 8.5 digits reported for the mean value.  So I'll probably average 10,000 readings at NLPC 100.  That would give me readings from each reference at 4-5 minute intervals.

 I need to reexamine my analysis of aliasing in the ADC.  It might make sense to take more frequent samples and post process.  Once I have data to analyze I will finally be able to do some higher order analysis.  It would also be very interesting to inject a measured amount of white noise into the output and see how that affects the ADC readings.  It would be nice to have an experimental confirmation  of the ADC aliasing analysis.

Newer HPAK instruments do use SCPI.  The 34401A will allow choosing either 3478A or SCPI command languages.

Unfortunately, as with most standards,  everyone seems to have their own version which may or may not be documented or compatible.

Have Fun!
Reg
 

Offline RandallMcRee

  • Frequent Contributor
  • **
  • Posts: 485
  • Country: us
I had the good fortune to get a  good deal on the setup.  This spares me having to build a multiplexer from 44421A boards before I can log my references using one of my 34401As.

As logging references seems to be the leading sport in this group I thought I'd ask if  logging software is readily available from anyone.  My  interest is the SCPI code to set up the instrument.  The mathematical analysis I prefer to do myself.  Poring through the programming manuals for the 3457A to figure out how to configure it is not all that interesting, just time consuming.

My *real* interest is seeing if I can accurately predict future aging rates, but as I have been unable to get  historical data in a machine readable format from anyone I shall have to collect my own.

Given the effect of aging on the uncertainty, I'd  expected more cooperation in modeling aging.  However, I was clearly wrong.  So finding out if I can do it will be delayed by 3-5 years.  I find this rather weird as all I am asking for is the opportunity to fail at something no one else seems to be interested in attempting.

FWIW the aging curves look to be of the form, a+b*exp(f(x)).  While that is a difficult equation to fit, I have lots of practice doing it including 4th & 5th order polynomial functions of the exponent of the exponential.

Have Fun!
Reg

Your phrasing makes me think that you are taking this personally. (Specifically the words 'annoying', 'weird',  etc) but please don't. Folks like myself and probably many others, just turn the durn things on and then think about logging afterward! I look forward to your adventures.  My main doubt, though, is whether or not lack of temperature control  will obscure the results and make it hard/impossible to properly fit the aging curve. Temperature will come in twice, independently: for the voltage references themselves and then the measurement equipment.

Also 8.5 digits on your equipment does not seem correct?
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 11429
  • Country: de
The HP3457 is usually not very stable. So a direct measurement of the high grade references (e.g. LM399, 1N829) only makes limited sense.
The 30 V range already uses the input divider and is thus less stable than the 10 V range of the 34401.   For it's time it was nice fast and the build in scanner option can be handy, but it is not at all metrology grade.  It is in between the 3456 and 3458 only by the numbers.
Accuracy wise the design of the 3457 deserves a :palm:: the input amplifier does not have a gain 1 setting but 3 V with a gain of 0.3 as the prime range, even with an ADC that works with some 10 V full scale. 
 
To get good accuracy one may have to measure just the difference to a more stable reference in the 3 V range and not directly a modern 7 V or 10 V reference. For 1.2 V or 2.5 V bandgap references the 3457 may be OK.

Fitting a not so well behaved function, like exponential tends to need really good date to get meaningful parameters from the fit.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf