Implemente el interruptor de encendido de MicroController y reutilice el botón para otras funciones

6

Esto es similar a otras preguntas, pero siento que es diferente debido a la reutilización del botón de "encendido".

Quiero un botón de encendido momentáneo "enganchado".

Comportamiento:

  1. El usuario presiona el botón momentáneo, mantiene presionado el tiempo necesario y el dispositivo se enciende.

  2. Entre Encendido y Apagado, el mismo botón se reutilizará para otras funciones

  3. Cuando se mantiene presionado durante 5 +/- segundos, el MicroController se apagará solo.

Restricciones de diseño:

  1. La batería proporciona entre 3.7V y 2.9V durante su vida útil

  2. El regulador de voltaje requiere Vin +/- 0.3V en el Pin de activación, salida de 3.1V.

  3. MicroController opera a 3.1V

  4. El estado alto del pin de salida del micro controlador es 2.7V máx.

Debouncing: en este caso, no me preocupa deshacer el cambio, si el usuario no lo mantiene presionado el tiempo suficiente para que el MicroController establezca su pin de salida digital. Alto el dispositivo no se enciende.

He desarrollado el siguiente esquema, qué tipo de trabajos.

Falstad Circuit Simulator of my schematic

Asume 3.7V de la batería. Utiliza una entrada analógica para el botón de encendido, que luego utiliza la variación de voltaje para determinar si se ha presionado el botón. En el diseño actual, la diferencia es de 0.12 V (de 3.4 a 3.52), pero el MicroController tiene un ADC de 12 bits, por lo que no debería ser un problema, además puedo ajustar el rango de sensibilidad del ADC.

Preguntas:

¿Cuál es la diferencia entre la realidad y el simulador?

¿Hay una mejor manera?

¿Cómo puedo obtener una mayor diferencia de voltaje en la entrada del botón? He probado muchas combinaciones diferentes, pero aumentan el rango de voltaje por encima del máximo máximo de entrada de 3,6 V especificado en la hoja de datos.

No estoy entusiasmado con la "Corriente de fuga" cuando el Pin de alimentación controlada de uC es bajo, ¿alguna sugerencia?

Gracias por cualquier idea / sugerencia / respuesta.

    
pregunta James

3 respuestas

6

Esta es una variación en mi respuesta a esta pregunta . Al igual que Mike, también estoy usando un MOSFET de canal P. El OP declaró: "El regulador de voltaje requiere Vin +/- 0.3V en el Pin de Habilitación", y el estado "Pin Alto de Salida del Microcontrolador es 2.7V Máx". Por lo tanto, cuando el voltaje de la batería es superior a 2.7v, el µC no podrá suministrar el voltaje requerido para cumplir con la especificación de voltaje para el cable de activación. Así que estoy usando el cable de control del µC para controlar el MOSFET, que a su vez cambia el voltaje de la batería (o Vin) al cable de Habilitación.

Inicialmente, el cable de control del µC se configura como una entrada. Cuando se presiona el botón, la energía de la batería se aplica a través de un diodo Schottky (mantenga Vf por debajo de 0,3v) para habilitar el regulador. El µC luego configura el cable de control como una salida y lo conecta a tierra, manteniendo el cable de habilitación alto a través del MOSFET (que mantiene el voltaje en el nivel de la batería). Mientras tanto, el botón se puede utilizar como entrada.

El circuito debe consumir muy poca energía (menos de 1 µA) cuando se apaga el µC, asumiendo que el regulador se apaga completamente cuando el cable de activación está bajo.

Esto elimina el costo del chip LTC2954 que se ejecuta en más de $ 2 en cantidades de 500 unidades. Este circuito debe tener menos de 10 centavos en cantidad (excepto el interruptor y el regulador).

    
respondido por el tcrosley
5

Muchos micros, especialmente los diseñados para baja potencia como el MSP430, tienen una interrupción de cero. La CPU se apaga en lugar de apagarse completamente. En este modo toma unos pocos uA. Cuando se presiona el botón, se activa una interrupción (es decir, se enciende en lo que concierne al usuario) y luego puede monitorear el pin para alguna entrada y apagar o realizar alguna otra función dependiendo de la forma en que se presiona el pin. .

No es necesario ningún circuito externo (excepto el botón).

Consulte esta nota de la aplicación TI para ver un ejemplo

    
respondido por el Jason Morgan
3

Probablemente desee un Controlador de botón pulsador , como el LTC2954-1 . Están disponibles en TSOT-23 en alrededor de $ 5 cada uno en pequeñas cantidades. Esto va a funcionar mucho mejor que tratar de evitar que su MCU llueva la batería. Y sí, la simulación es probablemente lo suficientemente cercana a la realidad.

VINpuedecaerhasta2.7Vyseguiráfuncionando.ElcircuitodearribamuestraunPFETparaencenderoapagarelregulador,perosisureguladortieneunaentradadeactivaciónactiva-baja,puedesimplementeconectarlaENdirectamente.ENesunpindedrenajeabierto,porloquenotienequepreocuparseporcuáleselaltovoltaje;elreguladortendráquelevantarsupropiopasadorEN,opuedecolocarunaresistenciadepullup.Sitieneunahabilitaciónactiva-alta(nohevistomuchasdeellas),puedecolocarunNFETyunpardepullupsentreelcontroladorENyelconvertidorENparainvertirelnivel.

Cuandoelsistemaseestáejecutando,alpresionarelbotónduranteunbreveperíododetiempo,tirarádeINThaciaabajo.Nuevamente,esteesunpindedrenajeabiertoquenoleimportaloqueessuVCC,soloagregueunaresistenciadeextracción.Además,hayunaentradaKILLquelaMCUpuedeusarparaapagarlaalimentación.ElcapacitorenelPDTestableceladuracióndeunapresiónINT"corta" en lugar de una prensa "larga" APAGADA.

Linear fabrica varios chips de controlador similares (todos los números LTC295_) con varias características; mire a través de ellos para asegurarse de obtener el correcto.

    
respondido por el Mike DeSimone

Lea otras preguntas en las etiquetas