Hi,
I would like to control my motor with very slow speed, I am able to :
1. set speedRef_Hz = 1
2. flagEnableRunAndIdentify set to 1
3. flagRunIdentAndOnLine immediately changed to 1 because restartMotorControl(MOTOR_Handle handle) is called
4. my motor start turn with very slow rev. which is excellent
if I enable POT with updateExtCmdPotFreq(motorHandle_M1) function called :
1. I slowly increase my POT
2. flagEnableRunAndIdentify = 1 because potAdc > objMtr->cmdPot.adcMin
3. speedRef_Hz > 1
4. but even flagEnableRunAndIdentify is set to 1, the flagRunIdentAndOnLine is still remain 0, so estState = EST_STATE_IDLE. motorState = MOTOR_STOP_IDLE
5. if I further increase POT / ADC, flagRunIdentAndOnLine set to 1, and motor start moving
please check my enclosed movie
1. on 0 second, POT increase, flagEnableRunAndIdentify is set to 1, but flagRunIdentAndOnLine still remain on 0
2. estState = EST_STATE_IDLE. motorState = MOTOR_STOP_IDLE
3. speedRef_Hz is e.g. = 19
4. both restartMotorControl() and stopMotorControl() functions are called, resetMotorControl() stop calling
5. on 3 second, flagRunIdentAndOnLine changed to 1, estState = EST_STATE_ONLINE motorState = MOTOR_CL_RUNNING
6. motor now start moving
my question is
1. why flagEnableRunAndIdentify set to 1 but flagRunIdentAndOnLine remain 0 ?
2. what's make if I further increase POT adc, flagRunIdentAndOnline change to 1 ? inside the updateExtCmdPotFreq function, there's nothing with flagRunIdentAndOnline, it's just for flagEnableRunAndIdentify set to 1 or 0
Danny








