Evaluates the input signals from an IncrementalEncoder:
y[1] = 1 pulse per revolution with a
length of 2*pi/(4*pRev)y[2] = pRev pulses per
revolutiony[3] = pRev pulses per
revolution, displaced by 2*pi/(4*pRev)and determines mechanical angular velocity w and
mechanical angle phi:
The time span from one edge of the input signals to the next is
measured, thus calculating the speed of rotation:
2*pi/(4*pRev)/(time - t0). Taking both rising and
falling edges of A-track and B-track into account,
4*pRev edges per revolution are observed. Note that
the output is discrete w.r.t. to time, it is not differentiable.
The algorithm depends on interrupts (which appear in Modelica as
when-clauses). The direction of rotation has to be detected by a
logic from the values of A-track and B-track. Note that this
algorithm depends on the accuracy of the representation of time,
but usually gives better results than counting edges during a time
gate.