Módulo de medición de velocidad arduino driver

Inserte la descripción de la imagen aquí
La llamada medición de velocidad es la velocidad de rotación del motor, no la velocidad de movimiento del objeto, sino la velocidad angular.

El módulo de medición de velocidad es una ranura para tarjetas en forma de U. Inserte la descripción de la imagen aquí
El principio es el mismo que el del módulo de seguimiento: es un tubo transceptor de infrarrojos, y el bloqueo es 1, y el no bloqueo es 0; luego se usa con la rueda de códigos, la rueda de códigos:Inserte la descripción de la imagen aquí

Hay 20 espacios y 20 oclusiones en la rueda de código. De esta manera, la rueda de código se instala en el eje giratorio del motor. Cuando el motor gira, el módulo de medición de velocidad emitirá continuamente cambios de nivel alto y bajo.

Cableado como se muestra

Inserte la descripción de la imagen aquí

float n = 0;      

float time;  

float Speed;  

void setup(){

  Serial.begin(9600);

  attachInterrupt(0,count,CHANGE);    

}

void loop(){

  time = millis();

  Speed =  (n/40)/(time/60000) ;

  Serial.println(Speed);

}

void count(){

  n += 1;

}


Hay dos oraciones de código que son más importantes. Expliquemos el código anterior:

attachInterrupt(interrupt,function,mode); 

这是一句中断函数,函数有三个参数:

interrupt  ——  中断源。可选值0和1,0 对应2号引脚;1 对应3号引脚。这里我们写的 0 ,即外部中断接数字引脚2号引脚。

function  ——  中断处理函数。即发生中断时,去做什么。这里我们让它发生中断时,做 n+=1。用来计数模块被码盘遮挡时,电平变化的次数。

mode  ——  触发模式。触发模式有四种类型:LOW(低电平触发)、CHANGE(电平变化时触发)、RISING(低电平变为高电平时触发)、FALLING(高电平变为低电平时触发)。这里我们选择CHANGE(电平变化时触发),前面讲了,码盘有20个缝隙,20个遮挡,这样,电机转一转时,为40次触发,即n=40,为n/40转。

millis();

   Esta función se utiliza para obtener el tiempo que la máquina está funcionando. El valor de retorno de la función es largo sin signo (milisegundos ms). El tiempo de grabación más largo del sistema es de 9 horas y 22 minutos. Si excede, comienza desde 0.

Por lo tanto, la velocidad de rotación que medimos es la velocidad angular promedio desde que se inició el sistema, no la velocidad en tiempo real.

   Después de comprender estas dos funciones, mire el código anterior, no es difícil de entender, la salida final es la velocidad del motor, unidad: rpm

   Por supuesto, si el motor está instalado en el automóvil, la velocidad de la circunferencia de la rueda = velocidad de movimiento del automóvil. n Circunferencia de la rueda = distancia total recorrida en automóvil.

   Nos referimos al código del motor L298N, manejamos un motor DC de desaceleración en un automóvil y realizamos una prueba de velocidad. En la siguiente pantalla de efectos de video, configuramos el PWM para controlar la velocidad del motor a tres valores diferentes de 50, 100 y 200 Cuando la velocidad cambia obviamente, y básicamente cambia linealmente, se puede ver que este módulo todavía es posible.
Inserte la descripción de la imagen aquí

153 artículos originales publicados · Me gusta 248 · Visitas 330,000+

Supongo que te gusta

Origin blog.csdn.net/qq_45172832/article/details/105418720
Recomendado
Clasificación