//
Dependencies: MPU6050 brushlessMotor mbed
Fork of gimbalController_brushless_IMU by
Diff: PID/PID.cpp
- Revision:
- 10:12f9371f3e0f
- Parent:
- 9:2779500685cb
--- a/PID/PID.cpp Sun May 15 16:15:44 2016 +0000 +++ b/PID/PID.cpp Mon May 16 09:50:44 2016 +0000 @@ -2,6 +2,7 @@ PIDControll::PIDControll() { //variabelen instellen als we ons PIDControll object aanmaken + //TODO: finetunen, andere Kp Ki Kd waarden Kp = 10; Ki = 0.0001; Kd = 5; @@ -12,6 +13,7 @@ derivative = 0; errorPID = 0; dir = 0; + delay = 0; } void PIDControll::PIDaanpassing(float angle){ @@ -24,14 +26,15 @@ (errorPID > 0)?(dir = 1):(dir = 0); // errorPID is restricted between -400 and 400 + //TODO: andere maximum of minimum errorPID (verhogen? verlagen?) if(errorPID > 400) errorPID = 400; else if(errorPID < -400) errorPID = -400; stop = 0; + //TODO: finetunes: mss hoger of lager delay = 0.1/abs(errorPID); // speed should be proportional to error, therefore time delay //between steps should be inverse proportional to error. - if (abs(errorPID)< Kp/2) stop = 1; // 0.5 deg noise margin - + if (abs(errorPID)< Kp/2) stop = 1; // 0.5 deg noise margin } \ No newline at end of file