MEMS accelerometers "bouncing" - Page 1
Forum section: electronics / projects

author: SiliconWizard
author_rank: Super Contributor
timestamp: November 06, 2022, 01:18:08 am
content: Just working on some IMU algorithms (using accelerometer+gyroscope at the moment), and I noticed something rather annoying. So far, I don't know if that's specific to the accelerometer I'm using and the way it's mounted, or if it's a general problem with MEMS accelerometers.Basically, the acceleration samples along the gravity axis are much better "behaved" than the samples along the 2 other perpendicular axis. It's definitely not a problem with X, Y axis compared to Z axis of the accelerometer: I get the same problem if I rotate the accelerometer (and rotate the acceleration vector accordingly). It's always a lot less bouncy on the gravity axis.I am guessing that the physical acceleration bias (gravity) makes measurements much less bouncy along this axis. I'd be curious to know if any of you have the same/other ideas of the possible causes and if you have encountered this as well, and how you have dealt with it.I don't know if it's specific to the accelerometer I'm using or not. I don't have any other to test at the moment. (BTW the sensor is a LSM6DSO.)So fact is with my setup is that, apparently thanks to gravity which "biases" the accelerometer, relative measurements along the gravity axis are much more usable (linear acceleration, subtracting gravity) than on the 2 other axis, which are very bouncy and make any attempt at estimating velocity pretty unusable. Again along the gravity axis, whatever the orientation of the sensor, I get much better measurements which make velocity estimation pretty spot on.If anyone has any idea/experience to share...

author: buta
author_rank: Contributor
timestamp: November 06, 2022, 02:58:07 am
content: We put IMUs on damping materials to prevent any unexpected vibration affecting them.

author: Bud
author_rank: Super Contributor
timestamp: November 06, 2022, 05:28:46 am
content: Dave made a video a few years ago demonstrating gravity affecting crystal oscillators. Changing the crystal orientation affected its frequency.

author: SiliconWizard
author_rank: Super Contributor
timestamp: November 06, 2022, 07:32:08 pm
content: Quote from: Bud on November 06, 2022, 05:28:46 amI remember that. Yep.Wondering how gravity affects those MEMS accelerometers in practice and haven't found much material about that. I'm wondering how this "bias" it creates affects them and it's hard to find much info about it.Now I have noticed another thing - with the gyroscope this time. Gyroscopes are supposed to be "relatively" immune to linear acceleration. Now I understand that those cheap "IMU" ICs are not high-performance, and that we could get some coupling, but with this one (LSM6DSO), the gyroscope is BADLY affected by linear acceleration. If I move the sensor laterally (along X or Y axis), for instance, I get a significant angular velocity measurement around the Z axis from the gyroscope. And I'm not talking about bad vibrations or high-g's. Just relatively slow linear motion, so linear accelerations typical <= 1 g. Is this expected or is this IC particularly bad?

author: IDEngineer
author_rank: Super Contributor
timestamp: November 07, 2022, 08:27:55 pm
content: I haven't seen a great deal of "linear motion affects gyros" on the BMI160 which we presently use.Remember (as discussed in other threads) we walked away from ST Micro MEMS parts a while back due to incessant lockups that required a power cycle to the chip to correct. ST seems to have lost their MEMS recipe. Meanwhile, Bosch Sensortec seems to have lost their sanity with some of their product decisions. We've acquired a deep stock of BMI160's to support production while we aggressively seek Yet The Latest MEMS Part To Replace The One We Presently Have In Production. Really getting tired of all the redesigns.Along those lines... you saidcheap "IMU" ICs are not high-performance. Does that mean you have some "uncheap" chips that ARE reliable and higher performance? At this point it may be worth spending a few more dollars to get past this nonsense.

