File tree Expand file tree Collapse file tree 1 file changed +9
-5
lines changed Expand file tree Collapse file tree 1 file changed +9
-5
lines changed Original file line number Diff line number Diff line change @@ -399,7 +399,11 @@ float wrap_to_1(float x) {
399
399
}
400
400
return x;
401
401
}
402
-
402
+ // / @runger();
403
+ // / @brief
404
+ // / @param Uq
405
+ // / @param Ud
406
+ // / @param angle_el
403
407
void StepperMotor::setPhaseVoltageCORDIC (float Uq, float Ud, float angle_el) {
404
408
// Sinusoidal PWM modulation
405
409
// Inverse Park transformation
@@ -415,20 +419,20 @@ cordic_cosine = CORDIC->RDATA;
415
419
value_f32_sine = (float )cordic_sine/(float )0x80000000 ;
416
420
value_f32_cosine = (float )cordic_cosine/(float )0x80000000 ;
417
421
418
- if (angle < 0 ){
422
+ if (angle_el < 0 ){
419
423
value_f32_sine = wrap_to_1 (value_f32_sine);
420
424
value_f32_sine = value_f32_sine * -1 ;
421
425
}
422
426
423
- if (angle > 0 ){
427
+ if (angle_el > 0 ){
424
428
value_f32_sine = wrap_to_1 (value_f32_sine);
425
429
}
426
430
427
431
value_f32_cosine = wrap_to_1 (value_f32_cosine);
428
432
429
433
// Inverse park transform
430
- Ualpha = value_f32_cosine * Ud - cordic_sine * Uq; // -sin(angle) * Uq;
431
- Ubeta = cordic_sine * Ud + value_f32_cosine * Uq; // cos(angle) * Uq;
434
+ Ualpha = value_f32_cosine * Ud - value_f32_sine * Uq; // -sin(angle) * Uq;
435
+ Ubeta = value_f32_sine * Ud + value_f32_cosine * Uq; // cos(angle) * Uq;
432
436
433
437
// set the voltages in hardware
434
438
driver->setPwm (Ualpha, Ubeta);
You can’t perform that action at this time.
0 commit comments