Dirección de control del flujo de corriente a través del pin dependiendo del tipo de dispositivo conectado

Tengo un pequeño dispositivo portátil, llamémoslo MAESTRO, que se puede insertar en dos accesorios diferentes: CARGADOR y ESCLAVO. Puede consultar diagramas de bloques muy aproximados en la imagen adjunta.

diagrama

MASTER tiene una batería LiPo de 40 mAh en el interior con un voltaje nominal de alrededor de 3,7 V (pero, por supuesto, durante el uso es algo entre 3 y 4,2 V). Este voltaje se regula aún más a 1,8 V. Ese es el voltaje que utiliza MCU.

MASTER tiene 3 pines/almohadillas que se extienden fuera del recinto de MASTER. No se extienden mucho, pero el usuario definitivamente puede tocarlos o acortarlos de otra manera.

CHARGER y SLAVE tienen dedos de resorte (algo como esto http://www.te.com/catalog/products/en?q=2199001 ) que forman un contacto cuando se coloca MASTER dentro.

El pin de DATOS se utiliza para la identificación de un solo cable ESCLAVO/CARGADOR. La memoria con ID se alimenta de forma parásita, por lo que se puede leer incluso cuando la batería no está conectada al ESCLAVO. MAESTRO puede determinar fácilmente si el accesorio conectado es ESCLAVO o CARGADOR.

Todo lo demás en el ESCLAVO (excepto la memoria) debe ser alimentado desde los pines BAT y GND del MAESTRO porque el ESCLAVO no tiene batería.

Pero también la batería de MASTER debe ser recargable a través de pines BAT y GND.

Lo que finalmente nos lleva al problema: ¿es posible suministrar voltaje al ESCLAVO y también recargar la batería del MAESTRO usando solo un pin? Y, por supuesto, sin posibilidad de cortocircuitar la batería del MASTER y otros componentes.

NOTA: El suministro de voltaje al ESCLAVO y la recarga del MAESTRO NUNCA ocurrirán al mismo tiempo, estos son eventos completamente separados.

Ahora algunas ideas que tenía pero que no pude implementar (probablemente porque soy demasiado estúpido :)):

  • Puede usar la identificación en ESCLAVO/CARGADOR para "abrir" las rutas de suministro/carga del circuito, pero tenga en cuenta que la carga de la batería DEBE ser posible incluso cuando la batería está completamente agotada y cortada.
  • Usando algo de magia MOSFET/transistor para reconocer el tipo de accesorio (ESCLAVO o CARGADOR).
  • Corte el pin BAT de la batería cuando se detecte sobrecorriente. Pero los fusibles reiniciables rápidos no son lo suficientemente rápidos. Además, el relé o el relé SSR no son adecuados debido a su tamaño.
  • La última idea fue usar 4 pines en lugar de solo 3. Este debería ser el último recurso. Si me dicen que no se puede hacer con solo 3 pines, haré una nueva pregunta.

¡Gracias a todos de antemano!

¿Cuál es el estado predeterminado de la línea de datos externos en cada uno?
@IgnacioVazquez-Abrams La interfaz de un solo cable es UNI/O de Microchip ( wiki ). Wiki dice "El estado inactivo del bus UNI/O es lógicamente alto".
Entonces ya has ganado la mitad de la batalla, ya que puedes detectar eventos de inserción.
@IgnacioVazquez-Abrams Sí, los eventos de inserción se pueden detectar incluso sondeando la línea de datos del maestro. Incluso puedo averiguar qué tipo (CARGADOR/ESCLAVO) está insertado.
No sondearía, usaría un menú desplegable débil y conectaría la línea de datos a un pin de interrupción. Luego puede usar esto como un disparador para iniciar la magia del transistor (ya que así es como lo hará) después de que las cosas se hayan asentado.
Para continuar, tendría un par de MOSFET conectando la línea de la batería, con otro MOSFET en el exterior de estos en la región óhmica para detectar cuándo está conectado el cargador. El problema viene cuando la batería se agota, aunque podrías aprovechar el diodo del cuerpo para suministrar energía a la MCU en ese caso.
¿Podría dibujar un diagrama simple, porque una imagen es como mil palabras? :) Y lo siento mucho, pero mi conocimiento de los MOSFET es bastante limitado. Los he usado solo para diseños simples.
Algo como esto , pero probablemente tendrá que usar un par mixto ya que necesita una conexión cuando la batería esté agotada. Y luego el otro MOSFET va a tierra y se mide la corriente a través de él, pero se apaga cuando se determina el periférico. No tengo suficiente experiencia para terminar el circuito por ti, pero alguien debería poder tomar estas divagaciones y convertirlas en algo útil.
Gracias, esperemos que alguien aparezca y nos ayude :) Llevo bastante tiempo en esto y aún nada...

