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

0 Members and 1 Guest are viewing this topic.

Offline kirill_kaTopic starter

  • Frequent Contributor
  • **
  • Posts: 292
  • Country: ru
Re: project: extending HP3478A functionality
« Reply #75 on: February 18, 2019, 09:41:44 am »
...and that kit is damn expensive.
These are pretty cheap:
https://www.aliexpress.com/item/FREE-SHIPPING-60PCS-2-54MM-6Pin-8Pin-10Pin-10MM-Long-Needle-Female-Pin-Header-Strip-Stackable/32309731519.html
However, I had to file pins a little. They are too wide for the socket used in my 3478a.

Edit: It doesn't work with external GPIB adapter in parallel with the extension for me. You may want to look at the code and see if all the lines are high impedance/inputs while waiting for buttons press/serial communication.

By design you should disable extension with serial command. But in theory it is possible to allow external GPIB master if the SRQ is not used.
Did you try the latest version (1.1)?
https://github.com/KIrill-ka/hp3478ext/releases
Ok, I need to find time to make a debugging session to see what I can do about this.
 

Offline Miti

  • Super Contributor
  • ***
  • Posts: 1324
  • Country: ca
Re: project: extending HP3478A functionality
« Reply #76 on: February 22, 2019, 12:04:06 pm »
Kirill,

I tried OX0 and still didn't work. It must pull some lines up or down.
Fear does not stop death, it stops life.
 

Offline kirill_kaTopic starter

  • Frequent Contributor
  • **
  • Posts: 292
  • Country: ru
Re: project: extending HP3478A functionality
« Reply #77 on: February 22, 2019, 09:46:45 pm »
Yes, the data lines were not released after transfer. Please, try the attached version.
I tested it with HP8561E acting as GPIB master. HP8561E was able to read data from the multimeter (although, not reliably, but it works the same regardless of the hp3478ext).
Also I was able to control the HP8561E using the extension board installed  inside of HP3478A without a problem.
 

Offline Miti

  • Super Contributor
  • ***
  • Posts: 1324
  • Country: ca
Re: project: extending HP3478A functionality
« Reply #78 on: February 22, 2019, 11:59:06 pm »
Thanks Kirill!

It works well and I don't even have to send OX0.  :-+
I can make some suggestions, if you are open to improvements.

1. Timeout so it doesn't stay there forever waiting to select AUTOHOLD, etc.
2. Instrument GPIB address auto detection so we're not stuck with address 23 and we don't have to set it manually in the extension board. You can save it in EEPROM and validate it at power up.

I have some more but I can't remember them now.
« Last Edit: February 23, 2019, 12:00:46 am by Miti »
Fear does not stop death, it stops life.
 

Offline kirill_kaTopic starter

  • Frequent Contributor
  • **
  • Posts: 292
  • Country: ru
Re: project: extending HP3478A functionality
« Reply #79 on: February 24, 2019, 10:21:24 pm »
I can make some suggestions, if you are open to improvements.
Yes, sure, any suggestions are welcome.
1. Timeout so it doesn't stay there forever waiting to select AUTOHOLD, etc.
Could you add some background, why do you think it would be useful?
If you mistakenly press the SRQ key, I think, it's faster to cycle through menu instead of waiting.

Quote
2. Instrument GPIB address auto detection so we're not stuck with address 23 and we don't have to set it manually in the extension board. You can save it in EEPROM and validate it at power up.

I guess this is meant for installations where you just don't want to use the USB interface at all.
It can be done, but it's a bit more complex than I like it...

By the way, I made it to exit the continuity tester by switching the measurement function.
 

Offline Miti

  • Super Contributor
  • ***
  • Posts: 1324
  • Country: ca
Re: project: extending HP3478A functionality
« Reply #80 on: February 27, 2019, 11:24:50 pm »
Could you add some background, why do you think it would be useful?
If you mistakenly press the SRQ key, I think, it's faster to cycle through menu instead of waiting.

I always find it good practice to come back to a known state if a sequence of keys was not completed. For example there is AUTOHOLD and MINMAX in all functions, V DC, V AC, 2W Ohm, 4W Ohm, mA DC, mA AC. If I press SRQ once and the phone rings, when I come back and I see AUTOHOLD on the display, I don't remember if I was in V, A, etc. If it times out, I know where I am. Nothing wrong with the way it is now, just convenience. I know,  :blah:  :-DD

