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.

DRV10983: DRV10983 request for a recommendation of our Motor

Part Number: DRV10983
Other Parts Discussed in Thread: USB2ANY,

Hello, friends.

The interface of our new motor have five pins, that is U  V  W  COM and GND. I would like to make sure whether DRV10983 is suitable for driving it or not. If so, is there any suggestion or recommendation in schematic and register configuration? If not, which model is best?

Thanks and regards.

Our motor is as follows:

  • Hey user5161585,

    Based on the picture, the DRV10983 may be able to interface with this motor. Note that the requirements for interfacing with the DRV10983 come from the motor's voltage range, current range, max RPM, and construction (e.g. 3 Phase BLDC). As long as the motor's specifications are compatible with the DRV10983 operation specifications (i.e. 8-28V, 2A continous current, 3A peak) the DRV10983 should be not have a problem driving this motor.

    Note that the DRV10983 only needs the 3 phases U,V, and W to spin the motor. The COM port (or center tap) is required by some other motor drives and gate drivers but the DRV10983 is not one of them.

    The DRV10983 datasheet contains an application section (near the end of the datasheet) that provides a typical schematic, typical components, and example layout. As for register settings, the DRV10983 tuning guide should help you determine what settings are needed for creating your motor profile. If you haven't already, I suggest using a USB2ANY, DRV109x GUI, and our DRV10983EVM to get you started tuning the motor as soon as possible.  

    Best,

    -Cole

  • Hi, Cole

    Thank you for your help.

    We have gained the DRV10983Q IC, not DRV10983 not DRV10983SQ but DRV10983Q, and make our PCB board to tune this BLDC motor, and the DRV10983Q PCB's voltage of V1P8, V3P3, VREG, VCC is correctly 1.8V, 3.3V, 5V, 24V. The COM pin is unconnected. The SPEED pin is connected to 3.3V to exit sleep mode. All the registers can be correctly read and write through IIC, and its value is stored as default value. But I still can't correctly use DRV10983Q. 

    The BLDC motor always spin for a while and then stop. A few times later, the BLDC motor repeat spin for a while and then stop. This appearance seems like user wenjun sun's question named "DRV10983-Q1: Can't control speed, spin from stop to max then repeat". I have write registers according to the picture below (Basic settings + Advanced settings),and measure the RM and Kt myself. But the BLDC motor still repeat spin for a while and then stop, only its speed became slower.

    I want to use IIC mode to control motor speed with register 0x30. The code is as follows. It is the first time for our company to use TI's motor diver IC. I'm not familier with DRV10983Q and BLDC motor deeply. And I can't fine the error.

    main() 

    {

        char vhi=0, vlo=0;

     

        IIC_GP_Init();//config IIC SDA and SCL pull-up 3.3V

        SPEED_Init(1);//SPEED pin input 3.3V to avoid goto sleep mode

        DIR_Init(0);//DIR pin input 0V and FG is not used

     

        //Config register 0x90~0x96 with default value

        Eeprom_Wr_Bytes_API(0x60,0x80,0x00); //STA A4 60 80 00 STP (MTR_DIS=1)

        Eeprom_Wr_Bytes_API(0x31,0x00,0x00); //STA A4 31 00 00 STP (ENPROGKEY=clear)

        Eeprom_Wr_Bytes_API(0x31,0xC0,0xDE); //STA A4 31 C0 DE STP (ENPROGKEY=CODE)

        Eeprom_Rd_Bytes_API(0x32,&vhi,&vlo); //STA A4 32 STP STA A5 00 01 STP (eeReadyStatus=1)

     

        Eeprom_Wr_Bytes_API(0x90,0x10,0x3B); //STA A4 90 10 3B STP (LSU=1.8ohm/2)

        Eeprom_Wr_Bytes_API(0x91,0x2F,0x3B); //STA A4 91 2F 3B STP (I'm not sure Kt value, so use default)

        Eeprom_Wr_Bytes_API(0x92,0x00,0x50); //STA A4 92 00 50 STP

        Eeprom_Wr_Bytes_API(0x93,0x1B,0x8A); //STA A4 93 1B 8A STP

        Eeprom_Wr_Bytes_API(0x94,0x3F,0xAF); //STA A4 94 3F AF STP

        Eeprom_Wr_Bytes_API(0x95,0xBC,0x43); //STA A4 95 BC 43 STP

        Eeprom_Wr_Bytes_API(0x96,0x01,0x6A); //STA A4 96 01 6A STP

        Eeprom_Wr_Bytes_API(0x35,0x00,0x06); //STA A4 35 00 06 STP (eeWRnEn=1)

     

      while(1)

      {

        Eeprom_Rd_Bytes_API(0x32,&vhi,&vlo); //STA A4 32 STP STA A5 00 01 STP

        if(vlo==1) break;

        else       sleep(10ms);

      }

     

        Eeprom_Wr_Bytes_API(0x35,0x00,0x02); //STA A4 35 00 02 STP (eeWRnEn=0)

     

      while(1)

      {

        Eeprom_Rd_Bytes_API(0x32,&vhi,&vlo); //STA A4 32 STP STA A5 00 01 STP

        if(vlo==1) break;

        else       sleep(10ms);

      }

     

        Eeprom_Rd_Bytes_API(0x90,&vhi,&vlo); //STA A4 90 STP STA A5 10 3B STP (verify correct)

        Eeprom_Rd_Bytes_API(0x91,&vhi,&vlo); //STA A4 91 STP STA A5 2F 3B STP

        Eeprom_Rd_Bytes_API(0x92,&vhi,&vlo); //STA A4 92 STP STA A5 00 50 STP

        Eeprom_Rd_Bytes_API(0x93,&vhi,&vlo); //STA A4 93 STP STA A5 1B 8A STP

        Eeprom_Rd_Bytes_API(0x94,&vhi,&vlo); //STA A4 94 STP STA A5 3F AF STP

        Eeprom_Rd_Bytes_API(0x95,&vhi,&vlo); //STA A4 95 STP STA A5 BC 43 STP

        Eeprom_Rd_Bytes_API(0x96,&vhi,&vlo); //STA A4 96 STP STA A5 01 6A STP

        Eeprom_Wr_Bytes_API(0x60,0x00,0x00); //STA A4 60 00 00 STP (MTR_DIS=0)

           

        //config BLDC motor into sleep mode to stop for a while, and the U V W signals are quiet indeed

        Eeprom_Wr_Bytes_API(0x30,0x80,0x00); //STA A4 30 80 00 STP (OverRide=1 speed=0)

        Eeprom_Rd_Bytes_API(0x30,&vhi,&vlo); //STA A4 30 STP STA A5 80 00 STP (motor stop)

        sleep(5000ms);

        //start BLDC motor with specifical speed, and the U V W output signals, I'm not sure the signal is 180 sine commutation or 120 hall commutation

        Eeprom_Wr_Bytes_API(0x30,0x80,0x90); //STA A4 30 80 90 STP (OverRide=1 speed=90)

        Eeprom_Rd_Bytes_API(0x30,&vhi,&vlo); //STA A4 30 STP STA A5 80 90 STP (config right)

        //now the motor repeatedly spin for a while then stop. And at the same time, the U V W signals repeatedly appear for a while then disappear.

        

        //check error every second, and no error happen while power is on

        while(1)

        {

            Eeprom_Rd_Bytes_API(0x00,&vhi,&vlo); //STA A4 00 STP STA A5 00 00 STP

            sleep(1000ms);

        }

    }

    I'm an engineer for developing laser printer , DRV10983Q is userd for drive LSU of printer. And I have not enough experience about BLDC motor and DRV10983Q EVM. Would you like to support some recommendation or directly all registers value? 

    Thanks and regards

  • Hello user516158,

    I believe you asked this question in a separate thread, as a result, I will close this thread.

    Thank you,

    -Cole