Tengo un circuito bastante simple que funciona perfectamente en la placa de pruebas, pero tengo muchos problemas para transferirlo a una PCB. Veo un comportamiento muy extraño que se encuentra fuera de mi experiencia actual, así que espero obtener algunos consejos.
El circuito implementa un sensor de movimiento wifi, aunque el problema que tengo ocurre mucho antes de llegar a la parte RF, o incluso a la parte uC del diagrama:
He marcado la parte que está teniendo problemas.
R3 es una resistencia pull-down, que se requiere b / c AMN42121 impulsa la salida HIGH cuando se detecta movimiento, pero la deja colgando sin movimiento, por lo que se necesita pull-down.
Usé C1 para suavizar la transición entre movimiento y sin movimiento. C1 hace que el nivel de salida vaya a BAJO lenta y suavemente, por lo que se alcanza el estado "sin movimiento" después de unos segundos sin movimiento.
El inversor está allí b / c Las interrupciones externas de Attiny se activan por un nivel BAJO, por lo que necesito invertir la lógica. Es lamentable que tuve que usar un paquete DIP tan grande para un inversor, pero no pude encontrar nada más.
He hecho una PCB de doble cara para este circuito, que se ve así:
De nuevo, solo he ensamblado el área circundada hasta ahora.
Después de soldar S1, R3 y C1, obtengo la siguiente señal de la salida del sensor:
Esto es exactamente lo que quiero ver, así que todo está bien hasta este punto.
Luego solde en un zócalo para IC2 y conecte el inversor. Aquí es donde comienzan los misterios. Al principio todo estaba bien, pero después de un rato de jugar con la placa, el circuito dejó de funcionar de repente. Cuando coloco una sonda en la salida del sensor, en lugar de la buena señal que vimos arriba, veo variaciones en los siguientes dos ejemplos:
Ejemplo 1:
Ejemplo 2
Tenga en cuenta que, a diferencia del primer ejemplo, la señal en el segundo ejemplo no se genera por el movimiento; esa forma de diente de sierra simplemente emerge por sí misma sin ninguna acción mía.
Después de muchas pruebas, pude establecer lo siguiente:
- Desenchufar el inversor del zócalo hace que el sensor vuelva a funcionar correctamente.
- Cortar la energía al inversor mientras lo deja enchufado hace que el sensor funcione.
- Usar un inversor diferente no tiene ningún efecto.
- Empapar la placa con quitafuegos o acetona y fregar con un cepillo a veces hace que el sensor vuelva a funcionar, pero muy brevemente. En un momento pude hacer que la señal se viera así frotando agresivamente con un cepillo de dientes:
Tenga en cuenta que incluso en esta última imagen, la señal no regresa a nivel BAJO en todo momento. El efecto desapareció casi tan pronto como dejé de cepillarme.
Hasta ahora, esto apunta a algún defecto de soldadura, excepto que realmente no puedo ver el problema. He revisado el tablero con cuidado con una magnífica ampliación y probé la continuidad de todos los puntos que se me ocurrieron: todo funciona. Aquí hay un primer plano del trabajo de soldadura en el zócalo IC y el sensor:
Ya no tengo ideas, por lo que cualquier consejo sería muy apreciado. Gracias.
EDITAR:
Acabo de descubrir algo interesante. Un examen más detallado del ejemplo # 2 (la señal de la forma del diente de sierra) revela que la pendiente descendente es un segmento de la curva de descarga de C1 esperada. Cuando el nivel de voltaje se acerca al umbral del inversor y pasa demasiado tiempo allí, ¡el inversor parece estar confundido! Está generando ese pequeño estallido de ruido y luego hace algo para devolver la entrada a ALTO, o simplemente se queda en ese estado ruidoso "indeterminado" indefinidamente hasta que la salida del sensor vuelve a ALTO nuevamente b / c de movimiento (Ejemplo # 1).
Para probar esta teoría, reemplacé C1 con una tapa que es 10 veces más pequeña, haciendo que la curva de descarga sea mucho más empinada y "¡voilá!" - ¡el inversor ya no se confunde y el circuito funciona!
Por supuesto, esto anula el propósito de C1, ya que ahora no proporciona tanto retraso como yo quiero. No estoy seguro de por qué no tuve este problema con el inversor en la placa de pruebas, pero sugiere que podría haber una solución muy fácil que pueda solucionar este problema. Leí que las placas de pruebas tienen una gran capacitancia "parásita", así que ¿tal vez solo necesito agregar estratégicamente algunos capacitores más en alguna parte? ¿Algunas ideas?
EDITAR 2: Proporciona una vista superior ya que algunos comentaristas lo solicitaron:
fuente
Respuestas:
EDITAR: debido a mi interpretación errónea del circuito, estoy editando la respuesta para centrarme en la salida del sensor: ¿está utilizando la salida analógica para alimentar el inversor? Si es así, debería probar un disparador Schmitt como un 74HC14
fuente
Sin estudiar su circuito con gran detalle, lo obvio es que no tiene condensadores de desacoplamiento.
Suelde uno a través de los pines de alimentación de cada chip.
Además, su comentario de 'fregar hace que funcione' sugiere que tiene una articulación seca o una conexión intermitente en alguna parte. Inspeccione todas sus soldaduras con cuidado.
En cuanto a que un chip DIL es excesivo, podría haber usado un transistor y poner el tiempo de retraso en el software.
fuente
Su principal preocupación parece ser la reducción del consumo de energía.
El AMN42121 consume aproximadamente 50 uA de forma continua. El 74HC04 consume alrededor de 20uA continuamente. El ATTINY85 consume unos 300 uA de forma intermitente, al despertar. La radio usará miliamperios cuando transmita.
¿Con qué frecuencia se activará el sensor? ¿Has hecho algún cálculo de potencia para estimar la duración de la batería?
Le sugiero que descarte el inversor y el condensador de 'desaceleración', conecte el sensor directamente a la MCU con un pulldown de 10K según la hoja de datos del sensor y escriba la lógica de retardo de tiempo en la MCU.
[EDITAR] Aunque tienes las cosas un poco mal, me alegra ver que estás probando tu circuito etapa por etapa. Es mucho más fácil que tratar de encontrar un proyecto completo.
fuente