Signal damping

Hi,

Today I tried to make my first program that stabilize 2 motors putted on a stick.
I took the corresponding axis (y axis), normalized it and then used 2 if statements for each motor. The statements were then adding to the motor the initial velocity (which is a constant, and is defined in the top), and the current y axis value multiplied with a factor made of the y axis value divided by 200. I've used only the accelerometer's values.

motorThrust=initial_velocity+threshold*threshold/200
The value 200 was obtained during the experiments.

Now, you would ask, why the hack didn't I try something already made?
Well, I want to develop on my own the algorithm.
The results weren't so promising. The motors tend to stabilize, but unfortunately, they were too far from what I have expected.

This is a sample from my processing sketch:
http://www.4shared.com/photo/JM_XVQik/graph_capture-0765.html
-in the left there are the accelerometer values (green representing the z axis, white the y axis and red the x axis)
-in the right there are the gyroscope values(red the x axis, and white the y axis). You can also see how the testing board oscillates more and more as the time flows.

I tend to think that the problem is with the vibrations. I've just putted me in the Arduino's situation. What would you do? The same, clearly.
Except using an algorithm, do you know how can I reduce the vibrations to the sensing board? What materials could I use?

Thank you,
RobertEagle

What do you think you are getting from the accelerometer? What do you think you are getting from the gyroscope?

What you are actually getting vs. what you think you are getting appears to be the root of the problem.

I'm getting disturbed values from both.
I need a physical system that reduces the vibrations. I was thinking at gel enclosure, where the sensing parts should be put.
Do you know something good?

I'm getting disturbed values from both.

What does this mean? What do you think an accelerometer reports?

Look at the graph I posted. It clearly displays the signal's noise. When I say disturbed, it means that the signal has noise from the motors.
Now, if you please, do you know some methods of reducing the actual vibrations from the sensing board? (i.e:sink the board into some form of solution which has the ability of reducing the vibrations)

It clearly displays the signal's noise. When I say disturbed, it means that the signal has noise from the motors.

Clearly, the question is is that caused by vibration, electrical noise, or a misunderstanding about what an accelerometer measures?

Caps on the motors will minimize electrical noise.

Vibration of the accelerometers due to the structure vibrating can be minimized by rubber mounting of the motors and/or the accelerometers.

There doesn't seem to be any way to address the issue of misunderstanding about what the accelerometers measure, because you won't way what you think they measure.

As Paul is trying very hard to point out is that you cannot solve a problem unless you understand all the conditions that are a part of the problem. What it boils down to is "Fix What?".

Bob

I know very well what an accelerometer measures. The problem is in our interpretation. Maybe I want to point out something, which is right, but read by another one might be very wrong, the cause being the english.

I will repeat everything just to be understood:

  1. I know what an accelerometer measures. Force. I know physics.
  2. Yes, the noise is caused by motors.
  3. What I want is to reduce in the first stage the vibrations from the sensing board. (here I observe my bad. I said noise from the motors. I was referring the vibrations)
  4. I tried already using rubber mounting on the accelerometer. I tried also the PU gel. (I got improvements, but not as much as I want)
  5. Do you know a better solution than all of these? I was advised some time ago to sink the board into some form of fluid which would reduce most of the vibrations. What do you think/know about it?

Thank you,
RobertEagle

  1. I know what an accelerometer measures. Force. I know physics.

No, it doesn't measure force. It reports the instantaneous rate of change in velocity at any given point in time. If you expect those values to give you any information about speed, position, or orientation, you need to integrate the data over time.

If the structure is moving the accelerometer around, flexing of the structure is going to result in less than accurate measurements, due to vibration.

If that is what you are seeing, you need to make the structure more rigid.

  1. Yes, the noise is caused by motors.

Electrically, as noise, or mechanically, due to vibration caused by the movement of the motor shaft not being perfectly concentric or because of less than perfect bearings?

  1. I tried already using rubber mounting on the accelerometer. I tried also the PU gel. (I got improvements, but not as much as I want)
  2. Do you know a better solution than all of these? I was advised some time ago to sink the board into some form of fluid which would reduce most of the vibrations. What do you think/know about it?

Perhaps I've lost the connection with what you are trying to measure with the accelerometers. I suspect that it is the motors that need to be de-coupled, mechanically, from the structure, with rubber or spring mounting. Isolating the accelerometer from the structure is like having sex wearing a condom.

On the other hand, I don't really understand what you are trying to measure or what you are trying to use the data for. So, maybe the condom is appropriate. I don't know.

  1. The noise is generated by the movement of the motor shaft.
  2. I think (I don't know exactly) that the vibrations are amplifying along the stick where the sensors are putted, therefore I don't think that mountings would help in the motors area. I think that would help more in the center, at the joints, hence some joints mounted with springs or rubber. But that's some primordial thoughts.
    I need a physical damper for my quadcopter, for the sensing part. The idea with sinking the sensing board into some form of fluid (which should have a specific consistence) doesn't seem to be a bad idea at all, that's why I asked about it, I was hoping to see another person that made this possible, to confirm it.

I'll make an analogy towards the sinking idea: is like you're in a box filled with water, in our case, and you're putted in a jet fighter to operate it (with the box and you at the board). Think like you would pilot it at outstanding G's. In a normal situation, you would be crushed by the force which is applied to your body, but in this particular one you will feel no shaking, no tremendous G's, and you'll still be able to handle the airplane even better.
3.There's no device in the world that's measuring the difference in velocity at a given time. It's impossible. Instead, knowing the sensor's parameters, you can find the force by approximation. Then you can calculate the acceleration by multiplying the number got with the gravity's acceleration. At least, this way I was instructed.

Thank you,
RobertEagle

EDIT: My stick is made of wood and the distance between motors is around 60 cm.

At what frequency are you sampling the accelerometer output?

What is the frequency of the mechanical noise?

For now I sampling the data at 200Hz. It depends on me.
The mechanical frequency is around 60Hz if I'm not mistaken (at half of throttle).

In that case you could damp it in software, if you like, by averaging the samples over a short interval, for example the period of the noise or some multiple of it. Given that the natural frequency at which your system responds to your control is presumably much, much lower than 60Hz, you can probably afford to average over a much longer period.