Author Topic: AR488 Arduino-based GPIB adapter  (Read 238104 times)

0 Members and 1 Guest are viewing this topic.

Offline Jay_esp32

  • Newbie
  • Posts: 2
  • Country: be
Re: AR488 Arduino-based GPIB adapter
« Reply #1050 on: March 03, 2024, 05:17:44 pm »
Hello, newly registered here....i have some old hp test equipment..8903b, 3478a and lots more, i came across the ar488 and built one based on the arduino nano. I want to use labview (community edition) and found that the prologix labview example did not work at all, i could not find much information on ar488 combined with labview. I debugged it and found that on connection the arduino resets itself, this is by design in order to program it from the arduino IDE but the labview code does not see anything returned after a command is sent because the nano is restarting during the time the command is sent and does not "see" it. This can be solved by adding a little delay after the opening of the visa device in labview. Maybe something to add to the readme of the ar488 code. 
 
The following users thanked this post: WaveyDipole

Offline Miti

  • Super Contributor
  • ***
  • Posts: 1324
  • Country: ca
Re: AR488 Arduino-based GPIB adapter
« Reply #1051 on: March 04, 2024, 12:00:08 am »
Remove the capacitor on the reset line.
Fear does not stop death, it stops life.
 

Offline WaveyDipoleTopic starter

  • Frequent Contributor
  • **
  • Posts: 851
  • Country: gb
Re: AR488 Arduino-based GPIB adapter
« Reply #1052 on: March 12, 2024, 10:21:10 pm »
Hello, newly registered here....i have some old hp test equipment..8903b, 3478a and lots more, i came across the ar488 and built one based on the arduino nano. I want to use labview (community edition) and found that the prologix labview example did not work at all, i could not find much information on ar488 combined with labview. I debugged it and found that on connection the arduino resets itself, this is by design in order to program it from the arduino IDE but the labview code does not see anything returned after a command is sent because the nano is restarting during the time the command is sent and does not "see" it. This can be solved by adding a little delay after the opening of the visa device in labview. Maybe something to add to the readme of the ar488 code.

Jay, thank you for your interest in the AR488 project and your feedback. This problem is a known issue with older Arduino AVR boards such as the UNO R3, Nano or Mega 2560 due to the way the serial UART is implemented in order to allow the board to be programmed. It is less of a problem with the Micro or Leonardo which has a CDC serial port and a reset does not have to be forced in order to program them. I am not yet sure about the UNO R4 or the Nano BLE33 and Nano RP2040 Connect boards. I purchased the Nano Connect to test but have not got around to it yet.

If you could provide me with details (including screenshots or example listing) of what you did to add the delay after opening a visa device in labview, I would be happy to include that in the User Manual.
« Last Edit: March 12, 2024, 10:24:52 pm by WaveyDipole »
 

Offline lmester

  • Regular Contributor
  • *
  • Posts: 143
  • Country: us
    • My page
Re: AR488 Arduino-based GPIB adapter
« Reply #1053 on: March 16, 2024, 08:02:38 pm »


I have users of my HP 3478A multimeter control software that are getting checksum errors when trying to read the calibration data. This is happening with newer AR488 firmware versions. Older firmware works fine.

Might be down to the EOI bug (Issue 9) reported by m0pub? This has been addressed in the latest release which might be worth a try. Will be interested to know if the problem still persists.


The problem is still there with 0.51.28. It's very specific. You get a checksum error on the first and third cal entries.

Code: [Select]
AR488 GPIB controller, ver. 0.49.14, 02/03/2021
Reading calibration data.
**********
Verify checksums.
@@@CA@BLLLNLG : CkSum = (199 + 56) Checksum OK.
@@@@CABLLCOLO : CkSum = (207 + 48) Checksum OK.
@@@@@DBLLOELM : CkSum = (205 + 50) Checksum OK.
IIIIIDAEBAOKF : CkSum = (182 + 73) Checksum OK.
@@@@@@AEBMNML : CkSum = (220 + 35) Checksum OK.
@@@@@@@@@@@OO : CkSum = (255 +  0) Checksum OK.
IIIE@BADODEL@ : CkSum = (192 + 63) Checksum OK.
IIII@D@E@MNKG : CkSum = (183 + 72) Checksum OK.
IIIIIA@EDNNJL : CkSum = (172 + 83) Checksum OK.
IIIIII@ECDDKI : CkSum = (185 + 70) Checksum OK.
IIIIII@EABLKE : CkSum = (181 + 74) Checksum OK.
IIIIII@EBBOKA : CkSum = (177 + 78) Checksum OK.
IIIIII@EBMAKD : CkSum = (180 + 75) Checksum OK.
IIIIII@EBDOJO : CkSum = (175 + 80) Checksum OK.
@@@BF@CNOE@MB : CkSum = (210 + 45) Checksum OK.
@@@@BECN@@MMJ : CkSum = (218 + 37) Checksum OK.
@@@@@@@@@@@OO : CkSum = (255 +  0) Checksum OK.
IIIE@BCLCOBKJ : CkSum = (186 + 69) Checksum OK.
@@@@@@@@@@@OO : CkSum = (255 +  0) Checksum OK.

