TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: neo en 20 de Abril de 2013, 13:44:22

Título: PICKIT3 no graba, pero no hay errores!!!
Publicado por: neo en 20 de Abril de 2013, 13:44:22
He comprado el PICKIT3, y intendo grabar un 16f877a....he programado en C un simple codigo para hacer parpadear un led....intento grabarlo con el MPLAB IDE....y aunque no me da errores....cuando lo pruebo en la protoboard, no hace absolutamente nada....llevo 3 dias dandole vueltas a esto y me rindo....os dejo un pantallazo para que veais el proceso de grabado.....hay alguna manera de saber si realmente lo está grabando?
Título: Re: PICKIT3 no graba, pero no hay errores!!!
Publicado por: BrunoF en 20 de Abril de 2013, 14:02:14
Si, podés leer el contenido del uC con el Pickit3, pero allí te está diciendo que no sólo lo grabó sino que lo ha verificado correctamente. Evidentemente el problema es de programación, de hardware o de algún componente dañado.

Título: Re: PICKIT3 no graba, pero no hay errores!!!
Publicado por: ppyote en 20 de Abril de 2013, 14:36:24
Más de una vez me ha pasado con el fuse mcrl habilitado, y no haber puesto el pin en estado alto
Título: Re: PICKIT3 no graba, pero no hay errores!!!
Publicado por: AngelGris en 20 de Abril de 2013, 15:53:10
  Tendrías que subir el código, para que veamos si no hay algún error allí.
Título: Re: PICKIT3 no graba, pero no hay errores!!!
Publicado por: neo en 21 de Abril de 2013, 13:52:18
  Tendrías que subir el código, para que veamos si no hay algún error allí.

Si claro perdon, ahi os lo dejo
Citar
#include "main.h"


void main()
{

   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_CLOCK_DIV_2);
   setup_psp(PSP_DISABLED);
   setup_spi(SPI_SS_DISABLED);
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_comparator(NC_NC_NC_NC);
   

   // TODO: USER CODE!!
  while(true){
  OUTPUT_HIGH(PIN_A0);
  delay_ms(200);
  OUTPUT_LOW(PIN_A0);
  delay_ms(200);
 
  }
}
Título: Re: PICKIT3 no graba, pero no hay errores!!!
Publicado por: QIQE en 21 de Abril de 2013, 14:41:01
El bit de configuracion LVP lo tienes activado o desactivado?? en ocasiones da problemas
Título: Re: PICKIT3 no graba, pero no hay errores!!!
Publicado por: neo en 21 de Abril de 2013, 16:17:49
El bit de configuracion LVP lo tienes activado o desactivado?? en ocasiones da problemas

El LVP no lo he puesto, total es para poder programar en bajo voltaje....y yo lo he programado a 5v.... como lo desactivo?
Título: Re: PICKIT3 no graba, pero no hay errores!!!
Publicado por: QIQE en 22 de Abril de 2013, 04:50:01
Con  la palabra de configuración iual que configuras el oscilador y el reset lo debes de tener coko nolvp creo recordar en el .h del ccs
Título: Re: PICKIT3 no graba, pero no hay errores!!!
Publicado por: AngelGris en 22 de Abril de 2013, 09:00:04
  Lo ideal sería que subas el programa completo, incluyendo como están configurados los fuses; y también un dibujo o esquema de como lo estás conectando.

  Si está activo el pin MCLR y dicho pin no queda conectado a un nivel alto, el pic no funcionará.
Título: Re: PICKIT3 no graba, pero no hay errores!!!
Publicado por: neo en 23 de Abril de 2013, 07:36:59
  Lo ideal sería que subas el programa completo, incluyendo como están configurados los fuses; y también un dibujo o esquema de como lo estás conectando.

  Si está activo el pin MCLR y dicho pin no queda conectado a un nivel alto, el pic no funcionará.

Gracias por la respuesta, estos son mis fuses, y no tengo el MCLR, no sabia que habia que desactivarlo.

Citar
#include <16F877A.h>
#device adc=8

