Pressure sensor HX710B

I am using a pressure sensor for my sphygmomanometer project.
I "believe" I have correctly wired the circuit as per the advised wiring on page 9 of the user manual. I am having a few problems:

  1. When I had directly connected the reference voltage point to the AREF pin on my Arduino Uno, I was getting a steady output voltage of around 0.34V with a read value of around 79 (between 0 and 1023). When I applied pressure no change was observed.
  2. I discovered that AREF pin was giving out 4.6 volts instead of the 1 volte needed, so I added the function analogReference(INTERNAL) to void setup, and now the voltage is still not 1 volte or the standard 1.1 volte but is 1.43 voltes when measured between AREF and GND. Now the readings are somehow cyclic. They come at 0.00 for few seconds, then rise steadily to around 4.5 voltes, then drop again and the same process repeats.

I am not getting where I am coming short.

Your schematic and code, please!

Give the forum guide, which is in the sticky post, a read before your next post.

1 Like

Was already missing in OP's previous sphygmomanometer thread, and the one before that.

Ahh, just been added.

Wouldn't it have been easier if you had used a sensor with built-in instrumentation amp.
Then you can connect directly to the Arduino.
Leo..

@PaulRB @Wawa Done. added schematic and code

Being new to electronics, I didn't even know sensors come with built in In-Amps. I did search for all available sensors, and of the only two options available in my pressure ranges, basis cost-quality tradeoff this seemed the best option. The other one (don't know if it had anything in built) was four times the price. I had used the HX710B pressure sensor module before and it wasn't satisfactory in its output.

That "reference input" signal is confusing. The arrow head indicates it might be an output of the circuit? If that's the case, analogReference(EXTERNAL) might be appropriate. But check it's not over 5V first.

1 Like

@PaulRB I will check that. Can you also confirm whether I am right or wrong not to connect the +ve voltage supply to the two ampliers? I connected that as a test and the readings stabilized at around 2.3 voltes with minor fluctuations.

@PaulRB btw, one more thing, the schematic shows that only three amplifiers are grounded, but since I am using just 2 LM358 which each has two amplifiers, all four of my amplifiers are grounded, even the constant current amplifier. Could that pose a problem?

You mean the Vcc pins? Yes, they won't work without power supply! And they must all be grounded for the same reason.

1 Like

That is almost certainly not the schematic as you've built it, since it is (1) incomplete and (2) you indicated yourself that you're using a different kind of opamp.

So please post the schematic as it is actually built, in its entirety.

The ARef pin is NOT to be used to supply external circuitry, at least not if you don't know what you're doing. And even then, I would recommend making an external reference voltage (probably something simple as a TL431 will do just fine) and using that.

1 Like

Ok, yes, sometimes the Vcc and ground connections for op-amps and logic gates, where there are multiple of them in a single chip, are not shown on schematics. But it is assumed they will be connected, because the chips won't work otherwise.

It's there because sensor offset could be negative at zero pressure.

Try making 1volt with a voltage divider on the 3.3volt supply of the Uno.
Don't use the Aref pin for that.
Absolute voltage is not critical. 0.5volt might also do.
I would use the 3.3volt pin as reference, because the LM358 is not rail2rail.
Leo..

I agree that I should post exactly my own schematic, but I didn't understand your point about incomplete. How is it incomplete? Am I missing something?

Also I checked the component TL431 which you mentioned. I am new to this field, I did a read on this component and it said its between 2.5 volte and 36 volte. But my requirement is 1 volte reference. Can you suggest a circuit and confirm if this is the right component?

Can't the refence voltage be achieved by just putting some resistance in the path of the 5 volte supply from Arduino?

So if I just put the reference jumper into 3.3 V pin point then it should work? Can it also work If I use ground as reference voltage?

Where is the power supply? Where is the connection with the Arduino?

The TL431 is essentially a 2.5V (approx.) reference. You can take this reference and with a resistor divider, specifically a trimpot, you can make an adjustable reference that will work well enough for this application. Just dial the trimpot to the desired value. See e.g. this page, figure 4: Experiments with TL431 Shunt Regulator

You could, but this voltage is likely to vary more than a TL431 reference. For instance if you feed the whole circuit from USB via the Arduino board the supply voltage may be something like 4.7V, whereas if you later on decide to have the system run stand-alone from an external 5V power supply which happens to output 5.1V, your voltage reference has gone off by a significant margin.

As @Wawa says you could indeed also use the 3.3V reference from the Uno instead of the TL431, although I would have a little more confidence in the Tl431's stability than that of the LT1117. However, this may or may not be justified. I do agree with him that the reference as such is not critical, but I would argue that the reference should ideally be as stable as possible. In theory small deviations should correct itself, so there's some margin for error.

1 Like

The 3.3volt supply of an Uno comes from an otherwise unused LDO that is powered from 5volt/USB.
It is quite stable, and more than enough for OP's requirement.
A TL431 circuit has a minimum of 2.5volt.

A voltage divider on the 3.3volt supply, to make 1volt, should replace R10 in the amplifier.
And... it should have the *same impedance (10k).

Yes, if... you also put analogReference(EXTERNAL); in setup.
Failing to do so will damage Aref.

The output of an LM358 (or 324) can only swing between 0volt and 3.5volt on a 5volt supply. So if you use an A/D with 5volt range then only 70% can be used. That, and a 1volt cut-off at the bottom (zero pressure offset) will reduce A/D resolution to about 50% (9-bit). Changing Aref to 3.3volt (0-1023 over 0-3.3volt) will increase resolution.
Maybe get the circuit first working, and do this as an improvement.
Leo..

1 Like

These 40kPa (0-300 mmhg) sensors are common.
And there seems to be an Arduino library for the HX710b chip on that board.
This board could be better/easier/cheaper if you can get it to work.
Leo..

1 Like

I'm amazed that someone designing a medical product intended to be sold to health professionals is asking for help on what is, in essence, a hobby forum. I hope my doctor doesn't buy this device. :confused:

Don't convert to volts, unless you're making a voltmeter.

If your instrumentation amp outputs 3.2volt without pressure, then you have an A/D reading of about 3.2 / 5 * 1024 = 655, but with 3.3volt Aref this will be 3.2 / 3.3 * 1024 = 993.
The instrumentation amp is wrong, not the A/D.
How did you make that 1volt with 10k impedance. Do you need help with that?
Post a picture of the instrumentation amp.
Leo..

1 Like