Drone Motor Control – 12/21/2020 – Vibration Issue

It turns out the issue with noise in my readings from the Accelerometer were not related to the downdraft created by the propeller. Before finding this out, I built a small enclosure from a bottle cap and a piece from the foam board I purchased at Michael’s. It was fun to use the Dremel tool and Dremel/drill press stand I recently picked up at Home Depot. I cut off a small square the size of the bottle cap and used the Dremel tool to shape and cut the holes for an air tight fit. Here is a picture of the work

After making the enclosure, I realized the numbers still acted erratically, I tried mounting the GY-91 module under the arm, and under the fulcrum as well {that is as far from the motor and away from the down draft}. The issue remained. I had a feeling this could be caused by the vibrations, so I looked into this on Google. The search confirmed my suspicion.

I was contemplating to fix this mechanically by adding dampeners on the mounting points of the motor. I could see the vibrations were noticably mor pronounced at the end of the armature and considered adding reinforcements to the arm. Thinking of how to handle this in software I thought of using trigonometry on the x and z plane of the 3-axis accelerometers. The logic behind this was the noise would be captured instantaneously on both axis. The math would cancel out the noise.

It turns out none of these ideas are the solution. I found the solution within the device itself. Their is an internal low pass filter that can be enabled by configuring one of the registers. The register we are interested in is 1D. Here is a link to the PDF containing all of the registers that may be set, and where the locations of the readings are.

I think I will start my github repository for this project. That link is right here. From here you will be able to see how I write to registers on the PY-91 and how I read the values in registers. This is all done on the I2C bus.

GITHUB – Drone_Motor_Control

The low pass filter solved the issue, and I am not seeing stable values that I may use for the PID algorithm while the motor is running.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s