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:
- 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?
- 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.