Hello all,
This is my first post on the DiyDrones.
We are developing an autonomous quadrotor UAV, using Vectornav IMU and Mikrokopter ESCs with brushless motors.
The main MCU (STM32) runs three PID algorithms at 200Hz for roll, pitch and yaw axes. We found the roll and pitch PID coefficients on a test platform. Although we managed to have an almost stable flight, there are some problems:
1) The ESCs are not working ideally. One or two of motors turn at different speeds although we give the same reference PWM signals to all ESCs. Do you have any suggestions about this problem, such as creating lookup tables for each motor?
Are there better ESCs that suit for this application? We also tested Turnigy Plush model ESCs and had the same problem.
2) The responses with coefficients found on our testbed in roll and pitch axes are a little bit different from real flight. Anyway, with minor modifications on coefficients we can stabilize the roll and pitch axes.
However, our problem is with yaw axis. We tried P and PD control for yaw but the control signals coming from yaw affects the stability of other axes.
In addition, there is some drift in yaw axis. I suppose that it is because of imperfections of ESCs as I mentioned above. Is it necessary to put an integral term for yaw?
Any helps will be appreciated.
Best regards,
Mert Turanli
Replies
you should run mikrokopter ESCs in I2C mode, trust me, they don't work properly in PWM mode
an I term for Yaw is a nice-to-have but not necessary
the control algorythm should compensate the different RPMs (every motor and every ESC is different, you will never get them perfectly the same)