Bayley Wang
/
foc-ed_in_the_bot_compact
robot
Diff: main.cpp
- Revision:
- 157:a9b2002994d5
- Parent:
- 154:0a22dcf91577
- Child:
- 158:882f9c208378
--- a/main.cpp Thu May 04 21:16:51 2017 +0000 +++ b/main.cpp Sun May 07 16:46:53 2017 +0000 @@ -89,12 +89,12 @@ foc.vd_decouple = -Lq * POLE_PAIRS * read.w * foc.q / BUS_VOLTAGE / 2.0f; foc.vq_decouple = Ld * POLE_PAIRS * read.w * foc.d / BUS_VOLTAGE / 2.0f; - constrain_norm(&foc.vd_decouple, &foc.vq_decouple, 1.0f, 1.0f, 1.0f); + constrain_norm(&foc.vd_decouple, &foc.vq_decouple, 1.0f, 1.0f, 1.0f + OVERMODULATION_FACTOR); foc.vd = KP_D * d_err + control.d_integral;// + foc.vd_decouple; foc.vq = KP_Q * q_err + control.q_integral;// + foc.vq_decouple; - constrain_norm(&foc.vd, &foc.vq, 1.0f, 1.0f, 1.0f); + constrain_norm(&foc.vd, &foc.vq, 1.0f, 1.0f, 1.5f);//1.0f); if (!control_enabled) { foc.vd = 0.0f; @@ -126,9 +126,9 @@ } /*output to timers*/ - set_dtc(io.a, 0.5f + 0.5f * va * MODULATION_MAX); - set_dtc(io.b, 0.5f + 0.5f * vb * MODULATION_MAX); - set_dtc(io.c, 0.5f + 0.5f * vc * MODULATION_MAX); + set_dtc(io.a, 0.5f + 0.5f * va * LINEAR_MODULATION_MAX); + set_dtc(io.b, 0.5f + 0.5f * vb * LINEAR_MODULATION_MAX); + set_dtc(io.c, 0.5f + 0.5f * vc * LINEAR_MODULATION_MAX); } void slow_loop() {