Author Topic: Some old school instruments showing how it's done (HP 3325A and Fluke 8506a)  (Read 59667 times)

0 Members and 3 Guests are viewing this topic.

Online joeqsmith

  • Super Contributor
  • ***
  • Posts: 12277
  • Country: us
Re: Some old school instruments showing how it's done (HP 3325A and Fluke 8506a)
« Reply #275 on: February 14, 2021, 01:08:38 am »
Yes, that's the heating system running.  It's gas.   

Offline SilverSolderTopic starter

  • Super Contributor
  • ***
  • Posts: 6126
  • Country: 00
Re: Some old school instruments showing how it's done (HP 3325A and Fluke 8506a)
« Reply #276 on: February 14, 2021, 04:26:29 am »

There does appear to be some correlation between the temperature swings and the readings, but there are other factors in there too...
 

Online joeqsmith

  • Super Contributor
  • ***
  • Posts: 12277
  • Country: us
Re: Some old school instruments showing how it's done (HP 3325A and Fluke 8506a)
« Reply #277 on: February 14, 2021, 04:04:17 pm »
I'll scale the data next time to give you a better idea what things look like.   It's been running for around 13 hours.

The meter only resolves to 4 places beyond the decimal.   In the 100 ohm range, meter is good for +/-(0.002% of reading + 1.4 counts(5.5 place)). 

Worse case,  resistor tolerance + meters error = 0.00434ohms.    So I am expecting it to read between 60.00434 to 59.99566 ohms.     

If we assume our temperature stays within 3degC.  Vishay K part has 1ppm tempco and will only change 0.00018.  The meter has a tempco of 0.0007 +0.2 counts per deg. C.  = 0.00042 + 0.00002 or 0.00132 ohms.   Adding the resistor, 0.0015 ohms, almost all of it being the meter.   House may shift a little more than this but I think that 1.5mohm is about what we are looking for.   
 
Then again, don't rule out the lack of coffee.   

Offline SilverSolderTopic starter

  • Super Contributor
  • ***
  • Posts: 6126
  • Country: 00
Re: Some old school instruments showing how it's done (HP 3325A and Fluke 8506a)
« Reply #278 on: February 14, 2021, 04:40:31 pm »
I like the "bell curve" graph, with the count of measured values - that pretty much tells you what you can expect.  And it looks nicely Gaussian, with no missing values!
 

Online joeqsmith

  • Super Contributor
  • ***
  • Posts: 12277
  • Country: us
Re: Some old school instruments showing how it's done (HP 3325A and Fluke 8506a)
« Reply #279 on: February 14, 2021, 09:35:26 pm »
After 20 hours of runtime, with the meter zero'ed, the readings are from 60.0004 to 59.9985.  Accuracy and drift seem about what I would expect. 

Second plot is looking at the last hour and a half or so of data. 

I have attached the data which is ASCII.  The first column is the resistance, the second, temperature. 

Offline SilverSolderTopic starter

  • Super Contributor
  • ***
  • Posts: 6126
  • Country: 00
Re: Some old school instruments showing how it's done (HP 3325A and Fluke 8506a)
« Reply #280 on: February 14, 2021, 09:50:40 pm »

It does look like your earlier calculations were right.  And your setup appears to be beating the worst case?


...Meanwhile, I'm still being dogged by bad EPROM programming... one of the meters refuses to boot now - the EPROM appears to be "leaking bits".

I'm wondering if it's time to invest in a better programmer, or just use the Intel EPROMS that it seems to do better with...
 

Online joeqsmith

  • Super Contributor
  • ***
  • Posts: 12277
  • Country: us
Re: Some old school instruments showing how it's done (HP 3325A and Fluke 8506a)
« Reply #281 on: February 14, 2021, 10:14:57 pm »
I'm not sure what the typical numbers would be for this part but I'm not surprised that even with the meter, it's coming in tighter.  I plan to try the highest range next.  Looking to see what I can use to get me around 0.1G. 

