Electronics > Projects, Designs, and Technical Stuff
project: extending HP3478A functionality
kirill_ka:
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:
* 16mhz atmega 328 board (e.g. https://www.ebay.com/sch/i.html?_from=R40&_trksid=p2050601.m570.l1313.TR12.TRC2.A0.H0.Xarduino+pro+mini.TRS0&_nkw=arduino+pro+mini&_sacat=0)
* UART to USB adapter
* GPIB connector
* some kind of buzzer/PC speaker for continuity testergithub 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.
alm:
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?
kirill_ka:
--- Quote from: alm 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?
--- End quote ---
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.
--- Quote from: alm on August 11, 2017, 12:29:05 pm ---How do you know if the meter switches range or function? What would the display update rate be like?
--- End quote ---
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.
--- Quote from: alm on August 11, 2017, 12:29:05 pm ---What would the display update rate be like?
--- End quote ---
I don't know. We'll see. When I tried to enter commands manually it seemed to be quick enough.
kirill_ka:
--- Quote from: alm on August 11, 2017, 12:29:05 pm --- Morse code with SRQ?
--- End quote ---
It's also possible to sniff keypad lines directly, but I prefer it to be GPIB-only.
alm:
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!
Navigation
[0] Message Index
[#] Next page
Go to full version