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.

Lab11e MotorWare V16 how to make up the motor rotation

Other Parts Discussed in Thread: MOTORWARE, LVSERVOMTR

Lab11e MotorWare V16 how to make up the motor rotation,I connected to the electric motor, the sensor is connected to the board on the J10, run the program, the motor does not rotate,How to make the motor rotate?

Thank you

  • jacky,
    sorry for the delay.

    to be honest I never ran this lab before release. the author told us it was complete and tested and has since left TI.

    Upon further investigation it is not complete and has some issues.

    1. By default the entire Speed loop controller was commented out (starting at line 747), I suppose because of the initial EBIKE define (line 66) which runs in Torque mode only.

    The fix is to put an #ifndef around this logic, so it uses the speed controller when EBIKE is undefined. With EBIKE it uses the potentiometer on the board.
    #ifndef _EBIKE_
    if(pidCntSpeed >= USER_NUM_CTRL_TICKS_PER_SPEED_TICK)
    {
    // Reset the Speed PID execution counter.
    pidCntSpeed = 0;

    // The next instruction executes the PI speed controller and places
    // its output in Idq_ref_pu.value[1], which is the input reference
    // value for the q-axis current controller.
    PID_run_spd(pidHandle[0],gMotorVars.SpeedRef_pu,speed_pu,
    &(gIdq_ref_pu.value[1]));
    }
    else
    {
    // increment counter
    pidCntSpeed++;
    }
    #endif

    This will at least allow you to set a speed reference.

    2. you may have to switch any 2 phase wires to get the correct direction orientation with the hall sensors

    3. For more reliable start-up make this value as low as possible for your application
    _iq gBldcToFastSpd_low = _IQ(0.025);


    4. toggling hallbldc.angleselect helps to kick the motor off

    Using this method I can get the LVSERVOMTR to start-up pretty reliably and transition to FAST.

    It transitions from +/- speeds very well, but I think it is because there is no trajectory on the speed controller so it immediately sets a new value (max acceleration essentially) and FAST never really estimates a low enough speed for the Hall sensors to take back over.

    But it doesn’t switch back to Hall properly if the speed drops too low.
    And it never runs if you set a SpeedRef <=~ gBldcToFastSpd_low (i.e. it won’t just run in Hall Mode).


    I would say this lab should not be used at this point. We are prioritizing getting this done properly for MotorWare v17

    I apologize for the lack of quality on this lab. It is unacceptable.
  • Hi Chris

    I remapping the Hall rule in the HALLBLDC_run() function.
    My motor running better now.
    But I got a question about this "hallbldc.angleselect ".
    What is this parameter doing?

    Regards,
    Hank
  • it lets you choose between two sets of HALL angles / patterns, offset by +60 degrees
  • Hi Chris

    Thanks for the help!!!

    Regards,
    Hank