¿El método más limpio para medir la velocidad reportada de múltiples fanáticos de computadoras?

4

Esta pregunta se basa en la anterior ¿Cómo interpretar la salida del sensor de velocidad del ventilador de la computadora de 3 pines? Preguntaba sobre la salida de cable de "sentido" de los fanáticos de las computadoras.

Estoy diseñando un controlador de ventilador para los ventiladores PWM ( spec ) que necesita monitorear el RPM de Hasta 5 aficionados al mismo tiempo. En el pasado, he usado interrupciones en un puerto GPIO para construir un tacómetro básico para un motor pequeño, sin embargo, mi preocupación es que este enfoque no se escalará dado que:

  • Cada fan funciona a un máximo de 2000rpm
  • La pregunta vinculada sugiere que habrá 2 pulsos por revolución
  • Si se genera una interrupción para cada impulso para incrementar un contador, entonces eso funciona a un máximo de 333 interrupciones por segundo (2000 rpm * 5 ventiladores * 2 impulsos)

Agradecería cualquier sugerencia sobre cómo implementar dicho sistema de monitoreo. La incorporación de chips adicionales, etc. en el diseño no es un problema. Trabajaré con hardware Cortex M3, probablemente un LPC1768 (exceso de habilidad para un controlador de ventilador, lo sé).

Editar: De hecho, mi cálculo original publicado aquí descuidó la conversión de interrupciones / min a interrupciones / seg. Perdón por la confusión.

    
pregunta Paul Beesley

4 respuestas

5

Tu cálculo matemático es incorrecto, como podrías haber visto por ti mismo si hubieras llevado correctamente las unidades a través de tus cálculos. Tiene 20 k interrupciones por minuto, que es de 333 por segundo, que pueden manejarse fácilmente incluso con un modesto microcontrolador.

    
respondido por el Olin Lathrop
3

No desea conectar ninguna señal externa a un pin de interrupción sin estar muy seguro de que no se encontrará con una situación en la que termine inundando el micro con interrupciones. Aprendí que la forma más difícil de sincronizar con la red. Ruido de línea = muchas interrupciones. :-) Eso es mal diseño.

En su caso, usaría la captura y la comparación o los temporizadores; las salidas del tacómetro del ventilador pueden ser entradas de eventos o entradas de reloj; entonces tiene una interrupción periódica (digamos 250 ms) que simplemente lee y restablece los conteos. El hecho de que su micro CAN pueda manejar interrupciones de 20k / seg no significa que sea una forma sensata de diseñar un sistema.

¿No hay suficientes entradas de temporizador o contador? Dependiendo de cómo se vea la salida del tacómetro, puede agregar una resistencia y un condensador para convertir la señal a un voltaje analógico y alimentarlos al ADC del micro (la mayoría tiene 8 o más entradas). Eso funcionaría muy bien si el pulso del tacómetro tiene el mismo ancho, independientemente de la velocidad. Si los impulsos del tacómetro son un ciclo de trabajo fijo (o cerrado), tal vez un grupo de pequeños convertidores F / V (hay muchos, comience con el LM2907 y vaya desde allí) alimentar entradas de ADC es una mejor opción.

También puede compilar las salidas del tacómetro en un solo temporizador o contador utilizando alguna lógica discreta. Un decodificador 138 de 1-de-8 funcionaría muy bien para esto si su velocidad de escaneo fuera lo suficientemente lenta para contar al menos unos pocos pulsos para velocidades de rotación bajas. Esta es esencialmente la misma idea que el método ADC anterior, pero sin el ADC.

    
respondido por el akohlsmith
1

Un LPC1768 puede tomar 20,000 Int / seg sin problemas, ya que puede registrar hasta 100 MHz. Solo recuerde que la P2.10 activa el gestor de arranque, y no todos los GPIO pueden desencadenar interrupciones, solo los GPIOs del puerto 0 y del puerto 2.

    
respondido por el Turbo J
0

Con el ventilador típico que presenta 333 interrupciones por segundo, podría considerar agregar un simple chip multiplexor de 8 > 1 que seleccionaría una de las señales TACH del ventilador a la vez y las incorporaría a una sola interrupción o entrada de temporizador de la MCU . Se usarían tres pines GPIO para cambiar la selección de canal en el chip multiplexor y así determinar qué ventilador se selecciona.

Este esquema permitiría monitorear hasta 8 ventiladores y usted podría medir múltiples pulsos TACH de cada FAN por turno. Fácilmente posible detectar problemas de ventilador para cualquier ventilador dado en medio segundo o menos.

    
respondido por el Michael Karas

Lea otras preguntas en las etiquetas