¿Dónde colocar un condensador para suavizar la lectura del sensor IR?

Sé que ya se ha hecho esta pregunta, pero la respuesta que busco aquí es diferente.

Me enteré de esta publicación del foro que explica la mejor manera de suavizar la lectura de un sensor IR agudo (parece realmente genial según los hechos y las mediciones).

La cosa es que no se mucho de electronica, me pregunto donde debo poner el capacitor y la resistencia que se describen en este post: 10uf ceramic capacitor and 530 ohm resistor parallel to the capacitor.

"Dónde debo ponerlo" significa dónde lo conecto. Gracias

@endolith esto: sparkfun.com/products/242 . Hay 3 pines: VCC, tierra y salida de señal.

Respuestas (3)

Lo que quieres es un filtro de paso bajo . Un filtro de paso bajo dejará pasar los cambios lentos en su señal, pero bloqueará las señales que cambian más rápido. El filtro de paso bajo básico es este filtro RC :

RC-filtro

V I norte es la señal del sensor. V C es el voltaje del capacitor, que podría usar para ir al ADC (convertidor analógico a digital) de un microcontrolador, por ejemplo.
El capacitor actúa como un depósito de voltaje, que se llena o vacía a través de la resistencia. Cuanto mayor sea el valor del capacitor, más tiempo tomará. El valor de una resistencia más alta hará que fluya menos corriente hacia y desde el condensador y también impedirá los cambios rápidos.
Ahora puede pensar que cuanto más altos sean los valores, mejor suavizado obtendrá, y eso es cierto, pero si sube demasiado, también evitará los cambios normales debido al cambio en la distancia desde el sensor. Y esos cambios están permitidos.
La clave para encontrar los valores correctos es la frecuencia de corte, esa es la frecuencia a partir de la cual el filtro bloqueará una señal. Para el filtro RC:

F C = 1 2 π × R C

Digamos que desea permitir cambios de 1 Hz, eso significa cambios que tienen lugar en 1 segundo. Entonces de acuerdo con la fórmula

R C = 1 2 π × F C = 1 2 π × 1 = 0.16

Si elige un valor de 1 m F para el capacitor necesitarás 160k Ω para la resistencia.

Vaya gran respuesta! Tengo una tapa de cerámica de 0,1 uf, así que tengo razón, necesito 16 kOhms para R para obtener una frecuencia de corte de 100 Hz (para un sensor de distancia IR para un robot, parece correcto?). ¿Estoy en lo correcto?
@Matthieu - Me alegro de que te guste. Sus valores son correctos para 100 Hz (aunque 100 Hz probablemente sea más de lo que necesita para un robot). Además, los valores no son muy críticos; 15k es un valor más común para una resistencia que 16k.
¡Funcionó muy bien! Usé 22K para la resistencia, que es de alrededor de 70 Hz. Gracias

Agregué el diagrama a la respuesta de C.Zach Martin. No edité su respuesta porque es desconcertante cuando una edición cambia todo el sentido de una respuesta.

  • Mi entendimiento de la publicación original a la que se hace referencia es que tenían la intención de que la señal se conectara a la parte superior del circuito y que la tierra se conectara a la parte inferior.

  • Que no es lo que CZR ha recomendado, su respuesta sugiere una conexión en serie: la señal del sensor en la parte superior, la salida, por ejemplo, Arduino en la parte inferior.

  • Y sugiero que ambos no son óptimos.

Lo que desea es un "filtro de paso bajo" que elimine la variación de alta frecuencia y el ruido. Así, el condensador se carga y descarga a través de la resistencia. Las señales de variación más lenta hacen esto de manera más efectiva, las señales de variación más rápida tienen menos efecto en el voltaje del capacitor.

ingrese la descripción de la imagen aquí

Tenga en cuenta que lo bien que funcionará esto depende en gran medida de la fuente de entrada y la carga. Si proporciona un número de pieza del sensor, o mejor aún, un enlace a una hoja de datos, e información específica de conexión de Arduino (o cualquiera que sea la carga / salida), entonces podemos proporcionar una mejor respuesta.

Tener R como 1k ohm y C como 100 uF dará una constante de tiempo de 1 milisegundo. Eso puede no ser lo suficientemente bueno. Los condensadores más grandes producirán un filtro de frecuencia más baja. Se pueden usar valores de resistencia más grandes o mucho más grandes (10k, 100k) , pero no, según el sensor y la carga. ¡Ayúdanos a ayudarte!.

Hoja de datos - sensor analógico GP2Y0A21YK

Hoja de datos - sensor digital GP2Y0D21YK

Analógico y digital en una hoja de datos


Endolith hizo referencia a este sensor y puede (o no) ser lo que está utilizando. Si es R en el circuito que mostré arriba, no puede ser mucho más de 1K si la salida es (como parece ser) "colector abierto". Simplemente agregar un capacitor de salida a tierra tendría algún efecto, pero la salida impulsada asimétricamente podría causar problemas. Díganos qué es lo que realmente quiere usar: sensor y carga, y podemos refinar la respuesta.


Su sensor PUEDE ser uno de estos. ¿Sí?

ingrese la descripción de la imagen aquí

¡Parece genial! El enlace a mi sensor ya está como comentario a mi pregunta;), de hecho, está en la lista. De hecho, solo tengo una tapa de cerámica de 0.1 uf, pero tengo muchas resistencias, ¡así que debería ser bueno!
Díganos el número de pieza exacto del sensor que está utilizando. Hacer que la gente tenga que buscar en los comentarios de otras personas no es lo ideal y puede producir errores. Hay dos versiones de ese sensor (versiones A y D), cuál es la tuya. ¿Cuál es tu circuito? ¿Está utilizando una resistencia pullup en la salida? (según ficha técnica en un caso). ¿Qué estás conduciendo con esto? (como ya se preguntó). El uso de una resistencia de 15K puede afectar su precisión dependiendo de lo que esté conduciendo (como señalé). Y puede resultar en una producción muy reducida, dependiendo de otros factores.
Si solo toma las respuestas que le "gustan" e ignora otros aportes técnicos (como lo está haciendo) y no proporciona más detalles, existe una posibilidad razonable de que los resultados no sean los esperados. Debe tratar de responder todas las preguntas de personas que parecen ser técnicamente competentes. A veces, hacerlo produce bonificaciones bastante inesperadas, o una respuesta bastante diferente.
Russell, ¿estás celoso porque dije "guau, gran respuesta" en otra respuesta? El tuyo también es genial, y no lo estoy descuidando, solo estaba trabajando hoy. Ahora aquí están las respuestas que quería: la parte exacta que estoy usando es (como dije en el único comentario que hice) GP2Y0A21YK (entonces la versión A). Mi circuito en este momento es que conecté la salida de señal a un pin analógico Arduino. Entonces, para responder a la siguiente pregunta: no hay resistencia pull up. Con esto, estoy conduciendo un robot: es decir, cuando se detecta un obstáculo a una distancia umbral, detengo el robot para evitar la colisión.
Así que no estoy buscando especialmente la medición de la distancia aquí, sino tener una distancia crítica a la cual detenerme. Lo que noté, y puede resultarte interesante, es que la señal es bastante correcta cuando se usa solo el sensor. Pero cuando enciendo el motor de la aspiradora en el robot (sí, el robot es una aspiradora), el sensor emite mucho ruido. Para tu información, el Arduino se alimenta del USB, pero la batería del motor y la conexión a tierra del USB están conectadas. Tal vez esta es la fuente del problema? De todos modos, muchas gracias por el tiempo que me dedicas, te lo agradezco.
El punto importante es que en la respuesta en la que dijo "gran respuesta", estaba ignorando mi aporte técnico anterior que puede haber marcado una diferencia en su resultado, por lo que es posible que se haya desviado. Y tampoco proporcionó claramente a todos (no solo a mí) tanta información como pudo. La información PUEDE estar enterrada en los comentarios, pero esto es incierto para otros (y para mí). Su 'trabajo' es hacer una declaración clara de su requerimiento y su circuito. Ya lo ha hecho, pero tomó varios días y podría haberlo hecho al principio.
Entiendo tu punto, pero las preguntas directas a menudo funcionan mucho mejor que las preguntas realmente específicas (me refiero a obtener una respuesta). No quería ser demasiado específico al principio, pero obviamente eso fue un error.

Asegúrese de estar usando una gorra de cerámica, de modo que no esté polarizada. Conecte los lados del capacitor y los lados de la resistencia juntos. Conecte un lado de esta combinación de resistencia/condensador a la salida de señal del sensor. conecte el otro lado de la combinación de resistencia/condensador a lo que quiera usar para obtener los datos.

Como esto

ingrese la descripción de la imagen aquí

EDITAR: Creo que entiendo lo que estás preguntando ahora. Creo que no está seguro de qué punto es la línea Vo (salida de datos). Mi sugerencia sería comprar este conector por $1.50. Luego, puede simplemente soldar/placa de pruebas para conectar la resistencia/tapa en paralelo que expliqué anteriormente a la línea amarilla. De lo contrario, debe soldarlo a la parte posterior del sensor.

Gracias (aunque tengo el conector, así que sé que el amarillo es la señal). Aunque no entiendo lo que quiere decir con "lo que quiera usar para obtener los datos". Conecto la salida de señal del sensor a un pin Arduino. Entonces, con 1 lado de la "combinación paralela" de resistencia/condensador conectado al cable amarillo (señal), ¿dónde conecto el otro lado? :p gracias (y tengo una gorra de cerámica).