• Resolved

DRV10987: DRV10987 shows no output

Part Number: DRV10987

From e2echina:

Motor does not spin. DRV10987 seems no output.

Schematics as attached.

Here is the read/write soft code (e2 read/write correct):

DRV10987_Write_Byte(0x60 , 0x8000); // motor stop

DRV10987_Write_Byte(0x31 , 0x0000); // write 0x31 to 0x0000  

DRV10987_Write_Byte(0x31 , 0xC0DE); // write 0xC0DE to 0x31

Delay_10ms();
Delay_10ms();
Delay_10ms();

Receive_Sum_Value = DRV10987_Read_Byte(0x32); // 

if (Receive_Sum_Value==0x01)
{

DRV10987_Write_Byte(0x90 , 0xC001); // 
DRV10987_Write_Byte(0x91 , 0x0049); // 
DRV10987_Write_Byte(0x92 , 0x00C1); // 
DRV10987_Write_Byte(0x93 , 0x37B8); // 
DRV10987_Write_Byte(0x94 , 0x3BAF); // 
DRV10987_Write_Byte(0x95 , 0x7840); // 
DRV10987_Write_Byte(0x96 , 0x007A); // write shadow register

DRV10987_Write_Byte(0x35 , 0x0006); // sync shadow register to EEPROM 


Delay_1s();

Receive_Sum_Value = DRV10987_Read_Byte(0x32); // wait for EEPROM write ends 

if (Receive_Sum_Value==0x01)
{

DRV10987_Write_Byte(0x35 , 0x0002); // sync EEPROM to shadow register 

Delay_10ms();
Delay_10ms();
Delay_10ms();

Receive_Sum_Value = DRV10987_Read_Byte(0x32); // wait for sync ends 

if (Receive_Sum_Value==0x01)
{

Receive_Sum_Value = DRV10987_Read_Byte(0x90); // read byte
Receive_Sum_Value = DRV10987_Read_Byte(0x91); // read byte
Receive_Sum_Value = DRV10987_Read_Byte(0x92); // read byte
Receive_Sum_Value = DRV10987_Read_Byte(0x93); // read byte
Receive_Sum_Value = DRV10987_Read_Byte(0x94); // read byte
Receive_Sum_Value = DRV10987_Read_Byte(0x95); // read byte
Receive_Sum_Value = DRV10987_Read_Byte(0x96); // read byte

Delay_10ms();
Delay_10ms();
Delay_10ms();


DRV10987_Write_Byte(0x60 , 0x0000); // motor spin 
}

}

}