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 and the FAST observer represent a REVOLUTION in motor control

Other Parts Discussed in Thread: DRV8301, MOTORWARE, DRV8312, DRV8302, CONTROLSUITE, CCSTUDIO, INSTASPIN-BLDC, TMDSHVMTRINSPIN

I invite you to learn about our latest InstaSPIN motor solution, InstaSPIN-FOC and our new sensorless observer algorithm we call FAST - for Flux, Angle, Speed, and Torque.  There is quite a bit new and revolutionary about this solution, so besides the main web pages I recommend you take your time to peruse the Technical Reference Manual and the InstaSPIN-FOC User's Guide (both of which will continue to be updated in the coming months),  download and browse MotorWare, and view the Customer InstaSPIN in Action and Getting Started Videos.

When you're ready, order the first InstaSPIN-FOC enabled controlCARD (and download the kit contents) for use with existing supported motor kits, or purchase any of the brand new kits:

InstaSPIN-FOC

Part NumbercontrolCARDDriverPower RangeSoftware
DRV8301-69M-KIT Piccolo F28069M DRV8301 60V, 60A MotorWare
DRV8312-69M-KIT Piccolo F28069M DRV8312 52V, 3.5A MotorWare
TMDHVMTRINSPIN Piccolo F28069M Powerex IPM 350V, 10A MotorWare

All kits are in stock (or will stock up in next 2 days) for immediate shipment from eStore or our distribution partners.

And Piccolo TMS320F2806xF InstaSPIN-FOC enabled devices are in FULL production, shipping in volume.

When you have questions, feel free to post them on this thread or this sub-forum, and throughout the week I will update to the FAQ on the InstaSPIN Wiki.

