Author Topic: Arduino output voltage from 0.015mV to 15mV  (Read 1263 times)

0 Members and 1 Guest are viewing this topic.

Offline francescoranchiTopic starter

  • Newbie
  • Posts: 8
  • Country: it
Arduino output voltage from 0.015mV to 15mV
« on: May 17, 2023, 03:50:04 pm »
hello!

I'm stuck with a difficult task (at least for me  |O). I need to have the arduino output a voltage that ranges from 0.03mV to 15mV  with an interval of 0.03mV, therefore something that goes like 0.03mV - 0.06mV - 0.09mV - 0.12mV and so on until 15mV!

Im not an expert unluckily I'm still learning, what would be an "easy" but still precise way to do this? I'm using it to feed the voltage into a maesurament instrumentation that usually is attached to a 3mV/V load cell that can measure up to 1000Kg and is powered by the instrument itself at 5v, so 3mV * 5v = 15mV / 1000kg = 0.015mV per Kg, but even a sensitivity of 0.03mV or 0.045mV is fine (so that I can measure the difference between 1,2 or 3 Kg. More than 3kg wouldn't be recommendable for me, but if it's close like 4 or 5kg i guess its ok). What I'm trying to do is simulate the load cell with arduino!

I read online about DAC but I cannot find one which is precise enough. I tried with the MPC4725, it has 12b. , therefore 4095 steps of about 1.2 mV for step so that 4095*1,2 = 4.9V which is too much! Someone told me to add resistors, but does that really work well enough?

Please keep in mind I'm not an expert at all therefore the easiest and best solution would be best, include please every information you can to be detailed!

Thanks a lot lot to everyone that helps me out!

Francesco
 

Offline wasedadoc

  • Super Contributor
  • ***
  • Posts: 1501
  • Country: gb
Re: Arduino output voltage from 0.015mV to 15mV
« Reply #1 on: May 17, 2023, 03:57:20 pm »
What is the input resistance of the measuring device which will be receiving these millivolt signals?
 
The following users thanked this post: francescoranchi

Offline francescoranchiTopic starter

  • Newbie
  • Posts: 8
  • Country: it
Re: Arduino output voltage from 0.015mV to 15mV
« Reply #2 on: May 17, 2023, 03:59:42 pm »
This is the manual of the instrumentation... I ve tried searching for input resistance but cannot find it!
 

Online DavidAlfa

  • Super Contributor
  • ***
  • Posts: 6090
  • Country: es
Re: Arduino output voltage from 0.015mV to 15mV
« Reply #3 on: May 17, 2023, 04:00:34 pm »
Measure the input load by plugging a DMM measuring resistance.
Probably it goes straight to a op-amp input, which normally have pretty high impedance.
In that case, It could be as simple as using a resistor divider.
« Last Edit: May 17, 2023, 04:27:22 pm by DavidAlfa »
Hantek DSO2x1x            Drive        FAQ          DON'T BUY HANTEK! (Aka HALF-MADE)
Stm32 Soldering FW      Forum      Github      Donate
 
The following users thanked this post: francescoranchi

Offline francescoranchiTopic starter

  • Newbie
  • Posts: 8
  • Country: it
Re: Arduino output voltage from 0.015mV to 15mV
« Reply #4 on: May 17, 2023, 04:02:16 pm »
Would that be precise enough? Which resistor's value do you suggest I use? Is it the same which one goes to ground and which one goes to the + voltage?
 

Offline francescoranchiTopic starter

  • Newbie
  • Posts: 8
  • Country: it
Re: Arduino output voltage from 0.015mV to 15mV
« Reply #5 on: May 17, 2023, 04:09:11 pm »
Hello,

i have a load cell 3mv/v up to 1000kg which is powered by 5 volts which goes into the measurament instrumentation. I would need the arduino to simulate the load cell. Thats why I would need it to have a 0.03mV precision since 0,015mV = 1Kg. 0.03mV is fine too which is 2kg
 

Online DavidAlfa

  • Super Contributor
  • ***
  • Posts: 6090
  • Country: es
Re: Arduino output voltage from 0.015mV to 15mV
« Reply #6 on: May 17, 2023, 04:21:22 pm »
A load cell is just a fancy potentiometer  ;)


 dat-500_it.pdf, page 8:
Quote
Allo strumento possono essere collegate fino ad un massimo di 8 celle da 350 ohm in parallelo. La tensione di alimentazione delle celle è di 5 Vcc ed è protetta da corto circuito temporaneo.

So lowest load can be 350/8 = 43ohms, but you can also connect just one cell with higher resistance, which means the input impedance must be pretty high to not affect the readings.

Thus, I'm pretty confident the resistor divider will work.

Use a dac to drive this divider.
A 10 bit DAC will give 1024 steps of 15uV each.
With 12bit, it'll be 4096 steps of 3.75uV.
« Last Edit: May 17, 2023, 04:31:42 pm by DavidAlfa »
Hantek DSO2x1x            Drive        FAQ          DON'T BUY HANTEK! (Aka HALF-MADE)
Stm32 Soldering FW      Forum      Github      Donate
 
The following users thanked this post: francescoranchi

Offline tooki

  • Super Contributor
  • ***
  • Posts: 12042
  • Country: ch
Re: Arduino output voltage from 0.015mV to 15mV
« Reply #7 on: May 17, 2023, 04:44:19 pm »
This is the manual of the instrumentation... I ve tried searching for input resistance but cannot find it!
Here’s the same in English: https://www.pavonesistemi.com/weight-transmitters-dat500
 

Offline francescoranchiTopic starter

  • Newbie
  • Posts: 8
  • Country: it