#FUSES NOWDT                    //No Watch Dog Timer
#FUSES HS                       //High speed Osc (> 4mhz for PCM/PCH) (>10mhz for PCD)
#FUSES NOPUT                    //No Power Up Timer
#FUSES NOPROTECT                //Code not protected from reading
#FUSES NODEBUG                  //No Debug mode for ICD
#FUSES NOBROWNOUT               //No brownout reset
#FUSES NOLVP                    //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD                    //No EE protection
#FUSES NOWRT                    //Program memory not write protected
#FUSES RESERVED                 //Used to set the reserved FUSE bits

#use delay(clock=4000000)
Título: Re: PICKIT3 no graba, pero no hay errores!!!
Publicado por: AngelGris en 23 de Abril de 2013, 08:47:07
  Perdón, no sé porque interpreté que era el 16F887; en el 877 no es configurable dicho pin. Pero sí tiene que quedar a un nivel alto para que el PIC funcione.
Título: Re: PICKIT3 no graba, pero no hay errores!!!
Publicado por: neo en 23 de Abril de 2013, 11:50:34
  Perdón, no sé porque interpreté que era el 16F887; en el 877 no es configurable dicho pin. Pero sí tiene que quedar a un nivel alto para que el PIC funcione.

Bueno mi circuito es simple, el diodo en la pata AN0 y el pic alimentado con VDD y VSS.....he puesto ahora mismo el MCLR/VPP a 5v junto con el VDD y nada, no sé si es a lo que te referias.

Gracias por la ayuda compañero.
Título: Re: PICKIT3 no graba, pero no hay errores!!!
Publicado por: rivale en 23 de Abril de 2013, 13:19:36
podrías subir tu diagrama de conexión, tal vez falta conectar algo, el cristal, el mclr
Título: Re: PICKIT3 no graba, pero no hay errores!!!
Publicado por: ppyote en 23 de Abril de 2013, 13:44:40
Estas usando un cristal de 4Mhz, así que el fuse HS deberías de sustituirlo por XT
Título: Re: PICKIT3 no graba, pero no hay errores!!!
Publicado por: neo en 23 de Abril de 2013, 15:44:49
Estas usando un cristal de 4Mhz, así que el fuse HS deberías de sustituirlo por XT

