Other Parts Discussed in Thread: DRV8305
Tool/software: Code Composer Studio
Hi Folks,
I am having issues in running a motor after the driver (drv8305) is put to sleep and walking it up again, when the input voltage is close to 9v. This problem doesn't exist when the input voltage is 12+ or if we don't put the driver to sleep. Our board closely follows the reference system design, similar to Launchpad XL with TMS320F28027F & DRV8305. We use HAL libraries + InstaSPIN for our development.
To put the device + driver into LPM, I follow these steps (in semi-pseudo code),
// Turn off motor, this causes HAL_disablePwm() to be called in the main loop gMotorVars.Flag_enableSys = false; gMotorVars.Flag_Run_Identify = false; // Put drv8305 to sleep GPIO_setLow(drv8305 EN_GATE_PIN); GPIO_setLow(drv8305 WAKE_PIN); gDrvSpi8305Vars.WriteCmd = true; gDrvSpi8305Vars.Ctrl_Reg_09.SLEEP = true; HAL_writeDrvData(halHandle, &gDrvSpi8305Vars); gDrvSpi8305Vars.Ctrl_Reg_09.SLEEP = false; // Goto halt or sleep LPM, previously configured using PWR_setLowPowerMode() IDLE; // Wake up from halt/sleep, previously configured to be caused by a GPIO button press GPIO_setHigh(drv8305 WAKE); HAL_enableDrv(halHandle); // Turn on the motor
At these point (when using ~9v input) the motor produces relatively high pitched noise and slowly rotates at rpm well below the set value. Additionally, the rs value also drops significantly from ~1.8 (correct) to ~0.4, mesearued by enabling rs calibration.
I would truly appriciate if you guys can shade some light as to what I can do to fix this. Thanks a lot in advanced.
Abir