La gran Instrumentacion medica
Enviado por carloscolombia82 • 23 de Noviembre de 2015 • Trabajo • 1.497 Palabras (6 Páginas) • 123 Visitas
TRABAJO COLABORATIVO 1
DE
INSTRUMENTACION MÉDICA
PRESENTADO POR
CARLOS AL BERTO ARIAS PALACIOS
CODIGO: 8361481
GRUPO: 299016_17
TUTOR: SAULO ANDRES
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
CEAD QUIBDO CHOCO
OCTUBRE 2015
INTRODUCCIÓN
Con el desarrollo de la actividad número seis trabajo colaborativo número se pretende aplicar los conocimientos adquiridos en la unidad número uno del módulo de instrumentación médica, donde el tema central es la instrumentación de diagnóstico, mediante el desarrollo de un termómetro clínico, controlado mediante un microcontrolador 16F877A, de igual forma se presenta el programa en lenguaje Asembler y la simulación en el software Proteus del mismo.
DESARROLLO DE ACTIVIDAD
[pic 1]
El grupo debe desarrollar el software de programación de un microcontrolador en lenguaje asembler, aplicado al módulo de termometría clínica del capítulo 5, numeral 5.5, figura 67, que cumpla con las siguientes condiciones
- Temperatura mínima: 32 °C, Vo4(t) = 0V.
- Temperatura máxima: 42 °C, Vo4(t) = 5V.
- Si la temperatura es mayor a 36 °C y menor a 38 °C, en el display debe aparecer “Normal” y encenderse el Led Verde.
- 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.
- 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.
- El microcontrolador será el PIC16F87
- Debe simularse con Proteus.
La configuración del microcontrolador 16F87 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 analógica que necesitamos, o podemos emplear ya sea el RA1, RA2, RA3 o el RA5 cualquiera de estos lo podemos emplear para es
CIRCUITO
[pic 2]
El potenciómetro RV1 representara nuestro sensor de temperatura, el cual al realizar la variación nos proporcionara diferentes voltajes, donde ya está definido por la guía que nos dice 0V = 32°C y 5V = 42°C.
Antes de pasar al tema de la programación un tema fundamental es el manejo de la conversión analógica, que es la parte donde manejaremos la temperatura
La escala de temperatura según la guía va desde los 32°C hasta los 42°C, ya que contamos con una entrada de 0V a 5V en el puerto RA0 del pic 16F87A este cuanta con dos resoluciones para el manejo del puerto analógico una de 8bit que va desde 0 a 255 la cual es obtenida mediante 28=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 resolución
Los requerimientos del sistema son una escala de 32°C a 42°C como podemos apreciar el rango es de diez, inicialmente tenemos 0V a 5V un rango de cinco, podemos llevarlo a diez multiplicándolo por dos, ahora nos faltaría 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 quedaría de la siguiente forma
Temperatura = ((Lectura de RA0 * (5/1023)) * 2) + 32
Con esto ya tendríamos el valor de la temperatura en el rango solicitado en la guía, que debemos emplear en el programa para el microcontrolador.
Programa empleando el software CCS C
PANTALLASO
[pic 3]
CÓDIGO FUENTE
PROGRAMA TERMOMETRO CLINICO PARA INSTRUMENTACIÓN MÉDICA
Include <16f877a.h>
#fuses XT,NOWDT, PUT, NOPROTECT, BROWNOUT, NOLVP // Fusible
#device ADC=10
#use delay (clock=4000000)
#include
#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
...