Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
UNIDAD AZCAPOTZALCO
INGENIERIA MECANICA
PLANTAS DE BOMBEO
INTEGRANTES:
FECHA: 04/DICIEMBRE/2017
Página 1
Índice
OBJETIVO ............................................................................................................................................................................. 3
PROPUESTAS ....................................................................................................................................................................... 3
PLANTEAMIENTO DEL PROBLEMA ............................................................................................................................... 4
TABLA DE VERDAD ........................................................................................................................................................... 5
DIAGRAMA DE COMPUERTAS LÓGICAS DE LA EXPRESIÓN SIMPLIFICADA ...................................................... 7
IMPLEMENTACIÓN DE CIRCUITO DE CONTROL (PROPUESTA CON COMPUERTAS LÓGICAS) ...................... 7
CIRCUITO (PROPUESTA CON MICROCONTROLADOR) .............................................................................................. 8
SENSORES DE TEMPERATURA ........................................................................................................................................ 8
CÓDIGO .ASM PROPUESTA PARA IMPLEMENTARLO EN EL PIC PIC16F84A ........................................................ 9
Página 2
OBJETIVO
Elaborar un sistema de control de niveles mínimos y máximos para una cisterna de agua potable, la cual estará
variando su temperatura lo que afectará el llenado y descarga de dichos cisterna, esto supervisado por un
sistema de control electrónico haciendo uso de circuitos integrados de lógica fija o programable valorando
entre estas dos opciones sus ventajas y desventajas para el mejor desarrollo del circuito.
PROPUESTAS
Para poder realizar el circuito de control se proponen 3 opciones las cuales son por medio compuertas lógicas,
microcontrolador y PLC’s; en el siguiente cuadro comparativo se muestras las ventajas y desventajas que se
presentan al implementar cualquiera de estas 3 opciones para la resolución del problema:
En el mercado existen varios softwares que Otra de las desventajas, pero no tan
nos ayudan a programar un significativas es que los PIC no son
microcontrolador de este tipo, como por tan baratos, ya que pueden llegar a
ejemplo el PICC, o el MPLAB. Aunque en tener un costo alto.
este proyecto la programación se realizara
por MPLAB. Direccionan poca memoria, son
demasiado sensibles a la
En la familia de los PIC, existen más de 300 electrostática.
modelos diferentes correspondientes al tipo
de PIC que se necesita, lo cual nos garantiza
que habrá un modelo que se adecue muy a la
medida de nuestras necesidades a la hora de
hacer un proyecto.
Página 3
PLC’s · Su instalación es bastante sencilla, además
· La principal desventaja es que se
de ocupar poco espacio y la posibilidad de requiere un personal calificado para el
manejar múltiples equipos de manera manejo de estos dispositivos, lo que
simultánea gracias a la automatización. implica no solo un costo relativamente
elevado, sino también la dificultad de
· Hay un mejor monitoreo de los procesos, encontrarlo.
lo que hace que la detección de fallos se
realice rápidamente. · Otra desventaja es que se deben tener
en cuenta múltiples detalles para que
· Se ahorran costos adicionales como los de la operación salga a la perfección,
operación, mantenimiento e incluso energía. tanto en la producción, como en el
código de programación.
TABLA DE VERDAD
A B C D w x y z
NA NB TA TB VE VS C A
0 0 0 0 1 0 0 0
0 0 0 1 1 0 1 0
0 0 1 0 0 0 0 1
0 0 1 1 0 0 0 1
0 1 0 0 1 1 0 0
0 1 0 1 1 0 1 0
0 1 1 0 0 0 0 1
0 1 1 1 0 0 0 1
1 0 0 0 0 0 0 1
Página 5
1 0 0 1 0 0 0 1
1 0 1 0 0 0 0 1
1 0 1 1 0 0 0 1
1 1 0 0 0 1 0 0
1 1 0 1 0 0 1 0
1 1 1 0 0 0 0 1
1 1 1 1 0 0 0 1
2. Simplificación de expresión
̅𝑩
𝒘=𝑨 ̅𝑫
̅𝑪 ̅ +𝑨
̅𝑩 ̅𝑫 + 𝑨
̅𝑪 ̅𝑫
̅ 𝑩𝑪 ̅ +𝑨 ̅𝑫
̅ 𝑩𝑪
CD
A B 00 01 11 10
0 0 1 1
0 1 1 1
1 1
1 0
𝑤 = 𝐴̅𝐶̅
̅𝑩
𝒙=𝑨 ̅𝑫
̅𝑪 ̅𝑫
̅ + 𝑨𝑩𝑪 ̅
CD
A B 00 01 11 10
0 0
0 1 1
1 1 1
1 0
𝑤 = 𝐵𝐶̅ 𝐷
̅
̅𝑩
𝒚=𝑨 ̅𝑫 + 𝑨
̅𝑪 ̅ 𝑫 + 𝑨𝑩𝑪
̅ 𝑩𝑪 ̅𝑫
CD
A B 00 01 11 10
0 0 1
0 1 1
1 1 1
Página 6
1 0
𝑦 = 𝐴̅𝐶̅ 𝐷 + 𝐵𝐶̅ 𝐷
̅𝑩
𝒛=𝑨 ̅ 𝑪𝑫
̅ +𝑨
̅𝑩̅ 𝑪𝑫 + 𝑨
̅ 𝑩𝑪𝑫
̅ +𝑨
̅ 𝑩𝑪𝑫 + 𝑨𝑩
̅𝑪̅𝑫
̅ + 𝑨𝑩
̅𝑪̅ 𝑫 + 𝑨𝑩
̅ 𝑪𝑫
̅ + 𝑨𝑩
̅ 𝑪𝑫 + 𝑨𝑩𝑪𝑫
̅ + 𝑨𝑩𝑪𝑫
CD
A B 00 01 11 10
0 0 1 1
0 1 1 1
1 1 1 1
1 0 1 1 1 1
𝑧 = 𝐶 + 𝐴𝐵̅𝐶̅
Página 7
CIRCUITO (PROPUESTA CON MICROCONTROLADOR)
SENSORES DE TEMPERATURA
Página 8
CÓDIGO .ASM PROPUESTA PARA IMPLEMENTARLO EN EL PIC PIC16F84A
//definiciones de pines:
Página 9
#define rb1 portbbits.rb1
//funciones disponibles:
Void gotoxy(unsigned char r, unsigned char c); //posiciona cursor en celda seleccionada
Void printstring(const char* s); //escribe string hasta 8 caracteres. Parámetro es el string.
Unsigned char getbot(void); //lee 1 caracter del teclado. La función regresa con el valor ascii de la tecla.
Void fin(void);
Void setbot(void); //lee un string del teclado terminando con "f". Lo guarda en el arreglo "bot[]"
Void row(void);
Void delay_ms(int i)
long int j;
for(j=0;j<i;j++)
Página
10
{
Void init_bolt(void)
Cmcon=7;
Portb=0;
/*microswitches*/
Int microsw(void)
Int i;
I=(sw1*1)+(sw2*2)+(sw3*4)+(sw4*8);
Return i;
/*lcd*/
Void enablelcd(void) {
}
Página
11
Void enablelcd2(void) {
Void initlcd(void) {
Void clearscreen(void) {
portb=0x01;
enablelcd();
delay_ms(10);
portb=0x02; enablelcd();
delay_ms(10);
portb= 0x14;
enablelcd();
delay_us(50);
Página
12
Void putlcd(char c) {
while( *s ) putlcd(*(s++));
/*teclado*/
Char bot[9];
Unsigned char getbot(void) //la variable de salida se define como unsigned char
Loop:
ee=0;
trisb=0xf0;
aa=0xef;
portb=aa;
bb=4;
{aa=aa/2;
delay_ms(5);
if (rb4==0||rb5==0||rb6==0||rb7==0)fin();
goto loop;
trisb=0xf0;
dd=portb;
aa=(aa | cc); /*la variable "a" contiene el código rengón columna de la tecla oprimida*/
Malla:
dd=portb;
trisb=0;
row();
ee=1;
void row(void)
for(yy=0;yy<16;yy=yy+1)
portb=xx;
delay_ms(100);
Void setbot(void)
For(zz=0;zz<7;zz++)
{boton=getbot();
Bot[zz]=boton;
Página
14
If(bot[zz]==0x46)goto qu;
Else putlcd(boton);}
Qu:bot[zz]=0x00;
Void wrtbot(void)
For(zz=0;zz<7;zz++)
{putlcd(bot[zz]);
If(bot[zz+1]==0)goto ka;}
Eeadr=addr;
Eedata=byte;
Eecon2=0x55;
Eecon2=0xaa;
Eecon1bits.wr=1;
//while(!pir2bits.eeif);
//pir2bits.eeif=0;
Página
15
Unsigned char readeeprom(unsigned char addr)
Eecon1bits.eepgd=0;
Eeadr=addr;
Eecon1bits.rd=1;
//ONEWIRE-BOLT.h
float ds1820_read(void);
void onewire_reset(void);
int onewire_read(void);
float ds1820_read(void)
float result;
onewire_reset();
busy = onewire_read();
onewire_reset();
temp1 = onewire_read();
temp2 = onewire_read();
temp3 = temp1+(temp2*256);
result=(float)temp3/16;
delay_ms(200);
return result;
void onewire_reset(void)
RA3=0; // RA4=0
delay_ms(1);
int i,count;
TRISA=0X00;
RA3=0;
if(i==1)RA3=1;
if(i==0)RA3=0;
Página
17
delay_us(60); // wait until end of write slot.
data=(data>>1);
int onewire_read(void)
RA3=0; //output_low(ONE_WIRE_PIN);
if(RA3==1)
data=(data|0x80); //MSB=1
if(RA3==0)
data=(data&0x7F); //MSB=0
return data;
Página
18