Fan jerks when turned ON

I am using LPC804M101JD24 & DRV10983 for BLDC fan control. The issue I am facing is that the fan jerks when turned ON. After initial jerk, it runs fine through various speeds. The motor parameters I have set is listed below. Please help me in finding which of them is not set properly and causes jerking.
Thank you.

// ---------------------------------------- Parameter Config ---------------------------------------- //
// ----------- Setup ----------- EEPROM MotorParameter of DRV10983 ----------- //

struct_drv10983.MotorParam1.bit.Rm = 0x48; // Pg.19 , Rm (Motor Phase Resistance) // 0x48 - 1.23Ohm
struct_drv10983.MotorParam2.bit.Kt = 0x5A; // Pg.20 , Kt (BEMF Constant) // 0x69 - 528mV/Hz

struct_drv10983.SysOpt8.bit.VregSel = 1; // Pg.14 , Buck Regulator Voltage // 1 - 3.3V

struct_drv10983.SysOpt2.bit.BrkDoneThr = 4; // Pg.24 , Braking Mode Setting // 4 - 0.33s

struct_drv10983.SysOpt1.bit.RvsDrThr = 0; // Pg.22 , Reverse Drive Threshold // 0 - 6.3Hz
struct_drv10983.SysOpt1.bit.RvsDrEn = 0; // Pg.22 , Reverse drive enable // 0 - disable

struct_drv10983.SysOpt1.bit.ISDen = 1; // Pg.22 , Initial speed detect (ISD) // 1 - enable
struct_drv10983.SysOpt1.bit.ISDThr = 0; // Pg.23 , ISD stationary judgment threshold // 0 - 6Hz(80ms,no zero cross)

struct_drv10983.SysOpt8.bit.IPDCurrThr = 4; // Pg.25 , IPD current threshold 0.2Ax(n+1) // 4 - 0.8A
struct_drv10983.SysOpt8.bit.IPDClk = 3; // Pg.25 , Inductive sense clock // 3 - 95Hz
struct_drv10983.SysOpt5.bit.IPDRlsMd = 1; // Pg.25 , IPD release mode (Brake.Recirculate.Clk) // 1 - recirculate mode
struct_drv10983.SysOpt1.bit.IPDAdvcAgl = 0; // Pg.26 , Advancing angle after inductive sense // 0 - 30* degree

struct_drv10983.SysOpt4.bit.AlignTime = 7; // Pg.27 , Align time // 7 - 0.04s
struct_drv10983.SysOpt2.bit.OpenLCurr = 3; // Pg.27 , Open loop current setting // 3 - 1.6A
struct_drv10983.SysOpt2.bit.OpLCurrRt = 2; // Pg.27 , Open loop current ramp-up rate setting // 2 - 1.5 Vcc/s
struct_drv10983.SysOpt3.bit.StAccel = 7; // Pg.27 , Open loop start-up accelerate (first order) // 7 - 0.3Hz/s
struct_drv10983.SysOpt3.bit.StAccel2 = 7; // Pg.27 , Open loop start-up accelarate (second order) // 7 - 0.22Hz/s2
struct_drv10983.SysOpt4.bit.Op2ClsThr = 10; // Pg.27 , Open to closed loop threshold// 0-15 = n*0.8Hz, 16-31=(n+1)*12.8Hz // 10 - 8Hz

struct_drv10983.SysOpt7.bit.ClsLpAccel = 7; // Pg.30 , Closed loop accelerate // 7 - 0.045/s
struct_drv10983.SysOpt9.bit.CLoopDis = 0; // Pg.47 , close loop disable // 0 - Transfer to closeloop

struct_drv10983.SysOpt6.bit.HWiLimitThr = 7; // Lock detection current limit threshold((n+1)x0.4A) // 7 - 3.2A
struct_drv10983.SysOpt6.bit.SWiLimitThr = 0; // Acceleration current limit threshold(nx0.2A) // 0 - no acceleration

// Pg.33 , Lock Detect and Fault Handling
struct_drv10983.SysOpt5.bit.LockEn0 = 0; // Pg.34 , Lock detection current limit // 0 - disable // 1 - enable
struct_drv10983.SysOpt5.bit.LockEn1 = 1; // Pg.34 , Abnormal speed // 1 - enable // 1 - enable
struct_drv10983.SysOpt5.bit.LockEn2 = 1; // Pg.35 , Abnormal Kt // 1 - enable // 1 - enable
struct_drv10983.SysOpt5.bit.LockEn3 = 1; // Pg.35 , no motor fault // 1 - enable // 1 - enable
struct_drv10983.SysOpt8.bit.LockEn4 = 1; // Pg.36 , Open loop stuck(no zero cross detected) // 1 - enable// 1 - enable
struct_drv10983.SysOpt7.bit.LockEn5 = 1; // Pg.36 , Stuck in closed loop(no zero cross detected) // 1 - enable// 1 enable

struct_drv10983.SysOpt9.bit.KtLckThr = 3; // Abnormal Kt lock detect threshold // 3 - Kt_high=2Kt, Kt_low=1/2Kt

struct_drv10983.MotorParam1.bit.DoubleFreq = 0; // Pg.44 , Set Driver Output // 0 - 25 kHz
struct_drv10983.SysOpt7.bit.Deadtime = 10; // Pg.37 , dead time btn HS & LS gate drive (n+1)40ns // 10 - 440ns
struct_drv10983.MotorParam3.bit.CtrlAdvMd = 0; // Pg.31 , Motor commutate time // 0 - Fixed time
struct_drv10983.SysOpt3.bit.CtrlCoef = 3; // Pg.31 , Control Coefficient // 3 - 1
struct_drv10983.MotorParam2.bit.AdjMode = 1; // Pg.28 , Closed loop Full cycle adjustment // 1 - half cycle
struct_drv10983.MotorParam3.bit.Tdelay = 0x6B; // Pg.31 , Commutation Control Advance Angle (2.5us*TCtrlAdv) // 6B -
struct_drv10983.SysOpt9.bit.SpdCtrlMd = 1; // Pg.47 , Speed input mode // 1 = PWM input
// Pg.36 , AVS(Anti Voltage Surge)
struct_drv10983.SysOpt5.bit.AVSIndEn = 1; // Pg.46 , No available function // 1
struct_drv10983.SysOpt5.bit.AVSMEn = 0; // Pg.46 , Mechanical AVS Disable
struct_drv10983.SysOpt5.bit.AVSMMd = 0; // Pg.46 , Mechanical AVS mode // 0 - AVS to Vcc

struct_drv10983.SysOpt9.bit.FGcycle = 3; // Pg.47 , FG cycle select // 3 - 1 pulse output per 3 electrical cycle
struct_drv10983.SysOpt9.bit.FGOLsel = 0; // Pg.47 , FG open loop output select // 0 - FG outputs in both open loop and closed loop
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…