FOC Implementation for putting multirotor motors in robots

Dependencies:   FastPWM3 mbed

Revision:
5:51c6560bf624
Parent:
4:c023f7b6f462
Child:
6:4ee1cdc43aa8
--- a/CurrentRegulator/CurrentRegulator.cpp	Sat Mar 12 08:04:51 2016 +0000
+++ b/CurrentRegulator/CurrentRegulator.cpp	Sat Mar 12 18:45:22 2016 +0000
@@ -11,12 +11,15 @@
     _Inverter = inverter;
     PWM = new SPWM(inverter, 2.0);
     _PositionSensor = position_sensor;
-    IQ_Ref = 1;
+    IQ_Ref = .5;
     ID_Ref = 0;
     V_Q = 0;
     V_D = 0;
     V_Alpha = 0;
     V_Beta = 0;
+    V_A = 0;
+    V_B = 0;
+    V_C = 0;
     I_Q = 0;
     I_D = 0;
     I_A = 0;
@@ -76,11 +79,15 @@
          
         V_Q = Q_Integral + _Kp*Q_Error;
         V_D = D_Integral + _Kp*D_Error;
+        
+        
     }
         
 void CurrentRegulator::SetVoltage(){
     InvPark(V_D, V_Q, theta_elec, &V_Alpha, &V_Beta);
-    PWM->Update_DTC(V_Alpha, V_Beta);
+    InvClarke(V_Alpha, V_Beta, &V_A, &V_B, &V_C);
+    PWM->Update_DTC(V_A, V_B, V_C);
+    //PWM->Update_DTC(V_Alpha, V_Beta);
     }