Upload
angel-marin-garcia
View
260
Download
7
Embed Size (px)
Citation preview
ACTIVIDAD No. 6 TRABAJO COLABORATIVO 2
INSTRUMENTACIN MDICA GRUPO 2990164_3
ING. SAULO ANDRS TUTOR
ANGEL MARIN CODIGO 4375696
IVAN CASTAEDA MONSALVE CODIGO 75070194
GERMAN LOPEZ ESCOBAR CODIGO 80.222.289
MAURICIO JIMENEZ GALEANO CODIGO 79916070
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA ESCUELA DE CIENCIAS BSICAS TECNOLOGAS E INGENIERAS
BOGOT, D.C. NOVIEMBRE 2015
INTRODUCCION
En nuestra vida cotidiana podemos evidenciar diferente tipo de herramientas de anlisis y solucin de problemas, los cuales nos facilitan el proceso de alcanzar nuestras metas de aprendizaje, gran parte de poder superar los obstculos que se presentan es una buena planeacin y la informacin adecuada o documentacin, por eso es importante conocer las herramientas que tenemos a nuestro alcance como, como unidades de medida, magnitudes fsicas, variables, procedimientos de medicin de variables, componentes elctricos, simuladores de circuitos, los cuales nos permiten evidenciar el comportamiento de distintas variables y las diferentes variaciones de estas segn las condiciones a las cuales estn expuestas, como circuitos de medicin de voltaje, corriente y resistencia al paso de la corriente, los cuales vamos a desarrollar en la materia de instrumentacin mdica, los cuales hacen parte del proceso de aprendizaje, el cual nos va a permitir desarrollar las actividades programadas como laboratorios y trabajos colaborativos lograremos alcanzar as el xito en esta materia.
Antes del ao 1900, la medicina se basaba principalmente en el medico, un bolso negro, y medicinas empricas. El hospital era ms bien un tipo de asilo.
Es hasta el siglo XX que se da un rpido avance tecnolgico y cientfico, convirtiendo al hospital como el punto focal de la medicina, y utilizando tecnologa para el diagnstico y tratamiento de patologas.
Por medio del siguiente trabajo se pretende poner en evidencia la alianza que ha tenido a medicina con la electrnica, permitiendo desarrollar instrumentos de medicin, diagnstico y procedimientos quirrgicos basados en una nica finalidad que es salvar vidas.
Encontraran el desarrollo de un Estimulador muscular basado en la electrnica para la estimulacin de tejidos musculares a travs de corrientes elctricas, las cuales son usadas para diversos fines el primero puede ser con fin teraputico para hacer la estimulacin a diversas partes del cuerpo, sirve para la recuperacin muscular cuando hubo accidentes donde se pierda la movilidad, tambin es usado para hacer adelgazamiento en zonas que prefiera la persona haciendo que haya un calentamiento interno y as se genere un disminucin de grasa.
OBJETIVOS
Poner en prctica los conceptos de aplicacin de la electroterapia para la medicina.
Crear un sistema funcional que supla las necesidades requeridas para su buen funcionamiento
Comprender y solucionar dudas presentadas con trabajo en equipo e investigacin
Ampliar conocimientos mediante la intercomunicacin en el foro adems de las orientaciones del tutor con el fin de tener claro conceptos y procedimientos.
MARCO TERICO
REALIZACIN DEL SOFTWARE
El grupo debe desarrollar el software de programacin de un microcontrolador en lenguaje
asembler, aplicado al mdulo de puente H de un equipo de electroterapia del captulo 10,
numeral 10.5 para generar las ondas electroteraputicas de las figuras 121 a 125, que cumpla
con las siguientes condiciones:
1. El microcontrolador ser el PIC16F87.
2. Debe simularse con Proteus.
PARA TENER EN CUENTA A LA HORA DE LA PROGRAMACIN
Para obtener pulsos aislados positivos en la carga (resistencia del paciente) conectada entre los
drenadores D1/D2 y D3/D4, el microcontrolador genera la tensin VG1-3 de pulsos con las
condiciones de tiempos TON (desde 0,005 ms a 1 s) y TOFF (desde 1 a 5 s) determinadas para
aplicaciones TENS o TEMS, mientras que la tensin VG2-4 ser cero todo el tiempo, tal como se
muestra en la figura 121. Para obtener pulsos aislados negativos en la carga, el microcontrolador
genera la tensin VG2-4 de pulsos con las condiciones de tiempos ON y OFF determinadas para
aplicaciones TENS o TEMS, mientras que la tensin VG1-3 ser cero todo el tiempo, tal como se
muestra en la figura 122.
PULSOS AISLADOS NEGATIVOS
Para obtener pulsos aislados negativos, el microcontrolador genera la tensin
VG2-4 con las condiciones anteriores, mientras que la tensin en VG1-3 ser siempre de cero.
PULSOS MONOFSICOS MANTENIDOS POSITIVOS O NEGATIVOS
Se disminuye el T OFF desde 5 a 20 ms a valores similares de los T ON 0.1 a 5 ms con las
mismas tensiones de control para las figuras anteriores.
TRENES DE PULSOS
El microcontrolador es programado con los tiempos de encendido y apagado de los impulsos
descritos anteriormente pero adicionalmente se temporiza durante cunto tiempo se aplican T
ON 2 de 1 a 20 s y durante cunto tiempo no se aplica
T OFF 2 1 a 40 s
PULSOS BIFSICOS
El microcontrolador debe generar los pulsos de puerta negados, es decir, cuando estn
presentes VG1-3 las VG2-4 deben estar en cero y viceversa.
DIAGRAMA DE BLOQUES DEL ELECTRO ESTIMULADOR POR MEDIO DEL PUENTE H
DESARROLLO DE LA ACTIVIDAD
La mejor solucin, para el desarrollo del caso que se nos presenta es, es utilizar un puente H, la
aplicacin ms comn es en los motores de corriente continua, el sentido de giro viene dado por
la conexin que se le haga a sus bornes. Entonces para hacer que un robot vaya hacia adelante
o hacia atrs, bastar con invertir la polaridad del motor que mueva sus ruedas, el problema es
como hacer esto, el PIC solo puede suministrar 5v y 20mA por pin totalmente insuficiente para
mover un motor, lo que se intenta lograr es poder controlar una tensin y una corriente superior
que la que el integrado pueda darnos por medio de una seal que ser enviada por el PIC.
El Microcontrolador PIC16F87 lo utilizaremos para la generacin y aplicacin de cinco tipos de
forma de onda a pacientes mdicos, los TENS es un pequeo aparato generador
de pulsos elctricos destinado a conseguir analgesia. El EMS es otro pequeo aparato destinado
al trabajo muscular en conjuntos neuromuscular normal. El TENS est basado en sus
precursores estimuladores chinos y porttiles para aplicar electropuctura, a la vez buscadores de
puntos. Los TENS no poseen la cualidad de busca-puntos y tampoco siguen totalmente las
caractersticas de las corrientes generadas en los estimuladores de electropuntura. Los
electropuntores no solamente sirven para conectar a las agujas, tambin se pueden aplicar a
electrodos estndar. El EMS, de posterior aparicin al TENS, y como se dice ms arriba, se
destina a la electroestimulacin neuromuscular siempre que no estemos ante procesos
patolgicos, o si existen, que sean muy moderados.
EL MICROCONTROLADOR PIC16F87:
Es un microcontrolador de Microchip Technology fabricado en tecnologa CMOS, su consumo de
potencia es muy bajo y adems es completamente esttico, esto quiere decir que el reloj puede
detenerse y los datos de la memoria no se pierden. El encapsulado ms comn para este
microcontrolador es el DIP (Dual In-line Pin) de 40 pines, propio para usarlo en experimentacin.
La referencia completa es PIC16F877-04 para el dispositivo que utiliza cristal oscilador de hasta
4 MHz, PIC16F877-20 para el dispositivo que utiliza cristal oscilador de hasta 20 MHz o
PIC16F877A-I para el dispositivo tipo industrial que puede trabajar hasta a 20 MHz.
El PIC16F87, es un microcontrolador con memoria de programa tipo FLASH, lo que es una gran
facilidad en el desarrollo de prototipos, ya que no se requiere borrarlo con luz ultravioleta como
las versiones EPROM, sino que permite reprogramarlo nuevamente sin ser borrado con
anterioridad.
SOFTWARE MICROCONTROLADOR
0000: MOVLW 00 0001: MOVWF 0A 0002: GOTO 2C0 0003: NOP #include "C:\Users\USR\Desktop\ghsgthstrhrthhst\main.h" #include / Standard Header file for the PIC16F877A device #device PIC16F877A #list #device ADC=8 #FUSES NOWDT #FUSES HS #FUSES PUT #FUSES PROTECT #FUSES NODEBUG #FUSES NOBROWNOUT #FUSES NOLVP #FUSES NOCPD #FUSES NOWRT #use delay (clock=10000000) * 000C: MOVLW 2B 000D: MOVWF 04 000E: BCF 03.7 000F: MOVF 00, W 0010: BTFSC 03.2 0011: GOTO 020 0012: MOVLW 03 0013: MOVWF 78 0014: CLRF 77 0015: DECFSZ 77, F 0016: GOTO 015 0017: DECFSZ 78, F 0018: GOTO 014 0019: MOVLW 3C 001A: MOVWF 77 001B: DECFSZ 77, F 001C: GOTO 01B 001D: GOTO 01E 001E: DECFSZ 00, F 001F: GOTO 012 0020: RETLW 00 0056: MOVLW F0 0057: BSF 03.5 0058: MOVWF 08 lcd.rw = 1; 0059: BCF 03.5 005A: BSF 08.1 Delay cycles (1);
0076: MOVF 78, W 0077: MOVWF 2E 0078: BTFSC 2E.7 0079: GOTO 056 .................... lcd.rs = address; 007A: BTFSS 2C.0 007B: BCF 08.0 007C: BTFSC 2C.0 007D: BSF 08.0 .................... Delay cycles (1); 007E: NOP .................... lcd.rw = 0; 007F: BCF 08.1 .................... Delay cycles (1); 0080: NOP .................... lcd.enable = 0; 0081: BCF 08.2 .................... lcd_send_nibble (n >> 4); 0082: SWAPF 2D, W 0083: MOVWF 2E 0084: MOVLW 0F 0085: ANDWF 2E, F 0086: MOVF 2E, W 0087: MOVWF 2F 0088: CALL 021 .................... lcd_send_nibble (n & 0xf); 0089: MOVF 2D, W 008A: ANDLW 0F 008B: MOVWF 2E 008C: MOVWF 2F 008D: CALL 021 .................... } .................... .................... .................... Void lcd_init () { .................... BYTE i; .................... set_tris_lcd (LCD_WRITE); * 002F: MOVLW 00 0030: BSF 03.5 0031: MOVWF 08 .................... lcd.rs = 0; 0032: BCF 03.5 0033: BCF 08.0 .................... lcd.rw = 0; 0034: BCF 08.1 .................... lcd.enable = 0; 0035: BCF 08.2 .................... delay_ms (15); 0036: MOVLW 0F
02C6: BSF 1F.1 02C7: BSF 1F.2 02C8: BCF 1F.3 02C9: MOVLW 07 02CA: MOVWF 1C * 02D4: BSF 03.5 02D5: BCF 1F.0 02D6: BCF 1F.1 02D7: BSF 1F.2 02D8: BCF 1F.3 .................... setup_psp(PSP_DISABLED); 02D9: BCF 09.4 .................... setup_spi(SPI_SS_DISABLED); 02DA: BCF 03.5 02DB: BCF 14.5 02DC: MOVLW 01 02DD: MOVWF 14 02DE: MOVLW 00 02DF: BSF 03.5 02E0: MOVWF 14 .................... setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); 02E1: MOVF 01,W 02E2: ANDLW C7 02E3: IORLW 08 02E4: MOVWF 01 .................... setup_timer_1(T1_DISABLED); 02E5: BCF 03.5 02E6: CLRF 10 .................... setup_timer_2(T2_DISABLED,0,1); 02E7: MOVLW 00 02E8: MOVWF 78 02E9: MOVWF 12 02EA: MOVLW 00 02EB: BSF 03.5 02EC: MOVWF 12 .................... setup_comparator(NC_NC_NC_NC); 02ED: MOVLW 07 02EE: MOVWF 1C 02EF: MOVF 05,W 02F3: DECFSZ 77,F 02F4: GOTO 2F3 02F5: MOVF 1C,W 02F6: BCF 03.5 02F7: BCF 0D.6 .................... setup_vref(FALSE); 02F8: BSF 03.5 02F9: CLRF 1D .................... lcd_init();
02FA: BCF 03.5 02FB: GOTO 02F .................... .................... // TODO: USER CODE!! .................... set_tris_b(0x00); 02FC: MOVLW 00 02FD: BSF 03.5 02FE: MOVWF 06 .................... portb=0x00; 02FF: BCF 03.5 0300: CLRF 06 .................... set_tris_c(0x00); 0301: BSF 03.5 0302: MOVWF 07 .................... portc=0x00; 0303: BCF 03.5 0304: CLRF 07 .................... set_tris_e(0xff); 0305: BSF 03.5 .................... { portc=0x0c; 0763: MOVLW 0C 0764: MOVWF 07 .................... delay_ms(3); 0765: MOVLW 03 0766: MOVWF 2B 0767: CALL 093 .................... portc=0x00; 0768: CLRF 07 .................... delay_ms(10); 0769: MOVLW 0A 076A: MOVWF 2B 076B: CALL 093 .................... portc=0x0c; 076C: MOVLW 0C 076D: MOVWF 07 .................... delay_ms(3); 076E: MOVLW 03 076F: MOVWF 2B 0770: CALL 093 .................... portc=0x00; 0771: CLRF 07 .................... delay_ms(10); 0772: MOVLW 0A 0773: MOVWF 2B 0774: CALL 093 .................... portc=0x0c; 0775: MOVLW 0C 0776: MOVWF 07 .................... delay_ms(3);
0777: MOVLW 03 0778: MOVWF 2B 0779: CALL 093 .................... portc=0x00; 077A: CLRF 07 .................... delay_ms(10); 077B: MOVLW 0A 077C: MOVWF 2B 077D: CALL 093 .................... portc=0x0c; 077E: MOVLW 0C 077F: MOVWF 07 .................... delay_ms(3); 0780: MOVLW 03 0781: MOVWF 2B 0782: CALL 093 .................... portc=0x00; 0783: CLRF 07 .................... delay_ms(10); 0784: MOVLW 0A 0785: MOVWF 2B 0786: CALL 093 .................... portc=0x0c; 0787: MOVLW 0C 0788: MOVWF 07 .................... delay_ms(3); 0789: MOVLW 03 078A: MOVWF 2B 078B: CALL 093 .................... portc=0x00; 078C: CLRF 07 .................... delay_ms(10); 078D: MOVLW 0A 078E: MOVWF 2B 078F: CALL 093 .................... .................... delay_ms(500); 0790: MOVLW 02 0793: MOVWF 2B 0794: CALL 093 0795: DECFSZ 2A,F 0796: GOTO 792 .................... } .................... } .................... } 0797: GOTO 30A .................... } 0798: SLEEP
EL PROGRAMA EN LENGUAJE C SERIA AS (SE ADJUNTA EL ARCHIVO .C):
#if defined(__PCM__)
#include //
#device ADC=8 //se ajusta el ADC con 8 bits
#use delay(clock = 4000000) //se ajusta el oscilador
#fuses XT,NOWDT,NOPROTECT,NOLVP,PUT,BROWNOUT
#use standard_io(A)
#use standard_io(B)
int valor=0x00; //se inicializa la memoria valor on
int p; //se declara variable para tiempo on
int on;
int off;
int off2;
void toma_adc(void) //programa de toma de ADC
{
setup_adc(ADC_CLOCK_INTERNAL); //configura el conversor
setup_adc_ports(RA0_analog); //entrada 0 como analgica
set_adc_channel(0);
valor=read_adc(); //se asocia la lectura con la memoria valor
}
void main() //programa principal
{
do
{
p = (5.0*valor/256.0); //se establece formula de valor
on = (p*1.4);
off = (p*4.25);
off2 = (p*0.4);
if ((input(PIN_A2) == 1)&&(input(PIN_A3) == 0)&&(input(PIN_A4) == 0)&&(input(PIN_A5) == 0))
{
output_high(PIN_B0);
delay_ms(on);
output_low(PIN_B0);
delay_ms(off);
}
if ((input(PIN_A3) == 1)&&(input(PIN_A2) == 0)&&(input(PIN_A4) == 0)&&(input(PIN_A5) == 0))
{
output_high(PIN_B1);
delay_ms(on);
output_low(PIN_B1);
delay_ms(off);
}
if ((input(PIN_A4) == 1)&&(input(PIN_A2) == 0)&&(input(PIN_A3) == 0)&&(input(PIN_A5) == 0))
{
output_high(PIN_B0);
delay_ms(on);
output_low(PIN_B0);
delay_ms(off2);
}
if ((input(PIN_A5) == 1)&&(input(PIN_A2) == 0)&&(input(PIN_A3) == 0)&&(input(PIN_A4) == 0))
{
output_high(PIN_B0);
delay_ms(on);
output_low(PIN_B0);
output_high(PIN_B1);
delay_ms(on);
output_low(PIN_B1);
delay_ms(off);
}
toma_adc();
}
while(true);
}
CIRCUITO MONTADO EN PROTEUS
PULSOS BIFSICOS
TRENES DE PULSOS
PULSOS MONOFSICOS
PULSOS AISLADOS
Evidenciamos el comportamiento del microcontrolador segn la frecuencia parametrizada en el
PIC y los tipos de onda con los selectores y el puente H.
Vemos la programacin y los ajustes de las frecuencias los tiempos de los trenes de pulsos
parametrizados para la simulacin y los tiempos ajustados al PIC.
Evidenciamos una parametrizacion de 40 segundos para la generacin de los trenes de pulsos
Y tambin podemos ajustar los tiempos de los pulsos aislados.
Ajustamos un tiempo de 35 pulsos por segundo en el TON y el TOFF, evidenciamos el cambio de
las frecuencias en los trenes de pulsos, podemos ajustar segn el uso de la electroterapia.
CONCLUSIONES
Se ha logrado identificar la gran importancia del puente H para la instrumentacin mdica
o quirrgica.
Por medio del programa Proteus para la elaboracin y simulacin del circuito exigido, se
dise el circuito en programa brindando la posibilidad de generar cada tipo de onda que
se mostraba durante la comprobacin de la actividad tambin podemos ver la gran
importancia del osciloscopio para la generacin y visualizacin de las ondas o pulsos
BIBLIOGRAFIA
Medical Instrumentation. Applications and Desing. Jhon G Webster.
Introduction to Biomedical Engineering. Jhon D Enderle
Handbook Biomedical Engineering. Vol. 1.
Bioingeniera Tomo IV. Mauricio Wilches.
Electroterapia en Fisioterapia.
Manuales de equipos teraputicos
Mdulo instrumentacin medica Jorge Eduardo Quintero Muoz