Autor Tema: Adquisicion de datos con pic  (Leído 2940 veces)

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

Desconectado cdlopez

  • PIC10
  • *
  • Mensajes: 39
Adquisicion de datos con pic
« en: 15 de Julio de 2006, 23:53:51 »
Estimados Amigos:

Tengo que encarar un proyecto con un circuito con pic capaz de leer una variable analogica (por ejemplo temperatura) y poder leerla en la pc a travez de rs232 a la vez en un lcd. Si conocen algun link que pueda ayudarme estare muy agradecido a la vez que me comprometo a ir subiendo mis logros a este hilo. El programa para el micro lo quiero hacer en picbasic ya que disminuya bastante el tiempo de desarollo. Gracias :lol:

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: Adquisicion de datos con pic
« Respuesta #1 en: 16 de Julio de 2006, 00:02:12 »
Hola:

De un link que tenga todo eso no se, pero lo que se puede hacer es empezar a hacer eso, puedes ir posteando partes y entre todos podemos y viendo ideas y escribiendo algo de codigo.  :-/

Desconectado cdlopez

  • PIC10
  • *
  • Mensajes: 39
Re: Adquisicion de datos con pic
« Respuesta #2 en: 16 de Julio de 2006, 17:57:33 »
Hola estimadisimos amigos:

Bueno comencemos a encarar el proyecto:

Primero selecciono un microcontrolador PIc con entradas analogicas (barato) con conversor de 8 bits de resolucion que sea facil de conseguir y que ademas lo pueda simular con el proteus como es le caso del 16F72.

Segundo Elijo un lcd 16 x 2 para visualizar el valor instantaneo del dato analogico de entrada.

Tercero selecciono el max232 para convertir la señal TTL (5V) a la norma 232 serial (+12V/-12V)

El circuito queda de la siguiente forma (ver adjunto)

Espero sugerencias y sobretodo CRITICAS de cualquier tipo con respecto a los componentes seleccionados (o el por que de los mismos) como tambien si nesecitas laguna explicacion de alguno de ellos me comprometo a ayudarlos.

Quiero aclarar que soy novato en esto pero podemos discutir (una forma de decir) sobre el proyecto.

Gracias lordlafebre por su atencion.

Nos vemos


Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: Adquisicion de datos con pic
« Respuesta #3 en: 16 de Julio de 2006, 23:53:57 »
Hola:

La conexion esta bien, aunque la conexion del max al DB9 del PC, suelo conectar solo los pines 2, 3 y 5 que son RX TX y GND respectivamente.... en fin, ahora lo que hay que empezar a hacer es el codigo.  Seria bueno que vayas posteando el codigo o indiques si tienes algun inconveniente en algo para empezar desde alli.  :mrgreen:

Desconectado cdlopez

  • PIC10
  • *
  • Mensajes: 39
Re: Adquisicion de datos con pic
« Respuesta #4 en: 23 de Julio de 2006, 18:11:30 »
Hola amigos:

Voy a ir presentando los adelantos a medida que tenga tiempo:

Aqui ya la parte del codigo en PBP que se encarga solo de la conversion A/D y la visualizacion en le diplay para luego ir agregando nuevos modulos, les quiero adelantar que este el primer programa que realizo de mi autoria para microcontroladores gracias a lo aprendido en este foro. En la simulacion me salio redondito por supuesto que falta pulir algunas cosas, pero ya vamos a ir adelantando con mucha confianza.

Aqui ya

 Programa en pic Basic para visualizar el resultado de la conversion de un
' data analogico en un display lcd 2 x1 6
'
' entrada usada es la RA0

' asignacion de los pines del micro al lcd
Define  LCD_DREG        PORTB
Define  LCD_DBIT        4
Define  LCD_RSREG       PORTB
Define  LCD_RSBIT       0
Define  LCD_EREG        PORTB
Define  LCD_EBIT        1

valan  var byte         'valor analogico

TRISA = %11111111       'asignar como entradas todos los pines del puerto A

ADCON1 = %00000100      'asignar el puerto RA0 como entrada analogica

ADCON0 = %11000001      'signar el oscilador interno para la conversion, el
                        'puerto RA0 asi como
                        'la activacion del conversor A/D
                       
                       
loop:       ADCON0.2 = 1               'Comienzo de la conversion A/D

espera:       pause 5
         if ADCON0.2 = 1 Then espera       'mientras la conversion no termina queda en espera

         valan = ADRES               'cuando la conversion termina   

          Lcdout $fe, 1               'borra la pantalla del lcd
           Lcdout "VALOR: ", DEC valan       'visualiza el valor decimal en el display 

           Pause 500                   'espera

             Goto loop                   'empezar de nuevo
           End
                       
                       


Este programa debe ser simulado con el circuito publicao anteriormente.

Cuelquier consulta estoy a sus pies

hasta al proxima

Desconectado cdlopez

  • PIC10
  • *
  • Mensajes: 39
Re: Adquisicion de datos con pic
« Respuesta #5 en: 23 de Julio de 2006, 18:27:46 »
Como puedo hacer par poder ver valor fraccionarios por ejemplo XX.XX con picbasic.

Gracias

Desconectado cdlopez

  • PIC10
  • *
  • Mensajes: 39
Re: Adquisicion de datos con pic
« Respuesta #6 en: 24 de Julio de 2006, 00:29:48 »
Despues de probar y seguir investigando un poco presento el codigo PBP para poder visualizar la tension analogica en el lcd con dos decimales, que simulado con el proteus me da un resultado satisfactorio :-/

Para todos aquellos que no se animan a encarar algun proyecto pues animensen que usando unas pocas neuranas las cosas se van solucionando

aqui va:

' Programa en pic Basic para visualizar el resultado de la conversion de un
' data analogico en un display lcd 2 x1 6
'
' entrada usada es la RA0

' asignacion de los pines del micro al lcd
Define  LCD_DREG        PORTB
Define  LCD_DBIT        4
Define  LCD_RSREG       PORTB
Define  LCD_RSBIT       0
Define  LCD_EREG        PORTB
Define  LCD_EBIT        1

valan  var byte        'Valor analogico
entero VAR byte        'Parte entera
resto var byte         'Resto de la division
decimal var byte       'Parte decimal

TRISA = %11111111       'asignar como entradas todos los pines del puerto A

ADCON1 = %00000100      'asignar el puerto RA0 como entrada analogica

ADCON0 = %11000001      'signar el oscilador interno para la conversion, el
                        'puerto RA0 asi como
                        'la activacion del conversor A/D
                       
                       
loop:       ADCON0.2 = 1               'Comienzo de la conversion A/D

espera:       pause 5
         if ADCON0.2 = 1 Then espera       'mientras la conversion no termina queda en espera

         valan = ADRES               'cuando la conversion termina   
            entero = (valan*5) /255         'considerando que la alimentacion es de 5V y el A/D tiene una definicion de 8 bits
          resto = (valan*5)-(255*entero)
          decimal = ((resto*100)) / 255
          
           
           
            Lcdout $fe, 1               'borra la pantalla del lcd
           Lcdout "VALOR: ", dec entero,".", dec decimal       'visualiza el valor decimal en el display 

           Pause 500                   'espera

             Goto loop                   'empezar de nuevo
           End
                       

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: Adquisicion de datos con pic
« Respuesta #7 en: 24 de Julio de 2006, 00:38:18 »
Hola,

felicidades, y enhorabuena  :-/  :mrgreen:

Desconectado cdlopez

  • PIC10
  • *
  • Mensajes: 39
Re: Adquisicion de datos con pic
« Respuesta #8 en: 25 de Julio de 2006, 00:46:35 »
Hola nuevamente:

Avanzando un poco mas alla, les muestro como queda el circuito y el codigo en PBP para que lo prueben con proteus de un circuito de adquisicion de cuatro canales analogicos representando los cuatros valores simultaneamente en un lcd 2 x 16, los archivos proteus, el .bas y el .hex estan adjuntos y zipeados.
Variando los valores de los 4 potenciometros simulo las variables analogicas y puedo ver como son presentadas en el lcd.

C1, C2, C3 y C4 son cada uno de los canales.

Saludos

Desconectado cdlopez

  • PIC10
  • *
  • Mensajes: 39
Re: Adquisicion de datos con pic
« Respuesta #9 en: 26 de Julio de 2006, 01:27:28 »
hola amigos:

Como estan???  :)

yo muy contento porque estoy progresando con el proyecto y aqui les presento mi ultimo adelanto por si lo quieren ver, ya puedo leer las variables analogicas de cada canal, visualizarlas en el lcd y a la vez poder transmitirlas serialmente y poder verlas en el terminal, realmente PBP es muy potente y muy facil de aprender,...., van los archivos nesesarios para poder simularlos en la pc (proteus)

Saludos a todos!!!!! :mrgreen:


 

anything