When I was using windowed parts, it seems like we could get maybe 20 or so cycles on them.   We would mark them each time they were programmed.    We would never use anything but virgin parts for something what was sent outside of engineering.  If the used parts were only programmed once, they should be fine.   I wonder if you can get NOS parts still.     

In those days we had a DataIO that had a serial port on it.  More than once I was using the built-in hex keypad to enter the data.   For home, I made one for my VIC 20 and later my IBM AT.  Eventually I bought that EETools programmer.   That was a big step up.  It's very rare I have a need for one now and was thinking your sub $100 programmer may be the ticket to replace mine.   




Offline SilverSolderTopic starter

  • Super Contributor
  • ***
  • Posts: 6126
  • Country: 00
Re: Some old school instruments showing how it's done (HP 3325A and Fluke 8506a)
« Reply #282 on: February 14, 2021, 10:57:40 pm »

I decided to splurge on a slightly more upscale programmer - let's see if the problem is with the TL866CS, or if all seven TMS2764 chips that I have here really are bad!

I suspect programming the older chips may require a more "meaty" programmer than the modern, well behaved chips.  After all, the old EPROMs were designed back in the day when the engineer drove to work in a 455 Pontiac Trans Am, right?

 

Online joeqsmith

  • Super Contributor
  • ***
  • Posts: 12277
  • Country: us
Re: Some old school instruments showing how it's done (HP 3325A and Fluke 8506a)
« Reply #283 on: February 15, 2021, 12:14:22 am »
The one person had written about the low programming voltage on the later revision.  Maybe the older ones also had a problem as well.   Seems like as long as they followed the data sheets, it should work  fine.  You can see that one I made for my VIC-20 is pretty barbaric.  Maybe just check it with a scope before investing in another programmer?   

The very first picture on the left is what we had.  The old 29.   
https://en.wikipedia.org/wiki/Data_I/O

I have now replaced the 60 ohm with a 100M. 

***
Caddock 10ppm part was the best thing I could come up with.   Had to use some foil to tame the static.   


« Last Edit: February 15, 2021, 12:37:33 am by joeqsmith »
 

Offline SilverSolderTopic starter

  • Super Contributor
  • ***
  • Posts: 6126
  • Country: 00
Re: Some old school instruments showing how it's done (HP 3325A and Fluke 8506a)
« Reply #284 on: February 15, 2021, 01:12:17 am »

LOL that foil shield is another $800 part, for sure! 


...re programmer, the one you used looks like it could weld the pins together if it needed to!

I had a Vic 20 as well, back in the day... 
 

Offline SilverSolderTopic starter

  • Super Contributor
  • ***
  • Posts: 6126
  • Country: 00
Re: Some old school instruments showing how it's done (HP 3325A and Fluke 8506a)
« Reply #285 on: February 15, 2021, 04:06:22 am »
Turns out the TL866CS can't maintain 21V programming voltage on these particular chips...

19.38V is as good as it gets.

No wonder these particular EPROMS are having "learning difficulties"! :)




The latest model - TL866II  - has a more realistic 18V max specification...   I'm pretty sure the power supply didn't change!
« Last Edit: February 15, 2021, 04:08:32 am by SilverSolder »
 

Online bdunham7

  • Super Contributor
  • ***
  • Posts: 8175
  • Country: us
Re: Some old school instruments showing how it's done (HP 3325A and Fluke 8506a)
« Reply #286 on: February 15, 2021, 04:48:14 am »
Turns out the TL866CS can't maintain 21V programming voltage on these particular chips...

19.38V is as good as it gets.

https://pinside.com/pinball/forum/topic/program-21v-25v-roms-in-lower-voltage-programmers
A 3.5 digit 4.5 digit 5 digit 5.5 digit 6.5 digit 7.5 digit DMM is good enough for most people.
 
The following users thanked this post: SilverSolder

Online joeqsmith

  • Super Contributor
  • ***
  • Posts: 12277
  • Country: us
Re: Some old school instruments showing how it's done (HP 3325A and Fluke 8506a)
« Reply #287 on: February 15, 2021, 03:36:37 pm »
Turns out the TL866CS can't maintain 21V programming voltage on these particular chips...

19.38V is as good as it gets.

No wonder these particular EPROMS are having "learning difficulties"! :)
..
The latest model - TL866II  - has a more realistic 18V max specification...   I'm pretty sure the power supply didn't change!

Good to see you put the scope on it.  It's very telling.  I guess I'm not too surprised.   I think I paid around $300 USD for my last programmer.  Spread that over the 20 some years I had it and it's about $15/year.    Pins were short circuit protected.   I did manage to damage one once but other than this and the lightning strike, I've had no problems with it.   I had to hack their code a few times to keep it running and add a few parts, so it was really beyond it's life anyway.

For the 100M range test, eyeballing, it looks like the average temperature changed about 0.5degC during the night, while the resistance changed about 5K .    It's a 10ppm part, so I expect 500ohms of that drift is contributed by the Caddock part.    Looks like the meter has a  TC of 0.02% + 10X 0.5 counts in this range.   Seems like it should be roughly 10K.  Even if we look at p-p, its a wash.   Maybe a bit high. 

Also shown is the last hour or so of data.   Foil did a nice job taming the signal.  Without that part being shielded, winter, rolling on a chair creating all sorts of HV, those readings would be all over the place. 

Offline SilverSolderTopic starter

  • Super Contributor
  • ***
  • Posts: 6126
  • Country: 00
Re: Some old school instruments showing how it's done (HP 3325A and Fluke 8506a)
« Reply #288 on: February 15, 2021, 05:05:21 pm »

And the temperature is measured inside the meter? -  the results look pretty good.  And if you use the mean or the median value out of the bell curve, it looks like you will get a statistically valid precise value out of it.

I have a humidifier running in the lab during the winter - I got tired of destroying sensitive parts despite precautions!  - it barely manages to keep the humidity in the 25% range, despite being refilled every night with 4 buckets of water...   25% RH is just about good enough to avoid the worst of the static, though, so overall it is still a win.

Re programmers - the TL866 is hard to beat in terms of the number of devices supported, and it is generally reliable apart from high voltage NMOS parts obviously.  I think it might be possible to add a barrel jack to it and get it to work reliably at 21V, assuming the problem is that its internal DC/DC converter runs out of breath.   That is the subject of another thread, though...

I ended up ordering one of these:  https://www.batronix.com/shop/programmer/BX32P/index.html   -  at EUR 159, it seems a relative bargain if it is really is professional grade (which indications are that it is...  5 year warranty, 30 day money back guarantee if you don't like it, etc.)  - I also like that it is small, similar to the TL866.  Let's see how that works out!

 

Online joeqsmith

  • Super Contributor
  • ***
  • Posts: 12277
  • Country: us
Re: Some old school instruments showing how it's done (HP 3325A and Fluke 8506a)
« Reply #289 on: February 15, 2021, 06:03:12 pm »
I've been fairly lucky in my home lab and only remember damaging a few cheap handheld meters (part of my testing).   I normally wear a strap and work on the mat.     

I would like to have the ability to program some of the old 40 pin parts (8051) along with the 6811e9.  Some of the serial PROMs for the FPGAs were not supported with my old programmer.   Biggest problem was having to boot the new PC up in DOS to run it!  lol. 


The readings are not moving around much now.  I have attached the 16 plus hours of data if anyone would like to do their own post processing.   Same format, ohms/temp in ASCII.   Like before the readings are every 4.9 seconds.     


Offline SilverSolderTopic starter

  • Super Contributor
  • ***
  • Posts: 6126
  • Country: 00
Re: Some old school instruments showing how it's done (HP 3325A and Fluke 8506a)
« Reply #290 on: February 15, 2021, 06:38:45 pm »
I did a scatter plot of that data, and it doesn't seem to show any particular tendency for temperature dependence.

 

Online joeqsmith

  • Super Contributor
  • ***
  • Posts: 12277
  • Country: us
