Escolar Documentos
Profissional Documentos
Cultura Documentos
PRÁCTICA SUPERVISADA
CONTROLADOR DE AUTOCLAVE
SEMI AUTOMATICA
Alumno: Victor Julián Vilte
e-mail: julianvilte@gmail.com
Tutuores: Ing. Marcelo Gomez,
Ing. Ricardo Maldonado
detiene la bomba de vacío y comienza un ciclo De este modo se pudo identificar con
re recuperación de la presión de manera certeza, el método que usaba el equipo
paulatina. BIOCLAV en particular.
La temperatura sigue en ascenso hasta En la figura 1 se muestra el autoclave
llegar y mantener su valor programado durante utilizado para este desarrollo.
un tiempo determinado. Una vez conocido el proceso de
Cuando haya finalizado este periodo, esterilización, se procede a hacer un
mediante la apertura de la válvula de relevamiento de los componentes electrónicos
descompresión, se deja escapar el vapor hasta que se pueden conseguir en el mercado local;
lograr disminuir a cero la presión relativa al mismo tiempo se comenzó con la
generada en el interior de la cámara. Es en este restauración limpieza y control de
punto donde de manera inmediata se debe funcionamiento de algunos componentes
habilitar la bomba de vacío nuevamente para mecánicos del aparato como son los
dar comienzo a la última etapa del proceso. presostatos, manómetro, juntas, tuberías,
Esta última etapa tiene como objetivo el de válvula manual, electroválvula, sistema de
secar el material a esterilizado. cierre, válvula de escape, que se muestran en la
Explicado de manera general el figura 2 y 3.
funcionamiento de un autoclave, para el caso
particular del autoclave BIOCLAV 2500, el
funcionamiento del mismo se basa en dos
programas predeterminados. Cada uno de ellos
posee valores de presión, temperatura y tiempo
bien definidos.
• Programa 1: 121°C, 1,5 Kg/cm³, 20´.
• Programa 2: 134°C, 2 Kg/cm³, 7´.
CONCLUSIÓN
Referencias
[1] http//www.microchip.com/
[2] http//sdcc.sourceforge.net/
[3] http://www.lis.inpg.fr/realise_au_lis/kicad/
ANEXO 1
Esquematico de placa de control
ANEXO 2
Codigo fuente
#include <pic16f877a.h>
char BCD[] = {0x40, 0x79, 0x24, 0x30, 0x19, 0x12, 0x02, 0x78, 0x00, 0x10};//Vector BCD 7 segmentos ánodo comun
long tebin, temperatura=0;
char tecen, tedec, teuni, us=0, ds=0, um=0, dm=0, n=50, k, f, i, run=0, te_est=0, bip=0, a, b;
/*Nombre de variables:
tebin = temperatura-binario es el valor que recibe el conversor ad (ADRESH + ADRESL)
temperatura = temperatura programada o seleccionada
tecen = temperatura-centena
tedec = temperatura-decena
teuni = temperatura-unidad
us = unidad de segundos
um = unidad de minutos
ds = decena de segundos
dm = descena de minutos
n, k, f, i = constantes y auxiliares
run = estado de funcionamiento
te_est = idica la llegada a la temperatura de esterilizacion
*/
void main()
{
TRISA5 = 0;
TRISA4 = 1;
TRISA2 = 1; //proteccion contra presion de la bomba
TRISB = 0x01; //displays
TRISC = 0x1f;
TRISD = 0x00; //bits de multiplexacion
TRISE = 0x00;
ADCON1 = 0x85;
ADCON0 = 0x41;
T2CON = 0x7f;
TMR2IE = 0;
PR2 = 38;
INTEDG = 1;
INTCON = 0xd0;
RA5 = 0;
//-----------------Muestra temperatura y tiempo---------------------------------
while(1)
{
GO_DONE = 1;
while( GO_DONE == 1 )
for( i=0 ; i<10 ; i++ ){}
tebin = ( ADRESH << 8 ) + ADRESL;
tebin = tebin * 150 / 1023;
tecen = tebin / 100;
tedec = ( tebin - ( tecen * 100 ) ) / 10;
teuni = ( tebin - ( tecen * 100 ) - (tedec * 10) );
RE2 = 1;
if( tebin < 88 ) //bomba de vacio
RA5 = 1; //RA5 = señal para electrovalvula y bomba de vacio
else
RA5 = 0;
}
if( bip == 1 )
{
if( RC7 == 0 )
RC7 = 1;
else
RC7 = 0;
b++;
if( b == a*2 )
{
bip = 0;
RC7 = 0;
}
}
}
}
void seg() interrupt 0
{
if( run == 0 )
{
RE2 = 0; //RE2 = señal para resistencia calefactora
te_est = 0;
TMR2IE = 0;
}
if( RC3 == 1 ) //RC3 = boton de stop
{
RC5 = 0;
RA5 = 0;
RE0 = 0;
RE1 = 0;
temperatura = 0;
te_est = 0;
RC6 = 0;
bip = 1;
a = 1;
b = 0;
}
if( RC4 == 1 && temperatura != 0 && RA2 == 0 ) //RC4 = start
{
run = 1;
RC5 = 0;
RC6 = 1; //RC6 = Luz de esterilizacion en proceso
bip = 1;
a = 1;
b = 0;
}
}
else
{
if( RC3 == 1 ) //stop
{
RE2 = 0;
RC5 = 0;
RA5 = 0;
RE0 = 0;
RE1 = 0;
temperatura = 0;
te_est = 0;
RC6 = 0;
run = 0;
bip = 1;
a = 2;
b = 0;
}
f++;
b = 0;
}
//---------------------generacion de cuenta regresiva---------------------------
if( f == 100 )
{
f = 0;
if( um == 0 && ds == 0 && us == 0 )
{
if( dm == 0 )
dm = 6;
dm--;
}
if( ds == 0 && us == 0 )
{
if( um == 0 )
um = 10;
um--;
}
if( us == 0 )
{
if( ds == 0 )
ds = 6;
ds--;
}
if( us == 0 )
us = 10;
us--;
}
}
TMR2IF = 0;
INTF = 0;
}