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.

Calculating number of rotations

Good morning everyone,

I know this has been already asked and answered and that an encoder approach would be best fitting, but nevertheless we want to try to calculate/estimate the number of motor rotations in a given run (time, speed) and see what accuracy we can achieve.

So what would be your opinions on how to do this best?

We came up with a few ideas on our own, what do you think about them?

1. The obvious one: estimating the number of rotations relying on the estimated speed and measured time

2. Calculating the mechanical angle estimation of the rotor out of FAST (one of the labs shows how if I recall correctly) and thus trying to count the rotations

3. Just a rough idea so far: Shouldn't we be able to calculate the DESIRED rotation count (not the actual or estimated but the one which SHOULD be going) based on the PWM output data?

Do you guys have any other ideas or suggestions or what do you think would be the best approach?

Regards,

Patrick

  • for a velocity application this will be pretty difficult, but the longer the time the motor is running the more accurate your estimation should be. especially with constant velocity. I would start with the approach of just counting time at an average velocity.

    maybe others have some clever ideas about integrating or something.

    what is the purpose of this by the way?
  • Hi Chris,
    we are trying to verify if a product request from a customer could be realized without an encoder or not. The conditions seem promising, as you already mentioned some of them:
    - long running constant speed
    - we already achieved fast startup and stop times to full speed (below 50ms reliable) - this could be easily calculated as velocity ramp over time or s.th.
    - we have a very high gear ratio so errors are scaled down at gear output

    What do you think would give better results calculating with the average speed, the estimated speed or the reference speed (obviously the worst?)
  • The purpose is to be able to give a command like: "Run X rounds with a speed of Y rpm"
  • since it's so easy to test, I would start with using the Speed_Est variable.

    over a minimum speed FAST will track within a couple counts of a 1024 line encoder, so you should be able to do pretty well with this, especially since you are using a gear system.

    if it's not quite good enough, or if you want to try seeing if you can get even more accuracy you could try using the angle output from FAST.  above the minimum frequency this is also highly accurate. But you will have to keep up with the rotational counter yourself...the angle estimate is just in a per unit value.