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.

Using InstaSpin for custom BLDC motor control hardware.

Other Parts Discussed in Thread: DRV8301, DRV8312

I am using the f28069 ControlCard. I designed subsequent hardware for motor control .I am interfacing current sensing and back emf circuits to the ADC on the ControlCard. 

I could implement the projlab01 which was blinking the LED2 on the ControlCard. Since I have designed custom hardware I suppose I need to make changes in the peripheral settings.

For the next Lab i.e. projlab02a can these changes be made through the user.h so as to run the projlab02a for identifying our motor ? What would be the steps ?

I read the Instaspin project labs user manual and also studied the DRV header files and drivers. I found few useful functions like DRV_setupPwms, but I am not sure where and how to use them.

  • 1. ensure you are taking the correct current and voltage measurements in HW as discussed in SPRUHJ1 chapter 5. Make sure you update the ADC_VOLTAGE, _CURRENT, and FILTER_POLE in user.h based on your hardware.

    2. make sure you map all of your signals correctly, especially if you didn't copy the pin mappipng of the inverters we sell as kits (DRV8312, DRV8301, HVMTR).  :You will be updating drv.c for your specific MCU+Inverter combination.  Pay special attention to the DRV_setup functions for Adsc, Pwms, Gpios as well as the inition setup of the ADCINT trigger sources if you make drastic changes.

     

  • Hi Chris, 

    Thanx for your reply. I am using the Piccolo F28069 controlcard with isolated emulation. The pin mapping for my board is a bit different than DRV8301-69-kit.

    It is as follows :

    The back emf sensing and PWM pins are exactly same as the DRV8301-69-kit.

    I am using only 3 pins current sensing(one for each phase, unlike the 2 pins used in the DRV8301-69-kit for each phase ). I am not taking the I-total f/b

    However i am not using the DRV8301 as the mosfet driver. I ran the projectlab02 without making any changes in the user.h with the following result-  

    As I am not using DRV8301 the SPI error is evident. Also the motor did not run even after calibration. There was no change  even after changing the value of gMotorVars.SpeedRef_krpm.

    As per my understanding i need to change the 

    USER_IQ_FULL_SCALE_FREQ_Hz

    USER_IQ_FULL_SCALE_VOLTAGE_V

    USER_ADC_FULL_SCALE_VOLTAGE_V

    USER_IQ_FULL_SCALE_CURRENT_A

    USER_ADC_FULL_SCALE_CURRENT_A

    I don't know what changes in drv.c should be made. What other changes should i make ?

  • you have to update the drv files if you have changed the signal to pin mapping.

    but you are getting reasonable Rs and Flux values, so I kind of think you have yoru ADC channels mapped in on.

    Can you expand the Bias structures to show their value?

    Is your Rs and Flux reasonable for your motor?

    The Ls is very low. If this is really a low Ls motor (typically high speed and higher current) you need to run proj_lab2c and take special note of the IQ_VOLTAGE scaling and USER_MOTOR settings to ID your flux and Ls correctly.