Autor Tema: ENTRADAS ANALOGICAS programarlas  (Leído 7798 veces)

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

Desconectado yuhe

  • PIC12
  • **
  • Mensajes: 76
ENTRADAS ANALOGICAS programarlas
« en: 30 de Octubre de 2007, 12:38:14 »
Hola amigos, vuelvo a acudir a ustedes para pediros ayuda sobre los pines de entrada analogica ,me gustaria saber como programar y todo eso pero por mucho que miro en el foro e  intento hacer algo no logro nada haber si ustedes me podeis ayudar con algun manual o no se
De nuevo gracias amigos :-/ :-)

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: ENTRADAS ANALOGICAS programarlas
« Respuesta #1 en: 30 de Octubre de 2007, 12:48:55 »
Sobre las entradas analogicas se usan los registros ADCON, Ansel o depende del PIC que PIC estas usando?

Y sobre todo  leer el datasheet de dicho PIC.
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado yuhe

  • PIC12
  • **
  • Mensajes: 76
Re: ENTRADAS ANALOGICAS programarlas
« Respuesta #2 en: 30 de Octubre de 2007, 13:21:03 »
Hola de nuevo Navaismo pues estoy usando el 16f628 y me gustaria usar tambiem el 12f628  y sus hojas de caracteristicas las leo me las descargo pero no logro entender como hacer que lea un ping de forma nalogica

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: ENTRADAS ANALOGICAS programarlas
« Respuesta #3 en: 30 de Octubre de 2007, 14:55:05 »
Bueno sobre el 16f628 no trae un convertidor AD mas bien trae un comparador analogico este se configura con el registro CMCON cada BIt de este registro esta explicado en el datasheet.

Del 12f629 no tiene tendria que ser el 12f675 y ese se modifica con el ADCON0 y Ansel.
« Última modificación: 30 de Octubre de 2007, 15:01:50 por navaismo »
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado Mario

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 873
La buena administración es utilizar el sentido común y la regla de oro; aunque el sentido común no es tan común como quisiéramos que fuera y, quien tiene el oro, hace las reglas.
George Terry

"A loser will defeat a genius with hard work"
Rock Lee

Desconectado yuhe

  • PIC12
  • **
  • Mensajes: 76
