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 rotor position estimation with Sliding mode observer

Other Parts Discussed in Thread: CONTROLSUITE, MOTORWARE, TMS320F28015, LAUNCHXL-F28027F, LVBLDCMTR, BOOSTXL-DRV8301, LVSERVOMTR, DRV8301-69M-KIT

In ti application document,they use Sliding mode current observer to estimate rotor position.

Sliding Mode Current Observer equations as follow

 

Z=k*sign()

Then the document says that

"Estimated back emf is obtained by filtering the bang-bang control, z, with a first order lowpass
filter".

Is anyone know why Estimated back emf is obtained by filtering z.

thanks.

  • There is a high frequency switching element to the bang-bang controller that should be filtered.

    This implementation, and most observer implementations, have proponents and detractors. 

     

  • Hi,

    Do you have furhter information about how do selcet the values Kslide and Kslf in SMO Macro?

    Best regards,

    Andreas

  • Hi Chris,

    Do you have any information or application notes on selecting Kslide and Kslf in the SMO module?  Also, do you have a solution for the problem in the PMSM current control system when in the overmodulation range?

    Thank you,

    Bill S.

    P: 954-346-4900 ext. 3152

    E: szatkiewicz.w@kbelectronics.net

  • Bill,

    For SMO/eSMO there is some documentation in the specific project doc inside of controlSUITE especially the hvmtrkit. There is also a bit of information on the gains inside the SMO module docs. It's not easy...takes some expertise, but your company has that. 

    For over modulation we have this as part of our InstaSPIN-FOC solution, see pro_lab10 in MotorWare and you can reuse or learn from the SVGEN module and the special sampling algorithm. 

  • Thanks Chris,

    I will download controlSUITE and MotorWare and let you know if I have any further questions.  

    Regards,

    Bill S.

  • Hi Chris,

    I can not locate the information in controlSUITE that you referred to.  Can you please provide me with a little more details on where to find the documentation on the SMO.  There certainly seems to be tons of literature there, I am just having trouble finding it.

    Thanks,

    Bill S.

  • I'm having the same problem with MotorWare. I don't know if it's because there is to much information, that it's overwhelming and I can't find it or I am just looking in the wrong place. Your assistance would be greatly appreciated. Thanks.

  • Does the FAST estimator require voltage and current feedback from the motor?  Our present implementation uses current feedback, but only uses the known applied voltage, not actual voltage feedback.  Is there any resources available to get me up to speed, perhaps a phone conversation with you?

  • Just a note that I am using CCS v3.2.

  • Bill,

    eSMO Library docs: C:\ti\controlSUITE\libs\app_libs\motor_control\libs\eSMO\v100\~Docs

    SMO and all other source Motor Control Library docs: C:\ti\controlSUITE\libs\app_libs\motor_control\math_blocks\v4.2\~Docs

    System Guides are in a kit + solution ex:

    C:\ti\controlSUITE\development_kits\HVMotorCtrl+PfcKit_v2.1\HVPM_Enhanced_Sensorless_2803x\~Docs

    Motor Control Primer for controlSUITE: http://processors.wiki.ti.com/index.php/TMS320C2000_Motor_Control_Primer

     

     

    In MotorWare, the lab that deals with over modulation is proj_lab10.  Unforatuntely the Project & Lab User's Guide

    C:\ti\motorware\motorware_1_01_00_12\docs\labs

    does not have the write-up for this section complete yet, but the lab is functioning.  You can look through the code

    C:\ti\motorware\motorware_1_01_00_12\sw\solutions\instaspin_foc\src\proj_lab10a.c

    to see the code changes from proj_lab09, the main ones being the use of a different SVGEN:

    SVGENCURRENT_Obj svgencurrent;
    SVGENCURRENT_Handle svgencurrentHandle;
    CTRL_setMaxVsMag_pu(ctrlHandle,gMotorVars.OverModulation);

    you will want to review the svgen_current files:

    C:\ti\motorware\motorware_1_01_00_12\sw\modules\svgen\src\32b\

    "Just a note that I am using CCS v3.2."

    PLEASE update to CCSv5.5 or CCSv6...these are free (to use with any XDS100 emulator, which most of our kits now include) and only a few hundred dollars if you want to use higher speed emulators.

    "Does the FAST estimator require voltage and current feedback from the motor?"

    Yes, to use FAST you must provide filtered phase voltage signals per our documenation.  My intention of pointing you to MotorWare was so you could see how overmodulation was implemented. If you are comfortable with SMO and controlSUITE type code you don't necessarly have to move to InstaSPIN.

     "Our present implementation uses current feedback, but only uses the known applied voltage, not actual voltage feedback.  Is there any resources available to get me up to speed, perhaps a phone conversation with you?"

    There is ample documentation (probably too much for a beginner).  I recommend getting a kit, even if just low voltage and working through the labs, using the main UG as a supplement when you want to understand further details. You will learn quite a bit about the capabilities and implementation.

    Please ask InstaSPIN questions on the InstaSPIN forum:

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

     

  • Chris,

    Thank you for all the information.  Can you recommend and evaluation kit for me?  The most important things for me to evaluate and learn are:

    1.  The best way to tune the SMO module.  Our present implementation uses this math: 8015.smopos.pdf Do you have any input on modifying the SMO to have a linear region as discussed in this paper? 5008.MC PMSM FOC AN1078B.pdf Is our implemenatation the latest SMO from TI? Do you guys have a more advanced, better performance, easier to tune SMO that we can try?  I know the one we are using has been around for some time.

    2.   How to implement over modulation in the TMS320F28015 and sample the current feedback to have reliable and stable operation of the system in the over modulation range. Would an eval kit to run the "C:\ti\motorware\motorware_1_01_00_12\sw\solutions\instaspin_foc\src\proj_lab10a.c" be the best way to observe and learn the special sampling algorithm?

    Thank you for all your help with this. 

    Regards,

    Bill S.

  • The kit depends on your motors, but for eSMO it is only supported on TMDSHVMTRPFCKIT using the included F28035 controlCARD.  The good thing is you could then purchase TMDSCNCD28069MISO and plug-in, experimenting with everything in MotorWare for InstaSPIN-FOC and InstaSPIN-MOTION, including the over-modulation.

    1. The announcement of the eSMO solution is here, you can see what we have added....yes, it is improved in performance. Tuning is the same.

    http://e2e.ti.com/support/microcontrollers/c2000/f/171/t/283105.aspx

    2. Yes, I think experimenting with a kit and reading through the source software is the best way.  If you buy the HVMTR kit you're all set.  If you want something low voltage you can try

    BOOSTXL-DRV8301 + LAUNCHXL-F28027F for $66 total, just provide 6-24V/10A and a low voltage motor. We are about to stock a $49 PMSM/BLDC this summer as LVBLDCMTR but until then all we have is the more expensive LVSERVOMTR

    Or if you want a full low voltage kit with motor we have DRV8312-69M-KIT for 15-50V/3.5A, this includes a motor similar to the LVBLDCMTR plus it has the TMDSCNCD28069MISO controlCARD I mentioned at the top of my post.  So, if you were going to buy that anyways (for $99) you might as well buy this whole kit for the extra $200.  Or for the same price you can get DRV8301-69M-KIT for 60V/40A with same controlCARD, but no motor or power supply included.

     

  • The announcement of the eSMO looks great, lots of improvements in areas we have had issues. However, I was not able to find a detailed technical paper on the eSMO.  Is there one available? The one I found in ControlSUITE was not very detailed.  Is the eSMO source code portable to run on the TMS320F28015? 

    Is the source code for the eSMO and Over Modulation with special sampling algorithm portable to the TMS320F28015?

  • Bill Szatkiewicz said:
    However, I was not able to find a detailed technical paper on the eSMO. 

    this is what we make available for eSMO docs

    C:\ti\controlSUITE\libs\app_libs\motor_control\libs\eSMO\v100\~Docs

    C:\ti\controlSUITE\development_kits\HVMotorCtrl+PfcKit_v2.1\HVPM_Enhanced_Sensorless_2803x\~Docs

    Bill Szatkiewicz said:

    Is the source code for the eSMO and Over Modulation with special sampling algorithm portable to the TMS320F28015?

    The eSMO.lib will work with F28015.

    There is no reason the Over Modulation and sampling technique we use in MotorWare couldn't be ported to run with eSMO and F28015.  Good luck!

     

     

  • Chris,

    Can you spare some time for a phone call with me? Can you please provide a time and number for me to call you?

    Thanks,

    Bill S.

  • Chris,

    I am running CCS v.3.3.49.1

    I want to improve my SMO module source code to the version that has the linear region (not always bang-bang). However, I can not find the source code for this.  Can you help with this?

    Thanks,

    Bill S.

  • Chris,

    I found the source code for the SMO with the linear region.  I have implemented it in our application. However, we still need better performance. It is not clear to me how to run the eSMO on the TMS320F28015 with CCS v3.3.  How is the module initialized? What parameters are needed? What parameters are passed to the function? Can you please help me understand what I need to do to get there?

    Thanks,

    Bill S.

  • Bill,

    I replied to you on your other post