No estoy seguro de si esto debería ser realmente un comentario, pero aquí va:
Hace poco necesité hacer un sensor ultrasónico personalizado a 40 kHz, aunque mi configuración fue bastante diferente. Aquí hay algunos pequeños trucos que encontré:
- Tuve problemas serios con la baja GBP. Si está haciendo un rango ultrasónico, desea una respuesta muy aguda y rápida si desea precisión. La cantidad de ganancia que realmente necesita depende de qué tan poderoso sea su transmisor y qué tan lejos estará su objeto, pero a aproximadamente 1 metro con una unidad de salida de 15v, obtuve una señal de 5mv del transductor. Tienes un sistema de dos etapas, que es muy bueno. Personalmente utilicé un amplificador operacional de una etapa de 8 MHz.
- Frecuencia de muestreo. Tienes una señal de 40khz entrando en una entrada de arduino. Arduino tiene una tasa de muestreo máxima + tiempo de conversión de 10khz. Esto significa que es muy probable que nunca atrape el primer flanco ascendente. Esto es muy malo. Digamos que se pierden, en promedio, tres pulsos. Si mis cálculos no son incorrectos, entonces tienes una inexactitud de alrededor de + -0.0001 segundos. La velocidad del sonido es de 340 m / s, por lo que tiene una precisión de ~ 3,5 centímetros. Y eso es el muestreo a la velocidad más rápida posible. Eso podría no ser lo suficientemente preciso para ti. Lo que hice fue agregar un comparador al final, establecer un nivel más alto que el ruido y enviarlo a una entrada digital. Las entradas digitales no tienen tiempo de conversión y son mucho más rápidas de sondear; También puede configurar una interrupción.
- filtrado. No lo necesitaba, pero lo tenía; Tuve un paso de banda con una resistencia de 10k + 430pf en serie, y una resistencia de 10k + una tapa de 360pf en paralelo. A menos que vaya a estar en una situación en la que tenga mucho ruido, es probable que pueda omitirlo.
Nada de esto podría ser un problema en tu caso, pero es todo, como dice Dave, una trampa para los jugadores jóvenes.