Jared DiCarlo
/
foc-ed_in_the_bot_compact
working version
Fork of foc-ed_in_the_bot_compact by
Transforms/Transforms.cpp@0:bac9c3a3a6ca, 2016-03-09 (annotated)
- Committer:
- bwang
- Date:
- Wed Mar 09 06:44:51 2016 +0000
- Revision:
- 0:bac9c3a3a6ca
open loop, working; motor draws ~400mA at 30V; pre-center aligned PWM
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
bwang | 0:bac9c3a3a6ca | 1 | #include "mbed.h" |
bwang | 0:bac9c3a3a6ca | 2 | #include "Transforms.h" |
bwang | 0:bac9c3a3a6ca | 3 | |
bwang | 0:bac9c3a3a6ca | 4 | void Transforms::Park(float alpha, float beta, float theta, float *d, float *q){ |
bwang | 0:bac9c3a3a6ca | 5 | float cosine = cos(theta); |
bwang | 0:bac9c3a3a6ca | 6 | float sine = sin(theta); |
bwang | 0:bac9c3a3a6ca | 7 | *d = alpha * cosine - beta * sine; |
bwang | 0:bac9c3a3a6ca | 8 | *q = -beta * cosine - alpha * sine; |
bwang | 0:bac9c3a3a6ca | 9 | } |
bwang | 0:bac9c3a3a6ca | 10 | |
bwang | 0:bac9c3a3a6ca | 11 | void Transforms::InvPark(float d, float q, float theta, float *alpha, float *beta){ |
bwang | 0:bac9c3a3a6ca | 12 | float cosine = cos(theta); |
bwang | 0:bac9c3a3a6ca | 13 | float sine = sin(theta); |
bwang | 0:bac9c3a3a6ca | 14 | *alpha = d * cosine - q * sine; |
bwang | 0:bac9c3a3a6ca | 15 | *beta = q * cosine + d * sine; |
bwang | 0:bac9c3a3a6ca | 16 | } |
bwang | 0:bac9c3a3a6ca | 17 | |
bwang | 0:bac9c3a3a6ca | 18 | void Transforms::Clarke(float a, float b, float *alpha, float *beta){ |
bwang | 0:bac9c3a3a6ca | 19 | *alpha = a; |
bwang | 0:bac9c3a3a6ca | 20 | *beta = sqrtf(3.0f) / 3.0f * (a + 2.0f * b); |
bwang | 0:bac9c3a3a6ca | 21 | } |
bwang | 0:bac9c3a3a6ca | 22 | |
bwang | 0:bac9c3a3a6ca | 23 | void Transforms::InvClarke(float alpha, float beta, float *a, float *b, float *c){ |
bwang | 0:bac9c3a3a6ca | 24 | *a = alpha; |
bwang | 0:bac9c3a3a6ca | 25 | *b = 0.5f * (-alpha + sqrtf(3.0f) * beta); |
bwang | 0:bac9c3a3a6ca | 26 | *c = 0.5f * (-alpha - sqrtf(3.0f) * beta); |
bwang | 0:bac9c3a3a6ca | 27 | } |
bwang | 0:bac9c3a3a6ca | 28 |