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.

TMS320F28027F: INSTA SPIN FOC & FAST ESIMATOR

Part Number: TMS320F28027F
Other Parts Discussed in Thread: DRV8353, MOTORWARE, DRV8353RS-EVM, CONTROLSUITE

Dear TI Team, 

Hi we are GreenerG Mobility Solution Pvt Ltd.

As we are the EV based Component manufacture, now we have planed to develop the Motor Controller unit. 

Already we successfully spin the motor using DRV8353RS EVM, with the support of DRV8353 GUI (followed by user guide). 

We now know the initial parameters of Motor (i.e Motor type, Rs, Ls,etc), without GUI we need to fixed the motor data or update the motor data by UART

Initial stage of the motor identification was done by GUI color indication (Red- Not detected & Green - detected & Yellow - Detecting), at this stage the motor was identified by jerk.

While fixing in Vehicle how do the motor position gets detected (based on FAST ESIMATOR) without any jerk. If we want to detect the initial position of the motor without any jerk what would be the possibilities (expect using HALL sensor).

Now we are in development stage(to implement the data transmission to Motor controller without using GUI) , so kindly do the needful solution as soon as possible.

Regards,

Ramyaa R

  • Yes, you can update the motor parameters by UART or other communication modes., but you have to stop the motor to update the parameters. The instaspin/FAST doesn't include the initial position detection, you have to implement a position sensor to do this if you want to start/run the motor at a low speed with a heavy load.

  • Dear Yanming Luo,

    Thanks for your reply

    Due to the TI website service issue i am not able to reply for your message.

    You mentioned that "the instaspin/FAST doesn't include the initial position detection", but we tried to spin the motor without Hall sensor (no other mechanical sensor is used to detect the position) and it was successful, the motor getting spin.

    We are using PM motor and also have Hall provisioning, but without hall sensor the motor getting spin (software flashed on ISO-F28027F is INSTA SPIN FOC, its Zip file downloaded from TI website) and your reply statement is not matched.

    As per the user manual SCI is used to get the user parameter, while analyzing the code there is no SCI init function is called but its peripheral clock is enabled. We need the SCI baud rate so we tried to get the SCI init or config function calling in Insta spin FOC, but it is not available.  

    Kindly Clarify the above mentioned points. waiting for your valuable reply ASAP.

  • Yes, you can still start and run the motor with instaspin-foc without initial position detection. The instaspin-foc implement the force angle method for a startup and switch to close-loop using the angle from the FAST estimator.

     You might take a look at the instaspin lab guide to know how to run the lab without using GUI, and then you can set the running command via a communication interface like SCI you mentioned above. You should add the SCI interface function in the example lab project.

    Download motorware. You can find the related documentation about how to add SCI/UART functionality to a Motorware project

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

    C:\ti\motorware\motorware_1_01_00_18\docs\tutorials

    [FAQ] DRV8353RS-EVM with InstaSPIN and MotorWare support

    https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/921751

  • Dear Yanming Luo,

    Thanks for your reply.

    While analyzing Insta Spin FOC, and tried to change the motor parameter in user.h; there all values are suggested to convert PU (All frequencies are converted into (pu) based on the ratio to this value).

    We don't know how to get the PU conversion and PU concept is new to us.

    Kindly share the formula to convert the normal parameter to PU.

    Another clarification, if we use the same Insta spin FOC (with some modification like without using GUI settings, default motor parameter pushed directly into the code) to spin the motor in vehicle without any jerk and without motor identification (want to skip GUI Motor detection option), is it possible. 

    Thanks & Regards,

    Ramyaa R

  • As mentioned above, you might use the CCS to develop and debug a new project. The GUI is just for a demo with the EVM kit. The interface variables are not the PU format in the example lab, you can set the target speed and acceleration with SI unit. You might take a look at the instaspin lab guide in the folder of the motorWare as below.

    C:\ti\motorware\motorware_1_01_00_18\docs\labs

    You can find more details about the instaspin-foc in the user's guide at the link below.

    InstaSPIN-FOC and InstaSPIN-MOTION User's Guide (Rev. H)

    http://www.ti.com/lit/ug/spruhj1h/spruhj1h.pdf

    Yes, you can set the known motor parameters in user.h without identification. The instaspin-foc is still a sensorless-foc solution, it's difficult to run a motor at a low speed with a full load, a slight jerk or vibration should appear when the motor startup.  

  • Hello Luo,

    As I have changed the code to spin the motor without GUI. Check below for the changes in code (highlighted part)

    gMotorVars.Flag_enableSys = true;
    gMotorVars.Flag_Run_Identify = true;
    gMotorVars.Flag_MotorIdentified = true;
    gMotorVars.Flag_enableForceAngle = true;
    gMotorVars.Flag_enableRsRecalc = true;
    gMotorVars.Flag_enableUserParams = true;
    gMotorVars.Flag_enableOffsetcalc = true;
    gMotorVars.Flag_enablePowerWarp = true;
    gMotorVars.Flag_enableSpeedCtrl = true;

    gMotorVars.Flag_enableRun = true;
    gMotorVars.Flag_RunState = true;
    gMotorVars.Flag_enableFlyingStart = true;
    gMotorVars.Flag_updateUserdoth = false;

    But Motor getting vibration and tried to spin one step forward and backward only (not spinning) and these condition occurs only after the off and on (reset) of the USB (in Launchpad). while reset the supply (to entire EVM board), the motor is not vibrating, only after USB reset it stared to vibration and tried to spin one step forward and backward.

    Kindly provide the solution and like Insta Spin FOC solution, if any solution is available for Hall based also let me know because the we have short time. By next month we need to start the production(Based on TI solution only).

    Best Regards,

    Ramyaa R

  • You might try to use the example lab in the link I mentioned above, I don't think you need to add these initial codes for start/restart motor even.

    Please reset the Ui to "_IQ(0.0)" of all of the PU controllers when restarting the motor.

  • Hello Luo,

    There are some many links, so it was difficult to find the example lab link. Please send the link.

    How to reset the UI to  "_IQ(0.0)" ? What did you mean? 

    Kindly clarify.

    Best Regards,

    Ramyaa R

  •  Reset the integrator of the current and speed PI controllers as the following codes.

     PID_setUi(ctrl.pidHandle_Id,_IQ(0.0));

     PID_setUi(ctrl.pidHandle_Iq,_IQ(0.0));

     PID_setUi(ctrl.pidHandle_spd,_IQ(0.0));

    The current and speed controllers should be reset by default if you are using the example lab as the link mentioned above.

    Post again for your reference.

    [FAQ] DRV8353RS-EVM with InstaSPIN and MotorWare support

    https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/921751

  • Hello  ,

    Thanks for the reply.

    I have referred the above linked and used to spin the motor it was successful but after the usb reset (mentioned in above image).

    But the above specified link contains varies lab examples, but we need sensor based lab solution (HALL Position) because we are using PM motor for low speed application.

    Kindly advice the suitable. 

    Thanks,

    Ramyaa R

  • Do you mean the motor spins well within CCS but fails to run smoothly if reset the controller? If yes, you might try to reset the PI controllers and  FAST estimator.

  • Hello Yanming Luo,

    Thank you for the reply.

    I am just talking about USB reset not controller, the power supply 32V is connected to EVM board. 

    I will explain the scenario step by step.

    Step 1 : Power supply 32V is given to DRV8353RS 

    Step 2 : Expecting motor to spin (But it will not spin)

    Step 3 : After connecting the USB to LaunchPad (or Reset the USB connection to launchpad) only the motor getting spin.

    Our objective is to spin the motor without this USB connection and we need to change the speed, but don't know where to change the value to modify the speed of the motor.

    kindly advice.

    Another request we are looking for Hall position based trapezoidal lab code like INSTA SPIN please attach that file also. 

    Thanks,

    Ramyaa R

  • Please refer to the following to run the coder from the Flash without connecting the USB emulator. You might set the speed command value by using communication or throttle with ADC, and add a function to convert the speed value to the reference speed in the project.

    e2e.ti.com/.../faq-flash---how-to-modify-an-application-from-ram-configuration-to-flash-configuration

    You might refer to lab11e for using the hall sensor in motorWare.

  • Hello Luo,

    Actually I am asking where to load the RPM value in code, I know that the speed can be controlled by communication protocol or by Throttle ADC but at which part of the coding we should push the respective speed value (or RPM value).

    lab11e is FOC based but we are looking for trapezoidal with Hall position. Kindly share the sample trapezoidal with Hall position code for DRV8353RS.

    Thanks,

    Ramyaa R

  •  There is no trapezoidal control with Hall sensor for DRV8353 in motorWare. You might refer to the link below, and try to migrate the example to support the kit and controller you are using,

    [FAQ] Trapezoidal Control of BLDC Motors Using Hall Effect Sensors on C2000 Controller

    https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/864875

  • Hello Luo, 

    Thank you for the reply.

    We have downloaded the control suit for Insta Spin BLDC and it contains the library files also. If you have the application code to spin the motor using INSTA SPIN BLDC for Launchpad (ISO-F28027F) with SPI communication DRV IC (if possible DRV8353RS). 

    Kindly send the sample code.

  • Sorry. We don't have such an example reference for DRV8353RS. You have to migrate the example based on F2803x in controlSUITE for this kit.