Re: Some old school instruments showing how it's done (HP 3325A and Fluke 8506a)
« Reply #291 on: February 16, 2021, 07:51:29 pm »
Now that I have something other than hype (thanks again for looking at it), I ordered one of these low cost, latest generation programmers mentioned here.  Maybe we can address the some of the problems with it. 

Yeah, it doesn't appear to me that the readings correlate to temperature as well. 
https://www.youtube.com/watch?v=-0zPDfNVXjU&feature=youtu.be


 

Offline SilverSolderTopic starter

  • Super Contributor
  • ***
  • Posts: 6126
  • Country: 00
Re: Some old school instruments showing how it's done (HP 3325A and Fluke 8506a)
« Reply #292 on: February 17, 2021, 04:33:58 am »

I've replaced the 21V TI EPROMs with Intel 12.5V EPROMs in four different controllers now, and they all seem solid.  The TL866CS seems to have no problem programming the 12.5V Intel EPROMs, unlike the high voltage TI chips.  The programming worked first time, and worked first time in the actual circuit too.  So, the TL866 can still be considered a useful programmer, as long as you realize that the spec for the new model (max 18V chips) actually applies to the older models too!
 

Online bdunham7

  • Super Contributor
  • ***
  • Posts: 8175
  • Country: us
Re: Some old school instruments showing how it's done (HP 3325A and Fluke 8506a)
« Reply #293 on: February 17, 2021, 05:22:16 am »
I've replaced the 21V TI EPROMs with Intel 12.5V EPROMs in four different controllers now, and they all seem solid.

What part number EPROM was that?

Quote
So, the TL866 can still be considered a useful programmer, as long as you realize that the spec for the new model (max 18V chips) actually applies to the older models too!

I've actually looked for the older model at times, but I guess what you are saying is that they didn't actually change the product, they changed the specification to reflect the products shortcomings!  Is the software the same for both versions? 
A 3.5 digit 4.5 digit 5 digit 5.5 digit 6.5 digit 7.5 digit DMM is good enough for most people.
 

Offline SilverSolderTopic starter

  • Super Contributor
  • ***
  • Posts: 6126
  • Country: 00
Re: Some old school instruments showing how it's done (HP 3325A and Fluke 8506a)
« Reply #294 on: February 17, 2021, 06:44:17 am »
Yes, I think they "fixed" the problem by changing the spec...   for most people, the lack of high voltage EPROM capability is unlikely to be a problem, so they deemed it not worth the effort and cost to fix it properly, most likely.


The chips that are working for me are labeled Intel D2764A,  in the programmer software I selected "Intel 2764A @DIP28".

I believe the software is different between the older and new model TL866.  The new software has apparently dropped any mention of the high voltage chips (since they can't be programmed anyway).  I don't think the old software will work on the new programmer, at least not without downgrading the firmware in the programmer.

But there are many workarounds: 
1) use 12.5V EPROM chips like the Intel D2764A which are still supported in the new TL866II (working for me now),

2) use a modern EEPROM that is believed to be a drop in replacement: ‎AT28C64B  - (I haven't tried it yet) - This may be the most reliable way to get the job done with a TL866, since we are now dealing with a well behaved modern chip.

3) add a more serious programmer to your arsenal that can deal with high voltage NMOS chips and add confidence that these temperamental chips are done properly and durably.

So, it isn't really a showstopper that the new model can't do 21V - neither can the old model! - it seems a good option to just get the current model and be very happy with it, as it supports even more devices than the previous models.
 

« Last Edit: February 17, 2021, 06:45:55 am by SilverSolder »
 

Online joeqsmith

  • Super Contributor
  • ***
  • Posts: 12277
  • Country: us
