Haz una pregunta
  Foros de Electrónica » Temas de Interés » Dudas en general
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

25/04/2013 #1


Problema con conversor A/D dspic
Hola gente, estoy haciendo un proyecto y tengo un problema con el conversor A/D.
El problema es el siguiente, solo quiero tester el valor de una señal de continua, pero cuando conecto dicha tensión a testear, en la entrada analógica del pic me pone un cero o aproximadamente. Y no se cual es el problema. Alguien sabe cual puede ser el inconveniente?
Como aclaración la tensión de alimentación es de 5V y la tensión que quiero media es sobre una resistencia, mediante un divisor resistivo. Las resistencias son de 2k2.
La configuración creo que esta bien, porque use una que aparece en los ejemplos de las hojas de datos. Probé utilizando varias entradas y con todas tengo el mismo problema.
desde ya, muchas gracias.
Saludos.
25/04/2013 #2
Moderador general

Avatar de Fogonazo

Publica el esquema completo
25/04/2013 #3


hola, gracias por responder. El esquema es el adjunto.
La alimentación es de 5V.
Obtengo valores de adquision y son 6 o 7, casi cero, que concuerda con lo que
veo en el tester sobre el PIN_AN2.
Saludos
Imágenes Adjuntas
Tipo de Archivo: jpg Esquema.jpg (95,8 KB (Kilobytes), 24 visitas)
26/04/2013 #4

Avatar de Ardogan

Falta conectar AVDD y AVSS.
26/04/2013 #5


Ya tengo conectados todas las tensiones de alimentación, Vdd, AVdd, Vss y Avss a sus respectivas tensiones y el problema persiste.
Gracias.
26/04/2013 #6

Avatar de Ardogan

emmarb86 dijo: Ver Mensaje
Obtengo valores de adquision y son 6 o 7, casi cero, que concuerda con lo que
veo en el tester sobre el PIN_AN2.
Ok, si pasa lo de arriba es que el pin probablemente esté configurado como salida y puesto a 0V. Quizás ese es el estado por default.
Configuraste bien el puerto? -> fijate en sección 17.5 y subsiguientes del manual del programador (es para dspic30f, no se cual estas usando):
http://ww1.microchip.com/downloads/e...Doc/70157C.pdf
Para poder ser más preciso tendrías que poner el código que maneja al ADC.
Saludos
28/05/2013 #7


problema con el baud rate
Hola gente, estuve desconectado del proyecto, ahora regreso a la carga.
No pude solucionar todavia el problema con el conversor A/D. El codigo es el siguiente.
La configuracion de los registros es la recomenda en el ejemplo de la hoja de datos.

//////////// registro de control ADCON1 /////////

ADCON1bits.ADON = 0;
ADCON1bits.ADSIDL = 0;
ADCON1bits.FORM = 0b00;
ADCON1bits.SSRC = 0B111;
ADCON1bits.SIMSAM = 1;
ADCON1bits.ASAM = 1;

//ASCON1bits.SAMP = 1

//////////// registro de control ADCON2 /////////
//ADCON2 = 0x0000
ADCON2bits.VCFG = 0b000;
ADCON2bits.CSCNA = 0;
ADCON2bits.CHPS = 0B00;
ADCON2bits.SMPI = 0b0000;
ADCON2bits.BUFM = 0;

//////////// registro de control ADCON3 /////////
//ADCON3 = 0x0F01
ADCON3bits.SAMC = 0b01111;
ADCON3bits.ADRC = 0;
ADCON3bits.ADCS = 0b000001;

//registro de seleccion de los canales de entrada
ADCHS= 0x0002; // SELECCIONO EL CANAL RB2/AN2

//registro de configuracion de puertos
ADPCFG=0XFFFB; //TODOS LOS PINES SON GIGITALES, EL RB2 ANALOGICA

//registro de seleccion de entrada de escaneo
ADCSSL=0X0000;


ADCON1bits.ADON = 1; // turn ADC ON
while (1)
{
ADCON1bits.SAMP = 1; // start sampling then ...
while (!ADCON1bits.DONE); // conversion done?
ADCValue = ADCBUF0; // yes then get ADC value
//DatosArray[indice] = ADCValue;
indice = indice + 1;
U2TXREG = ADCValue;
}

Ahora tengo otro problema, es que solo puedo hacer funcionar correctamente la comunicacion con la pc a 9600bps, cuando quiero utilizar velocidades mayores los datos enviados son erroneos, alguien sabe cual puede ser el problema?
gracias.
28/05/2013 #8

Avatar de Ardogan

Me equivoqué con el link de arriba, que debería ser:
http://ww1.microchip.com/downloads/e...Doc/70046D.pdf

¿Cual dspic estás usando? -> no sé si estamos hablando de un conversor de 10 o 12 bits. Son parecidos pero algunas cosas cambian. Voy a suponer que estás usando uno de 10 bits, por lo que veo de los registros usados.

Con respecto al conversor, hay una sola entrada analógica, así que la configuración debería ser la más sencilla (nada de secuencias de conversión, triggers complicados).
Deberías configurar los registros en el orden que dicen los ejemplos en vez de registro por registro, por las dudas. Si bien veo que tenés el cuidado de no poner ADON=1 hasta el final, el orden es una fuente de posibles problemas que se puede evitar.

Veo que ASAM = 1, esto hace que el muestreo sea automático. Me parece contradictorio que para iniciar la conversión utilices
ADCON1bits.SAMP = 1; // start sampling then ...

Una cosa es la operación de muestreo (conectar uno de los canales analógico a la única entrada del conversor SAR y empezar a cargar el capacitor de sample/hold) y otra cosa es la operación de conversión (el SAR convierte lo que sea que haya a su entrada).

Entiendo que tu caso es como el de la página 408 del link (es decir: hay que iniciar el muestreo con SAMP = 1, se espera el tiempo establecido por SAMC, se inicia/dispara la conversión en forma automática porque SSRC = 111, y luego de la conversión el bit DONE = 1.

Pero el problema creo que es que ASAM=1. En ese caso deberías guiarte por el ejemplo de la página 409.
La diferencia es que en el ejemplo anterior uno controla la conversión con el bit SAMP, y que con ASAM = 1 uno deja que el módulo haga muestreo todo el tiempo y uno sabe que se terminó una conversión por IFS0bit.ADIF.

En fin, para empezar simple te diría que uses ASAM = 0 y a lo mejor no tenés que cambiar ninguna otra cosa.

/////////////////////////
En cuanto a la comunicación con la PC, si querés mandar los datos a otra velocidad tenés que configurar el baud rate del módulo uart de modo acorde. Fijate en las tablas de la página 495, entrá con el Fcy que tengas configurado y el baudrate deseado, y de ahí sacás el valor de BRG.

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

Buscar más temas sobre:
Lupa Dudas en general

Aquí se tratan todos los temas relacionados con la electrónica en general.

Cerrar
Foros de Electrónica » Temas de Interés » Dudas en general

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