Reading calibration data complete.
Calibration data checksum valid.
Calibration data saved to:D:\HP3478A_6\cfg\HP3478A.cal

#################################################

AR488 GPIB controller, ver. 0.51.18, 26/02/2023
Reading calibration data.
**********
Verify checksums.
@@@CA@BLLGNLG : CkSum = (199 + 51) Checksum Fail.
@@@@CABLLCOLO : CkSum = (207 + 48) Checksum OK.
G@@@@DBLLOELM : CkSum = (205 + 57) Checksum Fail.
IIIIIDAEBAOKF : CkSum = (182 + 73) Checksum OK.
@@@@@@AEBMNML : CkSum = (220 + 35) Checksum OK.
@@@@@@@@@@@OO : CkSum = (255 +  0) Checksum OK.
IIIE@BADODEL@ : CkSum = (192 + 63) Checksum OK.
IIII@D@E@MNKG : CkSum = (183 + 72) Checksum OK.
IIIIIA@EDNNJL : CkSum = (172 + 83) Checksum OK.
IIIIII@ECDDKI : CkSum = (185 + 70) Checksum OK.
IIIIII@EABLKE : CkSum = (181 + 74) Checksum OK.
IIIIII@EBBOKA : CkSum = (177 + 78) Checksum OK.
IIIIII@EBMAKD : CkSum = (180 + 75) Checksum OK.
IIIIII@EBDOJO : CkSum = (175 + 80) Checksum OK.
@@@BF@CNOE@MB : CkSum = (210 + 45) Checksum OK.
@@@@BECN@@MMJ : CkSum = (218 + 37) Checksum OK.
@@@@@@@@@@@OO : CkSum = (255 +  0) Checksum OK.
IIIE@BCLCOBKJ : CkSum = (186 + 69) Checksum OK.
@@@@@@@@@@@OO : CkSum = (255 +  0) Checksum OK.

Reading calibration data complete.
Calibration data not saved. Invalid checksum!

There are more examples of this on the How to read/write cal SRAM thread. https://www.eevblog.com/forum/repair/hp-3478a-how-to-readwrite-cal-sram/msg5391623/#msg5391623
 
The following users thanked this post: WaveyDipole

Offline Jay_esp32

  • Newbie
  • Posts: 2
  • Country: be
Re: AR488 Arduino-based GPIB adapter
« Reply #1054 on: March 17, 2024, 01:37:54 pm »
Here is example code to initialise the ar488 in labview, i made the delay (3 seconds) optional. The reset at the end sends the ++clr command, also optional, to reset the measurement device to its default settings.
I nearly completed the software for the 8903b audio analyser, it works excusively on the ar488 and equivalents (prologix, galvant) and will be made available free of charge.
 
The following users thanked this post: WaveyDipole

Offline WaveyDipoleTopic starter

  • Frequent Contributor
  • **
  • Posts: 851
  • Country: gb
Re: AR488 Arduino-based GPIB adapter
« Reply #1055 on: March 18, 2024, 08:41:57 pm »
The problem is still there with 0.51.28. It's very specific. You get a checksum error on the first and third cal entries.

Thanks for bringing this to my attention and posting the link to the other thread where this has been discussed in further detail and the problem identified. An update has now been posted to the repository and confirmation received that is seems to work fine now.
 

Offline CraigD73

  • Contributor
  • Posts: 19
  • Country: us
Re: AR488 Arduino-based GPIB adapter
« Reply #1056 on: March 31, 2024, 04:12:06 am »
Just cobbled together a 488 connector connected to an old UNO. Compiled the code and managed to get a *IDN? reply from my HP53131A counter.   At first I got nothing but after setting the auto to 1 the counter's response showed up.  Next I need to try out my HP8657B signal generator.

Thanks for the nice piece of code and project manual.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf