arduino: ¿cómo leer y controlar la velocidad de un ventilador de 12 voltios y cuatro cables?

2

Quiero leer las rpm y controlar la velocidad de un ventilador de cuatro cables de 12 V a través de Arduino. Hay muchos artículos que describen el procedimiento, pero tengo algunas preguntas.

Velocidad de lectura:

Entonces, 12V y Gnd están conectados a los cables de quién del ventilador, y el tercer cable está conectado al pin de entrada del Arduino a través de una resistencia pull-up (interna o externa), para leer los pulsos, por lo tanto Velocidad del ventilador. Supongo que funciona como en el siguiente esquema:

simular este circuito : esquema creado usando CircuitLab

Si es así, ¿cuánto es el voltaje que lee el pin de entrada cuando el interruptor del sensor está cerrado, 5V ορ 12V? Creo que es 12V, pero eso dañaría el tablero, ¿verdad? ¿Debo poner algo como un optoacoplador entre el ventilador y el pin de entrada para aislarlos?

Velocidad de control

Casi la misma pregunta para controlar la velocidad. ¿Puedo pegar el cuarto cable del ventilador a un pin PWM? ¿Es cierto que el polo PWM del ventilador acepta max.5.0V? Solo para estar seguro, ¿debo usar un controlador de motor IC, como L293D?

Gracias

    
pregunta user3060854

3 respuestas

2

Si este es el tipo de fan que está utilizando: enlace

-entonces el sensor de salida afirma que es un colector abierto o un drenaje abierto. (Lo que significa que solo baja.) También dice "La placa base tendrá una extracción de hasta 12V, máximo 13.2V". Escrito de esta manera tomaría esto como una recomendación. Si la salida es realmente solo un colector / drenaje abierto, entonces debería poder agregar su propia resistencia de pull-up según sea necesario. Para la entrada Arduino, la resistencia se elevaría hasta +5 solamente. (Puede agregar la resistencia de 5k como se muestra, o si sabe cómo habilitar el pull-up interno en el uso del pin del puerto Arduino, en cuyo caso no necesitará la resistencia de 5k mostrada). Con una resistencia en su lugar, el ventilador el sensor tira hacia abajo (hasta 0v) y luego libera el pin, por lo que luego vuelve a subir a cualquier voltaje que el pull-up también esté conectado.

El enlace debe tener este aspecto:

simular este circuito : esquema creado usando CircuitLab

Pero solo como precaución, antes de conectar el pin de entrada Arduino Speed a Sense, debe medir el voltaje en el pin del ventilador Sense mientras el ventilador gira lentamente (con 12v en la entrada de alimentación del ventilador).

La especificación enumera la entrada de control del ventilador para que sea una señal PWM de 5v. Por lo tanto, desde Arduino no se necesita un circuito de controlador adicional.

La especificación también dice que los pulsos del pin de detección son 2 por revolución, así que mida los pulsos por segundo y luego divídalos por 2.

    
respondido por el Nedd
1

Primero, la primera pregunta:

Por favor, especifique qué usará como interruptor. ¿Tal vez un sensor óptico con un codificador? ¿O tal vez un transmisor y un receptor de leds infrarrojos? ¿O incluso un sensor magnético, inductivo o capacitivo? Suponiendo que ya tiene una forma eficiente de contar los impulsos, es muy importante alimentar el interruptor con 5V (el límite para arduino). Además, tu resistencia está fuera de lugar. Puede colocarlo entre la entrada de Arduino y el suelo o la entrada y Vcc, pero para esto también necesitará mover el interruptor entre la entrada y la entrada. Busque su circuito, cuando el interruptor esté abierto, tendrá una entrada de 0 V. Cuando se cierre, también tendrá 0V, por lo que no funciona. Como el interruptor probablemente no es una carga inductiva, no necesitará el optoacoplador.

Cómo controlar

Excepto que también necesitará alimentar a otro ventilador y hacer reversión, no recomendaré un controlador de motor por razones de costo. Si le preocupa solo la velocidad, puede usar un simple transistor para hacer el trabajo. Solo recuerde que la salida máxima de Arduino actual es de 40 mA (si no está usando uno modificado). También debe establecer la corriente máxima que deseará en el ventilador para verificar el hfe del transistor para asegurarse de que tenga suficiente ganancia. Como es un fanático de 12 V, creo que no será una verdadera preocupación.

Finalmente

Trate de explicar mejor su proyecto, lo encontré muy confuso, pero intenté responder con lo que me dio.

    
respondido por el Pedro Quadros
1

Esta es la forma recomendada de conectar un ventilador de cuatro cables típico. He usado este diseño varias veces con buen éxito.

La señal de entrada aquí es una señal PWM de aproximadamente 20 KHz de frecuencia que controla la velocidad del ventilador a través del ciclo de trabajo. Como se muestra, la señal de entrada se diseñó para una señal de giro de 3.3V pero también funcionaría para un swing de 5V. La mayoría de los ventiladores tienen un rango de control más bajo en aproximadamente el 30% del ciclo de trabajo en el que dejan de funcionar.

La señal de salida aquí es una señal de giro de 3.3 V que es la señal del tacómetro del ventilador. Mide la frecuencia de esta señal para determinar la velocidad del ventilador. Tenga en cuenta que los ventiladores varían y encontrará ventiladores que emiten dos o cuatro pulsos por revolución en esta salida. Si necesita una salida de oscilación de 5 V desde esta salida, ajuste los valores de uno de los dos resistores inferiores en el divisor.

Los colores de los cables de conexión del ventilador son típicos, pero puede encontrar algunas variaciones en los colores utilizados por los distintos fabricantes.

Este circuito hace varias cosas que son importantes a considerar. Una de ellas es que aísla el microcontrolador incorporado del rango de voltaje utilizado por el ventilador, lo que puede ser importante si alguna vez se cometen fallas o errores en el cableado o la conexión del ventilador. En segundo lugar, proporciona un aislamiento en caso de descarga estática.

    
respondido por el Michael Karas

Lea otras preguntas en las etiquetas