I guess this is meant for installations where you just don't want to use the USB interface at all.
It can be done, but it's a bit more complex than I like it...

I should be able to use it stand alone or USB with the instrument set to any address as long as I know what address was set to. The power up sequence that I think of is:
1. Try to read something from the default address (that is stored in the EEPROM), for example send an S and see if you receive back 0<CR><LF> or 1<CR><LF>
2. If you received the expected string, do nothing, the address is correct.
3. If you don't receive the expected string, scan all the GPIB addresses  until you get the expected string and store the correct address in the EEPROM.
In general, step 3 should be executed only if the instrument GPIB has changed or it is the first install.

By the way, I made it to exit the continuity tester by switching the measurement function.

Thanks! Did you upload the hex somewhere?
Fear does not stop death, it stops life.
 

Offline Miti

  • Super Contributor
  • ***
  • Posts: 1324
  • Country: ca
Re: project: extending HP3478A functionality
« Reply #81 on: March 04, 2019, 12:12:33 am »
Kirill,

In CONT mode, if I don't probe anything for awhile, probably about 10 minutes, the display goes blank. That's a feature the instrument if the display isn't updated for about 10 minutes. Please look at "D3text" command. Probably you don't update the display if nothing changes.
Fear does not stop death, it stops life.
 

Offline kirill_kaTopic starter

  • Frequent Contributor
  • **
  • Posts: 292
  • Country: ru
Re: project: extending HP3478A functionality
« Reply #82 on: March 05, 2019, 04:26:01 pm »
In CONT mode, if I don't probe anything for awhile, probably about 10 minutes, the display goes blank. That's a feature the instrument if the display isn't updated for about 10 minutes. Please look at "D3text" command. Probably you don't update the display if nothing changes.

Yes, I think that's not bad. It goes back as soon as you short the leads. But I think of adding menu timeout as you suggested because of this "screensaver" thing.
The blank display while expecting menu selection doesn't seem to be good.

Did you upload the hex somewhere?
I'm in the process of adding eeprom parameters for buzzer volume and frequency (0 will disable PWM). After that I'm going to release a new version.
By the way, I've got the boards. It was a joy to solder, thanks! PC speaker sounds quite well.
Looks like it's a good idea to add a gate pull-down resistor for the buzzer driver mosfet. It gets quite warm then atmega pin is high-Z.
 

Offline Miti

  • Super Contributor
  • ***
  • Posts: 1324
  • Country: ca
Re: project: extending HP3478A functionality
« Reply #83 on: March 05, 2019, 11:46:36 pm »
Looks like it's a good idea to add a gate pull-down resistor for the buzzer driver mosfet. It gets quite warm then atmega pin is high-Z.

I didn't expect that output to be hi-Z but I guess that's how you turn the buzzer on and off, from DDR register. Can you add one line of code to make PB2 digital output once you turn off the buzzer and then PWM output again when you turn it on?
Fear does not stop death, it stops life.
 

Offline kirill_kaTopic starter

  • Frequent Contributor
  • **
  • Posts: 292
  • Country: ru
Re: project: extending HP3478A functionality
« Reply #84 on: March 06, 2019, 11:33:04 am »
Looks like it's a good idea to add a gate pull-down resistor for the buzzer driver mosfet. It gets quite warm then atmega pin is high-Z.
I didn't expect that output to be hi-Z but I guess that's how you turn the buzzer on and off, from DDR register. Can you add one line of code to make PB2 digital output once you turn off the buzzer and then PWM output again when you turn it on?
Yes, I already did so. But it's still in hi-Z when the firmware is not running (firmware flashing, bootloader, etc.).
 

Offline Miti

  • Super Contributor
  • ***
  • Posts: 1324
  • Country: ca
Re: project: extending HP3478A functionality
« Reply #85 on: March 06, 2019, 07:25:53 pm »
Ok, I added one 100k resistor to GND and a 5 pins USB header instead of 4 pins. The majority of panel mount  USB cables to pin header have 5 pin header. Not sure when/ if I will order new Pcbs.
Fear does not stop death, it stops life.
 

