Você está na página 1de 10

EXAMEN RESUELTO

27/06/97
Sistemas Electrnicos Industriales Avanzados
Un sistema de aire acondicionado de un edificio de oficinas hace trabajar al equipo generador de
frio a potencia constante y mantiene la temperatura de cada uno de los despachos mediante un sistema de
apertura o cerrado de una compuerta en el tubo de acceso a cada despacho, en cuyo interior se encuentra
un sensor de temperatura que cierra el lazo de realimentacin.
La compuerta es corrediza y se acciona mediate un motor paso a paso unipolar cuyas
caractersticas elctricas son las siguientes:
VAlimentacin=10 V
IMxima =5 A
fMxima de trabajo=500 Hz
LDevanado=18 mH
RDevanado=5
Se desea que la corriente por cada devanado se encuentre en una banda de histresis entre 5 y 4.8
amperios.
Al final del recorrido en ambos sentidos de la compuerta (totalmente cerrada o totalmente
abierta) se encuentran unos sensores de proximidad que suministran un nivel alto de tensin (5 V) cuando
se activan.
Dentro de cada despacho se encuentra el sistema de control del accionamiento del motor,
implementado con un microcontrolador 80C537, y el sensor de temperatura con su circuito de
acondicionamiento de la seal. Para que el usuario pueda programar la temperatura que desea, dispondr
de un teclado y una pantalla de cristal lquido, en la que se presentar tambin la temperatura actual. El
sistema debe garantizar que, an cuando se produzca un fallo en la alimentacin, la programacin de
temperatura anterior se debe mantener.
Teniendo en cuenta las siguientes consideraciones:
1. Rango de temperaturas en el que debe operar: 15..50C.
2. Expresin del algoritmo de control:
Nmero de pasos=(TMuestreada-TReferencia)K
(La diferencia entre la temperatura muestreada y la de referencia, multiplicada por una
constante de ganancia, da como resultado el nmero de pasos que debe dar el motor. Si
la diferencia es positiva, abrir la compuerta y si es negativa la cerrar).
NOTA.- La variable Numero de pasos nunca tomar valores mayores de 255.
3.
4.
5.

Periodo de muestreo:30 s. (utilizar el temporizador T1)


Actualizacin de la temperatura actual: 500 ms. (utilizar el temporizador T0)
Las bobinas del motor se encuentran en el estado inicial en el estado siguiente:
ON
OFF
OFF
ON

6.

Para adquirir el valor de la temperatura, utilizar el canal 1 del convertidor A/D.

Se pide:
a)

Dibujar el esquema completo del sistema, dando los valores de los elementos
pasivos utilizados y las caractersticas de los elementos activos.
b) Flujograma completo del programa (programa principal, rutinas de servicio y
subrutinas necesarias).
NOTA.- Las subrutinas genricas no es necesario desarrollarlas en el flujograma, como
por ejemplo la visualizacin de un carcter en la pantalla, la decodificacin de una tecla
o la transcripcin a un nmero de una combinacin de teclas pulsadas.
c) Escribir en lenguaje ensamblador el cdigo correspondiente a la rutina donde se
ejecuta el algoritmo de control (Rutina de servicio de la Int. Del T1).

Circuito de potencia y control del Sistema:


TECLADO
EPROM

74573
P 6 .0
P 6 .1

P5
P6

P0
C

P 6 .2

KM 93C 06

P7

P2

80537

OE

ALE
PSEN
P 1 .0
P 1 .1
P 1 .2
P 1 .3

P4

P1

P3
IN P U T D A T A D IS P L A Y

ADDH

P 7 .1
P 7 .6
P 7 .7

FINAL 1
FINAL 2

E R /W R S

IN T 1

IN T 0

VC C

VC C

LM 311
+
-

R EFS

2
+

R 1
IN T 1

LM 311

VC C
R 1

LM 311

VC C

R 1

R EFI

2
1

1
R

VC C

D 4

Q 4
1

2
D 2 1

Q 2

IN T 0

2
D 3 1

Q 3

D 1 1

Q 1

LCD

R 1

DATOS

3
4
2
1

I
O
K
S

ADDL

D
D
S
C

LM 311
+
-

R EFS

2
3

R EFI

Circuito sensor y acondicionamiento de la seal de temperatura:

10

VC C
2

R 7

R 2

+
-

R 6

5
4

6
R 5

+
-

AD 590
VC C

3
2

R 3

R 4

En la descarga de la bobina:
VL VR 0
L

di
Ri 0
dt

i(t ) I m e

RL t

Para t=0 i(0)=5A=Im


Para calcular t1:

i(t ) I m e
ln

RL t

i(t 1 )
R
t1
Im
L

R i(t 1 )
18 10 3 4.8
ln

ln
1413
. s
L
Im
5 0.2
5
1
T 2 t 1 282.6s f c 3538.4 Hz
T
t1

Clculo de R:
Si Vcc=10 v VR1 v (para que no afecte)
V
1
R R 0.2
I max 5
VR2
1
PR

5W
R
0.2
REFS 1
REFI I min R 4.8 0.2 0.96

Clculo de los transistores:


Vcemax=10 v
Icmax=5 A
Fmax=3.5 KHz tconmutacin=(1/10)tconduccin=14.1 s

Clculo de los diodos:


IFAVmax=5 A
VRWM=10 v
Clculo de R1:
Iemaxlm311=1 mA R1=5 K
Amplificador de instrumentacin:
R2=1 K (Fijada)
Tmax=50C=323K
V=273 mV R3=1365 , R4=3635

Apartado b:

PRINCIPAL

Inicializacin de las
variables
Leer configuracin
De la E2PROM.

FFH?

s
i

Valores por defecto en


la RAM.

no
Inicializar Reg. de
los TEMP.
Muestreo: T0
TMOD TH0
TCON TL0
Visualizacin:T1
TMOD TH1
TCON TL1

Habilitar int.
T0
T1
INT0 (Isup PAP)
INT1 (Iinf PAP)
IP0,IP1,TCON

Tecla pulsada?

no

si
Decodificar tecla
1

Asignar valor

Clculos

2
tecla?
si
Modificar TREF

Guardar en
E2PROM

2
no

INT0
Apilar registros
TEMP0
Bloquea las salidas a
los transistores.
Apilar registros
Desapila registros
8
veces?

no
RETI

si
INT1

Seleccin canal 1

Apilar registros
Activar conversin

Fin
conv.?
s
i
Clculo_Tem
o
p
Visualizar

Desapilar registros

RETI

no

Desbloquea las
salidas a los
transistores
Desapila registros

RETI

TEMP1

Apilar registros
no
500
veces?
s
i
Seleccionar canal
AD-1

Iniciar conversin

no
Fin
conv.
s
i
(TM-TR)=Error
Pasos=K*[Error]
(Abrir compuerta)

(Cerrar compuerta)
Error>0

Final
no 1?

Final
no 1?

Incrementar punt.

Decremen. punt.

Leer tablas-paso

Leer tablas-paso

Escribir puerto

Escribir puerto
no

Final
1?

Decrem. paso

si

Pasos=
0?

Decrem. paso

no

Pasos=
0?
si

Desapilar registros

RETI

no
Final
2?

Apartado C:
Programa :
TEMP1:
PUSH
PUSH
PUSH
PUSH
PUSH

A
B
PSW
DPL
DPH

MOV
MOV
INC
MOV
MOV

DPL,CONTADOR_L
DPH,CONTADOR_H
DPTR
CONTADOR_L,DPL
CONTADOR_H,DPH

MOV
CJNE
MOV
CJNE
MOV

A,CONTADOR_L
A,#F4H,TODAVIA_NO
A,CONTADOR_H
A,#01H,TODAVIA_NO

;500D 1F4H

A,#01H

;00000001: Inicio conversin interna, modo conv.


;simple, canal 1.

ORL
MOV

A,ADCON0
ADCON0,A

MOV
JNB

DAPR,#00H
BSY,$

;Comienza conversin con Vref=5 v


;Espera fin de conversin.

A,ADDAT
C
A,TREF
ERROR,A
BIT_SIGNO,C
POSITIVO
A
A,#01H

;Tomo el valor convertido.

MOV
CLR
SUBB
MOV
MOV
JNC
CPL
ADD
POSITIVO:
MOV
MUL
MOV
JB
JB

B,CTE_K
AB
PASOS,,A

;Lo resto de la temperatura de referencia.


;Guardo el resultado en una variable.
;Guardo el carry en una variable tipo bit.
;Si es positivo lo dejo igual.
;Si es negativo, complemento a uno.
;yY sumo uno para pasarlo a positivo.

;Tomo el valor de la constante.


;Y multiplico ambos.
;Guardo el nmero de pasos en una variable.

BIT_SIGNO,CERRAR_COMPUERTA
FINAL_1,TODAVIA_NO
;FINAL_1 es el bit del puerto que activa el final
;de carrera 1.

OTRO_PASO1:
INC
MOV
MOV
MOVC
MOV
JB
DEC
MOV
CJNE

PUNTERO
A,PUNTERO
DPTR,#TABLA_PASO
A,@A+DPTR
P1,A
FINAL_1,TODAVIA_NO
PASOS
A,PASOS
A,#00H,OTRO_PASO1

;Incrementa el puntero de la tabla de pasos.

;Tomo el valor de la tabla de pasos.


;Y lo introduzco en el puerto.
;Compruebo si ha llegado al final, y si no decremen
;to el contador de pasos a realizar.

LJMP

TODAVIA_NO

CERRAR_COMPUERTA:
JB
FINAL_2,TODAVIA_NO
OTRO_PASO2:
DEC
MOV
MOV
MOVC
MOV
JB
DEC
MOV
CJNE
TODAVIA_NO:
POP
POP
POP
POP
POP
RETI

PUNTERO
A,PUNTERO
DPTR,#TABLA_PASO
A,@A+DPTR
P1,A
FINAL_2,TODAVIA_NO
PASOS
A,PASOS
A,#00H,OTRO_PASO2
DPH
DPL
PSW
B
A

;FINAL_2 es el bit del puerto que activa el


;final de carrera 2.

Você também pode gostar