Métodos de programación para detectar gotas de líquido con fototransistor

2

Tengo un circuito simple con un LED que apunta a un fototransistor. Hay un tubo entre ellos que gotea gotas de líquido en momentos aleatorios. Estoy leyendo el voltaje con un Arduino en el emisor cuando cae cuando se ocluye el LED.

He probado algunos métodos por mi cuenta (por ejemplo, los promedios duran un cierto número de valores y verificando diferentes promedios) pero parecen ser bastante inestables. No soy un experto en procesamiento de señales ni nada, pero me preguntaba cuáles serían algunos buenos métodos / algoritmos para este tipo de cosas. Cualquier ayuda sería apreciada. Gracias!

    
pregunta ballaw

1 respuesta

6

Supuesto : este es un proyecto de pasatiempo de bricolaje, en lugar de calidad de producción.

Aquí es cómo abordaría este problema:

  • Coloque un LED IR en un lado del tubo
  • Coloque un TSOP17xx en el otro lado, alineado exactamente con el LED IR, con el tubo completamente ocluyendo la trayectoria del haz del LED. p.ej. TSOP1738.
  • Implemente un mecanismo para mover la parte TSOP más cerca o más lejos según sea necesario
  • Alimente el LED IR con un pulso de frecuencia fija, (= 38 KHz si usa un TSOP1738) usando una de las salidas del temporizador del Arduino, diga Timer1 para mayor precisión.
  • Use la salida del TSOP17xx para controlar una de las patillas de entrada habilitadas para interrupciones del Arduino, por ejemplo. Pin 2, para INTR 0
  • Adjunte un ISR a la interrupción, por ejemplo,
    attachInterrupt( 0, TSOPChangeIsr, FALLING);

  • En el ISR, guarde el valor actual micros() en una cola circular

  • En el código de bucle, lea la cola para mostrar / enviar a la serie la marca de tiempo en microsegundos por cada vez que se active el ISR

Trabajo :

  • Cada vez que una gota de líquido pasa por el tubo, ocluye el haz infrarrojo de 38 KHz del LED, lo que hace que el TSOP1738 vea un "bajo" durante ese tiempo.
  • Es posible que tenga que ajustar la distancia del TSOP1738 para obtener la sensibilidad a un valor medio confiable, de modo que tanto las gotas grandes como las pequeñas causen un disparo, pero no hay falsos positivos ni fallas perdidas.
  • Para una mayor confiabilidad en la captura de gotas, el haz IR puede incidir en el tubo en ángulo, como también el sensor TSOP. Por lo tanto, el líquido ocluirá el haz durante más tiempo mientras pasa a través del tubo.

Si necesita más aclaraciones, comente en consecuencia: trataré de resolver cualquier duda.

Actualizaciones en función de algunos experimentos:

  • Si obtiene uno de los láseres rojos de "voltios" de 5 voltios que se venden a un precio muy bajo en eBay, puede modularse a los mismos 38 KHz usando el pin de forma de onda Arduino Timer1 (usé el pin 9) para conducir un N básico. MOSFET (2n7000 en mi experimento) con drenaje conectado a través del láser a una fuente de 5 voltios. La tierra está conectada al pin Arduino GND.
  • Esto permite que el láser se dirija a través del tubo de vidrio en un ángulo muy agudo, lo que proporciona un período de oclusión mucho mayor por gota de agua y, por lo tanto, una mayor precisión en la detección. Con solo el LED, a veces se perdían gotas más pequeñas.
  • Aunque no se esperaba que la parte TSOP fuera activada por longitudes de onda visibles, el láser rojo evidentemente genera suficiente excitación para que la detección ocurra con la misma fiabilidad que si fuera un haz IR.
  • El láser es, por supuesto, mucho más brillante cuando llega al TSOP1738, en comparación con un haz de LED. Para ajustar la sensibilidad del sensor TSOP, en lugar de cambiar su distancia, es más fácil simplemente cambiar su ángulo lejos de la perpendicular del rayo láser. Con un simple conjunto de engranajes, la sensibilidad puede ajustarse con precisión mediante dicha rotación.
  • La reflexión como mecanismo de detección no funciona tan bien como la oclusión, ya que las superficies del tubo, e incluso las partículas de polvo, parecen activar el sensor TSOP.
  • Dato curioso : las gotas de agua hacen que el rayo láser produzca patrones de abanico interesantes y muy visibles en las paredes cercanas en cada oclusión.
respondido por el Anindo Ghosh

Lea otras preguntas en las etiquetas