BOOSTXL-DRV8323RS: Aim to rotate Rotor in 60 degree steps in Instspin FOC using TMS320F28069M and BOOSTXL-DRV8323RS

Part Number: BOOSTXL-DRV8323RS
Other Parts Discussed in Thread: TMS320F28069M, , MOTORWARE

Tool/software:

Dear TI E2e Community,

I’m currently working on a motor control application using the following setup:

  • MCU: TMS320F28069M
  • Inverter: BOOSTXL-DRV8323RS
  • Motor Control Strategy: Sensorless Field-Oriented Control (FOC) via InstaSPIN-FOC

My objective is to rotate the motor rotor by a precise 60 degrees (electrical or mechanical, depending on implementation) from a standstill, without relying on position sensors.

I’ve reviewed the InstaSPIN-FOC documentation and examples, but I’m facing challenges in achieving controlled partial rotation. Specifically:

  1. Rotor Alignment: How can I reliably align the rotor to a known position before initiating the 60° rotation?
  2. Open-loop vs Closed-loop: Is it feasible to use open-loop voltage vector injection for this purpose, or can sensorless FOC be tuned to achieve such fine control?
  3. Code Implementation: Are there recommended modifications to the MotorWare labs (e.g., lab02c or lab05a) to support partial rotation commands?
  4. Position Estimation: Since the FAST estimator requires rotor motion to converge, how can I ensure accurate position control for such a short movement?

Any guidance, example code snippets, or references to similar implementations would be greatly appreciated.

  • Hello,

    While I am not an expert on software here, I can give my best suggestions regarding the issue you face. 

    From my understanding, this will be quite difficult from a standstill, as sensorless FOC usually has some open loop sequence to first determine the position of the rotor based on back-EMF/current readings. 

    You may be able to use some sort of IPD (initial position detection) algorithm to roughly determine the starting position without spinning, but I believe the accuracy of this method would be affected by the number of pole pairs in your motor.

    I'm not sure you will find any example code related to precise degree movement in any of the MotorWare labs. You should be able to modify the code if you discover a solution, however.

    Thanks,

    Joseph