Calibrating a programmable Power Supply (PPS3005S) - Page 1
Forum section: electronics / projects

author: Eraldo
author_rank: Regular Contributor
timestamp: April 09, 2023, 06:16:29 pm
content: Hello, this is my first topic here on eevblog forum so please excuse the crudity of the post.CircumstancesI recently got a power supply off ebay (atten pps3005s 30v 5A) and i mainly got it because of its features, mainly it being a linear psu (low ripple), over current protection, and it being programmable (main reason, as to also learn rs232 and try design my own little crude software). The price was also quite cheap and irresistible and seemed in good condition.The main disadvantage of this psu however was the out-of-spec voltage and current output (way off the 0.02% specified) and the nonlinearity of the voltages and current (which is the bigger problem).(The list of some specs of the psu:https://www.eyou.com.au/atten-pps3005s-programmable-power-supplies-30v-5a-/)My findingsAs any normal person, i opened it immediately to try and find/fix the problem (expecting an easy fix) but boy am i wrong. After the teardown i was left with more questions than answers so I'm also hoping someone knowledgeable were to explain some things if possible.So the psu includes 2 boards (the power electronics board and the logic board) and most of my questions come from the logic board. [ Specified attachment is not available ]The main processor is an atmega88pa (8Mhz configuration) which has 8 adcs (10 bit) but no dacs unless I'm really blind and didn't see them even after reading the datasheet. There are also a ton of shift registers (i have no idea why) and there is not a single dac in neither of the 2 boards and as said above not even inside the microcontroller.As for the voltage and current sensing, i decided to reverse engineer the part of the circuit that includes the 3 opamps (i tried to my best of my abilites but it was a very messy layout so I'm not confident that there aren't missing any wires, but the rest i believe is fine).[ Specified attachment is not available ]Also someone else in another thread reverse engineered the power board of the same psu. (The connector carrying the sense voltage and current is called cn5 (4pin) in his design)Questions i have about this psu designFirst i want to know why are there so many shift registers in the logic board and are they a common design choice?Second, the lack of dacs really puzzles me so how would they achieve control on the output (since it's a linear psu and i doubt there is switching involved such as pwm).Next, another question is how they achieve 10mV readings with only 10bit internal adcs (1024 steps for 3000 x 10mV steps) and how they achieve that same accuracy in output (no 14bit adc or anything similar).My conclusionSome of my suspicions about this offset and nonlinearity are from the internal adc of the microcontroller drifting with time.Another suspicion i had was maybe a bad opamp (can't really test it)Next but less plausible is that maybe one of the zener diodes could be faulty but this is just speculation.TldrPsu has non linear voltage and current output and I've failed to find the culprit. Also the voltage output and current is out of spec by quite a lot in my book.Also I'm failing to understand how the digital board manages to read and control the feedback of the loop.I hope this question has not been asked already (at least im pretty sure it's not about this psu model). And also sorry if I am missing any information, i will try to provide it asap.Also I'm not really an expert in psu designs but i try to learn and it interests me quite a lot so I'd also appreciate any link with resources on the topic.I will also be providing some other images that didn't fit in this post.

author: Eraldo
author_rank: Regular Contributor
timestamp: April 09, 2023, 06:19:42 pm
content: Dang it, i still don't know how to put images in the middle of the text.Below are the voltage readings of my multimeter measuring the output voltage and current (the current output i didn't manage to finish because of the inaccuracies caused by lead resistance )Edit: not sure why the image is rotated

author: Eraldo
author_rank: Regular Contributor
timestamp: April 09, 2023, 06:34:28 pm
content: Some other images posted on imgur (couldn't rearrange them since I'm on mobile)https://imgur.com/a/TFrq0ok

author: tooki
author_rank: Super Contributor
timestamp: April 09, 2023, 06:37:22 pm
content: Quote from: Eraldo on April 09, 2023, 06:19:42 pmNot your fault, the image embedding has been broken for ages with no plans to fix it. The only reliable workaround is to attach the images, post the post, then edit the post in a second window, and use img tags with the URLs copied after expanding the image in the first window.Quote from: Eraldo on April 09, 2023, 06:19:42 pmI only glanced at it but it looks to be within tolerances, right?Quote from: Eraldo on April 09, 2023, 06:19:42 pmIn many cameras, the image isn’t actually rotated to vertical orientation by rotating the pixels, but rather just by setting a rotation flag in the metadata. The forum software often overlooks that flag when recompressing the image. :/ Workaround: do some trivial edit to the image on your computer and save it as a new file (Save As). On a phone you might need a separate image editor, not just the phone’s own photos app.