Offline coromonadalix

  • Super Contributor
  • ***
  • Posts: 5893
  • Country: ca
Re: project: extending HP3478A functionality
« Reply #86 on: March 06, 2019, 09:22:19 pm »
Should be an easy patch to do on the actual pcb's you have
 

Offline kirill_kaTopic starter

  • Frequent Contributor
  • **
  • Posts: 292
  • Country: ru
Re: project: extending HP3478A functionality
« Reply #87 on: March 07, 2019, 09:44:31 am »
Should be an easy patch to do on the actual pcb's you have
There's a GND via right next to the gate. I've put a 0603 resistor and it doesn't even look like a bodge :)
One more thing. I had to trim PCB edge so it doesn't collide with mains filter capacitors.
 

Offline Miti

  • Super Contributor
  • ***
  • Posts: 1324
  • Country: ca
Re: project: extending HP3478A functionality
« Reply #88 on: March 07, 2019, 05:40:04 pm »
Can you post a picture? In my meters there's enough room to the caps but there are at least two different 3478A models.
How much did you have to trim it? My intention was to keep it all above the chassis section and don't go too close to the floating section. If it gets too close to the caps in the floating section, I don't like it.
Fear does not stop death, it stops life.
 

Offline kirill_kaTopic starter

  • Frequent Contributor
  • **
  • Posts: 292
  • Country: ru
Re: project: extending HP3478A functionality
« Reply #89 on: March 07, 2019, 09:14:52 pm »
Just published a new release on the github.
The default eeprom is configured for a speaker. I added a separate eep for DC-driven buzzers.
New commands:
 Obuzz_period<p> where <p> is 0 to 65535  configures PWM period for the buzzer. 0 means DC.
 Obuzz_duty<d> where <d> is 0 to 127. 0 completely disables the buzzer. 127 is for 50% duty cycle.
 

Offline kirill_kaTopic starter

  • Frequent Contributor
  • **
  • Posts: 292
  • Country: ru
Re: project: extending HP3478A functionality
« Reply #90 on: March 07, 2019, 09:39:09 pm »
The capacitor is not original, but I think it would be the same with the original caps.
 

Offline Miti

  • Super Contributor
  • ***
  • Posts: 1324
  • Country: ca
Re: project: extending HP3478A functionality
« Reply #91 on: March 08, 2019, 12:45:47 am »
I see, your pins are short. My pins are long enough to raise the board above the capacitors.
Fear does not stop death, it stops life.
 

Offline Miti

  • Super Contributor
  • ***
  • Posts: 1324
  • Country: ca
Re: project: extending HP3478A functionality
« Reply #92 on: March 08, 2019, 02:33:16 am »
Kirill,

I still see the old files on Github, the .eep and .hex are dated Aug 2018. Not that I want to update now, I'm very happy with this version. I will probably play with it once I install the USB cable that I ordered from Evilbay.
So happy that HP3478A became my go to meter for every day measurements:
- Buzzer response is very fast, at par with Fluke.
- Autohold is very fast and stable with 3 or 4 digits and reasonably fast with 5 digits.
- Min/Max works well.

I have two more suggestion for improvement:
1. Latch buzzer - minimum buzzer time. Fluke does that.
2. EEPROM autoinit - Initialize the EEPROM after a new part is programmed or after an upgrade that adds new EEPROM addresses/content. This may be harder to implement but I don't think you use many EEPROM variables.
Fear does not stop death, it stops life.
 

Offline kirill_kaTopic starter

  • Frequent Contributor
  • **
  • Posts: 292
  • Country: ru
Re: project: extending HP3478A functionality
« Reply #93 on: March 08, 2019, 10:49:16 pm »
Kirill,

