Circuito de reinicio pasivo para el diseño de juegos de múltiples chips

0

He estado construyendo un pequeño dispositivo de juego portátil basado en el ATTiny85 y una pantalla OLED SSD1306. Es un sistema muy limitado y, como tal, necesitaba ser creativo en cuanto a cómo usaba los pines de E / S. Le pregunté a una pregunta para reemplazar El SSD1306 restablece la lógica con pasivo? componentes.

Esto funcionó en mi prototipo inicial y estaba feliz. Hoy recibí nuevas PCB con un diseño más pequeño y cercano, una fuente de alimentación diferente y el circuito de restablecimiento ya no funciona correctamente.

Este es el circuito en cuestión:

simular este circuito : esquema creado usando CircuitLab

Elesquemamuestraeldiseñooriginalcuandoestabausandounaceldalipode3.7vparaalimentarlo.Estoyenminuevodiseño,estoyusandounaceldadelitioCR2032ymepreguntosiesohacausadoelproblema.

Cuandoelsistemaestáencendido'frío',todofuncionabien.Siapagoyvuelvoaencenderloenunos10segundos,elOLEDnorecibelaseñaldereinicioadecuadaymuestralabasura.Alpresionarelbotóndereinicio,sereiniciaelmicrocontrolador,peronolapantallademaneraadecuada;semostraráprogresivamentemenosbasurahastaquesequedeenblancoenlosreiniciossucesivos,elMCaúnserestablecebien(tieneuntonode"inicio" que se reproduce y el botón presiona el pitido esperado).

Como se mencionó: obtuve el circuito de reinicio de otra pregunta que hice, pero no estoy seguro de entender completamente cómo funciona. Realmente apreciaría una breve descripción de lo que sucede cuando se enciende / reinicia el botón presionado.

¿Es probable que mi problema sea el pequeño cambio en el voltaje? Sé que la primera vez que armé mi primer prototipo, accidentalmente usé la resistencia incorrecta, colocando un kohm de 1k en lugar del de 10k ohm y esto también provocó que el circuito dejara de funcionar correctamente. Soy ingenuo en la esperanza de poder modificar el valor de resistencia para hacer que las cosas funcionen de nuevo?

Cosas que he probado en base a los comentarios a continuación:

  1. Se agregó un retraso en el inicio del programa de 200 ms. Sin efecto.
  2. Se reemplazó 3v CR2032 con 3.7v LIPO original. Sin efecto.
  3. Mantener un condensador de 10uF en paralelo con el 0.1 (C1) existente. Sin efecto.
  4. Se omite D2 con un poco de cable. Sin efecto.

En mi antiguo prototipo, mantener presionado el botón de reinicio causó que la pantalla se pusiera en blanco y se reiniciara, al mantener presionado el botón de reinicio aquí no afecta a la pantalla hasta que se libera. Todo lo que hice entre revisiones fue mover los pads, las conexiones son todas iguales. Mi multímetro aparece para confirmar esto también. Sin embargo, el # 4 me hace preguntarme si hay algún problema mecánico.

    
pregunta MalphasWats

3 respuestas

2

Acumular la tapa a unos pocos 10s de uF (al menos 3us de low se espera un pulso de reinicio durante el encendido. Actualmente, parece que es marginal ...) debería mejorar el tiempo de reinicio.

Cortocircuitaría ambos pines de reinicio juntos (al reemplazar el diodo con una resistencia de 0 ohmios) y no veo ningún efecto negativo del mismo. ¿Cuál es la razón de D2? También está evitando el reinicio del interruptor de presión para proporcionar reinicio a esta pantalla manteniendo el pin de reinicio por encima de la caída de tensión directa del diodo.

Si es posible, también usaría un IC de generador de reinicio dedicado, pero no estoy seguro de las restricciones que tiene.

  1. Coloque una tapa de 100 nF, si es posible, cerca del pin VCC del módulo de pantalla.
  2. 10k pull up para MCU no se encuentra actualmente. No le hará daño que lo lleven a VCC a través de 10k.

Por favor, comparta también la forma de onda para el primer encendido en el encendido posterior.

Cuando se presiona el botón Restablecer: El condensador se descarga inmediatamente a través del interruptor. El pin de reinicio de MCU y el módulo de pantalla se mantendrán a tierra.

Cuando se suelta el botón de reinicio: El condensador se carga lentamente a 3 V a través de la resistencia de 10k. El tiempo de 3RC es aproximadamente 3 * 10k * 100n , que es 3 u segundos.

Por lo tanto, la resistencia del condensador de corriente es demasiado pequeña para generar un pulso bajo de 3us. Aumentar el valor del condensador a un valor más alto ayudará.

Cuando se elimina la alimentación: La carga en este condensador se descarga a través de un diodo que está en paralelo con la resistencia en la versión de esquema de KiCAD. Por lo tanto, la descarga ocurre más rápido.

    
respondido por el Umar
1

Creo que necesitará restablecer activamente el OLED desde su código de programa, para lograr una operación confiable. Este circuito de reinicio pasivo podría ajustarse para funcionar cuando se presiona el botón de reinicio, pero será más difícil manejar el estuche cuando se apague la alimentación y luego se vuelva a encender rápidamente.

Dado que no tiene ningún pin de salida de MCU de repuesto para usar para el restablecimiento de OLED, uno de los pines existentes deberá cumplir la doble función. Sugiero usar la señal de entrada D / C # del OLED, con este simple circuito:

simular este circuito : esquema creado usando CircuitLab

El microcontrolador puede mantener bajo D / C # durante unos 30 milisegundos para restablecer el OLED. En la operación normal, D / C # casi siempre es alto, y no hay ninguna razón por la que quieras que sea bajo durante 30 ms, por lo que los restablecimientos OLED accidentales no deberían ser un problema.

Esta solución también utiliza menos componentes que el circuito de restablecimiento pasivo propuesto.

    
respondido por el bmow
0

El diseño de un circuito de restablecimiento a prueba de balas es, como ha encontrado, no trivial. Muchos productos de consumo están malditos con circuitos de restablecimiento por debajo del estándar porque el diseñador optó por ahorrar uno o dos centavos.

Le sugiero encarecidamente que simplemente compre un circuito de reinicio adecuado que maneje la caída de tensión y otras condiciones de manera confiable. ADM80x es uno de esos circuitos. Incorpora una referencia, un comparador y un temporizador, todos los cuales están garantizados para funcionar (y por lo tanto imponen niveles de reinicio válidos) hasta una tensión de suministro de menos de 1V. ¡No seas pasivo, sé asertivo!

Hay algunos que tienen una opción de restablecimiento manual si realmente lo necesitas.

    
respondido por el Spehro Pefhany

Lea otras preguntas en las etiquetas