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.

number of rotations

Im using the Piccolo TMS320F28069MPZT with high voltage motor control dev Kit.I Need to start the motor (8 pole induction motor) form one direction/forwards let it spin like about 100 full rotations and then stop the motor. toggle the direction to backwards and do the same rotations in the opposite way.  on the backwards way motor has a dynamic load.


I have tried to to use the estimated motor speed/torque and time to calculate number rotations sensorless.  without load it works fine but with load the number of rotations are incorrect. p.s. im experimenting in proj_lab05e.

also motor doesn't spin at the full RPM, it feels like the motor has speed limitation form 0 to 60 percent pwm.

appreciate your suggestion thank you.

  • how accurate does this need to be?

    If very accurate you likely won't be able to do this with our FAST software sensor. What you are requesting is essentially servo position control, which requires the use of a mechanical sensor today.  Recommend you use an encoder and InstaSPIN-MOTION proj_lab13

     

  • it doent need to be very accurate. 10 percent offset is fine

  • you need to use a mechanical rotor sensor like an encoder.

    a software observer technique isn't accurate enough at zero / near zero speeds.  Software obesrvers are used for torque or velocity applications away or through zero.  While you want to control 10 revolutions in a certain time, what you are really trying to do is control the exact position.  This can't be done with software rotor flux observers.

    If you had a highly salient motor you could potentially use a high frequency injection software sensor technique...but will be much easier to implement a straight forward with position control loop with an encoder.

     

  • our application runs at the full rpm. also the application must be cheap.  encoder kinda expensive.

  • This is impossible - or very near impossible - for any standard sensorless observer.  They all - besides things like high frequency injection or other initial position detection techniques - require the rotor to be moving at some speed for their estimations to work.

    I suppose if you had a very high pole count motor with large Bemf you could potentially do a ramp to 10 RPM, hold that speed for nearly a minute, then ramp back to 0.  There would be some error in the start-up and right as you hit zero, so you couldn't possibly come to a known stopping position.

    And for any sort of standard motor if you are talking about ramping to 50 RPM, holding for less than 2 seconds, then stopping the error would just get worse.