Author Topic: project: extending HP3478A functionality  (Read 60529 times)

0 Members and 2 Guests are viewing this topic.

Offline kirill_kaTopic starter

  • Frequent Contributor
  • **
  • Posts: 292
  • Country: ru
project: extending HP3478A functionality
« on: August 11, 2017, 08:59:00 am »
HP3478A considered to be a good multimeter, but lacks some basic functions expected from current models (e.g. relative, auto hold, average).
What I'm thinking to do is to hook up microcontroller to GPIB bus internally so it will provide additional functions.
I already have some idea what the "user interface" would look like. Display and SRQ button are available via GPIB. "Local" button is also available indirectly.
That should be enough to implement basic menu system.
...
Update (January 30, 2018): working prototype is ready
The hardware is very basic. To reproduce it you'll need the following stuff:
github project: https://github.com/KIrill-ka/hp3478ext

Functions already implemented:
  • USB interface - allows to execute generic GPIB commands
  • relative mode
  • xohm mode - measure resistances above 30M
  • continuity tester
  • min max
  • diode tester*
  • auto hold
  • temperature**
What else can be done:
  • running average
* Not sure if I want one. It's just a 2w \$\Omega\$ in 3K range. However, beeping may be added.
** Limited to one particular RTD sensor.


Update (September 3, 2018):
The thing now leaves inside my HP3478A powered from it's internal supply. The only hardware modification I had to do to the HP3478A was a cut-out for USB TypeB socket.
This process of integration to the HP3478A is not documented yet (TODO), but now there's a guide for basic implementation and a command reference.
The links are on the project homepage: https://kirill-ka.github.io/hp3478ext/
Thanks to bitseeker for carefully reviewing the documentation.
hp3478ext allows to send generic GPIB commands to a device, so it can be used as a cheap GPIB-USB adapter. For instance, I'm using it with my HP8561E. I wrote a Tcl library implementing some GPIB functions, which I'm going to release very soon.
« Last Edit: September 03, 2018, 12:41:29 pm by kirill_ka »
 
The following users thanked this post: edavid, macboy, Kean, yo0, Melt-O-Tronic, villas, Neomys Sapiens, jeffjmr, porter

Offline alm

  • Super Contributor
  • ***
  • Posts: 2862
  • Country: 00
Re: project: extending HP3478A functionality
« Reply #1 on: August 11, 2017, 12:29:05 pm »
How would you do the UI? Talking to it will lock out all front panel keys except local. You could send GTL after every command, but how do you detect button presses other than SRQ? Morse code with SRQ? How do you know if the meter switches range or function? What would the display update rate be like?

Offline kirill_kaTopic starter

  • Frequent Contributor
  • **
  • Posts: 292
  • Country: ru
Re: project: extending HP3478A functionality
« Reply #2 on: August 11, 2017, 12:54:52 pm »
How would you do the UI? Talking to it will lock out all front panel keys except local. You could send GTL after every command, but how do you detect button presses other than SRQ?
If you press "Local" it stops responding to commands. I found a trick which makes it possible to know that it doesn't respond without entering LISTEN state.
So I should be able to detect two buttons SRQ and Local.
S.Trig and then SRQ can turn on "relative" mode directly.
How do you know if the meter switches range or function? What would the display update rate be like?
Current mode is available in status bytes (B command).
If "additional" functions are not activated, 3478 should stay in normal (local) mode until SRQ is pressed.
What would the display update rate be like?
I don't know. We'll see. When I tried to enter commands manually it seemed to be quick enough.
 

Offline kirill_kaTopic starter

  • Frequent Contributor
  • **
  • Posts: 292
  • Country: ru
Re: project: extending HP3478A functionality
« Reply #3 on: August 11, 2017, 01:02:58 pm »
Morse code with SRQ?
It's also possible to sniff keypad lines directly, but I prefer it to be GPIB-only.
 

Offline alm

  • Super Contributor
  • ***
  • Posts: 2862
  • Country: 00
Re: project: extending HP3478A functionality
« Reply #4 on: August 11, 2017, 01:29:08 pm »
I agree that something that just plugs into the GPIB connector would be much neater. The challenge will be good integration with normal operation without jarring mode switches. Good luck!
 
The following users thanked this post: kirill_ka

