Este capítulo tiene el propósito de mostrar como trabajar con el dispositivo digital de temperatura DS1821 mediante la librería que hemos creado y explicado en el siguiente capítulo: MSP430: DS1821.
Vamos a trabajar sobre la placa MSP430 Launchpad y en este caso, usaremos el microcontrolador MSP430G2553.
El programa que vamos a emplear para tal propósito, consistirá en obtener una lectura del sensor externo de temperatura DS1821 cada dos segundos (primero realiza una petición de conversión de temperatura y después, la lectura de la misma), y una vez obtenida, enviarla por la UART para que se muestre por pantalla en un software PC.
El conversor USB <---> RS-232 que vamos a usar, es uno externo, concretamente el CP2102 (enlace del fabricante).
El material que vamos a necesitar y su función, es la que se muestra a continuación:
· MSP430 Launchpad: Evidentemente, nuestra placa de desarrollo con el microcontrolador MSP430G2553.
· Módulo B75937: Conversor USB <---> RS-232 externo basado en el dispositivo CP2102.
· DS1821: Dispositivo digital de temperatura/termostato de la empresa Maxim.
· Interfaz Gráfica: Software que se ejecuta en un ordenador con sistema operativo Windows con al menos, la versión .NET Framework 4.0. Dicha interfaz gráfica se puede descargar más adelante junto al Firmware.
El módulo B75937, es un conversor USB <---> RS-232 que actuará de puente entre el módulo interno UART del microcontrolador y el puerto USB del ordenador (creando un puerto COM virtual en el ordenador).
Pero antes de presentar el código, debemos tener en cuenta algunas consideraciones:
· Preparación placa MSP430 Launchpad: La placa MSP430 Launchpad dispone de un conversor incorporado, para no causar conflictos, se recomienda desconectar las patitas TXD y RXD del conector J3.
El código del programa principal, es el siguiente:
/*---------------------------------------------------------------------- AqueronteBlog@gmail.com Este archivo es propiedad intelectual del blog Aqueronte, cuya dirección web, es la siguiente: http://unbarquero.blogspot.com/ Se permite cualquier modificación del archivo siempre y cuando se mantenga la autoría del autor. ---------------------------------------------------------------------- Filename: main.c Date: 26-November-13 File Version: vs0.0 Compiler: IAR 5.60.1 [Kickstart] Author: Manuel Caballero Company: Hades ---------------------------------------------------------------------- Notes: Este programa tiene el propósito de enviar mediante el módulo interno UART el dato recogido por el sensor externo de temperatura DS1821. Dicho sensor trabaja con el bus 1-wire que se implementará mediante software. Se utilizará el módulo conversor B75937 USB <---> RS-232 basado en el dispositivo CP2102 a 115200 Baudios. El microcontrolador estará en modo bajo consumo LPM3 hasta que reciba una orden desde el ordenador. La actualización de la temperatura es cada ~ 2 s. */ #include "io430.h" #include "variables.h" #include "funciones.c" #include "interrupciones.c" #include "DS1821.c" void main( void ) { conf_WDT (); // Configura WDT del sistema conf_CLK (); // Configura CLK del sistema conf_IO (); // Configura Entradas/Salidas conf_UART (); // Configura UART conf_TimerA (); // Configura TimerA __enable_interrupt(); // Interrupciones ON. while(1) { LPM3; // Modo bajo consumo: LPM3 if (seleAccion == 1) { // Realizar una conversión de Temperatura del DS1821 varAux = DS1821_Start_Conv_T (); TA0CTL |= TAIE; // Servicio de interrupción TA1 ON } else { // Realizar una lectura de Temperatura del DS1821 varAux = DS1821_Read_T (); // Obtiene temperatura del DS1821 TX_Buff = 1; // Se va a transmitir 1-Byte IE2 |= UCA0TXIE; // Interrupción Tx ON (Transmite datos) } } }
Como vemos, el ejemplo es bastante simple, se recomienda bajar los archivos disponibles más abajo para indagar entre sus librerías y leer sus funciones de manera más detallada.
Un vídeo que demuestra lo explicado anteriormente se presenta a continuación:
Os pongo a vuestra disposición el programa en lenguaje C (IAR y MSPGCC) para que lo podáis descargar y probar:
MSP430: DS1821 + UART | |||||||||||||
Compilador IAR | Compilador MSPGCC | ||||||||||||
C | C | ||||||||||||
|
|
· NOTA 1: En caso de que en el Software empleado para la lectura de temperatura del sensor DS1821 no reconozca ningún puerto COM, es síntoma de que no se tiene los drivers necesarios del dispositivo CP2102, por lo que se deberán instalar para un uso correcto, ya que el ordenador no lo reconoce.
0 comentarios:
Publicar un comentario