Yo también lo encontré difícil de entender.
El motivo por el que no se reconoce el dispositivo cuando se quita la alimentación externa es que no se cumplen las condiciones del USB alimentado por bus. La causa de esto puede ser suficiente.
Esto es lo que dice la especificación USB:
9.1.1.2 Los dispositivos USB con alimentación pueden obtener energía de una fuente externa y / o del USB a través del concentrador al que están conectados.
Los dispositivos USB con alimentación externa se denominan autoalimentados. A pesar de que
Es posible que los dispositivos autoalimentados ya estén encendidos antes de conectarse.
al USB, no se considera que estén en el estado Encendido hasta que
están conectados al USB y VBUS se aplica al dispositivo. UNA
El dispositivo puede admitir configuraciones tanto autoalimentadas como alimentadas por bus.
Algunas configuraciones de dispositivos admiten cualquiera de las fuentes de alimentación. Otro dispositivo
Las configuraciones pueden estar disponibles solo si el dispositivo es autoalimentado.
Los dispositivos reportan su capacidad de fuente de energía a través de la configuración
descriptor La fuente de alimentación actual se informa como parte de un dispositivo
estado. Los dispositivos pueden cambiar su fuente de energía en cualquier momento, por ejemplo, desde
autoalimentado en bus. Si una configuración es capaz de soportar tanto
modos de alimentación, la potencia máxima informada para esa configuración es la
máximo que el dispositivo tomará de VBUS en cualquier modo. El dispositivo debe
Observa este máximo, independientemente de su modo. Si una configuracion
admite solo un modo de alimentación y la fuente de alimentación del dispositivo
Cambios, el dispositivo perderá su configuración y dirección actual.
y volver al estado Powered. Si un dispositivo es autoalimentado y su
la configuración actual requiere más de 100 mA, entonces si el dispositivo
pasa a ser alimentado por bus, debe volver al estado Dirección.
Los hubs autoalimentados que usan VBUS para alimentar el Hub Controller son
permitido permanecer en el estado Configurado si se pierde la alimentación local.
Consulte la Sección 11.13 para obtener más información.
Lo más probable es que el problema sea con la configuración del hardware en su PIC.
Le sugiero que busque las discrepancias en el hardware de su imagen con el esquema USB sugerido. Enfocarse en VBUS ayudará.