Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

26/02/2012 #1

Avatar de quevon24

Como saber si pic ya no sirve
Hola a todos, vengo a consultarles una duda que me ha surgido, tengo un programador minipic 2.2 clon, estoy aprendiendo a prograr pics pero me ha surgido un problema, el pickit 2 detecta el programador y el pic, pero al momento de cargar el hex me echa un error que dice:

Device Error - hex file not loaded

Y en la pantalla del programa despues de ese error, me aparece No device found.

He probado varias veces pero me sigue echando ese error

Y he probado con un 16f84a y si me deja grabar bien.

Mi pregunta es, el pic ya no sirve? o como puedo saber si ya no sirve?
26/02/2012 #2


creo tendrias que poner software de grabacion (debe ser pickit o mplab no?) y pic que usaste

proba a hacer un "read" en el programa a ver si te lo lee
26/02/2012 #3

Avatar de quevon24

Juan Mesa dijo: Ver Mensaje
creo tendrias que poner software de grabacion (debe ser pickit o mplab no?) y pic que usaste

proba a hacer un "read" en el programa a ver si te lo lee

Es pickit 2 programmer, y el pic es el 16f628a.

Ya hice lo que mencionas, despues de darle click en read, me aparece en amarillo: No Device Detected.
26/02/2012 #4


el pic era nuevo o ya usado? y cuanto tiempo
26/02/2012 #5

Avatar de quevon24

Nuevo, tiene como una semana que lo compre.

Se pudo haber quemado o algo asi por estatica?

Juan Mesa dijo: Ver Mensaje
el pic era nuevo o ya usado? y cuanto tiempo
26/02/2012 #6


todo componente electronico de este tipo son sensibles a estatica... personalmente nunca queme uno (o nada directamente) por estatica, pero es posible...

cuando lo colocaste o sacaste del zocalo para programar tenias el programador conectado? (a la placa zif o al puerto usb si es todo en la misma plaqueta)

hasta donde se el 84 y el 628 son casi identicos, pero revisa las conecciones del programador/pic

probaste con un programa que sepas que funciona? para descartar, igual el problema es programador/pic si dijiste que en "read" te da el mismo problema...

proba con otro cable USB (si es posible y no esta soldado a la placa)

y nuevamente revisa las conecciones para descartar eso, si no si, seguramente este malo

si compraste otro en el mismo momento proba a ver si te hace lo mismo (pudo venir malo) y si podes (no se lo barato que sera en donde lo compras) consegui otro del mismo lugar, si esta malo tambien reclamalo y que prueben uno nuevo ellos con sus cosas a ver si esta bien (puede venir alguna partida mala o ... ser pirata? :S )
26/02/2012 #7

Avatar de Daniel Meza

lee los últimos comentario de este post, allí menciono una posible solución a este error (siempre y cuando utilices el reloj interno del PIC y el pin MCLR como entrada), no se si sea tu caso
Saludos
27/02/2012 #8

Avatar de quevon24

En cuanto pueda probare aver si ya funciona, creo que comprare otro para checar si si graba vien, por que El 84a si me deja grabar y eso
27/02/2012 #9

Avatar de ilcapo

HOla amigo los pickit 2 suelen tener un jumper que se debe cambiar segun la cantidad de "patitas" que tenga el chip tal vez te haz olvidado de seleccionar adecuadamente esto !! saludos!
27/02/2012 #10

Avatar de quevon24

ilcapo dijo: Ver Mensaje
HOla amigo los pickit 2 suelen tener un jumper que se debe cambiar segun la cantidad de "patitas" que tenga el chip tal vez te haz olvidado de seleccionar adecuadamente esto !! saludos!
Si gracias por la informacion, ya cheque y vienen 2 opciones dspic y pic, esta colocado en pic.

---------- Actualizado después de 9 minutos ----------

Ya solucionado, compre otro pic 16f628a y ya lo detecta y lo graba bien.

Aunque una duda, a fuerza le tiene que dar los 5 Volts exactos al pic? ya que la fuente que use con el anterior pic que no funciona era de 5 pero daba un poco mas de los 5, no se si eso tal vez haya causado el problema.
27/02/2012 #11


