| Products > Test Equipment |
| AN8008 US $19, 9999count, 1uV, 0.01uA, 0.01Ohm, 1pF resolution meter |
| << < (158/172) > >> |
| bitseeker:
Welcome to the forum, 12345. I'm surprised that username wasn't already taken. ;D |
| Nyrisu:
I want to share that I've been able to modify the EEPROM contents of my AN8008 meters (I have two) using the instructions posted by 12345 a couple posts above and the instructions from the Russian thread. I slightly modified them to use the equipment I have on hand. I used this EEPROM mod to disable the auto off function and the display backlight timeout. I prefer my meters this way. I have two AN8008 meters. I got my first unit in 2017 from aliexpres, it has an 8 digit serial. I got my second unit in 2018 from banggood, it has a 9 digit serial. The second unit has a slightly different PCB from my first unit - it has exposed solder covered traces going from the 10A input jack to the fuse and from the fuse to the current shunt. The procedure worked equally well for both units. Here's the steps I used to modify my EEPROM: 1) I connected the following 3 points on the PCB together: both points marked JP2 and the VPP point. (This step is only necessary if you want to write to the EEPROM. EEPROM reads can be performed if you skip this step.) 2) Then I connected my 3.3V arduino pro mini to the P24C02A EEPROM on the AN8008 using a SOIC clip. I only connected both I2C lines (SDA and SCL) and the GND line. I used 4.7k ohm pull up resistors on each of the I2C lines (the lines are pulled up to the voltage on the arduino's 3.3V pin). (The pull up resistors may not be necessary.) 3) Then I turned the meter on by moving the rotary knob on the multimeter to the voltage position. The batteries should be present in the meter from here on out or the procedure won't work. 4) I ran the following code on the connected arduino. This is a basic I2C EEPROM read and write code that can be used to read and write to a breadboarded EEPROM or to the EEPROM on the AN8008. When the code is run as is, it will simply read the EEPROM contents and dump them to the serial output for you to capture. It's recommended to save the contents of the EEPROM before you make any changes. --- Code: ---/* WIRING: use 3.3V arduino pro mini * * 24C02 GND - arduino GND * 24C02 SDA - arduino SDA (A4) [this line is pulled to VCC (3.3V) using a 4.7k ohm resisor (10k can also work, or the it can be omitted)] * 24C02 SCL - arduino SCL (A5) [this line is pulled to VCC (3.3V) using a 4.7k ohm resisor (10k can also work, or the it can be omitted)] * * the following 3 points should be bridged together on the an8008 for a successful write: both JP2 points and VPP (reading can be done without this) */ #include <Wire.h> #define PRINTHEXORDEC // print the EEPROM in human readable format (for viewing in arduino serial monitor) //#define PRINTBYTESTREAM // print raw byte data of the EEPROM (for realterm capture) #define PRINTFORMAT HEX // put HEX or DEC here #define PRINTSEPARATOR " " const int myEEPROM = 0x50; const int myEEPROMsize = 256; void setup() { // put your setup code here, to run once: Wire.begin(); Serial.begin(9600); delay(10); //eepwrite(myEEPROM,0xFB,0x00); // disable an 8008 auto power off function //eepwrite(myEEPROM,0xFC,0x00); // disable an 8008 backlight timeout #ifdef PRINTHEXORDEC for (int i=0; i<myEEPROMsize; i++) { int readbyte = eepread(myEEPROM,i); if (PRINTFORMAT == HEX) { if (readbyte <= 0xF) { Serial.print("0"); } } Serial.print(readbyte, PRINTFORMAT); if ((i+1) % 16 == 0) { Serial.println(); } else { Serial.print(PRINTSEPARATOR); } if ((i+1) % 256 == 0) { Serial.println(); } } #endif #ifdef PRINTBYTESTREAM for (int i=0; i<myEEPROMsize; i++) { int readbyte = eepread(myEEPROM,i); Serial.write(readbyte); } #endif } void loop() { // put your main code here, to run repeatedly: } int eepread(int deviceAddr, int dataAddr) { Wire.beginTransmission(deviceAddr); Wire.write(dataAddr); Wire.endTransmission(); Wire.requestFrom(deviceAddr,1); if (Wire.available()) { return Wire.read(); } else { return -1; } } int eepwrite(int deviceAddr, int dataAddr, byte data) { Wire.beginTransmission(deviceAddr); Wire.write(dataAddr); Wire.write(data); Wire.endTransmission(); delay(10); } --- End code --- 5) To disable the meter auto off function and backlight timeout, simply uncomment the following two lines and run the sketch again. --- Code: --- //eepwrite(myEEPROM,0xFB,0x00); // disable an 8008 auto power off function //eepwrite(myEEPROM,0xFC,0x00); // disable an 8008 backlight timeout --- End code --- You can also set the auto power off and display timeout functions to a custom value. The byte at address 0xFB defines how long will it take for the auto off function to trigger in minutes. 15min was the default. Set this to 0 to completely disable the function. The byte at address 0xFC defines how long will it take for the display backlight to turn off after you turned it on in seconds. 120 sec was the default. Set this to 0 to completely disable the function. You can also use the eeprwrite function in the sketch to write to any address on the EEPROM and perform other mods. I'm attaching two pictures from the process and the original EEPROM contents from both meters (each once in a readable format and once in raw binary). |
| GLouie:
I finally picked up one of these last Christmas, and found that the 100uF cap was marked as "low ESR." They misspelled the word "AVOID" on the battery cover under the tilt stand (AVIOD (sic)). It came with a coated drawstring bag with a screen print of the meter on it, but I left the bag on top of the meter and left it with accessories in a new pouch for a few months. It seems the coating on the bag dissolved a patterned onto the clear screen where it touched for that time, rendering the display unreadable. I read up on polishing clear plastic, and had to buy some fine sandpaper and a Novus plastic polish kit, but was able to fix it. Otherwise, it works as expected, and good value for the price. But I am still mainly using my EEVBlog BM235 and old Fluke 8060. |
| djos:
--- Quote from: GreyWoolfe on August 01, 2018, 04:46:34 pm --- --- Quote from: Zimphire on July 31, 2018, 11:33:33 pm ---Buying better test leads also makes this DMM alot better.. --- End quote --- +1 for this. I replaced the leads on my Aneng 8009 in my toolbag with Brymen gold plated leads. Much more accurate for the low resistance measurements I will be using it for. I threw the OEM leads out. --- End quote --- I did exactly the same thing. I think the leads cost me more than the meter. :-DD |
| floobydust:
Na, it's not worth gold leads because the rotary switch is crap and always has several ohms resistance. |
| Navigation |
| Message Index |
| Next page |
| Previous page |