Arduino output voltage from 0.015mV to 15mV - Page 1
Forum section: electronics / projects

author: francescoranchi
author_rank: Newbie
timestamp: May 17, 2023, 03:50:04 pm
content: hello!I'm stuck with a difficult task (at least for me). 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

author: wasedadoc
author_rank: Super Contributor
timestamp: May 17, 2023, 03:57:20 pm
content: What is the input resistance of the measuring device which will be receiving these millivolt signals?

author: francescoranchi
author_rank: Newbie
timestamp: May 17, 2023, 03:59:42 pm
content: This is the manual of the instrumentation... I ve tried searching for input resistance but cannot find it!

author: DavidAlfa
author_rank: Super Contributor
timestamp: May 17, 2023, 04:00:34 pm
content: 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.

author: francescoranchi
author_rank: Newbie
timestamp: May 17, 2023, 04:02:16 pm
content: 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?

author: francescoranchi
author_rank: Newbie
timestamp: May 17, 2023, 04:09:11 pm
content: 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

author: DavidAlfa
author_rank: Super Contributor
timestamp: May 17, 2023, 04:21:22 pm
content: A load cell is just a fancy potentiometerdat-500_it.pdf, page 8:QuoteSolowestload 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.

author: tooki
author_rank: Super Contributor
timestamp: May 17, 2023, 04:44:19 pm
content: Quote from: francescoranchi on May 17, 2023, 03:59:42 pmHere’s the same in English:https://www.pavonesistemi.com/weight-transmitters-dat500

author: francescoranchi
author_rank: Newbie
timestamp: May 17, 2023, 09:43:40 pm
content: 0,03 mV or 0.00003 V

author: francescoranchi
author_rank: Newbie
timestamp: May 17, 2023, 09:46:37 pm
content: 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?

author: eTobey
author_rank: Super Contributor
timestamp: May 18, 2023, 05:13:46 am
content: 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.

author: francescoranchi
author_rank: Newbie
timestamp: May 18, 2023, 08:34:04 am
content: 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

author: francescoranchi
author_rank: Newbie
timestamp: May 18, 2023, 08:37:31 am
content: 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

author: DavidAlfa
author_rank: Super Contributor
timestamp: May 18, 2023, 08:39:59 am
content: Nah, a dac will have plenty of noise on the LSB, don't use it like that.

author: PCB.Wiz
author_rank: Super Contributor
timestamp: May 18, 2023, 09:14:13 am
content: Quote from: francescoranchi on May 18, 2023, 08:34:04 amYou 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 1024kgThe 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.

author: Ian.M
author_rank: Super Contributor
timestamp: May 18, 2023, 11:59:10 am
content: 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 Vexcitationto 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 Vexcitationand 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.