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.

TMS320F28054F failed to connect motor

Other Parts Discussed in Thread: TIDA-00643, TMS320F28027F, TMS320F28054F, MOTORWARE, DRV8305, DRV8312

Hi everyone,

I designed 2 customer BLDC driver boards. Fisrt board similar to TIDA-00643. Only different more power capability. I'm controlling to 12V DC, up to 70 A. I'm using TMS320F28027F. This board run perfect. 

Second board same with my first board. All PCBs same. Only diiferent, I'm using TMS320F28054F microcontrollers. Second board is not running. Fault occurs all the time.

I'm using hvkit_rev1p1 and drv8301kit_revD in motorware. How to fix this problem?

  • hard to say from your description

    did you map the ADC pins correctly for 54F device?
    are you using ADC channels with gain amplification?

    any more details you can provide?
  • I am developing a BLDC motor drive using TI Piccolo processors and DRV8305 mosfet drivers.

    Firstly i started with the TIDA00643 board for demonstrating of the Instaspin functionality.  After i qualify the control algorithm of IstaSpin type processors i designed customized circuit boards for both TMS320F28027F and TMS320F28054F processors.

    Custom boards i designed for 28027F and 28054F are all identical to eachother. I employed MOSFETS as the swicthing device and DRV8305 as the mosfet drivers. I got very good performance from the 28027F processor. In spite of i used identical PCB and also the same SW including the InstaSpin FOC modules i can not get the TMS320F28054F processor controlling the same BLDC motor.

    I do not understand and can not find any hint about why the 28054F based system did not run.

    I am ensuring that all the hardware of 28054F and 28027F based boards are same.

    Finally i can summarize the control circutry as follows

    Drive IC: DRV 8305

    MOSFET: BUK663R2

    SW: InstaSpin FOC based control algorithm. I all qualify the lab1 to Lab10a of motorware by using 28027F processor.  BLDC motor has been driven perfectly with 28027F and InstaSpin FOC.

    Finally since i need CAN comm interface and i want to use 28054F processor in our final product.

    But at the moment i can not drive BLDC motor by using 28054F processor.

  • I try to different mosfet for more efficient. TMS320F28027F board is running perfect with DRV8305 and BUK663R2 mosfets. But occurs heat problem with this mosfet. I try to reduce board temperature. For this reason i changed mosfet. New mosfets: PSMNR90-30BL. This mosfet has a more reducer Rds than BUK663R2.
    TMS28027F board with DRV8305 can not drive this mosfets. VGS fault occurs all time. Why i cannot drive PSMNR90-30BL mosfets?

  • for the MOSFET question you may want to ask on the Motor Drive forum. I have no idea where to point you.

    For the F2805x problem:
    1. you can't use the SAME SW. You did start with an F2805x project, right? The HAL files will be different between the two boards.
    2. The F2805x has PGAs on some channels. Check the settings of these PGAs vs. your circuit. You may need to have different amplification HW to match the gain on the ADC channel.
  • Dear Chris,
    Thank you for your immediate reply.
    For the first case you mentioned;
    1-> I used drv8312kit_revD project for TMS320F28054F processor in motorware. I only added the drv8305.c source code to the F28054F project. I also changed some pin assignments and ADC adjustments....
    For the second case you mentioned;
    2-> I disabled the all AFE functionality through the code given below which is in the main of the source code:
    ENABLE_PROTECTED_REGISTER_WRITE_MODE;
    halHandle->afeHandle->LOCKAMPCOMP = 0x00;
    halHandle->afeHandle->PGAEN = 0;
    halHandle->afeHandle->COMPEN = 0;
    halHandle->afeHandle->LOCKAMPCOMP = 0x01;

    halHandle->afeHandle->LOCKDAC = 0;
    halHandle->afeHandle->VREFOUTEN = 0;
    halHandle->afeHandle->DACEN = 0;
    halHandle->afeHandle->LOCKDAC = 1;
    DISABLE_PROTECTED_REGISTER_WRITE_MODE;

    Regarding with the problem there are two fault codes of DRV 8305 driver IC generated during the start up of project....
    One error type is VDS_Status and the other one is PVDD_UVFL.
    This seems that MOSFETS get in short circuit during the Rs & offset recalibration part of project...
    But as I said before and actual problem is that we do not have these kind of problems with F28027F processor with the same HW.....

    Thank you very much again and waiting for your reply...
  • I would check the HAL to verify correct PWMs are being used
    and then ADC channels

    on the F2805x, if you use an ADC channel with PGA there is ALWAYS a gain. You can't fully bypass. Make sure you are either using channels w/o PGAs or that your HW is changed for this gain.

    I also have some worries about how well you ported SW rom the DRV8312 board to the DRV8305.
  • I use an ADC channel without PGA. Thanks all answer.