Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
SVM/SVM.cpp@0:4e1c4df6aabd, 2016-02-05 (annotated)
- Committer:
- benkatz
- Date:
- Fri Feb 05 00:52:53 2016 +0000
- Revision:
- 0:4e1c4df6aabd
- Child:
- 5:51c6560bf624
It works!
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| benkatz | 0:4e1c4df6aabd | 1 | |
| benkatz | 0:4e1c4df6aabd | 2 | #include "mbed.h" |
| benkatz | 0:4e1c4df6aabd | 3 | #include "SVM.h" |
| benkatz | 0:4e1c4df6aabd | 4 | #include "Inverter.h" |
| benkatz | 0:4e1c4df6aabd | 5 | |
| benkatz | 0:4e1c4df6aabd | 6 | SPWM::SPWM(Inverter *inverter, float V_Bus){ |
| benkatz | 0:4e1c4df6aabd | 7 | _inverter = inverter; |
| benkatz | 0:4e1c4df6aabd | 8 | _V_Bus = V_Bus; |
| benkatz | 0:4e1c4df6aabd | 9 | } |
| benkatz | 0:4e1c4df6aabd | 10 | void SPWM::Update_DTC(float V_Alpha, float V_Beta){ |
| benkatz | 0:4e1c4df6aabd | 11 | float DTC_A = V_Alpha/_V_Bus + .5f; |
| benkatz | 0:4e1c4df6aabd | 12 | float DTC_B = 0.5f*(-V_Alpha + 1.73205080757f*V_Beta)/_V_Bus + .5f; |
| benkatz | 0:4e1c4df6aabd | 13 | float DTC_C = 0.5f*(-V_Alpha - 1.73205080757f*V_Beta)/_V_Bus + .5f; |
| benkatz | 0:4e1c4df6aabd | 14 | |
| benkatz | 0:4e1c4df6aabd | 15 | if(DTC_A > .95f) DTC_A = .95f; |
| benkatz | 0:4e1c4df6aabd | 16 | else if(DTC_A < .05f) DTC_A = .05f; |
| benkatz | 0:4e1c4df6aabd | 17 | if(DTC_B > .95f) DTC_B = .95f; |
| benkatz | 0:4e1c4df6aabd | 18 | else if(DTC_B < .05f) DTC_B = .05f; |
| benkatz | 0:4e1c4df6aabd | 19 | if(DTC_C > .95f) DTC_C = .95f; |
| benkatz | 0:4e1c4df6aabd | 20 | else if(DTC_C < .05f) DTC_C = .05f; |
| benkatz | 0:4e1c4df6aabd | 21 | _inverter->SetDTC(DTC_A, DTC_B, DTC_C); |
| benkatz | 0:4e1c4df6aabd | 22 | } |