FOC Implementation for putting multirotor motors in robots

Dependencies:   FastPWM3 mbed

Committer:
benkatz
Date:
Thu May 12 05:02:52 2016 +0000
Revision:
10:370851e6e132
Parent:
9:d7eb815cb057
Child:
11:c83b18d41e54
Now featuring hobbyking startup tone!

Who changed what in which revision?

UserRevisionLine numberNew contents of line
benkatz 9:d7eb815cb057 1 #ifndef CURRENTREGULATOR_H
benkatz 0:4e1c4df6aabd 2 #define CURRENTREGULATOR_H
benkatz 9:d7eb815cb057 3
benkatz 0:4e1c4df6aabd 4 #include "Inverter.h"
benkatz 0:4e1c4df6aabd 5 #include "SVM.h"
benkatz 0:4e1c4df6aabd 6 #include "PositionSensor.h"
benkatz 0:4e1c4df6aabd 7
benkatz 0:4e1c4df6aabd 8 class CurrentRegulator{
benkatz 0:4e1c4df6aabd 9 public:
benkatz 0:4e1c4df6aabd 10 CurrentRegulator(Inverter *inverter, PositionSensor *position_sensor, float Kp, float Ki);
benkatz 0:4e1c4df6aabd 11 void UpdateRef(float D, float Q);
benkatz 0:4e1c4df6aabd 12 void Commutate();
benkatz 9:d7eb815cb057 13 void Reset();
benkatz 0:4e1c4df6aabd 14 private:
benkatz 5:51c6560bf624 15 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;
benkatz 9:d7eb815cb057 16 float Q_Integral, D_Integral, Q_Error, D_Error, Int_Max, DTC_Max, Q_Max;
benkatz 0:4e1c4df6aabd 17 void SampleCurrent();
benkatz 0:4e1c4df6aabd 18 void SetVoltage();
benkatz 0:4e1c4df6aabd 19 void Update();
benkatz 4:c023f7b6f462 20 void SendSPI();
benkatz 0:4e1c4df6aabd 21 Inverter* _Inverter;
benkatz 0:4e1c4df6aabd 22 PositionSensor* _PositionSensor;
benkatz 6:4ee1cdc43aa8 23 SVM* PWM;
benkatz 10:370851e6e132 24 //Serial* pc;
benkatz 8:10ae7bc88d6e 25 int count;
benkatz 0:4e1c4df6aabd 26
benkatz 0:4e1c4df6aabd 27
benkatz 0:4e1c4df6aabd 28
benkatz 0:4e1c4df6aabd 29 };
benkatz 0:4e1c4df6aabd 30
benkatz 0:4e1c4df6aabd 31
benkatz 0:4e1c4df6aabd 32 #endif