author: SiliconWizard
author_rank: Super Contributor
timestamp: November 07, 2022, 08:49:37 pm
content: Quote from: IDEngineer on November 07, 2022, 08:27:55 pmGood to know. Not good news.Quote from: IDEngineer on November 07, 2022, 08:27:55 pmNo, I was just meaning that I was aware of those MEMS sensors not being high-performance in general, and thus that I wasn't expecting spectacular performance out of them. (As opposed to "high-performance gyroscopes that are expensive, often bulky and not MEMS-based.)But a gyroscope that gives several deg/s/g of drift under linear acceleration, that's atrocious. I was expecting something more < 1 deg/s/g, something like that. I get about 10 times that, making the gyroscope nearly unusable when the sensor is under linear acceleration. When the sensor is stationary and we're just rotating it along its 3 axis without translating it, it gives reasonable angular velocity, with a small offset under zero rotation, which is expected, and can be calibrated away, although in this use case, it's not even needed.So, not sure how you properly deal with it in practice if you want to properly detect rotation when the sensor is otherwise subject to linear acceleration. I'm curious to see how other MEMS sensors react, unfortunately this is all I have for now. Will have to order different references and see how that goes. Apart from ST and Bosch, any other vendor that might be worth considering?

author: IDEngineer
author_rank: Super Contributor
timestamp: November 07, 2022, 09:36:44 pm
content: How are you making certain you're not accidentally imparting some rotation during your linear acceleration tests? On the higher sensitivity gyro scales it's exceedingly difficult to prevent that. We use a jig with a solid flat surface along which we can "slide" the DUT but even then it's easy to not keep the entire side of the DUT fully engaged with the reference surface. I've thought about building a test fixture using something like ball bearing slides and a jig that physically HOLDS the DUT so the user isn't part of the test but haven't gotten around to that yet.Sorry, no furtherqualifiednames to share. We started with ST Micro. The first ST part worked great, so they stopped production.We switched to another ST part, their LSM6DS3, but it had the lockup problem I mentioned earlier. I can't tell you how many manhours were lost to diagnosing that, but I CAN tell you that all of our subsequent IMU designs have a PFET in the positive supply rail going to the IMU chip so we can cycle power under firmware control if we ever run into it on another part! That made us go looking again, and this time we intentionally searched for a recently-released part (presuming that would insure a longer production life) that didn't have the problems we'd seen in other parts. We settled on the Bosch Sensortec BMI160, which honestly worked pretty darned well. Their largest failing was a lack of absolute calibration from device to device, e.g. in the same physical location different devices would report a different value for Earth's gravity. Fortunately, our applications (so far!) have cared about relative measurements across the three axes so we just RMS sum and normalize before doing our math.The BMI160 was fine... until Bosch decided to stop manufacturing it without notice, accused people in their forums (including me) of "spreading rumors" about its lack of availability, and finally recommended as a replacement a part which requires an 8KByte firmware download on every power cycle.Ahem, that's a significant percentage of the TOTAL EEPROM space on many microcontrollers. I guess the only market they care about is smartphones and tablets.There is a TDK part, their IIM-42652, which we sampled but haven't done exhaustive evaluation yet. For all I know it too is out of production already. It has the advantage of sharing a package and (almost) a pinout with other devices, making it possible that we could swap in different parts with a couple of 0R resistors.The other thought I'd had is that Analog Devices makes some MEMS IMU's. They are substantially more expensive, but maybe they stay in production for more than a couple of years and maybe they are higher quality. Another rabbit hole I haven't chased down yet.

author: SiliconWizard
author_rank: Super Contributor
timestamp: November 07, 2022, 10:12:27 pm
content: Quote from: IDEngineer on November 07, 2022, 09:36:44 pmThat's a good point. Problem is that the mean value of the samples during motion is nowhere near zero during this test, while the start and end angles are very close to one another. So, something doesn't add up. Maybe it's due to under sampling? Interestingly, this doesn't happen when just rotating the device with essentially no linear acceleration (apart from gravity.)Quote from: IDEngineer on November 07, 2022, 09:36:44 pmI'm pretty sure this is the case.Quote from: IDEngineer on November 07, 2022, 09:36:44 pmOh, yes. Forgot about AD. I've used AD accelerometers in the past with absolutely no issues. Never used their multi-sensor IMUs though. But at least I can tell AD knows how to design MEMS sensors.

