Giter Site home page Giter Site logo

Duplicates about scl3300 HOT 8 CLOSED

davidarmstrong avatar davidarmstrong commented on June 9, 2024
Duplicates

from scl3300.

Comments (8)

DavidArmstrong avatar DavidArmstrong commented on June 9, 2024

If the sensor is not moving, it would make sense that it would return the same value each time it was read. Also, the available() function has to be called each time a new set of data is to be read from the sensor. That function reads all the sensor axis values as a group, so that they are consistent. Otherwise the angle functions are just reporting what was in the last data set fetched by available(). Finally, the raw data are 16 bit signed numbers that are internally converted to a floating point representation in degrees. So there is a limit to the resolution that is measured by the sensor.

from scl3300.

phhoef avatar phhoef commented on June 9, 2024

Thanks for your answer and your thoughts.
I am reading the sensor values for each iteration of the Arduino main loop. Every iteration available() is called.

In a perfect world, the values are the same when the sensor is not moved, but I was expecting much more noise. Do you really think, it is possible, that the values are so consistent?

That said, I see the angle changes when the sensor moves. It's hard to get an absolute correct angle for reference, but holding the chassis at 45° will also produce an measured angle ~45°.

from scl3300.

DavidArmstrong avatar DavidArmstrong commented on June 9, 2024

from scl3300.

phhoef avatar phhoef commented on June 9, 2024

Thanks for the article. I did a comparison of three sensors a while ago (MPU6050, BNO055, SCL3300) and also came to the conclusion, the the SCL3300 is very accurate. That's why I used it in my custom board design.
https://forum.sparkfun.com/viewtopic.php?f=83&t=52967

It still feels a bit weird, that the sensor produces the exact same outputs when it is not moved - it's too good to be true, I can't believe it.
That said, I didn't see any misbehavior, it just feels suspicious ...

Do you see a similar behavior of your sensor?
Today, I tested it with the evaluation board (https://www.murata.com/en-eu/products/sensor/design-development/scl3300-d01-pcb) connected to an original Arduino Due. And indeed, it also produces measurements, that appears multiple times.

I have a calibration routine, where the mean value of 10 measurements is used to zero the current measurement.
With two different devices, I got the same offset to the 15th decimal place.
That feels weird, that two different sensors brings identical measurements ...

from scl3300.

DavidArmstrong avatar DavidArmstrong commented on June 9, 2024

My sensor has always been stable in it's output, except when one of the electrical connections was flakey. Hence the need for available() to provide an output flag to indicate if the data is valid or not.

from scl3300.

phhoef avatar phhoef commented on June 9, 2024

Again, thanks for your thoughts.
Actually, I am somewhat reassured now. Especially, as the sensor seems to provide valid angles when moving. Attached is the plot of angles, when laying flat on the table and then tilted to 90° and back to 0°.
Still, I think it's exceptional, that the measured values are so stable and occurring multiple times. I wrote an email yesterday evening to Murata and asked if that is possible and expected. I'll keep you posted ...

from scl3300.

phhoef avatar phhoef commented on June 9, 2024

Hallo @DavidArmstrong,

as I mentioned in my last comment, I contacted Murata. They were very friendly and helped me a lot.
To summarize the conversation, there were 2 outcomes

  • Hitting exactly 0° is probably normal noise. I also noticed, that the probability to hit 0° is higher, when zeroing the sensor in the first place.
  • Duplicates probably occur, when I read the sensor too fast. Not sure, if it's always the case, as I saw different angles before a duplicated occurred, but in some cases it's possible.

They also shared an example code for STM32 mcu. They kindly permitted me to share the code with you in order to improve your Arduino library. I did a quick comparison of both code bases and didn't found much to improve. But you're much more familiar with your code ... They asked us not to make the example code publicity available.
How can I privately contact you to share the example? Of course, I am happy to help to improve your code.

from scl3300.

DavidArmstrong avatar DavidArmstrong commented on June 9, 2024

Private message over Sparkfun Forums sent.

from scl3300.

Related Issues (19)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.