Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
6 TRABAJO COLABORATIVO 2
INSTRUMENTACIN MDICA
GRUPO 2990164_3
ANGEL MARIN
CODIGO 4375696
IVAN CASTAEDA MONSALVE
CODIGO 75070194
GERMAN LOPEZ ESCOBAR
CODIGO 80.222.289
MAURICIO JIMENEZ GALEANO
CODIGO 79916070
INTRODUCCION
OBJETIVOS
Crear un sistema funcional que supla las necesidades requeridas para su buen
funcionamiento
MARCO TERICO
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.
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.
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:
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 <16F877A.h>
/ 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
005B: NOP
lcd.enable = 1;
005C: BSF 08.2
Delay cycles (1);
005D: NOP
High = lcd.data;
005E: MOVF 08, W
005F: SWAPF 08, W
0060: ANDLW 0F
0061: MOVWF 2F
lcd.enable = 0;
0062: BCF 08.2
Delay cycles (1);
0063: NOP
lcd.enable = 1;
0064: BSF 08.2
Delay us (1);
0065: GOTO 066
....................
Low = lcd.data;
0066: MOVF 08, W
0067: SWAPF 08, W
0068: ANDLW 0F
0069: MOVWF 2E
....................
lcd.enable = 0;
006A: BCF 08.2
....................
set_tris_lcd (LCD_WRITE);
006B: MOVLW 00
006C: BSF 03.5
006D: MOVWF 08
....................
Return ((high<<4) | low);
006E: BCF 03.5
006F: SWAPF 2F, W
0070: MOVWF 77
0071: MOVLW F0
0072: ANDWF 77, F
0073: MOVF 77, W
0074: IORWF 2E, W
0075: MOVWF 78
.................... }
....................
....................
.................... Void lcd_send_nibble (BYTE n) {
....................
lcd.data = n;
*
0021: SWAPF 2F, W
0022: ANDLW F0
0023: MOVWF 77
0024: MOVLW 0F
0025: ANDWF 08, W
0026: IORWF 77, W
0027: MOVWF 08
0036: MOVLW 0F
0037: MOVWF 2B
0038: CALL 00C
.................... For (i=1;i<=3;++i) {
0039: MOVLW 01
003A: MOVWF 2A
003B: MOVF 2A, W
003C: SUBLW 03
003D: BTFSS 03.0
003E: GOTO 047
....................
lcd_send_nibble (3);
003F: MOVLW 03
0040: MOVWF 2F
0041: CALL 021
....................
delay_ms (5);
0042: MOVLW 05
0043: MOVWF 2B
0044: CALL 00C
.................... }
0045: INCF 2A, F
0046: GOTO 03B
.................... lcd_send_nibble (2);
0047: MOVLW 02
0048: MOVWF 2F
0049: CALL 021
.................... For (i=0;i<=3;++i)
004A: CLRF 2A
004B: MOVF 2A, W
004C: SUBLW 03
004D: BTFSS 03.0
004E: GOTO 090
....................
lcd_send_byte(0,LCD_INIT_STRING[i]);
004F: MOVF 2A,W
0050: CALL 004
0051: MOVWF 2B
0052: CLRF 2C
0053: MOVF 2B,W
0054: MOVWF 2D
*
008E: INCF 2A,F
008F: GOTO 04B
.................... }
0090: BCF 0A.3
0091: BCF 0A.4
0092: GOTO 2FC (RETURN)
02C0: CLRF 04
02C1: BCF 03.7
02C2: MOVLW 1F
02C3: ANDWF 03,F
02C4: BSF 03.5
02C5: BSF
1F.0
02C6:
02C7:
02C8:
02C9:
02CA:
*
02D4:
02D5:
BSF 1F.1
BSF 1F.2
BCF 1F.3
MOVLW 07
MOVWF 1C
BSF
BCF
03.5
1F.0
....................
lcd_init();
....................
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
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);
}
PULSOS BIFSICOS
TRENES DE PULSOS
PULSOS MONOFSICOS
PULSOS AISLADOS
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.
CONCLUSIONES
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
BIBLIOGRAFIA
Electroterapia en Fisioterapia.