Tabla de contenido:

Medición de la velocidad del motor con Arduino: 6 pasos
Medición de la velocidad del motor con Arduino: 6 pasos

Video: Medición de la velocidad del motor con Arduino: 6 pasos

Video: Medición de la velocidad del motor con Arduino: 6 pasos
Video: 💡 Controlar Motor PASO A PASO con Arduino (Stepper Motor) 【 2021 】 - Capítulo #34🔋 2024, Noviembre
Anonim
Medición de la velocidad del motor con Arduino
Medición de la velocidad del motor con Arduino
Medición de la velocidad del motor con Arduino
Medición de la velocidad del motor con Arduino
Medición de la velocidad del motor con Arduino
Medición de la velocidad del motor con Arduino

¿Es difícil medir las rpm del motor? No lo creo. He aquí una solución sencilla.

Solo un sensor de infrarrojos y Arduino en su kit pueden hacerlo.

En esta publicación, daré un tutorial simple que explica cómo medir las RPM de cualquier motor usando un sensor IR y Arduino UNO / nano.

Suministros:

1. Arduion uno (Amazon) / Arduion nano (Amazon)

2. Sensor de infrarrojos (Amazon)

3. Motor de CC cualquiera (Amazon)

4. LCD 16 * 2 (Amazon)

Herramientas utilizadas

1. Soldador (Amazon)

2. Pelacables (Amazon)

Paso 1: Paso: 1 Asegúrese de que los sensores y dispositivos funcionen correctamente

¿Qué es un sensor de infrarrojos? El sensor de infrarrojos es un dispositivo electrónico que emite la luz para detectar algún objeto del entorno. Un sensor de infrarrojos puede medir el calor de un objeto y detectar el movimiento. Por lo general, en el espectro infrarrojo, todos los objetos irradian alguna forma de radiación térmica. Este tipo de radiaciones son invisibles para nuestros ojos, pero el sensor de infrarrojos puede detectar estas radiaciones.

Qué es un motor de CC Un motor de corriente continua (CC) es un tipo de máquina eléctrica que convierte la energía eléctrica en energía mecánica. Los motores de CC toman energía eléctrica a través de corriente continua y convierten esta energía en rotación mecánica.

Los motores de CC utilizan campos magnéticos que se producen a partir de las corrientes eléctricas generadas, que alimentan el movimiento de un rotor fijo dentro del eje de salida. El par y la velocidad de salida dependen tanto de la entrada eléctrica como del diseño del motor.

¿Qué es Arduino?

Arduino es una plataforma electrónica de código abierto basada en hardware y software fáciles de usar. Las placas Arduino pueden leer entradas (luz en un sensor, un dedo en un botón o un mensaje de Twitter) y convertirlo en una salida, activando un motor, encendiendo un LED, publicando algo en línea. Puede decirle a su tablero qué hacer enviando un conjunto de instrucciones al microcontrolador en el tablero. Para hacerlo, utiliza el lenguaje de programación Arduino (basado en Wiring) y el Software Arduino (IDE), basado en Processing.

Descarga ARDUINO IDE

Paso 2: ¿Cómo funciona?

Entonces, ¿cuál es la lógica detrás de esto?

Funciona de forma muy similar al codificador. Los codificadores son difíciles de entender para los principiantes. Todo lo que necesita saber es que el sensor de infrarrojos genera un pulso y estamos averiguando el intervalo de tiempo entre cada pulso.

En este caso, el sensor de infrarrojos enviará un pulso a Arduino siempre que su haz de infrarrojos sea interceptado por las hélices de los motores. Normalmente usamos hélices de dos palas pero yo he usado hélices de tres palas como se muestra en la figura. dependiendo del número de palas de la hélice, necesitamos modificar algunos valores mientras calculamos las RPM.

consideremos que tenemos una hélice que tiene dos palas. Por cada revolución del motor, la cuchilla interceptará el rayo IR dos veces. Por lo tanto, el sensor de infrarrojos producirá pulsos siempre que se intercepte.