El cristal es interno.
Bueno esto es lo más básico que se me ocurrido para probar si el PICKIT3 funcionaba...un led parpadeando....en la protoboard he puesto el MCLR a 5v pero tampoco.
(http://img835.imageshack.us/img835/4075/ejemplog.jpg)
(http://img546.imageshack.us/img546/3504/ejemplo2e.jpg)
Título: Re: PICKIT3 no graba, pero no hay errores!!!
Publicado por: rivale en 23 de Abril de 2013, 15:48:52
creo que ahi esta tu error, para configurar el oscilador interno se usa el fuses #intrc. pero ese modelo de micro en particular no tiene oscilador interno
Título: Re: PICKIT3 no graba, pero no hay errores!!!
Publicado por: ppyote en 23 de Abril de 2013, 19:18:06

El cristal es interno.


e ahi el problema.... pon un cristal de 4mhz y veras como funciona, te recuerdo que el rpoteus no simula ni osciladores internos ni externos, salvo en el caso que se le aplique una señal cuadrada con el generador de pulsos o generador de frequencia.... de ahi que posiblemente el proteus te lo simule sin problema....


creo que ahi esta tu error, para configurar el oscilador interno se usa el fuses #intrc. pero ese modelo de micro en particular no tiene oscilador interno


cierto...

esto es el encabezamiento de la libreria del ccs

//////// Standard Header file for the PIC16F877 device ////////////////
//////// Program memory: 8192x14  Data RAM: 367  Stack: 8
//////// I/O: 33   Analog Pins: 8
//////// Data EEPROM: 256
//////// C Scratch area: 77   ID Location: 2000
//////// Fuses: LP,XT,HS,RC,NOWDT,WDT,NOPUT,PUT,PROTECT,PROTECT_5%
//////// Fuses: PROTECT_50%,NOPROTECT,NOBROWNOUT,BROWNOUT,LVP,NOLVP,CPD
//////// Fuses: NOCPD,WRT,NOWRT

claramente no esta el fuse INTRC....
Título: Re: PICKIT3 no graba, pero no hay errores!!!
Publicado por: AngelGris en 23 de Abril de 2013, 22:30:34
Agregar también la resistencia limitadora del led.
Título: Re: PICKIT3 no graba, pero no hay errores!!!
Publicado por: neo en 24 de Abril de 2013, 05:59:07
Joder que cabeza, juraria que este pic tenia cristal interno....bueno tenia uno de 8mhz por aqui pero lo he montado y no consigo que haga nada, descarto el #intrc ya que es externo y he puesto el Fuses HS y lo demás de la siguiente manera...
(http://imageshack.us/a/img560/4843/ejemplo3.jpg)
Título: Re: PICKIT3 no graba, pero no hay errores!!!
Publicado por: ppyote en 24 de Abril de 2013, 07:00:53
Posiblemente tengas el pin a0 como entrada analogica. Prueba el pin b0 como salida añadiendo una resistencia en serie con el led
Título: Re: PICKIT3 no graba, pero no hay errores!!!
Publicado por: neo en 24 de Abril de 2013, 08:20:42
Posiblemente tengas el pin a0 como entrada analogica. Prueba el pin b0 como salida añadiendo una resistencia en serie con el led

Tengo puesto que no se activen los analogicos setup_adc_ports(NO_ANALOGS); :(
Título: Re: PICKIT3 no graba, pero no hay errores!!!
Publicado por: rivale en 24 de Abril de 2013, 08:59:21
falta la pata 1 a vdd
Título: Re: PICKIT3 no graba, pero no hay errores!!!
Publicado por: neo en 24 de Abril de 2013, 10:20:02
falta la pata 1 a vdd

Gracias por responder, en la imagen del proteus no tengo ni la resistencia del diodo ni el MCLR a vdd, pero en la protoboard estan puestos.....( tambien he probado sin resistencia ).
Título: Re: PICKIT3 no graba, pero no hay errores!!!
Publicado por: neo en 24 de Abril de 2013, 11:47:31
Bueno he cambiado el pic por un 16f628a que tenia por aqui tirado, y lo ha grabado a la primera sin problemas.....ya dudo yo si el 16f877a esté bien o no :(
Título: Re: PICKIT3 no graba, pero no hay errores!!!
Publicado por: rivale en 24 de Abril de 2013, 11:51:31
bueno, creo que es un alivio ver que el programador si funciona, puede que sea el pic, pero si te deja programarlo no debería haber problema, puede que solo ese pin este dañado
Título: Re: PICKIT3 no graba, pero no hay errores!!!
Publicado por: ppyote en 24 de Abril de 2013, 14:40:16
Neo, lo primero que te recomiendo y casi exijo es que le pongas una resistencia en serie al led o conseguirás romper el pic
Título: Re: PICKIT3 no graba, pero no hay errores!!!
Publicado por: rivale en 24 de Abril de 2013, 15:06:24
Neo, lo primero que te recomiendo y casi exijo es que le pongas una resistencia en serie al led o conseguirás romper el pic

 :D :D, concuerdo, si dejas el led directamente es como si enviaras el pin del micro directamente a tierra, es decir, provocas un corto que puede quemar el led, luego el pin de tu pic e incluso el pic
Título: Re: PICKIT3 no graba, pero no hay errores!!!
Publicado por: neo en 25 de Abril de 2013, 10:13:06
jajajaja, si si, lo sé....solo era una prueba, no esperaba que funcionara y al ver que funcionaba lo quite.

El tema es que lo volví a intentar con este mismo pic 628a y ya no me dejo grabarlo más....jajaja lo mismo lo quemé por la resistencia. :D

Mañana iré a comprar algunos pic baratos para probar el pickit3 mas profundamente....creo q el 16f88 es baratito para estos menesteres.