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.

DRV10975: DRV10975

Part Number: DRV10975

Hello every one,

I am currently working on a BLDC motor control project.
I use chip DRV10975PWPR

My MCU is ESP32

Now I can I2C communicate with DRV10975, write and read into register successfully.

The configuration parameters for EEPROM are also saved successfully, I have increased the supply voltage to 22V to save the parameters to eeprom.

But now I still can not control the motor speed, after sending speed command by I2C, motor only turn 1-2 revolutions then stop, delay about 5-10 seconds then repeat

I think the motor settings are not correct or am I missing some steps ?

This is my schematic 

The flow of my code is below

write 0x40 to EECtrl (0x03) register

write 0x39 to param1 (0X20) register

write 0x1E to param2 (0X21) register

write 0x3A to param3 (0X22) register

write 0x08 to sysop1 (0X23) register (ISD enable)

write 0x50 to sysop2 (0X24) register

write 0xDA to sysop3 (0X25) register

write 0xB8 to sysop4 (0X26) register

write 0x10 to sysop5 (0X27) register

write 0x27 to sysop6 (0X28) register

write 0x37 to sysop7 (0X29) register

write 0x04 to sysop8 (0X2A) register

write 0x0E to sysop9 (0X2B) register

write 0xB6 to DEVCtrl (0x02) register

write 0x50 to EECtrl (0x03) register

speed = 200; (max is 0x1FF = 511)

tmp[0] = (uint8_t)(speed >> 8);
tmp[0] &= 0x01;
tmp[0] |= 0x80;

tmp[1] = (uint8_t)(speed);

write tmp[0]to SPEED_CTRL2 (0x01) register

write tmp[1]to SPEED_CTRL1 (0x00) register

 

This is my datasheet of BLDC 

https://www.nidec-copal-electronics.com/e/catalog/micro-blower/tf029b-1000-f.pdf

Please support me if you detect some thing wrong

Best regards

Hiep Le