El codificador óptico desencadena falsas interrupciones

1

Tengo un proyecto de pasatiempo con una plataforma de robot móvil de cuatro ruedas, donde he adjuntado dos codificadores de rueda ópticos, que están más conectados al microcontrolador:

(Fuente: enlace )

El microcontrolador maneja la entrada del codificador usando dos interrupciones, que están configuradas para disparar el flanco ascendente. En general, la configuración funciona bien.

Sin embargo, el problema es que de vez en cuando se detectan falsas interrupciones, lo que hace que el seguimiento de la posición sea imposible. Aquí hay un ejemplo de secuencia de diferencias de tiempo entre las interrupciones para una rueda específica: 0.059 0.059 0.060 0.061 0.064 0.063 0.006 0.064 0.062 0.060 0.025 0.058 0.060.

La diferencia de tiempo es más bien un contraste alrededor de 0.06, puesto que de repente el intervalo se divide en dos interrupciones, sumando alrededor de 0.06. También estoy observando intervalos mucho más cortos, pero estos son fáciles de eliminar simplemente detectando el intervalo demasiado corto.

La división del intervalo, podría estar relacionada con el perfil tipo diente de sierra del codificador, es decir, cuando el voltaje cae, debido a que llega a la región del orificio, causa algún tipo de oscilación corta que genera un falso aumento. He intentado reducir el problema usando un disparador Schmitt, cuyas entradas están conectadas al filtro de paso bajo (10kOhms, 9nF, y 20kOhms y 9nF combinaciones probadas, ¿no estoy seguro de si son óptimas?).

Esto reduce en gran medida los intervalos cortos, pero los más largos siguen siendo un problema. La configuración contiene una gran cantidad de cableado que también son fuentes potenciales de interferencia.

Agradecería cualquier sugerencia sobre cómo eliminar las interrupciones falsas.

    
pregunta Vili

3 respuestas

1

El disparador de schmitt que estás utilizando específicamente no tiene un gran diferencial entre los tres disparadores. Si observa la hoja de datos, verá que para una operación de 4,5 voltios, Vhi tiene un valor mínimo de 2,16 voltios y Vlo podría ser tan alto como 1,79 voltios.

Eso es un rango de 370 mV y es muy probable que sea demasiado bajo. Sin embargo, el DS indica que el diferencial del peor caso probable es de 0.71 voltios, pero es motivo de reflexión.

El CMOS estándar es probablemente mejor pero, por supuesto, tendrás dificultades para encontrar esa pequeña parte de 1 compuerta.

    
respondido por el Andy aka
0

La nota de Andy sobre la histéresis limitada podría mitigarse reduciendo la ganancia del fototransistor de detección. Intente reducir R3 de 10K hasta que no obtenga ninguna interrupción, luego doble el valor para R3.
Los bordes detectados falsamente son un gran problema cuando el interruptor debe operar en un amplio rango de velocidad. La situación más difícil es una transición muy lenta de un agujero. Un circuito schmitt debe probarse cuidadosamente para este caso.

Hay algunas otras causas menos probables:

  • Los fototransistores también son sensibles a la luz ambiental. Puede otra luz fuentes entran?
  • El interruptor óptico (con los orificios que proporciona) podría transmitir Un poco de luz infrarroja. Bloquea algunos materiales visibles, pero pasa infrarrojo. luz Asegúrate de que no tenga agujeros.
  • Para un interruptor grueso, puede tener reflejos del interior lados del agujero, antes y después de la alineación principal del agujero con Fuente y detector, produciendo un falso pulso. La solución es muy Interruptor delgado (pero opaco).
  • La retroalimentación capacitiva de Schmitt puede causar problemas de inestabilidad, porque Sus velocidades de borde de salida son muy altas. Mantenga las señales de salida bien alejadas del fototransistor.
respondido por el glen_geek
0

Coloca el robot sobre ladrillos. Haga un lazo de 2 "por 2" de cable aislado, pegado a un pedazo de cartón para que pueda sondear los campos magnéticos. Ve a buscar transitorios grandes con tu antena Hfield.

¿Tiene los voltajes de LED VDD agrupados con la potencia del motor paso a paso?

¿Tiene los cables dentro / fuera de 7414 agrupados o expuestos a la potencia del motor paso a paso?

¿Qué tan grave puede ser esto? Suponga una potencia del motor de 10 amperios, conmutando en 10 nanosegundos, o dI / dT = 10 ^ + 9 amps / segundo. Asuma un bucle de 4 "por 4" del cable de la víctima, ubicado a 4 "de la interferencia. Matemáticas:

$$ Vinduce = 2 * 10 ^ -7 * (área / distancia) * dI / dT $$

$$ Vinduce = 2 * 10 ^ -7 * [(0.1 metros * 0.1 metros) /0.1 metros] * 10 ^ + 9 $$

$$ Vinduce = 2 * 10 ^ -7 * 0.1 * 10 * + 9 $$

$$ Vinduce = 2 * 10 ^ (- 7-1 + 9) = VEINTE VOLTS $$

    
respondido por el analogsystemsrf

Lea otras preguntas en las etiquetas