Autor Tema: tarjeta de adquisición de datos serial (rs232)  (Leído 3840 veces)

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

Desconectado gustavosinbandera

  • PIC10
  • *
  • Mensajes: 19
tarjeta de adquisición de datos serial (rs232)
« en: 15 de Noviembre de 2012, 16:13:45 »
hola amigos foreros estoy desarrollando un pequeño tutorial donde vamos a diseñar paso a paso todos los bloques de código necesario para tener una tarjeta de adquisición completamente funcional, y con un software diseñado en labview quien es el encargado de la recepción de los datos

Desconectado gustavosinbandera

  • PIC10
  • *
  • Mensajes: 19
Re: tarjeta de adquisición de datos serial (rs232)
« Respuesta #1 en: 15 de Noviembre de 2012, 16:16:52 »
primero que todo les cuento que vamos a desarrollar el esquema necesario para la simulación de la comunicación serial en proteus, así como el software necesario para recibir los datos en labview.


Desconectado gustavosinbandera

  • PIC10
  • *
  • Mensajes: 19
Re: tarjeta de adquisición de datos serial (rs232)
« Respuesta #2 en: 15 de Noviembre de 2012, 16:30:39 »
anexo la simulación en proteus del microcontrolador pic16f877a + el puerto serie. con esto es suficiente para poder iniciar nuestro proyecto.

ahora lo que resta es configurar el micro controlador para que ponga en marcha el puerto serial y asi iniciar una comunicación con cualquier dispositivo ya sea real o virtual.
me refiero a virtual o real ya que con esta simulación queda abierta la posibilidad de comunicarnos con el mundo exterior a través del puerto serie de la computadora o con cualquier otro software  por medio de un puerto serie virtual.
en Internet podemos conseguir algún software para la emulación de un puerto para así poder comunicar a labview con proteus; yo les recomiendo el eltima serial port software
« Última modificación: 16 de Noviembre de 2012, 14:02:10 por gustavosinbandera »

Desconectado gustavosinbandera

  • PIC10
  • *
  • Mensajes: 19
Re: tarjeta de adquisición de datos serial (rs232)
« Respuesta #3 en: 15 de Noviembre de 2012, 16:36:28 »
aqui va el montaje de la simulacion

Desconectado gustavosinbandera

  • PIC10
  • *
  • Mensajes: 19
Re: tarjeta de adquisición de datos serial (rs232)
« Respuesta #4 en: 15 de Noviembre de 2012, 16:42:56 »
#include <16f877a.h>
#include <string.h>
#fuses HS,NOWDT
#byte port_b=6
#use delay(clock=20000000)
#use rs232(baud=9600,xmit=pin_c6,rcv=pin_c7)


#bit OERR=0x0018.1
#bit CREN=0x0018.4


void main(void)
{
  set_tris_c(0b10000000);//0b10xxxxxx  //pin_c6 como salida ya que es el pin de Tx
                          //pin_c7 como entrada ya que es el pin de recepcion



     while(1)
     {



     }
}

Desconectado gustavosinbandera

  • PIC10
  • *
  • Mensajes: 19
Re: tarjeta de adquisición de datos serial (rs232)
« Respuesta #5 en: 15 de Noviembre de 2012, 16:46:54 »
La instruccion  #use rs232(baud=9600,xmit=pin_c6,rcv=pin_c7)  es la encarga de configurar la velocidad de transmision y los pimes de transmision y recepcion,

en este caso utilizo los pines que trae el microcontrolador para tal fin, que son el pin c6 y pin c7,
tengan presente que si se especifican pines diferentes la transmisión se realizara por software y no por hardware que es la forma en la que voy a implementar esta comunicacion

Desconectado gustavosinbandera

  • PIC10
  • *
  • Mensajes: 19
Re: tarjeta de adquisición de datos serial (rs232)
« Respuesta #6 en: 15 de Noviembre de 2012, 16:55:53 »
las lineas de codigo
 
#bit OERR=0x0018.1
#bit CREN=0x0018.4

son para hacer referencia a los bits encargados de anunciar si se a producido un error en la comunicación, por ejemplo cuando se llena el buffer de recpcion  el bit OERR se establece en uno anunciando que se a producido un  error, y es ahí donde debemos limpiar por software el bit CREN, de lo contrario la comunicación quedaría colgada, para mas información en el datasheet del microcontrolador se puede encontrar esta información,