Re: Some old school instruments showing how it's done (HP 3325A and Fluke 8506a)
« Reply #295 on: February 17, 2021, 12:09:34 pm »
The new software has apparently dropped any mention of the high voltage chips (since they can't be programmed anyway).  I don't think the old software will work on the new programmer, at least not without downgrading the firmware in the programmer.

That's too bad as my intent would have been to improve the hardware.     

**
Both the Programmer and printer port were damaged.  It looks like they still offer a printer port using the same chipset.   That board was nice as it would actually work even with DOS.  You could install a loopback  connector that allows the software to self test the hardware.   I have ordered up a couple of ports like before to see if I can find another one that actually works.   I also noticed that VirtualBox now has some undocumented, limited support for printer ports.    If I can get the port to work,  I will see about another old programmer.   
« Last Edit: February 17, 2021, 12:20:52 pm by joeqsmith »
 

Offline garrettm

  • Frequent Contributor
  • **
  • Posts: 319
  • Country: us
Re: Some old school instruments showing how it's done (HP 3325A and Fluke 8506a)
« Reply #296 on: February 17, 2021, 03:30:55 pm »
Turns out that converting the 32bit and 40bit fixed-point binary data from normal and average modes was as simple as the 22bit fixed-point data from HS mode. The exponent bytes are used to check for error's reported by the meter, but are otherwise ignored since fluke uses fixed exponents for all measurements except ohms.

The following C++ code can take 12 and 13-byte ASCII data as well as 3, 5 and 6-byte binary from a 8505/6A and convert it to a 64bit floating point number. The binary data isn't range or calibration corrected yet. I also still need to work out triggering for the binary data. But I should have those figured out shortly and then I can start testing with my meter. I downloaded the community edition of NI LabVIEW so I might try using it to make a program to control 8505/6As. If anyone has suggestions I'd be happy to hear them.

Code: [Select]
#include <iostream>
#include <inttypes.h>


// TYPE DEFINITIONS

// fixed point data from average mode
typedef union {
  struct {
    uint32_t f;     // fraction bits
    uint8_t  i :7;  // integer bits
    bool     s :1;  // sign bit
  };
  uint64_t   w :40; // 40bit fixed point word
  uint8_t    b[5];
} fxp40_t; // 40-bit fixed point data bit fields

// fixed point data from normal operation
typedef union {
  struct {
    uint32_t f :24; // fraction bits
    uint8_t  i :7;  // integer bits
    bool     s :1;  // sign bit
  };
  uint32_t   w;     // 32bit fixed point word
  uint8_t    b[4];
} fxp32_t; // 32-bit fixed point data bit fields

// fixed point data from high speed mode
typedef union {
  struct {
    uint32_t f :20; // fraction bits
    bool     i :1;  // integer bit
    bool     e :1;  // error bit
    bool     s :1;  // sign bit
  };
  uint32_t   w :22; // 22bit fixed point word
  uint8_t    b[3];
} fxp22_t; // 22bit fixed point data bit fields

typedef union {
  struct {
    uint64_t f :63; // mantissa and exponent
    bool     s :1;  // sign
  };
  double     r = 1; // set mantissa bits to 0
} fp64_t; // 64bit floating point bit fields


// GLOBAL VARIABLES

constexpr char LF = 10; // line feed
constexpr char CR = 13; // carriage return

bool meas_err  = 0; // flag for DMM reading error
bool data_type = 1; // data type flag: 0 => binary, 1 => ASCII


// FUNCTIONS

// convert fixed point types to 64bit floating point
double fxp_to_fp64(uint64_t f, uint8_t i, bool s) {
  fp64_t val;
 
  val.f |= f;     // fraction bits
  val.r += i - 1; // integer bit / FP exp
  val.s  = s;     // sign bit
 
  return val.r;   // unscaled floating point value
}

double binary_to_double(uint8_t b[], const uint8_t& length) {
  // high speed mode, 3-byte binary
  if (b[length - 1] == 3) {
    fxp22_t fxp;
    std::copy(&b[length - 1 - b[length - 1]], &b[length - 1], &fxp.b[0]);
   
    if (!fxp.s == fxp.e) // check error bit for measurement error
      meas_err = true;

    if (fxp.s) // perform two's complement if value is negative
      fxp.w = ~fxp.w + 1;
     
    // convert fixed point data to floating point
    return fxp_to_fp64(static_cast<uint64_t>(fxp.f) << 32, fxp.i, fxp.s);
  }
 
  //normal mode, 5-byte binary
  else if (b[length - 1] == 5) {
    fxp32_t fxp;
    std::copy(&b[length - b[length - 1]], &b[length - 1], &fxp.b[0]);
   
    if (b[length - 6] == 0) // check exponent for measurement error
      meas_err = true;
 
    if (fxp.s) { // perform two's complement if value is negative
      fxp.w = ~fxp.w + 1;
      fxp.s = 1; // retain sign information
    }
   
    // convert fixed point data to floating point
    return fxp_to_fp64(static_cast<uint64_t>(fxp.f) << 28, fxp.i, fxp.s);
  }
 
  // average mode, 6-byte binary
  else if (b[length - 1] == 6) {
    fxp40_t fxp;
    std::copy(&b[length - b[length - 1]], &b[length - 1], &fxp.b[0]);
   
    if (b[length - 7] == 0) // check exponent for measurement error
      meas_err = true;
 
    if (fxp.s) { // perform two's complement if value is negative
      fxp.w = ~fxp.w + 1;
      fxp.s = 1; // retain sign information
    }
   
    // convert fixed point data to floating point
    return fxp_to_fp64(static_cast<uint64_t>(fxp.f) << 20, fxp.i, fxp.s);
  }
 
  // handle mangled binary data
  else {
    meas_err = true;
    return 0;
  }
}

double ascii_to_double(uint8_t b[], const uint8_t& length) {
  // normal mode 5.5/6.5 digit measurement
  if (b[length - 1] == 12) {
    char s[13] = {0,0,0,0,0,0,0,0,0,0,0,0,0};
    std::copy(&b[0], &b[12], &s[0]);
    return std::stod(s);
  }
 
  // average mode 6.5/7.5 digit measurement
  else if (b[length - 1] == 13) {
    char s[14] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0};
    std::copy(&b[0], &b[13], &s[0]);
    return std::stod(s);
  }
 
  // handle CR LF terminations and mangled ASCII data
  else  {
    meas_err = true;
    return 0;
  }
}

