| 1234567891011121314151617181920212223242526272829 |
- #ifndef _Park_Clark_H__
- #define _Park_Clark_H__
- #include "bsp/bsp.h"
- #include "foc/foc_type.h"
- #include "math/fast_math.h"
- /* ·´Park ±ä»» */
- static __INLINE void Rev_Park(dq_t *dq, float angle, alpha_beta_t *alpha_bata) {
- float c,s;
- normal_sincosf(angle, &s, &c);
- alpha_bata->alpha = dq->Vd * c - dq->Vq * s;
- alpha_bata->beta = dq->Vd * s + dq->Vq * c;
- }
- static __INLINE void do_clark(float phaseU, float phaseV, float phaseW, alpha_beta_t *alpha_bata){
- alpha_bata->alpha = (2.0f * phaseU - phaseV - phaseW) / 3.0f;
- alpha_bata->beta = (ONE_BY_SQRT3 * (phaseV - phaseW));
- }
- static __INLINE void do_park(alpha_beta_t *alpha_beta, float angle, dq_t *dq) {
- float c,s;
- normal_sincosf(angle, &s, &c);
- dq->Id = alpha_beta->alpha * c + alpha_beta->beta * s;
- dq->Iq = -alpha_beta->alpha * s + alpha_beta->beta * c;
- }
- #endif /* _Park_Clark_H__ */
|