No se puede obtener un pulso bajo del sensor de partículas Shinyei PPD42

Tengo un Shinyei PPD42 que está conectado a mi Raspberry Pi B+ mediante un divisor de voltaje para obtener la salida del PPD42 a 3,3 V. De acuerdo con la hoja de especificaciones , P1 emite una salida digital cuando se detectan partículas de tamaño >1 μm y P2 emite una salida digital cuando se detectan partículas de tamaño >2,5 μm. Usando la proporción de pulsos BAJOS en 30 segundos, puede usar una fórmula para determinar las unidades/0.01cf estimadas, μg/m^33 y AQI. Los pulsos BAJOS, de acuerdo con la hoja de especificaciones, se supone que tienen una duración de 10ms - 90ms.

Seguí algunos excelentes recursos que describen cómo configurar físicamente el sensor (orientación vertical, cubrir el sensor con cinta/papel pero dejar descubiertas las entradas/salidas de aire, mantenerlo alejado de una corriente de aire, etc.).

He ejecutado diferentes proyectos (escritos en C) y también he escrito mi propio código (en Python) para obtener los valores calculados. Sin embargo, lo que encuentro es que, independientemente del proyecto que use, P1 y P2 casi nunca brindan un pulso BAJO. Entonces, termino obteniendo muchos ceros . Por ejemplo, ejecuté el proyecto mencionado anteriormente durante la noche y no vi un solo cálculo por encima de 0 durante toda la noche.

Si quito la cinta de la abertura del sensor y muevo la mano hacia arriba y alrededor de la abertura, empiezo con diferentes valores para los cálculos. Obviamente, esto se debe solo al cambio de luz, pero ha sido una forma interesante de asegurarse de que el fotodiodo sigue funcionando.

Intenté usar la cámara de mi teléfono para ver si puedo ver el LED infrarrojo (como se ve en esta deconstrucción del PPD42). Parece que no puedo captar el LED infrarrojo del PPD42 en mi cámara, pero puedo captar el LED infrarrojo del control remoto de mi televisor.

Tengo un multímetro digital donde traté de depurar P1 y P2 sin conectarme a mi Raspberry Pi. Debería poder ver la caída de voltaje de ~ 4 V a ~ 0,7 V cuando se detectan partículas (según la hoja de especificaciones). Desafortunadamente, el multímetro solo mide ~4V todo el tiempo. Mi conjetura sobre esto es que la duración esperada del pulso de 10-90ms es probablemente demasiado corta para que la mida el multímetro. ¿O es una indicación más de que nunca recibo pulsos del PPD42? Tengo un segundo PPD42 que se comporta exactamente igual (recientemente compré ambos nuevos en eBay).

¿Hay algo más que deba hacer para depurar este sensor y ver cómo puedo obtener pulsos BAJOS? ¿Podrían mis dos unidades estar defectuosas?


Aquí hay algunos resultados de las pruebas de las sugerencias de @SamGibson:

  1. No tengo un osciloscopio o analizador lógico a mano.
  2. Seguí las instrucciones para conectar un LED rojo + resistencia de 3 K (ánodo en el extremo de 5 V). El LED está APAGADO por defecto. ¿No indicaría esto un pulso BAJO constante de P1 o tal vez sea lo contrario? El LED se enciende/apaga cuando muevo la caja y muevo mi mano alrededor de la abertura del sensor (me quité la cinta). Por sí solo, obtengo un pequeño parpadeo de LED cada minuto más o menos.
  3. Usé mi multímetro para medir el voltaje a través del LED IR (parte posterior de la placa) y obtuve ~1.4 V.
  4. Apuntar en mi control remoto al fotodiodo y mantener presionado un botón enciende el LED. Sin embargo, noté que parpadea a un ritmo rápido. Confirmé con mi cámara que el LED de mi control remoto parpadea solo muy rápido. Tendré que encontrar otra fuente de IR para probar con luz IR constante.
  5. Cuando mido el voltaje en P1, obtengo 4,5 V y 4,7 V (medí ~ 15 minutos de diferencia, por eso obtuve 2 valores diferentes). Esto parece ser más alto que el rango de pulso ALTO/BAJO según la hoja de especificaciones. Si no recuerdo mal, previamente medí esto a ~4 V, por lo que no estoy seguro de qué pudo haber sucedido para causar una medición diferente.

He confirmado que el LED IR parece estar funcionando. Usé la cámara IR de mi Nintendo Wii Remote y la vista de "Sensibilidad" de Wii U. Apunté la cámara IR del Wii Remote en el ángulo correcto dentro de la apertura del sensor del PPD42 y pude ver un punto en la vista de "Sensibilidad" de Wii U. Por lo tanto, parece que estoy de vuelta al punto de partida. Entonces, la unidad parece estar funcionando pero no es lo suficientemente sensible.

¿Has consultado seeeddoc.github.io/Grove-Dust_Sensor y Takingspace.org/wp-content/uploads/… ? Es poco probable que dos sensores estén dañados. También puede consultar groups.google.com/forum/#!topic/airqualityegg/L5j7CO1dZQA donde hablan sobre agregar una resistencia para aumentar la sensibilidad.
@ crj11 Sí, analicé ambos recursos (el primero me inspiró a comprar el PPD42 y el segundo está vinculado en mi publicación). La resistencia adicional añadida al Pin5 es para controlar la sensibilidad de P2 >2,5 μm. Escuché que P1 no es confiable... así que supongo que puedo investigar más en P2. EDITAR: Debo decir que también intenté usar un pequeño ventilador de CC para mantener el flujo de aire constante sin suerte.
Usar un ventilador empeora las cosas. Este detector se basa en un flujo de aire constante, el que se utilizó en el momento de la calibración. Una partícula disparará un pulso con una longitud dada por el tamaño y la velocidad de la partícula. Una partícula grande que pase a mayor velocidad a través del detector se mostrará como una partícula pequeña activando solo la salida P1. Primero, coloque una resistencia de 27k ohm desde la salida tresh a GND (esto trae el umbral P2 igual que P1) y vea si tiene el mismo resultado en ambas salidas. Dejanos saber el resultado.
Debería tener un voltaje de alrededor de 1V en el pin tresh.

Respuestas (2)

Tengo un Shinyei PPD42 conectado a mi Raspberry Pi B+

Las salidas PPD42 podrían estar cerca de 5 V (la especificación original era un mínimo de 4,5 V, la especificación más nueva es un mínimo de 4 V), pero las entradas de Raspberry Pi no deben exceder el voltaje de suministro RPi de 3,3 V , por lo que se necesita algún tipo de conversión de nivel para voltajes más altos. . Consulte esta discusión relacionada sobre cómo conectar ese sensor a un ESP8266 . (Actualización: ha explicado amablemente que utilizó un divisor de voltaje entre la salida PPD42 y la entrada RPi. Sin embargo, dejaré esta información aquí para futuros lectores que quizás no se den cuenta de que esto es necesario).

Todas mis sugerencias de prueba a continuación son con las salidas PPD42 desconectadas de la Raspberry Pi.

como se ve en esta deconstrucción del PPD42 [...] Parece que no puedo captar el LED infrarrojo del PPD42 en mi cámara, pero puedo captar el LED infrarrojo del control remoto de mi televisor.

