medir RPM de un motor AC

Gracias Inizul, el condensador de que capacidad mas o menos?? por otro lado segun un articulo de internet dice así; "Estos tacómetros se comportan como una especie de mini generadores que proporcionan una señal sinusoidal de unos 30v y una frecuencia que depende de las
revoluciones del tambor".

Por lo que entiendo , si yo convierto esos pulsos a onda cuandrada de 0 a 5v, con pulseIn(pin, HIGH); sabria la duracion entre pulso alto y pulso alto, pero como sacaria las rpm???
Tambien he encontrado un codigo de un tacometro con un sensos de efecto hall. el cual hace estas operaciones para hacer los calculos.

http://www.arduino.cc/playground/Main/ReadingRPM

volatile byte rpmcount;
 unsigned int rpm;
 unsigned long timeold;
 void setup()
 {
   Serial.begin(9600);
   attachInterrupt(0, rpm_fun, RISING);
   rpmcount = 0;
   rpm = 0;
   timeold = 0;
 }
 void loop()
 {
   if (rpmcount >= 20) { 
     //Update RPM every 20 counts, increase this for better RPM resolution,
     //decrease for faster update
     rpm = 30*1000/(millis() - timeold)*rpmcount;
     timeold = millis();
     rpmcount = 0;
     Serial.println(rpm,DEC);
   }
 }
 void rpm_fun()
 {
   rpmcount++;
   //Each rotation, this interrupt function is run twice
 }

Cada 20 ciclos que se pasa de HIGH a LOW, calcula la velocidad, pero no entiendo la operacion que realiza rpm = 30*1000/(millis() - timeold)*rpmcount; me serviria a mi tb esta ecuación??
Un saludo y siento la parrafada.