Circuit Specialists CSI3003SM power supply: setting meter zero offset - Page 1
Forum section: electronics / testgear

author: dmmartindale
author_rank: Contributor
timestamp: July 10, 2023, 03:54:50 pm
content: I have a problem with the voltage and current display board in a Circuit Specialists switch-mode bench power supply, model CSI3003SM. I cannot get the zero offset of the voltage readout set correctly, and I think the problem is a bug in the firmware of the PIC16F676 that appears to run the display. I know this sounds pretty obscure. Has anyone else seen the same problem? Or even spent any time adjusting the meter readouts and figured out any more than I about the operation of the pushbutton on the back of the meter board?First, some background: The CSI3003SM is an inexpensive Chinese-made 30 V 3 A switching power supply. It appears to actually be made by a company named QJE, based on the label on a circuit board. From their outward appearance, it seems that the supply is also sold as the QJE PS3003, MPJA 9616PS, and other names.I bought it used. Sometimes it seemed to work OK, but sometimes there was a problem with setting the maximum current, and sometimes there was no output at all (and the voltage- and current-setting pots had no effect). After some exploration, I discovered a cold solder joint on one end of a wire jumper on the potentiometer board, in the current-setting circuit. Once I fixed that, the voltage and current setting pots operate normally.Then there was a problem with the voltage/current display: the current display read 0.38 A when there was no current output, and the voltmeter read too low, particularly at low voltage. So I tried to recalibrate the meters. I expected to see one offset adjustment pot (to set zero) and one gain adjustment pot for each of the two channels (voltage and current). Instead, there were two pots and a pushbutton as the only apparent inputs on the meter board. (I have attached a photo of the rear of the display board).A bit of experimentation showed that the two pots are analog gain control for the voltage and current readouts. RP1, on the right in the picture, adjusts the current measurement scale factor. RP2, on the left, adjusts voltage measurement scale factor. But how do I calibrate the zero points on the readout? The pushbutton is the only remaining control. (One of the 4 legs of the pushbutton had not been soldered; I fixed that.)I believe that the meter board is basically software driven. The 14-pin chip at the left side of the display board is a PIC16F676 microcontroller. The 16FJ676 contains a multichannel 10-bit A/D converter, which has more than enough resolution to drive the voltage and current displays, which read 0-300 or a bit more (0-500 in the model with 5 A output). If you're already using a PIC to read voltages, it makes sense to remove any DC offset using digital subtraction of offsets measured in-circuit by the PIC itself, instead of adding two more pots and several more resistors to remove the offset in the analog circuitry.So I guessed that you would set the power supply for zero voltage and current output, press the button, and that would tell the PIC to read the two channels (perhaps reading several times and averaging). Then it would store the two offset values in the on-board EEPROM. From then on, every time voltage and current were measured, the two digital offsets would be subtracted, thus setting the zero points of the meters correctly.I tried it. A quick press on the button did nothing. Holding down the button for several seconds did produce a result - the current display instantly changed to 0.00. And ever since then, the current zero point seems to be more or less correct.But voltage is a different story. The first time I tried this, I hadn't thought about the need for the quantities being measured to actually be zero, so the output voltage was about 1.2 V at the time I pressed the button. It suddenly changed to 00.0, so it started subtracting 1.2 V from all of the voltage readings before display. And using the pushbutton, with the output voltage set to zero, does not change the 1.2 V offset. On the other hand, I can still increase the offset! If I adjust the supply output to read 0.5 V on the meter, with the 1.2 V offset still active, the actual output voltage is 1.7 V on an external meter. Using the zero-set pushbutton returns the voltage display to zero, but from this point on the offset is 1.7 V. Now the meter on the power supply reads 1.7 V below the actual voltage.I think this must be a firmware bug. The current zero correction seems able to be set on demand, but the voltage correction can only be increased, not decreased. This is the sort of thing that might never be noticed in production if the meter circuit has the zero set only once during manufacturing. The saved offsets in EEPROM are likely set to zero when the PIC is first programmed, and the first "zero set" operation sets the values to what they should be. It is possible that nobody (except myself) ever pressed the button a second time, when the output voltage was above zero, and so no one else has ever been affected by the problem. But now I have a voltmeter that reads about 2 V too low, on a power supply which otherwise works fine. Which annoys me.So: Has anyone else encountered this and figured out a workaround? Is there a magic pushbutton sequence which clears the offset values to let me start from scratch?The only thing I can think of trying at this point is that there is a 5-pin connector in the lower-left corner of the board which is unused. It might be a programming connector for the PIC. If so, I might be able to dig out my old PIC programmer and see if I can read either the flash (code) or EEPROM (data) memories on the PIC. Then I might be able to reset the offset values. Or, if I can read the code memory, disassemble it and fix the bug. (All of which seems like a lot of work for what probably isn't a very wonderful power supply).

author: sergej
author_rank: Contributor
timestamp: November 21, 2023, 08:27:39 am
content: Hello.In our company, SW engineers have a quasi same power supply, under name AXIO MET type AX-3010DS - 30V/10AAll have same problem wit incorrect current readings.After some hours of experiments, my conclusion is:HW defined offset around LM358 is static, only for better noise imunity for low current measure.Offset zeroing is possible only for relative low value at display - up to around 300mA.After zeroing by pushbutton, you must restart power supply (or MCU).In my case (or FW version) pressing the button has no effect on the voltage measurement (zeroing).My procedure:Connect supply to load and calibration Ameter.Set the load at current - a.e. 1,00A (Choose of value is a bit important for approximately band of the best accuracy - 1A or less for low loads, 5A or 10A for high loads.Adjust proper displayed value with trimmer RP1Turn off the loadSwitch pussbutton for zeroing the displayed value - around 2secRestart power supply and check measurement of current.

author: dmmartindale
author_rank: Contributor
timestamp: November 22, 2023, 12:32:22 am
content: Thank you for replying. The power supply you have looks identical to mine externally, though the firmware is probably different. The two pots set the gain of the voltage and current meters, i.e. how much the display changes for a 1 V change of output or a 1 A change of output, as you discovered for current with RP1.My supply did initially have a current offset, but it was reset to zero the first time I used the pushbutton. Meanwhile, it is the voltage zero that I can't reset.I just tried another test. By this point, the offset between meter reading and actual output voltage was 1.9 V. When I set the actual voltage to 1.8 V on an external meter (just below the current offset) and pressed the button for several seconds, the saved offset remained 1.9 V - it did not decrease to 1.8 V. I also tried setting the true output voltage quite low, about 0.25 V, and pressed the button. Again, the offset remained 1.9 V.Then I set the output to 2.0 V, and with the internal volts display reading 0.1 V, I pressed the meter board button. After about one second, the displayed voltage changed to zero. This happened without turning the main power on and off. Now, the built-in meter reads 2.0 V low, so I successfully increased the zero offset by 0.1 V.So my firmware behaves differently from yours on reset. I can reset the current zero offset, but I can only increase the voltage zero offset. I've found no way to decrease it.

author: sergej
author_rank: Contributor
timestamp: November 22, 2023, 12:14:13 pm
content: "...This happened without turning the main power on and off."There is a bit misunderstand - In my case display go to zero immediately. But internal calibration ramp (or multiplier + offset) is still previous.Only after reboot is allright. But is possible, that is not usable for you due to another FW. Or you can try it :-)

author: dmmartindale
author_rank: Contributor
timestamp: November 22, 2023, 01:39:54 pm
content: Hmm. I still don't understand.For you, you start out with the current reading some non-zero value, even though the current is actually zero. When you press the button on the meter board, the display goes to zero. But the offset has not been changed. Does that mean that the meter goes back to reading the incorrect value when you remove your finger from the button? Then you have to power off and back on to get the meter circuit to use the newly-calculated offset and have the meter read zero?In my case, the meter goes to zero when the button is pressed, and remains zero when the button is released. So it is already using the new offset immediately, even before power cycling.

author: dmmartindale
author_rank: Contributor
timestamp: November 23, 2023, 04:42:27 am
content: By the way, this power supply is labelled "3003" (meaning 30 V 3 A) but it appears to be designed for 5 V output. The company sells both 3 A and 5 A models, called 3003 and 3005 respectively, and the front panel of mine has the label "CSI3003SM" on it. But there are several signs that the 3003 model is really the same as the 3005 internally:The actual maximum current is set by one of the blue trimpots on the edge of the board that contains the 4 front-panel setting pots. The trimpot closer to the left (as viewed from in front of the unit) sets the full-scale current. On my "3 A" unit it was set to full CCW, which gave a maximum current of well over 3 A. It's not possible to set the max. current as low as 3 A. But you can set the maximum current well above 5 A.The main transformer on the circuit board is labelled "3005", not "3003".The current meter has no trouble reading and displaying up to 5 A output current.The LCD display for the meter has a crude bar graph on the right side, which displays 0-5 A as 0-5 bars.I ran the power supply for about 5 minutes with 5 A of output current. It hardly got warm.Taken together, it looks like this unit was designed to provide up to 5 A, and some units are sold as having 5 A output, while the slightly cheaper 3 A version is the same unit with the max. current pot adjusted to its minimum.

author: sergej
author_rank: Contributor
timestamp: November 23, 2023, 12:36:35 pm
content: Quote from: dmmartindale on November 22, 2023, 01:39:54 pmYesQuote from: dmmartindale on November 22, 2023, 01:39:54 pmNo. Ameter keep zero after I release pushbutton. But all measured values are offseted and the error of reading is multiplicated.After restart the reading is correct.