Hello!
I want to measure DC voltage from a device that ranges from 0V to 10V (it will not come closer to 10). But this voltage change is 0.1 mV. And I'm going to use Arduino Uno/Nano to get the measured voltage for a specific time period (maybe 8–10 hours) into my laptop to log it using the Com port. Later, I'm going to use the ESP board to send the recorded data to a database. Is anyone in here familiar with how to do this kind of work?
Thank you!
For a 0.1mV steps along 10V you would need a ADC of at least 17 bits. The Arduino ADC has 10 bits and the ESP32 has 12 bits. Even a dedicated ADC like the ADS1115 wouldn't be enough. What resolution would you need?
Also, if you plan to use the ESP32 to send the data, you could everything with it.
Without very good electronic background you can get a DVM with automation interface (UART...) for connection to your Arduino. Otherwise you hardly get 10 mV precision as already available with analogRead().
I just simply want to measure 4th decimal point fluctuations in that voltage range (0–10 volts). The fluctuations are very small. So the module I'm going to make will work for at least 8 hours and record the 0.1 mV changes.
It would be useful to know why you want to measure voltage with such resolution , what is the project ?
I ask in case there are alternative routes to achieve what you want.
You might be able to build an op amp to amplify and offset the voltage ( so you get say 9-10v output as 0-1 v)
as @hammy says, like this
However achieving that sort of resolution requires high quality components, and accurate design to minimise noise, with all leads screened.
I'd use an ADS1115 to measure the voltage from the op amp circuit.
Certainly not an ESP32 ADC!
Perhaps if you explained what the voltage is coming from?
You will find a lot of info about measuring voltages with an arduino here
10.000x volt resolution requires a 5.5 count DMM.
Instruments like that could cost about US$1000
Leo..
Take it as an estimate of the DIY solution cost, including electrical consulting service.
That is very hard to do without some analog background. How are you going to calibrate that. I use a Keithley 2000 to check calibration on 5.5 instruments.
You want super high precision with the cheapest equipment on the planet? Sorry, but I think you need a reality check. That kind of ADC is not possible to find in a microcontroller, due to the "noise" inside it. From 16 bit ADC you get very familiar with noise, where the last bits hardly tell you anything. If you bring your laptop near by (wifi), or phone(4G), you can se the readings starts to fluctuate, due to induction. The task is not easy to perform and you need expensive measurements tools for comparison, way out of a cheap china arduino and fake ADC you find out of aliexpress. Its a job that require much study and experience, in hardware design, physics, math, digital and analog electronics. So I wonder, what do you need it for and do you really need it?
Since you already know the voltage variation values, how did you measure that and with what instrument?
That kind of ADC is not possible to implement using typical components and methodologies, because of the "noise" inside of things like resistors, wires, etc..
I looked in vain for an IC to do quad slope ADC conversion.
The MAX132 is a possible at 18 bit.
We dont know what bandwidth we are dealing with.
Anyway I think we've lost the OP. And the plot.
Sorry! i was away. The data most probably coming from a graphite sample.
I'm an electronic engineering undergraduate and have backgrounds in physics, math, and digital and analog electronics as well. My supervisor told me that there are devices available, but at a high price.
So, we are going to make a device that records 0.1 mV fluctuations in a graphite sample, then send it to a database as a second step. I'm not going to simply use the microcontroller. I want to design an external circuit that can do the job and then get the readings to my laptop using a microcontroller.
So is this a project as part of your course?
You should do some investigation into measuring such voltages , the components and costs available and make your choice - you can write that up with the project , which should always record your decisions in regards of choices .
Still waiting to find out how you know there are 0.1mV fluctuations.
This being a course explains a lot as I have answered this question before. Here are some links that will help, they are from Nuts and Volts:
Op-amp principles and basic circuit configurations. Part 1 OP-AMP COOKBOOK — Part 1 | Nuts & Volts Magazine
Op-Amp Basics: Amplifiers and Active Filters Part 2 OP-AMP COOKBOOK — Part 2 | Nuts & Volts Magazine
Oscillators and Switching Circuits https://www.nutsvolts.com/magazine/article/op-amp-cookbook-part-3
Instrumentation and Test Gear Circuits Part 4 OP-AMP COOKBOOK — Part 4 | Nuts & Volts Magazine
I would say that your best bet is to get some manufacturer’s “evaluation board” for their 18 to 24bit ADC, and then figure out how to interface THAT to an arduino for logging and comm.
You are hiding a lot of useful information from us. Perhaps you think thats all we need to know.
Can you provide a LOT more information - a sketch of the apparatus, a circuit diagram of the source of your measurements etc.
If you read this it may goive you a better understanding of the information we need.
Measuring 0.1mV (or 0.1uV) is easy. Your problem is the 10V.
The respondents here have a LOT of experience with this kind of problem, and are trying to help; but we can only do so usefully if we know more about the signal you intend to measure. SO help US to help YOU.