Re: Arduino output voltage from 0.015mV to 15mV
« Reply #8 on: May 17, 2023, 09:43:40 pm »
0,03 mV or 0.00003 V
 

Offline francescoranchiTopic starter

  • Newbie
  • Posts: 8
  • Country: it
Re: Arduino output voltage from 0.015mV to 15mV
« Reply #9 on: May 17, 2023, 09:46:37 pm »
Thankyou David!
Ok will try with the resistors which values should I use ? Is the 12 bit MPC4725 DAC ok? with 12 bits, as I understand, I should be able to be more precise correct?
 

Offline eTobey

  • Frequent Contributor
  • **
  • Posts: 797
  • Country: de
Re: Arduino output voltage from 0.015mV to 15mV
« Reply #10 on: May 18, 2023, 05:13:46 am »
If you have a 10bit DAC, it will give you ~5mV per step, if you then use a voltage divider of 1:1000 after that, you then have 5uV.
"Sometimes, after talking with a person, you want to pet a dog, wave at a monkey, and take off your hat to an elephant." (Maxim Gorki)
 

Offline francescoranchiTopic starter

  • Newbie
  • Posts: 8
  • Country: it
Re: Arduino output voltage from 0.015mV to 15mV
« Reply #11 on: May 18, 2023, 08:34:04 am »
So, this is what I tried using: 12BIT DAC with 4095 steps of 1.2mV each (i used a 12bit DAC because I had one in house).

With input 5v and R1= 426 Ohm and R2 = 128 mOhm --> Output = 15mV (which would equal to 1000kg), but the issue comes when changing the input. If as input I give it 1.2mV (minimum value/step one of the MPC4725) I get 0.0033 mV on the output instead of the desired 0.015mV (which would indicate 1Kg).

So I tried changing resistors, if the input is 1,2 mV (from the arduino) and R1= 10Ohm and R2 = 128 mOhm then the Output value is 0.015mV. (1Kg which would be fed into the instrumentation).

Therefore how can I keep things "linear" on both ends ??

thanks
 

Offline francescoranchiTopic starter

  • Newbie
  • Posts: 8
  • Country: it
Re: Arduino output voltage from 0.015mV to 15mV
« Reply #12 on: May 18, 2023, 08:37:31 am »
but a 10bit DAC will only give me 1023 steps. If I get 5mV per step which goes down to 5uV, that means that I need 3 steps to show 15uV therefore I would be able to measure only up to 341Kg
 

Online DavidAlfa

  • Super Contributor
  • ***
  • Posts: 6090
  • Country: es
Re: Arduino output voltage from 0.015mV to 15mV
« Reply #13 on: May 18, 2023, 08:39:59 am »
Nah, a dac will have plenty of noise on the LSB, don't use it like that.
Hantek DSO2x1x            Drive        FAQ          DON'T BUY HANTEK! (Aka HALF-MADE)
Stm32 Soldering FW      Forum      Github      Donate
 

Offline PCB.Wiz

  • Super Contributor
  • ***
  • Posts: 1687
  • Country: au
Re: Arduino output voltage from 0.015mV to 15mV
« Reply #14 on: May 18, 2023, 09:14:13 am »
So, this is what I tried using: 12BIT DAC with 4095 steps of 1.2mV each (i used a 12bit DAC because I had one in house).

With input 5v and R1= 426 Ohm and R2 = 128 mOhm --> Output = 15mV (which would equal to 1000kg), but the issue comes when changing the input. If as input I give it 1.2mV (minimum value/step one of the MPC4725) I get 0.0033 mV on the output instead of the desired 0.015mV (which would indicate 1Kg).

So I tried changing resistors, if the input is 1,2 mV (from the arduino) and R1= 10Ohm and R2 = 128 mOhm then the Output value is 0.015mV. (1Kg which would be fed into the instrumentation).

You are very close.
You have 4096 steps, but you want to work in 1000 steps, so your best approach is to increase the DAC 4 counts every time, as the DAC precision will not be << 1LSB.
ie the DAC has errors and 'bends' from ideal straight line, so rather than reduce the resistors and having excessive 4000kg max, you should adjust things so 4 counts is 1kg and then MAX is 1024kg
The MCP4725 looks to have INL of typical 2 LSB and worst case 14.5LSB, and full scale deviation of worst case 2%, typically 0.1%.

You may want to use high precisions resistors, and a good multimeter to calibrate this.
 

Online Ian.M

  • Super Contributor
  • ***
  • Posts: 12981
Re: Arduino output voltage from 0.015mV to 15mV
« Reply #15 on: May 18, 2023, 11:59:10 am »
Its probably desirable to keep the test circuit configuration similar to the load cell bridge.  i.e. make a bridge out of four precision 100 ohm resistors, then inject a variable current to unbalance it for the desired output. 

To inject the current (which I calculate to be 0 to 300uA full scale for the suggested bridge), you *could* use a Howland current pump, but I believe it would be sufficient to simply connect the buffered output of a >=12 bit DAC with output range Gnd to Vexcitation to the midpoint of the bridge on one side, via a 8.2K 0.1% resistor. Calibrate full scale and zero (which will be near midrange for the DAC in software.

To trim the bridge to balanced when no current is being injected, use a 10K pot between Vexcitation and Gnd, with a 24K resistor to the midpoint of the bridge on the opposite side to the current injection.  That will give you a trim range a bit greater than the maximum imbalance due to use of 0.1% resistors at the least favourable limits of their tolerance range.  If you measure the bridge resistors and choose best matched pairs you could increase the  resistor to reduce the trim range and make its adjustment less fiddly.

« Last Edit: May 18, 2023, 12:08:47 pm by Ian.M »
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf