Autor Tema: como usar dos entradas ADC que muestreen simultaneamente 16f877a  (Leído 7406 veces)

0 Usuarios y 3 Visitantes están viendo este tema.

Desconectado Rick_x

  • PIC10
  • *
  • Mensajes: 32
como usar dos entradas ADC que muestreen simultaneamente 16f877a
« en: 17 de Diciembre de 2009, 01:08:42 »
nececito leer dos entradas ADC de forma simultanea es decir que la muestra de ambas señales se tome al mismo instante, estoy usando la pic 16F877A
como puedo hacer esto???

la otra duda que tengo es si uso conversion ADC de 10 bit requiero una variable de entera de 16 bit para almacenar el valor leido del ADC, pero en MPLAB v8, no me permite definir  int16 ni tampoco Long que puedo hacer para solucionarlo

muchisimas gracias de antemano

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: como usar dos entradas ADC que muestreen simultaneamente 16f877a
« Respuesta #1 en: 17 de Diciembre de 2009, 01:40:02 »
Hola.

Creo que eso no se puede hacer (fijate en el datasheet, figura 11-1, pagina 129).

MPLAB es el IDE, mas no el compilador. Que compilador usas?

Saludos
El papel lo aguanta todo

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: como usar dos entradas ADC que muestreen simultaneamente 16f877a
« Respuesta #2 en: 17 de Diciembre de 2009, 06:15:37 »
No, no se puede hacer, porque las entradas analógicas están multiplexadas a un único conversor A/D por aproximaciones sucesivas.


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

Desconectado Rick_x

  • PIC10
  • *
  • Mensajes: 32
Re: como usar dos entradas ADC que muestreen simultaneamente 16f877a
« Respuesta #3 en: 17 de Diciembre de 2009, 12:23:00 »
Primero, Gracias por responder

Estoy usando CCS C compiler, cuando escribo int16 para usar una variable a la que le asigno la lectura del conversor, no reconoce el comando, habitualmente deberian cambiar a azul las letras de int16, pero no ocurre y esto me genera un error. bueno ahora identifico mi variable como long y esto funciona, pero aun me queda la duda de porque no funciona int16.

Me pueden recomendar algún microcontrolador PIC que si permita hacer conversón analógica de dos entradas de forma simultanea, osea una pic qeu tenga dos ADC.

muchas gracias.


Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: como usar dos entradas ADC que muestreen simultaneamente 16f877a
« Respuesta #4 en: 17 de Diciembre de 2009, 12:31:25 »
Hola, me parece que si declaras int en mplab o c18 se genera una variable signed de 16 bits. Checa la ayuda de C18 para confirmar lo que te digo.

Sobre un pic que cuente con 2 ADCs internos no los encontré en microchip.com. Talvez te convenga usar el ADC interno del pic para una señal y un ADC externo para otra. Así disparas la medición simultáneamente.

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: como usar dos entradas ADC que muestreen simultaneamente 16f877a
« Respuesta #5 en: 17 de Diciembre de 2009, 12:39:01 »
Hola!! Podes multiplexar en tiempo la lectura del ADC de la siguiente manera:

Código: C
  1. void ADC_GetAllAxis(void)
  2. {
  3.    set_adc_channel(0);
  4.    delay_us(20);
  5.    Sample_X=read_adc();
  6.    
  7.    set_adc_channel(1);
  8.    delay_us(20);
  9.    Sample_Y=read_adc();
  10. }

saludos!!

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: como usar dos entradas ADC que muestreen simultaneamente 16f877a
« Respuesta #6 en: 17 de Diciembre de 2009, 13:03:24 »
Cierto, talvez 20us no afecten su medición simultánea.

Desconectado Rick_x

  • PIC10
  • *
  • Mensajes: 32
Re: como usar dos entradas ADC que muestreen simultaneamente 16f877a
« Respuesta #7 en: 17 de Diciembre de 2009, 13:55:45 »
Muy buena idea multiplexar en tiempo.

no afecta para nada los 20us el tiempo entre cada lectura del puerto ADC para cada señal lo haré cada 250 us

aun no puedo solucionar el problema de int16,
int es para 8 bit
y necesito int16 para la lectura del ADC que es de 10bit


muchisimas gracias a todos

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: como usar dos entradas ADC que muestreen simultaneamente 16f877a
« Respuesta #8 en: 17 de Diciembre de 2009, 14:05:35 »
aun no puedo solucionar el problema de int16,
int es para 8 bit
y necesito int16 para la lectura del ADC que es de 10bit


muchisimas gracias a todos

En la página 82 de este documento se muestra que un int en C18 de MPLAB es de 16 bits.

http://ww1.microchip.com/downloads/en/DeviceDoc/MPLAB_C18_Getting_Started_51295f.pdf

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: como usar dos entradas ADC que muestreen simultaneamente 16f877a
« Respuesta #9 en: 17 de Diciembre de 2009, 14:22:40 »
Pero esta usando C18 o CCS C?  :?

Porque en C18 no existe int16! Se debe colocar unsigned int para indicar una variable de 16 bits sin signo.


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

Desconectado Rick_x

  • PIC10
  • *
  • Mensajes: 32
Re: como usar dos entradas ADC que muestreen simultaneamente 16f877a
« Respuesta #10 en: 17 de Diciembre de 2009, 15:08:45 »
estoy usando el compilador CCS :-)

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: como usar dos entradas ADC que muestreen simultaneamente 16f877a
« Respuesta #11 en: 17 de Diciembre de 2009, 15:32:39 »
Hola.

En CCS no te cambia el color al escribir int16, pero si es un tipo de variable valido, así como el int8 y el int32.

Saludos
El papel lo aguanta todo

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: como usar dos entradas ADC que muestreen simultaneamente 16f877a
« Respuesta #12 en: 17 de Diciembre de 2009, 15:59:59 »
Hola.

En CCS no te cambia el color al escribir int16, pero si es un tipo de variable valido, así como el int8 y el int32.

Saludos

En realidad si, por lo menos en la 4.093 y que me acuerde en las anteriores igual  :?

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

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: como usar dos entradas ADC que muestreen simultaneamente 16f877a
« Respuesta #13 en: 17 de Diciembre de 2009, 18:16:21 »
Lo que ha de pasar es que tiene vinculado CCS en el IDE de MPLAB y por eso talvez no se colorea la palabra.

Pero si usa CCS entonces int8, int16 e int32 son válidos.


 

anything