Skip to content

Commit 1a27345

Browse files
committed
Fix for Clarke transform and faster atan2
1 parent 25e7db7 commit 1a27345

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

src/encoders/flux_observer/FluxObserverSensor.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,12 @@ void FluxObserverSensor::update() {
4040
// if only two measured currents
4141
i_alpha = current.a;
4242
i_beta = _1_SQRT3 * current.a + _2_SQRT3 * current.b;
43-
}if(!current.a){
43+
}else if(!current.a){
4444
// if only two measured currents
4545
float a = -current.c - current.b;
4646
i_alpha = a;
4747
i_beta = _1_SQRT3 * a + _2_SQRT3 * current.b;
48-
}if(!current.b){
48+
}else if(!current.b){
4949
// if only two measured currents
5050
float b = -current.a - current.c;
5151
i_alpha = current.a;
@@ -77,7 +77,7 @@ void FluxObserverSensor::update() {
7777
_motor.phase_inductance * (i_beta - i_beta_prev) ,-flux_linkage, flux_linkage);
7878

7979
// Calculate angle
80-
float electrical_angle = _normalizeAngle(atan2(flux_beta,flux_alpha));
80+
float electrical_angle = _normalizeAngle(_atan2(flux_beta,flux_alpha));
8181

8282
// Electrical angle difference
8383
float d_electrical_angle = 0;

0 commit comments

Comments
 (0)