Medir y almacenar RPM  

  RSS

Alberto Gordillo Aguilar
(@alberto-gordillo-aguilar)
New Member
Registrado: hace 7 meses
Respuestas: 2
30/03/2019 5:25 am  

Hola me gustaría realizar un proyecto para mostrar y guardar la velocidad instantánea que tiene un eje que manda un pulso digital a una entrada GPIO. ¿Como puedo medir la frecuencia de esos pulsos que llegan a la entrada de mi raspberry? 

Gracias, espero vuestras respuestas.


Citar
admin
(@admin)
Miembro Admin
Registrado: hace 2 años
Respuestas: 104
03/04/2019 9:26 pm  

Hola,

Para medir las RPM necesita configurar una Interrupción en un Pin Digital y contar el tiempo en microsegundos que pasa entre cada flanco (ya sea ascendente o descendente) y con ese valor calcula las RPM.

Para medir RPM y hacer un control PID con un Arduino, un motor de 5kW y un Variador Mitsubishi hice lo que le comento y este es un fragmento del código en Arduino para que tenga una mejor idea:

void ISR_PULSES_RPM(){
pulseActual=micros();
tPulse=pulseActual-pulseOld;
rpmPV=(60*(1000000.0/(1.0*tPulse)));
pulseOld=pulseActual;
//Serial.println("rpm"); //Solo para prueba no se debe dejar habilitado.
}

Si requiere implementarlo en Raspberry tal vez deba usar Python u otro código pero el objetivo es el mismo y los pasos son los mismos, configurar una Interrupción en Flanco Ascendente o Descendente, medir el tiempo entre el flanco actual y el anterior y aplicar el cálculo para sacar el valor de las rpm.

Si lo hace con Arduino puede enviar por puerto serial a MyOpenLab el valor de las RPM medidas y hacer que guarde en un archivo .csv los valores cada cierto tiempo, si lo hace todo en la Raspberry le toca hacer el código del GPIO en Python y hacer un script de una sola ejecución que calcule las RPM y las envíe por la terminal de linux para poder usar dicho script desde MyOpenLab.

 

Cordial saludo,

Javier Velásquez


ResponderCitar
Share: