PIC16f1829 Conversion analogica

Buenas tardes, como puedo realizar la conversión de 2 entradas analógicas a la vez, estuve intentado con ejemplos de internet pero no pude llegar a una solución ya que solo hay para el pic16f877A y no son ejemplos funcionales, estoy usando mplab, si alguien pudiera ayudarme a realizar esta parte del código se lo agradecería mucho
 
Hola estimado Leo, Por favor puedes compartir lo que tienes. Muchas gracias, indicar que yo tengo un ejemplo pero programado en CCS
 
Buenas tardes, como puedo realizar la conversión de 2 entradas analógicas a la vez, estuve intentado con ejemplos de internet pero no pude llegar a una solución ya que solo hay para el pic16f877A y no son ejemplos funcionales,.....

A menos que para vos "la conversión de 2 entradas analógicas a la vez" no signifique nada relacionado con simultaneidad vas a necesitar que el micro tenga 2 ADC. Y tanto el 16F1829, como el 16F877, como la mayoría, tienen uno solo.
Aunque hay de 2, conseguirlos es otro tema.
 
A menos que para vos "la conversión de 2 entradas analógicas a la vez" no signifique nada relacionado con simultaneidad vas a necesitar que el micro tenga 2 ADC. Y tanto el 16F1829, como el 16F877, como la mayoría, tienen uno solo.
Aunque hay de 2, conseguirlos es otro tema.

Exacto, que funcionen en simultaneo, tengo entendido que para que una conversión termine e inicie una nueva hace falta esperar cierto tiempo dependiendo del PIC, no las utiliza a la par, mas bien las multipexa.

En mi caso quiero utilizar los 2 canales para utilizar un sensor LM35 con temperaturas bajo 0, tienes algún consejo o ayuda que me puedas ofrecer, perdón por mi redacción.
 
en mi caso quiero utilizar los 2 canales para utilizar un sensor LM35

Aun multiplexando puedes leer dos sensores un par de miles de veces por segundo cada uno.

La pregunta es: ¿ Porque necesitas que se lea el sensor tantas veces por segundo ? y mas con la temperatura que no es algo que cambie tan rápido.

Ademas, aclara un poco lo de usar dos canales ADC para un solo sensor que no me termina de cuadrar que es lo que quieres lograr.
 
Última edición:
exacto, que funcionen en simultaneo, tengo entendido que para que una conversión termine e inicie una nueva hace falta esperar cierto tiempo dependiendo del PIC, no las utiliza a la par, mas bien las multipexea. en mi caso quiero utilizar los 2 canales para utilizar un sensor LM35 con temperaturas bajo 0, tienes algún consejo o ayuda que me puedas ofrecer, perdón por mi redacción.
Con la lentitud con que varía una temperatura no hace falta que las conversiones sean simultáneas.

Vos solamente tenés hacer una rutina típica de lectura:
- Seleccionar un canal.
- Un delay de microsegundos. El datasheet te da un valor mínimo.
- Iniciar la conversión.
- Finalizada la conversión, se lee el canal y se repite el procedimiento con el otro.
- Restas las lecturas y después de 1" o el intervalo que se te cante largas otra conversión.
 
Entiendo que lo que quieres decir es como hacer DOS (2) lecturas ADC con un PIC amigo. Pues super sencillo
  1. tienes que hacer la primera ADC con A0 y
  2. Luego la segunda ADC con A1.
Te comparto parte del codigo que deberías poner en CSS

SET_ADC_CHANNEL(0); //HABILITACIÓN DEL CANAL
delay_us(15); // SOSTENER LA LECTURA-HOLD esto se calcula, pero como es temperatura(variable lenta) "NO IMPORTA"!
q=read_adc(); //Leectura
s1=(q*1.0)/10.240; //Conversión

SET_ADC_CHANNEL(1);
delay_us(15);
q=read_adc();
s2=(q*1.0)/10.240;
Espero mi "me gusta" . Un abrazo cualquier cosa me escribes tengo un programa que te pueda servir
 

Adjuntos

  • 2adc.JPG
    2adc.JPG
    119.4 KB · Visitas: 5
Atrás
Arriba