Autor Tema: Dudas ADC PIC16F877A, cómo configurar para leer más de 1 canal analógico ???  (Leído 7329 veces)

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

Desconectado Lord_Duran

  • PIC12
  • **
  • Mensajes: 76
Saludos cordiales.

Tengo algunas dudas al respecto del manejo del ADC del PIC16F877A en CCS:

- Configuracion de los canales, tengo entendido que se configura con la línea "setup_adc_ports(valor)" donde valor es algun canal análogo, solamente uno. Lo que quiero de ello es leer de los canales analógicos AN0 a AN4, 5 diferentes sensores repartidos en esos canales. Cómo puedo modificar esa linea de código para que me permita leer de esos canales que necesito???

- La lectura para los diferentes canales se hace con los códigos:
Código: [Seleccionar]
set_adc_channel(0);  // PARA EL CANAL 0
delay_us(100);
valor1=read_adc();
set_adc_channel(1);  // PARA EL CANAL 1
delay_us(100);
valor2=read_adc();

La pregunta es: en la línea "valor1=read_adc();" tambien tengo que poner el numero del canal dentro de los paréntecis ???


Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Dudas ADC PIC16F877A, cómo configurar para leer más de 1 canal analógico ???
« Respuesta #1 en: 26 de Agosto de 2010, 21:29:47 »
En setup_adc... puedes colocar: AN0_AN1_AN2_AN3_AN4. En 16F877A.h hay más dato.


Y en read_adc() no hay que colocar el canal, en la ayuda de CCS, en read_adc explica los parámetros que recibe.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado Lord_Duran

  • PIC12
  • **
  • Mensajes: 76
Re: Dudas ADC PIC16F877A, cómo configurar para leer más de 1 canal analógico ???
« Respuesta #2 en: 26 de Agosto de 2010, 21:51:17 »
Saludos Suky.

Muchas gracias por tu ayuda, pues ya vi los archivos que me recomendaste, la verdad, me falta saver muchas cosas, además de aprender a buscar  :oops: , pero ya va armandose la cosa.

Muchas gracias

Desconectado Lord_Duran

  • PIC12
  • **
  • Mensajes: 76
Re: Dudas ADC PIC16F877A, cómo configurar para leer más de 1 canal analógico ???
« Respuesta #3 en: 27 de Agosto de 2010, 10:29:18 »
Saludos.

Otraves yo, y con más dudas.

Ahora, sobre el sensor de temperatura LM35. La duda que tengo es como manejarlo, vi en varios comentarios aqui en el foro donde hacen diferentes líneas de código para las operaciones necesarias para mostrar la temperatura.

Código: [Seleccionar]
grados_term1 = (int) ((lectura*391)/1000);
otro
Código: [Seleccionar]
temp = (5.0*temp_adc*100)/1024.0;
otro
Código: [Seleccionar]
temp = ((5/1024.0)*adc)/0.01;
la verdad, esas variaciones de líneas de código me dejan más confundido, porfavor, alguna explicacion al respecto.

Muchas gracias.

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Dudas ADC PIC16F877A, cómo configurar para leer más de 1 canal analógico ???
« Respuesta #4 en: 27 de Agosto de 2010, 10:53:30 »
Todo depende de que escala tengas que aplicarle. Si está conectado directamente tu puedes saber que:

Cuando haya 150.0 ºC el sensor te entrega 1.5V.
Con 1.5V en la entrada del conversor con referencia positiva en 5V, tendrás como resultado de la conversión (10-bits) 307.


Ahora es cosa de regla de tres simple:

150.0ºC .....  307
xºC .........  MedidaADC.


Nota: La primer versión que muestras,  tiene mal implementado el operando cast  :?


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado Lord_Duran

  • PIC12
  • **
  • Mensajes: 76
Re: Dudas ADC PIC16F877A, cómo configurar para leer más de 1 canal analógico ???
« Respuesta #5 en: 30 de Agosto de 2010, 10:38:00 »
Muchas gracias

un saludo

Desconectado Lord_Duran

  • PIC12
  • **
  • Mensajes: 76
Re: Dudas ADC PIC16F877A, cómo configurar para leer más de 1 canal analógico ???
« Respuesta #6 en: 31 de Agosto de 2010, 21:51:01 »
Saludos

Cree un nuevo tema sobre dudas que tengo en el uso de funciones en CCS, porfavor, necesito esas aclaraciones para seguir avanzando.

http://www.todopic.com.ar/foros/index.php?topic=31867.0

Muchas gracias