en la pagina 112 se encuentra el registro RCSTA quien es el que contiene los bits en cuestión, y en la pagina 117 se detalla como se debe tratar este tipo de error.
 tengan en cuenta que esto es solo si se desea utilizar la recepcion por puerto serie del microcontrolador

Desconectado gustavosinbandera

  • PIC10
  • *
  • Mensajes: 19
Re: tarjeta de adquisición de datos serial (rs232)
« Respuesta #7 en: 15 de Noviembre de 2012, 16:58:14 »
#int_rda

void rda_isr(){
   disable_interrupts(int_rda);   

//y es aqui donde preguntamos si se produjo un error en la recepcion
  if(OERR)
   {
      CREN=0;
      delay_cycles(2);
      CREN=1;
   } 

  //si hay dato disponible para leer
    if(kbhit())
    {
    dato=getc();
   }
}

Desconectado gustavosinbandera

  • PIC10
  • *
  • Mensajes: 19
Re: tarjeta de adquisición de datos serial (rs232)
« Respuesta #8 en: 15 de Noviembre de 2012, 17:04:00 »
bueno ahora para poder probar la comunicacion podemos hacer uso del eltima virtual serial port y el hyperterminal que trae windows,
les cuento que la idea de hacer este proyecto paso a paso es que nadie se quede sin entender nada,

poco a poco ire subiendo las fotos, para poder entender como instalar y configurar paso a paso el soft

Desconectado Fer_TACA

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4069
Re: tarjeta de adquisición de datos serial (rs232)
« Respuesta #9 en: 16 de Noviembre de 2012, 07:38:59 »
Buen proyecto, o voy a seguir con mucho cariño.

F.
Todos los días se aprende algo nuevo.

Desconectado gustavosinbandera

  • PIC10
  • *
  • Mensajes: 19
Re: tarjeta de adquisición de datos serial (rs232)
« Respuesta #10 en: 16 de Noviembre de 2012, 13:08:18 »
muchas gracias a las personas que quieran seguir este foro, les prometo que este fin de semana estare colgando, la siguiente parte de este proyecto para que todos empecemos a familiarizandonos con las comunicaciones rs232,
Les cuento que en realidad este proyecto,hace parte de una tarjeta de adquisición de datos bluetooth que construí como proyecto de grado de la universidad, asi que quiero que empiecen a visualizar el alcance que este proyecto tendrá,


tan solo quiero saber si hay mas gente de este foro que en realidad este interesada en este proyecto

Desconectado gustavosinbandera

  • PIC10
  • *
  • Mensajes: 19
Re: tarjeta de adquisición de datos serial (rs232)
« Respuesta #11 en: 16 de Noviembre de 2012, 13:37:42 »
Bueno amigos, ahora les dejo un link donde pueden descargar el virtual serial port y voy subiendo imagenes para que vean el modo de configuración de los puertos


**********************

descargar e  instalar como cualquier otro programa de windows
« Última modificación: 17 de Noviembre de 2012, 06:59:34 por un Moderador »

Desconectado gustavosinbandera

  • PIC10
  • *
  • Mensajes: 19
Re: tarjeta de adquisición de datos serial (rs232)
« Respuesta #12 en: 16 de Noviembre de 2012, 13:42:42 »


esta es la primera ventana que se nos abre cuando iniciamos el virtual serial port
« Última modificación: 16 de Noviembre de 2012, 13:58:44 por gustavosinbandera »

Desconectado gustavosinbandera

  • PIC10
  • *
  • Mensajes: 19
Re: tarjeta de adquisición de datos serial (rs232)
« Respuesta #13 en: 16 de Noviembre de 2012, 14:01:32 »
en el lado izquierdo de la ventana se muestran los puertos disponibles en la pc, y en el lado derecho se muestran los puertos que vamos a crear,
asi que manos a la obra, podemos crear un par de puertos para la comunicacion, NOTA:no importa el numero de los puertos, en la imagen aparecen los puertos 3 y 4 pero ustedes pueden colocar los que deseen, pero asi mismo nos vamos a referir a ellos cuando hagamos la comunicacion

Desconectado gustavosinbandera

  • PIC10
  • *
  • Mensajes: 19
Re: tarjeta de adquisición de datos serial (rs232)
« Respuesta #14 en: 16 de Noviembre de 2012, 14:08:34 »

esta es la configuracion que yo tengo, en el lado izquierdo me muestra los dos puertos que he creado {2 y 3} y un puerto real con el que cuenta la pc {1}


 

anything