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.
Dependencies: mbed-dev-f303 FastPWM3
CurrentRegulator/CurrentRegulator.h@12:c473a25f54f7, 2016-05-22 (annotated)
- Committer:
- benkatz
- Date:
- Sun May 22 03:38:19 2016 +0000
- Revision:
- 12:c473a25f54f7
- Parent:
- 11:c83b18d41e54
- Child:
- 14:80ce59119d93
experimental feed-forward decoupling;
Who changed what in which revision?
| User | Revision | Line number | New 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 | 12:c473a25f54f7 | 10 | CurrentRegulator(Inverter *inverter, PositionSensor *position_sensor, PositionSensor *velocity_sensor, float L, 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 | 11:c83b18d41e54 | 14 | virtual float GetQ(); |
| benkatz | 0:4e1c4df6aabd | 15 | private: |
| benkatz | 12:c473a25f54f7 | 16 | 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; |
| benkatz | 9:d7eb815cb057 | 17 | float Q_Integral, D_Integral, Q_Error, D_Error, Int_Max, DTC_Max, Q_Max; |
| benkatz | 0:4e1c4df6aabd | 18 | void SampleCurrent(); |
| benkatz | 0:4e1c4df6aabd | 19 | void SetVoltage(); |
| benkatz | 0:4e1c4df6aabd | 20 | void Update(); |
| benkatz | 4:c023f7b6f462 | 21 | void SendSPI(); |
| benkatz | 0:4e1c4df6aabd | 22 | Inverter* _Inverter; |
| benkatz | 0:4e1c4df6aabd | 23 | PositionSensor* _PositionSensor; |
| benkatz | 12:c473a25f54f7 | 24 | PositionSensor* _VelocitySensor; |
| benkatz | 6:4ee1cdc43aa8 | 25 | SVM* PWM; |
| benkatz | 10:370851e6e132 | 26 | //Serial* pc; |
| benkatz | 8:10ae7bc88d6e | 27 | int count; |
| benkatz | 0:4e1c4df6aabd | 28 | |
| benkatz | 0:4e1c4df6aabd | 29 | |
| benkatz | 0:4e1c4df6aabd | 30 | |
| benkatz | 0:4e1c4df6aabd | 31 | }; |
| benkatz | 0:4e1c4df6aabd | 32 | |
| benkatz | 0:4e1c4df6aabd | 33 | |
| benkatz | 0:4e1c4df6aabd | 34 | #endif |