I am trying to measure the load from this 50kg load sensor. I have tried for many days to find a solution and have viewed many resources from around the internet, however, am unsuccessful. Many resources use two load sensors or use different amps and I don't have the experience to apply their designs to one that I can use.
Here is what I have gathered so far. I may need to use a wheatstone bridge to measure the small change in resistance when weight is applied to the sensor. Use an op-amp to magnify the resulting small change in voltage so that the Arduino ADC can read it across a full 0-5V range.
I understand how to read the analog signal on the Arduino, I just don't know how create a circuit that will give the proper input voltages for the Arduino to read.
I have:
A single load sensor: datasheet
LM358 Op-amps: datasheet
Arduino Uno
Other things like resistors, capacitors etc.
Here is a schematic of the circuit that I've tried so far:
I read a constant 3.7V as the input to the ADC regardless of the force applied to the load cell. I later checked the voltage on the red wire coming from the load sensor and it read about 2.5V. So this is where I am stuck, how do I modify this to get a range between 0-5V? (or close enough)
Your LM358 is saturating (producing the maximum positive output it can). That's because you are feeding it 2.5V from the load cell (which is correct) and asking it to amplify that by a factor of 100. The poor old LM358 fed from a 5V supply can't produce an output of 250V, the best it can do is 3.7V.
Try adding a 1K resistor between the R2/R3 junction and the same +5V supply that is powering the load sensor. If the sensor is well-balanced at zero load and the two 1K resistors are well-matched, that should work. If not, then you need to adjust the value of one of the 1K resistors (e.g. using a potentiometer) so that the op amp output is at a suitable value when there is no load.
This is great info dc42 and I wish I have seen your reply some time before
I have connected the LM358 (using both op amps on the chip) to a pressure sensor (not a force sensor) which has 4 wires...that sensor reads 2.5v at zero pressure and reads 3.7V at maximum rated pressure.
Although I got very good resolution but I always wondered why not 5V...and spent some good time playing with the resistors before giving up without knowing that my problems is related to the LM358's maximum output.
so any good alternative op amp for the LM358 that give more range than the 3.7V on a single power supply with comparable price tag? i.e. as replacement for the LM358 without changing a lot of the circuit
Oh and which part of the specs specify that the LM358 has maximum output of 3.7V?
regards
A pressure sensor with 4 wires is probably connected in a bridge configuration. If so, then you should use an instrumentation amplifier (e.g. INA122) with it, not an ordinary op amp. Can you provide a link to the datasheet of the sensor?
OK, that sensor has a built-in amplifier, so you don't need an instrumentation amplifier to use it. Instead of using a different op amp to get more than 3.7V into the Arduino, why not use the 3.3V pin as your analog reference? Then you an cover the full range of the Arduino ADC with an output from 0 to 3.3V.
The 3.7V max output was the value you said the output was stuck at. The datasheet unfortunately doesn't quote Voh using a 5V supply, but given the nature of the output stage (shown in the circuit diagram on the datasheet), 3.7V when lightly loaded is about right, perhaps a little better than I would expect .
OK, that sensor has a built-in amplifier
I dont think so.
the sensor starts at 2.5v at zero pressure and has a full scale of 40mv when supplied with 10V, so on 5v the full scale will be 20mv for the whole range of 200Kpa, which means 0.1mv per Kpa which is pretty difficult to measure with arduino.
Actually i am using attiny45 and not a regular arduino, but using the 3.7 as voltage reference is interesting indeed. I am kind of running out of IO pins though.
so if using the voltage ref pin on the attiny45, can I supply 3.7V by using voltage divider or a diode to drop the voltage about 1.2v from the 5v?
OK, that sensor has a built-in amplifier
I dont think so.
the sensor starts at 2.5v at zero pressure and has a full scale of 40mv when supplied with 10V, so on 5v the full scale will be 20mv for the whole range of 200Kpa, which means 0.1mv per Kpa which is pretty difficult to measure with arduino.
Actually i am using attiny45 and not a regular arduino, but using the 3.7 as voltage reference is interesting indeed. I am kind of running out of IO pins though.
so if using the voltage ref pin on the attiny45, can I supply 3.7V by using voltage divider or a diode to drop the voltage about 1.2v from the 5v?
OK, I was wrong, there is built-in temperature compensation but no amplifier. Where are you measuring the 2.5V? You should be measuring the voltage between the +Vout and -Vout pins. According to the datasheet, that differential output goes from close to zero at no load, up to 40mV at full rated load when the supply voltage is 10V. Expect half that with a 5V supply, so you need to measure 0 to 20mV. To do that properly, you need an instrumentation amplifier such as INA122. Or, for a little more, you can get a combined instrumentation amplifier and 24-bit ADC such as ADS1231.