Autor Tema: lectura incorrecta en ADC y el pic se muere  (Leído 1862 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado rodrigo_pinilla

  • PIC10
  • *
  • Mensajes: 11
lectura incorrecta en ADC y el pic se muere
« en: 22 de Marzo de 2015, 14:53:12 »
ola a todos, lo que pasa es que tengo otro problema, la lectura que estoy teniendo en el adc no es la correcta, por ejemplo si le meto 10 voltios el pic me lee 5 voltios y si le meto 20 voltios entonces el pic deja de funcionar totalmente, y si se los quito otra vez vuelve a servir, no se si sea problema del circuito o del codigo, este es el circuito que tengo echo:




y el codigo que llevo:

Código: [Seleccionar]
#include <16F88.h>
#device *=8    //para ke el adc llege asta 255 ndama mas

#FUSES nomclr    //sin reset             
#FUSES intrc      //esto usa el cirstal interno del pic               

#use delay(clock=8M)  //cristal a 8 megabits de velocidad

#byte portb=6   //declaro la ubicasion del puerto b
#byte porta=5   //la ubicasion del puerto a

#bit led = porta.1   //declaro el led conectado en el pin a1

#bit display1 = porta.2   //el pin donde esta conectado el display 1
#bit display2 = porta.3   //el pin donde esta conectado el display 2


void main()
{

inicio:

int numeros[10]={0x7E,               //Se declara un vector de longitud 10 que contenga los
0x30,                                         //valores obtenidos de la tabla, acomodados en orden
0x6D,                                       //Según su posición del 0 al 9
0x79,
0x33,
0x5B,
0x5F,
0x70,
0x7F,
0x7B};


char voltaje;
char sobrevoltaje;
char unidades;
char decenas;


setup_adc(ADC_CLOCK_INTERNAL);   //configuramos el adc con el cristal interno
setup_adc_ports(sAN0);

voltaje=read_adc();   //leo el valor del voltaje

voltaje= (110/255) * voltaje;   //la formula de la regla de tres para objeter el boltaje por el divisor resistivo
                                //con 255 tengo 110 voltios en la entrada del divisor de tension formula de kirchof
decenas = voltaje / 10;
unidades = voltaje - (decenas * 10 );

portb = numeros[decenas];    //muestro en el display el valor del voltaje  de decenas

display1 = 1;   //activo el primer display para multipletsarlo
delay_ms(4);   //espero 4 milisegundos para ke se alcanse a ver
display1 = 0;   //lo apago

portb = numeros[unidades];    //muestro en el display el valor del voltaje  de unidades

display2 = 1;    //lo mismo pero con el segundo
delay_ms(4); 
display2 = 0; 


if (voltaje > 99)    //si hay mas de 99 voltios en el pin
sobrevoltaje = 1;   //activo la alerta  de sobrevoltaje

if(sobrevoltaje = 1)  //si se actibo la alerta de sobreboltaje
led = 1;       //activo el led que indica sobreboltaje en el pin

goto inicio;  //vuelvo a ejecutar el programa de forma infinita

}

Desconectado elgarbe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2178
Re: lectura incorrecta en ADC y el pic se muere
« Respuesta #1 en: 22 de Marzo de 2015, 15:01:20 »
Estas poniendo el led y los display directo al pic, sin resistencia serie? Primer error.
El divisor de la entrada analógica esta con 2 resis de 1k? Si es así divdes la tensión por dos, entonces el máximo que podes medir es 10 v.

Sds.
-
Leonardo Garberoglio

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: lectura incorrecta en ADC y el pic se muere
« Respuesta #2 en: 22 de Marzo de 2015, 15:07:05 »
lo raro es que no se haya quemado!!

El problema es ese, le estas metiendo 10V a la patilla del pic cuando le metes 20V, al tener un divisor resistivo de 1k/1k pues divides la tension /2, por lo cual el pic el maximo que lee es 5V

Desconectado rodrigo_pinilla

  • PIC10
  • *
  • Mensajes: 11
Re: lectura incorrecta en ADC y el pic se muere
« Respuesta #3 en: 22 de Marzo de 2015, 15:14:06 »
muchas gracias por la ayuda, yo creia que podia poner cualquier valor de resistencias para aser el divisor de tension

encontre que la formula del divisor de tension esta dada por:   Vo = Vi * (R1 / (R1+R2))

bueno, calculando con la calculadora logre encontrar que si pongo una resistencia de 1k, la otra debe ser de 21k para reducir el voltaje 22 veces

 el valor que tengo es de 22k entonces le voy a poner esa creo que va a funcionar

Desconectado elgarbe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2178
Re: lectura incorrecta en ADC y el pic se muere
« Respuesta #4 en: 22 de Marzo de 2015, 15:28:45 »
Cual es la tensión que querés medir? No te olvides de poner resistencias de 330 o 220 ohm en serie con la s segmentos y el led.

Sds.
-
Leonardo Garberoglio

Desconectado rodrigo_pinilla

  • PIC10
  • *
  • Mensajes: 11
Re: lectura incorrecta en ADC y el pic se muere
« Respuesta #5 en: 22 de Marzo de 2015, 16:18:35 »
no creo que sea buena idea ponerle resistencias, eso bajaria el voltaje, y ya de por si el led y los displays como los tengo conectados alumbran de un color naranja muy suave.... si le pongo resistencias me imagino que no se alcanzarian a ver.

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: lectura incorrecta en ADC y el pic se muere
« Respuesta #6 en: 22 de Marzo de 2015, 16:20:54 »
probablemente se te acabara quemando el pic, alumbran tan poco porque le estas dando mucha carga al pic, pero con el tiempo acabara quemado.

Desconectado elgarbe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2178
Re: lectura incorrecta en ADC y el pic se muere
« Respuesta #7 en: 22 de Marzo de 2015, 16:39:22 »
La led son rojos,no naranja. Prenden naranja porque tienen mucha corriente. O se quema el pico se queman el led y display.

Sds
-
Leonardo Garberoglio

Desconectado juaperser1

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 2979
Re: lectura incorrecta en ADC y el pic se muere
« Respuesta #8 en: 22 de Marzo de 2015, 17:43:36 »
Para evitar comerte la cabeza con errores que te puedan surgir, cambia el PIC, es muy probable que se quemarán algunos puertos o el adc ya no funcione correctamente.
Visita mi canal para aprender sobre electrónica y programación:

https://www.youtube.com/channel/UCxOYHcAMLCVEtZEvGgPQ6Vw

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: lectura incorrecta en ADC y el pic se muere
« Respuesta #9 en: 22 de Marzo de 2015, 18:32:19 »
no creo que sea buena idea ponerle resistencias, eso bajaria el voltaje, y ya de por si el led y los displays como los tengo conectados alumbran de un color naranja muy suave.... si le pongo resistencias me imagino que no se alcanzarian a ver.

El led tiene una caida de tension definida, ejemplo 2V y tu pic salen 5V, sino pones resistencia pasaria una corriente infinita. asi que tenes que calcular la resistencia
Ejemplo si quisiera una corriente de aprox 10mA

5V - 2V / 10mA = aprox. 330 ohms

En esa resistencia caen los otros 3V

Y si. recomendacion cambia el PIC ya lo quemaste o esta muy cerca. Deberias leer el datasheet donde dice el maximo de corriente/tension que soportan los pines..


 

anything