Por lo que veo en la imagen de su alcance, su señal abarca un rango desde
aproximadamente −4 V a aproximadamente +2.5 V. El problema principal con esta señal
no es su parte negativa, es el hecho de que la tensión positiva hace
no ir lo suficientemente alto. La mayoría de los Arduinos funcionan con 5 V y tienen
Schmitt dispara en sus entradas digitales. El umbral de tensión para el
el cambio de pin a HIGH
generalmente es de aproximadamente 2.6 V, pero esto es solo
un valor típico . Lo único que garantiza la hoja de datos es que la
pin leerá HIGH
si su potencial es al menos
0,6 V CC , es decir, 3 V en un Arduino de 5 V.
Una opción sería usar un Arduino alimentado a 3.3 V, como el
Versión 3.3 V del Pro Mini. Con esto, los pines digitales son
garantizado para leer HIGH
a 2 V. Esto es, sin embargo, el límite para
tu señal Tu foto muestra que algunas de las oscilaciones apenas
Alcanzar 2 V en su máximo. Así evitaría esta opción.
La otra opción es agregar un desplazamiento de CC a la señal para tenerla
oscile alrededor de V CC / 2 = 2.5 V. De esta manera usted
tiene una onda sinusoidal desplazada que va aproximadamente de −0.75 a +5.75 V.
Entonces se le garantiza que alcanzará el umbral de lectura LOW
, que
no es inferior a 0,3 V CC = 1,5 V, y
umbral para la lectura HIGH
. Yo usaría un circuito como este:
simular este circuito : esquema creado usando CircuitLab
El divisor de voltaje crea un desplazamiento de CC de V CC / 2. los
El condensador de la izquierda permite la entrada de la forma de onda de CA. Juntos, el condensador
y el divisor de voltaje hace un filtro de paso alto con una frecuencia de corte
de 1 / (πRC). Si eliges, digamos, R = 100 kΩ y
C = 1 µF, entonces tiene un corte a 3.18 Hz. Tu
La señal es de unos 300 Hz, por lo que debería ser capaz de medir una señal.
hasta 100 veces más lento que el que se muestra en la foto.
En cuanto a la parte negativa de la señal, las entradas Arduino tienen
Diodos de protección que la cuidan. Solo tienes que asegurarte de que
el actual a través de esos diodos no excede de 1 mA. Esto es
¿Por qué el filtro anterior tiene una resistencia limitadora de corriente después del voltaje?
divisor. Una resistencia de 10 kΩ le asegura que puede sobrepasar con seguridad
el rango de voltaje de entrada normal hasta 10 V, es decir, usted está
seguro mientras la onda sinusoidal desplazada se mantenga entre -10 V y
+15 V.
Editar : como señala el comentario de Dmitry Grigoryev, cuando el auto
la velocidad es cero este circuito dejará pasar el ruido. Teniendo un poco de ruido
en una entrada digital a menudo no es un problema, ya que es cancelado por el
La entrada Schmitt activa. Su amplitud de ruido, sin embargo, parece bastante grande,
y es probablemente más grande que el ~ 0.5 V de histéresis que tienes
En las entradas de Arduino. Entonces puedes detectar transiciones espurias que
será visto como una velocidad finita.
Si esto sucede, una solución simple es cambiar el offset de CC para
alejarlo de los umbrales de transición. Por ejemplo, un 47 kΩ.
El menú desplegable combinado con un pull-up de 100 kΩ establecerá la polarización de CC en
1.6 V. Puede usar más resistencias asimétricas si necesita hacer
El sesgo de DC sigue siendo menor. Tenga en cuenta que cambiar las resistencias también
cambiar la frecuencia de corte. Las resistencias de 47 kΩ / 100 kΩ.
combinado con un condensador de 1 µF tendrá un corte de aproximadamente
5 Hz.