viernes, 7 de septiembre de 2012

Termómetro


Trabajo Práctico N°8
Demostración Práctica :

En el presente trabajo práctico realizaremos un termometro digital mediante el uso de un microcontrolador GP32 , recordar que un termómetro es un instrumento de medición de temperatura que se basa en funcionar mediante el efecto de la dilatación .

El mismo posee 2 escalas de temperaturas ( es decir tanto °C como °F ) y su rango de medición puede variar según la temperatura , los rangos son desde  -50°C a 50°C , o desde 0°C a 99°C .

Por otra parte dicha aplicación cuenta con 4 menus que permiten tanto controlarlo como calibrarlo sencillamente , los menus están armados con 4 pulsadores ( Menu ; OK ; DOWN y UP ) y por 2 leds de señalizacion .

Además posee un buzzer que se encarga de indicar que el dispositivo funciona correctamente y 2 displays de 7 segmentos ( Ambos en configuración Cátodo común ) que permiten observar el modo en que se encuentra la configuración actual del dispositvo . Cabe destacar que esta aplicación debe ser calibrada por única vez una vez encendida

Circuito a utilizar



Lista de componentes

  •     1 Microcontrolador GP32
  •     1 Oscilador de cristal de 32 Mhz
  •     1 Buzzer o led
  •     2 Leds de señalización ( 1 Verde y 1 Amarillo )
  •     4 Pulsadores
  •     2 Displays de 7 segmentos ( Cátodo Común )
  •     3 transistores BC337
  •     5 Resistores de 10 K
  •     2 Resistores de 1 K
  •     1 Preset o potenciómetro de 10 K
  •     1 Capacitor de 100 nF
  •     1 Capacitor de 33 nF
  •     1 Capacitor de 103 nF
  •     Alambre para conexiones en el protoboard

Imágen del termometro finalizado 




Grabado del software en el microcontrolador por medio del programador

Una vez montado el termometro digital en nuestro protoboard y creado nuestro programa en el Winide , lo que hace falta para finalizar la aplicación es grabarle a nuestro microcontrolador el programa diseñado en el Winide .

Para ello conectaremos la placa del programador a la PC , y de esta forma lograremos comunicar el Winide con el microntrolador .

Cabe aclarar que para programar previamente hay que tener ciertos recaudos como por ejemplo :
Si la memoria del microntrolador esta completamente borrada o el programa nunca fue guardado en la misma , al alimentar el microcnotrolador , el primer paso que hay que realizar es verificar si no posee ningun programa insertado en su memoria 

En caso de que no tenga un programa guardado debemos ejecutar el Programa Monitor que es el encargado de comunicar el microcontrolador con el Winide y permitirnos realizar todas las tareas que queramos ( Borrar o programar un archivo entre otras cosas ) 

Todos los programas tienen una dirección de inicio , que se escribe generalmente sobre el Vector de reset . En este caso el vector de reset tiene la palabra "main" que nos indica en donde arranca el programa principal . 

Cuando se alimenta el microcontrolador , lo primero que hace es observar en que estado se encuentra el vector de reset , si el vector esta en $FFFF ( borrado ) esto quiere decir que no tiene un programa grabado o nunca tubo uno , por lo tanto inmediatamente hablitia el Programa Monitor , esperando la comunicación con la PC (  Modo Forzado )

Por otra parte para realizar la programación , hay que configurar si o sí uno de los timers del programador , y a su vez hay que crear 3 timers lógicos.  A continuación se explicará brevemente la función de c/u :
 
Timer de medición ( Tmed ) : Define cada cuanto tiempo se realiza la medición , y  cada cuanto tiempo "llegan datos nuevos, para que luego se muestren en el display".

Timer Buzz ( TBuzz ) : Éste timer solo tiene la función de definir cuanto tiempo estará prendido el buzzer ( que genera una pequeña alerta sonora ), cada vez que se aprieta un botón .

Timer Poll ( Tpoll ) : Es el timer mas importante ya que define en que modo se encuentran los 4 menus y cada cuanto tiempo tiene que sonar la alerta sonora del buzzer

Por ultimo hay que destacar que son los timers los encargados de realizar en el display un proceso llamado multiplexado
 
Sabiendo que el termómetro posee 2 displays , lo que se hace ,  no es conectarlos directamente al micocontrolador , sino que se conectan los 2 a un solo lugar para disminuir conexiones en el protoboard . Los mismos se encienden y apagan con suma rapidez , que da la sensación que siempre se mantienen prendidos .


Datasheets utilizadas:




Bibliografia

Para la realización del presente trabajo práctico , utilizamos las páginas y textos que daremos a conocer a continuación :

 

Conclusiones

  • En esta práctica diseñamos el programa del termómetro en el Winide 
  • Aprendimos como se utiliza el programador a la hora de programar el microntrolador
  • Observamos el funcionamiento / caracterizticas de un oscilador de cristal