This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

LAUNCHXL-F28069M: Hall sensor position control

Part Number: LAUNCHXL-F28069M
Other Parts Discussed in Thread: BOOSTXL-DRV8301, CONTROLSUITE, MOTORWARE

Hello,

I'm looking for a way to do position control for a motor using only hall sensors. I currently have the LAUNCHXL-F28069M and the BOOSTXL-DRV8301.

Does anyone has, or know where I can find a project like lab13b but with hall sensors instead of quadrature encoders ?

Thank you

  • No such example yet till now. You need to calculate the rotor angle with hall sensor by yourself, and then use the lab13b with the angle from hall sensor.
  • Thank you for your answer.
    I'm having a bit of trouble doing what Yamming said, is there anyone who already did that and could help me ?
  • There is no position control example project with hall sensor as position feedback in motorWare or controlSUITE, only support encoder position sensor for position control in motorware. So you have to design a function to convert the input of hall sensor to rotor angle by yourself, and then you can use this angle in lab13b.
  • Hi Yanming,

    I'm attempting to calculate the angle using three Hall sensors and feed the calculated angle to the SpinTAC Position Converter. I have a couple of questions that I'm hoping you can answer:
    1 - You mention that we need to convert the present Hall sensor state to rotor angle. Looking at lab13b and what APIs need to be replaced, do you mean to say that we need to calculate the electrical angle?
    2 - The angle should be in ERev units. What's an ERev?
    3 - I've replaced all ENC_getElecAngle references with my HALL_getElecAngle, but it's still not working. My motor has 3 Hall sensors and 4 pole pairs resulting in a Hall state change every 15 mechanical degrees. The total number of electrical degrees in one mechanical rotation is 1440 degrees. In HALL_getElecAngle, I'm referencing the commutation table and keeping track of the number of Hall state changes to calculate the electrical angle. Is this correct?

    Thank you,
    Rob
  • The resolution of 15 degree is mechanical, it is not enough to implement position control with SpinTAC though you convert the hall signal to angle correctly. You'd better to use a motor with encoder to do this.