por las dudas pone un 7805 para regular la fuente antes del circuito del pic, no tengo la hoja de datos aca, fijate ahi los voltajes maximos que aguanta, deberia aguantar un poco mas de 5 pero tampoco 7 seguramente
27/02/2012 #12

Avatar de quevon24

bueno para aprovechar y no crear otro tema, les expongo otra duda, estoy usando microcode studio 4 y picbasic pro 2.6 para programar el pic 16f628a y ahora me esta apareciendo un error al momento de compilar que dice:

Cannot open file (Include File "P16F628A.INC" not found) y el dia de ayer estaba funcionando perfecto.
28/02/2012 #13


no conozco el microcode studio, pero tenes problema al llamar al archivo include, o sea, o especificaste mal la direccion en donde se encuentra el archivo o no existe

en asm y mplab seria asi (no se si es igual)

#include <P16F628A.INC>


no se si es igual en lo uqe estas usando (las <> creo se puede poner "" pero siempre lo pongo asi y funka...)

revisa las propiedades de archivos include en las opciones del programa

salutes
29/02/2012 #14

Avatar de ilcapo

probá poniendole un nombre mas corto al programa que estas haciendo a veces me tira error si el nombre es muy largo, por ejemplo si se llama juancitoperez.asm nombralo jp.asm , aunque este no parece ser este tipo de error probalo por las dudas , saludos!
03/03/2012 #15

Avatar de quevon24

es que en el progra de microcode uno escoje de una lista el pic, y ya en base a el modelo que selecciones es como lo compila, por el momenot para compilarlo tengo que compilarlo como un 16f628a.

Una nueva duda, ya que estoy todavia aprendiendole, cuanto es el valor del 0 y 1 logico de este pic ya que le busque en el datasheet pero no le haye.

Y otra duda, como puedo conectar un qrd1114 al pic, necesita algo especial? ya que tambien por eso pregunto lo de arriba

ya que lo que quiero hacer es que la patita del qrd que indica si si detecto una linea negra o no vaya conectada al pic y del pic, salga a un led, pero veo que a fuerzas necesita tener un 0 o 1 logico en la patita.

Lo estoy programando en basic, el codigo va asi:

IF portb.0 =1 THEN ; Aqui va la parte del qrd que indica si detecto o no la linea
HIGH porta.2 ; enciende el led
ENDIF
La salida del qrd lo tengo conectado a un tip41c para darle potencia, pero aun asi no se como hacer que me de un 0 o 1 logico (creo es es 0=0v y 1=5v)
08/03/2012 #16


Tienes otros microcontroladores?
11/03/2012 #17


quevon24 dijo: Ver Mensaje
es que en el progra de microcode uno escoje de una lista el pic, y ya en base a el modelo que selecciones es como lo compila, por el momenot para compilarlo tengo que compilarlo como un 16f628a.

Una nueva duda, ya que estoy todavia aprendiendole, cuanto es el valor del 0 y 1 logico de este pic ya que le busque en el datasheet pero no le haye.

Y otra duda, como puedo conectar un qrd1114 al pic, necesita algo especial? ya que tambien por eso pregunto lo de arriba

ya que lo que quiero hacer es que la patita del qrd que indica si si detecto una linea negra o no vaya conectada al pic y del pic, salga a un led, pero veo que a fuerzas necesita tener un 0 o 1 logico en la patita.

Lo estoy programando en basic, el codigo va asi:



La salida del qrd lo tengo conectado a un tip41c para darle potencia, pero aun asi no se como hacer que me de un 0 o 1 logico (creo es es 0=0v y 1=5v)

hola mira encontre este circuito de como se monta y se conecta a la entrada de un pic



no necesitas nada mas lo que no entiendo es para que es el tip41c? es para encender el led? si es para esto no necesitas eso colo coloca una resistencia y el led.
02/04/2012 #18

Avatar de quevon24

Coloco la solucion por si a alguein mas le pasa,hice lo de conectar el mclr creo era a Vdd como me indicaron aqui y quedo perfecto, ya no fallaba ni nada por el estilo.
18/05/2017 #19


Tengo un PIC16F887 y estaba haciendo un proyecto de un servo, cuando todo dejó de funcionar.
Una amiga le conectó 12 V. aunque sé que sí los aguanta. Creo que fue por eso.

