Understanding accelerometers for rotational motion data

53 次查看(过去 30 天)
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

采纳的回答

Roger Stafford
Roger Stafford 2015-4-14
编辑:Roger Stafford 2015-4-14
I assume your accelerometer is mounted such that it rotates along with the rotation of the rod. If so, the only significant component of acceleration you need to use for calculating angular acceleration is the horizontal accelerometer component orthogonal to the axis of the rod. The other horizontal component along the rod's axis is due to the acceleration needed to follow a circular route - that is, the so-called centripetal acceleration, and you can ignore it. The calculation is very easy - divide the above acceleration component by the distance of the accelerometer from the axis of the shaft to give radians per unit time squared or multiply this by 180/pi to get degrees per time squared.
  3 个评论
Roger Stafford
Roger Stafford 2015-4-15
编辑:Roger Stafford 2015-4-15
If your accelerometer is very accurately aligned, its component of acceleration along the rod's axis should be v^2/r where v is the velocity and r the radius (distance from the center) and therefore entirely dependent on the velocity. The orthogonal component on the other hand depends entirely on the angular acceleration of the rod and is given by r times the angular acceleration. Hence the angular acceleration is the linear acceleration divided by r. If your acceleration is in meters/sec^2, then divide by the number of meters in r to get radians/sec^2.
If your accelerometer is not accurately aligned, then all bets are off. You can be mixing both components and also picking up components of gravity. Furthermore an accelerometer subjected to rotation may exhibit some eccentricities due to less than ideal design which could affect the readings.
John Alperto
John Alperto 2015-4-17
That sort of makes sense. I think I need to investigate the possibility that it's not perfectly aligned. Thanks for your help.

请先登录,再进行评论。

更多回答(1 个)

Bhabani Nayak
Bhabani Nayak 2015-11-4
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.

类别

Help CenterFile Exchange 中查找有关 Fourier Analysis and Filtering 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by