Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ejemplos de Proyectos
Ejemplos de Proyectos
Director
Ing., Mg. JUAN CARLOS VILLAMIZAR RINCN
CONTENIDO
INTRODUCCIN ............................................................................................................... 13
1. ESTRUCTURA DEL PROYECTO .......................................................................... 14
1.1 PLANTEAMIENTO............................................................................................ 14
1.2 JUSTIFICACIN ................................................................................................ 14
1.3 OBJETIVOS......................................................................................................... 15
1.3.1 OBJETIVO GENERAL............................................................................... 15
1.3.2 OBJETIVOS ESPECFICOS...................................................................... 15
2. MARCO TERICO .................................................................................................... 16
2.1 CONTROLADOR O REGULADOR DE VOLTAJE AC MONOFSICO. . 16
2.1.1 Importancia de una red SNUBBER. ............................................................. 22
2.1.2 Que es la esttica dV/dt ................................................................................. 22
2.1.3 Mejorar el dV/dt. .............................................................................................. 22
2.2 CONTROLADOR O REGULADOR DE VOLTAJE DE AC TRIFSICO 23
2.2.1 Modos de trabajo del los SCR con carga conectada en Y. .................. 27
2.3 MOTOR DE INDUCCIN................................................................................. 31
2.3.1 Estator del motor de induccin. ................................................................. 32
2.3.2 Rotor del motor de induccin. .................................................................... 33
2.3.3 Deslizamiento de una maquina de induccin.......................................... 36
2.3.4 Caractersticas par-velocidad del motor de induccin........................... 37
2.3.5 Clases de diseo de motores de induccin............................................. 39
2.3.6 Cdigo NEMA para el motor de induccin. ............................................. 41
2.3.7 Factor de potencia en los motores de induccin trifsico. .................... 41
2.3.8 Mtodos de arranque de un motor de induccin. ................................... 43
3. ARRANCADORES SUAVES COMERCIALES..................................................... 53
3.1 ARRANCADOR SUAVE DE SIEMENS. ......................................................... 53
3.1.1 Modo de funcionamiento de arrancadores suaves electrnicos SIRIUS
3RW44......................................................................................................................... 53
3.1.2 Campo de aplicacin, criterios de seleccin y ventajas. ....................... 55
3.1.3 Duracin de marcha y frecuencia de maniobras. ................................... 56
3.1.4 Altura sobre el nivel de mar y temperaturas ambiente admisibles. ..... 57
3.1.5 Arrancador suave en conexin con proteccin contra cortocircuitos.. 58
3.1.6 Tipos de arranque con un arrancador suave de SIEMENS.................. 60
3.2 ARRANCADOR SUAVE DE ABB. ................................................................... 64
3.2.1 Armnicos en un arrancador suave de ABB. .......................................... 66
3.2.2 Definicin de coordinacin ......................................................................... 66
3.3 ARRANCADOR SUAVE DE TELEMECANIQUE. ....................................... 67
4. DIMENSIONAMIENTO DE UN ARRANCADOR SUAVE EN LA INDUSTRIA.69
4.1 CORRIENTE NOMINAL DEL MOTOR......................................................... 69
4.2 APLICACIN...................................................................................................... 69
5. DISEO DEL ARRANCADOR SUAVE.................................................................. 71
5.1 ETAPA DE POTENCIA. .................................................................................... 71
LISTA DE FIGURAS
Figura 1 Controlador de voltaje AC bidireccional monofsico.................................... 16
Figura 2 Controlador de voltaje AC unidireccional monofsico. ................................ 17
Figura 3 Forma de onda del voltaje de entrada V12. .................................................... 18
Figura 4 Forma de onda del voltaje V34. Con carga resistiva. .................................... 18
Figura 5 Forma de onda del voltaje V34. Con carga resistiva y ngulo de retraso
mayor. .................................................................................................................................. 19
Figura 6 Forma de onda del voltaje V34. Con carga inductiva. ................................... 20
Figura 7 Forma de onda de la corriente con carga inductiva. .................................... 21
Figura 8 Solucin al disparo del tiristor cuando la carga es inductiva. ..................... 21
Figura 9 Configuracin del circuito de regulador AC bidireccional conectado en Y.
.............................................................................................................................................. 24
Figura 10 Configuracin del circuito regulador AC unidireccional conectado en Y.24
Figura 11 Configuracin del circuito regulador AC unidireccional conectado en
delta. .................................................................................................................................... 25
Figura 12 Configuracin del circuito regulador AC conectado en polgono............. 25
Figura 13 Configuracin del circuito regulador AC bidireccional conectado en delta.
.............................................................................................................................................. 26
Figura 14 Configuracin del circuito regulador AC bidireccional tiristores dentro del
delta. .................................................................................................................................... 26
Figura 15 Principales partes de un motor de asncrono de escobillas. .................... 31
Figura 16 Principales partes de un motor de asncrono de jaula. ............................. 32
Figura 17 Estator tpico..................................................................................................... 33
Figura 18 Principales partes de un rotor tpico. ............................................................ 33
Figura 19 curvas par-velocidad de cada uno de los tipos de rotor de jaula............. 35
Figura 20 Curva caracterstica par-velocidad de un motor de induccin. ................ 37
Figura 21 Curva par-velocidad que muestra los rangos extendidos de operacin. 38
Figura 22 Curvas caractersticas tpicas para diferentes diseos de rotores. ......... 39
Figura 23 Diagrama indicador de potencia activa, reactiva y el cos....................... 42
Figura 24 Mtodo de dos vatmetros para la medicin del factor de potencia. ....... 42
Figura 25 Curvas de corriente/velocidad y par/velocidad del arranque directo. ..... 46
Figura 26 Curvas de corriente/velocidad y par/velocidad del arranque por
autotransformador. ............................................................................................................ 48
Figura 27 Curvas de corriente/velocidad y par/velocidad del arranque por
resistencia en el estator.................................................................................................... 49
Figura 28 Curvas de corriente/velocidad y par/velocidad del arranque estrellatriangulo............................................................................................................................... 51
Figura 29 Corriente de arranque reducida, motor asncrono trifsico con arranque
suave SIRIUS 3RW44. ..................................................................................................... 54
Figura 30 Par de arranque reducido, motor asncrono trifsico con arranque suave
SIRIUS 3RW44. ................................................................................................................. 54
Figura 31 Duracin de marcha DM................................................................................. 57
Figura 32 Disminucin en funcin de la altura sobre el nivel del mar....................... 58
LISTA DE TABLAS
Tabla 1 Parmetros de convertidores de AC trifsico ................................................. 30
Tabla 2 Arranque en KVA/hp para cada letra del cdigo NEMA. .............................. 41
Tabla 3 Aplicaciones tpicas y sobredimensionamiento.............................................. 69
Tabla 4 Arranque normal (CLASE 10) ........................................................................... 70
Tabla 5 Arranque pesado (CLASE 20)........................................................................... 70
Tabla 6 Arranque muy pesado (CLASE 30) .................................................................. 70
Tabla 7 Terminales de Pantalla LCD 2x16 .................................................................... 80
Tabla 8 Equivalencia entre el ngulo de disparo y el registro de posicin. ............. 84
Tabla 9 Calculo de los ciclos de red para alfa en un arranque de 5 segundo......... 85
AGRADECIMIENTOS
A Dios por darnos las facultades, que hicieron posible este trabajo.
A nuestros padres por el apoyo financiero y moral.
Un agradecimiento especial a nuestro director de tesis el ingeniero Juan Carlos
Villamizar, por el gran aporte, para llevar a feliz termino este proyecto.
10
RESUMEN
Para iniciar un motor de induccin trifsico, se suele emplear el mtodo de
arranque directo en lnea, que tiene alto par de arranque y una corriente en el
motor de induccin siete veces mayor a la nominal, esto causa un incrementado
en la temperatura del rotor y del estator produciendo daos y disminuyendo la vida
til del motor. En aplicaciones industriales, cuando el motor de induccin es
conectado a una banda transportadora, un alto par durante el arranque puede
hacer caer el producto transportado posibilitando daos en el mismo.
Para evitar estos inconvenientes, se emplea el mtodo del arranque suave, que
consiste en suministrar al motor una baja corriente que se incrementa de acuerdo
al tiempo de duracin del arranque.
El arrancador suave implementado se diseo por etapas, la etapa de control y la
etapa de potencia, teniendo en cuenta el aislamiento elctrico con el uso de
dispositivos pticamente aislados. Se escogi la configuracin en delta, con triacs
conectados en serie con las bobinas, porque la corriente de arranque en esta
conexin no sobrepasa la corriente nominal del motor y adems posibilita el uso
de triacs, reduciendo el nmero de tiristores empleados en el arranque.
En la etapa de control se selecciono al microcontrolador dspic30f4013 debido a su
alto rendimiento en este tipo de aplicaciones.
Se llevaron a cabo arranques suaves al motor de induccin mediante un
dispositivo diseado y construido con este fin; se midi el voltaje y la corriente en
vaco del motor de induccin para diferentes tiempos de arranque.
11
ABSTRACT
The three-phase induction motor is start generally using the method of direct online
starter, which has high torque and a current in the induction motor of seven times
higher than nominal, this causes an increase in temperature of the rotor and stator
causing damage and reducing engine life. In industrial applications, where the
induction motor is connected to a conveyor belt, a high torque during starting can
drop the load possible damage to it.
To avoid these drawbacks, we used the method of soft start, which is to provide a
low current to the motor to be increased according to the duration of the start.
The soft starter design was implemented in stages, the stage of control and power
stage, taking into account the electrical insulation with the use of optically isolated.
The delta configuration with triacs connected in series with the coils, was chosen in
this project, because the starting current in this connection does not exceed the
rated current of the motor and also enables the use of triacs, reducing the number
of thyristors used in the start.
In the stage of control was selected the DSPIC30f4013 microcontroller because It
have high performance in such applications.
Were carried out the soft starting the induction motor using a device designed and
built for this purpose, measured the voltage and current in vacuum of the induction
motor for different starting times.
12
INTRODUCCIN
Una de las principales mquinas empleadas en el sector industrial es el motor de
induccin trifsico o asncrono; que es usado en moledoras, sierras, rompedoras,
mezcladores, transportadoras, ventiladores, compresores y bombas entre otros,
son aplicaciones en donde la velocidad del motor no requiere variacin. Los
mtodos utilizados para poner en marcha esta mquina, son en su mayora
arrancadores electromecnicos convencionales, tales como: conexin directa a la
red elctrica, disminucin del voltaje por auto-transformador, conexin conmutada
estrella-delta y adicin de resistencias (o reactancia) en el estator.
La corriente mxima en el motor de induccin se produce en el momento del
arranque, antes de alcanzar la corriente nominal, por tanto el motor se encuentra
expuesto a un riesgo constante de daos por sobrecalentamiento, lo que reduce
su vida til.
Un arrancador suave (Soft - Starter) se usa en la industria para poner en marcha y
detener los motores de induccin trifsicos, dando como resultado una corriente
en el motor al momento del arranque que se aproxima a la corriente nominal, a
diferencia de los otros mtodos que tienden a alejarse de dicha corriente; la
construccin de un arrancador suave o de estado solid depende del tipo de
aplicacin para la que sea destinado.
El mtodo usado en este proyecto tiene como principio un convertidor AC/AC
trifsico que usa rectificadores controlados de Silicio (SCRs) conectados en
antiparalelo o Triac por fase, para controlar electrnicamente la tensin de entrada
al momento del arranque y detencin en el motor, lo que permite reducir la
intensidad de corriente del estator, par y el esfuerzo mecnico de la maquina.
Con el uso del tiristor como interruptor, se pueden conectar y desconectar cargas
a la red elctrica local a alta velocidad de forma silenciosa sin producir arcos
elctricos, ni desgastes mecnicos. Usando el mtodo de control de ngulo de
fase se modifica el ngulo de disparo del tiristor en relacin con la onda de tensin
de entrada, permitiendo variar progresivamente el valor RMS de voltaje, aplicado
al motor; este mtodo ser utilizado para el actual proyecto.
13
14
1.3 OBJETIVOS
1.3.1 OBJETIVO GENERAL
Disear y Construir un arrancador suave trifsico.
15
2. MARCO TERICO
2.1
16
17
18
voltaje de AC. Los tiempos de activacin de los Tiristores t1, t3 son variables, la
figura 5 muestra un mayor ngulo a partir del cruce por cero, esto ilustra el
principio de cmo variar el voltaje RMS suministrado a una carga durante un ciclo
de entrada.
Cuando la carga es inductiva los tiristores no se apagan directamente cuando la
fuente de tensin se invierte, la forma de onda de voltaje para una carga inductiva
se muestra en la figura 6. Cuando el SCR1 se dispara en t1 conduce la corriente
de carga, pero cuando el voltaje de entrada de la red comienza a invertirse, es
decir hacerse negativo en t2 la corriente del SCR1 no se reduce para llegar a cero,
debido a que la carga inductiva no puede ser disipada instantneamente obligando
al SCR1 a permanecer conduciendo. Mientras las corrientes fluyen en contra de
un potencial positivo de la carga a la fuente; Este fenmeno es conocido como
regeneracin, este tiempo depende tambin del ngulo de retraso de disparo del
tiristor y el ngulo del factor de potencia de la carga1. En el momento t2t la
corriente de carga recae a un valor lo suficiente bajo para permitir que el SCR1 se
apague y el voltaje de carga cae a cero hasta que el prximo SCR2 sea disparado.
Figura 5 Forma de onda del voltaje V34. Con carga resistiva y ngulo de retraso
mayor.
19
20
21
22
(1)
V AB
3 2V sen t
6
(2)
V AC
3 2V sen t
6
(3)
On Semiconductor. Thyristor Device Data. Triacs, SCRs, Surge Suppressors, and Triggers. Rev. 7, May
2000. Pg. 159.
23
Fuente: Muhammad H. Rashid. Power Electronics Hanbook. International Standard Book Number 0-12581650-2 .Academic Press.Canad.
Fuente: Muhammad H. Rashid. Power Electronics Hanbook. International Standard Book Number 0-12581650-2 .Academic Press.Canad.
24
Fuente: Muhammad H. Rashid. Power Electronics Hanbook. International Standard Book Number 0-12581650-2 .Academic Press.Canad.
Fuente: Muhammad H. Rashid. Power Electronics Hanbook. International Standard Book Number 0-12581650-2 .Academic Press.Canad.
25
Fuente: Muhammad H. Rashid. Power Electronics Hanbook. International Standard Book Number 0-12581650-2 .Academic Press.Canad.
Fuente: Muhammad H. Rashid. Power Electronics Hanbook. International Standard Book Number 0-12581650-2 .Academic Press.Canad
El flujo de la corriente hacia la carga es controlado por medio de los SCR T1, T3, T5
y la trayectoria de regreso es controlada por los SCR T2, T4, T6. La secuencia de
los disparos es T1, T2, T3, T4, T5, T6. Para que pueda circular corriente en la carga
dos o tres tiristores de diferentes fases deben conducir al tiempo y un nico pulso
en las compuertas no es acertado porque los tiempos de conmutacin instantnea
en cada tiristor son diferentes. Cuando es carga inductiva el comportamiento de la
corriente es igual al monofsico, lo que se recure a un tren de pulsos como
disparo en compuerta. Para una carga resistiva, el tiristor puede conducir el voltaje
de lnea solo hasta 180. La conduccin puede comenzar en 30 y terminar en
180, entonces el rango del ngulo conduccin del tiristor () es de solo 150.
26
27
Van VOA
1
2
3 2V
sen
t
2
6
2
d t
(4)
Por simplicidad, se referencia la funcin seno y sus lmites son cambiados por
/6, el anlisis se hace similar a un regulador AC monofsico:
1
VOA
2
2
3 2V
2
sent d t
1
3V
2
1
2
6 2 sen2 6
1 5
1
3
VL
sen2
cos 2
4
4
2 6
1
2
(5)
VOA
2
1 3 2V
2
2
sen t d t
28
2 3 2V
2
sent d t
1
VL
2
1
2
3
2
3
sen2
cos
2
3 4
(6)
VOA
2
2
3
3
3
V
V
2
3 V A2 d t AB d t V A2 d t AC d t V A2 d t
2
2
2
2
3
3
3
29
(7)
Donde:
V A 2Vsent
V AB 3 2Vsen t
6
V AC 3 2Vsen t
6
Entonces:
1
Van VOA
1 sen 2 2
VL
4
3 2
(8)
150
180
3V AC
R
3V AC
R
2
I AC
R
1.225 1.414
0.45
0.707
2
I AC
R
1.414 0.816
0.26
0.408
30
Fuente: E. Gaucheron. Schneider Electric Espaa, S.A. Cuaderno tcnico. Los motores elctricos mejorando
su proteccin. Telemecanique. Edicin marzo 2005.
31
Fuente: E. Gaucheron. Schneider Electric Espaa, S.A. Cuaderno tcnico. Los motores elctricos mejorando
su proteccin. Telemecanique. Edicin marzo 2005.
E. Gaucheron. Schneider Electric Espaa, S.A. Cuaderno tcnico. Los motores elctricos mejorando su
proteccin. Telemecanique. Edicin marzo 2005. Pag. 7.
32
2.3.2.1
El rotor resistente suele ser de jaula simple. La jaula est cerrada por dos
anillos resistentes (aleacin especial, poca seccin, anillos de acero
inoxidable). Estos motores a par nominal tienen un gran deslizamiento. Su par
de arranque es elevado y la corriente de arranque es baja como se observa en
la figura 19. El rotor tiene muchas perdidas y trae como consecuencia que el
rendimiento del motor sea bajo.
33
Consta de dos jaulas concntricas, una exterior, de poca seccin con gran
resistencia y otra interior de mayor seccin con menor resistencia. En el inicio
del arranque, las corrientes rotricas son de frecuencia elevada y por el efecto
pelicular que se produce la totalidad de la corriente rotrica circula por la
periferia del rotor y por tanto por una seccin reducida en los conductores. As,
al principio del arranque, siendo todava las corrientes de frecuencia elevada,
34
la corriente no circula ms que por la caja exterior. El par producido por la jaula
exterior resistente es importante y con baja corriente figura 19.
Al final del arranque, la frecuencia en el rotor disminuye y resulta ms fcil la
circulacin del flujo por la jaula interior. El motor se comporta entonces
aparentemente como si hubiera sido construido como una nica jaula de baja
resistencia. En rgimen permanente, la velocidad es solamente un poco menor
que la de un motor de jaula simple.
Figura 19 curvas par-velocidad de cada uno de los tipos de rotor de jaula.
Fuente: E. Gaucheron. Schneider Electric Espaa, S.A. Cuaderno tcnico. Los motores elctricos
mejorando su proteccin. Telemecanique. Edicin marzo 2005.
2.3.2.4
35
2.3.2.5
E. Gaucheron. Schneider Electric Espaa, S.A. Cuaderno tcnico. Los motores elctricos mejorando su
proteccin. Telemecanique. Edicin marzo 2005. Pag. 6.
36
Fuente: Stephen S. Chapman. Maquinas Elctricas. 3 edicin. Mc Graw Hill. Colombia. 2000.
37
Fuente: Stephen S. Chapman. Maquinas Elctricas. 3 edicin. Mc Graw Hill. Colombia. 2000.
38
39
Bhag S. Guru, Huseyin R. Hiziroglu. Mquinas Elctricas y Transformadores. 3 edicin. Oxford university
Press. Pg. 554.
40
IL
(9)
41
42
potencia _ de _ entrada W1 W2
(10)
W W2
tan 3 1
W1 W2
(11)
(12)
43
44
Prof. Jos Manuel Aller. Operacin de las Maquinas de Induccin Capitulo 11. Conversin de Energa
Elctrica. Universidad Simn Bolvar. Colombia. Pg. 224.
45
2.3.8.2
46
47
2.3.8.3
48
49
Arranque Estrella-Delta.
Slo es posible utilizar este modo de arranque en motores en los que las dos
extremidades de cada uno de los tres devanados estatricos vuelvan a la placa
de bornes. Por otra parte, el bobinado debe realizarse de manera que el
acoplamiento en tringulo corresponda con la tensin de la red: por ejemplo,
en el caso de una red trifsica de 380 V, es preciso utilizar un motor bobinado
a 380 V en tringulo y 660 V en estrella.
El principio consiste en arrancar el motor acoplando los devanados en estrella
a la tensin de la red, lo que equivale a dividir la tensin nominal del motor en
estrella por 3 (en el ejemplo anterior, la tensin de la red 380 V = 660 V / 3).
La punta de corriente durante el arranque se divide por 3: Id = 1,5 a 2,6 In.
Un motor de 380 V / 660 V acoplado en estrella a su tensin nominal de 660 V
absorbe una corriente 3 veces menor que si se acopla en tringulo a 380 V.
Dado que el acoplamiento en estrella se realiza a 380 V, la corriente se divide
nuevamente por 3. Por tanto, se divide por un total de 3.
El par de arranque se divide igualmente por 3, ya que es proporcional al
cuadrado de la tensin de alimentacin ver figura 28:
Cd = 0.2 a 0.5 Cn
La velocidad del motor se estabiliza cuando se equilibran el par del motor y el
par resistente, normalmente entre el 75 y 85% de la velocidad nominal. En ese
momento, los devanados se acoplan en tringulo y el motor rinde segn sus
caractersticas naturales. Un temporizador se encarga de controlar la transicin
del acoplamiento en estrella al acoplamiento en tringulo. El cierre del
contactor de tringulo se produce con un retardo de 30 a 50 milisegundos tras
la apertura del contactor de estrella, lo que evita un cortocircuito entre fases al
no poder encontrarse ambos cerrados al mismo tiempo.
50
51
52
SIRIUS 3RW44.
Los arrancadores suaves 3RW44 integran dos tiristores en conexin
antiparalelo por cada fase (un tiristor por cada semionda negativa y positiva,
respectivamente).
Desplazando la fase y por medio de diferentes procedimientos de regulacin,
se aumenta el valor efectivo de la tensin de motor a partir de la tensin o el
par de arranque ajustable hasta alcanzar la tensin asignada del motor para un
tiempo de arranque seleccionable.
La corriente del motor vara en funcin de la tensin aplicada, de manera que
la corriente de arranque se reduce por el factor de dicha tensin. El par de
motor y la tensin aplicada presentan una relacin cuadrtica, de manera que
el par de arranque se reduce en relacin cuadrtica con la tensin aplicada en
el motor.
Las figuras 29 y 30 muestran las caractersticas de la corriente y del par de
arranque de un motor asncrono trifsico con arrancador suave de Siemens:10
10
Siemens. Sirius. Arrancador Suave 3RW44.Manual de sistema. Ref. 3ZX1012-0RW44-1AE1.Edicion 032007. Pg. 16
53
Fuente: Siemens. Sirius. Arrancador Suave 3RW44.Manual de sistema. Referencia 3ZX1012-0RW441AE1.Edicion 03-2007.
Fuente: Siemens. Sirius. Arrancador Suave 3RW44.Manual de sistema. Referencia 3ZX1012-0RW441AE1.Edicion 03-2007.
54
55
56
Fuente: Siemens. Sirius. Arrancador Suave 3RW44.Manual de sistema. Referencia 3ZX1012-0RW441AE1.Edicion 03-2007.
admisibles.
Se admite el funcionamiento hasta una altura mxima sobre el nivel de mar de
5000 m (arrancadores para niveles superiores a 5000 m, sobre demanda).
Por razones trmicas, se debe disminuir la corriente asignada de empleo a
partir de un nivel de 1000 m sobre el nivel de mar.
Dada la limitada resistencia de aislamiento, se debe disminuir an ms la
corriente de servicio asignada a partir de un nivel de 2000 m. Utilizando el
57
3RW44 entre 2000 m a 5000 m sobre el nivel de mar, las tensiones asignadas
no pueden superar un nivel de 460 V.
La figura 32 muestra la disminucin de la corriente asignada en funcin de la
altura sobre el nivel de mar. La corriente asignada de empleo Ie se debe
disminuir a partir de una altura de 1000 m sobre el nivel de mar.
Figura 32 Disminucin en funcin de la altura sobre el nivel del mar.
Fuente: Siemens. Sirius. Arrancador Suave 3RW44.Manual de sistema. Referencia 3ZX1012-0RW441AE1.Edicion 03-2007.
cortocircuitos.
El arrancador suave SIRIUS 3RW44 se conecta entre el interruptor
seccionador o automtico y el motor de la derivacin como se muestra en la
figura 33.
El 3RW44 detecta automticamente y sin la intervencin del usuario el tipo de
conexin efectivo y visualiza ese valor bajo el men de "Estado/Tipo
conexin"(En el caso concreto, se visualiza el valor "Estrella/tringulo"). En el
caso de conexiones errneas, o bien sin tener conectado el motor, se visualiza
el valor de "Desconocido" en el display.
58
Fuente: Siemens. Sirius. Arrancador Suave 3RW44.Manual de sistema. Referencia 3ZX1012-0RW441AE1.Edicion 03-2007.
59
Fuente: Siemens. Sirius. Arrancador Suave 3RW44.Manual de sistema. Referencia 3ZX1012-0RW441AE1.Edicion 03-2007.
60
Fuente: Siemens. Sirius. Arrancador Suave 3RW44.Manual de sistema. Referencia 3ZX1012-0RW441AE1.Edicion 03-2007.
61
11
Siemens. Sirius. Arrancador Suave 3RW44.Manual de sistema. Ref. 3ZX1012-0RW44-1AE1.Edicion 032007. Pg. 18
62
Fuente: Siemens. Sirius. Arrancador Suave 3RW44.Manual de sistema. Referencia 3ZX1012-0RW441AE1.Edicion 03-2007.
63
Fuente: Siemens. Sirius. Arrancador Suave 3RW44.Manual de sistema. Referencia 3ZX1012-0RW441AE1.Edicion 03-2007.
Siemens. Sirius. Arrancador Suave 3RW44.Manual de sistema. Ref. 3ZX1012-0RW44-1AE1.Edicion 032007. Pg. 99.
64
65
13
66
14
Magnus Kjellberg, Sren Kling. Softstarter Handbook. ABB Automation Technology Products AB
Control. Edition February 2003. Pg.10.
67
15
Schneider Electric Espaa, S.A. Manual electrotecnico.Tecnologias de control industrial. Telemecanique. Edicin Junio 1999.
Pag.78
68
69
Rampa de tensin y
limitacin de
corriente
CINTAS
TRANSPORTADORAS
COMPRESORES
VENTILADORES
PEQUEOS
BOMBAS
70
50
30
30
10
10
10
10
Desactivado
4*IN
4*IN
Desactivado
60
40
20
10
150
10
150
10
150
10
150
10
Tensin de
arranque (%)
Tiempo de
arranque (s)
Valor limite de
corriente
Par de
arranque
Par final
Tiempo de
arranque
Fuente: Fuente: Siemens. Sirius. Arrancador Suave 3RW44.Manual de sistema. Referencia 3ZX1012-0RW441AE1.Edicion 03-2007.
MEZCLADORAS
CENTRIFUGADORAS
BOMBAS
30
30
30
30
30
30
4*IN
4*IN
4*IN
30
30
30
Par final
150
150
150
Tiempo de arranque
30
30
30
Tensin de arranque
(%)
Tiempo de arranque
(s)
Valor limite de
corriente
Par de arranque
Fuente: Fuente: Siemens. Sirius. Arrancador Suave 3RW44.Manual de sistema. Referencia 3ZX1012-0RW441AE1.Edicion 03-2007.
VENTILADORES
GRANDES
MOLEDORAS
TRITURADORAS
30
50
50
60
60
60
4*IN
4*IN
4*IN
20
50
50
Par final
150
150
150
Tiempo de arranque
60
60
60
Tensin de arranque
(%)
Tiempo de arranque
(s)
Valor limite de
corriente
Par de arranque
Fuente: Fuente: Siemens. Sirius. Arrancador Suave 3RW44.Manual de sistema. Referencia 3ZX1012-0RW441AE1.Edicion 03-2007.
70
5.
71
R9
R10
R3
R2
1k
R4
200
C1
F2 FUSE
Fase_C
F3 FUSE
R13
180
330
0.05uF
C4
BTA41-600B
Lc
0
R16
330
ALFA_C
La
U2
MOC3020
1
R17
R18
R19
180
180
470
C3
0.01uf
R15
0.05uF
C5
BTA41-600B
R25
39
T3
0.01uf
180
R23
180
Lb
C8
0.05uF
FIRE_B
330
R22
R24
470
39
C6
0.01uf
C7
BTA41-600B
U3
R21 MOC3020
1
R20
T2
+5Vdc
U1
MOC3020
1
JP1
4
R14
180
ALFA_A
R11
39 T1
R12
470
Neutro
CD40106B
Fase_B
FASE_AB_TTL
0.1uF
0
F1 FUSE
240Vrms in
5.1Vdc out
U2B
CD40106B
Fase_A
R7
5.6K
C2
0.1uF
22k
U1A
22k
150k
R8
330
14
R5
100
U7
A4N25
R1
10k
14
+5Vdc
+5Vdc
1k
72
VAB
Vca
BTA41-600B
Vab
BTA41-600B
T2-T5
T3-T6
BTA41-600B
Vbc
C
Fuente: Los autores
VAB
BTA41-600B
Vab
Ra
Rc
Vca
BTA41-600B
T2-T5
T3-T6
BTA41-600B
Rb
Vbc
C
Fuente: Los autores
Durante la ejecucin del arranque, el voltaje DC obtenido en Vab, Vbc y Vca debe
ser aproximadamente 0 volt. El voltaje AC esta dado por Ecuacin 13 y debe ser
corroborado en el osciloscopio digital.
Para simular la carga resistiva se usan bombillos de 240 Vrms a 2.6 W, donde la
corriente RMS que circula en la carga es: Irms = P/Vrms; Irms= 2.6w/240V entonces la
Irms en la carga es 10.83 mA que es soportada por el dispositivo triac.
La placa del motor de induccin utilizado en el presente proyecto se muestra en la
figura 43 y su corriente nominal a 220 Vrms es igual 1.9 Amp
73
1
1
2
Vab 240 * ( ) * sen(2 * )
2
(13)
1
1
2
(180 63) * sen(2 * 63)
Vab 240 *
180
Vab 211Vrms
Fuente: Ion Boldea, Syed A Nasar. The Induction Machine Handbook. CRC press. Noviembre
2001.
74
1
1
2
Vab 240 * ( ) * sen(2 * )
2
1
Vab 240 *
2
( 3.055) 2 * sen(2 * 3.055)
T1
BTA41-600B
La
Fase_B
75
330
U1
MOC3020
1
R1
R2
R3
180
180
470
R1
T1-T4
BTA41-600B
0.05uF
C1
R4
V1
39
C2
0.01uf
VOFF = 0
VAMPL = 240rms
FREQ = 60
L1
10uH
76
+5Vdc
f ase_C
1k
R2
1k
U7
A4N25
22k
10k
R5
100
R3
R1
R4
200
C4
R10
150k
R8
330
U1A
0.1uF
R7
5.6K
U2B
0.1uF
CD40106B
22k
C4
FASE_AB_TTL
CD40106B
f ase_B
R9
+5Vdc
14
f ase_A
14
Fase_B 2
240Vrms in
5.1Vdc out
JP1
Fase_A 1
4 +5Vdc
3
77
1
2
3
4
5
6
7
8
9
10
11
12
13
14
+5Vdc
Vss
Vdd
Vo
Rs inv
RW inv
E
D0
D1
D2
D3
D4
D5
D6
D7
15
16
LCD
R4
10k
+5Vdc
R3
100
0
+5Vdc
R1
1k
+5Vdc
HS
20Mhz
0
R2
+5Vdc
OSC1
OSC2
2
1
1k
INT0_R
U1
1
2
3
4
5
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
MCLR
AVDD
AN0/VREF+/RB0
AVSS
AN0/VREF-/RB1
RB9
AN2/RB2
RB10
AN3/RB3
RB11
AN4/RB4
RB12
AN5/RB5
RD0
RB6
RD1
RB7
VDD
RB8
VSS
VDD
RF0
VSS
RF1
OSC1
RF4
OSC2
RF5
RC13
RF2
RC14
RF3
INT0/RA11
RF6
INT2/RD9
INT1/RD8
RD3
RD2
VSS
VDD
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
R8
14
2 UP
10k
S1
CD40106B
J2
1
2
+5Vdc
U4B
3
4 DOWN
10k
CD40106B
1
2
C2
0.22 u F
R7
100k
U4A
FIRE_C
+5Vdc
J2
S1
R6
FIRE_A
FIRE_B
+5Vdc
R5
100k
+5Vdc
dsPIC30F3043
C1
0.22 u F
UP
DOWN
BACK
ENTER
CON2
CON2
5.2.1 Microcontrolador
Como circuito controlador se selecciono el Dspic 30f4013 un controlador digital de
seal de alto rendimiento fabricado por microchip a continuacin se muestra sus
principales caractersticas:
78
79
Fuente: proyecto-test-hm1.googlecode.com/files/Cap_No_07.pdf
80
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Vss
Vdd
Vo
Rs inv
RW inv
E
D0
D1
D2
D3
D4
D5
D6
D7
15
16
LCD
R3
100
+5Vdc
+5Vdc
R1
R2
+5Vdc
1k
1k
81
14
C1
0.22 u F
R6
R8
2 UP
10k
J1
S2
CD40106B
1
2
4 DOWN
CD40106B
1
2
U4B
10k
J2
S1
C2
0.22 u F
R7
100k
U4A
R5
100k
+5Vdc
CON2
CON2
+5Vdc
+5Vdc
C4
0.22 u F
R12
J3
S3
R10
8 BACK
10k
S4
CD40106B
J4
1
2
1
2
U4D
9
C3
0.22 u F
R9
100k
R11
100k
CON2
CON2
82
U4C
5
6 ENTER
10k
CD40106B
83
El ngulo alfa en el inicio del arranque es 175.7o en la posicin 250, el alfa mnimo
con el que se termina es 63o en la posicin 90, por efectos de clculos este valor
se aproxima a 100 que es la posicin final 100, con fin de garantizar
discontinuidad en la corriente del estator.
El tiempo del arranque es directamente proporcional al nmero de ciclos
empleados durante el mismo, para calcular el nmero de ciclos de red, en que un
mismo valor de ngulo se repite, se emplea la ecuacin 14.
60 * t
arr
# ciclos _ angle
Pf Pi
(14)
Donde:
tarr = tiempo de arranque,
Pf = posicin del alfa final
Pi = posicin del alfa inicial
#ciclos_angle = numero de ciclos de red, para un mismo valor de alfa.
En la tabla 9 se muestran las variables usadas para calcular el nmero de ciclos
de red para alfa en un arranque de 5seg.
84
Pi
250
100
150
2 Ciclos por ngulo
Fuente: propia de los autores
f
85
PREG1
RB9=1
ACUM _1>2
SI
NO
Incremente
ACUM _1
PREG2
Decremente
ACUM _1
NO
SI
ACUM _1<2
RB10=1
ACUM _1=1
NO
ACUM _1=1
SI
mess2, linea 1
Motor en Vacio
SI
ACUM _1=2
SI
ACUM _1=2
PREG3
RB12=1
mess3, linea 1
Motor con Carga
IR A PREG1
SI
ACUM _1=1
IR A PREG1
ACUM _1=2
S
I
86
SI
mess2, linea 1
Motor en Vacio
SI
mess3, linea 1
Motor con Carga
mess4, linea 1
Arranque en Vacio
mess5, linea 2
Oprima enter
RB11=1
NO
RB12=1
mess4, linea 1
Arranque en Vacio
mess5, linea 2
Oprima enter
Aa
87
INICIO
PREG4
SI
RB9=1
ACUM _2>4
PREG5
Decremente
ACUM _2
ACUM _2<2
SI
Incremente
ACUM _2
ACUM _2=1
ACUM _2=2
ACUM _2=3
mess5, linea 2
clase 5
SI
mess6, linea 2
Clase 10
SI
mess7, linea 1
Clase 20
SI
mess8, linea 1
Clase 30
INICIO
ACUM _2=4
mess6, linea 2
Clase 10
NO
mess5, linea 2
clase 5
SI
PREG6
RB11=1
ACUM _2=2 SI
SI
RB10=1
SI
ACUM _2=1 SI
NO
PREG7
RB12=1
IR A PREG1
ACUM _2=3 SI
mess7, linea 1
Clase 20
ACUM _2=1
ACUM _2=4 SI
mess5, linea 1
Clase 5
mess5, linea 2
Oprima enter
SI
mess8, linea 1
Clase 30
RB11=1
RB12=1
SI
SI
INICIO
ACUM _2=2
mess6, linea 1
Clase 10
mess5, linea 2
Oprima enter
SI
IR A PREG1
RB11=1
RB12=1
SI
SI
INICIO
ACUM _2=3
mess7, linea 1
Clase 20
mess5, linea 2
Oprima enter
SI
RB11=1
RB12=1
SI
SI
INICIO
ACUM _2=4
mess8, linea 1
Clase 30
mess5, linea 2
Oprima enter
SI
RB11=1
RB12=1
SI
SI
INICIO
88
El registro LIM_FIN se carga con 100, y LIM_INI = 250, para delimitar los ngulos
que intervienen, se debe especificar por cuantos ciclos de red alfa permanece en
un mismo valor de ngulo para un arranque de 5seg. La figura 58 muestra el
diagrama de flujo para un arranque en vacio.
Figura 58 Diagrama de flujo de configuracin de interrupciones para arranque en vacio.
89
90
91
ALFA<60
POS+86
<
POS= CONT
<
POS= CONT
RETFIE
Setear:
RF0; triac 1
Band7,#1
ALFA<120
POS+171
>
>
<
RETFIE
POS= CONT
>
A1
RETFIE
Setear:
RF1; triac 2
Band7,#2
Setear:
RF3; triac 3
Band7,#3
POS=POS-86
POS+86
POS= CONT
<
POS= CONT
RETFIE
Setear:
RF2; triac 3
Band6,#6
ALFA<180
POS+171
>
>
<
RETFIE
POS= CONT
>
A1
RETFIE
Setear:
RF0; triac 1
Band6,#1
Setear:
RF1; triac 2
Band6,#2
POS=POS+171
POS+86
POS= CONT
RETFIE
<
RETFIE
Setear:
RF1; triac 2
Band5,#5
POS+171
>
POS= CONT
RETFIE
>
<
POS= CONT
RETFIE
Setear:
RF2; triac 3
Band5,#6
92
Setear:
RF0; triac 1
Band5,#1
>
A1
POS+256
<
POS= CONT
<
>
RETFIE
>
POS= CONT
<
>
RETFIE
>
RETFIE
RETFIE
Setear:
RF3; triac 3
Band7,#6
POS+427
POS+342
POS= CONT
<
Setear:
RF1; triac 2
Band7,#5
POS+256
<
POS= CONT
>
<
POS= CONT
>
RETFIE
RETFIE
RETFIE
Setear:
RF2; triac 3
Band6,#3
A3
POS= CONT
RETFIE
Setear:
RF0; triac 1
Band7,#4
A2
POS+427
POS+342
Setear:
RF1; triac 2
Band6,#5
Setear:
RF0; triac 1
Band6,#4
POS+256
POS+342
<
POS= CONT
RETFIE
<
>
POS+427
POS= CONT
>
RETFIE
Setear:
RF1; triac 2
Band5,#2
<
POS= CONT
RETFIE
Setear:
RF2; triac 3
Band5,#3
93
Setear:
RF0; triac 1
Band5,#4
>
RETFIE
7.
CONCLUSIONES
94
BIBLIOGRAFA
Muhammad H. Rashid. Electrnica de Potencia : Circuitos, Dispositivos y Aplicaciones.
3a.ed. -- Mxico : Pearson Education, 2004
Boldea Ion, Nasar Syed A. The induction machine handbook. Electric Power Engineering
serie. CRC. press.2001.968P.
Sueker Keith H. Power Electronics Design. A Practitioner's Guide. Primera edicion. United
States of America. Newnes. 2005. 272P.
Stepher S. Chapman. Electric Machinery Fundamentals. Cuarta edicion. United States of
America. McGraw Hill Higher Education. 2004. 746P.
Hickey Robert B. Electrical Engineer's Portable Handbook. Segunda edicion. United
States of America. McGraw-Hill. 2003. 575P.
Barnes Malcolm. Practical Variable Speed Drives and Power Electronics. Primera edicion.
Great Britain. Newnes. 2003 .304P.
Emadi Ali. Energy-Efficient Electric Motors. Tercera edicion. New York. Newnes. 2005.
304P
Fitzgerald A. E, Kingsley Jr Charles & Umans Stephen D. Electric Machinery. United
States of America. McGraw-Hill. 2002. 704P.
95
ANEXOS
Cdigo de programacin en lenguaje ensamblador del arrancador suave
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
.EQU
MOV #0X0870,W15
MOV #0X08FE,W0
MOV W0,SPLIM
GOTO INICIO
CONTADOR,#0X0802
ALFA,#0X0804
LIM_INI,#0X0806
LIM_FIN,#0X0808
PASO_ANGLE,#0X080A
ANGLE_USO,#0X080C
TOTAL_CICLOS,#0X080E
CICLOS_ANGLE_MB,#0X0810
XSC1,#0X0812
BAND1,#0X0814
BAND2,#0X082A
R0E,#0X0816
DATO_ENVIO,#0X0818
LCD_TEMP,#0X081A
PRIMERO,#0X081C
SEGUNDO,#0X081E
TERCERO,#0X0820
CUARTO,#0X0822
QUINTO,#0X0824
ACUMULADOR,#0X0826
RET,#0X0828
ACUMULADOR_MD1,#0X082C
ACUMULADOR_MD2,#0X082E
UNIDADES,#0X0830
DECENAS,#0X0832
CENTENAS,#0X0834
UNIDX,#0X0836
DECEX,#0X0838
CENTX,#0X083A
CONTADOR_R,#0X083C
CONTADOR_T,#0X083E
CONTADOR_S,#0X0840
ALFA_I,#0X0842
ALFA_II,#0X0844
CLASS_TIME,#0X0848
CONTA_SYNC,#0X084A
BAND3,#0X084C
BAND4,#0X084E
BAND7,#0X0850
BAND6,#0X0852
BAND5,#0X0854
;===================================
;
INTERRUPCION
;===================================
__INT0Interrupt:
PUSH.S
CLR
TMR1
BCLR IEC0,#INT0IE
GOTO APOS
SALIRINT0:
BCLR IFS0,#INT0IF
POP.S
RETFIE
APOS:
CLR
CONTADOR
BCLR BAND7,#4
BCLR BAND6,#4
BCLR BAND4,#4
BCLR PORTB,#RB0
MOV #0,W0
CP
ALFA
BRA Z,ANGLE_0_0
MOV #85,W0
CP
ALFA
BRA Z,ANGLE_60_0
MOV #171,W0
CP
ALFA
BRA Z,ANGLE_120_0
GOTO MODE_SOFT
ANGLE_0_0:
BSET PORTB,#RB0
BSET BAND7,#1
GOTO MODE_SOFT
ANGLE_60_0:
BSET PORTB,#RB2
BSET BAND6,#6
GOTO MODE_SOFT
.INCLUDE "P30F4013.INC"
.GLOBAL __reset
.GLOBAL __INT0Interrupt
.GLOBAL __T1Interrupt
.TEXT
ANGLE_120_0:
BSET PORTB,#RB1
BSET BAND4,#5
GOTO MODE_SOFT
__reset:
96
MODE_SOFT:
BTSC
GOTO
BTSC
GOTO
BTSC
GOTO
BTSC
GOTO
BAND1,#1
MOD_STOP
BAND2,#0
MOD_MANUAL
BAND2,#1
MOD_BASIC0
BAND2,#3
MOD_PALANCA
BCLR IEC0,#INT0IE
BCLR IEC0,#T1IE
GOTO SALIRINT0
MOD_BASIC0:
MOV CICLOS_ANGLE_MB,W0
MOV
INC
MOV
BCLR
BSET
GOTO
XSC1,W0
W0,W0
W0,XSC1
IFS0,#T1IF
IEC0,#T1IE
SALIRINT0
CP
XSC1,W0
W0,W0
W0,XSC1
IFS0,#T1IF
IEC0,#T1IE
SALIRINT0
SALE_MDB_ARRAN:
CLR
BAND2
BCLR PORTB,#RB0
CLR
BAND7
BCLR PORTB,#RB1
CLR
BAND6
BCLR PORTB,#RB2
CLR
BAND4
BCLR IFS0,#T1IF
BCLR IEC0,#T1IE
BCLR IFS0,#INT0IF
BCLR IEC0,#INT0IE
GOTO SALIRINT0
CAMB_ANGLE_MB:
MOV LIM_FIN,W0
CP
ALFA
BRA Z,SALE_MDB_ARRAN
CLR
XSC1
DEC
ALFA
BCLR IFS0,#T1IF
BSET IEC0,#T1IE
GOTO SALIRINT0
MOD_STOP:
MOV
MOV
INC
MOV
BCLR
BSET
GOTO
SALE_MOD_STOP:
CLR
BAND1
BCLR PORTB,#RB0
CLR
BAND7
BCLR PORTB,#RB1
CLR
BAND6
BCLR PORTB,#RB2
CLR
BAND4
BCLR IFS0,#T1IF
BCLR IEC0,#T1IE
BCLR IFS0,#INT0IF
BCLR IEC0,#INT0IE
GOTO SALIRINT0
MOD_MANUAL:
SEG_MANUAL_0:
BCLR IFS0,#T1IF
BSET IEC0,#T1IE
GOTO SALIRINT0
XSC1
Z,CAMB_ANGLE_MB
Z,CAMB_ANGLE_ST
CAMB_ANGLE_ST:
MOV LIM_FIN,W0
CP
ALFA
BRA Z,SALE_MOD_STOP
CLR
XSC1
INC
ALFA
BCLR IFS0,#T1IF
BSET IEC0,#T1IE
GOTO SALIRINT0
BTSC BAND2,#4
GOTO MOD_OPCIONAL
CP
BRA
BRA
MOD_PALANCA:
NOP
GOTO SALIRINT0
CICLOS_ANGLE_MB,W0
MOD_OPCIONAL:
NOP
GOTO SALIRINT0
XSC1
97
_CLR_2:
BCLR
BCLR
BCLR
BCLR
MOV
CP
BRA
MOV
CP
BRA
MOV
CP
BRA
GOTO
;===================================
;
TIMMER
;===================================
__T1Interrupt:
PUSH.S
INC
CONTADOR
MOV #85,W0
CP
CONTADOR
BRA Z,_CLR_1
MOV #171,W0
CP
CONTADOR
BRA Z,_CLR_2
MOV #256,W0
CP
CONTADOR
BRA Z,_CLR_3
MOV #341,W0
CP
CONTADOR
BRA Z,_CLR_4
MOV #427,W0
CP
CONTADOR
BRA Z,_CLR_5
GOTO SEG_T1
_CLR_1:
BCLR
BCLR
BCLR
BCLR
MOV
CP
BRA
MOV
CP
BRA
MOV
CP
BRA
GOTO
BAND7,#6
BAND6,#6
BAND4,#6
PORTB,#RB2
#0,W0
ALFA
Z,ANGLE_0_171
#85,W0
ALFA
Z,ANGLE_60_171
#171,W0
ALFA
Z,ANGLE_120_171
SEG_T1
ANGLE_0_171:
BSET PORTB,#RB2
BSET BAND7,#3
GOTO SEG_T1
ANGLE_60_171:
BSET PORTB,#RB1
BSET BAND6,#2
GOTO SEG_T1
BAND7,#5
BAND6,#5
BAND4,#5
PORTB,#RB1
#0,W0
ALFA
Z,ANGLE_0_85
#85,W0
ALFA
Z,ANGLE_60_85
#171,W0
ALFA
Z,ANGLE_120_85
SEG_T1
ANGLE_120_171:
BSET PORTB,#RB0
BSET BAND4,#1
GOTO SEG_T1
_CLR_3:
BCLR
BCLR
BCLR
BCLR
MOV
CP
BRA
MOV
CP
BRA
MOV
CP
BRA
GOTO
ANGLE_0_85:
BSET PORTB,#RB1
BSET BAND7,#2
GOTO SEG_T1
ANGLE_60_85:
BSET PORTB,#RB0
BSET BAND6,#1
GOTO SEG_T1
BAND7,#1
BAND6,#1
BAND4,#1
PORTB,#RB0
#0,W0
ALFA
Z,ANGLE_0_180
#85,W0
ALFA
Z,ANGLE_60_180
#171,W0
ALFA
Z,ANGLE_120_180
SEG_T1
ANGLE_0_180:
BSET PORTB,#RB0
BSET BAND7,#4
GOTO SEG_T1
ANGLE_120_85:
BSET PORTB,#RB2
BSET BAND4,#6
GOTO SEG_T1
ANGLE_60_180:
98
BRA
MOV
CP
BRA
GOTO
BSET PORTB,#RB2
BSET BAND6,#3
GOTO SEG_T1
ANGLE_120_180:
BSET PORTB,#RB1
BSET BAND4,#2
GOTO SEG_T1
_CLR_4:
BCLR
BCLR
BCLR
BCLR
MOV
CP
BRA
MOV
CP
BRA
MOV
CP
BRA
GOTO
ANGLE_0_427:
BSET PORTB,#RB2
BSET BAND7,#6
GOTO SEG_T1
BAND7,#2
BAND6,#2
BAND4,#2
PORTB,#RB1
#0,W0
ALFA
Z,ANGLE_0_341
#85,W0
ALFA
Z,ANGLE_60_341
#171,W0
ALFA
Z,ANGLE_120_341
SEG_T1
ANGLE_60_427:
BSET PORTB,#RB1
BSET BAND6,#5
GOTO SEG_T1
ANGLE_120_427:
BSET PORTB,#RB0
BSET BAND4,#4
GOTO SEG_T1
GOTO SEG_T1
ANGLE_0_341:
BSET PORTB,#RB1
BSET BAND7,#5
GOTO SEG_T1
ANGLE_60_341:
BSET PORTB,#RB0
BSET BAND6,#4
GOTO SEG_T1
ANGLE_120_341:
BSET PORTB,#RB2
BSET BAND4,#3
GOTO SEG_T1
_CLR_5:
BCLR
BCLR
BCLR
BCLR
BCLR
BCLR
BSET
BCLR
MOV
CP
BRA
MOV
CP
Z,ANGLE_60_427
#171,W0
ALFA
Z,ANGLE_120_427
SEG_T1
BAND7,#3
BAND6,#3
BAND4,#3
PORTB,#RB2
INTCON2,#INT0EP
IFS0,#INT0IF
IEC0,#INT0IE
PORTB,#RB1
#0,W0
ALFA
Z,ANGLE_0_427
#85,W0
ALFA
SEG_T1:
MOV
CP
BRA
MOV
CP
BRA
MOV
CP
BRA
#0,W0
ALFA
Z,MODOIII
#85,W0
ALFA
Z,MODOII
#171,W0
ALFA
Z,MODOI
SALTO1:
MOV
CP
BRA
MOV
CP
BRA
MOV
CP
BRA
#85,W0
ALFA
LT,MODOIII
#171,W0
ALFA
LT,MODOII
#256,W0
ALFA
LT,MODOI
SALIRT1:
BCLR IFS0,#T1IF
POP.S
RETFIE
;===================================
;
MODO III
;===================================
MODOIII:
BTSC BAND7,#5
GOTO BTGSCR5_III
99
CONT1_III:
BTSC BAND7,#6
GOTO BTGSCR6_III
GOTO PREG_0_III
BTGSCR5_III:
BTG
PORTB,#RB1
GOTO CONT1_III
BTGSCR6_III:
BTG
PORTB,#RB2
GOTO PREG_0_III
PREG_0_III:
MOV
ALFA,W0
CP
BRA
BRA
BTSC
GOTO
GOTO
CONTADOR
LT,SALIRT1
Z,ON_SCRIII_1
BAND7,#1
BTG_SCRIII_1
PREG_1_III
PREG_1_III:
MOV
ADD
CP
BRA
BRA
BTSC
GOTO
GOTO
ALFA,W0
#85,W0
CONTADOR
LT,SALIRT1
Z,ON_SCRIII_2
BAND7,#2
BTG_SCRIII_2
PREG_2_III
PREG_2_III:
MOV
ADD
CP
BRA
BRA
BTSC
GOTO
GOTO
ALFA,W0
#171,W0
CONTADOR
LT,SALIRT1
Z,ON_SCRIII_3
BAND7,#3
BTG_SCRIII_3
PREG_3_III
PREG_3_III:
MOV
ADD
CP
BRA
BRA
BTSC
GOTO
GOTO
PREG_4_III:
MOV
ADD
CP
BRA
BRA
ALFA,W0
#341,W0
CONTADOR
LT,SALIRT1
Z,ON_SCRIII_5
PREG_5_III:
MOV
ADD
CP
BRA
BRA
ALFA,W0
#427,W0
CONTADOR
LT,SALIRT1
Z,ON_SCRIII_6
PREG_6_III:
MOV
CP
BRA
BCLR
GOTO
#512,W0
CONTADOR
LT,SALIRT1
BAND4,#1
SALIRT1
BTG_SCRIII_1_0:
BTG
PORTB,#RB0
BTSC BAND4,#2
BTG
PORTB,#RB1
BTSC BAND4,#3
BTG
PORTB,#RB2
BTSC BAND4,#2
GOTO PREG_1_III
GOTO SALIRT1
BTG_SCRIII_2_0:
BTG
PORTB,#RB1
BTSC BAND4,#3
GOTO PREG_2_III
GOTO SALIRT1
BTG_SCRIII_3_0:
BTG
PORTB,#RB2; SCR1
BTSC BAND4,#1
GOTO PREG_3_III
GOTO SALIRT1
BTG_SCRIII_4_0:
BTG
PORTB,#RB0; SCR1
BTSC BAND4,#2
GOTO PREG_4_III
GOTO SALIRT1
ALFA,W0
#256,W0
CONTADOR
LT,SALIRT1
Z,ON_SCRIII_4
BAND7,#4
BTG_SCRIII_4
PREG_4_III
BTG_SCRIII_5_0:
BTG
PORTB,#RB1
BTSC BAND4,#3
GOTO PREG_5_III
GOTO SALIRT1
100
BSET PORTB,#RB2
BSET BAND7,#6
GOTO SALIRT1
BTG_SCRIII_6_0:
BTG
PORTB,#RB2
GOTO SALIRT1
;===================================
;
MODO II
;===================================
MODOII:
MOV ALFA,W0
SUB
#85,W0
MOV W0,ALFA_II
BTSC BAND6,#5
GOTO BTGSCR5_II
GOTO PREG_0_II
BTG_SCRIII_1:
BTG
PORTB,#RB0
GOTO PREG_1_II
BTG_SCRIII_2:
BTG
GOTO
BTG_SCRIII_3:
BTG
GOTO
PORTB,#RB1
PREG_2_III
PORTB,#RB2
PREG_3_III
BTGSCR5_II:
BTG
PORTB,#RB1
GOTO PREG_0_II
BTG_SCRIII_4:
BTG
PORTB,#RB0
GOTO PREG_4_III
BTG_SCRIII_5:
BTG
PORTB,#RB1
GOTO PREG_5_III
BTG_SCRIII_6:
BTG
PORTB,#RB2
GOTO PREG_6_III
ON_SCRIII_1:
BSET PORTB,#RB0
BSET BAND7,#1
GOTO SALIRT1
ON_SCRIII_2:
BSET PORTB,#RB1
BSET BAND7,#2
GOTO SALIRT1
ON_SCRIII_3:
BSET PORTB,#RB2
BSET BAND7,#3
GOTO SALIRT1
ON_SCRIII_4:
BSET PORTB,#RB0
BSET BAND7,#4
GOTO SALIRT1
ON_SCRIII_5:
BSET PORTB,#RB1
BSET BAND7,#5
GOTO SALIRT1
ON_SCRIII_6:
101
PREG_0_II:
MOV
CP
BRA
MOV
CP
BRA
BRA
BTSC
GOTO
GOTO
#85,W0
ALFA
Z,BTG_SCRII_6
ALFA_II,W0
CONTADOR
LT,SALIRT1
Z,ON_SCRII_6
BAND6,#6
BTG_SCRII_6
PREG_1_II
PREG_1_II:
MOV
ADD
CP
BRA
BRA
BTSC
GOTO
GOTO
ALFA_II,W0
#85,W0
CONTADOR
LT,SALIRT1
Z,ON_SCRII_1
BAND6,#1
BTG_SCRII_1
PREG_2_II
PREG_2_II:
MOV
ADD
CP
BRA
BRA
BTSC
GOTO
GOTO
ALFA_II,W0
#171,W0
CONTADOR
LT,SALIRT1
Z,ON_SCRII_2
BAND6,#2
BTG_SCRII_2
PREG_3_II
PREG_3_II:
MOV
ADD
ALFA_II,W0
#256,W0
CP
BRA
BRA
BTSC
GOTO
GOTO
CONTADOR
LT, SALIRT1
Z, ON_SCRII_3
BAND6,#3
BTG_SCRII_3
PREG_4_II
PREG_4_II:
MOV
ADD
CP
BRA
BRA
BTSC
GOTO
GOTO
ALFA_II,W0
#341,W0
CONTADOR
LT,SALIRT1
Z,ON_SCRII_4
BAND6,#4
BTG_SCRII_4
PREG_5_II
PREG_5_II:
MOV
ADD
CP
BRA
BRA
ALFA_II,W0
#427,W0
CONTADOR
LT,SALIRT1
Z,ON_SCRII_5
PREG_6_II:
MOV
ADD
CP
BRA
GOTO
ALFA_II,W0
#512,W0
CONTADOR
Z,SALIRT1
SALIRT1
ON_SCRII_6:
BSET
BSET
GOTO
ON_SCRII_1:
BSET
BSET
GOTO
PORTB,#RB2
BAND6,#6
SALIRT1
PORTB,#RB0
BAND6,#1
SALIRT1
ON_SCRII_2:
BSET PORTB,#RB1
BSET BAND6,#2
GOTO SALIRT1
ON_SCRII_3:
BSET PORTB,#RB2
BSET BAND6,#3
GOTO SALIRT1
ON_SCRII_4:
BSET PORTB,#RB0
BSET BAND6,#4
GOTO SALIRT1
ON_SCRII_5:
BSET PORTB,#RB1
BSET BAND6,#5
GOTO SALIRT1
;===================================
;
MODO I
;===================================
MODOI:
MOV #171,W0
CP
ALFA
BRA Z, CONTI1I
MOV ALFA,W0
SUB
#171,W0
MOV W0,ALFA_I
GOTO PREG_0_IB
BTG_SCRII_6:
BTG
PORTB,#RB2
GOTO PREG_1_II
BTG_SCRII_1:
BTG
PORTB,#RB0
GOTO PREG_2_II
BTG_SCRII_2:
BTG
PORTB,#RB1
GOTO PREG_3_II
BTG_SCRII_3:
BTG
PORTB,#RB2
GOTO PREG_4_II
BTG_SCRII_4:
BTG
PORTB,#RB0
GOTO PREG_5_II
BTG_SCRII_5:
BTG
PORTB,#RB1
GOTO PREG_6_II
102
CONTI1I:
MOV
SUB
MOV
GOTO
ALFA,W0
#170,W0
W0,ALFA_I
PREG_0_IB
PREG_0_IB:
BTSC
GOTO
MOV
CP
BRA
BAND4,#5
BTG_SCRIB_5
ALFA_I,W0
CONTADOR
LT,SALIRT1
BRA
PREG_1_IB:
BTSC
GOTO
MOV
ADD
CP
BRA
BRA
PREG_2_IB:
BTSC
GOTO
MOV
ADD
CP
BRA
BRA
Z,ON_SCRIB_5
CLR_SCR4_1A3:
BCLR BAND4,#1
BCLR PORTB,#RB0
GOTO PREG_0_IB
BAND4,#6
BTG_SCRIB_6
ALFA_I,W0
#85,W0
CONTADOR
LT,SALIRT1
Z,ON_SCRIB_6
BTG_SCRIB_5:
BTG
PORTB,#RB1
GOTO PREG_1_IB
BTG_SCRIB_6:
BTG
PORTB,#RB2
GOTO PREG_2_IB
BAND4,#1
BTG_SCRIB_1
ALFA_I,W0
#171,W0
CONTADOR
LT,SALIRT1
Z,ON_SCRIB_1
BTG_SCRIB_1:
BTG
PORTB,#RB0
GOTO PREG_3_IB
BTG_SCRIB_2:
BTG
PORTB,#RB1
GOTO PREG_4_IB
PREG_3_IB:
BTSC
GOTO
MOV
ADD
CP
BRA
BRA
BAND4,#2
BTG_SCRIB_2
ALFA_I,W0
#256,W0
CONTADOR
LT,SALIRT1
Z,ON_SCRIB_2
PREG_4_IB:
BTSC
GOTO
MOV
ADD
CP
BRA
BRA
BAND4,#3
BTG_SCRIB_3
ALFA_I,W0
#341,W0
CONTADOR
LT,SALIRT1
Z,ON_SCRIB_3
PREG_5_IB:
BTSC
GOTO
MOV
ADD
CP
BRA
BRA
BAND4,#4
BTG_SCRIB_4
ALFA_I,W0
#427,W0
CONTADOR
LT,SALIRT1
Z,ON_SCRIB_4
BTG_SCRIB_3:
BTG
PORTB,#RB2
GOTO PREG_5_IB
BTG_SCRIB_4:
BTG
PORTB,#RB0
GOTO PREG_6_IB
ON_SCRIB_5:
BSET PORTB,#RB1
BSET BAND4,#5
GOTO SALIRT1
ON_SCRIB_6:
BSET PORTB,#RB2
BSET BAND4,#6
GOTO SALIRT1
ON_SCRIB_1:
BSET PORTB,#RB0
BSET BAND4,#1
GOTO SALIRT1
ON_SCRIB_2:
BSET PORTB,#RB1
BSET BAND4,#2
GOTO SALIRT1
PREG_6_IB:MOV
ALFA_I,W0
ADD #512,W0
CP
CONTADOR
BRA LT,SALIRT1
GOTO SALIRT1
ON_SCRIB_3:
BSET PORTB,#RB2
BSET BAND4,#3
GOTO SALIRT1
103
MOV
MOV
MOV
MOV
ON_SCRIB_4:
BSET PORTB,#RB0
BSET BAND4,#4
GOTO SALIRT1
;===================================
;
SLECIONAR EL MODO
;===================================
;===================================
;
INICIO
;===================================
PREGUNTA1:
BTSC PORTF,#1
GOTO ANTI_UP
INICIO:
BCLR
BCLR
BSET
BSET
MOV
MOV
BCLR
BCLR
BCLR
BCLR
BCLR
BCLR
BSET
BSET
BSET
BSET
BCLR
BCLR
BCLR
BCLR
CLR
CLR
CLR
CLR
CLR
CLR
CLR
CALL
CALL
CALL
#04,W0
W0,CUARTO
#05,W0
W0,QUINTO
CORCON,#IPL3
SR,#IPL2
SR,#IPL1
SR,#IPL0
#0XFFFF,W0
W0,ADPCFG
TRISB,#RB4
TRISB,#RB5
TRISB,#RB6
TRISB,#RB7
TRISD,#RD3
TRISC,#RC13
TRISF,#RF1
TRISF,#RF3
TRISF,#RF2
TRISF,#RF4
TRISB,#RB0
TRISB,#RB1
TRISB,#RB2
TRISD,#RD2
PORTD
PORTB
CONTADOR_R
CONTADOR_T
CONTADOR_S
ALFA
ANGLE_USO
CLEAR_BAND
LCDINICIO
MESS_BIEN
PREGUNTA2:
BTSC PORTF,#3
GOTO ANTI_DOWN
PREGUNTA3:
BTSC PORTF,#2
GOTO ANTI_ENTER
GOTO PREGUNTA1
INICIO_BUCLE:
CLR
W4
MOV #0,W0
MOV W0,ACUMULADOR
MOV W0,ACUMULADOR_MD1
MOV W0,ACUMULADOR_MD2
MOV #01,W0
MOV W0,PRIMERO
MOV #02,W0
MOV W0,SEGUNDO
MOV #03,W0
MOV W0,TERCERO
104
ANTI_UP:
MOV
CP
BRA
INC
MOV
CP
BRA
GOTO
#4,W0
ACUMULADOR
Z,MENU4
ACUMULADOR
ACUMULADOR,W0
PRIMERO
Z,MENU1
SIGUIENTE
ANTI_DOWN:
MOV
CP
BRA
DEC
MOV
CP
BRA
GOTO
#2,W0
ACUMULADOR
LT,PREGUNTA3
ACUMULADOR
ACUMULADOR,W0
PRIMERO
Z,MENU1
SIGUIENTE
SIGUIENTE:
MOV
CP
BRA
GOTO
ACUMULADOR,W0
SEGUNDO
Z,MENU2
SIGUIENTE2
SIGUIENTE2:
MOV
CP
BRA
GOTO
ACUMULADOR,W0
TERCERO
Z,MENU3
SIGUIENTE3
SIGUIENTE3:
MOV
CP
BRA
GOTO
CALL
CALL
CALL
GOTO
ACUMULADOR,W0
CUARTO
Z,MENU4
PREGUNTA1
ENTER_MD3:
CALL DENTRO_MANUAL
MENU1:
CALL CUADRA_LCD
CALL MESS_MD1
GOTO PREGUNTA1
ENTER_MD4:
CALL
CALL
MOV
CALL
GOTO
MENU2:
CALL CUADRA_LCD
CALL MESS_MD2
GOTO PREGUNTA1
DENTRO_MANUAL:
CLR
W4
CLR
W5
CLR
W6
CLR
W7
CLR
W8
CLR
W0
CLR
W10
CLR
W11
CLR
W12
CLR
SR
CLR
UNIDADES
CLR
DECENAS
CLR
CENTENAS
CLR
UNIDX
CLR
DECEX
CLR
CENTX
CALL CLEAR_BAND
MOV #173,W0
MOV W0,ALFA
MOV #250,W0
MOV W0,LIM_INI
MOV #3,W0
MOV W0,LIM_FIN
BSET BAND2,#0
CALL START_T1
CALL START_INT
MENU4:
CALL CUADRA_LCD
CALL MESS_MD4
GOTO PREGUNTA1
ENTER_MD1:
NOP
MOV
MOV
CALL
CALL
CALL
GOTO
ENTER_MD2:
NOP
MOV
MOV
CUADRA_LCD
MESS_ENTER_MODO
#'4',W0
DATO
PREGUNTA1
;===================================
;
MODO MANUAL
;===================================
MENU3:
CALL CUADRA_LCD
CALL MESS_MD3
GOTO PREGUNTA1
ANTI_ENTER:
MOV
CP
BRA
MOV
CP
BRA
MOV
CP
BRA
MOV
CP
BRA
DEC
GOTO
CUADRA_LCD
MESS_MD2
MESS_CLASE5
PREG1_MD2
#1,W0
ACUMULADOR
Z,ENTER_MD1
#2,W0
ACUMULADOR
Z,ENTER_MD2
#3,W0
ACUMULADOR
Z,ENTER_MD3
#4,W0
ACUMULADOR
Z,ENTER_MD4
ACUMULADOR
PREGUNTA1
#1,W0
W0,ACUMULADOR_MD1
CUADRA_LCD
MESS_MD1
MESS_CLASE5
PREG1_MD1
SABERES:
BTSC
GOTO
SEG: BTSC
GOTO
#1,W0
W0,ACUMULADOR_MD2
SEGWE:
105
PORTF,#RF1
OPRI1
PORTF,#RF3
OPRI2
BTSC
GOTO
GOTO
FIN_MDS:
CLR
GOTO
OPRI2:
PORTF,#RF4
FIN_MDS
SABERES
MOV
CP
BRA
MOV
CP
BRA
MOV
DEC
MOV
CALL
CALL
BAND2
INICIO_BUCLE
OPRI1:
MOV
CP
BRA
MOV
CP
BRA
MOV
INC
MOV
CALL
CALL
LIM_INI,W0
ALFA
GT,SEG
LIM_FIN,W0
ALFA
LT,SEG
ALFA,W10
W10,W10
W10,ALFA
AJUSTEVL
ENVILCD
LIM_INI,W0
ALFA
GT,SABERES
LIM_FIN,W0
ALFA
LT,SABERES
ALFA,W10
W10,W10
W10,ALFA
AJUSTEVL
ENVILCD
PREG1D:
BTSC PORTF,#RF3
GOTO SALT2D
GOTO SABERES
SALT2D:
CALL DELAY4
PREG1:
BTSC PORTF,#RF1
GOTO SALT2
GOTO SEG
PREG2D:
BTSC PORTF,#RF3
GOTO SALT3D
GOTO SABERES
CALL DELAY4
SALT3D:
MOV
CP
BRA
MOV
CP
BRA
MOV
CP
BRA
MOV
CP
BRA
MOV
DEC
MOV
SALT2:
GOTO SALT3
GOTO SEG
SALT3:
MOV
CP
BRA
MOV
CP
BRA
MOV
CP
BRA
MOV
CP
BRA
MOV
INC
MOV
LIM_INI,W0
ALFA
GT,SEG
LIM_FIN,W0
ALFA
LT,SEG
LIM_INI,W12
W10,W12
Z,SALT4
LIM_FIN,W12
W10,W12
Z,SALT4D
ALFA,W10
W10,W10
W10,ALFA
LIM_INI,W0
ALFA
GT,SABERES
LIM_FIN,W0
ALFA
LT,SABERES
LIM_INI,W12
W10,W12
Z,SALT4
LIM_FIN,W12
W10,W12
Z,SALT4D
ALFA,W10
W10,W10
W10,ALFA
SALT4D:
CALL AJUSTEVL
CALL ENVILCD
GOTO PREG2D
SALT4:
;
CALL AJUSTEVL
CALL ENVILCD
CALL DELAY1
ENVILCD:
CALL LCDINICIO
CALL LCD_LINEA2
GOTO PREG2
MSIG2:
MOV
106
CENTX,W0
BTSC PORTF,#2
GOTO ANTI_ENTER_MD1
GOTO PREG1_MD1
CALL DATO
MSI1:
MOV DECEX,W0
CALL DATO
ANTI_UP_MD1:
MOV #4,W0
CP
ACUMULADOR_MD1
BRA Z,MENU4_MD1
INC
ACUMULADOR_MD1
MOV ACUMULADOR_MD1,W0
CP
PRIMERO
BRA Z,MENU1_MD1
GOTO SIGUIENTE_MD1
LSIG1:
MOV UNIDX,W0
CALL DATO
CALL DELAY
RETURN
;===================================
AJUSTEVL:
IGUALESC:
NOP
ESMAYORC:
MOV ALFA,W3
MOV #100,W5
REPEAT
#17
DIV.U W3,W5
MOV W0,CENTENAS
MOV W1,W3
MOV #10,W5
REPEAT
#17
DIV.U W3,W5
MOV W0,DECENAS
MOV W1,W3
MOV #1,W5
REPEAT
#17
DIV.U W3,W5
MOV W0,UNIDADES
MOV W1,W3
MOV CENTENAS,W0
ADD #48,W0
MOV W0,CENTX
MOV DECENAS,W0
ADD #48,W0
MOV W0,DECEX
MOV UNIDADES,W0
ADD #48,W0
MOV W0,UNIDX
RETURN
ANTI_DOWN_MD1:
MOV #2,W0
CP
ACUMULADOR_MD1
BRA LT,PREG3_MD1
DEC
ACUMULADOR_MD1
MOV ACUMULADOR_MD1,W0
CP
PRIMERO
BRA Z,MENU1_MD1
GOTO SIGUIENTE_MD1
SIGUIENTE_MD1:
MOV ACUMULADOR_MD1,W0
CP
SEGUNDO
BRA Z,MENU2_MD1
GOTO SIGUIENTE2_MD1
SIGUIENTE2_MD1:
MOV ACUMULADOR_MD1,W0
CP
TERCERO
BRA Z,MENU3_MD1
GOTO SIGUIENTE3_MD1
SIGUIENTE3_MD1:
MOV ACUMULADOR_MD1,W0
CP
CUARTO
BRA Z,MENU4_MD1
DEC
ACUMULADOR_MD1
GOTO PREG1_MD1
;===================================
;
MODO BASICO
;===================================
PREG1_MD1:
BTSC PORTF,#1
GOTO ANTI_UP_MD1
;===================================
;
CLASES DEL MODO BSICO
;===================================
PREG2_MD1:
BTSC PORTF,#3
GOTO ANTI_DOWN_MD1
MENU1_MD1:
CALL
CALL
CALL
GOTO
PREG3_MD1:
MENU2_MD1:
107
CUADRA_LCD
MESS_MD1
MESS_CLASE5
PREG1_MD1
CALL
CALL
CALL
GOTO
CUADRA_LCD
MESS_MD1
MESS_CLASE10
PREG1_MD1
MENU3_MD1:
CALL
CALL
CALL
GOTO
CUADRA_LCD
MESS_MD1
MESS_CLASE20
PREG1_MD1
MENU4_MD1:
CALL
CALL
CALL
GOTO
CUADRA_LCD
MESS_MD1
MESS_CLASE30
PREG1_MD1
SUB_CICL_ANG:
MOV #250,W0
MOV W0,LIM_INI
MOV W0,ALFA
MOV #2,W1
MOV W1,LIM_FIN
MOV #1,W3
MOV W3,PASO_ANGLE
SUB
W0,W1,W4
REPEAT
#18
DIV.UDW4,W3
MOV W0,ANGLE_USO
MOV #60,W3
MOV CLASS_TIME,W2
MUL.SU
W3,W2,W4
MOV W4,TOTAL_CICLOS
MOV ANGLE_USO,W3
REPEAT
#18
DIV.UDW4,W3
MOV W0,CICLOS_ANGLE_MB
RETURN
ANTI_ENTER_MD1:
MOV #1,W0
CP
ACUMULADOR_MD1
BRA Z,ENTER_MD1_1
MOV #2,W0
CP
ACUMULADOR_MD1
BRA Z,ENTER_MD1_2
MOV #3,W0
CP
ACUMULADOR_MD1
BRA Z,ENTER_MD1_3
MOV #4,W0
CP
ACUMULADOR_MD1
BRA Z,ENTER_MD1_4
DEC
ACUMULADOR_MD1
GOTO PREG1_MD1
ON_MD1_CLAS5:
CALL CLEAR_BAND
BSET BAND2,#1
CLR
CONTA_SYNC
CLR
XSC1
CLR
CICLOS_ANGLE_MB
MOV #4,W0
MOV W0,CLASS_TIME
CALL SUB_CICL_ANG
CALL LCDINICIO
CALL MESS_ARRANQ
CALL START_T1
CALL START_INT
ENTER_MD1_1:
CALL CUADRA_LCD
CALL MESS_ARRANQ
GOTO ON_MD1_CLAS5
BUCLE_M0:
BTSS BAND2,#1
GOTO CONTI1
GOTO BUCLE_M0
ENTER_MD1_2:
CALL CUADRA_LCD
CALL MESS_ARRANQ
GOTO ON_MD1_CLAS10
ON_MD1_CLAS10:
CALL CLEAR_BAND
BSET BAND2,#1
CLR
CONTA_SYNC
CLR
XSC1
CLR
CICLOS_ANGLE_MB
MOV #10,W0
MOV W0,CLASS_TIME
CALL SUB_CICL_ANG
CALL LCDINICIO
CALL MESS_ARRANQ
CALL START_T1
ENTER_MD1_3:
CALL CUADRA_LCD
CALL MESS_ARRANQ
GOTO ON_MD1_CLAS20
ENTER_MD1_4:
CALL CUADRA_LCD
CALL MESS_ARRANQ
GOTO ON_MD1_CLAS30
108
GOTO ENTER_STOP
CALL START_INT
;===================================
; INICIO DE LA PARADA SUAVE
;===================================
BUCLE_M1:
BTSS BAND2,#1
GOTO CONTI1
GOTO BUCLE_M1
INI_SOFT_SOTP:
CALL CLEAR_BAND
BSET BAND1,#1
CLR
CONTA_SYNC
CLR
XSC1
CLR
CICLOS_ANGLE_MB
CALL SUB_CICL_ANG_ST
CALL LCDINICIO
CALL EJECUTA_DET
CALL START_T1
CALL START_INT
ON_MD1_CLAS20:
CALL CLEAR_BAND
BSET BAND2,#1
CLR
CONTA_SYNC
CLR
XSC1
CLR
CICLOS_ANGLE_MB
MOV #20,W0
MOV W0,CLASS_TIME
CALL SUB_CICL_ANG
CALL LCDINICIO
CALL MESS_ARRANQ
CALL START_T1
CALL START_INT
BUCLE_M0_ST:
BTSS BAND1,#1
GOTO INICIO
GOTO BUCLE_M0_ST
BUCLE_M2:
BTSS BAND2,#1
GOTO CONTI1
GOTO BUCLE_M2
SUB_CICL_ANG_ST:
MOV #250,W0
MOV W0,LIM_FIN
MOV #2,W1
MOV W1,LIM_INI
MOV W1,ALFA
MOV #1,W3
MOV W3,PASO_ANGLE
SUB
W0,W1,W4
REPEAT
#18
DIV.UDW4,W3
MOV W0,ANGLE_USO
MOV #60,W3
MOV CLASS_TIME,W2
MUL.SU
W3,W2,W4
MOV W4,TOTAL_CICLOS
MOV ANGLE_USO,W3REPEAT
#18
DIV.UDW4,W3
MOV W0,CICLOS_ANGLE_MB
RETURN
GOTO INICIO
ON_MD1_CLAS30:
CALL CLEAR_BAND
BSET BAND2,#1
CLR
CONTA_SYNC
CLR
XSC1
CLR
CICLOS_ANGLE_MB
MOV #30,W0
MOV W0,
CLASS_TIME
CALL SUB_CICL_ANG
CALL LCDINICIO
CALL MESS_ARRANQ
CALL START_T1
CALL START_INT
BUCLE_M3:
BTSS BAND2,#1
GOTO CONTI1
GOTO BUCLE_M3
CONTI1:
CALL
CALL
CALL
CALL
CUADRA_LCD
MESS_TER_ARRAN
DELAY5
MESS_SOFT_SOTP
;===================================
; STAR INTERUPCIONES
;===================================
START_INT:
BCLR INTCON2,#INT0EP
BCLR IFS0,#INT0IF
ENTER_STOP:
BTSC PORTF,#2
GOTO INI_SOFT_SOTP
109
MOV W0,DATO_ENVIO
CALL LCD_COMANDO
CALL RETARDO4
RETURN
BSET IEC0,#INT0IE
RETURN
;===================================
;CONFIGURACION DEL TIMER
;===================================
;RUTINA DE LCDENCIENDE
LCDENCIENDE:
MOV #0X0F,W0
MOV W0,DATO_ENVIO
CALL LCD_COMANDO
CALL RETARDO4
RETURN
;RUTINA DE LCDRETORNO
LCDRETORNO:
MOV #0X02,W0
MOV W0,DATO_ENVIO
CALL LCD_COMANDO
CALL RETARDO4
RETURN
;===================================
;RUTINA DE LCDINICIO
;===================================
;RUTINA DE LCDCORRIMIENTO
LCDCORRIMIENTO:
MOV #0X06,W0
MOV W0,DATO_ENVIO
CALL LCD_COMANDO
CALL RETARDO4
RETURN
LCDINICIO:
CALL DELAY1
MOV #0X02,W0;
CALL LCD_COMANDO;
;RUTINA DE LCDSHIFT
LCDSHIFT:
MOV #0X10,W0
MOV W0,DATO_ENVIO
CALL LCD_COMANDO
CALL RETARDO4
RETURN
CALL DELAY
MOV #0X28,W0
CALL LCD_COMANDO
CALL DELAY
MOV #0X0C,W0
CALL LCD_COMANDO
CALL DELAY
CALL LCDCLEAR
MOV #0X06,W0
CALL LCD_COMANDO;
CALL DELAY
RETURN
;RUTINA DE LCDCLEAR
LCDCLEAR:
MOV #0X01,W0
MOV W0,DATO_ENVIO
CALL LCD_COMANDO
CALL RETARDO4
RETURN
;RUTINA DE LCDLINEA1
LCDLINEA1:
MOV #0X80,W0
MOV W0,DATO_ENVIO
CALL LCD_COMANDO
CALL RETARDO4
RETURN
;===================================
; RUTINA DE RETARDO
;===================================
RETARDO4:
MOV
MOV
CICLOR:
DEC
; RUTINA DE LCDLINEA2
LCDLINEA2:
MOV #0XC0,W0
110
#0X2000,W0
W0,RET
RET
BRA
MOV
MOV
AND W1,W2,W0
MOV W0,W1
MOV PORTB,W2
IOR.B W2,W1,W0
MOV W0,PORTB
CALL DELAY
BCLR PORTC,#RC13
CALL DELAY
CLR
W1
CLR
W2
CLR
W0
RETURN
NZ,CICLOR
#0X2000,W0
W0,RET
RETURN
RETARDO190:
MOV
MOV
CICLO1:
DEC
BRA
MOV
MOV
#0XFFFF,W0
W0,RET
RET
NZ,CICLO1
#0XFFFF,W0
W0,RET
LCD_LINEA1:
MOV #0X80,W0
CALL LCD_COMANDO
CALL DELAY
RETURN
RETURN
;===================================
; COMANDOS DEL LCD
;===================================
LCD_LINEA2:
MOV #0XC0,W0
CALL LCD_COMANDO
CALL DELAY
RETURN
LCD_COMANDO:
BCLR PORTD,#RD3
GOTO DATO2
DATO: BSET PORTD,#RD3DATO
NOP
DATO2:
BSET PORTC,#RC13
MOV W0,R0E
MOV #0X0F,W1
MOV PORTB,W2
AND.B W2,W1,W0
MOV W0,PORTB
MOV R0E,W2
MOV #0XF0,W1
AND.B W2,W1,W0
MOV W0,W1
MOV PORTB,W2
IOR.B W2,W1,W0
MOV W0,PORTB
CALL DELAY
CALL DELAY
BCLR PORTC,#RC13
CALL DELAY
BSET PORTC,#RC13
MOV #0X0F,W1
MOV PORTB,W2
AND.B W2,W1,W0;
MOV W0,PORTB
MOV R0E,W2
SWAP.B
W2
MOV
LCD_CORRIMIENTO:
MOV
#24,W0
CALL LCD_COMANDO
CALL DELAY
RETURN
;===================================
; MENSAJES EN EL LCD
;===================================
MESS_BIEN:
CALL
CALL
CALL
MOV
CALL
MOV
CALL
MOV
CALL
MOV
CALL
MOV
CALL
MOV
CALL
MOV
CALL
MOV
#0XF0,W1
111
DELAY
LCD_LINEA1
DELAY1
#' ',W0
DATO
#' ',W0
DATO
#'S',W0
DATO
#'O',W0
DATO
#'F',W0
DATO
#'T',W0
DATO
#' ',W0
DATO
#'S',W0
CALL DATO
MOV
#'C',W0
CALL DATO
MOV
#'O',W0
CALL DATO
RETURN
CALL DATO
MOV
#'T',W0
CALL DATO
MOV
#'A',W0
CALL DATO
MOV
#'R',W0
CALL DATO
MOV
#'T',W0
CALL DATO
MOV
#'E',W0
CALL DATO
MOV
#'R',W0
CALL DATO
MOV
#' ',W0
CALL DATO
CALL LCD_LINEA2
CALL DELAY1
MOV
#' ',W0
CALL DATO
MOV
#' ',W0
CALL DATO
MOV
#' ',W0
CALL DATO
MOV
#' ',W0
CALL DATO
MOV
#' ',W0
CALL DATO
MOV
#'U',W0
CALL DATO
MOV
#'P',W0
CALL DATO
MOV
#'B',W0
CALL DATO
RETURN
MESS_MD1:
CALL
MOV
CALL
MOV
CALL
MOV
CALL
MOV
CALL
MOV
CALL
MOV
CALL
MOV
CALL
MOV
CALL
MOV
MESS_MD2:
CALL LCDLINEA1
MOV
#'M',W0
CALL DATO
MOV
#'O',W0
CALL DATO
MOV
#'D',W0
CALL DATO
MOV
#'O',W0
CALL DATO
MOV
#' ',W0
CALL DATO
MOV
#'P',W0
CALL DATO
MOV
#'A',W0
CALL DATO
MOV
#'L',W0
CALL DATO
MOV
#'A',W0
CALL DATO
MOV
#'N',W0
CALL DATO
MOV
#'C',W0
CALL DATO
MOV
#'A',W0
CALL DATO
RETURN
MESS_MD3:
CALL
MOV
CALL
MOV
CALL
MOV
CALL
MOV
CALL
MOV
CALL
MOV
CALL
MOV
CALL
MOV
CALL
MOV
LCDLINEA1
#'M',W0
DATO
#'O',W0
DATO
#'D',W0
DATO
#'O',W0
DATO
#' ',W0
DATO
#'B',W0
DATO
#'A',W0
DATO
#'S',W0
DATO
#'I',W0
112
LCDLINEA1
#'M',W0
DATO
#'O',W0
DATO
#'D',W0
DATO
#'O',W0
DATO
#' ',W0
DATO
#'M',W0
DATO
#'A',W0
DATO
#'N',W0
DATO
#'U',W0
CALL DATO
MOV
#'D',W0
CALL DATO
MOV
#'O',W0
CALL DATO
MOV
#' ',W0
CALL DATO
RETURN
CALL DATO
MOV
#'A',W0
CALL DATO
MOV
#'L',W0
CALL DATO
RETURN
MESS_MD4:
CALL LCDLINEA1
MOV
#'M',W0
CALL DATO
MOV
#'E',W0
CALL DATO
MOV
#'N',W0
CALL DATO
MOV
#'U',W0
CALL DATO
MOV
#' ',W0
CALL DATO
MOV
#'O',W0
CALL DATO
MOV
#'P',W0
CALL DATO
MOV
#'C',W0
CALL DATO
RETURN
MESS_ARRANQ:
CALL LCD_LINEA1
MOV
#' ',W0
CALL DATO
MOV
#'E',W0
CALL DATO
MOV
#'J',W0
CALL DATO
MOV
#'E',W0
CALL DATO
MOV
#'C',W0
CALL DATO
MOV
#'U',W0
CALL DATO
MOV
#'T',W0
CALL DATO
MOV
#'A',W0
CALL DATO
MOV
#'N',W0
CALL DATO
MOV
#'D',W0
CALL DATO
MOV
#'O',W0
CALL DATO
MOV
#' ',W0
CALL DATO
CALL LCD_LINEA2
MOV
#' ',W0
CALL DATO
MOV
#'A',W0
CALL DATO
MOV
#'R',W0
CALL DATO
MOV
#'R',W0
CALL DATO
MOV
#'A',W0
CALL DATO
MOV
#'N',W0
CALL DATO
MOV
#'Q',W0
CALL DATO
MOV
#'U',W0
CALL DATO
MOV
#'E',W0
CALL DATO
MESS_ENTER_MODO:
CALL LCD_LINEA1
MOV
#' ',W0
CALL DATO
MOV
#'E',W0
CALL DATO
MOV
#'N',W0
CALL DATO
MOV
#'T',W0
CALL DATO
MOV
#'E',W0
CALL DATO
MOV
#'R',W0
CALL DATO
MOV
#' ',W0
CALL DATO
MOV
#'E',W0
CALL DATO
MOV
#'N',W0
CALL DATO
MOV
#':',W0
CALL LCD_LINEA2
MOV
#' ',W0
CALL DATO
MOV
#'M',W0
CALL DATO
MOV
#'O',W0
113
MESS_SOFT_SOTP:
CALL LCDCLEAR
CALL LCD_LINEA1
MOV
#' ',W0
CALL DATO
MOV
#'S',W0
CALL DATO
MOV
#'O',W0
CALL DATO
MOV
#'F',W0
CALL DATO
MOV
#'T',W0
CALL DATO
MOV
#' ',W0
CALL DATO
MOV
#'S',W0
CALL DATO
MOV
#'O',W0
CALL DATO
MOV
#'T',W0
CALL DATO
MOV
#'P',W0
CALL DATO
CALL LCD_LINEA2
MOV
#' ',W0
CALL DATO
MOV
#'O',W0
CALL DATO
MOV
#'P',W0
CALL DATO
MOV
#'R',W0
CALL DATO
MOV
#'I',W0
CALL DATO
MOV
#'M',W0
CALL DATO
MOV
#'A',W0
CALL DATO
MOV
#' ',W0
CALL DATO
MOV
#'E',W0
CALL DATO
MOV
#'N',W0
CALL DATO
MOV
#'T',W0
CALL DATO
MOV
#'E',W0
CALL DATO
MOV
#'R',W0
CALL DATO
;
CALL DELAY4
RETURN
MOV
#' ',W0
CALL DATO
RETURN
MESS_TER_ARRAN:
CALL LCDCLEAR
CALL LCD_LINEA1
MOV
#' ',W0
CALL DATO
MOV
#'A',W0
CALL DATO
MOV
#'R',W0
CALL DATO
MOV
#'R',W0
CALL DATO
MOV
#'A',W0
CALL DATO
MOV
#'N',W0
CALL DATO
MOV
#'Q',W0
CALL DATO
MOV
#'U',W0
CALL DATO
MOV
#'E',W0
CALL DATO
MOV
#' ',W0
CALL DATO
CALL LCD_LINEA2
MOV
#' ',W0
CALL DATO
MOV
#'T',W0
CALL DATO
MOV
#'E',W0
CALL DATO
MOV
#'R',W0
CALL DATO
MOV
#'M',W0
CALL DATO
MOV
#'I',W0
CALL DATO
MOV
#'N',W0
CALL DATO
MOV
#'A',W0
CALL DATO
MOV
#'D',W0
CALL DATO
MOV
#'O',W0
CALL DATO
MOV
#' ',W0
CALL DATO
;
CALL DELAY4
RETURN
EJECUTA_DET:
114
CALL DATO
MOV
CALL DATO
MOV
CALL DATO
MOV
CALL DATO
MOV
CALL DATO
MOV
CALL DATO
MOV
CALL DATO
RETURN
CALL LCD_LINEA1
MOV
#' ',W0
CALL DATO
MOV
#'E',W0
CALL DATO
MOV
#'J',W0
CALL DATO
MOV
#'E',W0
CALL DATO
MOV
#'C',W0
CALL DATO
MOV
#'U',W0
CALL DATO
MOV
#'T',W0
CALL DATO
MOV
#'A',W0
CALL DATO
MOV
#'N',W0
CALL DATO
MOV
#'D',W0
CALL DATO
MOV
#'O',W0
CALL DATO
MOV
#' ',W0
CALL DATO
CALL LCD_LINEA2
MOV
#' ',W0
CALL DATO
MOV
#'D',W0
CALL DATO
MOV
#'E',W0
CALL DATO
MOV
#'T',W0
CALL DATO
MOV
#'E',W0
CALL DATO
MOV
#'N',W0
CALL DATO
MOV
#'C',W0
CALL DATO
MOV
#'I',W0
CALL DATO
MOV
#'O',W0
CALL DATO
MOV
#'N',W0
CALL DATO
RETURN
#'A',W0
#'S',W0
#'E',W0
#' ',W0
#'5',W0
#' ',W0
MESS_CLASE10:
CALL LCD_LINEA2
MOV
#'C',W0
CALL DATO
MOV
#'L',W0
CALL DATO
MOV
#'A',W0
CALL DATO
MOV
#'S',W0
CALL DATO
MOV
#'E',W0
CALL DATO
MOV
#' ',W0
CALL DATO
MOV
#'1',W0
CALL DATO
MOV
#'0',W0
CALL DATO
MOV
#' ',W0
CALL DATO
RETURN
MESS_CLASE20:
CALL
MOV
CALL
MOV
CALL
MOV
CALL
MOV
CALL
MOV
CALL
MOV
CALL
MOV
MESS_CLASE5:
CALL LCD_LINEA2
MOV
#'C',W0
CALL DATO
MOV
#'L',W0
115
LCD_LINEA2
#'C',W0
DATO
#'L',W0
DATO
#'A',W0
DATO
#'S',W0
DATO
#'E',W0
DATO
#' ',W0
DATO
#'2',W0
CALL DATO
MOV
#'0',W0
CALL DATO
MOV
#' ',W0
CALL DATO
RETURN
DELAY1:
MESS_CLASE30:
CALL LCD_LINEA2
MOV
#'C',W0
CALL DATO
MOV
#'L',W0
CALL DATO
MOV
#'A',W0
CALL DATO
MOV
#'S',W0
CALL DATO
MOV
#'E',W0
CALL DATO
MOV
#' ',W0
CALL DATO
MOV
#'3',W0
CALL DATO
MOV
#'0',W0
CALL DATO
MOV
#' ',W0
CALL DATO
RETURN
DELAY4:
; RETARDO 40ms
MOV #117,W3
TRES2A4: MOV #22,W2
DOS2A4: MOV #25,W1
UNO2A4: DEC W1,W1
BRA NZ,UNO2A4
DEC W2,W2
BRA NZ,DOS2A4
DEC W3,W3
BRA NZ,TRES2A4
RETURN
DELAYANTI:
MOV #55,W2
DOS1: MOV #100,W1
UNO1: DEC W1,W1
BRA NZ,UNO1
DEC W2,W2
BRA NZ,DOS1
RETURN
CUADRA_LCD:
CALL LCDINICIO
CALL LCDENCIENDE
CALL LCDCLEAR
RETURN
CLEAR_BAND:
CLR
BAND1
CLR
BAND2
CLR
BAND3
CLR
BAND4
CLR
BAND5
CLR
BAND6
CLR
BAND7
RETURN
;RETARDO 3.3ms
DELAY5:
;RETARDO 2 Seg.
MOV #1913,W3
TRES5: MOV #50,W2
DOS5: MOV #26,W1
UNO5: DEC W1,W1
BRA NZ,UNO5
DEC W2,W2
BRA NZ,DOS5
DEC W3,W3
BRA NZ,TRES5
RETURN
.END.
;===================================
;===================================
;===================================
; RETARDOS UTILIZADOS EN EL LCD
;===================================
DELAY:
MOV #2223,W1
;RETARDO 82m
MOV #108,W3
TRES2A1:MOV #19,W2
DOS2A1: MOV #66,W1
UNO2A1: DEC W1,W1
BRA NZ,UNO2A1
DEC W2,W2
BRA NZ,DOS2A1
DEC W3,W3
BRA NZ,TRES2A1
RETURN
;RETARDO 4ms
116
117
118
119
120
121
122
123