Understanding accelerometers for rotational motion data
Show older comments
I hope this post isn't too long, but I really need help and want to be pretty detailed/specific.
I have recently built a system where a rod is attached at one end to a rotating shaft. So, as the shaft rotates from 0 to 90 degrees back-and-forth (in the xy plane), so does the rod. It's not exactly 90 degrees but I can measure it exactly later. My goal is to measure the instantaneous (rotational) acceleration of the rod while its moving (I'm going to use that to calculate torque). I mounted a 3-axis accelerometer at the end of the moving rod, and I measured the distance of the accelerometer from the center of rotation (i.e., the length of the rod) to be about 38 cm. I have collected a lot of data, but I'm in need of help to translate these data into an understandable output.
Note that I'm not really sure if the way I filtered it is "good" (maybe someone can comment on that?). But I think the data makes sense: if it's ramping up, then then I think at that point the acceleration should be linearly increasing, and then when it's ramping down, it should linearly decrease. If its moving constantly, the acceleration will be ~zero. Since this is a one dimensional problem (in polar), the plot only shows the data that captured most of the motion in this dimension. However, this accelerometer was capturing data from all 3 dimensions (I will neglect to include the dimension that reads in the up and down direction, since it shows a near constant 1 G reading which makes sense). The other dimension was actually capturing some important information too I think. The units are all in "G." My first question is, how do I combine these data so that I can get a "resultant acceleration?" I tried summing the squares of each element and taking the square root but that didnt make sense. I also did more research and it seems that rotational matrices/vector transformations might help, but after a lot of research I still can't figure out how to use them or make them work. Also, I dont know why but there's an offset for the two dimensions...
Here is a lot of the data I'm talking about. Acceleration (filtered and unfiltered), where the first column is the up and down direction (doesnt matter), the next column is the "main" dimension where most motion behavior is captured, and the last column is the "less relevant" dimension. I would really appreciate someone helping me to appropriately combine these data, and then turn it into a rotational acceleration. I could be more specific on everything I've tried so far if someone wants, but its a bit embarrassing how nonsensical it turned out given the amount of time I spent on it. I have also collected position and time data while using this (although position and acceleration may not be aligned perfectly yet).
cl.ly/023A3q0R1X1W?_ga=1.2791731.2093327149.1426657579
cl.ly/0S1j22310m2S?_ga=1.2791731.2093327149.1426657579
Accepted Answer
More Answers (1)
Bhabani Nayak
on 4 Nov 2015
0 votes
Hello. As you mentioned it on Rod for 90 degrees of rotation, my scenario would be somehow similar and I would like to discuss it here. I have a accelerator which is a 3 axis based. I am putting it on a wheel of a bicyle. The radius of the bike is let us consider 40 cm. It can reach a maximum velocity of 25 KMPH.
If i put the sensor on the wheel (assuming surface is smooth and sensor placed without any tilt in X , Y axes). So Z axis is perpendicular to the wheel and hence, it can be ignored. Now we have X and Y acceleraion. How to interprit the datas? As the wheel rotates, it will experience a centrifugal force, How to calculate the speed of the bicyle at this scenario?
Kindly suggest what other factors can play any role, during calculations?
Thank you for this wonderful post.
1 Comment
Fatih Senkul
on 4 Apr 2016
Bhabani,
Do you have a data sample so that i can comment on it?
Categories
Find more on Programming in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!