//dummy data for testing
uint8_t b_data[] =

/* 3-byte binary data
{0b11110111,  // 1st byte
 0b10111111,  // 2nd byte
 0b11111111}; // 3rd byte
//*/

/* 5-byte binary data
{0b00000011,  // 1st byte
 0b10000000,  // 2nd byte
 0b00000000,  // 3rd byte
 0b00000000,  // 4th byte
 0b00000001}; // 5th byte
//*/

/* 6-byte binary data
{0b00000011,  // 1st byte
 0b10000000,  // 2nd byte
 0b00000000,  // 3rd byte
 0b00000000,  // 4th byte
 0b00000000,  // 5th byte
 0b00000001}; // 6th byte
//*/

//* 12-byte ASCII data
{'+','0','1','0','.','0','0','0','1','E','-','3',CR,LF};
//*/

/* 13-byte ASCII data
{'-','1','0','.','0','0','0','3','3','3','E','+','0',CR,LF};
//*/

/* test terminations for ASCII data
{CR,LF};
//*/

/* mangled ASCII data test
{'-','1','0','.','0',CR,LF};
//*/

double get_reading(void) {
  // character buffer, last index stores number of bytes read from DMM
  uint8_t b[14];
 
  // read binary data from DMM
  if (data_type == 0) {
    // store bytes in reverse order, b[sizeof b - 1] counts # of bytes
    for (uint8_t &i = b[sizeof b - 1]; i <= sizeof b_data - 1; i++)
      b[sizeof b - 2 - i] = b_data[i];
 
    std::cout << (int)b[sizeof b -1] << "-byte binary" << std::endl;
 
    return binary_to_double(b, sizeof b);
  }
 
  // read ASCII character data from DMM
  else {
    // store valid characters in buffer, b[sizeof b - 1] counts # of bytes
    for (uint8_t &i = b[sizeof b - 1]; b_data[i]!=CR && b_data[i]!=LF; i++)
      b[i] = b_data[i];
   
    std::cout << (int)b[sizeof b -1] << "-byte ASCII" << std::endl;
   
    return ascii_to_double(b, sizeof b);
  }
}