Esta es una muy mala señal. Tiene un detector IR en funcionamiento confirmado (porque su cámara puede "ver" el LED del control remoto IR del televisor) pero que no muestra el IR emitido por el LED PPD42. :-( El LED IR en el PPD42 debe estar encendido continuamente.

Mi conjetura sobre esto es que la duración esperada del pulso de 10-90ms es probablemente demasiado corta para que la mida el multímetro.

Incluso para un PPD42 en funcionamiento (ver más abajo), eso es cierto. De acuerdo con su hoja de datos, a su tasa de detección máxima especificada, el PPD42 emite pulsos bajos solo (típicamente) el 13% del tiempo, por lo que su salida aún sería alta la mayor parte del tiempo.

Su única indicación de pulsos bajos en un multímetro digital podría ser una ligera inestabilidad aparente en la lectura; en un multímetro analógico, es posible que vea breves "movimientos rápidos" de la aguja, ciertamente en pulsos bajos de 90 ms. Esta es un área donde los multímetros analógicos pueden permitirnos inferir más información que los medidores digitales básicos, y es por eso que algunos multímetros digitales tienen una pantalla de "gráfico de barras" de actualización más rápida (pero menos precisa), así como una actualización más lenta (pero más preciso) pantalla principal.

¿O es una indicación más de que nunca recibo pulsos del PPD42?

En su caso específico, debido a la aparente falta de IR de su LED, sospecho que esto podría ser cierto para sus sensores. El uso de un osciloscopio, un analizador lógico o una sonda lógica de estilo antiguo lo confirmaría con seguridad.

¿Podrían mis dos unidades estar defectuosas?

Es imposible descartar esa posibilidad, con la información hasta el momento.

¿Hay algo más que deba hacer para depurar este sensor y ver cómo puedo obtener pulsos BAJOS?

  • Un osciloscopio o un analizador lógico (incluso uno barato) le permitiría saber rápidamente, de una forma u otra, si está recibiendo pulsos en cualquiera de las salidas del PPD42.

  • Dado que los pulsos de luz de 10ms - 90ms deben ser visibles para el ojo humano, también puede intentar construir una sonda de voltaje de baja corriente usando un LED de alta eficiencia (por ejemplo, rojo) y una resistencia bastante grande (para minimizar la carga de la salida del PPD42) que todavía le permite ver el LED encendido claramente. Comenzaría con alrededor de 3k y no usaría menos de una resistencia de 1k.

    Conecte la resistencia LED + entre la salida P1 y 5V (ánodo LED hacia 5V, por supuesto) y busque pulsos de luz breves. Sin pulsos de luz breves = sin pulsos bajos del PPD42 (al menos, ninguno de la longitud correcta; los destellos muy, muy cortos no serían visibles para el ojo humano).

  • Además, como vio en el documento de deconstrucción de PPD42 que vinculó, hay un primer plano de la PCB y un esquema de ingeniería inversa (†). Por lo tanto, podría medir el voltaje a través del LED IR (LED1).

    No conocemos la especificación del LED, pero ese documento dice que el Vf del LED debe ser de alrededor de 1,4 V. Una medición del multímetro de alrededor de 5 V (con un suministro de 5 V) indicaría que el LED ha fallado "abierto", mientras que una medición de alrededor de 0 V indicaría que ha fallado "en corto".

  • Tiene alguna evidencia de su prueba de "agitación manual", de que el fotodiodo y el siguiente circuito pueden estar funcionando. Por lo tanto, otra prueba sería intentar usar el LED de su control remoto IR, apuntando al fotodiodo en el sensor (con la carcasa del sensor abierta, por supuesto) y manteniendo presionado uno de los botones del control remoto. Si eso causa pulsos en las salidas P1 y/o P2 del PPD42, eso aumentaría nuestra preocupación sobre el propio LED IR del sensor.

    Sin embargo, si todavía no hay pulsos de salida, no podemos inferir nada de ese resultado. Esto se debe a que podría haber una razón válida (aunque no la conozco) por la cual los destellos del control remoto IR (generalmente de 38 kHz) podrían filtrarse o ignorarse, incluso en un sensor en funcionamiento.

Si puede hacer alguna de esas pruebas, podemos intentar interpretar los resultados.

(†) Creo que hay algunos errores en ese esquema, por ejemplo, R14 y R15 (ambos de 10k) se muestran como pull- downs , mientras que mi interpretación de la imagen de PCB es que son pull- ups a 5V, y la especificación PPD42 también dice las salidas son salidas de amplificador operacional con pull-up de 10k.

Por supuesto que podría estar equivocado, ya que ya no tengo un sensor PPD42 para hacer mis propias mediciones. Solo recomiendo precaución al creer el esquema (muy útil, pero quizás un poco incorrecto), hasta que usted mismo haya confirmado su precisión.


Respuestas a los resultados de las pruebas añadidas a la pregunta principal:

  1. No tengo un osciloscopio o analizador lógico a mano.

Comprendido. Un analizador lógico USB económico (por ejemplo, un clon de Saleae) cuesta menos de $10 y se puede usar con el software de PC de código abierto Sigrok/PulseView. Dependiendo de cuán importante sea este problema para usted, puede valer la pena obtener uno. Los osciloscopios obviamente cuestan más, pero pueden mostrar la calidad de la señal de una manera que los analizadores lógicos no pueden. Ambos podrían ayudar en esta situación.

  1. Seguí las instrucciones para conectar un LED rojo + resistencia de 3 K (ánodo en el extremo de 5 V). El LED está APAGADO por defecto.

Con el LED + se conectó la resistencia entre P1 y 5V:

LED encendido = salida baja en P1
LED apagado = salida alta en P1

¿No indicaría esto un pulso BAJO constante de P1 o tal vez sea lo contrario?

Es lo contrario. Pensé que era más fácil para usted buscar destellos cortos de la iluminación LED (cada destello de luz significa que la salida P1 estaba baja), en lugar de buscar espacios cortos en un LED normalmente encendido.

El LED se enciende/apaga cuando muevo la caja y muevo mi mano alrededor de la abertura del sensor (me quité la cinta).

Ese es efectivamente el mismo resultado que su anterior prueba de "agitación manual" en la que, con el sensor abierto, obtenía diferentes valores en su software de conteo de pulsos RPi.

Por sí solo, obtengo un pequeño parpadeo de LED cada minuto más o menos.

(Supongo que esto es con el sensor cerrado y, por lo tanto, en una configuración de prueba normal).

Esta es información nueva.

Antes, parecía que no había salida del sensor, como dijiste:

lo que estoy encontrando es que, independientemente del proyecto que use, P1 y P2 casi nunca proporcionan un pulso BAJO. Entonces, termino obteniendo muchos ceros. Por ejemplo, ejecuté el proyecto mencionado anteriormente durante la noche y no vi un solo cálculo por encima de 0 durante toda la noche.

Ahora parece que hay pulsos bajos del PPD42, ¡pero no muchos! Creo que esto solo es posible si el LED IR del sensor produce alguna salida . Sin embargo, la falta de salida IR visible en su cámara contradice esta hipótesis. ¿Quizás el LED IR del sensor tiene un haz muy enfocado y su cámara no estaba en el ángulo correcto para verlo? O tal vez el LED IR es simplemente muy débil (¿defectuoso? ¿Se instaló el tipo incorrecto?).

Cualquiera que sea la razón, esta aparente contradicción entre dos puntos de datos (el LED IR parece estar funcionando, ya que obtiene algunos pulsos de salida del sensor; sin embargo, el LED IR parece no funcionar, ya que no es visible con una cámara sensible a IR) es algo en lo que me concentraría comprensión.

  1. Usé mi multímetro para medir el voltaje a través del LED IR (parte posterior de la placa) y obtuve ~1.4 V.

Ese es un valor sensato.

  1. Apuntar en mi control remoto al fotodiodo y mantener presionado un botón enciende el LED. Sin embargo, noté que parpadea a un ritmo rápido. Confirmé con mi cámara que el LED de mi control remoto parpadea solo muy rápido.

Eso da cada vez más confianza de que el fotodiodo y los circuitos de amplificación, filtro y salida del sensor funcionan básicamente.

Tendré que encontrar otra fuente de IR para probar con luz IR constante.

No estoy seguro de cómo ayudaría eso, tal vez si puede colocar esa fuente de IR constante (¿otro LED IR?) En lugar del LED IR del sensor existente, ¿puede ver si aumenta la cantidad de pulsos de salida? No puedo pensar de qué otra manera usar una fuente de IR constante que no está físicamente en el lugar correcto, en relación con el fotodiodo y su lente. Por supuesto, eso terminará con un sensor sin calibrar.

  1. Cuando mido el voltaje en P1, obtengo 4,5 V y 4,7 V (medí ~ 15 minutos de diferencia, por eso obtuve 2 valores diferentes). Esto parece ser más alto que el rango de pulso ALTO/BAJO según la hoja de especificaciones. Si no recuerdo mal, previamente medí esto a ~4 V, por lo que no estoy seguro de qué pudo haber sucedido para causar una medición diferente.

Los diferentes voltajes de CC medidos con un multímetro son difíciles de interpretar en esta situación, por las razones explicadas anteriormente. Probablemente significan que hubo diferentes proporciones de pulsos bajos, lo que resultó en diferentes valores promedio de CC que se muestran en el medidor. Sin embargo, no veo cómo es posible descartar que el voltaje "alto lógico" estático normal haya cambiado.


Basado en la nueva información de que hay pulsos bajos ocasionales en la salida del sensor, aquí hay otra prueba:

  • El sensor se basa en la convección para atraer aire al camino óptico entre el LED IR y la lente del fotodiodo. Ese proceso de convección es impulsado por la resistencia en la parte inferior de la placa que se calienta. Una posible razón para un sensor muy insensible sería si esa resistencia no se estuviera calentando. ¿Se está calentando la "resistencia del calentador" (RH1)?
Gracias por los detalles. Sin embargo, voy a utilizar algunos de sus consejos para ver qué funciona/no funciona y le informaré. Con respecto a su preocupación original, siempre he usado un divisor de voltaje para obtener la salida del PPD42 a 3.3 V. Puedo confirmar que las entradas RPi no están dañadas (por ejemplo, usando un botón para monitorear la entrada).
@TheCloudlessSky - Hola, " Siempre he usado un divisor de voltaje para obtener la salida del PPD42 a 3,3 V ". Eso es bueno. Obviamente no lo sabía, así que no podía asumirlo. Actualizaré mi respuesta y su pregunta con esa nueva información. Estoy deseando escuchar los resultados :-)
He actualizado el OP con los resultados de las pruebas.
@TheCloudlessSky - Gracias. Copié su actualización en mi respuesta y agregué mi análisis aquí, ya que no encajaría en los comentarios debajo de la pregunta. La convención aquí tiende a ser que la nueva información relacionada con una respuesta se responde en esa respuesta, así que estoy siguiendo eso. Según interpreto su actualización, parece haber nueva información importante, es decir, hay pulsos bajos del sensor, pero no muchos (usted dijo que el LED parpadeaba cada minuto más o menos), así que eso es nuevo. Agregué sugerencias de dónde enfocaría una mayor investigación y una nueva prueba en la parte inferior: el calentador. HTH
Para aclarar desde mi OP, cuando la abertura del sensor estaba cubierta con cinta, lo ejecuté durante ~ 12 horas y casi siempre obtuve 0. Hubo algunos valores distintos de cero, pero no tan sensibles como lo que parecen obtener otras personas. Esta vez con el LED, la cinta estaba apagada por lo que el flash. Por lo tanto, el parpadeo aproximadamente cada minuto era más probable que la apertura del sensor no tuviera la cinta y se viera afectado por la luz ambiental (algo que las hojas de especificaciones u otras personas dicen que puede suceder). También puedo confirmar que la resistencia en la parte inferior de la placa (la que está dentro del escudo negro) está realmente caliente.
En lo que respecta al LED IR, tal vez el enfoque de la cámara de mi teléfono no sea lo suficientemente bueno para confirmar que el LED realmente funciona o, debido a que está enfocado, no es súper brillante para captar (por lo que es una pista falsa). La medición del voltaje en el LED IR parece confirmar que está funcionando.
@TheCloudlessSky - " Esta vez con el LED, la cinta estaba apagada " Oh :-( No entendí bien. Ya sabíamos por su informe inicial, que con la cinta apagada (es decir, la luz externa podía entrar) tenía algo que no era cero cuentas. Por lo tanto, no esperaba que repitieras la misma prueba, ya que (por lo que puedo ver) no nos dice nada más. Por lo tanto, pensé que habías probado en la situación de "vida real, sensor cerrado". Supongo que no fui lo suficientemente claro. Tendré que volver a pensar en mi análisis, pero habrá un retraso ya que he pasado horas en esto y me está llamando otro trabajo. (Ver siguiente...)
(Continuación) " La medición del voltaje en el LED IR parece confirmar que está funcionando. " No, eso no nos dice nada acerca de su salida de luz. Confirma que el LED no tiene una falla grave (abierto o en cortocircuito). Gracias por confirmar que la resistencia se calienta. || Después de una revisión rápida de sus últimos comentarios, parece que no tenemos confirmación de que el LED IR del sensor esté emitiendo mucho (o nada) IR, especialmente si no hay parpadeos del LED conectado a la salida (con el sensor cubierta cerrada) y sin confirmación de su cámara (con el sensor abierto) de ningún IR emitido.
He confirmado que el LED IR parece estar funcionando. Usé la cámara IR de mi Nintendo Wii Remote y la vista de "Sensibilidad" de Wii U. Apunté la cámara IR del Wii Remote en el ángulo correcto dentro de la apertura del sensor del PPD42 y pude ver un punto en la vista de "Sensibilidad" de Wii U. Por lo tanto, parece que estoy de vuelta al punto de partida. Todo parece estar funcionando correctamente, solo que no es lo suficientemente sensible.

El sensor de partículas funciona detectando las partículas de corriente de luz reflejadas por la luz IR enfocada en una ruta de intersección del fotodiodo (PD) en un ángulo de 45 grados.

Posibles problemas:

  • La lente está sucia (límpiela con la punta Q)
  • Hay demasiada luz ambiental (evítela si la lente PD es transparente o no tiene filtro negro)
  • A su contador de pulsos le faltan pulsos (verificar)

    • ¿Cuál es el ancho de pulso mínimo que se puede detectar?
  • el flujo de aire es demasiado alto (evite todo flujo de aire forzado o viento)

  • ondulación excesiva en +5V (verificar)

Razones

El sensor se basa en partículas muy pequeñas que se mueven lentamente por un aumento de calor lento controlado y una bomba de flujo de aire lento. Si las partículas se mueven demasiado rápido, el filtro de paso bajo antes y después de la etapa de salida reducirá la altura total del pulso para que no alcance los umbrales de 1 V y 2,5 V para una salida de pulso negativa. La trayectoria del haz del emisor enfocado en el haz es aproximadamente del mismo tamaño que el PD de 5 mm, por lo que la detección de partículas que se mueven más allá de 5 mm depende de una velocidad lenta con un filtro de paso bajo de 39 ms = T para que los reflejos de partículas de 10 ms mínimo estén sobre el umbral de detección.

Esto se traduce en 5 mm/10 ms o 0,5 m/s como la velocidad máxima de una partícula y está controlada por la resistencia del calentador.

Métodos de prueba simples sin alcance.

  • Cree un contador de pulsos ópticos usando un CD4024 con 7 salidas binarias que pueden controlar directamente un LED de 5 mm con aproximadamente 2 mA con un suministro de 5 V debido a un alto RdsOn interno
    • hacer uno para cada salida P1, P2
  • calibre el sensor de acuerdo con los métodos de fábrica con partículas de aerosol

ingrese la descripción de la imagen aquíingrese la descripción de la imagen aquí

Conecte P1, P2, 5V, gnd con cable de teléfono a la placa de prueba. Restablezca a tierra y ánodo de LED a cada salida y cátodo a tierra (Vss), +5 V a Vdd. agregue e-cap a través del riel de 5V. (no se necesita la serie R para CD4xxx en 5V) agregue un botón pulsador opcional para Restablecer ("1") con 10k a tierra o equivalente.