Tengo 3 sensores de proximidad inductivos con colector abierto NPN-NO:
LossensoresseinterconectanconPIC16F690usandolospinesRA0,RA1yRA2,aquíestáelcircuitoparalospinesRA0,eselmismoparalospinesRA1yRA2:
Cuando el sensor está activado, la resistencia de pull-up de 10 K se conecta a tierra para leer la lógica requerida.
Problema :
Esta interfaz funciona bien para los sensores en Pin RA1 y RA2, sin embargo, cuando uno de los sensores está conectado con el Pin RA0 y cuando enciendo la alimentación, el PIC no se iniciará hasta que presione un botón MCLR externo . Incluso después de eso, si vuelvo a apagar y volver a encender, el problema vuelve a aparecer y no desaparece hasta que hago otro MCLR externo.
Observe que cuando el sensor en el pin RA0 se retira del circuito, todo es normal, el PIC se inicia normalmente, no se necesita un MCLR, y los sensores restantes en el pin RA1 y RA2 funcionan como se esperaba.
Lo que he intentado hasta ahora:
-
Sospeché un problema en mi programa PIC16F690, así que, sustituí el sensor en RA0 con un botón, todo funcionó como se esperaba, además, sospeché un problema en mi circuito de PCB, así que quité todos los sensores y Los cambió con el botón de encendido para encender 3 LED para asegurarse de que todo está bien con el programa y la PCB. No hay problema aquí.
-
Antes de presionar el botón MCLR, para saber si el PIC está parcialmente bloqueado o completamente bloqueado, cambié el programa para encender un LED cuando los sensores en RA0 están activados, así que, me acerqué a una placa metálica desde el sensor preocupado, el LED se enciende y cuando quito la placa metálica del sensor (sensor no activado) el LED permanece encendido.
Parece que el problema es específico solo para el pin RA0 del PIC16F690 y solo cuando se conecta a un sensor de proximidad inductivo, funciona bien cuando se usa un botón pulsador.
Fusibles utilizados en el programa: XT, PUT, NOWDT, NOPROTECT, BROWNOUT, MCLR
XT es un Crystal Quartz de 4Mhz con capacitores de 22pF.
Deshabilité ADC, CCP, SPI y Comparator.
De la hoja de datos del PIC16F690, RA0 puede ser un:
E / S de propósito general, ADC, comparador analógico, señal de datos ICSP, entrada analógica ULPW.
Necesito tu ayuda, por favor.
Gracias