int main() {
  // set data type: 0 == binary, 1 == ASCII
  data_type = 1;
 
  // get reading and convert to 64bit FP
  double r = get_reading();
 
  std::cout << "reading error? " << meas_err << std::endl;
  printf("FP value: %4.7f \n", r);
}
 

Online joeqsmith

  • Super Contributor
  • ***
  • Posts: 12277
  • Country: us
Re: Some old school instruments showing how it's done (HP 3325A and Fluke 8506a)
« Reply #297 on: February 17, 2021, 04:39:34 pm »
There may be software already for the Fluke meter.   I would check that first.   

If you have never used LabView,  the first thing I would suggest is you spend a day going through the getting started manual.  Work all the examples and get a basic idea how it works.  It's not magic and like any language takes time to learn.   You may also want to join their forums.   

The 5-byte data is what the LED displays.  No need to correct it like the 3-byte.  Also, no 2's comp.  So a little easier.   

I've not seen any problems using the technique I mentioned to sync up with the data.   Then again, that serial data is very slow.  But the PCs are so fast... I guess you just need to try it. 

Offline SilverSolderTopic starter

  • Super Contributor
  • ***
  • Posts: 6126
  • Country: 00
Re: Some old school instruments showing how it's done (HP 3325A and Fluke 8506a)
« Reply #298 on: February 17, 2021, 05:22:08 pm »
I noticed in AN25 there is a sample program (in Tektronix Basic no less) that does the 3-byte correction in the typically terse way of that era!

Not sure I even understand what this code is doing, but it is compact...

 
The following users thanked this post: garrettm

Offline garrettm

  • Frequent Contributor
  • **
  • Posts: 319
  • Country: us
Re: Some old school instruments showing how it's done (HP 3325A and Fluke 8506a)
« Reply #299 on: February 17, 2021, 08:01:30 pm »
There may be software already for the Fluke meter.   I would check that first.   

If you have never used LabView,  the first thing I would suggest is you spend a day going through the getting started manual.  Work all the examples and get a basic idea how it works.  It's not magic and like any language takes time to learn.   You may also want to join their forums.   

The 5-byte data is what the LED displays.  No need to correct it like the 3-byte.  Also, no 2's comp.  So a little easier.   

I've not seen any problems using the technique I mentioned to sync up with the data.   Then again, that serial data is very slow.  But the PCs are so fast... I guess you just need to try it.

I'm sure there is software used by the military, but I haven't seen any open source software that supports the Fluke 8505/6A. I'll try looking on NI's site in case someone has uploaded something for one of the paid LabVIEW editions.

All fixed-point binary data (except the exponent byte) require two's complementing as an entire word before conversion to floating point. This is done to make the value positive before merging the fraction bits into the floating point mantissa and letting the processor figure out the bit fields for the integer portion (using FP addition). Otherwise, all single byte binary data is in signed char format (i.e., "two's complement"). So no work to do there.

That said, there are free fixed-point libraries for C++ available which would eliminate the need for conversion, but I haven't tried using them yet.

https://github.com/johnmcfarlane/cnl

https://github.com/eteran/cpp-utilities

I'm hoping to get at least 360 readings/s using the HS mode. I can do it with the external trigger input but I've yet to get it to work using bus triggering with my current setup. I plan on making an AR488 Arduino GPIB interface here soon which should solve my inability to directly control the talk/listen operation of the DMM.

https://www.eevblog.com/forum/projects/ar488-arduino-based-gpib-adapter/

If I can't figure out LabVIEW I may write a program in Visual Studio 2017 or Matlab to control the instrument, generate CSV files and plot the data--as I have a little more experience with them. Though, from what I can tell, LabVIEW is supposed to make doing this pretty simple. There is also a program on the forum for reading from multiple instruments but it appears to only work with SCPI instruments. I need to look through the documentation and see if I could make it work with these older meters.

https://www.eevblog.com/forum/testgear/program-that-can-log-from-many-multimeters/
« Last Edit: February 17, 2021, 08:06:59 pm by garrettm »
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf