Pero si tienes un pic yo le diria que desactivara el transistor y listos, es mas le diria que probara cada cierto tiempo, de esta forma un cortocircuito momentaneo no te obligaria a resetear el circuito.
Por cierto ese comparador me da muy mala espina, no deveria haber en la patilla no inversora la tension de referencia? Ya es la segunda vez que lo veo por el foro y ya me hacen dudas.
R13 sobra.
Ademas porque utilizar lm393 si solo utilizas un operacional. lm311
Si solo es necesario para cortocircuitos con un simple transistor te apañas y te ahorras de utilizar un comparador.
Simplemente calculas una resistencia para la corriente maxima, por ejemplo 10A tenga una caida de tension de 0.65V y listo.
O sea recalculas las resistencias de 0.2ohms y las conectas directamente base emisor del transistor sensor (bc547).
Si no tienes patillas suficientes para comprobar lo del cortocircuito puedes utilizar truquitos.
1.-Hay algunos pic como el pic16f84 que permiten leer directamente en el pin, aunque este configurado como salida.
O sea si usted pone el pic como salida a nivel alto, pero lo cortociruita a masa, si lee esa "salida" obtendra un cero logico.
En su caso cuando el transistor derive la corriente a masa, si lo colocamos justo en la salida del pic podemos conocer el estado.
Aunque no seria necesario limitar la corriente, el pic lo hace automaticamente, yo por si acaso añadiria una resistencia que solo dejara pasar los 30mA.
Consulta el datasheet si hay un lach en la salida.
2.-Otra forma seria añadir un condensador relativamente grande (>220nF) que se utilizaria como memoria en la salida del pin del pic.
Con una simple rutina con el timer cada 100us, cambiaria el estado como imput, leeria y vuelta a output si todo esta correcto.
El condensador durante ese pequeñito instante retendria la tension solo si el transistor esta desactivado.
Evidentemente el metodo mas elegante es utilizar una patilla por interrupcion, pero con solo 6 patillas el pic12fXXX poco se puede hacer.