Desarrollé una placa de sensor simple basada en el microcontrolador Attiny84a que puede comunicarse a través de una conexión en serie. Estoy usando un cargador de arranque arduino y la biblioteca SoftwareSerial en los pines 5 (RX) y 3 (TX). Me gustaría poder mantener la línea serie conectada mientras se apaga y enciende el sensor. Pero parece que el Attiny84 se alimenta a través de la línea RX de la conexión en serie, que es elevada por el otro compañero de comunicación.
Parece que la línea RX se tira a 3,4 voltios cuando no hay nada conectado y puedo medir 1,4 V en los pines Vcc y GND de Attiny84 cuando la línea serial está conectada. Aparentemente, eso es suficiente para encenderlo, ya que mi LED de depuración comienza a parpadear tenuemente.
¿Hay alguna forma sencilla de mantener apagado el Attiny84 incluso cuando el cable serie está conectado?
Dependiendo de los márgenes que tenga disponibles, esto podría funcionar para usted. Permite que la señal Rx atraiga la entrada ATTiny Rx hasta 0,6-0,7 V, pero no permite que la corriente fluya de regreso al procesador. El nodo "ATTiny VCC" se enciende y apaga con el procesador. Si esto es de 5 V (en lugar de 3,3 V), debe dimensionar la resistencia para que no cause problemas de reflujo en el circuito Rx.
Si 0.6V es demasiado alto para activar un buen BAJO en el ATTiny, puede usar un diodo de caída baja como un Schottky o un germanio.
simular este circuito : esquema creado con CircuitLab
Esto sucede porque hay diodos de protección internos en los pines GPIO, por lo que cualquier voltaje que entre se deriva al riel de alimentación interno...
Aunque estos son pequeños diodos, este chip usa tan poca energía que a menudo es suficiente para ejecutarlo. ¡Esta es la fuente de uno de los 10 errores más difíciles que he encontrado!
Siempre que el voltaje en el pin ~RESET sea inferior a 0,2*Vcc, el chip permanecerá en una condición de reinicio y no funcionará.
Puede conectar el pin ~RESET al pin de la fuente de alimentación y usar una resistencia desplegable para mantener el pin ~RESET por debajo del umbral cuando no hay una fuente de alimentación activa. Tenga en cuenta que necesita el menú desplegable porque hay un menú desplegable interno en el pin ~RESET.
simular este circuito : esquema creado con CircuitLab
Este método desperdicia un poco de corriente, pero mantendrá el chip en un estado de reinicio cuando no esté alimentado activamente.
Tenga en cuenta que habrá una caída de voltaje en el diodo.
Aquí usamos la fuente de alimentación para habilitar el pin de entrada. Si no hay voltaje proveniente de la fuente de alimentación, no hay corriente significativa para fluir hacia el pin de entrada.
Si la velocidad de sus comunicaciones es lo suficientemente baja y su presupuesto de energía lo permite, a menudo puede evitar esto simplemente agregando un diodo entre el pin RX y el mundo exterior (ánodo al pin RX, cátodo al mundo exterior), y luego tener una resistencia pull-up en el pin RX (su micro podría hacer esto internamente).
Luego, el dispositivo remoto solo puede bajar el pin RX, pero la resistencia pull-up lo volverá a subir.
Probablemente querrá usar un diodo schottky (por ejemplo, BAT54), y debe pensar en los niveles bajos de entrada (Vil) que obtendrá en el pin micro; verifique que todavía estén bien.
Si no puede hacerlo así, puede usar un búfer en esa línea, seleccionando un búfer que no tenga este comportamiento de diodo de protección a VCC (por ejemplo, 74LVC o uno de los otros como este - Llamada de Texas Instruments este soporte 'Ioff' - vea esto por ejemplo)
yippie
sombrereroloco
yippie
Simón Harst
kjgregory
Simón Harst