Tengo un circuito bastante simple que funciona perfectamente en la placa de pruebas, pero tengo muchos problemas para transferirlo a una placa de circuito impreso. Veo un comportamiento muy extraño que se encuentra fuera de mi experiencia actual, por lo que espero recibir algún consejo.
El circuito implementa un sensor de movimiento wifi, aunque el problema que tengo ocurre mucho antes de llegar a la parte de RF, o incluso a la parte de uC del diagrama:
He marcado con un círculo la parte que está teniendo problemas.
R3 es una resistencia pull-down, que se requiere porque AMN42121 impulsa la salida ALTA 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 logra el estado "sin movimiento" después de unos segundos sin movimiento.
El inversor está ahí porque las interrupciones externas de attiny se activan por el nivel BAJO, por lo que necesito invertir la lógica. Es lamentable que haya tenido que usar un paquete DIP tan grande para un inversor, pero no pude encontrar nada más.
Hice una PCB de doble cara para este circuito, que se ve así:
Nuevamente, hasta ahora solo he ensamblado el área rodeada por un círculo.
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.
A continuación, soldé un zócalo para IC2 y conecté el inversor. Aquí es donde comienzan los misterios. Al principio todo estaba bien, pero después de un tiempo de jugar con la placa, el circuito de repente dejó de funcionar. 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 emerge por sí sola sin ninguna acción por mi parte.
Después de muchas pruebas, pude establecer lo siguiente:
Tenga en cuenta que incluso en esta última imagen, la señal no regresa al nivel BAJO en todo el camino. 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. Revisé el tablero cuidadosamente con un gran aumento y probé todos los puntos que se me ocurrieron para verificar la continuidad: todo se verifica. Aquí hay un primer plano del trabajo de soldadura en el zócalo IC y el sensor:
Ahora estoy fuera de las ideas, por lo que cualquier consejo sería muy apreciado. Gracias.
EDITAR:
Acabo de descubrir algo interesante. Un examen más detallado del ejemplo n.° 2 (la señal en forma de diente de sierra) revela que la pendiente descendente es un segmento de la curva de descarga C1 esperada. Cuando el nivel de voltaje se acerca al umbral del inversor y pasa demasiado tiempo allí, ¡parece que el inversor se está confundiendo! Está generando ese pequeño estallido de ruido y luego hace algo para devolver la entrada a ALTO, o simplemente permanece en ese estado ruidoso "indeterminado" indefinidamente hasta que la salida del sensor vuelve a ALTO debido al movimiento (Ejemplo n.º 1).
Para probar esta teoría, reemplacé C1 con una tapa que es 10 veces más pequeña, lo que hace que la curva de descarga sea mucho más pronunciada y "¡listo!" - ¡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 quiero. No estoy seguro de por qué no tuve este problema con el inversor en la placa de prueba, pero sugiere que podría haber una solución muy fácil que pueda abordar este problema. Leí que las placas de prueba tienen una gran capacitancia "parásita", así que tal vez solo necesito agregar estratégicamente algunos condensadores más en alguna parte. ¿Algunas ideas?
EDIT 2: Proporcionar una vista superior ya que algunos comentaristas lo pidieron:
EDITAR: debido a mi mala interpretación 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í, tal vez debería probar un disparador Schmitt como un 74HC14
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 lo hace funcionar' sugiere que tiene una junta seca o una conexión intermitente en alguna parte. Inspeccione todas sus soldaduras cuidadosamente.
Con respecto a que un chip DIL es excesivo, podría haber usado un transistor y poner las cosas de retardo de tiempo en el software.
Su principal preocupación parece ser reducir el consumo de energía.
El AMN42121 consume alrededor de 50uA de forma continua. El 74HC04 consume alrededor de 20uA de forma continua. El ATTINY85 consume alrededor de 300uA de forma intermitente, es decir, cuando se despierta. La radio utilizará 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 deseche el inversor y el capacitor de "reducción de velocidad", 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 tiene las cosas un poco mal, me alegra ver que está probando su circuito etapa por etapa. Es mucho más fácil que tratar de encontrar fallas en un proyecto terminado.
connor lobo
Val Blant
abdullah kahraman
abdullah kahraman
Val Blant
abdullah kahraman
MCUCR
el registro en la página 50 de la hoja de datos .abdullah kahraman
connor lobo
Val Blant
Val Blant
abdullah kahraman
7.1.3.Power-down Mode
en la página 34.Val Blant
This sleep mode halts all generated clocks, allowing operation of asynchronous modules only.
Y la sección 9.2.1 dice:A low level interrupt on INT0 is detected asynchronously.... The I/O clock is halted in all sleep modes except Idle mode.
. Estoy bastante seguro de que esto significa que solo las condiciones de bajo nivel pueden despertar al uC del modo de apagado. El disparador Rising Edge requeriría un reloj en funcionamiento, que no funciona en ese modo de suspensión. ¿Alguna vez has probado a hacer lo que te propones? ¿Funciona?Val Blant
AndrejaKo
abdullah kahraman