Offline macboy

  • Super Contributor
  • ***
  • Posts: 2254
  • Country: ca
Re: project: extending HP3478A functionality
« Reply #5 on: August 11, 2017, 03:57:02 pm »
I did something similar for Keithley 199 years ago. For that meter, it was possible to have a GPIB SRQ generated whenever a front panel button was pressed. The meter would not otherwise respond to front panel buttons (since it was in remote mode). The software could then query which key was pressed and take whatever action was needed, including changing mode or range on the meter. The software-generated/modified reading including units could be sent to the meter's display using a special GPIB command. The 3478A has a similar 14-segment alpha-numeric display, and a very similar command set, but it doesn't seem to have the ability to pass through the keypresses to the GPIB controller in the same way.
Anyway, good luck.
 
The following users thanked this post: kirill_ka

Offline pigrew

  • Frequent Contributor
  • **
  • Posts: 680
  • Country: us
Re: project: extending HP3478A functionality
« Reply #6 on: August 11, 2017, 05:04:43 pm »
Personally, the features I'd want to see would involve ripping out the microcontrollers and analog components and replacing them with something newer, though I'm really not sure if it's worth it.

I personally use GPIB to communicate with it, so I

For example:
  • Replace A/D controller with a modern micro, to get more digits by running at a higher clock speed (I'm not sure if the noise would improve, though)
  • Replace main controller to use a modern micro's internal flash RAM (to avoid the need for the calibration-RAM battery)
  • Replace integrator IC with lower-noise op-amp?
  • Replace main input amplifier? A don't know what the existing part is.

But, would those things be worth it? If replacing an IC or two helps, great, but once I start thinking about replacing micros, the cost might expand to be more than the price of a 6.5 digit DMM.

For some of the digital things mentioned, it sounds like changing the display is required (for example to display averaged data). For this, I believe that the main micro would need to be replaced. Though, the programming shouldn't be too hard and it would be neat to end up with an instrument with open-source firmware.
 

Offline agaelema

  • Contributor
  • Posts: 30
  • Country: br
Re: project: extending HP3478A functionality
« Reply #7 on: August 21, 2017, 02:12:48 am »
Some time ago I was thinking about it when I was searching about DIY GPIB interface to connect my 3478A to computer without need to spend lots of money (more than the DMM price) in an adapter.

But from what I've read, when the DMM remote mode is activated it stops responding locally. Right?

In my opinion, I do not see problems using remote controls (buttons) and another screen, in fact I think they can bring some advantages, a separate screen would be very interesting in allow more measurements at same time, like std value, min, max, etc...

You know some good GPIB DIY project, I think that this is the start of all.
 

Offline kirill_kaTopic starter

  • Frequent Contributor
  • **
  • Posts: 292
  • Country: ru
Re: project: extending HP3478A functionality
« Reply #8 on: August 23, 2017, 01:55:42 pm »
Some time ago I was thinking about it when I was searching about DIY GPIB interface to connect my 3478A to computer without need to spend lots of money (more than the DMM price) in an adapter.

But from what I've read, when the DMM remote mode is activated it stops responding locally. Right?
Not exactly. There's no single thing called "DMM remote  mode". GPIB remote mode is required to send a command, where only SRQ and Local keys are active. But after that, local control might be restored.
In my opinion, I do not see problems using remote controls (buttons) and another screen, in fact I think they can bring some advantages, a separate screen would be very interesting in allow more measurements at same time, like std value, min, max, etc...
The objective is to use hp3478 as a standalone DMM. And I don't want to make many hardware modifications. I have to respect 30+ years old instrument after all :)
You know some good GPIB DIY project, I think that this is the start of all.
I started with this:
https://github.com/JacekGreniger/gpib-converter
Although, I already re-wrote most of the code.
 

Offline kirill_kaTopic starter

  • Frequent Contributor
  • **
  • Posts: 292
  • Country: ru
Re: project: extending HP3478A functionality
« Reply #9 on: August 23, 2017, 02:00:48 pm »
Personally, the features I'd want to see would involve ripping out the microcontrollers and analog components and replacing them with something newer, though I'm really not sure if it's worth it.
What would be left in there?
 

Offline pigrew

  • Frequent Contributor
  • **
  • Posts: 680
  • Country: us
Re: project: extending HP3478A functionality
« Reply #10 on: August 23, 2017, 02:12:47 pm »
Personally, the features I'd want to see would involve ripping out the microcontrollers and analog components and replacing them with something newer, though I'm really not sure if it's worth it.
What would be left in there?
I wouldn't mess with most of the analog circuitry (other than substituting ICs). The integrating ADC controller would remain, as would voltage references and precision resistors. The power supply seems fine, and I'm happy with the front panel. The chassis, switching relays, input terminals, fuses, etc. are likely not limiting performance either.

I was imagining how US$50 parts could best be spent on upgrading the unit.
 

Offline kirill_kaTopic starter

  • Frequent Contributor
  • **
  • Posts: 292
  • Country: ru
Re: project: extending HP3478A functionality
« Reply #11 on: August 24, 2017, 12:40:05 pm »
I've opened a github repository.
https://github.com/KIrill-ka/hp3478ext
My prototype is atmega328 board (arduino nano) which is directly connected to GPIB. And usb-uart dongle is on the other side.
Relative mode is already working. It's entered by pressing S.Trig then SRQ.
It also works as interactive GPIB-UART interface. Someone may find it useful not only for HP3478.
 
The following users thanked this post: agaelema

Offline kirill_kaTopic starter

  • Frequent Contributor
  • **
  • Posts: 292
  • Country: ru
Re: project: extending HP3478A functionality
« Reply #12 on: August 30, 2017, 02:13:40 pm »

Testing extended Ohms mode: 5x68 MOhm resistors.
« Last Edit: August 30, 2017, 02:27:27 pm by kirill_ka »
 

Offline kirill_kaTopic starter

  • Frequent Contributor
  • **
  • Posts: 292
  • Country: ru
Re: project: extending HP3478A functionality
« Reply #13 on: August 30, 2017, 02:23:25 pm »
What would the display update rate be like?
I don't know. We'll see. When I tried to enter commands manually it seemed to be quick enough.
In 4 digit relative mode the display update appears to be much faster than you normally get from HP3478A. Possibly it's intentionally limited to make the display readable. I'm not sure if I want to do the same.
 

Offline bitseeker

  • Super Contributor
  • ***
  • Posts: 9057
  • Country: us
  • Lots of engineer-tweakable parts inside!
Re: project: extending HP3478A functionality
« Reply #14 on: August 31, 2017, 12:34:00 am »
Cool project, kirill. I've thought about extending the functionality of DMMs and power supplies via GPIB, too. Adding a second display for stats, logging, and graphs would be quite an upgrade for the good ol' 3478A.
TEA is the way. | TEA Time channel
 

Offline alm

  • Super Contributor
  • ***
  • Posts: 2862
  • Country: 00
Re: project: extending HP3478A functionality
« Reply #15 on: August 31, 2017, 06:02:52 am »
You can experiment. But especially on that old LCD increasing the update rate may not help readability. Try observing a value quickly fluctuating between 6 and 7. If you had some way of doing an analog bar graph, a higher update rate might be valuable. Same with any logging or plotting.

Offline kirill_kaTopic starter

  • Frequent Contributor
  • **
  • Posts: 292
  • Country: ru
Re: project: extending HP3478A functionality
« Reply #16 on: August 31, 2017, 08:49:34 am »
You can experiment. But especially on that old LCD increasing the update rate may not help readability. Try observing a value quickly fluctuating between 6 and 7. If you had some way of doing an analog bar graph, a higher update rate might be valuable. Same with any logging or plotting.
I've measured actual reading rate and it's not the same as display update. HP3478 has two commands D2 and D3. D2 seems to be buffered, so the display is not updated every time. D3 is  like it writes the LCD immediately. And the more often you write the screen, the less reading rate you get. The maximum I could get so far is 75 reading/sec in 3 digit mode with auto zero off.
 

Offline kirill_kaTopic starter

  • Frequent Contributor
  • **
  • Posts: 292
  • Country: ru
Re: project: extending HP3478A functionality
« Reply #17 on: August 31, 2017, 09:12:10 am »
Cool project, kirill. I've thought about extending the functionality of DMMs and power supplies via GPIB, too. Adding a second display for stats, logging, and graphs would be quite an upgrade for the good ol' 3478A.
Thank you for support! I'm thinking to mount atmega328 inside, and stick out an usb or uart connector. Then raspberry pi can be added for logging and graphing.
 

Offline bitseeker

  • Super Contributor
  • ***
  • Posts: 9057
  • Country: us
  • Lots of engineer-tweakable parts inside!
Re: project: extending HP3478A functionality
« Reply #18 on: August 31, 2017, 05:38:35 pm »
That sounds cool. I'm following the thread. :-+
TEA is the way. | TEA Time channel
 

Offline kirill_kaTopic starter

  • Frequent Contributor
  • **
  • Posts: 292
  • Country: ru
Re: project: extending HP3478A functionality
« Reply #19 on: September 05, 2017, 02:24:42 pm »
UI scheme
« Last Edit: September 05, 2017, 02:27:11 pm by kirill_ka »
 

Offline kirill_kaTopic starter

  • Frequent Contributor
  • **
  • Posts: 292
  • Country: ru
Re: project: extending HP3478A functionality
« Reply #20 on: September 29, 2017, 10:14:09 am »
Next (kind of) prototype is ready! Now it's fitted inside the case. I'll add usb type B port to the back when the cable arrives.
The software part works quite well. So I'm going to use it for some time to see what I want do next.
 

Offline dom0

  • Super Contributor
  • ***
  • Posts: 1483
  • Country: 00
Re: project: extending HP3478A functionality
« Reply #21 on: September 30, 2017, 02:12:25 pm »
Personally, the features I'd want to see would involve ripping out the microcontrollers and analog components and replacing them with something newer, though I'm really not sure if it's worth it.
What would be left in there?
I wouldn't mess with most of the analog circuitry (other than substituting ICs). The integrating ADC controller would remain, as would voltage references and precision resistors. The power supply seems fine, and I'm happy with the front panel. The chassis, switching relays, input terminals, fuses, etc. are likely not limiting performance either.

I was imagining how US$50 parts could best be spent on upgrading the unit.

I wouldn't mess with most of the analog circuitry (other than substituting ICs)
That's kinda an oxymoron, isn't it? The circuit was designed for a specific IC, swapping random ICs makes it a different circuit, behaving differently, not required to behaver better.

In the 3478A many important components are not changed easily, anyway. For example, most of the input switching and protection is on a hybrid in the input section (it also contains some relay drivers, a questionable combination in my mind). This will probably make attempts to reduce input currents futile, for example.

If memory serves, they mainly used a selection of LM308s, LF412s and OP07s to implement the various circuits. The main input amp iirc was a HP P/N part, might be selected/treated off the shelf, might be custom.
,
 

Offline alterbaron

  • Contributor
  • Posts: 42
  • Country: ca
Re: project: extending HP3478A functionality
« Reply #22 on: September 30, 2017, 04:39:08 pm »
Super cool project!

BTW, you may want to replace this cap.



I've had caps like that fail and leak nasty stuff all over the board. IIRC they're known for doing that.
 
The following users thanked this post: elecdonia, kirill_ka

Offline Rbastler

  • Frequent Contributor
  • **
  • Posts: 286
  • Country: it
  • Wörk Wörk
    • Rbastlers Blog
Re: project: extending HP3478A functionality
« Reply #23 on: September 30, 2017, 04:46:01 pm »
Super cool project!

BTW, you may want to replace this cap.



I've had caps like that fail and leak nasty stuff all over the board. IIRC they're known for doing that.

Jep, one blew in my Philips supply while testing it. Evil things.
http://rbastlerblog.jimdo.com/
Gamma spectrometer works. Now some yellow crystals need regenerating and testing.
 

Offline bitseeker

  • Super Contributor
  • ***
  • Posts: 9057
  • Country: us
  • Lots of engineer-tweakable parts inside!
Re: project: extending HP3478A functionality
« Reply #24 on: September 30, 2017, 07:04:54 pm »
BTW, you may want to replace this cap.



I've had caps like that fail and leak nasty stuff all over the board. IIRC they're known for doing that.

Yes! Rifa caps fail spectacularly, often to the detriment of neighboring components. Definitely change old ones, especially if the clear/translucent outer shell is exhibiting stress fractures, like the one in the photo, above.
TEA is the way. | TEA Time channel
 
The following users thanked this post: elecdonia


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf