FOC Implementation for putting multirotor motors in robots

Dependencies:   FastPWM3 mbed

Revision:
12:c473a25f54f7
Parent:
11:c83b18d41e54
Child:
14:80ce59119d93
--- a/CurrentRegulator/CurrentRegulator.h	Sun May 22 00:14:59 2016 +0000
+++ b/CurrentRegulator/CurrentRegulator.h	Sun May 22 03:38:19 2016 +0000
@@ -7,13 +7,13 @@
 
 class CurrentRegulator{
     public:
-        CurrentRegulator(Inverter *inverter, PositionSensor *position_sensor, float Kp, float Ki);
+        CurrentRegulator(Inverter *inverter, PositionSensor *position_sensor, PositionSensor *velocity_sensor, float L, float Kp, float Ki);
         void UpdateRef(float D, float Q);
         void Commutate();
         void Reset();
         virtual float GetQ();
     private:
-        float IQ_Ref, ID_Ref, V_Q, V_D, V_Alpha, V_Beta, V_A, V_B, V_C, I_Q, I_D, I_A, I_B, I_C, I_Alpha, I_Beta, theta_elec, _Kp, _Ki;
+        float IQ_Ref, ID_Ref, V_Q, V_D, V_Alpha, V_Beta, V_A, V_B, V_C, I_Q, I_D, I_A, I_B, I_C, I_Alpha, I_Beta, theta_elec, _Kp, _Ki, _L;
         float Q_Integral, D_Integral, Q_Error, D_Error, Int_Max, DTC_Max, Q_Max;
         void SampleCurrent();
         void SetVoltage();
@@ -21,6 +21,7 @@
         void SendSPI();
         Inverter* _Inverter;
         PositionSensor* _PositionSensor;
+        PositionSensor* _VelocitySensor;
         SVM* PWM;
         //Serial* pc;
         int count;