author: IDEngineer
author_rank: Super Contributor
timestamp: November 07, 2022, 10:57:28 pm
content: Quote from: SiliconWizard on November 07, 2022, 10:12:27 pmGlad to hear that from someone who has used their parts. Yes, they charge more but if their stuff is reliable, predictable, and stays in production it may be worth it. Also, my son (who is pursuing an EE degree at CalPoly) has an interview for an intership with them soon so it might be a way to keep the money closer to the family!MORE: Well, that was a short-lived fantasy. A quick check at DigiKey reveals the cheapest AD part that has both accelerometers and gyroscopes costs $175 each quantity 1. Quantity 10 they drop to... $175 each. Guess I'll be looking into TDK InvenSense a bit more closely. Anyone here have experience with their parts?

author: SiliconWizard
author_rank: Super Contributor
timestamp: November 07, 2022, 11:11:11 pm
content: Regarding coupling between sensors, I've just read that the trend in IMUs seems to be combining the gyroscope and accelerometer in common physical structures, making the coupling between them much worse (but I'm sure it is cheaper, taking less area.) Vendors claim that it's fully mitigated using internal tricks and filters, but that's to be taken with a pinch of salt.Maybe using separate accelerometer and gyroscope chips does actually better than those all-in-one IMUs?

author: IDEngineer
author_rank: Super Contributor
timestamp: November 07, 2022, 11:16:24 pm
content: Hmm... hadn't read that having them share a common substrate made things worse. What's the source for that?MEMS devices are a discipline all their own. We've run across several that have an separate interface which couples to a daughter-chip with (say) gyros or magnetometers. The idea is you let the acc chip upload the downstream chip's data and you then have only a single point of I/O. On principle I'm not a fan, I'd rather have direct I/O to each component. But I've wondered if their later "integrated" IMU's are really just two dies in the same package, configured with inter-die I/O. Your comment makes me REALLY wonder about that.

author: IDEngineer
author_rank: Super Contributor
timestamp: November 07, 2022, 11:22:29 pm
content: So, tucking my tail between my legs, I went searching for remotely reasonably affordable single package IMU's. Since TDK piqued my interest earlier I sorted on them, and there appears to be a relatively new (of course!) part called ICM-42670 which:* Has six degrees of measurement* Does SPI* Is stocked surprisingly deeply at the moment (63K at DigiKey, for one data point)* Costs under $5 in reasonable volumesIt's been a long time since I saw an IMU chip stocked anywhere NEAR that deep, anywhere.MORE: So far no terribly ugly creatures crawled out from under the rocks. No mention of firmware downloads, thank goodness. LGA-14 package with pinout quite close to other IMU's so with a little study it might be possible to swap one in.Sadly it does use banked access to its registers which slows down I/O... I think the other TDK part did that too despite having less than 256 registers so they could have implemented linear addressing. But no, there seems to be a minimum requirement of Weird Features per MEMS part so this is how TDK meets their quota.Might be worth a look, it will be a while before I have a chance to dig deeper.

author: SiliconWizard
author_rank: Super Contributor
timestamp: November 07, 2022, 11:39:16 pm
content: Looked at AD:https://www.analog.com/en/product-category/inertial-measurement-units.htmlApparently they only have "high-performance" IMUs starting at $140 or so.Otherwise, they seem to have separate accelerometers, gyroscopes and magnetometers:https://www.analog.com/en/product-category/sensors-mems.htmlat more affordable prices, although they still are pretty expensive compared to the cheapness of the competition.

author: IDEngineer
author_rank: Super Contributor
timestamp: November 08, 2022, 12:48:57 am
content: The device in which we use these has a retail price lower than AD's asking price for their IMU's so at least for us they're not an option.That translates to "Back to the IMU comparison grind again".

author: Kasper
author_rank: Frequent Contributor
timestamp: November 08, 2022, 05:58:41 am
content: Just a guess, I have not seen this nor do I know what's really inside an accelerometer: accelerometers can be modelled by a mass and a spring. Maybe that spring is the source of the bouncing you see.How many units, batches and suppliers have you tried?