This is just the beginning of a revolution in motor control!!!

  • Dear All,

    I have TMDSCNCD28069MISO Controlcard, hvmkit_rev1p1 and MotorWare form TI's Web link.

    The JTAG connection is XDS100V2. 

    For my work, I attempting to boot from flash using F28069.cmd file instead of f28069F_ram_lnk.cmd file.

    But, example project dosen't boot from flash. Is it necessary to change the source code of example project?

    Sincerely,

    Eui-heon

  • I think our motor needs 12 V and 80 A, is there any way to control the motor DRV8301-69M- Kit? And if i try this solution, what do i need to control the motor and regulate the rpm? The hole set ( Computer, USB cable, the software,the KIT,power supply ( 0-24 V and 0-100A)?

  • Dennis, "yes" the DRV8301-69M-KIT will provide a solution for your needs with the following caveats.

    The DRV8301 hardware itself can handle over 100A as-is. However, the current is scaled to 82.5A to the ADC 3.3V input. Also, the GUI proejct and all the default MotorWare CCS projects use 40A for the IQ CURRENT scaling (maximum) value. At a minimum you will need to recongize this for the GUI and update for the CCS proejct. But pretty minor.

    Next is the topic of the motor voltage. The kit is scaled at an input of 66.32V and an IQ V of 48V.  To see the true performance of the FAST algorithm on your 12V motor you really need to test under proper conditions, meaning scale the ADC input to say 16V and the IQ V to the maximum you will see from the Bemf of the motor at highest speeds.  Your type of motor is somewhat common to be used in deep field weakening (just recently our FAE demonstrated on a motor similar to this at over -40A of field weaking) at very high speeds, so be sure to set this IQ value to the minimum needed to cover the maximum requirement.  Maximizing your resolution is always important for premium control and efficiency.

    Third is the topic of motor ID.  The Motor ID is reasonably forgiving for most general motors (just set the proper RES/IND current ); as you get lower in inductance insure you have high enough (typically 40 Hz ok) max frequency.  But when it comes to high current motors (typically very low inductance and hence high speed) your margin for error in ID reduces significantly.  This is due to the controller gains during this open to closed loop ID process...it's very "touchy" and we know that in the release version it can be challenging for these motor types and not feel as "insta" as advertised.

    1. We are documenting our experiences with these motors and how to overcome the ID challenges (ideal settings, alternative motor ID techniques that are more stable and get you close enough, manual phsyical calculations). They absolutely can be overome.

    2. this is just a challenge dealing with the motor ID portion! not FAST or InstaSPIN-FOC in any way.

    As an example, at a recent customer, we manually entered the hand measured inductance (just 10uH) and the Motor ID calculated Rs and Flux and had perfect FAST angle tracking even with just 20 KHz PWM and no choke (now unnecessary added inductance)!  We then did a step response tuning of the current controllers to further tune (in this case soften) the default calculated Iq/Id Kp values and within minutes had a perfect FOC system that just needed fine tuning on the speed controller to handle low speed, high speed, and very deep field weakening as tested on the dynometer.

    By the way, I was at Embedded World conference today where we took the DRV8312-69M-KIT, ID'd a small servo motor, attached a weight swinging on a string, and within about 2 minutes of control tuning through the GUI (increasing IqId Kp, reducing IqId Ki, increasing Speed KpKi for stiff 0 speed response) produced a motion profile of: rotate at +/- 1 Hz (15 RPM) for 8 seconds, decelerate and hold zero speed for 2 seconds, repeat.  All sensorless of course. Just really cool to see!

     

     

  • Eui-Heon,

    For the example MotorWare projects, they are built to run from RAM. The F2806x device has so much RAM that this is desireable, especially for evaluation,initial development, and debug. Yes, to run from flash there are some items you need to udpate in regards to the memory map, and there are some necessary precautions / decisions to make in regards to the RAM locations (that are used by InstaSPIN-FOC/FAST ROM). This is described in section 7.2.x and 9.x.x of the User's Guide, but I agree it isn't quite clear enough.  We'll try to clarify that for you as soon as we can.

     

  • Ok thats sounds quit interesting. So if i understand you right, you mean that the DRV8301-69M-KIT needs more than 60 V input? We can offer an power supply with 0-80 V and 0-150 A.

    If we try this solution what do i have to order? The DRV8301-69M-KIT and which software? Special cables? I can´t find a price of the DRV8301-69M-KIT.

    The problem is, i am not a expert, i am just a student and i have to find a solution for the motor control.

    If we have an integrated resolver to measure the rotor, would make this the problem easier?

    And by the way, i apologize my bad english :P

     

    And could the Three Phase BLDC & PMSM Motor Kit with DRV8302 and Piccolo MCU work also?

    PS: I have seen the video and its look like that the current  for the Kit and the motor come from a normal socket. That means we dont need a big power supply?

     

    best regards Dennis

  • Dennis,

    No, 12V is ok to the kit. My comment is that the sensing and internal SW scaling is not optimized for your motor. In testing the performance keep this in mind. You will need to create a customized version of HW for your own product.

    DRV8301-69M-KIT comes with everything you need. Connect your three phase wires and prove DC power to the board (screw down terminals).

    Resolver can sometimes make FOC easier. It certainly isn't required for variable speed control though. 

  • Ok i am a little bit confused, because the descirption of the drv8301-69m-kit said, that the Kit supports 60V and 60A full scale range. I am quite sure that our motor needs more. And the current flow in this little card are over 60 A this is amazing.

  • Dennis,

    your motor only draws 80A at high load. With the development board you can experiment and evaluate enough conditions to see if you would like to create / modify hardware to more ideally fit your applications.

  • Ok, thanks for answer. The only unclear thing is how get the kit the nesessary power to controll the motor?  Our solution is the power suppy from Delta http://www.delta-elektronika.nl/en/products/sm6000-series.html. Should that work?

     

    regards Dennis

  • Yes, assuming you have one with the current capability. These would be much choice.

    SM 60-100

    0 - 60 V

    0 - 100 A

    SM 70-90

    0 - 70 V

    0 - 90 A

    or, if you have smaller current supplies you can typically parallel them together for higher amperage.

     

     

     

  • Ok looking forward to try this. And if i take the kit my work software would be the InstaSPIN-FOC right? Wich motor parameter do i need for the programm, that i get the best motor id?

  • Dennis,

    Yes, you will start with the InstaSPIN-FOC GUI and then move on to InstaSPIN-FOC in MotorWare

    Follow qsg_gui_instaspin_foc.pdf that comes in the kit, or in the download here.

    And there is a getting started and GUI video in the player here.

    If you can tell me anything at all about the motor at this point (Resistance, Inductance, Rated Speed, poles, etc.) I can give you some tips or items to be sure of.

     

  • Ok, the only parameters that we know now are 12V, 80 A max current, 3000 rpm max, 4 Nm torque. I think i can find out the poles, thats it.

  • Hi Chris,

    Its good to learn the latest developments.  I have DRV8301 kit with 28035 control card.  Also I have F28069 experimental kit. 

    Pl suggest if I could use these for quick experimentation.

    thx & rgds

  • you need to order the InstaSPIN-FOC enabled card: TMDSCNCD28069MISO

    and download the USB contents that ship with the full kits:

    http://www.ti.com/tool/motorkitscncd69miso

    then you will download MotorWare

     

  • Dennis,

    I would suggest trying

    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: whatever they are, 4 if unknown

    Motor Max Current: 39A (as mentioned, this project running for the GUI has a max current of 40A in the project, you can increase this once you move to the source code projects)

    Motor Max Freq: 3000 * Poles / 120 + some padding. So for 4 pole pairs = 250 Hz

    Follow the qsg_gui for more information.  You'll want to insure that the motor starts up during Ramp_Up. If not, increase the 8A.

    You'll want to note the stability during the Flux and Inductance testing, you may have to play with the -4A value.

    There is quite a bit of information in the InstaSPIN-FOC User's Guide about the motor identification process.  The important thing to note is that the motor identification is a nice feature, but it's not necessary to use InstaSPIN-FOC fully. It certainly does not work perfectly for every motor, and the high speed or very high cogging torque motors are the most challenging.

    If you know (even within reason), or can measure your values you can (and often should) bypass the motor ID stage and go directly to loading them through user.h

    You can get the Resistance from your first test with the GUI (this always works) and the initial flux in user.h does not have to be that accurate as it converges during run-time anyways.  It is really the inductance that can be tricky with certain motors (and of course some motors have high salience with very different Ls-d vs. Ls-q than the average Ls that we can identify).

    Using user.h your controller gains will still be set for you and you will start from a very high level of completeness for a sensorless FOC solution.

     

     

  • Dennis,

    Let me clarify a bit more about the current.

    The hardware (using three on-board OPAs) and software are currently configured for +/1 41.25A peak to peak.  The board itself can handle more. The current range doubles if you use the two OPAs on the DRV8301 chip, but then you are limited to 2 shunts instead of 3 (which limits your maximum voltage bus utillization / duty cycle. But you certainly can just by changing which ADC channels get sampled (and making sure you set-up the DRV chip correctly).

    So with the kit you can test up to 40A peak as-is, then if you desire you can either move to the using the DRV8301 amplifiers or re-word the scaling on the three external for more current.

     

  • Eui-Heon,

    An update for you. An example for having the project run from Flash is being provided in the next release. If you would like to get these files directly message me with your email.

    Added proj_lab03_flash, F28069F.cmd
    Added memcpy to drv.c for RamFuncs section prior to FLASH_init()
    Added RamFuncs protos to  drv.h
    Added CODE_SECTION pragmas to flash.h

  • Dear Chris,

    Thank you for your reply.

    My e-mail address is tao44@npntech.com

    Sincerely,

    Eui-heon

  • Hello !

    Is the InstaSPINFOC Software is available only for the PICCOLO. Is the software can be used with other DSPs like the Concerto?

     

    Regards Arye

  • Arye,

    For 2013 at least, InstaSPIN-FOC will only be available in ROM on select Piccolo devices.

     

  • Dear Chris,

    where can i get an offer for the hole Kit with everthing. I need an offer for our company.

     

    regards Dennis

  • Dennis,

    There are three kits available, and everything is included or available for free download through MotorWare 

    DRV8312-69M-KIT 50V/3.5A

    DRV8301-69M-KIT 60V/40A

    TMDSHVMTRPFCKIT 350V/10A

  • Ok, i have ordered the DRV8301-69M-KIT 60V/40A, because our high current. One last think is a little bit unclear for me, what are the differents and the contexto between Motorware,GUI, CCStudio IDE and controlSUITE software? In the videos i can see sometimes you work with MCU, sometimes with Instaspin(tm), sometimes with Instaspin FOC.....

     

    thanks for help, beste regards

  • MotorWare is the latest software infrastructure and solution deployment mechanism for our motor control solutions, and specifically Piccolo and InstaSPIN-FOC.  We released some other motor control kits/projects for Stellaris and Hercules ARM controllers in 2012 that were built with our MotorWare infrastructure but supported more standard motor control solutions (InstaSPIN-BLDC, sliding mode observer FOC, encoder FOC).

    But going forward MotorWare is really the way we will build and deliver latest motor control software/projects for C2000 MCUs.

    CCStudio IDE is the TI produced development environment used for all processors (ARM core processors can also use industry ARM tools).

    InstaSPIN is a family of motor control solutions with a common theme: speeding the time to spin, and then control YOUR motor.  There are currently two flavors of InstaSPIN, with more to come.  InstaSPIN-BLDC is delivered as a .lib based project and is offered with several different MCUs (Piccolo, Stellaris, Hercules, and even MSP430). InstaSPIN-FOC is enabled by our FAST software sensor which is only in ROM on select Piccolo devices (currently announced on the 6x series).

    Does that help?

  • Dear, 

    please tell me what are the methods which used for sensorless of ACI with the kit?

    thanks

  • And why is the DRV8301-69M-KIT 60V/40A better than the DRV8302-HC-C2-KIT for me?

  • InstaSPIN-FOC and the FAST algorithm support ACI sensorless as well as synchronous (BLDC, SPM, IPM).

  • Dennis,

    the 69M version includes the InstaSPIN-FOC solution. I think this will be quite useful for you.  It is our latest and greatest.

     

  • Ok but this solution is just for the BLDC Motors right? Is there any possibilty to controll PMSM Motor?

     

    regards Dennis

  • FOC solutions always use sinusoidal / quasi sinusoidal / space vector based PWM techniques which are ideal for sinusoidaly wound synchronous motors. Which is what your PMSM motor is.

  • Dear,

    please till me about if can i implement model referance adaptive system MRAS or full order observer for speed and rotor flux estimation? and till me aout the paper or reference which you used?

    yours;

    ahmed

  • ahmed,

    You can say that our FAST observer is MRAS.  It is based on a motor model, and it is tracking/adapting based on tracking the flux changes.  You can also run our on-line Rs estimation, in which case the observer is adapting with changes to Rs.  And, while it can not track changes in inductance during run-time, you can use a look-up table type of methodology to change the inductances being used in the model while running.

    FAST is the best observer being offered by a semiconductor company. We are not publishing the core details of the algorithm's design as it is proprietary and we don't want others copying.

     

  • Does the F28069F have USB? I am trying to get a 100-LQFP F28069 part that has USB, but all of the F2806xU series processors are unavailable from distributors. Only the smaller "PN" package can be sampled. SPRUHI9 says that there is USB on the F2806xF series, but I'm not sure if I believe this. 

  • Malcolm,

    There will be F2806xUF devices, with USB enabled, in both the PZT and PNT packages. We are working on getting those par numbers set-up in the system and units built.

    You can start development with the non-U devices and just do layout based on the F28069U. The UF and U devices are identical package/pins.

     

  • Dear Chris,

    i cant see any cooling elements on the card, if we flow up to 70 A current i to bear in mind that the card or the electronic semiconductor getting melt.

     

    regards Dennis

  • Dennis,

    The current just flows through the FETs, it never gets to the driver or the MCU. Not really sure what your comment could mean.

    With the DRV8301 the hardware can handle - from a hardware robustness - over 100A. In our version we scale the currents through the shunt resistor design to read +/- 41.25A

     

  • Hello Chris,

    Can the FOC/Fast technique detect shaft RPM when an AC induction motor is coasting (ie: no power applied to it)? How does it handle regen? Does the ROM/code include functions to resume speed command on a coasting motor, without returning the motor to zero RPM first?

    Regards,
    JR

  • Julio,

    Yes, FAST can track while the motor is spinning even if the PWMs are not enabled.  See this post for details

    http://e2e.ti.com/support/microcontrollers/c2000/f/902/t/253662.aspx

    FAST and InstaSPIN-FOC creates an ideal sensorless torque controller.  You still need to handle different system and state conditions for your control system.  In this case - like any control system - you want to set the initialization for your speed and torque controllers to as closely match the first closed-loop output so that you have a nice, smooth transition and not a sudden control command.

  • Dear Chris, if you work with the DRV8301, do you work with the naked card or do you put the card in an extra box, because dust and protection? And if we put the card in an extra box, do we need cooling units?

    The second question is, with have get the DRV8301 kit yesterday, do i need just the software from the usb stick or must i download Motorware und do i need the CD with CODE Composer and why?

    And if you run your high current motors wich kable thickness would you prefer to run the 80A motor?

     

    regards Dennis

  • Dennis,

    I don't understand your question.

    Yes, I work with the DRV8301 + controlCARD every week. No, I don't put anything ina box. No, we don't do any extra cooling for normal operation.   I know of some customers who have used this board - with modified current sensing - to drive over 100A, and I think over 60A continuous.

    If you have the DRV8301-69M-KIT, the first place to start is with the software on the USB stick, specificallly the GUI.  The GUI is just for general evaluation / demo. It doesn't allow you to change some system variables (like PWM, certain scaling variables) that you may need to for your motor (especially if your motor is a low inductance synchronous or high current induction motor).  For that - and to take the next step in actually designing your product in general - is to download MotorWare and start working with the C code projects and the labs that are documented in the UG.  At this stage you will need Code Composer Studio IDE v5.3 (which is included in the kit or you can download from www.ti.com/ccstudio )

    for cables, you need to choose something with the proper current rating. Only you can answer that question.

     

  • Hello again, Chris, and thanks for fielding all of these questions.

    I can't seem to find the schematics for the hardware kits. I'm particularly interested in the hardware schematics for what's included in the HV InstaSPIN-FOC kit: http://www.ti.com/tool/tmdshvmtrinspin. Is TI making these publicly available? Thank you.

  • Julio,

    If you run MotorWare.exe you will see that the HW schematics are linked to through controlSUITE. So if you have it installed on your computer it will open:

    C:\ti\controlSUITE\development_kits\HVMotorCtrl+PfcKit_v2.0

    there are ~Docs and then the HW design files under \\HVMotorCtrl+PFCKit-R1.1

  • All right, we will start the first tests in few days, i´ll give you a feedback:)

     

    regards

  • Hi Chris

    You said that InstaSPIN-FOC and the FAST algorithm support  BLDC ,but in the InstaSPIN-FOC User's Guide I can't find the difference between BLDC and PMSM.

    I wonder if  InstaSPIN-FOC and the FAST algorithm regard BLDC and PMSM the same?

  • Fanqiang,

    You are correct.  It runs trapezoidal bemf motors (BLDC) the same as it runs sinusoidal bemf motors (PMSM) motors.  It will not run motors under 120 degree conduction.  It does have a space vector generator that operates in the overmodulation region all the way to trapezoidal output.

     

     

  • Thanks,

    Now I have another question, a space vector generator that operates in the overmodulation region means field weakening for PMSM. My question is if I want to run the BLDC .can I use the syntax  of  CTRL_setMaxDutyCycle(ctrlHandle,gMotorVars.OverModulation) in the software to make space vector product the trapezoidal wave? or any other work to do?

  • Fanqiang,

    Running the SV modulator in overmodulation is different than Field Weakening.  Field Weakening (FW) is reducing the air gap flux by setting the Id reference more negative and thus reducing bemf to allow the motor to spin faster.  Because during FW, Id current is not zero and Id current provides no torque, the motor will not run as efficiently.  Overmodulation tries to use the most of the DC buss voltage as possible.  During overmodulation and when the voltage waveform starts to saturate (from a sinusoid), other harmonics are created and can cause a little bit more noise.  If the little bit of extra noise is not an issue then overmodulation is a good candidate.  Especially if you care about efficiency and getting the most speed out of your motor with the voltage that you have.

     I recommend downloading the newer version of MotorWare, motoware_1_01_00_10.  We have updated code specific to overmodulation.  CTRL_setMaxDutyCycle() has been changed to CTRL_setMaxVsMag().  And where the output voltage saturation is set has been changed from the input of the SVGEN module to the output of the Id and Iq PI current controllers.  gMotorVars.OverModulation can be set in the watch window (during real time) to adjust how deeply your controller goes into overmodulation.  Overmodulation is in the region where gMotorVars.OverModulation is between [1.0, 4/3].  At a value of 1.0, at the peak of a phase voltage sinusoid, the duty cycle will be 86% (sqrt(3)/2).  At a value of 1.15 (2/sqrt(3)) the peak will be 100%.  When the value is higher than 1.15, the sinusoid will start to saturate at its peak.  At a value of 4/3, the phase voltage output will be a trapezoid.

    I forgot to mention that lab10a is the project where overmodulation is implemented.  What type of motor are you trying to control?

    Regards,

    Eric

     

  • Thanks Eric,

    I want to control a BLDC with InstaSPIN-Motion.

    If I understand correctly. When I connect a BLDC to DRV8312-69M-KIT , a space vector generator that operates in the overmodulation region all the time , right?

  • No, it does not happen automatically. You must review lab 10 for overmodulation.