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.

pmsm

Other Parts Discussed in Thread: DRV8301-69M-KIT, MOTORWARE, INSTASPIN-BLDC, CONTROLSUITE, TMDSCNCD28069ISO, DRV8301, TMDSHVMTRINSPIN

Hello,

I have 10 Kw motors PMSM that run under 72 to 90V they can consume a maximum power of 500 A. I have the controllers from the manufacturer bud I want to mess around a bit to learn the system. The existing controllers use the dsPIC33FJ64MC706A though the PIC don't have this easy to use programming software !

I wonder what would be the best system from TI that can do this task ?

Thanks to all  

  • unfortunately we don't have any hardware that can support 500A!  That is not somethign that TI could ever sell for safety reasons.

    From a control standpoint our software doesn't care. Everything in InstaSPIN is scaled to a per unit value by using the USER_ADC settings (maximum current/voltage that can be measured in your inverter, which you scale to 0-3.3V for our ADC) and USER_IQ settings (the maximum current/voltage variable value).

     

  • I think I will take this kit : TMDS2MTRPFCKIT, to learn to know the system. Ore maybe what would be better ? Can You give some advice ? the  TMDSCNCD28069MISOTMDSHVMTRINSPIN ore the DRV8301-69M-KIT

    I have two motors of 10 kw with controllers to transform a normal petrol car to electric.

    There is only one problem with this existing controllers, the maximum rpm is 3500 and I want 6000. The PIC's are to difficult for me at the moment !

    With this first mentioned kit I can control two motors my motors run also on 60V the minimum was 35 V befor switch of.

    For the heavy stuff / switching I can always use the MOSFETS of the existing controllers ! 

  • the 2MTR is quite old, I do NOT recommend.

    I would use DRV8301-69M-KIT, this includes the TMDSCNCD28069MISO already.

    It will allow you to run about 20 different projects based on InstaSPIN-FOC and InstaSPIN-MOTION from MotorWare.

    You can also do the sensored BLDC, InstaSPIN-BLDC, and SMO FOC through controlSUITE (but be careful, the 69M version of the silicon has the ROM tables in a different location, so the projects won't run right away. You can either change the linker for these addresses in ROM or buy the TMDSCNCD28069ISO if you want to run those projects with no changes).

    Assuming the dspIC (blech) are achieving only 3500 RPM because the duty cycle is saturated, the InstaSPIN-FOC and -MOTION solutions will allow you to easily move into over modulatiion and field weakening for extra speed.

    Several customers have taken the design for the DRV8301 and // the MOSFETS on their own board to up the current significantly. I haven't seen 500A yet, but close.

     

  • Hi Chris,

    I have one extra question : Like You know already my motors run at 72 to 90 V, the kit TMDSHVMTRINSPIN have control cards that can be connected directly to a DC bus of 5 to 350 V. My DC bus for the motor MOSFETs is 72 to 90 V directly from the batteries or any other DC source. 

    Please advice me on more time so that I can order the right cards all together ; DRV8301-69M-KIT, TMDSCNCD28069ISO + ? > What is isolated emulator on HVKIT ?

    Sorry for all these questions but as soon as I have all the wright stuff I can experiment / study a long time !

  • If you use the DRV8301 kit you are limited to 60V bus. You can run your 72V motor at 60V, just won't get quite the voltage/speed.  At least you would have 40A of current.

    With the HVMTR kit you can run 50-350V bus, but you are strictly limited to 10A.

    Considering you are using this as a learning platform I would still use DRV8301 at 50-60V, and even try to get some motors that fit this size to experiment with.

  • Hi Chris,

    Thanks for the advice but when I want to invest money in this type of electronics I always want to have the possibility to use the same stuff for the real practice !

    Study the system on one type of cards and then You have to baye different systems for the real application, thats not economic.

    So I think I wil study it on the HVMTR, the real switching will anyway be done by the MOSFETS of the existing controllers.

    When the HVMTR can drive the MOSFETS for 10 A 350V it can also drive MOSFETS for higher power, or am I wrong ?

    The gate / drive  part of a MOSFET have nothing to do with the power circuit that it switches.

    Maybe I better order both the systems, I anyway have also low power motors to control ?

  • daniel,

    sorry, we just can't offer hardware that can drive this sort of amperage. it's not economical for us to produce and there are regulations about selling into this power space that make it a non-starter.

    Note that the HVMTR kit uses a complete power module, it is not simply gate drivers and mosfets/igbts, so the design could not be re-purposed for your use. We do not have a discrete inverter design from TI that you could build from.  We do have some partner companies who have some boards that are more similar to what you are looking for.  I know D3 Engineering has a "Superverter" with a gate drive and modular inverter hardware.

     

  • I have a similar problem trying to design controllers for 360 volt ( nominal ) Brushless PM motors in the 10-50 kW region. The output stage for this level will be IGBTs . Any advice on what Ti products that might be useful for this.

  • Unfortunately we at TI don't really play in the high voltage power stage components, just the control portion.

    We do have some parts like the ISO5500 gate driver

  • Hi Chris:

        I user the lab05C to ID my motor, and I get INERTIA_A_PER_KRPM = 0.1278844476,  It's unit is krpm/s. Can I use it to convert to J - inertia of the whole mechanical system (kg-m2)? I need to know the J to calculate the PI param.

    For my solution:

    Rs = 0.23976667 (Ohm)

    Ls = 1.1924 (mH)

    Rotor poles = 8 (4 pair)

    Flux = 0.2758149 (V/Hz) -> Back-EMF (v-sec/radians) = 0.043897305

    I select delta = 4, speed bandwidth = 800 (rad/sec)

    using INERTIA ID, I got INERTIA_A_PER_KRPM = 0.1278844476 (krpm/s)

    with the above given param, I got:

    BWc (rad/sec) = 2126

    Ki series = 201

    Kp series = 2.54

    spdKi series = 133

    K = ?

    spkKp series = ?

    Q1: what's the speed bandwidth stand for?

    Q2: can I get the J from ID'ed INERTIA_A_PER_KRPM?

    Q3: how to set the calculated param to FOC's PI param?

    Q4: Is there an excel file to do the calculation with the ID'ed param?

    Thanks!

    Ben

  • Hello,Daniel

    Divide 10000W / 72V =139 Amps, then divide by 3 and get approx phase current 139 A / 3 =46A.

    Where did you get 500A ?

    In power electronics,always try to increase voltage and reduce current,if you want high efficiency.

  • Ben,

    You are kind of mixing different control solutions. It looks like you used the SpinTAC Inertia ID from InstaSPIN-MOTION and you are trying to use the calculated inertia to then choose gain setting for a PI controller?  Why not just continue to use the SpinTAC controller which will give you superior performance and simplified tuning without having to gainstage at various speeds/loads?

    Q1: for InstaSPIN-MOTION, the Bandwidth is essentially how soft or how firm the control response will be

    Q2: I believe you can....I think there was a post on here several months ago that Dave Wilson commented on the calculation....but I still would recommend using the SpinTAC controller

    Q3: Lab 5b shows you how to set update Speed Kp and Ki gains

    Q4: No

     

  • Hi Chris: We will use 28027 finally for the cost issue! so we use the FAST only, If we can ID the inertia with the motion we can cal the better PI gains, Is that right? Would you like give me the link where Dave post the calculation? Thanks! Ben
  • Minjan,

    I've sent to Dave to see if he can comment.

    If it was me I wouldn't bother. You are still going to need to test yourself anyways.

    I would tune at zero speed and then do some step response test (set speed with very high acceleration) and see if overshoot, undershoot, and settling time are acceptable at various key speeds and loads.

     

  • Hello Ben,

    The units used for rotational inertia by InstaSPIN-Motion are not typical, as you have already discovered.  In fact, if you go to any on-line conversion utilities, you will not find Amps/kRPM/sec.  In SI units, rotational inertia (J) is defined as kg-m2.  This can be achieved by dividing motor torque (in N-M) by acceleration (in rad/sec2).  Fortunately, I believe you have enough information to do the conversion.

      First, let’s convert Amps to Torque for your particular motor:

    Next, let’s convert 1 kRPM/sec to rad/sec2.

    Dividing N-M by rad/sec2, we get 322E-6 kg-m2.  Hopefully, this is close to the answer for your particular system.

    I have written a series on my blog site titled “Teaching Your PI Controller to Behave”.  In particular, parts 3 and 4 of this series deal with the speed loop, and how to set your PI coefficients.  You can find them at:

    http://e2e.ti.com/blogs_/b/motordrivecontrol/archive/2013/03/09/teaching-you-pi-controller-to-behave-part-iii.aspx

    http://e2e.ti.com/blogs_/b/motordrivecontrol/archive/2013/03/14/teaching-your-pi-controller-to-behave-part-iv.aspx

    If you can decouple your static load from the motor shaft, InstaSPIN-Motion should produce an accurate measurement of inertia.  However, if you can’t decouple the static load, you might have to go through a multi-step process to determine static load as a function of speed, and subtract it from the total torque plot to isolate the acceleration torque.  I discuss this in part 8 of the series:

    http://e2e.ti.com/blogs_/b/motordrivecontrol/archive/2013/04/14/teaching-your-pi-controller-to-behave-part-viii.aspx

    Don’t forget that the PI coefficients in FAST are scaled using “per-unit” values.  This is covered in part 10 of my series:

    http://e2e.ti.com/blogs_/b/motordrivecontrol/archive/2013/05/15/teaching-your-pi-controller-to-behave-part-x.aspx

    Hope that helps…

    -Dave

     

  • Hi Dave:

         I have read your blog, download your excel file (motor.xlsx), and checked the Ka/Kb/Kp/Ki, and verify what I'd calculated with your motor.xlsx result, it seems be the same. But when moved to the instaspin_labs.pdf (v1.0.0.7), session Lab5b - Tuning the FAST speed loop, Calculated Speed Loop Tuning. I found that the throughout calculation has't using the Speed filter pole (rad/sec)  (USER_SPEED_POLE_rps in user.h?) parameter, It use bandwidth of speed instead. And when convert them to PU format in your part 10, it has not using the USER_ADC_FULL_SCALE_XXXXXXX_X setting in user.h. But lab5b use this as scale param.  I'd like if you can statement the conversion from Ka/Kb/Kp/Ki or scaled to the instaspin_labs.pdf's spdKiPU (gMotorVars.Ki_spd) / spdKpPU (gMotorVars.Kp_spd) / curKiPU (gMotorVars.Ki_Idq) / curKpPU (gMotorVars.Kp_Idq)

    One more question, is the speed loop bandwidth indicate the max speed motor will achieve?


    Ben
    Thanks!

  • Hello Ben,

    The reference material used in Lab 5b is an older version of the material used in my blog series.  You have already discovered that the main difference between the two sets of equations is that the lab material does not include the effects of a filter in the velocity feedback path.  The reason is because in many systems, the velocity filter pole is much higher than the current controller pole, and you can simply ignore its effect on velocity loop stability.  The default value for the velocity filter pole used in FAST is pretty high (around 4500 rad/sec).  But whether it affects your stability analysis will depend on where you set the current loop bandwidth.  If your current loop bandwidth is at least a decade lower than this pole, then you should be able to use the procedure in Lab 5b to obtain satisfactory results.  But if this is not the case, you should use the procedure discussed in my blog series.

    The "bandwidth" referred to in the lab exercise does NOT represent how fast you can run your motor.  It is the bandwidth of the current loop controller, which is related to how fast the system can respond to sudden changes in system torque.  This bandwidth also imposes an upper limit on how fast the system can respond to changes in speed as well.

    I will ask the individual who developed the lab exercise code if he will comment on your questions related to per-unit variable scaling.

    -Dave