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.

CCS/INSTASPIN-BLDC: InstaSpin-BLDC cannot run well in HVkit board

Part Number: INSTASPIN-BLDC
Other Parts Discussed in Thread: CONTROLSUITE, MOTORWARE

Tool/software: Code Composer Studio

hi, I met problem when I use HVKIT to run a BLDC motor. 

First , I use BLDCsensorless in controlsuite ,it's fine .  It can run close loop  as comunication_trip  .    

Second , I try use InstaspinBLDC ,  I migrate InstaspinBLDC from f28035 to f28027 ,  then insert f28027 control Card into HVKIT .    step by step , I run level5 .    in this step ,  instaSpin modul can not ouput Comm_Trip. 

befor that , I have edit some parameters of  board . such as voltage to 230v . voltage filter pole 179.  

Does anyone know InstaspinBLDC can run with hvkit ?       (I have mingrate InstaSpin to F28027 successful in BOOXL-DRV8301)

  • 1. Please run the motor with an open loop using level 2, to verify if the ADC configuration is correct.
    2. Please make sure the ADC channels is set correctly in ADC_MACRO_INIT() for F28027 controlCard.
    3. Please use the level3 to calibrate the BEMF sense offset, it seems like the BEMF offset of phase A is not correct.
    4. Please verify the BEMFINT module using level4 before running the motor with close loop.
  • Hi Yanming Luo 

    1.  I think  I am right at level2  ADC configuration:

        iqVaIn =  _IQ15toIQ((AdcResult.ADCRESULT4<<3));
        iqVbIn =  _IQ15toIQ((AdcResult.ADCRESULT5<<3));
        iqVcIn =  _IQ15toIQ((AdcResult.ADCRESULT6<<3));
        InstaSPIN_BLDC1.Vag = iqVaIn - InstaSPIN_BLDC1.VaOffset;        // Adjust for offset of Va_in
        InstaSPIN_BLDC1.Vbg = iqVbIn - InstaSPIN_BLDC1.VbOffset;        // Adjust for offset of Vb_in
        InstaSPIN_BLDC1.Vcg = iqVcIn - InstaSPIN_BLDC1.VcOffset;        // Adjust for offset of Vc_in
    2. I think I am right at ADC_MACRO_INIT() for F28027. because I have use F28027 card in HVKIT when Motorware F28027F ,and reference this setting .
        /******* CHANNEL SELECT *******/               \
                            \
                            \
     AdcRegs.ADCSOC0CTL.bit.CHSEL  = 1; /*9Dummy meas. avoid 1st sample issue Rev0 Picollo  15*/ \
     AdcRegs.ADCSOC0CTL.bit.TRIGSEL  = 6;              \
     AdcRegs.ADCSOC0CTL.bit.ACQPS  = 6;              \
                            \
     AdcRegs.ADCSOC1CTL.bit.CHSEL  = 1;  /* ChSelect: ADC A1-> Current Phase A  15*/   \
     AdcRegs.ADCSOC1CTL.bit.TRIGSEL  = 6; /* Set SOC0 start trigger on EPWM1A, due to round-robin SOC0 converts first then SOC1*/ \
     AdcRegs.ADCSOC1CTL.bit.ACQPS  = 6; /* Set SOC0 S/H Window to 7 ADC Clock Cycles, (6 ACQPS plus 1)*/\
                            \
     AdcRegs.ADCSOC2CTL.bit.CHSEL  = 9; /* ChSelect: ADC B1-> Current Phase B */   \
     AdcRegs.ADCSOC2CTL.bit.TRIGSEL  = 6;              \
     AdcRegs.ADCSOC2CTL.bit.ACQPS  = 6;              \
                            \
     AdcRegs.ADCSOC3CTL.bit.CHSEL  = 3; /* ChSelect: ADC A3-> Current Phase C */    \
     AdcRegs.ADCSOC3CTL.bit.TRIGSEL  = 6;              \
     AdcRegs.ADCSOC3CTL.bit.ACQPS  = 6;              \
                            \
     AdcRegs.ADCSOC4CTL.bit.CHSEL  = 15; /* ChSelect: ADC B7-> V Phase A.*/                 \
     AdcRegs.ADCSOC4CTL.bit.TRIGSEL  = 5;              \
     AdcRegs.ADCSOC4CTL.bit.ACQPS  = 6;               \
                                                                                                 \
     AdcRegs.ADCSOC5CTL.bit.CHSEL    = 14;    /* ChSelect: ADC B6-> V Phase B.*/                  \
        AdcRegs.ADCSOC5CTL.bit.TRIGSEL  = 5;                                                        \
        AdcRegs.ADCSOC5CTL.bit.ACQPS    = 6;                                                        \
                                                                                                    \
        AdcRegs.ADCSOC6CTL.bit.CHSEL    = 12;     /* ChSelect: ADC B4-> V Phase C.*/                 \
        AdcRegs.ADCSOC6CTL.bit.TRIGSEL  = 5;                                                        \
        AdcRegs.ADCSOC6CTL.bit.ACQPS    = 6;                                                        \
                            \
        AdcRegs.ADCSOC7CTL.bit.CHSEL    = 7;     /*ChSelect: ADC A7-> DC Bus Voltage*/              \
        AdcRegs.ADCSOC7CTL.bit.TRIGSEL  = 5;                                                        \
        AdcRegs.ADCSOC7CTL.bit.ACQPS    = 6;                                                        \
                                                                                                    \
        AdcRegs.ADCSOC8CTL.bit.CHSEL    = 4;    /* ChSelect: ADC A4-> Temperature */                \
        AdcRegs.ADCSOC8CTL.bit.TRIGSEL  = 5;    /*enable T0INT Trigger              */               \
        AdcRegs.ADCSOC8CTL.bit.ACQPS    = 6;                                                        \
                                                                                                    \
        AdcRegs.ADCSOC9CTL.bit.CHSEL    = 6;    /* ChSelect: ADC A6-> portionmeter*/                \
        AdcRegs.ADCSOC9CTL.bit.TRIGSEL  = 5;    /*enable T0INT Trigger*/                            \
        AdcRegs.ADCSOC9CTL.bit.ACQPS    = 6;                                                        \
                                                                                                    \
     AdcRegs.INTSEL1N2.bit.INT1E     = 1; /* Enabled ADCINT1 */        \
     AdcRegs.INTSEL1N2.bit.INT1CONT  = 0; /* Disable ADCINT1 Continuous mode */    \
     AdcRegs.INTSEL1N2.bit.INT1SEL = 3; /* Setup EOC4 to trigger ADCINT1 to fire */   \
                            \
     EDIS;       
    You can see above configurations ,   ADCRESULT 4/5/6/7  =>  VA, VB, VC, VBUS. 
    3. Yes, I notice phase A is 0.29 ,     I dault HVKIT  board fail ,  so I test the Vfu, Vfv , Vfw. .they are normal 0.09V. 
    I donot know why BemfA_offset is 0.29V.   then i try edit" cal_filt_gain " .  but it can not become good . 
    4. when ,I run at level 4,   instaspin can not output comm_trip as YES. 
    from above ,  please give me advice which wrong when I configure.
    best regard. 
  • hi Yanming, I am sure you have HVKIT , would you please true it use F28027 card try instaspinBLDC ?
  • Yes, that's fine, F28027 controlCard can support HV-Kit for this project. You might try again. Thanks.
  • all right ,I will chang another motor to try it .thanks