| Electronics > Projects, Designs, and Technical Stuff |
| How to wire/GND everything correctly to get accurate ADC readings in my project? |
| (1/3) > >> |
| nemail2:
Hi so I got this project of mine, which I'm working on for quite some time now and making good progress. Most things work quite well and satisfying however one thing kinda destroys my brain on a regular basis. I get quite inaccurate readings from the ADC and I mostly blame my ground plane design for it as the ground loop for the ADC inputs seems a big large this way. But how could I improve that? Here is my project schematics: https://github.com/mamama1/LabPSU_Darlington/blob/master/schematics.pdf board preview: https://github.com/mamama1/LabPSU_Darlington/blob/master/preview.PNG Description of the project: It is (or wants to be) a precision Lab PSU using the Teensy 3.5 as its brain, it's ADC and an external MCP4922 DAC with an external 2.048V reference for both the DAC and the ADC. tech details regarding the issue: The ADC measures this on its channels: - output voltage right at the darlingtons - output voltage at an external sense line (only one sense line for now, unfortunately) - current across an 10mOhm shunt and amplified by a LTC6102 - whether the PSU is in constant current mode or not (basically looking whether there is a certain level of voltage on IC2B's output or not) I'm always about 1-2% percent off when it comes to voltage or current measurement. Doesn't matter if it is 1V or 10V or 10mA or 3A. In an earlier release i did use a MCP3204 external SPI ADC which gave me better results (quite bang on, actually), however I wanted to save cost and that ADC was also entirey on the analog part of the ground plane and had it's pins nearer together so I guess the ground loop was reasonably smaller as well. CC mode works quite well, sub 1% off, so it really seems only the ADC readings are what's not as good as they could be. Thanks for any advice! PS: feel free to copy/reuse/fork/follow this repo! Open Source hardware FTW! |
| nemail2:
*bump* anyone got an idea? need more details? I'm really not sure whether I should try and optimize that or just go with an external ADC like the MCP3204 or the ADS1115... |
| coppercone2:
highlight the circuit path of the analog front end with some yellow lines, I am not gonna figure that out Also, think ghost busters, don't cross the streams(traces). Your schematic is annoying to read. And seperate ground on everything, even if right next to each other |
| nemail2:
yeah i know, sorry for the schematic, didn't put the cleanness into it, which I should have. in the attached image I tried to hightlight the ADC part + the voltage reference. left is current sensing and right is voltage sensing (onboard) + sense line sensing (that 2-pin pinheader). the two pins on the left side of the teensy are ground pins which are connected to the board. the upper one is called analog ground and is connected to normal ground via a ferrite bead ON the teensy board itself and to the analog ground plane of my board and the lower pin is normal ground wich is connected to the "digital" ground of my board where all the nasty switching stuff and spi communication happens (yeah, apart from the DAC on the right side of the voltage reference, which is SPI as well). thanks for trying to help! |
| nemail2:
ok I have now bodged in an MCP3204 ADC into the circuit in a very bad way (long wires, breadboard) and I'm getting waaaay better readings, almost bang on (only a few mV out, that'd be more an issue of a lack of resolution). so I'm gonna ditch that onbard ADC and make a new board with the MCP3204 onboard. here's a photo of the flying-wire ADC for your amusement. |
| Navigation |
| Message Index |
| Next page |