Re: ENTRADAS ANALOGICAS programarlas
« Respuesta #5 en: 03 de Noviembre de 2007, 12:14:34 »
Por mucho que miro y lo he intentado nada me leido el ds por lo menos 4 veces y nada no logro nada soy el mas torpe del mundo por dios
yo lo que quiero son comandos basicos parair poco a poco al principio para medir la carga de una bateria etc poco a poco vamos un manual de pbp pero para nalaogica os ruego ayuda amigos :(

Desconectado Mario

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 873
Revisa esto entonces:
« Respuesta #6 en: 03 de Noviembre de 2007, 15:57:07 »
La buena administración es utilizar el sentido común y la regla de oro; aunque el sentido común no es tan común como quisiéramos que fuera y, quien tiene el oro, hace las reglas.
George Terry

"A loser will defeat a genius with hard work"
Rock Lee

Desconectado mancupic

  • PIC10
  • *
  • Mensajes: 13
Re: ENTRADAS ANALOGICAS programarlas
« Respuesta #7 en: 05 de Diciembre de 2007, 15:49:43 »
HOLA AMIGO... creo que puedo darte una mano.... pasame el esquematico y yo te hago el programa y te lo explico... Saludos :-/

Desconectado jim_17

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 309
    • Blog personal
Re: ENTRADAS ANALOGICAS programarlas
« Respuesta #8 en: 05 de Diciembre de 2007, 15:56:05 »
A mi tambien me gustaria aprender un poco sobre esto, si puede ser intentar colgarlo en el foro. thanks


salu2
Share the world !

Blog's

http://www.area0x33.com

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: ENTRADAS ANALOGICAS programarlas
« Respuesta #9 en: 05 de Diciembre de 2007, 17:16:29 »
No veo la complejidad amigos.

"Solo es cuestion de ponerse". Vamos que lo primero es entender como funciona un ADC o por lo menos tratar de captar la idea.

Ejemplo el ADC de un PIC16F877 se dice que tiene 2 resoluciones: de 8 bits y de 10bits. ¿Que son estos BITS? Bueno los valores maximos que puede tomar la Lectura del ADC del PIC16F877; en el caso de 8 BITS tomara valores -decimales para que sea mas claro- entre 0 y 254. En el caso de 10Bits tomara valores entre 0 y 1023.

¿Como interpreta cada valor el PIC? Primero hay que saber que el PIC solo leera Voltajes de 0 a 5V como maximo por ser lo que soporta sus pines. Ahora bien suponiendo que el ADC esta configurado para leer estos valores sin voltajes de referencia. El valor decimal 0 correspondera a 0Volts y el Valor decimal 1023 correspondera a 5V. ¿Entonces cual es la resolucion del ADC?. Segun lo anterior 5/1024 aproximadamente 4.8mV osea cada 4.8mV o 5mV subira un valor decimal.

¿Que es un Voltaje de referencia? Los PIC's con ADC cuentan -en su mayoria- con PINES de VREFS -Voltajes de referencia- esto es util cuando queremos que el valor minimo en este caso 0 no sea igual a 0V, por ejemplo conectando VREF- a un voltaje de 2V cuando el Pin que hace la lectura este en 2V, la lectura sera de cero; y lo mismo aplica para VREF+.

¿Y como configuro el ADC de un PIC?Bien cada PIC tiene su registro especifico para configurar el ADC, en este caso estamos hablando del PIC16F877 y su registro es el ADCON1 este registro posee 8 Bits de configuracion. como vemos en la siguiente tabla


Como veran el BIT7  es el que nos da la resolcion del ADC si tiene un 1 se "justificara a la derecha" o se define cono 10BIts si es 0 sera de 8 BITS

El BIT6 define el tiempo de conversion, en PBP casi no lo tocamos aun que pueden leer mas y definirlo con ayuda del ADCON0

El BIT4 y BIT5 no se usan por lo cual se leen como 0

Los demas BITS0-3 definen que pines son usados "para que", por ejemplo digital adc o vrefs.

Y aqui esta de acuerdo a los valores de los ultimos 4 bits del registro ADCON1 como se comportaran los pines del ADC



Asi por ejemplo si quisieramos desactivar todo el ADC y usar los pines como I/O digitales hacemos:

ADCON1=7  lo que corresponde a poner %0111 donde el ultimo bit no importa por la tabla anterior y asi todo el ADC estara desactivado

Otro ejemplo es activar solo el PORTA0 como analogico, sin voltajes de referencia, las demas salidas digitales y con una resolucion de 10 BIts hacemos:

ADCON1=142 o lo que equivale a poner ADCON1=%10001110

Y para poner esto en Practica en el PBP el ejemplo es asi:

Código: Visual Basic
  1. Define  LCD_DREG        PORTD
  2. Define  LCD_DBIT        4
  3. Define  LCD_RSREG       PORTA   ' DEFINICION DE LOS REGISTROS DEL LCD
  4. Define  LCD_RSBIT       2
  5. Define  LCD_EREG        PORTA
  6. Define  LCD_EBIT        5
  7.  
  8. Define  ADC_CLOCK          3    ' PONIENDO EN 3 EL RELOJ DE LA FUENTE
  9. Define  ADC_BITS          10    ' NUMERO DE BITS DEL RESULTADO
  10. Define  ADC_SAMPLEUS  15        ' SETEO DEL TIEMPO DE MEDICION
  11.  
  12.  
  13.   TRISA  = 11           ' PUERTO A 3 ENTRADAS Y 3 SALIDAS                                                          
  14.  TRISB  = 127
  15.   ADCON1 = 142              ' PUERTO A COMO ADC Y JUSTIFICACION A LA DERECHA
  16.  
  17.   OPTION_REG.7 = 0      ' HABILITAR PULL-UPS
  18.  
  19.    
  20.   Low PORTA.4               ' APAGO LINEA DEL LCD R/W (W)
  21.   Pause 500                     ' PAUSA PARA LCD
  22.  
  23.    
  24. sensor  VAR word   ' VARIABLE PARA GUARDAR EL VALOR DE ADC  
  25.  
  26. TERMO VAR PORTA.0
  27.  
  28. INIT:             'inicio de la rutina principal
  29. ADCIN  TERMO, sensor
  30.  
  31.  LCDOUT $FE1, "Lectura de:"                    'mostramos mensaje en la primer linea del LCD
  32. LCDOUT $FE,$C0,  dec sensor                  'nos pasamos a la segunda linea del LCD y mostramos valor decimal
  33.  
  34.  
  35. goto INIT

Espero que les sirva todo esto es un resumen de los links que les paso Mario                     
« Última modificación: 05 de Diciembre de 2007, 17:23:29 por navaismo »
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado pajaro

  • PIC24H
  • ******
  • Mensajes: 1121
Re: ENTRADAS ANALOGICAS programarlas
« Respuesta #10 en: 19 de Octubre de 2008, 09:38:21 »
hola Navaismo

Donde dices lo del conversor de 8 bit.
es 2 elevado a la 8 verdad,
si es asi es 256 verdad?
entonces sera entre 0 y 255
¿toy en lo cierto?

Por cierto, muy buena la explicación.

un saludo
« Última modificación: 19 de Octubre de 2008, 09:42:43 por pajaro »

Desconectado sandra

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 374
Re: ENTRADAS ANALOGICAS programarlas
« Respuesta #11 en: 19 de Octubre de 2008, 15:53:29 »
Efectivamente una resolucion  de 8 bits es de 0 a 255
El pesimista se queja del viento
El optimista espera que cambie
El realista ajusta las velas


 

anything