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.

InstaSPIN-FOC DRV8301 with my motor

Other Parts Discussed in Thread: CCSTUDIO, DRV8301, MOTORWARE, DRV8301-69M-KIT

Dear Chris,

now we will try the Kit, the DC Connection is PVDD and GND which one in plus and which one minus? I have installed GUI_Composer_instaspin on the PC. What should i do first connect the J1 to Pc? Or should i connect the card on the power supply for example 12V and 80 A on the powersupply? Or should i switch on the power supply later?

I have tried without power suppy just with connection over USB J1 to Pc and i have this problem:

If i start the InstaSpin.exe.......Console Output:

 

Restarting Program Model... Initializing target : C:\ti\guicomposer\webapps\InstaSPIN_FOC_F2806xM\appConfig.ccxml Connecting target: Texas Instruments XDS100v2 USB Emulator_0/C28xx sun.org.mozilla.javascript.internal.WrappedException: Wrapped com.ti.ccstudio.scripting.environment.ScriptingException: Error connecting to the target: emulation failure occurred (<Unknown source>#14) in <Unknown source> at line number 14Restart Completed.

 

What can i try? Maybe connect to the power suppy or should that work without extern power?

 

thanks for help

 

 

  • Dennis,

    "DC Connection is PVDD and GND which one in plus and which one minus?"

    PVDD is +, GND is -

    "What should i do first connect the J1 to Pc? Or should i connect the card on the power supply for example 12V and 80 A on the powersupply? Or should i switch on the power supply later?"

    Per the QSG, go ahead and power PVDD (15-60V) and then plug-in your PC to USB connection.  When you plug in your USB your PC should pop up that it's installing drivers, etc.

    Then launch the GUI .exe like you have.

  • Same error ;/

     

    Restarting Program Model... Initializing target : C:\ti\guicomposer\webapps\InstaSPIN_FOC_F2806xM\appConfig.ccxml Connecting target: Texas Instruments XDS100v2 USB Emulator_0/C28xx sun.org.mozilla.javascript.internal.WrappedException: Wrapped com.ti.ccstudio.scripting.environment.ScriptingException: Error connecting to the target: emulation failure occurred (<Unknown source>#14) in <Unknown source> at line number 14Restart Completed.

     

    do i need another browser? Or maybe the firewall?

     

    thanks for help

  • Dennis,

    this error occurs for two reasons

    1. the F28069M doesn't have power (which it gets through the DRV8301 Power)

    check switches: controlCARD SW1-SW3: UP-UP, D-D, UP-UP

    DRV8301 Rev D EVM: JP2 populated and power LEDs on.

    2. The emulation chip on the controlCARD (FTDI chip programmed as XDS100v2) isn't programmed

    Can check this just plugged into the controlCARD with a USB cable (no other power) using the MPROG.exe program

    http://www.ftdichip.com/Support/Utilities.htm

     

  • Or on #2, follow the QSG for the GUI to go verify in your Windows Device Manager that your USB port has configured as "TI XDS100 Channel A" and "TI XDS100 Channel B"

    And under ports you should have a USB Serial Port (COM###) - this is the UART secondary channel on the FTDI XDS100 chip (we don't use it, but it shows that the FTDI chip is programmed and recognized by your PC)

     

  • Dear Chris,

     

    i have checkt the DRV8301 the green LED is on. And in the windows Device manager we have under USB controller the TIXDS100 Channel A is installed also the TIXDS100 Channel B.

    And under Ports (COM and LPT) we have USB Serial Port (COM5) and USB Serial Port (COM6) and both regnozied the TIXDS100 Channel.

    So i mean the DRV8301 should work.

  • Ok now it works.....the card wasn´t pluged in completely

  • trying to split threads to clean this up, you next posted

    Dennis Willuhn wrote the following post  at May 08 2013 07:30 AM

    The motor is running but....if tried

    RES_CURRENT: 8A

    IND_CURRENT: -4A

    EST_FREQ: 20 Hz first, if the inductance turns out to be <100uH test again at 40 Hz

    Pole Pairs: 3

    Motor Max Current: 39A

    Motor Max Freq: 3000 * 6 poles/ 120 + some padding. So for 6 pole pairs = 150 Hz

     

    and we have a fault status at 2200 rpm

  • Dennis,

    1. please make sure you are using the appProgram.out I posted here http://e2e.ti.com/support/microcontrollers/c2000/f/902/t/262789.aspx

    2. let's go one step at a time and look at motor ID first

    please tell me what you are using to power your board (V, I limit), the settings you are using for Motor ID, anything you know about the motor, and what Parameters the ID is returning.  Does the motor spin all the way through from the RampUp state to RampDown?

    You say above it faulted at 2200 RPM, so it was running?  How was it doing at lower speeds?

     

  • Dennis,

    I was reading through the original thread and saw you mention that you have a 12V motor. The DRV8301 board is pretty flakey below 15V...mine drops power to the MCU card around 13V. I would run the kit at 16V (even though this is higher than your motor is rated) for your initial testing.

     

  • All right it works,

     

    and if i want bypass the motor indentification i have to save the motor parameters. But in the "quick sart guide" is written that i need an update, what do you think, when the future revision is coming? Because i can´t found user.h file or whatever i need.

  • Dennis,

    You can't save your parameters and use them with the GUI yet. We haven't releaed the project (because the code is not well documented) so you can recompile.

    You can save them and use them with the MotorWare based projects.

    You will be updating the user.h file here for the DRV8301 kit:

    C:\ti\motorware\motorware_1_01_00_07\sw\solutions\instaspin_foc\boards\drv8301kit_revD\f28x\f2806xF\src

    and following the Labs in MotorWare and documented in the back of the User's Guide

     

  • Dear Chris,

     

    i have another question about the rpm. In the INSTASPIN we can set the target speed 4000 rmp but just reach estimated speed 3125 rmp with two different motors. But we know that the second motor can handle more.

    Should we set the adjuster on the card, there is one for speed control but i didn´t find a description for this adjuster. Or should we change the motor parameter?

     

    regards Dennis

  • Dennis,

    Try the following first.

    If using the GUI, run in Torque mode. Be sure first to set the Modulation to the full 2.0 on the advanecd tab.

    Set the torque command to 1.0.

    This will make the motor spin as fast as is possible with the given bus voltage and take the speed controller out of the equation.

    If it is not spinning at a max speed that you think it should:

    1. Are you sure you are applying enough Bus voltage?

    2. Are you sure you have the # of poles correct? Recal that the RPM readout is really the speed from FAST in Hz * USER_NUMBER_POLES / 120.

    3. if none of above, and you are positive it can spin faster by using a different control technique / solution, I would then be suspicious if the ID'd parameters were correct, with a focus on Ls.  If it is a low inductance motor I would also be interested in understanding what the current looks like and if there is a possibility that the the motor is highly salient.

    But in general, with an unloaded motor and 100% duty cycle, with enough bus voltage, you should be able to rotate at a Hz until the Bemf from the motor is larger than the Vbus.

    What are the parameters of your motor as ID'd?

     

  • Dear Chris,

     

    now the Kit is working with more than 20 V DC. We have in the INSTASPIN settings Motor max current 39 A, because you said that the card can´t handle more.

    The motor is running but f we give load on the motor, the current rush up and the kit goes on fault status, is there any possibiltiy to handle more current?

     

    regards Dennis

  • Dennis,

    1. what amount of current is your power supply providing?

    2. what sort of current is your motor drawing under load?

    3. What are the motor ID parameters that were found? What PWM frequency are you using?

    The current scaling for the DRV8301-69M-KIT is set to +/- 41.25 A through the external op-amps.  If you need to go higher than this you will need to change the hardware to scale higher and then change these two #defines

    #define USER_IQ_FULL_SCALE_CURRENT_A          (41.25) // 41.25 Example for drv8301_revd typical usage; must be >= (USER_ADC_FULL_SCALE_CURRENT_A) / 2

    #define USER_ADC_FULL_SCALE_CURRENT_A        (82.5)     // 82.5 drv8301_revd current scaling

  • Our supply provide until 100 ampere and 40 volts.

    The motor is using dc under load, we have a three phase bldc motor.

    The parameters:

    Rs: 0,0176888

    Ls_d: 0,0001374402

    Ls_q: 0,0001374402

    Flux: 0,0549898

     

    PWM Freq. 20 khz

    ADC Sampling: 10 khz

    Current Cpntrol: 10 khz

    FAST: 10 khz

     

    Hardware Parameters:

    ADC volt: 66.32

    ADC max current: 82,5

    Voltage Filter: 335.65

     

     

    regards dennis

     

     

     

     

     

     

  • Dennis,

    Can you please post your user.h file you are using with the MotorWare projects?

     

  • I am sorry, but i actually don´t know where i can find my user.h file, i don´t have work with motor ware before. I just work with InstaSpin_FOC.exe. I have installed Motorware, but i don´t know where the file is and how to open the file.

     

    regards Dennis

  • We measuring the motor and we have figured out that we need more current from the card. The motor stopps at 1,6nm torque, because the card supply to less current. More current more torque. We have a power analyser and the current at 1,6 nm was 27 ampere, to less.

     

    Now i would like to know what can i do to change the software or the code to handle the highest current what the card can supply. Unfortunately i have no idea how can i find the user.h or how to change some data.

    thanks for your help Mr. Clearman

  • Dennis,

    your Rs, Ls, and Flux all look somewhat reasonable for this 6 pole machine.

    I will note that your Rs/Ls is only 128 Hz. This is the maximum speed your motor should run with full voltage.

    128 Hz with 6 poles = 2500 RPM @ rated voltage (full duty cycle 2.0 modulation)

    I still can't tell if this is a 12V motor that you are running at 20V.  If so, you should expect that you will get higher than 2500 RPM with 20V (but you may damage your motor, be careful)

    If you are only using the GUI,

    1. Make sure you are using the latest version from here. And make sure you set the the Max Current to 40A in the GUI

    2. I gave you two suggestions

    a) make sure the modulation is set to 2.0. Reduce your Speed Kp by a factor of /4.  You can also double your IqId Kp since this is a higher current motor.

    b) same as a) but run in torque mode, this remove any negative effect of the speed controller during iniital debug. be careful, and provide a load if possible.

     

    To move on beyond the GUI you need to use MotorWare and follow the labs in the back of the UG as I have mentioned.  It certainly helps to have some embedded coding experience.

    High current power electronics and sensorless FOC torque and speed controls are very challenging problems.  InstaSPIN automates a great deal of the solution, but you still need to have a knowlege of the fundamentals and an ability to finalize an embedded software design. If you need some assitance in these areas I can recommend some companies that specialize in design and consultation.

     

  • OK, thank you for your help. I´ll try your solutions, if that doesn´t work, is there any other possibility to change someting else in the user.h file or in the code?

  • I have changed the parameter you said, but it doesn´t work, the motor can´t handle more than 1,6Nm torque. What would happen if i set the Motor Max Current over 40A in the settings maybe 80A?

    We don´t have problems with the RPM, just with current and torque. So last thing what i can do is to understand MotorWare, but i cant find the codes in MotorWare.

    That should be not more than 3 steps to change the codes for more current isn´t it?

    Could you explain me short, where can i find my USER_MOTOR Settings or my user.h file, i have tried it the hole day.

  • Dennis,

    Your user.h file is located here

    C:\ti\motorware\motorware_1_01_00_07\sw\solutions\instaspin_foc\boards\drv8301kit_revD\f28x\f2806xF\src\

    You need to follow the labs in the UG to understand the features, API, settings, etc.  This software solution is very flexible and very powerful....but it is large and can seem overwhelming, especially if you do not have a background in embedded software.

    The hardware you have can only measure 40A, do not increase above this. If you need more current, you will need to design your own hardware. Period.

    Torque production is a factor or

    1. Power (voltage & current) available from supply
    2. Inverter capability to supply the power
    3. Motor design: poles, flux, current capability
    4. Alignment of your stator field to the rotor field = Feedback from FAST = proper motor parameter ID
    5. Speed controller tuning if being used
    6. Current controller tuning
    7. Switching control (fast enough to control short circuit current and torque ripple)
    8. Any software limits

    InstaSPIN-FOC as you have set it up with the GUI should be taking care of 4, 6-8 adaquetly to allow your motor to produce efficient torque based on 39-40A limit.

    We have many customers using this solution - with their own hardware - with 100s of amps of current  &100s of lb-in of torque.

     

  • Dear Chris,

    we are trying to find a solution to controll our motor with more current. Is there any possibility to upgrade the card that we can handle more current. What do we need? Bigger MOSFETS?

     

    regards Dennis

  • Dennis,

    the controlCARD doesn't care about the current. Yes, it is possible to replace the MOSFETs on the DRV8301 board. I know some customers have used up to 100A.  If you do this you need to make sure you change the current sense circuitry to scale this appropriately, and then match that in the user.h software.

    you may just want to design your own board at this point with the MCU soldered down.  The EVM kit is meant for evaluation and initial development, to make a product you should create your own hardware.

  • Is there any possibility to connect the DRV8301 with an Resolver sensor or Hall sensor from the motor?

    Now we have a resolver with six wires.

    regards  Dennis

  • Dennis,

    Yes, probably so. All of the controlCARD pins are brought out to the main header, so you could find the spare pins required. I'm not sure if your resolver is already being decoded through an integrate chip (outputting over SPI) or if you have the raw data. With 6 wires it sounds like the raw data. You will need to decode this information. There are chipsets that do this (we also can do this with our MCU, but it is very difficult to integrate this decode with a motor control system as well so I would advice just using a decode chipset at least to start).  Hall and Encoders both have headers on the board already.

    This isn't plug N play. There is SW work to be done to get the signals onto the chip and then integrate them into a project.

     

  • Dear Chris you said,

     

    "We have many customers using this solution - with their own hardware - with 100s of amps of current  &100s of lb-in of torque."

     

    Do you have some customers in Germany , i would like to know what can we do ,to work with more current and bigger motors.

     

    regards

  • Dennis,

    I'm not allowed to say specifically who is designing with our solution.  Are you looking to buy an off the shelf solution?  Looking for a consultant to help you with your own design?

  • Ok, i think for our problem to control and measuring BLDC motors, is the TI card unfortunately not a solution.To reach good results, we have to use a sensored controller for bigger currents.

     

    regards

  • Dennis,

    Lab03A is a good reference for using InstaSPIN without using motor identification (using your own parameters). Here's the description of this lab:

    Lab 3a – Using your own Motor Parameters
    By default, InstaSPIN starts by identifying the motor that is attached to the inverter. When identifying the motor, the parameters Rs, Ls, and air gap flux are estimated. This lab will take the motor parameter estimates from the previous lab and place them into the file user.h. User.h is used to hold scaling factors, motor parameters, and inverter parameters for customizing InstaSPIN to any motor control system.

    Jeff