I am building a nano quadcopter in X-Configuration with coreless DC motors, 65mm 2 blade propellers and a 1S Lipo battery (860mAh, 25C). The weight of the assembly is around 70g in total.

I am writing code for the flight controller of the quadcopter from scratch. However, even after multiple attempts, I am just not able to get the quadcopter PID controller to be stable. Currently, I am trying to tune just the controller for the pitch value. But even after trying lots of values and methods like the Zeigler-Nichols method the controller does not become stable. It always ends up unstable and oscillating about the setpoint.

Could any of the following reasons be responsible for this:

  1. Some quick measurements and tests on the motors indicated that each motor could generate a maximum of 25g thrust at max voltage(of the battery) 4.2V. So four motors would generate a max total of 100g. Could it be that the quadcopter is too heavy at 70g for these motor-prop pairs?
  2. I am tuning the output of the PID controller is in terms of voltage in the range of 0 - battery_voltage and this is then converted to PWM values. Could this be leading to problems?

If not these then what else could be leading to an unstable controller? I am stuck on this for a long time now. I would greatly appreciate any help.

  • $\begingroup$ Do you have a chain of PID controllers, or are you just using one single PID controller whose process variable is the pitch and whose control variable is the difference in thrust (or speed or something) between the fore and aft propellers? $\endgroup$ Dec 2, 2019 at 13:24
  • 2
    $\begingroup$ Welcome to Robotics, Soham. Could you please edit your question to include a picture of your reference, raw feedback, and filtered feedback signals? Poor quality feedback, or feedback with a significant delay (lag filter, etc.) can definitely cause control issues. $\endgroup$
    – Chuck
    Dec 2, 2019 at 14:25


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.