You are on page 1of 20

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA

ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA


INGENIERA ELECTRNICA
INSTRUMENTACIN MDICA

ACTIVIDAD 6: TRABAJO COLABORATIVO 1

JOHN FREDY CALLEJAS


Cdigo:
ERIK GREGORIO VELSQUEZ HERNNDEZ
Cdigo: 1110501630
ORLANDO LEON QUINTERO MONTERROZA
Cdigo: 1102828008

Grupo: 299016_17

Tutor:
SAULO ANDRS GMEZ

25-10-2013

INTRODUCCIN

Con el desarrollo de la actividad nmero seis trabajo colaborativo numero se


pretende aplicar los conocimientos adquiridos en la unidad nmero uno del modulo
de instrumentacin medica, donde el tema central es la instrumentacin de
diagnostico, mediante el desarrollo de un termmetro clnico, controlado mediante
un microcontrolador 16F877A, de igual forma se presenta el programa en lenguaje
Asembler y la simulacin en el software Proteus del mismo.

ACTIVIDAD
- El grupo debe desarrollar el software de programacin de un microcontrolador en
lenguaje asembler, aplicado al modulo de termometra clnica del captulo 5,
numeral 5.5, figura 67, que cumpla con las siguientes condiciones:

Figura No. 1

1. Temperatura mnima: 32 C, Vo4(t) = 0V.


2. Temperatura mxima: 42 C, Vo4(t) = 5V.
3. Si la temperatura es mayor a 36 C y menor a 38 C, en el display debe
aparecer Normal y encenderse el Led Verde.
4. Si la temperatura es menor a 36 C, en el display debe aparecer Hipotermia y
encenderse y apagarse el Led amarillo 2 veces por segundo y activarse el
zumbador.
5. Si la temperatura es mayor a 38 C, en el display debe aparecer Hipertermia y
encenderse y apagarse el Led rojo 2 veces por segundo y activarse el zumbador.
6. El microcontrolador ser el PIC16F877.
7. Debe simularse con Proteus.

DESARROLLO
La configuracin del microcontrolador 16F877 se realiza de la siguiente manera
los puertos B y D se definen como salidas, en los pines RB0, RB1 y RB2 se
manejaran los leds y en el pin RB3 el zumbador, el puerto D se emplea para el
manejo del LCD, el pin RA0 del puerto A se empleara para el manejo del sensor
de temperatura, ya que nos permitir la lectura analgica que necesitamos, o
podemos emplear ya sea el RA1, RA2, RA3 o el RA5 cualquiera de estos lo
podemos emplear para esto.
Circuito propuesto

Figura No. 2

El potencimetro RV1 representara nuestro sensor de temperatura, el cual al


realizar la variacin nos proporcionara diferentes voltajes, donde ya est definido
por la gua que nos dice 0V = 32C y 5V = 42C.
Antes de pasar al tema de la programacin un tema fundamental es el manejo de
la conversin analgica, que es la parte donde manejaremos la temperatura.

La escala de temperatura segn la gua va desde los 32C hasta los 42C, ya que
contamos con una entrada de 0V a 5V en el puerto RA0 del pic 16F877A este
cuanta con dos resoluciones para el manejo del puerto analgico una de 8bit que
va desde 0 a 255 la cual es obtenida mediante 2 8=256, pero como contamos el
cero la escala va hasta 255 y otra de 10bit que va desde 0 a 1023, que es
210=1024 y al igual que en el anterior tomamos el cero por lo tanto va hasta 1023,
para este caso se decide emplear el de 10bit ya que tiene una mejor resolucin.
Los requerimientos del sistema son una escala de 32C a 42C como podemos
apreciar el rango es de diez, inicialmente tenemos 0V a 5V un rango de cinco,
podemos llevarlo a diez multiplicndolo por dos, ahora nos faltara llevarlo a que el
valor inicial sea de treinta y dos y no cero, lo podemos lograr mediante la suma de
treinta y dos, por ende el valor a mostrar en temperatura nos quedara de la
siguiente forma:
Temperatura = ((Lectura de RA0 * (5/1023)) * 2) + 32
Con esto ya tendramos el valor de la temperatura en el rango solicitado en la
gua, que debemos emplear en el programa para el microcontrolador.
Programa empleando el software CCS C

Figura No. 3

Cdigo fuente sin comentarios


/*
PROGRAMA TERMOMETRO CLINICO PARA EL TRABAJO COLABORATIVO 1
INSTRUMENTACIN MEDICA
GRUPO 299016_17

*/
#include <16f877a.h>
#fuses XT,NOWDT, PUT, NOPROTECT, BROWNOUT, NOLVP // Fusibles
#device ADC=10
#use delay (clock=4000000)
#include <lcd.c>
#define use_portd_lcdTRUE

#byte PORTA=0x05
#byte PORTB=0x06
#byte PORTC=0x07
#byte PORTD=0x08
#byte PORTE=0x09
#byte TRISA=0x85
#byte TRISB=0x86
#byte TRISC=0x87
#byte TRISD=0x88
#byte TRISE=0x89
#define AMARILLO PIN_B0
#define VERDE PIN_B1
#define AZUL PIN_B2
#define ZUMBADOR PIN_B3

void configuracion (void); //Prototipo de la funcion configuracin


void mensaje (void); //Prototipo de la funcion mensaje

void main()
{
int i;
int16 tempo;
float temperatura;

configuracion();
mensaje();

while(TRUE)
{
tempo=read_adc();
temperatura=((tempo*0.004887585)*2)+32;
if((temperatura>36) && (temperatura<38))
{
lcd_gotoxy(1,1);
lcd_putc("

NORMAL

");

lcd_gotoxy(4,2);
printf(lcd_putc,"T = %f\337C", temperatura);
output_high(VERDE);
delay_ms(500);
}

else{

output_low(VERDE);
}

if(temperatura<36)
{
lcd_gotoxy(1,1);
lcd_putc(" HIPOTERMIA ");
lcd_gotoxy(4,2);
printf(lcd_putc,"T = %f\337C", temperatura);
output_high(ZUMBADOR);
for(i=0;i<4;i++){
output_toggle(AZUL);
delay_ms(250);
}
}

else{
output_low(AZUL);
output_low(ZUMBADOR);
}

if(temperatura>38)
{
lcd_gotoxy(1,1);
lcd_putc(" HIPERTERMIA

");

lcd_gotoxy(4,2);
printf(lcd_putc,"T = %f\337C", temperatura);
output_high(ZUMBADOR);
for(i=0;i<4;i++){
output_toggle(AMARILLO);
delay_ms(250);
}
}

else{
output_low(AMARILLO);
output_low(ZUMBADOR);
}
}
}

void configuracion (void)


{
TRISA = 0xFF;
TRISB = 0x00;
TRISC = 0x00;
TRISD = 0x00;
TRISE = 0x00;
//todos los puertos apagados
PORTA = 0x00;

PORTB = 0x00;
PORTC = 0x00;
PORTD = 0x00;
PORTE = 0x00;
//Configuracin alagica
setup_adc(ADC_CLOCK_INTERNAL);
setup_adc_ports(RA0_ANALOG);
set_adc_channel(0);
delay_us(20);
}

void mensaje (void)


{
lcd_init();
lcd_putc("TERMOMETRO\nCLINICO");
delay_ms(3000);
lcd_putc("\f");
lcd_putc("INSTRUMENTACION\nMEDICA 2013 II");
delay_ms(3000);
lcd_putc("\f");
}

SIMULACIN EN PROTEUS
1 Mostramos el mensaje inicial

Figura No. 4

Figura No. 5

2 Si la temperatura es mayor a 36 C y menor a 38 C, en el display debe aparecer


Normal y encenderse el Led Verde.

Figura No. 6

3 Si la temperatura es menor a 36 C, en el display debe aparecer Hipotermia y


encenderse y apagarse el Led amarillo 2 veces por segundo y activarse el
zumbador.

Figura No. 7

4 Si la temperatura es mayor a 38 C, en el display debe aparecer Hipertermia y


encenderse y apagarse el Led rojo 2 veces por segundo y activarse el zumbador.

Figura No. 8

A cinco voltios 42C

Figura No. 9

A cero voltios 32C

Figura No. 10

Fotos Montaje en protoboard

Figura No. 11

Agregando el buzzer o zumbador

Figura No. 12

Figura No. 13

Figura No. 14

Figura No. 15

Figura No. 16

Figura No. 17

Fotos propuesta John Fredy Callejas

Figura No. 18

CONCLUSIONES
Mediante el desarrollo del trabajo colaborativo numero uno se aplicaron los
conocimientos adquiridos en la unidad uno mediante el desarrollo del termmetro
clnico el cual nos permite tener los conocimientos bsicos para saber a que nos
enfrentamos si debemos realizar la manipulacin o el mantenimiento de un
termmetro clnico, esto es clave para nosotros como futuros ingenieros
electrnicos.

REFERENCIAS BIBLIOGRAFICAS

Quintero Muoz Jorge E. (s/f). Modulo Instrumentacin Mdica. Recuperado el 07


de Agosto de 2013 de la pgina web:
http://www.unad.learnmate.co/file.php/456/MODULO_INST/2/modulo_instrumenta
cin_mdica.html

Roberto. (s/f). Conversor analgico digital. Recuperado el 08 de Agosto de 2013


de la pgina web: http://www.tutoelectro.com/tutoriales/microcontroladores/guiapic/conversor-analogico-digital/