Luego de ello, probé con un programa simple un LED que se prendía y el led no prendió.
En cambio, si toco el PIC, (ninguno de los pines, la parte negra) empieza a prender.
El servo sigue sin funcionar.

¿Estará quemado, es mágico, o me estoy volviendo loco? Ya no lo sé.

Código del servo:
Código PHP:
sbit lon at portc.b7;   // led indicador de encendido y programa corriendo

//****************** para servo
sbit pruebas at portb.b0// botón para probar el servo

sbit servo at portd.b4// salida para servo


unsigned short onoffs 0;  // variable para controlar el on y off de prueba del servo
unsigned int cuenta;
unsigned short tlstop;

const 
unsigned short ciclos 50;   // con esto da 41.2us aprox de tiempo
//****************** para servo fin

                                 // ************ sub rutinas *********

void interrupt()
 {
  if (
INTCON.T0IF)
  {
    
cuenta++;
    if (
cuenta &lt;= tl)
    {
      
servo 1;
    }
// if cuenta
    
else
    {
      
servo 0;
    }
// else cuenta t1

    
if (cuenta &gt412)  //485 teorico
    
{
      
cuenta 0;
      
servo 1;
    } 
// cuenta 485

    
tmr0 ciclos;       // con este valor la int es cada 10us
    
INTCON.T0IF 0;
  }
 } 
// interrupt
// ********************************** Fin función para las interrupciones *********

void main() {

//osccon = 0x71;

// OSC externo 20MHz

//Inicialización puerto A
porta 0;
ansel 0;
trisa 0x0F;            // puerto de A0 - A5     1 entrada 0 salida  xxDD DDDD
//Inicialización puerto B
portb 0;
anselh 0;
wpub 0xff;            // habilita todas las pull - up
trisb 0xFF;           // puerto todo de entrada
OPTION_REG.b7 0;      // habilitación general de las pull - ups
//Inicialización puerto C
portc 0;
trisc 0x50;           // RC4 SDI, RC5 SDO, RC3 SCK, RC6 IRQ, RC1 CE, RC2 CSN, RC7 Lon, restante salida
//Inicialización puerto D
portd 0;
trisd 0x00;           // salida
//Inicialización puerto E
porte 0;
trise 0x03;           // RE0 - RE2, xxxx xDDD     RE0 in, RE1 in, RE2 out

// configuración de las pull-up (otra vez), interrupciones y timer
option_reg 0x08//tim0 fosc/4, etc...

intcon 0x60;
tmr0 ciclos;       // con este valor la int es cada 41.2us

tl 30;          // teorico: valor pos izq = 24, central 36, der 48
cuenta 0;

intcon.B7 1;  // habilita interrupciones
// ******************** fin de la configuración del micro *********************

lon 1;


while (
1// ciclo infinito
 
{
       if (
pruebas == 0// botón para probar servo
       
{
         
delay_ms(30);

         while (
pruebas == 0)
         {

          if (
onoffs == 0)
          {
           if (
tl &lt40)   // 48 limite derecho teorico
           
{
            
tl++;          // teorico: valor pos izq = 24, central 36, der 48
           
// if tl
           
delay_ms(20);
          }
          else
          {
           if (
tl &gt20)   //24 limite izquierdo teorico
           
{
            
tl--;          // teorico: valor pos izq = 24, central 36, der 48
           
// if tl
           
delay_ms(20);
          } 
// if onoffs
         
// del while pruebas
         
delay_ms(20);
         
onoffs = ~ onoffs;

       } 
// if pruebas
 
// del while 1

// del main 
19/05/2017 #20

Avatar de Daniel Meza

No no, el PIC no soporta 12V de alimentación en ningún pin, salvo el MCLR pero ese ya es otro cantar. Puede ser que le dañaste solo algunos pines pero el micro siga funcional.
Por lo general lo que se daña son los diodos de protección en los pines del micro.

Una manera de revisarlos es con el multímetro. En la escala de diodos, colocas la punta negra en el terminal VCC del PIC y con la punta roja vas probando los pines E/S , en todos debe de darte una caída de tensión de ~0,6V (en caso de que el diodo este bien).
Luego se repite la secuencia pero ahora colocando la punta roja en la terminal VSS del PIC y vas probando con la punta negra; debe de darte también lecturas de ~0.6V.

Esta prueba se hace con el PIC desconectado de todo.

Saludos
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.