author: Eraldo
author_rank: Regular Contributor
timestamp: April 09, 2023, 06:52:03 pm
content: Quote from: tooki on April 09, 2023, 06:37:22 pmi think you're right. I checked the load rating instead of set accuracy 0.02 vs 0.1%. (What's load rading in the first place then)Yeah 0.1% of 30v is around ±30mv but there is also a plus 20mV so i think the below 30-60mV in my readings is out of spec (but gotta consider the errors of my multimeter too)But my questions about it's design still puzzle me.

author: tooki
author_rank: Super Contributor
timestamp: April 09, 2023, 06:56:38 pm
content: Quote from: Eraldo on April 09, 2023, 06:16:29 pmWe could only wish for most people’s posts, even from long time users, to be as clearly written and structured as yours!Quote from: Eraldo on April 09, 2023, 06:16:29 pmThe shift registersarethe DACs — well, part of them. They, together with that huge number of resistors, formR-2R DACs. (I assume that there is one for voltage and one for current). I haven’t looked at the schematic but the DACs likely generate the inputs into the op-amps that act as error amplifiers in the control loop. (In essence, variable reference voltages.) The large number of resistors is likely to average out the values of multiple ordinary 1% resistors to achieve tighter tolerances, rather than having to buy expensive precision resistors. (R-2R DACs are sensitive to resistor accuracy.)As for the ADCs, it might be as simple as averaging multiple measurements (oversampling) to achieve a higher effective resolution. Or they might really only use 1024 steps, and it can’t actually measure in 10mV steps, but actually only 30mV.My inexpensive Korad power supply, which has a similar design, is like that: it can’t actually measure in 1 count steps, it kinda jumps between 2 and 3 count steps.

author: Eraldo
author_rank: Regular Contributor
timestamp: April 09, 2023, 07:12:55 pm
content: This actually makes sense. Never even thought of that. Definetly gonna read on that topic and thanks.I guess a way to try getting better accuracy is check for any resistor out of spec, replace it and check if it worked.Would the dac also be responsible about the current output offset at 0.000A ( i get around 9mA ). I'm gonna check that too since it's a bit troublesome to have.

author: tooki
author_rank: Super Contributor
timestamp: April 09, 2023, 07:43:29 pm
content: For the current offset, there might be a user-accessible calibration procedure that you can use to eke out a bit more performance. I was able to do that with my Korad. (But don’t expect any miracles. And make sure it’s had time to warm up properly.)I think it’s unlikely any resistors are out of spec. Not impossible, but unlikely. Realistically, you have to have realistic expectations — Atten isn’t a premium product, and it’s not a precision power supply. (Nor is it garbage, I think it’s a good choice for a standard lab power supply.) You could hand-select resistors or even install $50 worth of 0.05% precision resistors, but eventually you’d just run into the limitations of the system design and of the other components. I wouldn’t go to the effort.

author: Doctorandus_P
author_rank: Super Contributor
timestamp: April 10, 2023, 01:37:05 pm
content: The biggest limitation of an R-2R DAC is it's lineairity. This is inherently limited by resistor tolerance.If you want a 14 bit DAC, then you need resistors with (sort of) accuracy of 1/pow(2, 14) and that is 60ppm or 0.006%The good thing is though, that the resistors do not really have to be that accurate. It is just resistance ratio between the resistors that has to be accurate, and you can quite easily measure that and sort a bunch of resistors with the same resistance. The easy way is to use an accurate DMM. Another way is to use three of the resistors and an opamp (with 1000x or so amplification) as the basis of a wheatstone bridge (with the 4th resistor as your device under test).But you are still going to have some drift from the voltage reference and amplification stages.Another possibility is to re-program the atmega88 yourself. Multiplexing some displays, reading some buttons and calculating some values is not very difficult to write a custom program for, and then you can add some linearization tables too.Maybe you consider it a fun project do do so, but if it's your main lab power supply, then it's probably best to learn to live with it's limitations.