Respuestas (1)

Estás haciendo esto demasiado difícil. Todo lo que necesita hacer es un interruptor de batería que desconectará la línea BAT cuando no haya accesorios enchufados. Esto es trivial de hacer con un solo MOSFET (tendrá un diodo de protección, así que asegúrese de conectarlo de manera que no pueda descargar el batería cuando el MOSFET está apagado). Un microcontrolador debe abrir el MOSFET cuando el dispositivo está enchufado, y luego será prácticamente indistinguible del cable.

Su única preocupación es lo que sucede cuando la batería se agota. Bueno, en este caso, el diodo de protección del MOSFET ayudará: permitirá que se limite la carga de la batería incluso cuando el MOSFET esté apagado. No permitirá la carga completa debido a la caída de voltaje, pero no importa: en el momento en que la batería tenga solo un poco de energía, la MCU se iniciará y abrirá el MOSFET.

Pensé en eso. ¿Lo quisiste decir así? Enlace a la imagen
Tal vez olvidé mencionarlo, pero la MCU funciona con 1,8 V y, por lo tanto, sus salidas son capaces de solo 1,8 V. Si se usa MOSFET como en la imagen de arriba, no puedo hacer Vgs> Vth. ¿Tengo razón?
Su imagen es mayormente correcta. Un P-fet se conectará a tierra, por lo que su Vgs será el mismo que el voltaje de la batería. Necesitará otro transistor para conducirlo. Ejemplo: edaboard.com/thread237294.html
Hice un poco de simulación y parece que funcionará bien :) La captura de pantalla de la simulación está aquí y la simulación en vivo está aquí . Simplemente cambie ambos interruptores para que solo uno esté activo en ese momento. ¿Qué opinas? Intentaré construirlo y publicar resultados.
Ok muchachos. Lo he construido en placa de pruebas y funciona. Al menos la parte que corta el pasador. Pero tengo otro problema: el ciclo de carga nunca termina cuando coloco el cargador en el pin BAT y abro el mosfet. ¿Podría al menos señalar qué podría estar mal? Estoy usando MCP73831T-2ACI/OT ( hoja de datos ) que está fuera del MAESTRO en el CARGADOR.
¿O debería publicar una pregunta completamente nueva?
Voy a adivinar al azar que su MOSFET no está completamente abierto. ¿Cuál es el número de parte del MOSFET? ¿Cuál es la caída de voltaje en el MOSFET mientras se carga la batería (entre los pines SOURCE y DRENAJE)? Debe ser < 0,1 voltios.
La caída de voltaje en la FUENTE y el DRENAJE es de 0,04 voltios. Estoy probando una segunda ejecución e intentaré experimentar más. MOSFET es IRF9520 ( hoja de datos ). En la primera ejecución, el cargador no finalizó la carga (el pin STAT estaba bajo). El voltaje de la batería era de 4,2 V (podría ser un poco menos, pero solo estoy usando un multímetro no tan profesional). Después de cerrar y volver a abrir el mosfet, el cargador terminó de cargarse y STAT cambió a alto.
La segunda carrera tuvo los mismos resultados. Cuando el voltaje de la batería es de 4,2 V, la caída de voltaje en la fuente y el drenaje es de 0 V, lo que significa que no fluye corriente hacia la batería, ¿verdad?
He publicado una nueva pregunta al respecto. Por favor vea aquí .