Hi everyone, I’m using “openscale” with a standard terminal console (YAT). I connected a 300Kg cell with 2mV / V sensitivity. Everything works fine for me. Some time “openscale” reads an incorrect value, this happens more frequently when I use a fast report rate, but with less frequency even with slower rate.
Any suggestions? Can it be a software bug?
.
.
0.13,kg,
0.13,kg,
0.12,kg,
0.13,kg,
-37.36,kg,
0.13,kg,
0.12,kg,
0.13,kg,
0.13,kg,
.
.
This could be the result of random noise or a loose connection.
Another possibility is that if you’re reading the load cell too quickly, the HX711 amp on the board might not have completed the last read when read again and is giving back bad data. I don’t think it’s a bug, but the firmware could probably be tweaked to average results and toss out anything that’s anomalous.
What you might do when you process the data is take 10 samples and average those, that will help cut down on the odd reading that pops up every now and then. (or you could throw out any sample that comes back below zero.)
First of all thanks for your answer.
I checked the connections and the noise but these are not the problems.
the jumper rate is open to select 80 bps.
the settings are as follows:
Serial Load Cell Converter version 1.2
By SparkFun Electronics
No remote sensor found
System Configuration
-
Tare scale to zero [25881]
-
Calibrate scale [14947]
-
Timestamp [Off]
-
Set report rate [20]
-
Set baud rate [115200 bps]
-
Change units of measure [kg]
-
Decimals [2]
-
Average amount [1]
-
Local temp [Off]
r) Remote temp [Off]
s) Status LED [Off]
q) Raw reading [Off]
t) Serial trigger [Off]
c) Trigger character: [33 / ‘!’]
x) Exit
the reading error can be random every 10 seconds as after more than a minute, sometimes there are two incorrect consecutive readings.
I’m not able control the firmware, I’m just a user.
I need to read “openscale” as fast as possible because my goal is to measure a dynamic phenomenon.
Can anyone verify this problem?
Can anyone verify that there are no firmware problems in reading HX711 ?
Best Regards
Giorgio
The Rate jumper selects between two rates: 10 samples per second (SPS) or 80 samples per second. By default there is a short between the two pads on the board connecting the HX711 RATE pin to ground and setting the rate at 10SPS. This decreases the sample input noise to 50nV (makes the readings less noisy) but increases the startup time (from power save mode) to 400ms.
Opening the jumper will set the sample rate to 80SPS, increasing the noise to 90nV, and decreasing the startup time to 100ms. Open the jumper by cutting this jumper with a hobby knife. The jumper can be closed again with solder if necessary.
This is not a software bug but changes to the software could help reduce the occurrence of the phenomena you’re witnessing. I recommend you close the jumper to reduce noise in the readings. It will slow things down a bit but will increase the reliability of the data you’re receiving.
Average amount
This controls how many readings to average across. The default is four. Decreasing the average amount will allow for faster report rates but will increase the noise in reports.
The faster you make the board go, the less accurate it will be. Increasing the average amount will also help with accuracy.
Dear TS-Chris, your thinking is right, but if with a sampling rate of 80 SPS the noise doubles, I should see a greater variation between all readings of the same weight, not just an incorrect value every 200 or 300 readings, and even if I take an average of 10 readings, a very different value of a single reading, significantly changes the result (example 9 reading in the range 0.15-0.20 Kg and 1 reading 85.5 Kg the average will be greater than 8 Kg which is wrong).
From the tests I did I can say that with the jumper set to 80 SPS and with a report rate of 20ms (with all the settings as I indicated in the previous post) the readings are good and the variation due to noise is more than acceptable, it remains the problem of a crazy value every now and then that I cannot find a logical explanation and that I cannot manage from my program because I am going to read a weight that varies over time and therefore I must be sure that the variation between two values is realy a weight variation and not due to crazy reading.
Please help me if you can.
regards
Giorgio
Unfortunately there is not a easy way to prevent the occasional crazy rate from showing up, it seems that’s a side effect of how the HX711 works.
The only thing I can think of that might help would be to monitor the values as they are being output and throw out any that are significantly different from the rest. You’d need additional hardware and processing to do that unless, you wanted to customize the firmware that’s inside the OpenLog and do it there.