cómo cortar la energía del dispositivo usb usando arduino

Parece que no puedo reiniciar el módem USB en Linux, así que configuré un concierto de arduino para emular la conexión/desconexión del módem USB.

Tengo Arduino Uno R3 y varios mosfet de canal N https://www.sparkfun.com/products/10213 , y usé la configuración en http://bildr.org/2012/03/rfp30n06le-arduino/ para cambiar el suelo cable del módem usb encendido/apagado.

Esto funciona, por un tiempo, luego el concentrador USB comenzó a tener problemas. Creo que tengo que emular realmente el enchufe/desenchufe USB, es decir, cortar tanto el cable de alimentación como el cable de datos del módem usb.

El problema es que, mientras que la alimentación USB tiene +5 V y conexión a tierra, los datos tienen D+ ~+2,5 V y D- ~-2,5 V, no tienen una conexión a tierra común, para usarse con la configuración usando un mosfet de canal N .

¿Qué tengo que hacer? si compro otro arduino uno solo para el cable de datos, sigo teniendo problemas, la tierra de datos no es la misma que la tierra de arduino (creo que N-Mosfet requiere una tierra común), no sé si esto causará problemas .

¿Necesito un componente elevador de voltaje de CC? o hay otra solución.

Estoy pensando en cómo funciona el enchufe USB, primero conecte el cable de alimentación, espere unos microsegundos y luego conecte el cable de datos, y desconecte lo contrario.

¿Has pensado en usar buenos relés antiguos?
Nunca debe abrir solo el cable de tierra de una conexión USB; esto causa todo tipo de problemas, como usted descubrió. En su lugar, debe usar un FET de canal P en el cable V_USB.
@arne, ¿hay algún componente que recomendarías? Pensé que el relé se usaría para apagar la alimentación de CA: P
Un relé no es más que un interruptor activado electromagnéticamente. Se puede usar un interruptor para cualquier tipo de circuito (CA o CC) siempre que esté clasificado para el voltaje y la corriente del sistema. Tenga en cuenta que aún recomendaría la respuesta de @Turbo J. Use un PMOS en el riel de alimentación USB.

Respuestas (1)

encender/apagar el cable de tierra del módem usb.

Mala elección. Use un MOSFET de canal P (como IRLML6401 ) para cambiar el cable de +5 voltios.

Cortar GND podría hacer que las líneas de datos floten cerca del nivel de potencia de 5 voltios, porque generalmente tienen alguna protección ESD. También puede haber algo de corriente de retorno en ellos. Ambos provocarían fallos de funcionamiento en los concentradores USB.

cómo funciona el enchufe usb, primero conecte el cable de alimentación, espere unos microsegundos

La razón detrás de esto es reducir la posibilidad de daños por ESD en las líneas de datos: es mucho menos probable que las líneas eléctricas sufran daños por ESD. No necesita separar las líneas de datos (y GND) en absoluto si simplemente corta la alimentación en la línea de 5 voltios.

Para P-ch MOSFET, ¿hay algún otro componente que necesite? Por ejemplo, para N-ch MOSFET, tengo que agregar una resistencia desplegable a la puerta. He buscado tiendas locales de arduino en línea pero no tienen P-ch MOSFET, tienen relés pero no el de estado sólido.