Ahora tenemos que escribir un programa que pueda medir el número de pulsos producidos por el sensor de infrarrojos en un intervalo de tiempo particular.

Hay más de una forma de resolver un problema, pero debemos elegir cuál es la mejor en estos códigos. He medido la duración entre las interrupciones (sensor de infrarrojos). Utilicé funciones micros () para medir la duración de los pulsos en microsegundos.

puede usar esta fórmula para medir las RPMRPM = ((1 / duración) * 1000 * 1000 * 60) / cuchillas

donde, duración - intervalo de tiempo entre pulsos.

60 - segundos a minutos

1000 - molino a seg

1000 - micro a molino

palas - no de alas en la hélice.

Pantalla LCD: el Arduino actualiza el comando y los registros de datos de la pantalla LCD. Que muestra los caracteres ASCII en la pantalla LCD.

Paso 3: Programe su Arduino usando Arduino IDE

#incluir

LiquidCrystal lcd (9, 8, 7, 6, 5, 4); const int IR_IN = 2; // sensor de infrarrojos INPUT unsigned long prevmicros; // Para almacenar tiempo sin firmar de larga duración; // Para almacenar la diferencia horaria unsigned long lcdrefresh; // Para almacenar tiempo para que lcd se actualice int rpm; // Valor de RPM boolean currentstate; // Estado actual del escaneo de entrada IR boolean prevstate; // Estado del sensor de infrarrojos en la configuración de vacío de escaneo anterior () {pinMode (IR_IN, INPUT); lcd. comienzo (16, 2); prevmicros = 0; estado previo = BAJO; } bucle vacío () {////////////////////////////////////////////// ///////////////////////////////////// Estado actual de medición de RPM = digitalRead (IR_IN); // Leer el estado del sensor IR if (prevstate! = Currentstate) // Si hay un cambio en la entrada {if (currentstate == LOW) // Si la entrada solo cambia de HIGH a LOW {duration = (micros () - prevmicros); // Diferencia de tiempo entre revoluciones en microsegundos rpm = ((60000000 / duración) / 3); // rpm = (1 / milésimas de tiempo) * 1000 * 1000 * 60; prevmicros = micros (); // almacena el tiempo para el cálculo de la revolución nect}} prevstate = currentstate; // almacenar los datos de este escaneo (escaneo anterior) para el siguiente escaneo /////////////////////////////////////// ///////////////////////////////////////////////// Pantalla LCD si ((milis () - lcdrefresh)> = 100) {lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Velocidad del motor"); lcd.setCursor (0, 1); lcd.print ("RPM ="); lcd.print (rpm); lcdrefresh = millis (); }}

Paso 4: Simulación con Proteus

Simulación con Proteus
Simulación con Proteus

Este proyecto funcionó perfectamente bien cuando intenté simular esto con la ayuda de proteus.

En lugar de usar un sensor de infrarrojos, utilicé un generador de pulsos de CC, que simulará el pulso de infrarrojos similar al que se genera cuando los rayos infrarrojos golpean las palas de las hélices.

tienes que hacer cambios en tu programa dependiendo del sensor que uses

El sensor de infrarrojos con LM358 debe utilizar este comando.

if (currentstate == HIGH) // Si la entrada solo cambia de LOW a HIGH

El sensor de infrarrojos con LM359 debe utilizar este comando.

if (currentstate == LOW) // Si la entrada solo cambia de HIGH a LOW

Paso 5: ejecución de hardware

Ejecución de hardware
Ejecución de hardware
Ejecución de hardware
Ejecución de hardware
Ejecución de hardware
Ejecución de hardware

Para el esquema, utilice las imágenes de simulación o consulte los códigos de programa y realice las conexiones en consecuencia. Sube el código del programa a Arduino y mide las RPM de cualquier motor. Estén atentos a mi próxima publicación y miren mi canal de YouTube.

Recomendado: