Latest version of my quadcopter controller with an LPC1768 and MPU9250.

Dependencies:   mbed

Currently running on a custom PCB with 30.5 x 30.5mm mounts. There are also 2 PC apps that go with the software; one to set up the PID controller and one to balance the motors and props. If anyone is interested, send me a message and I'll upload them.

Committer:
Anaesthetix
Date:
Tue Jul 31 20:36:57 2018 +0000
Revision:
8:981f7e2365b6
Parent:
4:fab65ad01ab4
Switched from Madgwick to Mahony as I'm having trouble with slow oscillations caused by the madgwick filter. Fixed an error on the PID algorithm also.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Anaesthetix 4:fab65ad01ab4 1 // Coded by Erik van de Coevering
Anaesthetix 4:fab65ad01ab4 2
Anaesthetix 0:0929d3d566cf 3 #include "MAfilter.h"
Anaesthetix 0:0929d3d566cf 4
Anaesthetix 0:0929d3d566cf 5 float MAfilter::run(float input)
Anaesthetix 0:0929d3d566cf 6 {
Anaesthetix 0:0929d3d566cf 7 for(i=1; i<200; i++)
Anaesthetix 0:0929d3d566cf 8 {
Anaesthetix 0:0929d3d566cf 9 filterbuff[i] = filterbuff[i-1];
Anaesthetix 0:0929d3d566cf 10 }
Anaesthetix 0:0929d3d566cf 11 filterbuff[0] = input;
Anaesthetix 0:0929d3d566cf 12
Anaesthetix 0:0929d3d566cf 13 for(i=0; i<200; i++) out = out + (filterbuff[i]/200);
Anaesthetix 0:0929d3d566cf 14
Anaesthetix 0:0929d3d566cf 15 return out;
Anaesthetix 0:0929d3d566cf 16 }
Anaesthetix 0:0929d3d566cf 17
Anaesthetix 0:0929d3d566cf 18 float MAfilter10::run(float input)
Anaesthetix 0:0929d3d566cf 19 {
Anaesthetix 0:0929d3d566cf 20 for(i=1; i<10; i++)
Anaesthetix 0:0929d3d566cf 21 {
Anaesthetix 0:0929d3d566cf 22 filterbuff[i] = filterbuff[i-1];
Anaesthetix 0:0929d3d566cf 23 }
Anaesthetix 0:0929d3d566cf 24 filterbuff[0] = input;
Anaesthetix 0:0929d3d566cf 25
Anaesthetix 0:0929d3d566cf 26 out = 0;
Anaesthetix 0:0929d3d566cf 27 for(i=0; i<10; i++) out = out + (filterbuff[i]*0.1);
Anaesthetix 0:0929d3d566cf 28
Anaesthetix 0:0929d3d566cf 29 return out;
Anaesthetix 0:0929d3d566cf 30 }
Anaesthetix 0:0929d3d566cf 31