PICELECTRONICA
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

Comunicación serie con PICBASIC y LabView con PIC 12F675

Ir abajo

Comunicación serie con PICBASIC y LabView con PIC 12F675 Empty Comunicación serie con PICBASIC y LabView con PIC 12F675

Mensaje  Electrobicho Mar Abr 24, 2012 10:13 pm

Pic Basic proporciona una herramienta que crea un puerto para TX y RX aunque el PIC que se utilice no los contenga, para este ejemplo se usará un PIC 12F675 este pequeño gran enano, sera útil ya que en esta entrega se hará la lectura proveniente de un sensor de temperatura LM35, el cual sera leído y codificado por el convertidor analógico/digital interno del PIC (10 bits), a continuación se muestra en la imagen el código propuesto para el Microcontrolador , las lineas se explicaran en seguida.

Código:
'****************************************************************
'*  Name    : COMUNICACIÓN SERIAL PIC 12F675 Y LABVIEW 2010    *
'*  Author  : SIERRA ARELLANES JACOBO                          *
'*  Notice  : [Tienes que estar registrado y conectado para ver este vínculo]                   *
'*          http://picelectronica.foroactivo.mx                *
'*          : All Rights Reserved                              *
'*  Date    : 19/12/2011                                        *
'*  Version : 1.0                                              *
'*  Notes  :                                                  *
'*          :                                                  *
'****************************************************************
@ Device PIC12F675,WDT_ON,PWRT_ON,PROTECT_OFF,MCLR_OFF,BOD_OFF
Symbol T9600 = 2 'Seteamos la velocidad de transmisión a 9600 baudios
ADCON0=143      'Se configura el uso del convertidor Analógico/Digital
ANSEL=8         
CMCON=7
TRISIO=%011000      'Indicamos entradas/salidas, recordar que MCLR es solo entrada
DEFINE ADC_BITS 10  'Número de bits para la conversión
DEFINE ADC_CLOCK 3  'Se utilizará el reloj interno para realizar la conversión
DEFINE ADC_SAMPLEUS 50 'Cada 50 uS se tomara la medida
RDG VAR WORD        'Variable que almacena la lectura de GPIO.0
I VAR Byte          'Variable de conversión para enviar dato
 
SerOut GPIO.0, T9600, [0] 'Se transmite un "0"
inicio:
    ADCIN 3, RDG      'Lee el valor del convertidor
    Pause 50          'Pausa para esperar conversión
    i= (rdg*49)/100  'Convierte los valores  (49=5 V) por la referencia
    SerOut GPIO.0, T9600, [#i]  'Enviar datos al puerto serial
    pause 90
GoTo inicio
End

En el código anterior se ve detalladamente que hace cada línea del código del PIC, ahora se muestra el diagrama a bloques de Labview 2010, en el cual se configura el subvi VISA, cabe mencionar que se debe tener instalado VISA RESOURCE para poder establecer este tipo de comunicación, primeramente se muestra el block de configuración de VISA, solo hay que darle click derecho y crear control y para que se escondan solo darle click derecho a cada control y “esconder”, posteriormente se muestra un retardo para que procese las señales de entrada, este retardo depende del tiempo que se le de al Microcontrolador (cuando se arme físicamente posiblemente hay que modificar los tiempos), continua con un nodo de conexión y el block de “read”, como se entiende entra al puerto serial una cadena de caracteres y esta se tiene que convertir a numero para que sea representado, en este caso por un termómetro, para eso se usa el block consecutivo “Decimal string to number”, a la salida como su nombre lo indica tendrá el valor numérico el cual ya podrá ser representado en un instrumento virtual, como se entiende todo el código estará dentro de un ciclo while, hasta que se de la condición de salir, fuera de este ciclo se tiene que cerrar el puerto, para que este libre para otra aplicación de lo contrario quedará como “utilizado” cuando se quiera tener acceso a el, así como también cerrar con un error simple.

Comunicación serie con PICBASIC y LabView con PIC 12F675 Nueva-imagen24

Esta será la forma final que queda después de realizar el diseño de bloques.

Comunicación serie con PICBASIC y LabView con PIC 12F675 Nueva-imagen23

En la simulación se omite el circuito de MAX 232, y para lograr llevar a cabo dicha simulación se tiene que utilizar un software para emular un puerto serial virtual (no recuerdo como se llama el mio jeje) una vez creado el par de puertos virtuales (uno para proteus=2 y uno para Labview=1), el conector serial se debe de configurar con los mismos valores que se hizo para la transmisión serial, posteriormente se logrará la simulación esperada.

Comunicación serie con PICBASIC y LabView con PIC 12F675 Nueva-imagen25

Link de descarga del ejemplo anterior.
Comunicación PIC 12F675 y LabView
Electrobicho
Electrobicho
Usario Nuevo
Usario Nuevo

Mensajes : 17
Fecha de inscripción : 20/04/2012
Edad : 35
Localización : Salina Cruz,Oaxaca

http://protonbasic.wordpress.com/

Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.