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 Rs recalibration issue

Part Number: TMS320F28027F

I'm working with a custom board based on TMS320F28027F. The drive moves by sinudoidal speed profile 0.5Hz with 200 RPM amplitude. Instaspin manual says that in order to start under full load

14.3.1 Motor Startup with Full Load Considerations
The considerations discussed in the previous sections also apply to this mode of operation:
• Enable offsets recalibration; described in Section 14.1.1.1.
• Enable stator Rs recalibration; described in Section 14.1.1.2.
• Enable forced angle; described in Section 14.3.1.1.
• Tune speed controller to avoid motor stall; described in Section 14.1.1.4.
• Tune voltage feedback circuit; described in Section 14.1.1.5. 

I enabled all the required items, but still the rotor would stall and start spinning after second delay. The main concern is Rs recalibration. The average value is 0.67 Ohm. If I run debug session in Code composer, I see that during Rs estimation state Rs just grows above expected value during all the EST_Rs_State_RampUp+EST_Rs_State_Coarse+EST_Rs_State_Fine timeouts. Whatever timeouts I set, It just grows and doesn't stabilize. Rs online works well, Rs is estimated correctly if the motor running. If I disable Rs Recalibration, it also fails sometimes. It appears as rotor stall or jerky motion. I'm able to fix this on some particular setup adjusting timeouts and initial Rs value so it doesn't grow to high. But if I run the same firmware on another setup (similar, the difference is only in manufacturing tolerances of the motor and PCB elements) it doesn't work.

I'd prefer to just get rid of Rs recalibration during startup, but I guess rotor alignment also happens during this time and this is highly desired feature for smooth start. 

I tried also different types of start: with/without offsets and/or rs recalibration. But the best results provide start with rs and offsets recalibration both. And with the latter I have described above issue.

Also, I'm thinking about 

// run Rs online
runRsOnLine(ctrlHandle);

this routine is called also during Rs recalibration. May it affect recalibration?

Any help is appreciated.

There is my full user.h

/cfs-file/__key/communityserver-discussions-components-files/38/5775.user.h

  • Please ensure each board has a good resolution of current and voltage sensing circuits, and with a similar performance, if not, you need to do the offset calibration and motor identification for each board respectively, not use the same user.h. The resolution tolerance of both sensing circuit must be higher than 1%, especially on current signals.

    Btw, sensorless-FOC is difficult to run stably at such low speed with a heavy load, these considerations are just for the startup.

  • well, it works though, if to do everyhing according to the manual. The motor is relatively slow, 180kV, 7 pole pairs. I tuned the system on F28027F kit and found it was working smoothly for the required use case, so decided to go with sensorless for manufacturing. Running is not a problem, but startup is problematic. Whether the speed high or low - it shouldn't affect startup time, right? 

    Thank you for the good point regarding tolerance. Although I still don't understand, why Rs recalibration at startup time doesn't work well - low speed point doesn't affect this for sure.

  • >>Please ensure each board has a good resolution of current and voltage sensing circuits, and with a similar performance, if not, you need to do the offset calibration and motor identification for each board respectively, not use the same user.h. The resolution tolerance of both sensing circuit must be higher than 1%, especially on current signals.

    The boards and motors are the same, 1% tolerance for all sensing resistors.

    >>not use the same user.h.

    this is not an option for manufacturing process. It will work in the lab only.

    >>Btw, sensorless-FOC is difficult to run stably at such low speed with a heavy load, these considerations are just for the startup.

    I'm asking about startup only.

  • Right. As you had a look at chapter 14 of instaSPIN user's guide (SPRUHJ1G) that has a detailed description of the startup with a load. The Rs of motor and offset is very important for the startup. You may only enable the Rs recalculation and disable Rs online recalibration during startup and low speed running.