No se pudo obtener la identificación del dispositivo: PICkit 3 y PIC16F684-ICD y AC16205

Como ya se menciona en el título, tengo una pregunta con respecto a esta pila de desarrollo:

  • MPLAB X IDE v1.80
  • PIC kit 3
  • PIC16F684-ICD ( hoja de datos )
  • AC16205

Hay una imagen de cómo están conectadas las cosas (no creo que haya un problema):

ingrese la descripción de la imagen aquí

Configuración de alimentación:ingrese la descripción de la imagen aquí

Hay un programa simple que estoy usando para probar:

/*
 * File:   main.c
 * Author: Primoz
 * 
 * PIC16F684
 *
 * Simple test program.
 */

#include <xc.h>

// CONFIG
#pragma config MCLRE = OFF      // MCLR Pin Function Select bit (MCLR pin function is digital input, MCLR internally tied to V
#pragma config FOSC = INTOSCIO  // Oscillator Selection bits (INTOSCIO oscillator: I/O function on RA4/OSC2/CLKOUT pin, I/O function on RA5/OSC1/CLKIN)
#pragma config WDTE = OFF       // Watchdog Timer Enable bit (WDT disabled)
#pragma config PWRTE = OFF      // Power-up Timer Enable bit (PWRT disabled)
#pragma config CP = OFF         // Code Protection bit (Program memory code protection is disabled)
#pragma config CPD = OFF        // Data Code Protection bit (Data memory code protection is disabled)
#pragma config BOREN = OFF      // Brown Out Detect (BOR disabled)
#pragma config IESO = OFF       // Internal External Switchover bit (Internal External Switchover mode is disabled)
#pragma config FCMEN = OFF      // Fail-Safe Clock Monitor Enabled bit (Fail-Safe Clock Monitor is disabled)

void main()
{
    TRISA = 0b111101;

    PORTA = 0b000010;

    for (;;)
    {
        ;
    }
}

Programé con éxito el dispositivo solo unas pocas veces. La mayoría de las veces obtengo este resultado:

Connecting to MPLAB PICkit 3...
Firmware Suite Version.....01.28.72
Firmware type..............Midrange

Target detected
Failed to get Device ID

Entonces mi pregunta es ¿cuál podría ser la razón de un comportamiento tan extraño? ¿Cómo puedo hacer que funcione?

Si necesita cualquier información adicional, por favor hágamelo saber...

Presumiblemente lo estás alimentando desde el programador; el voltaje es correcto?
Se dice en la hoja de datos Wide operating voltage range (2.0V-5.5V), así que creo que 5V está bien, ¿verdad?
Se ve bien. ¿Quizás tienes una conexión suelta?
No lo creo.. Pero sería bueno comprobarlo.. Lo haré pero no ahora ya que no tengo ningún multímetro a la mano... Les dejaré saber lo que he averiguado.. .

Respuestas (6)

Revisé si hay conexiones sueltas como las sugeridas por @ pjc50, no encontré ninguna.

Incluso pedí un nuevo encabezado y, para mi sorpresa, el problema aún no había desaparecido.

Después de muchas pruebas y errores, descubrí que funciona si configuro (en lugar de Voltage Level) :4,8755V

ingrese la descripción de la imagen aquí

Exactamente el mismo problema con un 16F883. ¡Nunca hubiera pensado en cambiar el voltaje, gracias!

Sin promesas, pero personalmente he experimentado exactamente el mismo comportamiento más de cien veces.

Cada uno de ellos se arregló tirando mi cable de conexión y conectando uno nuevo.

Esto significa

  • El enchufe en el PICkit3
  • El conector físico en el propio lado del PIC
  • Los cables físicos entre esos dos enchufes

Tus observaciones actuales pueden confundirte por completo; como el mío me confundió repetidamente cuando esto estaba pasando por aquí. Cuando considera los cables rotos que "a veces están ahí", la imagen se vuelve un poco más clara.

Por cierto, si...

  • El problema empezó hace poco
  • Solo tiene un juego de estos cables de conexión dispuestos para su uso
  • Solían funcionar perfectamente
  • Actualmente está viendo resultados de "a veces" (quizás, "éxito aleatorio")

.. entonces mi sospecha aumenta.

Nuevamente, no prometo nada, pero esto es lo que me sucedió en mi arreglo PIC24 con un ICD-3 y ocasionalmente un PICkit. Lo que estás describiendo es exactamente lo que observé.

Tengo un problema similar con el firmware 01.28.72. Cuando volví a 1.12.01 funcionó de nuevo.

Tuve el mismo problema, recibí mensajes de error como "Error al obtener la ID del dispositivo". Mi configuración es la placa de demostración de 44 pines con PIC16F887, Pickit 3 (versión de firmware 1.28.18) y MPLAB 8.88. Seguí el consejo de PrimosK, arriba, y fue justo en el dinero: Reduje el voltaje de los 5.0V predeterminados a 4.875V y todo funcionó. Pero también noté que MPLAB no mantiene la configuración y tuvo que volver a configurarla la próxima vez que inicié MPLAB. Buena suerte.

Tuve el mismo problema, trabajando con Pic16F883 y PicKitt3. Y ahora lo soluciono, enciendo la tarjeta objetivo con una fuente externa (5Vcd) y en las opciones del Proyecto --> Programador, desmarco la opción "POWER TARGET CIRCUIT FROM PICKKIT3", espero que esta información te ayude.

Me enfrenté a un problema similar. Tengo una placa controladora basada en 24FJ128GA308 con una pantalla COD de 128*64 interconectada y la placa se enciende externamente. Para una unidad recién fabricada (controlador no programado), cuando se invocaba la opción 'Programar', daba un error como "Error de programación: al PICkit 3 le falta un objeto de memoria". Intenté cambiar: con la placa del controlador encendida desde PICKit 3, todavía no funcionó. Luego, en la opción Programador, usé 'Hold in Reset' durante 2-3 segundos, lo solté, luego se programó 24F y la placa comenzó a funcionar Por cierto, tengo un circuito de reinicio correcto.-Chandrashekhar Joshi