FOC Implementation for putting multirotor motors in robots

Dependencies:   FastPWM3 mbed

Committer:
benkatz
Date:
Mon Oct 31 16:48:16 2016 +0000
Revision:
14:80ce59119d93
Parent:
0:4e1c4df6aabd
Misc. changes.  Finally fixed transforms (turns out B and C current measurements were accidentally swapped)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
benkatz 0:4e1c4df6aabd 1 #ifndef INVERTER_H
benkatz 0:4e1c4df6aabd 2 #define INVERTER_H
benkatz 0:4e1c4df6aabd 3 #include "FastPWM.h"
benkatz 0:4e1c4df6aabd 4 #include "mbed.h"
benkatz 0:4e1c4df6aabd 5
benkatz 0:4e1c4df6aabd 6
benkatz 0:4e1c4df6aabd 7 class Inverter{
benkatz 0:4e1c4df6aabd 8 public:
benkatz 0:4e1c4df6aabd 9 Inverter(PinName PinA, PinName PinB, PinName PinC, PinName PinEnable, float I_Scale, float Period);
benkatz 0:4e1c4df6aabd 10 void SetDTC(float DTC_A, float DTC_B, float DTC_C);
benkatz 0:4e1c4df6aabd 11 void EnableInverter();
benkatz 0:4e1c4df6aabd 12 void DisableInverter();
benkatz 0:4e1c4df6aabd 13 void InitCurrentSense();
benkatz 0:4e1c4df6aabd 14 void SampleCurrent();
benkatz 0:4e1c4df6aabd 15 void GetCurrent(float *A, float *B, float *C);
benkatz 0:4e1c4df6aabd 16 float I_A, I_B, I_C, _I_Scale;
benkatz 0:4e1c4df6aabd 17
benkatz 0:4e1c4df6aabd 18 private:
benkatz 0:4e1c4df6aabd 19 float I_B_Offset, I_C_Offset;
benkatz 0:4e1c4df6aabd 20 void ZeroCurrent(void);
benkatz 0:4e1c4df6aabd 21 FastPWM *PWM_A, *PWM_B, *PWM_C;
benkatz 0:4e1c4df6aabd 22 DigitalOut *Enable, *Dbg;
benkatz 0:4e1c4df6aabd 23 AnalogIn *Current_B, *Current_C;
benkatz 0:4e1c4df6aabd 24 };
benkatz 0:4e1c4df6aabd 25
benkatz 0:4e1c4df6aabd 26 #endif