Kurz gesagt: Die run() Methode muss innerhalb eines bestimmten Zeitfensters aufgerufen werden.
Die Zeitfenster ist kleiner als : 60000000.0/SPR/RPM µs also bei deinem Code 1179 µs.
Abzüglich Rechenzeit der Bibliotheksfunktionen müsstest die loop() mind. jede Millisekunde aufgerufen werden.