Sobre su esquema:
Todo parece estar bien, puede aumentar el R2 a 10k o incluso 100k, la capacitancia del MOST es tan pequeña que el VENTILADOR tendrá mucha más inercia de giro que el retraso de apagado en el MOST, probablemente incluso con 1M. De esa manera, la ubicación de su 100R es irrelevante y, mientras está encendido, no desperdicia ningún mA. Si nunca mantiene presionado de uC en el reinicio, técnicamente ni siquiera es necesario, ya que su uC lo empujará activamente hacia arriba o hacia abajo.
Para la señal PWM, podría ver si la hoja de datos permite un pull-up externo a 12V, aunque dudo que haga una gran diferencia en ambos sentidos.
Sobre el ruido:
EDITAR: Leí mal su trama para kHz, lo cual es estúpido si lo piensa, donde es Hz. Parte de mi historia cambiará un poco (como la charla sobre la necesidad de MHz para el trabajo digital), pero la idea general sigue siendo.
Dejaré toda la publicación tal como está, pero para una señal de 100Hz con ruido de 30kHz, en lugar de 100kHz con> 5MHz de ruido (tampoco tenía sentido, ¿verdad?), Podría aumentar las resistencias que interactúan con los condensadores en un factor de 10, y también aumentar los condensadores en un factor de 50 a 100. Eso le dará un factor 1000 de frecuencia de filtrado más baja en todos los ejemplos. Pero también está bien simplemente aumentar los condensadores en un factor de 10 a 20, para obtener bordes más nítidos o una respuesta más rápida en su señal de interés, ya que 30kHz está muy lejos de 100Hz.
¡Considere esta publicación como escrita para frecuencias altas y reduzca las ideas, haciéndolas mucho más fáciles de implementar también! (Especialmente el rechazo digital en 3.)
Fin de Editar
Dado que es un buen caso de uso para trabajar con métodos de reducción de ruido, intentaré crear uno que se aplique a su situación.
Para cualquiera que lea, tenga en cuenta:
Esto solo se trata de ruido en una señal digital
En una señal digital, puede suponer que solo hay dos voltajes que le interesan "encendido" y "apagado". Cualquier cosa intermedia no tiene sentido y pertenece al ruido o al mal. En una señal analógica, debe saber acerca de cada nivel de voltaje y debe realizar un filtrado real con cargas de C, L, etc.
Un problema en su señal es que los picos de ruido negativo en el nivel alto y los picos de ruido positivo en el nivel bajo se acercan mucho, por lo que un simple disparador estándar, incluso con un nivel ajustable, no puede garantizarle absolutamente que nunca obtendrá confuso.
Sus opciones:
- Cambiar el sesgo
- Cambiar los niveles de voltaje
- Agregar histéresis "lenta"
- Filtrar el ruido
1. Cambiar el sesgo:
Lo positivo tiene picos negativos muy bajos, eso es porque tu pull-up no puede ganar con el ruido. Lo más fácil que puedes probar es disminuir esa resistencia. Existe el riesgo de que esto también aumente los picos en la señal de apagado, por lo que puede que no siempre funcione. Pero es muy posible que te dé un margen de maniobra entre los picos para establecer una histéresis simple.
2. Cambiar los niveles de voltaje
Puede fácilmente, si el ventilador lo permite, cambiar el Tacho a un nivel de voltaje más alto y agregar un estado intermedio:
simular este circuito : esquema creado con CircuitLab
Ahora podría haber suficiente espacio entre los picos altos y bajos para asegurarse de que el MOST esté siempre encendido, incluso cuando haya picos negativos y siempre apagados, incluso si hay picos positivos. Puede tomar algunos diodos, zeners o resistencias para obtener el punto de ajuste en la nueva situación, pero si los picos en la señal negativa permanecen como están, no deberían activar el MOSFET, siempre y cuando no lo haga. reemplácelo con uno que tenga un umbral de puerta inferior a 2V.
3. Agregue Histéresis "lenta":
Este es un truco que se usa comúnmente cuando sabes que una señal de ruido puntiagudo es de al menos un orden de magnitud mayor que la señal que te interesa. Retrasa un poco la señal, por lo que no se puede usar en situaciones donde el momento exacto de un cambio de encendido / apagado es importante.
Pero para una señal en la que solo desea conocer la forma o frecuencia de la misma, este es un método muy robusto. Básicamente comienza a dispararse cuando hay un voltaje que cruza el umbral, pero solo completa esa acción cuando permanece allí. Hay muchas formas de construir uno.
Puede hacerlo en el controlador (que es el más fácil en el recuento de componentes): puede disparar en un flanco, luego muestrear algunos valores más a la velocidad suficiente para ver el nivel alto entre picos de ruido, pero no confundir si pierde un período completo de nivel bajo. Luego, realiza un juicio predefinido basado en el conocimiento de su señal y ruido. Por ejemplo, si pudiera muestrear a 10MHz, podría capturar 50 muestras y asegurarse de que una frecuencia más alta de 100kHz no será ignorada si sigue la regla de la mayoría. Es decir: al menos 25 deben ser bajos para que sea realmente bajo. Sus picos son muy delgados y la mayoría de las veces es la señal original, por lo que podría funcionar, pero se puede ajustar el número de una mayoría. Esto funcionará con 1MHz y 6 o 7 muestras también, pero será menos de una mayoría real, por lo que puede haber algunos riesgos nuevamente.
También puede hacerlo externamente:
pero ya es MUCHO más complicado que agregar un filtro simple, especialmente cuando mira el resultado con un uC con cierta histéresis en su entrada. Pero es divertido pensar en eso, así que:
simular este circuito
U1 es cualquier Op-Amp o Competidor adecuado. Los competidores son mejores conmutadores, a menudo con un mejor swing, pero para sub-MHz, un OpAmp con un buen rail / rail swing funcionará fácilmente.
Si bien este tipo de histéresis se puede construir con al menos una resistencia menos, esta es más fácil de explicar y, como tal, más fácil de modificar.
Primero imagínelo sin el condensador:
Primero, vea que el divisor de resistencia está influenciado por la salida de U1, lo empujará un poco más bajo a más alto a través de la resistencia aparente de 20kOhm. Digamos que en la entrada positiva de U1 hay un voltaje de 1.1V redondeado hacia abajo cuando su salida es 0, y 3.9V redondeado hacia arriba cuando su salida es 5V.
Si la entrada Tacho de arranque en estado estable es alta, la salida de U1 será baja, debido a la naturaleza inversora de la entrada al Tacho. Entonces, la entrada negativa será, nuevamente debido a la resistencia extra pull-up, aproximadamente 2.3V. Dado que la entrada positiva es de solo 1.1V, la entrada debe caer por debajo de 2.2V para que la entrada negativa vea un voltaje más bajo y haga que la salida se voltee.
Cuando la salida se voltea, la entrada negativa verá 3.6V (porque en este instante la señal de entrada es 2.2V, la salida de U1 es 5V, por lo que su punto medio, hecho por las resistencias de 10k es aproximadamente 3.6V), pero el positivo la entrada habrá cambiado de 1.1V a 3.9V, por lo que el negativo todavía está por debajo de la entrada positiva y la salida se mantendrá 5V.
Si la señal ahora "aborta" rápidamente y vuelve a subir, la salida de U1 volverá rápidamente, pero entonces el pico ya ha tenido que caer por debajo de 2.2V, así que eso es mejor que nada.
Si la señal baja aún más a 0, la situación estable solo se volverá más fuerte, la entrada negativa caerá a 2.5V (dado que asumimos que el tacho del FAN es lo suficientemente fuerte como un pull-down) y lo positivo descansará a aproximadamente 3.9 V.
Ahora la señal necesita elevarse por encima de 2.7V para que la salida se invierta. Es muy probable que el 95% de tus picos ya sean ignorados.
Agregar el condensador:
Con el condensador, la señal entrante necesita suministrar suficiente energía durante el tiempo suficiente para cargar o descargar el condensador. En efecto, eso ya es un filtro RC. Cualquier pico que se sumerja rápidamente y luego se recupere no podrá descargar el condensador.
El valor de C, por supuesto, depende de la señal fuente y la señal de ruido. He estacionado la bola 510pF para una señal de fuente de 100 kHz frente a la duración del pico de 1us como máximo, pero realmente no hice muchas matemáticas, es solo una sensación instintiva basada en el tiempo RC de que esto podría estar cerca de lo que funcionará.
4. Filtrar el ruido
Esto es un poco como simplemente filtrar una señal analógica. Puede usar una red RC simple, como se discutió en la sección anterior:
simular este circuito
Como los picos de ruido son iguales o inferiores a 1us, no pueden hacer un cambio muy significativo en el voltaje del condensador, ya que su tiempo RC es de 5us. Esto significa que la energía en los picos se aplana a un promedio. Dado que ve picos altos y bajas en los picos, incluso es posible que los promedios estén muy cerca de 0V y 5V, pero eso solo se puede decir con mejores imágenes o solo con un experimento. Como lo alimenta a un pin uC, el tiempo RC probablemente será suficiente para verlo como alto o bajo. Esto dará una pequeña distorsión debido a la carga más lenta que a la descarga, causada por la resistencia pull-up. Algunos ajustes de valores pueden producir un resultado en el que eso es insignificante.
Si eso no es suficiente, podría agregar algunos componentes más, pero está exagerando rápidamente cuando su ruido dominante es al menos 10 veces "más rápido" que su señal.
Puede agregar un inductor de 4.7uH en serie con la resistencia para suavizar algunos flancos de alta frecuencia, tal vez incluso 10uH.
Pero para ser honesto, en el caso de "alimentarlo a una uC", la única razón para experimentar con L en una señal de su tipo es encontrar un equilibrio en el que la R sea grande, C sea pequeña y L simplemente ayude a suavizar algunos flancos, de modo que R2 / R1 será lo suficientemente pequeño como para ignorar la diferencia en el tiempo de subida y bajada. como un R1 de 33k, C de 150pF y un L en serie con R1 de 56uH. O tal vez una cuenta de ferrita en lugar del inductor, depende un poco de la nitidez de sus picos.
Pero ya pensándolo demasiado, diría.