I still see the old files on Github, the .eep and .hex are dated Aug 2018. Not that I want to update now, I'm very happy with this version. I will probably play with it once I install the USB cable that I ordered from Evilbay.
I guess you didn't check the github project releases.
Now I've updated link in html to refer to the latest binaries (r1.2).
So happy that HP3478A became my go to meter for every day measurements:
- Buzzer response is very fast, at par with Fluke.
- Autohold is very fast and stable with 3 or 4 digits and reasonably fast with 5 digits.
- Min/Max works well.
I'm happy to hear that. I don't have another meter with an autohold function to compare.
I have two more suggestion for improvement:
1. Latch buzzer - minimum buzzer time. Fluke does that.
Ok, I'll add this. The reading rate in CONT mode is 78 rdg/sec (may be different with 60 Hz mains). So it's latched for 1/78 sec. I think of adding a parameter (N) so the buzzer will stay on for N/78 sec.
2. EEPROM autoinit - Initialize the EEPROM after a new part is programmed or after an upgrade that adds new EEPROM addresses/content. This may be harder to implement but I don't think you use many EEPROM variables.
I don't quite understand what do you want. The firmware uses the default parameter value when it sees FF's instead of something valid. This should work during upgrade as soon as parameters are not rearranged or interpreted in a different way. Recently I've added a script to configure EEPROM image files (.eep). The script may not be so user-friendly, because it requires TCL and avr toolchain installation, but it allows me to include a set of pre-configured eep's in the binary release.
 

Offline agaelema

  • Contributor
  • Posts: 30
  • Country: br
Re: project: extending HP3478A functionality
« Reply #94 on: March 08, 2019, 11:12:13 pm »
This upgrade of HP3478 looks awesome :o (I need to do this ). A video showing the new functions would very interesting  :-+.
 

Offline Miti

  • Super Contributor
  • ***
  • Posts: 1324
  • Country: ca
Re: project: extending HP3478A functionality
« Reply #95 on: March 09, 2019, 12:21:31 am »
The firmware uses the default parameter value when it sees FF's instead of something valid. This should work during upgrade as soon as parameters are not rearranged or interpreted in a different way.

Got it. I thought that, since you include the EEPROM image, it is mandatory to program it, otherwise it would't work properly. Since Arduino bootloader doesn't program EEPROM, that would have to be done using AVRISP.
Fear does not stop death, it stops life.
 

Offline kirill_kaTopic starter

  • Frequent Contributor
  • **
  • Posts: 292
  • Country: ru
Re: project: extending HP3478A functionality
« Reply #96 on: March 09, 2019, 12:38:04 am »
Since Arduino bootloader doesn't program EEPROM...
Hmm. At least some of them do. I need to check if it works for me.
 

Offline Miti

  • Super Contributor
  • ***
  • Posts: 1324
  • Country: ca
Re: project: extending HP3478A functionality
« Reply #97 on: March 09, 2019, 02:41:29 am »
Kirill,

The buzzer doesn't work for me with Ver 1.2 and I tried both EEPROMs, I'm back to Ver 1.1. I use internal driven (DC)  buzzer. I sent Obuzz_period0 and Obuzz_duty127 even though duty shouldn't matter when period is 0... or should it?

Edit: I added a screen shot of my Fluke179 buzzer timing. The shortest buzz I could get is about 85ms.
« Last Edit: March 09, 2019, 02:58:09 am by Miti »
Fear does not stop death, it stops life.
 

Offline kirill_kaTopic starter

  • Frequent Contributor
  • **
  • Posts: 292
  • Country: ru
Re: project: extending HP3478A functionality
« Reply #98 on: March 09, 2019, 11:05:26 am »
Kirill,

The buzzer doesn't work for me with Ver 1.2 and I tried both EEPROMs, I'm back to Ver 1.1. I use internal driven (DC)  buzzer.
Thank you for testing it.
I just uploaded r1.2.1, it hopefully fixes the problem.
 

Offline Miti

  • Super Contributor
  • ***
  • Posts: 1324
  • Country: ca
Re: project: extending HP3478A functionality
« Reply #99 on: March 09, 2019, 01:01:12 pm »
I just uploaded r1.2.1, it hopefully fixes the problem.

Still doesn't work for me. Beside that, it didn't even respond to SRQ key until I programmed the EEPROM. This is what I meant by "EEPROM Autoinit", after every fresh programming or upgrade, make sure it starts with a default EEPROM that works. This way, once the bootloader is programmed and the fuses configured, we don't need to use AVRISP anymore, everything is done through USB.
Fear does not stop death, it stops life.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf