control de motor ac de inducciÓn para aplicaciÓn …
TRANSCRIPT
CONTROL DE MOTOR AC DE INDUCCIÓN PARA APLICACIÓN
DE PUENTE GRÚA.
JORGE MARIO ROJAS AMAYA
Proyecto de grado para optar por el título de Ingeniero Electrónico
Asesor
IVÁN CASTILLO
Ingeniero Electrónico
UNIVERSIDAD DE LOS ANDES
FACULTAD DE ING ENIERIA
DEPARTAMENTO DE ING ENIERIA ELECTRICA Y ELECTRO NICA
BOGO TA D.C. JUNIO 2005
IEL2-1-05-35 3
CONTENIDO
Pág.
OBJETIVOS.........................................................................................................................11
OBJETIVO GENERAL ..............................................................................................11 OBJETIVOS ESPECIFICOS ....................................................................................11
INTRODUCCION................................................................................................................12 1. MOTORES MONOFÁSICOS DE INDUCCIÓN............................................................13
1.1. MOTOR DE FASE PARTIDA (Split-Phase motor):..................................16 1.2. MOTOR DE POLOS SOMBREADOS (shaded-poles).................................17 1.3. MOTOR CAPACITOR .......................................................................................18
2. MOTOR SELECCIONADO............................................................................................20 2.1. FUNCIONAMIENTO DETALLADO MOTOR PSC.......................................20 2.2. CIRCUITO EQUIVALENTE DEL MOTOR POR FASES .............................23 2.3. PARÁMETROS ...................................................................................................25 2.4. CONSUMO DE POTENCIA Y TORQUE .......................................................28
3. MODELO MATEMÁTICO DEL MOTOR....................................................................33 3.1. ECUACIONES DE LA MÁQUINA....................................................................37 3.2. MODELO ESTATOR-ROTOR .........................................................................39 3.3. MODELO SISTEMA COMPLETO ...................................................................41
4. DRIVERS ACTUALES ...................................................................................................44 4.1. CONTROL ESCALAR .......................................................................................44 4.2. CONTROL VECTORIAL ...................................................................................45 4.3. CONTROL DIRECTO DE TORQUE (DTC) ...................................................45
5. MODELO A IMPLEMENTAR.......................................................................................46 5.1. APLICACIÓN MODELO CON DRIVER SELECCIONADO.........................46 5.2. ARQUITECTURA GENERAL ...........................................................................49 5.2.1. RECTIFICADOR Y FILTRO ..........................................................................50 5.2.2. BLOQUE RECTIFICADOR Y FILTRO (SIMULINK)..................................52 5.2.3. INVERSOR ......................................................................................................53
IEL2-1-05-35 4
5.2.4. BLOQUE INVERSOR (SIMULINK) ..............................................................57 5.2.5. CONTROLADOR DE PWM...........................................................................59 5.2.6. BLOQUE CONTROLADOR PWM (Simulink).............................................61
6. HARDWARE...................................................................................................................62 6.1. DISEÑO RECTIFICADOR Y FILTRO CAPACITIVO....................................62 6.2. FILTRO ................................................................................................................64 6.3. MODULO INVERSOR TRIFÁSICO.................................................................65 6.4. MICROCONTROLADOR ..................................................................................67 6.5. ESQUEMÁTICO .................................................................................................71
CONCLUSIONES................................................................................................................72 BIBLIOGRAFIA..................................................................................................................73 ANEXOS..............................................................................................................................74
IEL2-1-05-35 5
LISTA DE FIGURAS
Pag. Figura 1. Componentes básicos de un motor de inducción monofásico...............................14 Figura 2. Conexión del motor de fase partida.......................................................................16 Figura 3. Motor de polos sombreados. .................................................................................17 Figura 4. (a) Motor de arranque de capacitor. (b) Motor capacitor de partido permanente.
(c) Motor capacitor de dos valores. ..............................................................................18 Figura 5. Motor de inducción monofásico elemental de dos polos, en reposo.....................20 Figura 6. Circuito equivalente de motor capacitor en operación. Fase principal y auxiliar. 23 Figura 7. Circuito equivalente motor inducción monofásico un solo embobinado. .............25 Figura 8. Circuito equivalente (a) Prueba cero carga. ( b) Prueba rotor bloqueado. ............26 Figura 9. Curva de potencia contra frecuencia. ....................................................................31 Figura 10. Curva de torque contra frecuencia. .....................................................................32 Figura 11. Embobinado de estator con la fase principal y densidad de corriente. ...............34 Figura 12. Densidad de corriente resultante de las corrientes de fase Imain Iaux................35 Figura 13. Distribución de densidad de flujo resultando de las corrientes de estator. .........36 Figura 14. Modelo del motor en formulación de vectores del espacio.................................39 Figura 15. Bloque Flujo-Corriente. ......................................................................................40 Figura 16. Sistema total motor, condensador y fuente de alimentación. ..............................41 Figura 17. Modelo motor controlador. .................................................................................47 Figura 18. Controlador V/F, bloques internos......................................................................48 Figura 19. Generador de PWM.............................................................................................48 Figura 20. Arquitectura controlador .....................................................................................49 Figura 21. Rectificador con filtro. ........................................................................................50 Figura 22. Circuito rectificador. ...........................................................................................51 Figura 23. Modelo de rectificador de onda completo...........................................................52 Figura 24. Esquema inversor. ...............................................................................................53 Figura 25. Circuito inversor sencillo. ...................................................................................54 Figura 26. Formas de onda señal triangular y señal de control. ...........................................55 Figura 27. Forma de onda de salida después de realizada la comparación. .........................56 Figura 28. Circuito de puente inversor trifásico ...................................................................56 Figura 29. Puente inversor sencillo. .....................................................................................57 Figura 30. Esquema puente inversor trifásico ......................................................................58 Figura 31. Diagrama de favores de voltajes. ........................................................................60 Figura 32. Señales de control PWM.....................................................................................61 Figura 33. Esquemático del circuito de bootstrap para una fase. .........................................65 Figura 34. Diagrama de flujo programa microcontrolador...................................................70 Figura 35. Esquemático sistema total ...................................................................................71
IEL2-1-05-35 6
Figura A1. Voltajes principal y auxiliar del motor...............................................................74 Figura A2. Corrientes principal y auxiliar, con entrada de torque tipo rampa en t = 1........74 Figura A3. Torques de carga y electro-magnético................................................................75 Figura A4. Velocidad del motor en rpm...............................................................................75 Figura A5. Velocidad y torque, modelo driver- motor.........................................................76 Figura A6. Señal de entrada bloque, señal rectificada..........................................................77 Figura A7. Ripple de la señal rectificada..............................................................................78 Figura A8. Señales de corriente a través de los diodos D2 y D4..........................................78 Figura A9. Señales de salida inversor y señal inicial de voltaje...........................................79 Figura A10. Voltajes Va, Vb y Vc a la salida del inversor trifásico. ...................................80 Figura A11. Voltajes aplicados a los embobinados del motor. ............................................81 Figura A12. Corrientes de los embobinados. Funcionamiento dirección normal ................82 Figura A13. Corrientes de los embobinados. Funcionamiento dirección inversa ................82 Figura A14. Simulación Rectificador de onda completo......................................................83 Figura A15. Simulación rectificador de onda completo con filtro y carga. .........................83 Figura A16. Esquemático IRAMS10UP60A,.......................................................................84 Figura A17. Montaje sistema PCB.......................................................................................96
IEL2-1-05-35 7
LISTA DE TABLAS
Pag.
Tabla 1. Resultados de pruebas ............................................................................................27 Tabla 2. Parámetros del motor..............................................................................................28 Tabla 3. Operación del rectificador. .....................................................................................51 Tabla 4. Funciones de los pines microcontrolador PIC16F874A.........................................67 Tabla A1. Características de la familia de microprocesadores PIC16F87, ..........................85
IEL2-1-05-35 8
LISTA DE ANEXOS
Pag.
Anexo 1. Señales eléctricas comportamiento modelo motor................................................74 Anexo 2. Señales mecánicas comportamiento modelo motor..............................................75 Anexo 3. Simulación velocidad y torque, modelo de driver y motor unidos.......................75 Anexo 4. Simulación rectificador .........................................................................................77 Anexo 5. Inversor monofásico..............................................................................................79 Anexo 6. Puente inversor trifásico........................................................................................80 Anexo 7. Salida del circuito rectificador ..............................................................................83 Anexo 8. Esquemático unidad inversor trifásico IRAMS10UP60A....................................84 Anexo 9. Especificaciones de microcontrolador familia PIC16F87XX...............................85 Anexo10. Programa del microcontrolador ...........................................................................86 Anexo11. Implementación PCB ...........................................................................................96
IEL2-1-05-35 9
LISTA DE SIMBOLOS
α = Relación de voltaje entre bobina principal y auxiliar
AC = Corriente alterna
Cmin = Capacitor mínimo para el f iltro
DC = Corriente directa
f = Frecuencia de la fuente de alimentación
Fmm = Fuerza magneto-motriz
im = Corriente instantánea en el estator
Im = Corriente en el embobinado principal
Ia = Corriente en el embobinado auxiliar
Is = Corriente de estator
ICp = Corriente pico
ICrms = Corriente RMS de carga
IDCrms = Corriente RMS de descarga
IRMS = Corriente RMS
ψs = Flujo de acoplamiento de estator
ψr = Flujo de acoplamiento de rotor
θM = Angulo por el cual Im está atrasada con respecto al voltaje aplicado en el estator
Ma = Radio de modulación en amplitud
Mf = Radio de modulación en frecuencia
ηsin = Velocidad sincrónica de un motor
P = Número de polos en un motor de inducción
PSC = Permanent Split Capacitor, Capacitor de partido permanente, motor.
PWM = Modulación de ancho de pulso
r1 = Resistencia de estator
r2 = resistencia de rotor
s = Deslizamiento en un motor de inducción
IEL2-1-05-35 10
sb = Deslizamiento inverso o en dirección opuesta
T = Torque desarrollado por el motor
Te = Torque electromagnético
TL = Torque de carga
Tc = Tiempo de carga en el capacitor
TDC = Tiempo de descarga en el capacitor
τm = Momento de inercia en el motor
Va = Voltaje aplicado al embobinado auxiliar
Vm = Voltaje aplicado al embobinado principal
Vcontrol = Señal de control en una modulación de ancho de pulso
Vtri = Señal triangular de comparación en una modulación de ancho de pulso
ωm = Velocidad mecánica del motor
ωk = Velocidad angular de marco de referencia móvil
x1 = Reactancia de estator
x2 = Reactancia de rotor
XM = Reactancia de magnetización
Z1 = Impedancia de estator
Z2 = Impedancia de rotor referida al estator
Zb = Impedancia de campo rotatorio hacia atrás
Zf = Impedancia de campo rotatorio hacia delante
IEL2-1-05-35 11
OBJETIVOS
OBJETIVO GENERAL
Desarrollar un controlador de velocidad de un motor monofásico de inducción, para
aplicación de puente grúa.
OBJETIVOS ESPECIFICOS
I. Investigar sobre tipos de motores monofásicos de inducción
II. Estudiar el funcionamiento del tipo de motor seleccionado
III. Proponer un modelo matemático del motor seleccionado
IV. Investigar sobre los tipos de “drives” existentes
V. Plantear una arquitectura del sistema
VI. Desarrollar del controlador
IEL2-1-05-35 12
INTRODUCCION
El proyecto muestra las características y principios básicos de un motor monofásico de inducción, los diferentes tipos de motores existentes y sus respectivas características,
ventajas y desventajas, enfocándose particularmente en el motor denominado PSC
(Permanent-Split Capacitor). Se especif ican los parámetros más importantes mediante
pruebas de laboratorio, impedancias internas, circuito equivalente y se definen rangos de
potencia y torque.
De acuerdo con los parámetros de motor, se plantea un modelo que integre los valores
hallados con las relaciones físicas que gobiernan el funcionamiento del motor,
desarrollando un sistema con entradas y salidas.
Se mencionan las principales técnicas de control para motores de inducción,
seleccionando la técnica más apropiada, con base en las necesidades del puente grúa, en
la efectividad del control y la factibilidad para su desarrollo y posterior puesta en práctica.
Se realiza una verif icación del mecanismo de control escogido, mediante simulación
aplicando el mecanismo de control al modelo previamente desarrollado, obteniendo
resultados aceptables para la implementación.
Se proyecta una arquitectura básica del control, desglosándola por bloques funcionales
verif icando que cada bloque cumpla con los requerimientos del sistema total, consumo de
potencia y rangos de operación, realizando comprobación de funcionamiento mediante
simulaciones cuando sea pertinente.
Teniendo el sistema completo, se procede a la etapa de implementación, en donde se
selecciona el hardw are para la implementación, teniendo en cuenta los requerimientos del
sistema y especif icando su funcionamiento. Implementación, se diseña la tarjeta PCB en
donde el sistema es instalado. Conclusiones, f inalmente se evalúan el comportamiento y
la efectividad del sistema.
IEL2-1-05-35 13
1. MOTORES MONOFÁSICOS DE INDUCCIÓN
En la actualidad existe gran cantidad de aplicaciones que encontramos en la vida diaria,
que usan motores eléctricos, sin embargo, hay gran variedad de máquinas eléctricas que
transforman energía eléctrica en energía mecánica. Existen las máquinas DC que
trabajan con corrientes continuas donde su velocidad es controlada por la magnitud de su
fuente de alimentación y su dirección es controlada por la polaridad del voltaje que se le
aplique. La otra gran categor ía, son las máquinas AC que trabajan con valores de
corriente y voltaje senosoidales, dentro de esta categoría encontramos las máquinas
sincrónicas que únicamente funcionan a velocidades sincrónicas con respecto a la fuente
de alimentación. Los motores universales que pueden funcionar con voltajes DC y AC. Y
f inalmente los motores de inducción que usan el principio de inducción de corriente para
su movimiento. Dentro de esta categoría se pueden encontrar máquinas polifásicas
(trifásicas) las cuales trabajan con voltajes trifásicos, cada voltaje desplazado del otro por
120° eléctricos y los motores monofásicos que funcionan con una fase sencilla.
El motor de inducción está constituido por un estator y un rotor, separados por un
entrehierro, ver f igura 1. Electromagnéticamente, el estator está formado por un núcleo
constituido por laminaciones que llevan conductores alojados en las ranuras. Estos
conductores se interconectan de alguna manera especial y constituyen los embobinados
del estator. El rotor es un elemento cilíndrico y porta barras conductoras cortocircuitadas
en ambos extremos, por eso el nombre de jaula de ardilla.
IEL2-1-05-35 14
Figura 1. Componentes básicos de un motor de inducción monofásico.
Los motores monofásicos de inducción generalmente t ienen capacidades nominales
pequeñas, son de jaula de ardilla y se usan en aplicaciones que no requieran alta
potencia o en donde no se tenga acceso a fuentes trifásicas. Actualmente se emplean en
aplicaciones industriales como secadores, ventiladores y bombas de agua de potencias
pequeñas.
Para que un motor monofásico se mueva, el estator debe producir un campo magnético
rotatorio; sin embargo, al usar una fuente de alimentación AC monofásica conectada a un
solo devanado no es posible ponerlo en funcionamiento.
La fuente de voltaje monofásica crea un f lujo de campo estacionario de magnitud
oscilante, de la misma forma en que oscila el voltaje AC pero no rota. Esta magnitud
oscilante es la que simula un campo rotatorio y en efecto, es el que hace que el rotor gire.
Al poner un rotor estacionar io en el campo del estator monofásico no rotará, pero si se
impulsara de alguna forma, este adquirirá velocidad y rotaría, sin importar la dirección de
rotación.
Velocidad de un motor de inducción
El campo magnético creado en el estator rota a velocidad sincrónica (ηsin):
Pf
×= 120sinη (1)
Estator
Rotor
Barras de rotor
IEL2-1-05-35 15
Donde: f la frecuencia de la fuente en Hz.
ηsin velocidad sincrónica del campo magnético del estator en rpm.
P número de polos en el estator.
Cuando el rotor está girando trata de “alcanzar” al f lujo rotatorio, pero en la práctica no lo
puede hacer porque el rotor gira más lento que la velocidad del campo del estator; esta
velocidad se llama velocidad base (ηb). La diferencia de las dos velocidades es llamada
deslizamiento, y varía con respecto a la carga del motor. Un incremento en la carga hace
que el motor gire más lento y que el deslizamiento aumente. De la misma manera un
decremento en la carga causa que el motor aumente su velocidad y disminuya el
deslizamiento.
El porcentaje de deslizamiento se puede determinar:
sin
sin
ηηη bs −
= (2)
Donde: ηsin velocidad sincrónica en rpm.
ηb velocidad base en rpm.
Debido a que los motores monofásicos no pueden arrancar por sí mismos, estos se
clasif ican según el método de arranque variando un poco su arquitectura.
IEL2-1-05-35 16
1.1. MOTOR DE FASE PARTIDA (Split-Phase motor):
Figura 2. Conexión del motor de fase partida.
El motor de fase partida posee dos embobinados en el estator: El principal y el auxiliar o
de arranque, como se ve en la f igura 2, los cuales están desplazados uno del otro 90º
medidos eléctricamente, de esta manera simula hasta cierto modo un embobinado de dos
fases. El embobinado auxiliar se usa únicamente para el arranque, generalmente tiene un
menor calibre del alambre y menos vueltas que el principal, resultando una relación
resistencia a reactancia mayor en el auxiliar. Por lo tanto, la corriente en el embobinado
principal está adelantada con respecto a la del embobinado auxiliar; en consecuencia, las
dos fuentes magneto-motriz (fmm) del estator, se desplazan entre sí, tanto en fase del
espacio como en fase de tiempo.
Los embobinados principal y auxiliar, están conectados en paralelo durante el arranque y
cuando el motor alcanza aproximadamente el 75% de su velocidad nominal se
desconecta el embobinado auxiliar, mediante el uso de un conmutador centrífugo. Este
tipo de motor no es invertible; para que suceda la inversión es necesario que la corriente
del principal adelante a la del auxiliar, pero no se puede lograr porque su construcción no
lo permite.
Rotor
Swicth centrif ugo
Embobinado auxiliar
Embobinado principal
Potencia de entrada
IEL2-1-05-35 17
1.2. MOTOR DE POLOS SOMBREADOS (shaded-poles)
Figura 3. Motor de polos sombreados.
Los motores de polos sombreados únicamente tienen un embobinado principal sin ningún
auxiliar. El arranque se hace por medio del diseño de anillos de cobre alrededor de
pequeñas porciones del motor, la porción de los polos que contiene los anillos se
denominan “sombras”, como se ve en la f igura 3, las cuales generan un campo que se
encuentra retrasado con respecto al campo del polo principal, la reacción de los dos
campos es la rotación del eje del motor.
Debido que el motor carece de embobinado auxiliar es eléctricamente simple y poco
costoso. La velocidad en este tipo de motor se puede controlar variando la magnitud del
voltaje, su construcción es sencilla, facilita su producción en masa y se consideran como
motores desechables. Sus mayores desventajas son el bajo torque de arranque, presenta
alto deslizamiento, y su eficiencia es muy baja, 20% aproximadamente.
Porción del polo sombreada
Porción del polo no sombreada
Anillo de cobre
Línea de alimentación
IEL2-1-05-35 18
1.3. MOTOR CAPACITOR
Figura 4. (a) Motor de arranque de capacitor. (b) Motor capacitor de partido permanente. (c) Motor capacitor
de dos valores.
Este tipo de motor es similar al de fase partida con la excepción que su configuración
agrega un capacitor en serie con la bobina auxiliar. Este capacitor generalmente de alto
valor, hace posible que las corrientes del principal y auxiliar estén desfasadas 90º
eléctricos.
Cuando ocurre esta situación y las fuerzas magneto-motrices (fmm) de cada bobina son
iguales en magnitud pero 90º aparte en fase de tiempo, la acción es la de un motor
polifásico que representa un funcionamiento óptimo.
También existen diferentes tipos de motores capacitores:
El motor de arranque con capacitor (Capacitor-Start), f igura 4 (a), como su nombre lo dice,
solamente usa el capacitor en la operación de arranque, utilizando un interruptor
centrífugo para desconectar el capacitor cuando este alcanza el 75% de la velocidad
nominal, otorgándole un torque de arranque muy alto.
El motor capacitor de partido permanente (Permanent-Split Capacitor, PSC), f igura 4 (b),
que usa el capacitor durante toda la operación de funcionamiento, haciendo que se
comporte de manera más uniforme, ya que no cambia sus características eléctricas, el
capacitor utilizado debe permitir operación continua.
El motor capacitor de dos valores (Capacitor Start-Run), f igura 4 (c), es la combinación de
los dos modelos anter iores, por tanto, t iene un capacitor en serie con la bobina auxiliar,
para un funcionamiento continuo, y otro capacitor en paralelo al primero de mayor valor y
con un interruptor centrífugo que se desconecta al alcanzar el 75% de la velocidad
nominal. Tiene un buen comportamiento en arranque y en funcionamiento normal.
(a) (b) (c)
IEL2-1-05-35 19
Este t ipo de motor es fácilmente invertible, cuando la fuente de polarización se conecta
entre los bornes del principal, la corriente del auxiliar está atrasada con respecto a la del
principal por efecto del capacitor, por consiguiente, gira hacia una dirección, pero cuando
se polariza inversamente el auxiliar, sucede lo contrario, la corriente del principal está
atrasada con respecto a la del auxiliar haciendo que el motor gire en dirección opuesta.
Este t ipo de motores, en un pr incipio eran muy costosos, debido al condensador con
valores tan altos, pero con los avances en tecnología, especialmente condensadores
electrolíticos, su precio disminuyó y su popularidad aumento debido a su versatilidad y a
su gran desempeño.
IEL2-1-05-35 20
2. MOTOR SELECCIONADO
Para la aplicación de puente grúa y su tamaño de implementación, el motor que mejor se
ajusta a estas características es el “motor capacitor de partido permanente (PSC)”, puesto
que los motores con interruptor no tienen un comportamiento uniforme, cambian sus características cuando el interruptor se abre, lo que los hace muy difíciles de controlar. El
motor de polos sombreados es económico pero no t iene un buen desempeño, su torque
es muy pobre, mientras que el motor PSC, al no tener ningún interruptor centrífugo, tiene
un comportamiento uniforme y produce una mejor aproximación a una operación bifásica,
mientras se mantenga a una frecuencia menor que 120 Hz, tiene muy bajas pulsaciones
de torque. Es fácilmente invertible y esta operación se puede lograr por permutación en
hardw are o software, su torque de arranque no es muy alto (80%), pero es suficiente para
esta aplicación.
2.1. FUNCIONAM IENTO DETALLADO MOTOR PSC.
Existen dos teor ías que se usan para explicar el funcionamiento de este t ipo de motor: La
teoría de campo cruzado y la teoría de los dos campos revolventes, esta última se explica
a continuación:
Figura 5. Motor de inducción monofásico elemental de dos polos, en reposo.1
1 Tomado de Leander W. Matsh, Máquinas Electromecánicas y Electromagnética, 1ª edición, 1974.
IEL2-1-05-35 21
Se tiene un motor de inducción monofásico elemental de dos polos, dado que es un motor
con rotor de jaula de ardilla, en estado estacionario se comporta como un transformador
con el secundario en corto-circuito. Cuando las direcciones de las corrientes instantáneas
son como se indican en la f igura 5, la fmm del estator es mayor que la fmm del rotor; los
polos del estator y del rotor están alineados como se muestran, denominados como Ns, Ss
y Nr, Sr, respectivamente. Los ejes magnéticos del rotor y del estator coinciden,
resultando en un torque igual a cero.
De acuerdo con esto se puede decir que la componente fundamental de la fmm del
estator en el ángulo del espacio θ es:
θπθ sin
24
mmwm i
NKF ⋅⋅= (3)
Donde: Nm es número de vueltas en el estator.
Kwm es el factor de embobinado del estator.
Siendo im la corriente instantánea en el embobinado del estator, que se puede expresar en
términos de la corriente efectiva del estator como:
)sin(2 Mmm tIi θω −= (4)
Donde θM es el ángulo por el cual Im está atrasada con respecto al voltaje aplicado en el
estator:
tVv ωsin2 ⋅⋅= (5)
Combinando las ecuaciones (4) y (5), y siguiendo un proceso de aproximación tomando la
serie de Fourier se llega a:
)cos(21)cos(2
1MampMamp tFtFF θωθθωθθ −+++−= (6)
El resultado es una expresión similar para las dos fmms iguales, girando a velocidad
sincrónica en direcciones opuestas, donde:
IEL2-1-05-35 22
mmwmamp INKF 9.0= . (7)
El primer término de la ecuación (6) representa la fmm que gira hacia delante y el
segundo la fmm que gira hacia atrás.
En el punto de reposo las dos fmms producen f lujos iguales girando en direcciones
opuestas a velocidad sincrónica, induciendo corrientes en el rotor, por tanto se crean dos
componentes iguales de torque oponiéndose entre sí, produciendo un torque resultante
igual a cero.
Cuando se analiza la otra fase en el estator, la auxiliar, la cual está 90° desfasada, se
tiene un comportamiento electromagnético similar a la fase principal, pero al integrar las
dos fases se cancelan las componentes que giran en direcciones opuestas, obteniéndose
una fuerza magneto-motriz resultante que produce un torque de arranque diferente de
cero, logrando que el motor inicie su movimiento.
Se considera el caso cuando el rotor gira se crea un desplazamiento igual al de la
ecuación (2), sin embargo como la dirección de rotación es opuesta a la del f lujo que gira
hacia atrás el signo del deslizamiento cambia resultando:
sin
sin
nnns b
b+= (8)
Reordenando y en términos de s, queda:
ssb −= 2 (9)
IEL2-1-05-35 23
2.2. CIRCUITO EQUIVALENTE DEL M OTOR POR FASES
Figura 6. Circuito equivalente de motor capacitor en operación. Fase principal y auxiliar.
En los motores capacitor los embobinados principal y auxiliar están desplazados 90º
medidos eléctricamente, por lo que resulta una operación de dos fases, donde los campos
rotatorios hacia atrás de cada embobinado se cancelan entre sí, y dado que el entrehierro
es prácticamente uniforme no hay una inductancia mutua importante entre los dos
embobinados, las ecuaciones de voltaje resultantes de circuito de la f igura 6, quedar ían:
mmm EIjxrV 211 )( ++= (10)
aaccaaa EIjXRjxrV 211 )( ++++= (11)
Donde:
r1 + jx1 = z1, impedancia de dispersión del embobinado principal.
r1a + jx1a = z1a, impedancia de dispersión del embobinado auxiliar.
Rc + jXc la impedancia serie del capacitor.
r1 jx1
Z1
Rf
jXb
Rb
jXf
Zf
Zb
Im
Efm Ef
Ebm Eb
E2m -j Efa
a
+j Eba a
Vm
r1a jx1a
Z1
a Rf
a jXb
a Rb
a jXf
a Zf
a Zb
Im
Efa +ja Ef
Eba ja Eb
E2a +ja Efm
-ja Ebm
Vm
Rc jXc
Zc
2
2
2
2
IEL2-1-05-35 24
Los voltajes E2m y E2a son inducidos por el auxiliar en el principal y viceversa, por los f lujos
del entrehierro rotacionales, con componentes hacia delante y hacia atrás.
Dado que la fase principal está desplazada en la dirección de rotación de la fase auxiliar
por 90º, el voltaje inducido por el f lujo que gira hacia adelante debe estar atrasado 90º al
voltaje inducido en la fase auxiliar por el mismo flujo, lo mismo se cumple para el f lujo
rotacional hacia atrás. Queda:
a
Ej
aE
jE bafam +−=2 (12)
En donde α es la relación de vueltas de la fase auxiliar a la fase principal. Por lo tanto
reemplazando la ecuación (12) en las ecuaciones (10) y (11) se vuelven:
aEjE
aE
jEIzV babm
fafmmm ++−+= 1 (13)
bmbafmfaaca jaEEjaEEIZzVa −++++= )( 1 (14)
Para la fase auxiliar se nota por medio de la relación de impedancia α2 con base al circuito
equivalente de la f igura 6, se puede deducir las siguientes ecuaciones en formas más
convenientes:
abfmbfm IZZjaIZZzV )()( 1 −−++= (15)
[ ] abfacmbfa IZZazZIZZjaV )()( 21 ++++−= (16)
Torque:
El torque debido a una fase del estator, es igual a la velocidad angular sincrónica, dividida
por la diferencia entre la cantidad de potencia transferida a través del entrehierro al rotor
por los campos rotacionales opuestos, la diferencia de potencia para ambas fases es:
[ ] )sin()(2)()( 22mabfmabfagbgf RRIaIRRaImIPP θθ −++−+=− (17)
El torque de desarrollo es:
IEL2-1-05-35 25
sinω
gbgf PPT
−= 2 (18)
2.3. PARÁM ETROS
Para poder plantear un modelo apropiado del motor es necesario conocer sus parámetros
de acuerdo con el circuito equivalente, esto implica el desarrollo de pruebas de laboratorio
en este caso, pruebas de cero carga y de motor bloqueado. Usualmente estas pruebas
son ejecutadas con la bobina auxiliar desconectada pero como el motor usa el capacitor
en su operación normal, en las pruebas se incluirá la bobina auxiliar, realizando una
prueba para cada bobina.
El circuito por fases se puede modelar de la siguiente forma:
Figura 7. Circuito equivalente motor inducción monofásico un solo embobinado.
Donde: 111 jXrZ += Representa la impedancia de entrada o del estator
22 jXr + Representa la impedancia del rotor
jXM Representa la impedancia de magnetización que se
ve desde el estator
2 Procedimi ento, ecuaci ones y circuitos tomados de [3] .
r2
r1
V jXM
jX2
Z1
jX1 Im
IEL2-1-05-35 26
Pruebas
Figura 8. Circuito equivalente (a) Prueba cero carga. ( b) Prueba rotor bloqueado.
La prueba de cero carga se realiza haciendo girar el motor sin carga a voltaje nominal, se
miden voltaje, corriente y potencia. En este caso se asume que el deslizamiento es igual a
cero (s = 0), el circuito queda como en la f igura 8.(a), para la cual la reactancia serie total
es:
210 5.05.0 xxxx M ++= (19)
Para la prueba de rotor bloqueado se desprecia la corriente magnetizarte y el circuito
queda como en la Figura 8.(b), se asume x1 = x2 = xL/2, donde xL es la reactancia de motor
bloqueado con base a esto se puede encontrar la reactancia de magnetización es:
LM xxX 5.12 0 −= (20)
La resistencia del embobinado principal se mide con corriente continua, la resistencia del
rotor se determina usando la resistencia serie equivalente de motor bloqueado.
2L
LL I
Pr = (21)
Siendo PL y IL la potencia y corriente de entrada al motor con el rotor bloqueado. Se puede
aproximar como:
2
212 )( ⎟⎟
⎠
⎞⎜⎜⎝
⎛ +−=M
ML x
xxrrr
r1 jx1
0.5jxM
0.5jx2
0.5r2 2
S = 0 V
Io r1 IL
VL
0.5r2
0.5jx2
0.5r2
0.5jx2 jx1
S = 1
(a) (b)
IEL2-1-05-35 27
Datos Experimentales
Realizando las pruebas de vació y de motor bloqueado, resultaron los siguientes valores:
Prueba Vacio Bloqueado Vacio BloqueadoPotencia(w) 50,5 50 32 33Corriente(A) 0,5 0,61 0,32 0,383Voltaje(V) 117 100 117 100
Embobinado Principal Embobinado Auxiliar
Tabla 1. Resultados de pruebas
Voltaje 117 V Resistencias de los embobinados:
Corriente 1 Amp Rmain = 37.2Ω
Condensador 8.23 µF Raux = 60.2Ω Frecuencia 60 Hz Polos 4 Realizando procedimiento para el embobinado principal Para la prueba de vacío:
Ω== 2345.0
1171 A
VZ Ω== 202)5.0(
5.5021 A
wrv
Ω=Ω−Ω= 1.118)202()234( 220X
Prueba de rotor bloqueado
Ω== 16461.0
100A
VZL Ω== 37.134)61.0(
602A
wrL
Ω=Ω−Ω= 9.93)37.134()164( 22LX
Asumiendo:
IEL2-1-05-35 28
Ω=== 9.46221
LXXX mHhz
LL 4.124)60(2
9.4621 =
Ω==
π
De acuerdo con la ec. 20 queda:
Ω=Ω⋅−Ω⋅= 35.95)8.93(5.1)1.118(2MX mHX M 9.252=
De acuerdo con la ec. 22 queda:
Ω=⎟⎠⎞
⎜⎝⎛ +
⋅−= 6.21535.95
35.959.46)5.3737.134(2
2r 3
Realizando el mismo procedimiento para la bobina auxiliar, quedan los siguientes valores como característicos del motor, de acuerdo con el circuito de la figura 8, queda:
R1m 37,5 Ohm R1a 60,2 OhmR2m 215,4 Ohm R2a 133,07 OhmX1m 46,9 Ohm X1a 71,7 OhmL1m 124,4 mH L1a 190,1 mHXMm 95,35 Ohm XMa 271,95 OhmLMm 252,9 mH LMa 721,3 mHXc 321,91Ohm a 1,23 V/VC 8,24uF Rc 5 Ohm
Embobinado Principal Embobinado Auxiliar
Tabla 2. Parámetros del motor
2.4. CONSUM O DE POTENCIA Y TORQUE Para dimensionar los dispositivos de potencia y tener una referencia del motor, se debe saber que potencia consume, que niveles de corriente maneja el motor y que nivel de carga es capaz de soportar. De acuerdo con los parámetros encontrados para el motor se 3 Procedimiento tomado de Leander W. Matsh, Máquinas Electromecánicas y Electromagnética, 1ª
edición, 1974.
IEL2-1-05-35 29
puede hallar unos valores de corrientes y potencias para un modo de operación a frecuencia nominal (60Hz), voltaje nominal (117V) y una carga considerablemente alta (deslizamiento de 0.07), se tiene, los voltajes en las fases y la impedancia del estator:
ambf IZbZfjaIZZZVm )()( 1 −−++=
[ ] abfabf IZZaZZcZZjaVa )()( 21 ++++−=
9.465.371 jz +=
Primero se halla la impedancia para el campo rotatorio hacia delante:
º22.8862.476.47474.1)35.959.46(
07.04.215
9.4607.0
4.215)35.95(5.0
)(
5.0
22
22
∠=+=++
⎟⎠⎞⎜
⎝⎛ +⋅
=++
⎟⎠⎞
⎜⎝⎛ +
= jj
jj
XXjsr
jXsrXj
ZM
M
f
Ahora la impedancia del campo rotatorio hacia atrás:
º91.6092.3189.2751.15)35.959.46(
07.024.215
9.4607.024.215)35.95(5.0
)(2
25.0
22
22
∠=+=++
−
⎟⎠⎞⎜
⎝⎛ +
−⋅
=++
−
⎟⎠⎞
⎜⎝⎛ +
−= j
j
jj
XXjs
r
jXs
rXjZ
M
M
b
Suma de impedancias:
º6698.1334.12249.541 ∠=+=++ jZZz bf
º54.14476.2926.1724.24)71.19036.14(23.1)( −∠=−−=+−=− jjjZZja bf
º25.566.16303.1369.90)(21 −∠=−=+++ jZZazZ bfac
Las corrientes principal y auxiliar en forma de determinantes:
IEL2-1-05-35 30
865.0198.0º24.78874.0º744.1122360º49.6619559
º25.5603.163º54.14476.29º46.3576.29º6698.133
º25.5603.163º0117º46.3576.29º0117
)()()()(
)(
21
1
21
jI
ZZazZZZjaZZjaZZzZZazZV
ZZjaV
I
m
bfaCbf
bfbf
bfaCa
bfm
m
−=−∠=∠
−∠=
=
−∠−∠∠∠
−∠∠∠∠
=
−++−−−++−++
−−
=
631.05521.0º84.48838.0º744.1122360º58.6018758
º25.5603.163º54.14476.29º46.3576.29º6698.133
º0117º54.14476.29º0117º6698.133
)()()(
)(
21
1
1
jI
ZZazZZZjaZZjaZZz
VZZjaVZZz
I
a
bfaCbf
bfbf
abf
mbf
a
−=∠=∠∠=
=
−∠−∠∠∠∠−∠∠∠
=
−++−−−++
−++
=
La corriente de línea, es decir, la que toma el motor es:
224.073.0º102.177641.0º84.48838.0º24.78874.0 jIII am −=−∠=∠+−∠=+=
El factor de potencia es:
955.0)1.17cos( =
La potencia transferida a través del entrehierro, usando la ecuación (17) es:
[ ]( )WPP
senPP
gbgf
gbgf
04.50)1.127()51.1547.1)(838.0)(874.0(23.1251.1547.1)838.023.1()874.0( 22
=−
+⋅+−⋅+=−
IEL2-1-05-35 31
El torque desarrollado, según ecuación (18) es4:
mNTem ⋅=×
= 132.0602
04.50π
Con base en este procedimiento se calculo las curvas de torque y potencia para varios valores de carga (deslizamiento), particularmente con muy poca carga (s=0.001), cuando se considera que el motor está con una carga mínima para el puente grúa simplemente la carga del propio puente y con una carga elevada (s=0.07), cuando el puente tiene una carga máxima. Curva de potencia:
Figura 9. Curva de potencia contra frecuencia.
4 Procediemiento tomado de Leander W. Matsh, Máquinas Electromecánicas y Electromagnética, 1ª
edición, 1974.
IEL2-1-05-35 32
Donde se puede apreciar que cuando aumenta la frecuencia el consumo de potencia también se ve incrementado, en una relación casi lineal, sin embargo al cambiar los niveles de carga sólo aumenta en un 3%, por lo tanto el valor de potencia máxima que puede consumir el motor es de 51W, para el nivel de carga estipulado. Curva de torque
Figura 10. Curva de torque contra frecuencia.
Se realizo el mismo procedimiento para el torque y se encontró una alta dependencia con la frecuencia, ya que presenta unos valores altos de torque en frecuencias bajas, entre 10 y 25 hz, al igual que en la frecuencia nominal, este comportamiento refleja la acción de las inductancias que son funciones de la frecuencia, también se puede inferir que el torque que entrega el motor depende de la carga que soporte.
IEL2-1-05-35 33
3. MODELO MATEMÁTICO DEL MOTOR Para poder plantear un modelo apropiado del motor con base en los parámetros anteriormente encontrados, es necesario encontrar unas relaciones físicas básicas que dominen el funcionamiento de este. Se puede definir el motor de inducción como dos circuitos eléctricos compuestos de resistencias e inductancias, que interactúan entre sí, por lo tanto se puede decir, que incluye un circuito magnético. Debido al circuito interno de un motor que es primordialmente inductivo y en una menor proporción resistiva, entonces para la parte inductiva, se tiene la siguiente relación:
LI=λ El flujo de acoplamiento es proporcional a la corriente y la constante de proporcionalidad es la inductancia, para el caso del motor existen dos inductancias la del estator y la del rotor, sin embargo se crea una tercera, la inductancia mutua, debido a que en el motor se presentan realmente dos circuitos interactuando por medio del campo magnético, la corriente de cada uno de estos genera un flujo de acoplamiento en el otro, creando una inductancia que actúa en los dos circuitos. Mediante el uso de vectores en el espacio como variables de estado se puede modelar eficientemente este tipo de motores, usando este tipo de aproximación, resulta que las distribuciones espaciales a través del entrehierro de la densidad de flujo magnético, el flujo de acoplamiento y las densidades de corriente (fuerzas magneto-motrices, fmm) son senosoidales, se asume linealidad magnética, mientras que las perdidas del hierro, efectos de ranuras, barra profunda y final de la barra son descartados. Para describir el concepto de vectores en el espacio se considera un embobinado de estator, con su representación simbólica en la Figura 11, el eje del embobinado principal
IEL2-1-05-35 34
es alineado con el eje x en un plano bidimensional. Para crear una distribución de densidad de flujo senosoidal, la fuente magneto-motriz debe ser una función senosoidal de coordenadas circulares. Por lo tanto, los embobinados del modelo de la maquina, se asumen que tengan densidades senosoidales. Cada corriente de fase (principal y auxiliar), crea una distribución específica senosoidal de fuerza electro-motriz, cuya magnitud es proporcional a la magnitud de su respectiva corriente, mientras que su orientación espacial es determinada por la dirección de su respectiva fase y la polaridad de la corriente (0º, 90º, 180º y 270º).
Figura 11. Embobinado de estator con la fase principal y densidad de corriente.
La fuerza electro-motriz total en el estator se obtiene mediante la superposición de las distribuciones de corriente de las dos fases, lo que resulta en una distribución senosoidal desplazada en fase por 90º, la cual es representada en la figura 9, por las dos medialunas de amplitud variante. La amplitud y orientación espacial de la fuerza electro-motriz total depende de las magnitudes de cada corriente de fase, Imain e Iaux. Como las corrientes de fase varían con el tiempo, la densidad de corriente generada se desplaza en esta proporción, formando una onda de densidad de corriente rotatoria.
Imain
q
d Densidad de corriente
IEL2-1-05-35 35
Figura 12. Densidad de corriente resultante de las corrientes de fase Imain Iaux.
La superposición de densidad de corrientes de cada una de las fases se puede representar como la adición espacial de las fases. Para esto, es necesario transformar las corrientes de fase en vectores en el espacio poniéndoles una orientación espacial de acuerdo con los ejes espaciales, la corriente resulta:
( )auxmain iMiIs .1 &&+= (23)
Donde esta ecuación define la corriente de estator como un vector, donde cada componente corresponde al valor instantáneo de cada una de las corrientes de fase (principal y auxiliar) y su orientación espacial está dada por la dirección del eje de cada embobinado siendo 0° y 90°, los factores de rotación de definen como:
⎥⎦
⎤⎢⎣
⎡=
1001
1 ⎥⎦
⎤⎢⎣
⎡ −=
0110
M&& (24)
Donde el factor M es un rotador de 90° en el espacio y para este caso, indican la dirección de las corrientes principal y auxiliar. Siendo vectores de corriente, la suma vectorial es la corriente total en el estator Is, en forma vectorial, la cual representa la distribución senosoidal en el espacio de la fuerza electro-motriz total creada dentro de la maquina por corrientes que fluyen por afuera.
Imai n q
d
Is
IEL2-1-05-35 36
Figura 13. Distribución de densidad de flujo resultando de las corrientes de estator.
La distribución de densidad de flujo en el entrehierro se obtiene por integración espacial de la onda de densidad de corriente, la cual es también de naturaleza senosoidal y adelanta a la onda de densidad de corriente por 90º. Es conveniente elegir como variable del sistema a la onda de flujo de acoplamiento en lugar de la onda de densidad de flujo, ya que contiene información de los embobinados.
La distribución de flujo de acoplamiento es representada por el vector espacial ψs. Una onda rotatoria de densidad de flujo induce voltajes en los embobinados individuales del estator, estas densidades que se generan en los embobinados son funciones espaciales senosoidales, los voltajes inducidos son distribuidos senosoidalmente en el espacio. Esto mismo es cierto para las perdidas resistivas en los embobinados. El total de los voltajes distribuidos en los embobinados es representado por el vector de voltaje en el espacio del estator. En contra de esto los voltajes de fase en los terminales de la máquina son cantidades escalares discretas. El vector de voltaje en el estator se define de manera similar que el vector de corriente:
( )sauxsmain vMvVs &&+= (25)
Se debe tener en cuenta que los vectores de corriente son definidos de manera diferente que los vectores de flujo; estos siempre están -90º fuera de fase con respecto al máximo
Re
jIm
Densidad de flujo de acoplamiento
ψs
IEL2-1-05-35 37
de la distribución de densidad de corriente, representada en la figura 9. Por el contrario los vectores de flujo de acoplamiento siempre están alineados con el máximo de su respectiva distribución de corriente de la figura 10. Está es una definición conveniente que
permite establecer una relación simple entre ambos vectores, ψs = ls is, donde ls es la inductancia bifásica del embobinado de estator.
3.1. ECUACIONES DE LA M ÁQUINA Si se elige un sistema de coordenadas rotatorio5 para establecer las ecuaciones de voltaje
en un motor de inducción, el sistema de coordenadas rota a una velocidad angular ωk, las cantidades de voltaje, corriente y flujo son vectores representados en el sistema de coordenadas bidimensional, la ecuación de voltaje para el estator es:
SKS
SS Mdt
dirsV ψωψ &&++= (26)
Donde el primer término es la caída de voltaje resistivo, rs es la resistencia del estator. La
suma de los otros dos términos representa el voltaje inducido, de la cual dψ/dt es el
término estacionario que cuenta las variaciones del flujo de acoplamiento en el tiempo vista desde un marco de referencia móvil. El último término es el voltaje inducido por movimiento que resulta de variar el desplazamiento de los embobinados con respecto al marco de referencia.
En el rotor, el desplazamiento es ωK - ω, donde ω es la velocidad angular mecánica del
rotor, por lo tanto su ecuación será:
rKr
rr Mdt
dir ψωωψ )(0 −++= && (27)
• 5 Modelo con base en Joachim Holtz. Sensorless control of induction motors drives.
IEEE, Electrical machines and drives group, University of Wuppertal, Vol 90, Nº 8, Aug. 200, pp 1359-1394.
IEL2-1-05-35 38
La ecuación igualada a cero indica, que es un motor de jaula de ardilla, por lo tanto el voltaje en el rotor es cero. Con estas ecuaciones se puede plantear un sistema tomando como variables de estado los flujos y las corrientes, los cuales se relacionan de la siguiente manera:
rrSmr
rmSSS
ilililil
+=+=
ψψ
(28)
Desarrollando para las corrientes en componentes queda en términos de inductancias:
rdmrsdmrd
rdmSdmSSd
iLLiLiLiLL
⋅++=+⋅+=
)()(
1
1
ψψ
(29a)
rqmrsqmrq
rqmSqmSSq
iLLiLiLiLL
⋅++=+⋅+=
)()(
1
1
ψψ
(29b)
Donde ls, lr y lm, son las inductancias del estator, rotor y mutua respectivamente. Para relacionar el sistema mecánico que se genera en el rotor, que relaciona la velocidad angular con que se mueve este y los torques del sistema, se plantea la siguiente ecuación para el sistema mecánico:
Lem TTdd
−=τω
τ (30)
Donde τm es el momento de inercia del motor (medido en kilogramo por metros al
cuadrado), ω la velocidad angular mecánica del rotor, TL es el torque de carga. Te es el torque electromagnético que se puede ver como:
Srm
e
srr
mSrmrre
dSqSqSdSSSSSe
LT
iLLiiLiT
iiiMiT
ψψ
ψψ
ψψψψ
⊗=
⊗=⊗=⊗=
−=•=⊗=
'1
.&&
(31)
IEL2-1-05-35 39
3.2. MODELO ESTATOR-ROTOR Para plantear el modelo del estator y del rotor, se usan las ecuaciones (26) y (27) para los voltajes en estator y rotor; la ecuación (28) para relacionar los flujos con las corrientes y las ecuaciones (28) y (29) para relacionar el sistema mecánico con los flujos y las corrientes, teniendo en cuenta que para modelar el modelo se escogió un marco de referencia estático, es decir wK = 0, por lo tanto los términos que relacionan la velocidad del marco se vuelven cero, el sistema de estator-rotor queda de la siguiente manera:
Figura 14. Modelo del motor en formulación de vectores del espacio.
El sistema tiene como entradas el voltaje en el estator y la velocidad mecánica del mismo motor, como salidas la corriente del estator y el torque electromagnético desarrollado por el motor. En la parte superior de la figura 11, se define la ecuación del estator, cuya
IEL2-1-05-35 40
entrada es el voltaje del estator, al cual se le resta la caída de voltaje por parte de la resistencia y corriente del estator, que al ser sumadas entrega la variación de flujo de estator con respecto al tiempo, finalmente se integra con respecto al tiempo y resulta el flujo de estator. En la parte inferior se toma la ecuación del rotor, cuya entrada es el voltaje de rotor, tomando un valor igual a cero, puesto que el rotor es de jaula de ardilla y tiene cortocircuitadas sus terminales, se suman los términos, la caída de voltaje por parte de la resistencia y corriente de rotor y el término que relaciona el flujo de rotor con la velocidad mecánica del rotor. En la parte derecha se computan las corrientes del motor para evaluar el torque electro-magnético, con base en la ecuación (31), que consiste en el producto de los vectores de corrientes de estator y de rotor, usando el rotador del espacio. El bloque de relaciones Flujo-Corriente se basa en las ecuaciones (29a) y (29b), el cual tiene como entradas, los vectores de flujos de estator y de rotor, y como salidas, los vectores de corrientes de estator y rotor, y simplemente calculan las corrientes con base a ganancias equivalentes a las inversas de las inductancias, se presenta a continuación:
Figura 15. Bloque Flujo-Corriente.
IEL2-1-05-35 41
3.3. MODELO SISTEM A COMPLETO El sistema completo del motor involucra el modelo mecánico, que depende de los torques, magnéticos y de carga, de la constante de inercia del motor y de su número de polos, que dará la relación de velocidad mecánica y frecuencia de alimentación, con base en estos se puede deducir la velocidad del motor, al igual que las otras variables, como corrientes y voltajes, además se integra la fuente de alimentación y el condensador, por el cual se logra el desfase de voltaje para el embobinado auxiliar, el sistema total queda:
Figura 16. Sistema total motor, condensador y fuente de alimentación.
En la Figura 16 se muestra el sistema total, que integra el modelo del motor anter iormente explicado con el modelo físico o el sistema mecánico especificado por las ecuaciones (30)
IEL2-1-05-35 42
y (31). Para el sistema total se integra las entradas de voltaje simulando una fuente de voltaje de 110AV, con el respectivo capacitor que desfasa la señal de voltaje, para alimentar el embobinado auxiliar constituyendo el voltaje en forma vectorial. Se incorpora una señal de torque de carga a manera de rampa para probar los niveles de torque que el motor puede manejar y finalmente se toma la señal de salida como la velocidad del motor en rpm (revoluciones por minuto). Se evalúa el sistema mecánico del motor derivado de la ecuación (30), cuya entrada es el torque electro-magnético, salida del bloque anterior, donde esta señal es de naturaleza pulsativa, por lo tanto, para poderla visualizarla se realiza un promedio de la misma, en el bloque “sig ave”, el cambio de velocidad angular con respecto al tiempo, es la resta de torques electro-magnético y de carga. Al multiplicase por una ganancia, la constante de inercia (1/J[Kg.m2]) e integrarla con respecto al tiempo, cuyo valor inicial de la frecuencia de alimentación (w o). Resulta la velocidad angular mecánica del sistema, que realimenta al sistema del motor PSC. Para poderla visualizar la velocidad en rpm (revoluciones por
minuto) se multiplica por un factor de conversión (30/π). El modelo permite visualizar las variables eléctricas que influyen en el comportamiento del motor, especialmente las corrientes de estator. También se puede verificar el comportamiento de los voltajes de entrada especialmente el desfase logrado por el capacitor. Primero se evalúan las señales eléctricas el voltaje y la corriente, se puede ver la simulación en los anexos 1, figura A1. Se integro el capacitor para lograr el efecto de desfase en los voltajes de entrada 90º, se puede verificar que el voltaje es perfectamente desfasado logrando los voltajes de entrada que se requieren para el funcionamiento óptimo del motor. Se evaluaron las corrientes del auxiliar y del principal. Al evaluar las corrientes, anexos 1 figura A2, se puede verificar que la corriente del principal es mayor que la del auxiliar en magnitud, con un valor pico de aproximadamente 365mA para el principal y 85mA para el auxiliar, cuando el torque de carga es cero, pero cuando se aumenta el torque (en t = 1) la corriente aumenta considerablemente conforme el torque de carga aumenta, cuando el motor se bloquea la corriente llega hasta 2 A, sin embargo no es posible manejar estos niveles de corriente, debido a que el motor en
IEL2-1-05-35 43
operación normal no debe tener niveles de carga tan altos (no se debe bloquear), su corriente nominal es de 1 A, cuando maneje corrientes superiores a esta es posible que el motor sufra daños, el torque máximo de carga se establece en 0.35 N.m que ocurre en t =1.4 y un torque electro-magnético de aproximadamente 0.2 N.m, cuando usa una corriente pico de 0.8 A aproximadamente, donde se mantiene un margen de 0.2 A para sobre corrientes.
Señales mecánicas: En los anexos 2 figura A3, se puede notar el torque desarrollado por el motor, cuando el torque de carga es cero el motor gira libremente y a velocidad constante, por lo tanto el torque que proporciona el motor es casi cero, puesto que la única carga que soporta es su propia inercia, pero cuando se alimenta con una entrada de escalón de torque, a modo de carga, se puede notar que el motor desarrolla un torque electro-magnético en respuesta, sin embargo, es siempre es inferior al de carga resultando en una disminución en la velocidad mecánica del motor (ver figura20), el torque máximo desarrollado por el motor es de 0.3 N.m aproximadamente, pero conforme la carga aumenta el motor no es capaz de generar el torque suficiente para “moverla”, teniendo como consecuencia una disminución de este y finalmente un torque igual a cero, lo que equivale a una velocidad angular de cero. En los anexos 2 figura A4, se puede ver la curva de velocidad mecánica del motor en rpm (revoluciones por minuto), se puede apreciar que al no tener carga, la velocidad es casi igual a la velocidad sincrónica, esto es, porque en un motor de inducción la fuerza magneto-motriz del rotor nunca alcanza a la del estator, por tanto la velocidad mecánica nunca será igual a la velocidad del campo, cuando se aplica la carga de torque, la velocidad desciende considerablemente hasta llegar a cero, cuando se bloquea el motor por exceso de carga. Por lo tanto el error de velocidad o deslizamiento, es decir la diferencia en la velocidad del campo (w 0) y la velocidad mecánica (wmec), estará dada por la carga, cuando se maneje cargas inferiores a 0.35 N.m el error máximo será del 11% (s = 0.11).
IEL2-1-05-35 44
4. DRIVERS ACTUALES En el problema de controlar motores AC eficientemente, esto es, sin pérdidas innecesarias de potencia, mejoramiento de factor de potencia, decremento en las pulsaciones de torque y por ende menores armónicos en la línea, se han creado los VDF (Variable-Frecuency-Drive). Básicamente constan de dispositivos de electrónica de potencia, una unidad de alta velocidad de control, generalmente un microcontrolador, y opcionalmente sensores de realimentación dependiendo de la aplicación. La función básica es actuar como un generador de frecuencia variable, con el propósito de variar la velocidad del motor según el usuario desee. La velocidad base de un motor es proporcional a la frecuencia de la fuente, por lo tanto, cambiando la frecuencia de la fuente, la velocidad del motor cambiará; sin embargo, cuando la frecuencia es reducida las impedancias equivalentes del circuito eléctrico también se reducen. Esto resulta en una mayor corriente consumida por el motor y por ende, un mayor flujo; si el voltaje no es reducido el campo magnético se saturará. Por lo tanto, para mantener el flujo magnético dentro de un margen de funcionamiento, la relación voltaje-frecuencia se debe cambiar a un radio constante.
4.1. CONTROL ESCALAR
En este tipo de control, el motor es alimentado con señales de frecuencia variable, generadas por un control PWM de un inversor usando un microcontrolador. El radio voltaje-frecuencia se mantiene constante para obtener un torque constante en todo el rango de operación. El torque desarrollado depende de la carga.
IEL2-1-05-35 45
4.2. CONTROL VECTORIAL Usando la or ientación del campo, los vectores de corriente son convertidos en un marco de referencia bidimensional rotatorio (usando transformación de Clarke-Park), una componente representa la componente de flujo producida por la corriente de estator, y la otra representa la componente de torque producida. Estas dos componentes pueden ser controladas independientemente pasando por controladores PI, y luego, convertidas otra vez a la forma tridimensional estacionaria. Este control simula el modelo de un motor DC. La transformación es realizada y controlada con respecto a un flujo especifico, de aquí se derivan tres tipos de control vectorial. Flujo de estator, flujo de rotor y flujo magnetizante. Este tipo de control exige la medida del ángulo de flujo, lo que implica mayor complejidad y una malla de realimentación por medio de sensores u otras técnicas.
4.3. CONTROL DIRECTO DE TORQUE (DTC) El aspecto fundamental en este tipo de control es el modelo adaptativo del motor, el cual se basa en expresiones matemáticas de teoría de motores. El algoritmo captura estos parámetros desde un comienzo sin arrancar el motor, pero se requiere una sintonización de estos para una respuesta más precisa. El sistema tiene como entradas el voltaje del bus DC, la corriente de línea y la posición de los interruptores, el modelo calcula el flujo actual y el torque, estos valores son comparados con niveles de requerimiento dados por el usuario, obteniendo como salida niveles de flujo y torque de referencia. Tiene mejor respuesta en tiempo, no usa dispositivos de retroalimentación pero se crean ondas de torque y flujo debido a la histéresis de los comparadores, como la conmutación no se realiza en alta frecuencia se incrementan los armónicos de baja frecuencia. Es complejo de implementar.
IEL2-1-05-35 46
5. MODELO A IMPLEMENTAR Debido al tipo de aplicación, el driver que se puede aplicar es un control escalar, puesto que es más simple, no necesita retroalimentación, la aplicación no cambia de carga mientras está en movimiento, por lo que no se requiere un control de torque, simplemente el torque será determinado por la carga, y el margen de precisión es aceptable. El motor PSC tiene dos embobinados, el principal y el auxiliar, está diseñado para que el auxiliar tome menos corriente, tiene mayor número de vueltas, mayor resistencia y una corriente reducida pasa a través de él, esto hace que el motor sea asimétrico. Mediante el uso de microcontroladores el voltaje a través del principal y el auxiliar, se puede mantener desfasado por 90º, además se puede remover el capacitor que cumple esta tarea. La idea básica de controlador es generar de un bus de voltaje DC, dos voltajes AC desfasados entre sí por 90º, variando la magnitud y la frecuencia de acuerdo a un radio V/f. Si el voltaje aplicado en el principal está atrasado con respecto al del auxiliar, el motor gira hacia delante, mientras que si el voltaje en el principal adelanta al del auxiliar el motor gira en la otra dirección.
5.1. APLICACIÓN MODELO CON DRIVER SELECCIONADO
El driver v/f opera como un sistema de lazo abierto, la velocidad mecánica ω difiere de la
velocidad de referencia ωS* cuando la máquina tiene carga. Esta diferencia esta dada por el deslizamiento de la máquina que para este tipo de motores llega a un 5% con una carga alta, por lo tanto el error de velocidad será de un 5% de su velocidad nominal. Este
IEL2-1-05-35 47
tipo de control asegura robustez a costa de un pequeño error en la velocidad y desempeño dinámico. Con el control seleccionado, control escalar, la idea principal es mantener el radio voltaje-frecuencia en un valor constante para que los flujos no se saturen y el motor opere correctamente, por lo tanto, al modelo anteriormente desarrollado se integro un bloque de control escalar, el cual alimenta al motor teniendo en cuenta que la velocidad del motor será controlada por una señal de entrada tipo rampa (radio V/f) para variar la velocidad. El sistema integrado se puede ver en la figura 17.
Figura 17. Modelo motor controlador.
Penetrando en el modelo del controlador, ver figura 18, establece como entradas del controlador, el voltaje y la frecuencia, valores variables dependiendo de la velocidad deseada, las cuales generan señales senosoidales con estos valores, y con las condiciones necesarias para el funcionamiento del motor, señales desfasadas 90°. Las señales son moduladas en ancho de pulso (PWM), teniendo en cuenta la magnitud y frecuencia que el motor necesita, valores nominales, y finalmente las señales son integradas al marco de referencia bidimensional definido en el modelo del motor.
IEL2-1-05-35 48
Figura 18. Controlador V/F, bloques internos.
El modulo de modulación en ancho de pulsos, ver Figura 19, toma la señal de voltaje de entrada es comparada con una señal triangular de mayor frecuencia (frecuencia de modulación), e integrada a un comparador que dará los ciclos útiles de la señal de salida, adicionalmente se agrega una ganancia como factor de corrección.
Figura 19. Generador de PWM.
Al simular el sistema, ver Anexo 3, figura A5, tomando como entrada una señal de rampa, se aumento la velocidad hasta llegar a la velocidad nominal (60Hz) y teniendo una carga baga se logró una respuesta buena del sistema el error en estado estable esta determinado por la carga y es del 4%, lo que representa una velocidad mecánica de 2680 rpm,
IEL2-1-05-35 49
En el caso de una entrada de cero el motor no produce ninguna respuesta, su funcionamiento comienza a partir de aproximadamente 150 rpm, lo que se traduce en una frecuencia de 5Hz. En frecuencias bajas de 5Hz – 33Hz (150rpm a 1000rpm) presenta oscilaciones en la velocidad, este fenómeno se presenta por las pulsaciones de torque a baja frecuencia. Para el otro rango de frecuencias se eliminan las oscilaciones debido a la normalización del torque. El driver tiene un buen desempeño dinámico, sin embargo el torque a bajas frecuencias es muy pulsante lo que se traduce en pequeñas aceleraciones, y por ende cambios de velocidad.
5.2. ARQUITECTURA GENERAL El sistema total, ver Figura 20, consta de un rectificador de onda completa para tomar la fuente AC de 60Hz, y crear un voltaje de línea, con el menor “ripple” posible, mediante el uso de un filtro, posteriormente el voltaje DC se convertirá de nuevo en voltaje AC, pero controlando su frecuencia y magnitud, por medio de algún controlador, un microcontrolador.
Figura 20. Arquitectura controlador
Fuente AC 60Hz
Rectificador Filtro Inversor trifásico
Motor PSC
Controlador PWM
AC AC DC DC
IEL2-1-05-35 50
5.2.1. RECTIFICADOR Y FILTRO La conversión de la entrada de voltaje AC a voltaje DC, es lograda por medio de diodos, se denomina una rectificación “no-controlada”, en este tipo de conversión la potencia solo puede fluir del lado AC al DC. La salida DC debe tener el menor “ripple” posible, por lo tanto, es colocado un capacitor de alto valor en la salida, funcionando como filtro, ver Figura 21.
Figura 21. Rectificador con filtro.
Rectificadores de fase sencilla
La fuente es modelada como una fuente senosoidal Vs en serie, con su impedancia interna, que en la práctica es principalmente inductiva, representada por la inductancia Ls, ver circuito Figura 22.
~Vs
is id +
Vd
-
IEL2-1-05-35 51
Figura 22. Circuito rectificador.
Como primera aproximación, se asume Ls = 0, el circuito consiste en dos parejas de diodos, las parejas superior D1 y D3; y la pareja inferior D2 y D4. Como se ve en la figura 22. En la operación básica para cada grupo de diodos, la corriente id fluye continuamente a través de un diodo superior y uno inferior. Se presentan dos situaciones: En la pareja superior los cátodos de los dos diodos están a igual potencial, por consiguiente, el diodo con el ánodo en mayor potencial va a conducir id. Cuando Vs es positiva, el diodo 1 conducirá id, y el diodo 3 estará polarizado inversamente por Vs. Cuando Vs es negativo, la corriente conmuta instantáneamente al diodo 3, aparece polarizado inversamente el diodo 1. En la pareja inferior los ánodos de los diodos están al mismo potencial, por lo tanto, el diodo con el cátodo en el menor potencial conducirá id. Cuando Vs es positivo el diodo 2 llevará id y el diodo 4 estará polarizado inversamente por Vs. Cuando Vs es negativo, la corriente id conmutará instantáneamente al diodo 4 y el diodo 2 aparecerá polarizado inversamente por Vs. En resumen:
Vs Diodo 1 Diodo 2 Diodo 3 Diodo 4 Vd Is
Positivo ON ON OFF OFF Vs Id
Negativo OFF OFF ON ON -Vs -Id
Tabla 3. Operación del rectificador.
Resultando que en cualquier tiempo la salida de voltaje en el lado DC se puede expresar como:
sd VtV =)(
Y la corriente en el lado AC puede ser expresada como:
⎭⎬⎫
⎩⎨⎧
<→−>→
=0
0
sd
sds vi
vii
IEL2-1-05-35 52
La transición entre los dos valores es instantánea debido a la asunción de Ls =0, cuando se toma en cuenta la inductancia el cambio en la corriente no es instantáneo y dependerá del valor de la inductancia.
5.2.2. BLOQUE RECTIFICADOR Y FILTRO (SIMULINK)
Figura 23. Modelo de rectificador de onda completo.
Este bloque consta de la fuente de entrada, de 110VAC a 60Hz la cual será tomada de la línea eléctrica, un puente rectificador universal, explicado anteriormente y un filtro capacitivo, además de una resistencia de 20 Ohms para simular la carga, resultado se puede apreciar en el anexo 4, figura A6. Se puede observar que la señal de entrada es de 110VAC, por lo tanto el voltaje pico será:
2110×=Vp (32)
IEL2-1-05-35 53
La salida del rectificador de onda completo es una señal casi DC con un valor de aproximadamente 150V, con un ripple pequeño, donde con una carga de 20 se comporta muy bien, ver anexo 4, figura A7. Se puede verificar que la señal de salida, tiene una rectificación completa, presenta un ripple bajo de 6V, lo que equivale al 4% de la señal. Donde la salida se puede tomar como una señal DC de 150V aproximadamente. La señal de corriente es DC con un ripple no muy marcado, se puede apreciar que en cada ciclo toda la corriente pasa por una pareja de diodos alternándose, ver anexo 4 figura A8. Debido a que los voltajes DC que se manejan son altos (150V), se debe tener en cuenta que los dispositivos de rectificación deben ser diodos de alta potencia, capacitores de mayores de 170VAC.
5.2.3. INVERSOR Los inversores DC a AC, son usados en controladores de motores, cuyo objetivo es producir una salida AC senosoidal cuya magnitud y frecuencia puedan ser controladas.
Figura 24. Esquema inversor.
~Vs
+
Vd -
AC motor
IEL2-1-05-35 54
Inversor PWM:
Figura 25. Circuito inversor sencillo.
En este tipo de inversores el voltaje de entrada DC se mantiene constante en magnitud, proveniente de un rectificador y un filtro capacitor, llamado voltaje de línea. El inversor debe controlar la magnitud y frecuencia de los voltajes de salida AC, y esto es logrado por los PWM de los inversores. Existe una señal de control Vcontrol que es comparada con una señal triangular de permutación en frecuencia, con la finalidad de generar señales de permutación, y de esta manera controlar los radios útiles de permutación, dejando que el voltaje promedio DC pueda ser controlado. Para producir una señal de salida senosoidal a una frecuencia deseada, se debe tener una señal de control de esas características, la cual es comparada con una señal triangular. La frecuencia de la señal triangular establece la frecuencia de permutación del inversor, que generalmente se mantiene constante al igual que su amplitud. La frecuencia de la señal triangular (fs), es denominada frecuencia de la portadora; la frecuencia de la señal de control (f1), es llamada frecuencia de modulación. El radio de modulación en amplitud (Ma), es definido como:
tri
control
VVMa ˆˆ
= (33)
+
Vd -
+ Vd/2
-
+ Vd/2
-
TA+
TA-
DA+
DA -
io VAN
A
N O
IEL2-1-05-35 55
Donde Ma debe ser menor que 1, para que se mantenga en un rango lineal, cuan es mayor que 1 se considera sobre-modulada. Vcontrol y Vtri son los picos de cada una de las señales. El radio de modulación en frecuencia (Mf) es definido como:
1ffsMf = (34)
Se debe mantener Mf >> que 1, para poder variar la frecuencia del controlador.
Figura 26. Formas de onda señal triangular y señal de control.
En el inversor los interruptores TA+ y TA-, figura 25, son controlados basándose en la comparación de Vcontrol y Vtri, resultan las siguientes salidas de voltaje: Vcontrol > Vtri TA+ es ON, Vao = 1/2Vd Vcontrol < Vtri TA - es ON, Vao = -1/2Vd Se establece que los dos interruptores nunca estarán apagados ni prendidos simultáneamente, la salida de voltaje Vao estará en dos valores (1/2Vd y –1/2Vd), como se puede ver en la figura 15.
PWM
(1/fs)
Vcontrol Vtri
IEL2-1-05-35 56
Figura 27. Forma de onda de salida después de realizada la comparación.
Puente inversor trifásico
Esta configuración funciona de la misma manera que el puente sencillo, pero agregando un inversor por cada fase, teniendo una señal de control para cada fase, y una única señal triangular para ser comparada y así generar tres señales senosoidales, separadas por 120°, si es el caso de una aplicación trifásica o separadas en fase, según las señales de control.
Figura 28. Circuito de puente inversor trifásico
Vd/2
- Vd/2
PWMVAo
+
Vd -
+ Vd/2
- +
Vd/2 -
TA+
TA-
DA+
DA -
A
N
oTB+
TB-
DB+
DB -
B
TC+
TC-
DC+
DC -
C
id
IEL2-1-05-35 57
5.2.4. BLOQUE INVERSOR (SIM ULINK)
Figura 29. Puente inversor sencillo.
Después de la etapa rectificadora la señal (150DC) alimenta al puente inversor, que consiste en una pareja de interruptores controlados por una señal de pulsos, con el fin de formar una señal equivalente senosoidal de 60 Hz con señal pico de 150V (señal inicial). Las señales de salida de corriente y voltaje, la señal de voltaje se puede comparar con la señal inicial (señal inferior), donde se aprecia que es una señal equivalente de 60Hz. La señal de corriente es senosoidal desfasada conforme la corriente adelanta al voltaje. Esta señal es óptima para alimentar un motor, ver anexos 5, figura A9.
IEL2-1-05-35 58
Puente inversor trifásico
Figura 30. Esquema puente inversor trifásico
Este bloque consta de tres bloques de inversores simples, pero uniéndolos para crear las tres fases, dependiendo de las tres señales de control. En este caso se tienen tres voltajes Va, Vb y Vc para cada fase, sin embargo para realizar el control del motor PSC se mantienen los desfases conforme la figura 18, donde las fases de los voltajes son: Va fase 0º, Vb fase de 180º y Vc fase entre 0º y 180º dependiendo de la relación de la ecuación (28), para el valor de α = 1,23 el valor de desfase es de 78º, manteniendo el funcionamiento del motor a 60Hz. Ver anexo 6, figura A10.
IEL2-1-05-35 59
Se puede apreciar los voltajes desfasados conforme con las señales de control. De acuerdo con el diagrama de fases los voltajes de salida para el motor Vmain y Vaux. Donde Vmain = Va – Vc y Vaux = Vb – Vc, para lograr el desfase de 90º entre estos voltajes los cuales serán aplicados a las bobinas del motor, se puede anotar que cambiando el símbolo del desfase de Vc, el motor rotará en dirección contraria, ver anexo 6, figura A11. Se puede ver como la corriente del auxiliar adelanta la del principal, haciendo que el motor gire para un lado, a realizar el cambio de fase se puede notar la situación contraria donde la corriente del principal adelanta la del auxiliar, haciendo que el motor gire en dirección opuesta, ver anexo 6, figuras A12 y A13.
5.2.5. CONTROLADOR DE PWM El controlador de PWM debe generar una onda de triangular y otra onda de control, de magnitud y fase que se desee, este procedimiento se puede realizar mediante software. En la aplicación especial se trabajará con un inversor trifásico, para generar tres señales Va, Vb y Vc, que tendrán la misma magnitud para optimizar la utilización del dispositivo, pero se manejara la fase teniendo en cuenta ciertos aspectos del motor. Los voltajes aplicados a cada embobinado del motor serán:
cba
cam
VVVVVV
−=−=
(35)
La idea principal es mantener el desfase de 90º entre las dos bobinas, manejando los voltajes como fasores, se puede alcanzar ese objetivo.
IEL2-1-05-35 60
Figura 31. Diagrama de favores de voltajes.
Donde: AUX
MAIN
VV
=α Es el radio de vueltas en los dos embobinados.
Aplicando relaciones trigonométricas se puede hallar:
)(tan2º180 1 αθ −⋅−=Angulo (36)
2
)1(12α+
×=VV (37)
Debido a que las características del motor no cambian estos valores se pueden obtener previamente, para evitar que el microcontrolador los tenga que calcular, los voltajes de cada fase del puente inversor quedan:
2)cos(1
2)cos(1
2)cos(1
VdctVV
VdctVV
VdctVV
c
b
a
+±×=
+×−=
+×=
θω
ω
ω
(38)
Donde Vdc es el voltaje de línea, w t es la velocidad angular del ciclo eléctrico, por tanto la velocidad será controlada variando este parámetro. La dirección del motor se puede
controlar cambiando el signo de θ en el valor de Vc.
IEL2-1-05-35 61
5.2.6. BLOQUE CONTROLADOR PWM (Simulink) En este bloque se debe generar la señal de control y la señal triangular de comparación, físicamente puede ser un microcontrolador de alta velocidad, porque dependerá de esta unidad la máxima velocidad de modulación para el caso simulado se utilizó una frecuencia de portadora de 1080 Hz y un índice de modulación de 0.8, mostrando resultados muy satisfactorios para la señal de salida de 60Hz se muestran las señales de control para un puente inversor sencillo, para cada interruptor dejando una banda muerta necesario para la aplicación para evitar cortos.
Figura 32. Señales de control PWM.
IEL2-1-05-35 62
6. HARDWARE Para el diseño del sistema completo se escogió, el hardware de acuerdo a las necesidades de potencia, economía y facilidad de implementación, los módulos consisten en, un puente rectificador común que cumpla las especificaciones de corriente, un capacitor a modo de filtro, que cumpla las especificaciones de ripple y voltaje, un punte inversor trifásico, que cumpla especificaciones de potencia y una unidad de control, que pueda generar los pulsos de PWM necesarios para activar el motor, invertir su dirección y funcionar como unidad de control.
6.1. DISEÑO RECTIFICADOR Y FILTRO CAPACITIVO Selección del capacitor Para la elección del capacitor, el cual es usado para suavizar el ripple de la señal rectificada AC, su valor es función inversa del ripple permitido en el voltaje DC, y se deriva de la siguiente ecuación:
rect
in
fVVPC
⋅−=
)(2
2min
2max
min (39)
Donde Pin es la potencia de carga en Watts, DV es Vmax - Vmin y frect es la frecuencia de la onda rectificada. Para el caso concreto de la aplicación esta frecuencia será el doble de la frecuencia de la señal AC, frect = 120hz. El ripple de voltaje no es un factor muy decisivo para la aplicación puesto que la unidad que alimenta (IRAMS) unidad que no requiere un voltaje DC libre de ripple, por lo tanto se estima para un ripple de 5%, por lo tanto Vmax =155V, Vmin = 147.25 V, DV = 7.75V. La potencia máxima que el motor consume anteriormente calculada es de Pin = 50.4w , entonces la capacitancia mínima con base en la ecuación 39, queda:
IEL2-1-05-35 63
FC µ6.358120)25.147155(
)4.50(222min =
−=
Los tiempos de carga y descarga dependerán directamente del ripple elegido. El tiempo de carga:
msfVV
tin
C 324.301.377
253.12
cosmax
min1
==⎟⎟⎠
⎞⎜⎜⎝
⎛
=
−
π
Donde fin es la frecuencia de la línea. El tiempo de descarga:
msmmtf
t Crect
DC 009.5324.333.81=−=−=
Las corrientes que soporta el capacitor y por las cuales se pueden dimensionar los diodos del puente rectificador son: Corriente pico:
mAmt
VVCtVCI
CCCp 08.836
324.375.76.358minmax ==
−=
∆= µ
Corriente RMS de carga:
mAmmftII cCpCrms 3.373)60)(324.3)(08.836( 22 ===
Corriente RMS de descarga:
mAmmftII rectDCCpDCrms 2.648)120)(009.5)(08.836( 22 ===
El ripple RMS de corriente en el capacitor esta dado por:
mAmmIII DCrmsCrmsRMS 748)2.648()3.373( 2222 =+=+=
IEL2-1-05-35 64
Para realizar la simulación se escoge un capacitor de 370µF y una resistencia que equivalga a una carga de 50.4W, la resistencia queda:
Ω=== .4764.50)155( 22
PVR
La simulación del circuito, señal de salida del circuito rectificador mediante Pspice se puede ver en el anexo 6, figura A13.
6.2. FILTRO Debido a la naturaleza de la salida de voltaje producida por el rectificador, la señal de salida no es adecuada como señal DC, en consecuencia, se hace necesario reducir la variación de la señal y esto se logra añadiendo un filtro capacitor en paralelo al circuito, considerando el voltaje V1 como la salida del circuito rectificador cuyo pico Vp. Entonces, cuando comienza un ciclo de la señal V1, el capacitor se carga hasta el valor Vp y mantiene el valor, resultando una señal DC de magnitud Vp. No obstante, en una aplicación real se tendría que conectar una resistencia de carga al circuito, haciendo que el condensador se descargue a través de la resistencia, esta descarga continua hasta que Vi exceda el valor de voltaje en el capacitor y lo vuelva a cargar. El ciclo se repite. Para evitar que la salida de voltaje sufra un alto decremento durante la descarga del capacitor, se debe seleccionar el valor de C para que la constante de tiempo CR sea mucho mayor que el intervalo de descarga. La señal de salida es casi una señal DC, con un valor de 110V, el ripple es bajo y este se puede controlar variando el condensador, que a su vez dependerá de la carga que se le aplique. La salida de voltaje se puede ver en el anexo 7, figura A14.
IEL2-1-05-35 65
6.3. MODULO INVERSOR TRIFÁSICO Para implementar el puente inversor trifásico se escogió una unidad que tiene integrado los tres inversores, IRAMS10UP60A, este módulo básicamente contiene seis IGBT con su propio resistor en el gate, seis diodos de conmutación, tres diodos bootstrap con un resistor limitador de corriente, un chip conversor de nivel, y un NTC termistor/resistor para sobre-temperatura. El esquemático se puede consultar en el anexo 8.
La parte fundamental de este driver es el circuito de “bootstrap” que tiene integrada para cada una de sus fases. Circuito Bootstrap6 El circuito integrado del driver en alto y bajo requiere una fuente de alimentación “flotante”, para cada uno de los circuitos de “high-side” que entregan pulsos al lado alto de los IGBT s. La forma más fácil de proveer este voltaje es usando circuitos “bootstrap”, como se muestra en la figura 31, el circuito está compuesto de la fuente de alimentación de 15V, elementos de “bootstrap”, una resistencia (Rbs), un diodo (Dbs) y un capacitor(Cbs). El driver IC y los dos sw itch IGBT con su respectivo diodo, uno del lado alto y otro de lado bajo (S1 y S2). Para cada fase se plantea un circuito similar.
Figura 33. Esquemático del circuito de bootstrap para una fase.
6 Circuito y especificaciones tomadas del “Datasheet” de IRAMS10UP60A en http://www.irf.com
IEL2-1-05-35 66
Operación El circuito inversor funciona tomando como entrada pulsos de 5V recibidos del microcontrolador (activo bajo), tres parejas, uno alto y otro bajo para cada una de las fases Hin1, Hin2, Hin3 y Lin1, Lin2, Lin3. Para cada fase se usa un circuito de “bootstrap” cuyo funcionamiento es como sigue: Cuando el IGBT bajo esta prendido, el capacitor Cbs se carga a través de diodo Dbs, la resistencia Rbs y el sw itch bajo S2, a casi 15V, como el pin VS en el circuito integrado está a casi potencial de tierra. El capacitor Cbs está diseñado de tal manera que retenga la mayoría de la carga cuando el lado bajo del dispositivo permuta a un estado de apagado, y el pin VS sube al potencial del bus DC. Entonces el voltaje Vbs siendo casi 15V, polariza el lado alto del circuito del driver IC. La selección del capacitor, diodo y resistor esta dado por factores importantes.
1. El voltaje Vbs de ser mantenido a un nivel mayor que el nivel de bloqueo de sub-voltaje de diver IC.
2. El capacitor Cbs no se carga a exactamente 15V cuando el sw icth bajo permuta,
depende de la caída a través del diodo (Vfbs) y del switch bajo (VceonS2).
3. Cuando el sw icth del lado alto está prendido (S1 = ON), el capacitor se descarga
principalmente por los siguientes mecanismos:
• Realizar la carga del gate Qg para permutar el sw icth alto S1 a estado de encendido.
• Corriente “quiescent” Iqbs hacia el lado alto del circuito en el IC.
• La carga de cambio de nivel, requerida por los “level-shifters” en el IC.
• Corriente de fuga Idl en el diodo Dbs. • Corriente de fuga en el capacitor Icbs.
• Carga de recubrimiento inversa en el diodo Qrrbs
IEL2-1-05-35 67
6.4. M ICROCONTROLADOR Para realizar la unidad de control se implemento usando un microcontrolador de “Microchip”, de la serie PIC16F874A, se seleccionó este dispositivo por su velocidad de operación, disponibilidad en el mercado y la integración de módulos A/D, características generales ver anexo 9. El programa general consiste en generar tres parejas de modulaciones en ancho de pulso, dos para cada fase del motor, principal y auxiliar y la última para el común de las dos fases, de esta manera trabajar los voltajes aplicados sobre cada uno de los embobinados, se trabajen de forma vectorial. Debe recibir la velocidad de referencia por medio de una entrada análoga. Las entradas de selección para activar o apagar el motor y el selector de dirección. Finalmente integra dos indicadores, de funcionamiento y de dirección. Para la configuración básica de pines se determina usando el microcontrolador de la siguiente manera:
FUNCION PIN Entrada análoga PA0
Selección ON/OFF PB2
Selección dirección PB1
Indicador ON/OFF PB4 Indicador dirección PB5
PWM0 PC0
PWM1 PC1
PWM2 PC2 PWM3 PC3
PWM4 PC4
PWM5 PC5
Tabla 4. Funciones de los pines microcontrolador PIC16F874A
IEL2-1-05-35 68
Pese a que el microcontrolador posee dos módulos PWM, se implemento el sistema utilizando los timers del procesador, puesto que al tener que elaborar uno de los módulos, se hace igual de complejo que realizar tres. Por lo tanto se utilizó un timer (prescala 1:4), el cual cuenta de 00 a 634. Al comienzo de cada ciclo, las PWMs que controlan los sw itches altos se prenden y basándose en cada ciclo individual, la salida correspondiente PWM es apagada. Después de cinco ciclos de instrucción, la PWM complementar ia es
puesta en ON, esto da un tiempo muerto de 1µs ya que el microcontrolador corre a 20MHz. Cuando el contador llega a 624, todas las salidas son apagadas. Un nuevo ciclo de PWM comienza después de 10 ciclos. Lo que equivale a una frecuencia de modulación
de 7.9KHz. Puesto que cada instrucción tarda 0.2µs, por lo tanto 634 ciclos tomará un
tiempo de 126.8µs, que sería el periodo, lo que equivale a una frecuencia de 7.8864 KHz. Programa7: Inicialización
− Inicializa puerto C para salida de PWMs, y bits en puerto B (selectores e indicadores).
− Timer1 se inicializa en operación de 8bit y prescala de 1:4 (634 ciclos), modulación.
− Inicializa ADC para el canal AN0 (lectura de potenciómetro) − Timer0 inicializado para cambiar la frecuencia basándose en el potenciómetro,
para cada overflow en el timer0, los ciclos útiles avanzan 10° eléctricos en la tabla del seno.
− La tabla del seno es copiada en la RAM, para fácil acceso.
− Habilitan interrupciones. Rutina principal:
− Se calcula el ciclo útil de los PWM, se crean tres apuntadores a diferentes valores en la tabla del seno, correspondiente a las tres fases (Va, Vb, Vc). El mayor ciclo útil se presenta cuando el valor de la tabla del seno alcanza los 90°.
7 Ver programa completo en Anexo 10
IEL2-1-05-35 69
− Se organizan los ciclos útiles, la fase que presenta el ciclo útil más corto se direcciona de primera y la de mayor ciclo útil de última, se activan banderas para indicar cual ciclo útil corresponde a cual PWM.
− ADC listo, toma el valor del potenciómetro para calcular nueva velocidad. Rutinas de interrupción
− Interrupción del timer1, En las primeras tres interrupciones la correspondiente salida de PWM es apagada, su salida complementaria es prende después de un
tiempo muerto de cinco ciclos (1µs). En la cuarta interrupción el ciclo de PWM vuelve a comenzar. Todas las PWM son apagadas y el timer es recargado con el valor más bajo correspondiente de ciclo útil. Se repite para cada ciclo de PWM.
− Interrupción timer0, se pone una bandera para indicar que la salida de seno debe avanzar 10° en la tabla. Los registros del timer son recargados con el valor correspondiente a la referencia de frecuencia del motor.
− Interrupción ADC se guarda el valor de referencia en un registro.
IEL2-1-05-35 70
Figura 34. Diagrama de flujo programa microcontrolador.
Start
Swicth ON/OFF
Inicialización de puertos, timers y ADC, copia tabla seno
SI
NO
Actualiza ciclos útiles de los PWM
Prioriza ciclos útiles de PWM
Calcula nueva velocidad
ADC Listo?
SI
Nueva frecuencia
SI
NO
Inicializa motor valores base
Arranca motor
Cambio defrecuencia
CambioBotón
Ejecutar acción
SI
NO
NO
IEL2-1-05-35 71
6.5. ESQUEM ÁTICO
Figura 35. Esquemático sistema total
Teniendo todo el hardware, incluyendo el microcontrolador programado se implementa el sistema total, que consiste en un puente rectificador en la entrada del circuito, pasando por el filtro o capacitor alimentando al puente inversor trifásico (IRAMS60UP60A), que maneja el motor, con sus respectivos condensadores de “Bootstrap”, teniendo como entrada las modulaciones en ancho de pulso (PWM), tres parejas, establecidas por el microcontrolador (PIC16F874A). Señales extras, la alimentación de los integrados, teniendo como entrada un adaptador de 18V DC y 1 A, Pasando por un regulador de voltaje 7815, para establecerlo en 15V DC, que alimenta la unidad IRAMS, y luego por otro regulador pero en este caso de 5V el 7805, para alimentar el microcontrolador. Los circuitos adicionales, son la referencia del velocidad que la aplicara un potenciómetro, dos LEDs de visualización de estado del motor y dos interruptores que manejaran el estado del motor, prendido/apagado y dirección del mismo8.
8 Diseño del PCB ver Anexo 11
IEL2-1-05-35 72
CONCLUSIONES Al investigar los tipos de motores se pudo seleccionar un motor apropiado para la planta general, generando un modelo a partir de sus parámetros. Al plantear el modelo del motor de la forma de vectores en el espacio, se facilito el modelaje, que incluso se podría aplicar a otras maquinas asincrónicas. Al implementar un control vectorial de velocidad se tiene una precisión mayor al 90%, dependiendo de la carga. Es un control robusto, puesto que las pulsaciones de torque no son tan notorias. La estrategia de control es simple puesto que es de lazo abierto, pero permite un control eficiente de velocidad en el motor usando el principio físico de los flujos inducidos. Para la aplicación específica el control es ideal, puesto que no se hace necesario un nivel alto de precisión, pero sí, un buen desempeño dinámico, en especial cuanto a torque. El control de velocidad tiene un error dependiendo de la carga aplicada al motor, tomando un valor menor al 10%. El margen de torque es bueno para velocidades menores a la nominal. La implementación del sistema, aunque es corta presenta gran dificultad debido al manejo de circuitos digitales y análogos, el trabajo con dispositivos de potencia compromete la implementación del sistema. El error en la implementación, se debe a una sobre-corriente por tierra, se cuya causa raíz es modulo de potencia ya que el bloque digital fue probado obteniendo resultados satisfactorios, logrando la modulación necesaria para la aplicación. Se estableció que el circuito debe tener una tierra común puesto que en el “driver”, todos los voltajes, de alta tensión y baja, están referenciados a una tierra común, la causa de sobre-corriente, puede estar ocasionada por la ausencia de una resistencia en la terminal negativa de cada inversor logrando bajar la corriente.
IEL2-1-05-35 73
BIBLIOGRAFIA
• E. Fitzgerald, Electric Machinery, first edition, 1952.
• E.R. Benedict, T.A. Lipo, Improved PWM Modulation for a Permanent-Split Capacitor Motor, University of Wisconsin-Madison, 2000.
• Joachim Holtz. Sensorless control of induction motors drives. IEEE, Electrical machines and drives group, University of Wuppertal, Vol 90, Nº 8, Aug. 200, pp 1359-1394.
• Leander W. Matsh, Máquinas Electromecánicas y Electromagnética, 1ª edición, 1974.
• LM Photonics Ltd, Induction Motor Control Theory, 2002.
• Microchip Technology Inc., AN887, AC Induction Motor Fundamentals, 2003, 24 páginas.
• Muhammand H. Rashid. Electrónica de Potencia. Pearson Educación. 2 edición, 1995.
• S.A. Nasar, L.E. Unnewehr, Electromecánica y máquinas eléctricas. Editorial Limusa, 1 Edición, 1982.
• Tw in City Fan Companies TCF, Single Phase AC induction motors Squirrel Cage motors, 1999, 10 páginas.
IEL2-1-05-35 74
ANEXOS
Anexo 1. Señales eléctricas comportamiento modelo motor.
Figura A1. Voltajes principal y auxiliar del motor.
Figura A2. Corrientes principal y auxiliar, con entrada de torque tipo rampa en t = 1.
IEL2-1-05-35 75
Anexo 2. Señales mecánicas comportamiento modelo motor
Figura A3. Torques de carga y electro-magnético.
Figura A4. Velocidad del motor en rpm.
Anexo 3. Simulación velocidad y torque, modelo de driver y motor unidos.
IEL2-1-05-35 77
Anexo 4. Simulación rectificador Se implementa este bloque con las siguientes características: Fuente de entrada 110VAC
Capacitor filtro 4000µF
Resistencia de carga 20Ω
Señales de entrada y salida
Figura A6. Señal de entrada bloque, señal rectificada.
IEL2-1-05-35 78
Señal rectificada de voltaje:
Figura A7. Ripple de la señal rectificada
Señal de corriente en el rectificador:
Figura A8. Señales de corriente a través de los diodos D2 y D4.
IEL2-1-05-35 79
Anexo 5. Inversor monofásico Salida de voltaje y corriente:
Figura A9. Señales de salida inversor y señal inicial de voltaje.
IEL2-1-05-35 80
Anexo 6. Puente inversor trifásico. Voltajes para cada fase
Figura A10. Voltajes Va, Vb y Vc a la salida del inversor trifásico.
IEL2-1-05-35 81
Voltajes para cada fase del motor Vmain = Va-Vc, Vaux = Vb -Vc
Figura A11. Voltajes aplicados a los embobinados del motor.
IEL2-1-05-35 82
Corrientes principal y auxiliar, funcionamiento dirección normal Iaux adelanta Imain.
Figura A12. Corrientes de los embobinados. Funcionamiento dirección normal
Corrientes principal y auxiliar, funcionamiento inverso, Imain adelanta Iaux.
Figura A13. Corrientes de los embobinados. Funcionamiento dirección inversa
IEL2-1-05-35 83
Anexo 7. Salida del circuito rectificador Se tomaron los siguientes valores:
Vs 110V 60Hz Rs 1mΩ Ls 1Mh Rdc 1µΩ Simulación:
Figura A14. Simulación Rectificador de onda completo.
Mediante Pspice se simuló el circuito agregando el filtro C y una resistencia de carga:
Rload 470Ω Cd 370µF
Figura A15. Simulación rectificador de onda completo con filtro y carga.
Time 0s 10ms 20ms 30ms 40ms 50ms 60ms 70ms 80ms 90ms 100ms
V(5)- V(6 ) V(1) -120V
-80V
-40V
-0V
40V
80V
120V
Time
0s 10m
s 20ms 30m
s 40ms 50m
s 60ms 70m
s 80ms 90m
s 100ms V(1
) V(5)- V(6)
-200V
0V
200V
I(RLOAD)
750mA
800mA
850mA
900mA
SEL>>
IEL2-1-05-35 84
Anexo 8. Esquemático unidad inversor trifásico IRAMS10UP60A
Figura A16. Esquemático IRAMS10UP60A,
tomado de www.irf.com
IEL2-1-05-35 85
Anexo 9. Especificaciones de microcontrolador familia PIC16F87XX
Tabla A1. Características de la familia de microprocesadores PIC16F87,
tomado de www.microchip.com.
IEL2-1-05-35 86
Anexo10. Programa del microcontrolador
;*************************************************************************************************** ;*************************************************************************************************** ;---------------------------------------------------------------- #INCLUDE <P16F874A.INC> ;---------------------------------------------------------------- ;Bits de configuración ;Oscilador : HS ;Watchdog timer : off ;Power up timer : on ;Brown out detect : on ;Code protect : off ;---------------------------------------------------------------- ;Registro STATUS 1C Bank 0 3C Bank 1 ;---------------------------------------------------------------- ; Puerto B: Bit1 Selección de dirección ; Bit2 Motor arranque/parada ; Bit5 Led indicación ON/OFF ; Bit4 Led indicador dirección ; Puerto C: Bit0 .. Bit5 Salidas De PWM ; Puerto A: Bit0 Entrada analoga para referencia de velocidad ;---------------------------------------------------------------- ;*************************************************************************************************** ;--------------------------------------------------------------------------------------- ;Frecuencia de oscilación #DEFINE OSCILLATOR D'20000000' ;--------------------------------------------------------------------------------------- #DEFINE TIMER0_PRESCALE D'128' #DEFINE TABLA_SENO_ENTRIES D'19' ;*************************************************************************************************** ;Puertos y bits ;*************************************************************************************************** #define PUERTO_PIN PORTB #define BIT_ON_OFF 2 #define BIT_DIR 1 #define LED_ON_OFF 5 #define LED_DIRECCION 4 ;Definición de bits en BANDERAS #DEFINE MOTOR_FREQ_COUNTER 0 #DEFINE OFFSET1_FLAG 1 #DEFINE OFFSET2_FLAG 2 #DEFINE OFFSET3_FLAG 3 ;Definición de bits en BAND_IND #define RUN_STOP 0 #define FWD_REV 1 #define DEBOUNCE 2 #define KEY_RS 4 #define KEY_FR 5 #define KEY_PRESSED 6 ;Definición de bits en BANDERA1 #define PWM_FIRST 0 #define PWM_SECOND 1 #define PWM_THIRD 3 #define PWM_NEW_CYCLE 4 #DEFINE DELAY_COUNT1 0XFF #DEFINE DELAY_COUNT2 0XFF #define PUERTO_PWM PORTC #define PWM0_PIN 0 #define PWM1_PIN 1 #define PWM2_PIN 2 #define PWM3_PIN 3 #define PWM4_PIN 4 #define PWM5_PIN 5 ;--------------------------------------------------------------------------------------- ; UDATA 20h W_TEMP equ 0x20 ;Registro para guardar W mientras interrupción STATUS_TEMP equ 0x21 ;Registro para guardar STATUS mientras interrupción BANDERAS equ 0x22 ;Banderas BAND_IND equ 0x23 BANDERA1 equ 0x24 TEMP_LOC equ 0x25 ;Registros temporales TEMP_LOC_1 equ 0x26 TEMP_LOC_2 equ 0x27 NO_1_LSB equ 0x28 ;NUMERATOR(LSB) AND QUOTIENT(LSB) OR MULTIPLIER(LSB) RESULT_LSB equ 0x29 ;RESULT OF MULTIPLICATION(LSB)/REMAINDER(LSB) RESULT_MSB equ 0x2A ;resULT OF MULTIPLICATION(MSB)/REMAINDER(MSB) NUEVA_FREQ equ 0x2C ;Nueva referencia de frecuencia FREQ_MOTOR equ 0x2D ;Guarda la frecuencia del motor TABLE_OFFSET1 equ 0x2E ;PHASE1 OFFSET TO THE SINE TABLE
IEL2-1-05-35 87
TABLE_OFFSET2 equ 0x2F ;PHASE2 OFFSET TO THE SINE TABLE TABLE_OFFSET3 equ 0x30 ;PHASE3 OFFSET TO THE SINE TABLE TABLA_SENO_RAM equ 0X31 ;SINE TABLE, 0x14 bytes PWM_PR_CH1_Buff equ 0x50 ;Priority definition on channels PWM_PR_CH2_Buff equ 0x51 PWM_PR_CH3_Buff equ 0x52 PWM1_DS_Buff equ 0x53 ;Duty cycle buffers PWM2_DS_Buff equ 0x54 PWM3_DS_Buff equ 0x55 PWM4_DS_Buff equ 0x56 ; Comienzo de programa ;*************************************************************************************************** org 0x000 goto START org 0X004 ;Localización del vector de interrupción goto ISR_INT ;ir a rutina de interrupción org 0x080 ;Localización programa principal START ;*************************************************************************************************** ;Inicialización de puertos y timers bsf STATUS,RP0 movlw 0X0E
movwf TRISB ;RB1-2 configurados como input de selecion y RB3 input de seleción referencia ;de velocidad
movlw 0X00 ;RB5-5 output salidas para leds de indicación movwf TRISC ;RC0-RC7 configuradas como output movlw 0xFF movwf TRISD ;Puerto D configurado como input entrada digital de selección de velocidad bcf TRISE,PSPMODE ;Configura puertoD como proposito general bcf STATUS,RP0 movlw b'00101010' ;Apaga PWM1,3,5 PWMs(activa bajas) al principio del ciclo movwf PUERTO_PWM ;y prende PWM0,2,4 Puerto C clrf PWM_PR_CH1_Buff ; clear registro 0x50 clrf PWM_PR_CH2_Buff ; clear registro 0x51 clrf PWM_PR_CH3_Buff ; clear registro 0x52 clrf PWM1_DS_Buff ; clear registro 0x53 clrf PWM2_DS_Buff ; clear registro 0x54 clrf PWM3_DS_Buff ; clear registro 0x55 clrf PWM4_DS_Buff ; clear registro 0x56 clrf BANDERAS ; Clear todas las banderas FLAGS 0x22 clrf BANDERA1 ; Clear todas banderas clrf BAND_IND ; Clear FLAGS 0x23 call PARAR_MOTOR ;Para el motor call COPIAR_TABLA_RAM ;Copia la tabla del seno de la memoria del programa a la RAM para
;acceso rápido ;****************************************************************** ;Inicialización de los registros del ADC ;****************************************************************** bcf STATUS,RP0 movlw 0X81 movwf ADCON0 ;Configura el ADC para FOSC/32prende el ADC, Seleciona canal 0 (AN0) bsf STATUS,RP0 movlw 0x02 ;Configura RA0-RA4 como entradas analogas, RA5-RA7 entradas digitales,
;justificado a izquierda movwf ADCON1 ;Referencia psitiva VDD referencia negativa VSS movlw 0X07 ;RA0-RA3 Input y RA4-RA7 Output movwf TRISA bcf STATUS,RP0 ;****************************************************************** ;TIMER1 Inicialización con preescalar - usado para establecer el tiempo de PWM ;****************************************************************** movlw b'00100001' ;Carga el T1CON con la palabra de control movwf T1CON ;Para TMR1 ON y el preescalar 1:4, reloj interno, PRENDE EL TIMER1 ;****************************************************************** ;TIMER0 Inicialización con preescalar - Usado para la aceleración y desaceleración ;****************************************************************** bsf STATUS,RP0 movlw b'10000110' ;prescala 1:128 movwf OPTION_REG ;PORTB Pull-ups desabilitadas, interrupción en flanco de bajada, ciclo
;de instrucción con el reloj interno ;la prescala es asignada al timer0 bcf STATUS,RP0 clrf INTCON ;Deshabilita todas las interrupciones y banderas asociadas clrf PIR1 ;Deshabilita todas las banderas bsf STATUS,RP0 clrf PIE1 ;Deshabilita interrupciones movlw 0X03 ;SET #POR AND #BOR FLAGS
IEL2-1-05-35 88
movwf PCON bcf STATUS,RP0 ;--------- ESPERAR btfss PUERTO_PIN,BIT_ON_OFF ;Espera que el motor se active PB2 goto ESPERAR ;*********************************************************************** call BIG_DELAY call BIG_DELAY ;*********************************************************************** call PRENDER_MOTOR_OTRA movlw 0x30 movwf NUEVA_FREQ ; pone frecuencia inicial de 0x30 call ACTUALIZAR_CICLOS_PWM ; Actualiza el ciclo de PWM con un nuevo valor call ORDENAR_PWMS call ACTUALIZA_TABLA_OFFSET ; Actualiza 3 OFFSETS call CALCULAR_NUEVA_VELOCIDAD bcf STATUS,RP0 bsf INTCON,PEIE ;PERIPHERAL INTERRUPTS ENABLE bsf INTCON,GIE ;GLOBAL INTERRUPT ENABLE ;****************************************************************** ;MAIN, Donde le programa realizara el ciclo principal ;****************************************************************** MAIN btfss BANDERAS,MOTOR_FREQ_COUNTER ;Existió un cambio de algún PWM? goto NO_ACTUALIZAR bcf BANDERAS,MOTOR_FREQ_COUNTER ;Limpia bandera call ACTUALIZAR_CICLOS_PWM ;Si, Actualizar los ciclos útiles con el nuevo valor call ORDENAR_PWMS call ACTUALIZA_TABLA_OFFSET ;Actualiza los 3 Offsets call CALCULAR_NUEVA_VELOCIDAD btfss ADCON0, GO ;Si la conversión esta completa bsf ADCON0, GO ;Comenzar una nueva conversión NO_ACTUALIZAR btfsc PIR1,ADIF ;Existió una interrupción del ADC? call ADC_LISTO ;Si - Llama conversión call VERIFICACION_PINES ;Chequea cambio de interruptores call ACCION_PIN ;Toma acción sobre interruptores goto MAIN ;GO BACK TO MAIN LOOP ;****************************************************************** ;Rutina de Interrupción ;****************************************************************** ISR_INT movwf W_TEMP ;Copia W a un registro temporal swapf STATUS,W movwf STATUS_TEMP ;Salva STATUS en un registro temporal bcf STATUS,RP0 btfsc PIR1,TMR1IF ;Interrupción de OverFlow del timer1? goto TIMER1_OVERFLOW ;Si - Interrupción para la actualización TMR1 con base en los bits de selección de velocidad btfsc INTCON,T0IF ;Interrupción de OverFlow del timer0? goto TIMER0_OVERFLOW ;Si - Interrupción para actualización de PWM SACAR_W ;Regresa los valores W y STATUS salvados previamente swapf STATUS_TEMP,W ; movwf STATUS ;Restaura el registro de STATUS de W swapf W_TEMP,F ; swapf W_TEMP,W ;Restaura el W original afectando STATUS RETFIE ;Regresa de la interrupción ;****************************************************************** TIMER1_OVERFLOW ;Rutina de interrupción para el Timer1 bcf PIR1,TMR1IF ;Limpia TMR1IF para siguiente interrupción ;--- btfss BANDERA1,PWM_FIRST goto ENCARGARSE_SEGUNDA_PWM btfsc PWM_PR_CH1_Buff,0 bsf PUERTO_PWM,PWM1_PIN ;PWM1 es activo bajo btfsc PWM_PR_CH1_Buff,1 bsf PUERTO_PWM,PWM3_PIN ;PWM3 es activo bajo btfsc PWM_PR_CH1_Buff,2 bsf PUERTO_PWM,PWM5_PIN ;PWM5 es activo bajo btfsc PWM_PR_CH1_Buff,0 bcf PUERTO_PWM,PWM0_PIN ;PWM0 es activo bajo btfsc PWM_PR_CH1_Buff,1 bcf PUERTO_PWM,PWM2_PIN ;PWM2 es activo bajo btfsc PWM_PR_CH1_Buff,2 bcf PUERTO_PWM,PWM4_PIN ;PWM4 es activo bajo bcf BANDERA1,PWM_FIRST movlw 0xFF movwf TMR1H bsf BANDERA1,PWM_SECOND
IEL2-1-05-35 89
comf PWM2_DS_Buff,W movwf TMR1L btfss STATUS,Z goto SACAR_W ;--- ENCARGARSE_SEGUNDA_PWM btfss BANDERA1,PWM_SECOND goto ENCARGARSE_TERCERA_PWM btfsc PWM_PR_CH2_Buff,0 bsf PUERTO_PWM,PWM1_PIN ;PWM1 es activo bajo btfsc PWM_PR_CH2_Buff,1 bsf PUERTO_PWM,PWM3_PIN ;PWM3 es activo bajo btfsc PWM_PR_CH2_Buff,2 bsf PUERTO_PWM,PWM5_PIN ;PWM5 es activo bajo btfsc PWM_PR_CH2_Buff,0 bcf PUERTO_PWM,PWM0_PIN ;PWM0 es activo bajo btfsc PWM_PR_CH2_Buff,1 bcf PUERTO_PWM,PWM2_PIN ;PWM2 es activo bajo btfsc PWM_PR_CH2_Buff,2 bcf PUERTO_PWM,PWM4_PIN ;PWM4 es activo bajo bcf BANDERA1,PWM_SECOND movlw 0xFF movwf TMR1H bsf BANDERA1,PWM_THIRD comf PWM3_DS_Buff,W movwf TMR1L btfss STATUS,Z goto SACAR_W ;--- ENCARGARSE_TERCERA_PWM btfss BANDERA1,PWM_THIRD goto ENCARGARSE_PROXIMO_CICLO btfsc PWM_PR_CH3_Buff,0 bsf PUERTO_PWM,PWM1_PIN ;PWM1 es activo bajo btfsc PWM_PR_CH3_Buff,1 bsf PUERTO_PWM,PWM3_PIN ;PWM3 es activo bajo btfsc PWM_PR_CH3_Buff,2 bsf PUERTO_PWM,PWM5_PIN ;PWM5 es activo bajo btfsc PWM_PR_CH3_Buff,0 bcf PUERTO_PWM,PWM0_PIN ;PWM0 es activo bajo btfsc PWM_PR_CH3_Buff,1 bcf PUERTO_PWM,PWM2_PIN ;PWM2 es activo bajo btfsc PWM_PR_CH3_Buff,2 bcf PUERTO_PWM,PWM4_PIN ;PWM4 es activo bajo bcf BANDERA1,PWM_THIRD movlw 0xFF movwf TMR1H bsf BANDERA1,PWM_NEW_CYCLE comf PWM4_DS_Buff,W movwf TMR1L btfss STATUS,Z goto SACAR_W ;--- ENCARGARSE_PROXIMO_CICLO movlw b'00111111' ;Apaga todas las PWMs(activo bajo) movwf PUERTO_PWM comf PWM1_DS_Buff,W movwf TMR1L movlw 0xFF movwf TMR1H bcf BANDERA1,PWM_NEW_CYCLE bsf BANDERA1,PWM_FIRST movlw b'00010101' ;Prende PWM1,3,5 PWMs(activo bajo) al principio del ciclo movwf PUERTO_PWM goto SACAR_W ;****************************************************************** TIMER0_OVERFLOW ; Rutina de interrupcióndel timer0 movf FREQ_MOTOR,W ; Carga el byte bajo del comando de velocidad a TMR0L movwf TMR0 bsf BANDERAS,MOTOR_FREQ_COUNTER bcf INTCON,T0IF ;Limpia T0IF goto SACAR_W ;***************************************************************** ADC_LISTO ;Interrupción ADC bcf PIR1,ADIF ;Bandera ADIF se limpia para la siguiente interrupción movf ADRESH,W ;Fuente análoga, Lee resultado de conversión ADC movwf NUEVA_FREQ ;CHECK FOR LOWER AND UPPER ALLOWED LIMIT OF FREQ. LIMITES sublw 0X30 ;Frecuencia mínima 5Hz (x4) btfss STATUS,C ;Es la entrada mayor que el limite inferior goto CK_LIMITE_SUPERIOR ;Si - Chequeo limite superior movlw 0X30 ;No - Poner frecuencia en limite inferior - 5HZ (X4) movwf NUEVA_FREQ return CK_LIMITE_SUPERIOR
IEL2-1-05-35 90
movlw 0XD0 subwf NEW_FREQ,W btfss STATUS,C ;Es la entrada mayor que el limite superior? return ;No - Regrese de la interrupción movlw 0XD0 ;Si - Poner la frecuencia al limite superior - 60HZ (X4) movwf NUEVA_FREQ return ;************************************************************************* ;Rutina de actualización de los ciclos de PWM de acuerdo con las tablas de OFFSET ;Escala el valor de PWM de la tabla con base en la frecuencia para mantener V/F ;Constante y cargarlas en el registro apropiado dependiendo de los parámetros ;************************************************************************* ACTUALIZAR_CICLOS_PWM movlw LOW TABLA_SENO_RAM movwf FSR ;Dirección base de la tabla del seno en la RAM es cargada a FSR movf TABLE_OFFSET1,W ;TABLE_OFFSET1 es copiada a W addwf FSR,F ;Dirección a ser leída es igual a la dirección base de la tabla +
;TABLE_OFFSET1 BANKISEL TABLA_SENO_RAM movf INDF,W ;Copia el valor de la tabla del seno, apuntada por FSR, a W btfsc STATUS,Z ;Chequea el valor es cero? goto PWM1_ES_0 ;Si, goto PWM1_ES_0 movwf NO_1_LSB ;No, Valor de la tabla del seno X SET_FREQ para escalar el valor de la
;tabla basandose en el parametro de frecuencia call MUL_8X8 ;LLama la rutina de multiplicación de 8x8 bit movf RESULT_MSB,W ;8 MSB del resultado de 16 BIT es guardado movwf TEMP_LOC ;En TEMP_LOC - Que representa el ciclo util de PWM para la fase 1 goto ACTUALIZAR_PWM2 ;Va a actualizar el cilco util para la fase 2 PWM1_ES_0 clrf TEMP_LOC ;Si es cero, limpia el valor del ciclo util para la fase 1 ACTUALIZAR_PWM2 movlw LOW (TABLA_SENO_RAM) movwf FSR ;Dirección base de la tabla del seno en la RAM es cargada a FSR movf TABLE_OFFSET2,W ;TABLE_OFFSET2 es copiada a W addwf FSR,F ;Direccion a ser leida=Direccion base de la tabla
;TABLE_OFFSET2 BANKISEL TABLA_SENO_RAM movf INDF,W ;Copia el valor de la tabla del seno, apuntada por FSR, a W btfsc STATUS,Z ;Chequea el valor es cero? goto PWM2_ES_0 ;Si, goto PWM2_ES_0 movwf NO_1_LSB ;No, Valor de la tabla del seno X SET_FREQ para escalar el
;valor de la tabla basandose en el parametro de frecuencia call MUL_8X8 ;LLama la rutina de multiplicación de 8x8 bit movf RESULT_MSB,W ;8 MSB del resultado de 16 BIT es guardado movwf TEMP_LOC_1 ;En TEMP_LOC_1 - Que representa el ciclo util de PWM para la
;fase 2 goto ACTUALIZAR_PWM3 ;Va a actualizar el ciclo util de la fase 3 PWM2_ES_0 clrf TEMP_LOC_1 ;Si es cero, limpia el valor del ciclo util para la fase 2 ACTUALIZAR_PWM3 movlw LOW TABLA_SENO_RAM movwf FSR ;Dirección base de la tabla del seno en la RAM es cargada a FSR BANKSEL TABLE_OFFSET3 movf TABLE_OFFSET3,W ;TABLE_OFFSET3 es copiada a W addwf FSR,F ;Direccion a ser leida=Direccion base de la tabla +
;TABLE_OFFSET3 BANKISEL TABLA_SENO_RAM movf INDF,W ;Copia el valor de la tabla del seno, apuntada por FSR, a W btfsc STATUS,Z ;Chequea el valor es cero? goto PWM3_ES_0 ;Si, goto PWM3_ES_0 movwf NO_1_LSB ;No, Valor de la tabla del seno X SET_FREQ para escalar el
;valor de la tabla basandose en el parametro de frecuencia call MUL_8X8 ;LLama la rutina de multiplicación de 8x8 bit movf RESULT_MSB,W ;8 MSB del resultado de 16 BIT es guardado movwf TEMP_LOC_2 ;En TEMP_LOC_2 - Que representa el ciclo util de PWM para la fase 3 goto SET_PWM12 ;Va para chequear la dirección de rotación requerida PWM3_ES_0 clrf TEMP_LOC_2 ;Si es cero, limpia el valor del ciclo util para la fase 3 SET_PWM12 movf TEMP_LOC,W movwf PWM1_DS_Buff movf TEMP_LOC_1,W ;CCPR1L AND CCPR2L RESPECTIVELY FOR movwf PWM2_DS_Buff movf TEMP_LOC_2,W movwf PWM3_DS_Buff RETURN ;******************************************************************************* ;Esta rutina actualiza los apuntadores de OFFSET de la tabla despues de cada acceso ;******************************************************************************* ACTUALIZA_TABLA_OFFSET bcf STATUS,RP0 btfss BANDERAS,OFFSET1_FLAG ;Si esta activo incrementa en la tabla
IEL2-1-05-35 91
goto DECREMENTAR_OFFSET1 movlw (TABLE_SENO__ENTRIES-1) ;Chequea por el ultimo valor en la tabla SUBWF TABLE_OFFSET1,W btfsc STATUS,C goto BORRAR_BANDERA_OFFSET1 INCF TABLE_OFFSET1,F ;Incrementa OFFSET1 goto UPDATE_OFFSET2 BORRAR_BANDERA_OFFSET1 bcf BANDERAS,OFFSET1_FLAG DECREMENTAR_OFFSET1 DECFSZ TABLE_OFFSET1,F ;Decrementa OFFSET1 goto ACTUALIZA_OFFSET2 bsf BANDERAS,OFFSET1_FLAG ACTUALIZA_OFFSET2 btfss BANDERAS,OFFSET2_FLAG ;Si esta activo incrementa en la tabla goto DECREMENTAR_OFFSET2 movlw (TABLA_SENO_ENTRIES-1) ;Chequea por el ultimo valor en la tabla SUBWF TABLE_OFFSET2,W btfsc STATUS,C goto BORRAR_BANDERA_OFFSET2 INCF TABLE_OFFSET2,F ;Incrementa OFFSET2 goto UPDATE_OFFSET3 BORRAR_BANDERA_OFFSET2 bcf BANDERAS,OFFSET2_FLAG DECREMENTAR_OFFSET2 DECFSZ TABLE_OFFSET2,F ;Decrementa OFFSET2 goto ACTUALIZA_OFFSET3 bsf BANDERAS,OFFSET2_FLAG ACTUALIZA_OFFSET3 btfss BANDERAS,OFFSET3_FLAG ;Si esta activo incrementa en la tabla goto DECREMENTAR_OFFSET3 movlw (TABLA_SENO_ENTRIES-1) ;CHECK FOR THE LAST VALUE ON THE TABLE SUBWF TABLE_OFFSET3,W btfsc STATUS,C goto BORRAR_BANDERA_OFFSET3 INCF TABLE_OFFSET3,F ;Incrementa OFFSET3 RETURN BORRAR_BANDERA_OFFSET3 bcf BANDERAS,OFFSET3_FLAG DECREMENTAR_OFFSET3 DECFSZ TABLE_OFFSET3,F ;Decrementa OFFSET3 RETURN bsf BANDERAS,OFFSET3_FLAG RETURN ;******************************************************************************* CALCULAR_NUEVA_VELOCIDAD movf NUEVA_FREQ,W movwf FREQ_MOTOR movlw 0x22 addwf FREQ_MOTOR ,F bcf STATUS,C rrf FREQ_MOTOR ,F bcf STATUS,C rrf FREQ_MOTOR ,F movlw 0xB5 addwf FREQ_MOTOR ,F return ;************************************************************************* ;Las PWM son ordenadas de menor a mayor ciclo util ORDENAR_PWMS movlw 0x1 movwf PWM_PR_CH1_Buff movlw 0x2 movwf PWM_PR_CH2_Buff movlw 0x4 movwf PWM_PR_CH3_Buff movf PWM1_DS_Buff,W subwf PWM2_DS_Buff,W btfss STATUS,C goto INTER_1_2 goto VERIFICA_2_3 INTER_1_2 ;Intercambia ciclos útiles en 1 y 2 movf PWM1_DS_Buff,W movwf TEMP_LOC movf PWM2_DS_Buff,W movwf PWM1_DS_Buff movf TEMP_LOC,W movwf PWM2_DS_Buff ;Intercambia salidas PWM movf PWM_PR_CH1_Buff,W movwf TEMP_LOC movf PWM_PR_CH2_Buff,W
IEL2-1-05-35 92
movwf PWM_PR_CH1_Buff movf TEMP_LOC,W movwf PWM_PR_CH2_Buff VERIFICA_2_3 ;Intercambia ciclos útiles en 2 Y 3 movf PWM2_DS_Buff,W subwf PWM3_DS_Buff,W btfss STATUS,C goto INTER_2_3 goto VERIFICA_1_2_OTRA INTER_2_3 movf PWM2_DS_Buff,W movwf TEMP_LOC movf PWM3_DS_Buff,W movwf PWM2_DS_Buff movf TEMP_LOC,W movwf PWM3_DS_Buff ;Intercambia ciclos útiles en 1 y 2 movf PWM_PR_CH2_Buff,W movwf TEMP_LOC movf PWM_PR_CH3_Buff,W movwf PWM_PR_CH2_Buff movf TEMP_LOC,W movwf PWM_PR_CH3_Buff VERIFICA_1_2_OTRA ;Intercambia ciclos útiles en 1 y 2 movf PWM1_DS_Buff,W subwf PWM2_DS_Buff,W btfss STATUS,C goto INTER_1_2_OTRA goto CAL_RECARGA_TIMER INTER_1_2_OTRA movf PWM1_DS_Buff,W movwf TEMP_LOC movf PWM2_DS_Buff,W movwf PWM1_DS_Buff movf TEMP_LOC,W movwf PWM2_DS_Buff ;Intercambia salidas de PWM movf PWM_PR_CH1_Buff,W movwf TEMP_LOC movf PWM_PR_CH2_Buff,W movwf PWM_PR_CH1_Buff movf TEMP_LOC,W movwf PWM_PR_CH2_Buff CAL_RECARGA_TIMER movlw 0x9C ;Corresponde a 8KHz con el Timer1 en prescala 1:4 movwf PWM4_DS_Buff movf PWM3_DS_Buff,W subwf PWM4_DS_Buff,F movf PWM2_DS_Buff,W subwf PWM3_DS_Buff,F movf PWM1_DS_Buff,W subwf PWM2_DS_Buff,F RETURN ;******************************************************************************* ;Chequea el estado de los pines de ON/OFF y de dirección ;******************************************************************************* VERIFICACION_PINES btfss PUERTO_PIN,BIT_ON_OFF ;Revisa la posición del RB2 '1' prendido '0' apagado goto VERIF_OFF ;Revisa si esta apagado btfsc BAND_IND,KEY_RS ;Revisa condición anterior del motor, estaba predndido? goto VERIFICA_PIN_DIRECCION ;si,Va a revisar la otra KEY bsf BAND_IND,KEY_PRESSED ;no, Ocurrio una acción bsf BAND_IND,RUN_STOP ;Acción ON/OFF return VERIF_OFF btfss BAND_IND,KEY_RS ;Apagado, Revisa el estado anterior del motor, estaba
;prendido? return ;no, se sale bsf BAND_IND,KEY_PRESSED ;si, Ocurrio una acción bsf BAND_IND,RUN_STOP ;Accion en ON/OFF return VERIFICA_PIN_DIRECCION btfss PUERTO_PIN,BIT_DIR ;Se ha cambiado la dirección goto VERIF_DIR ;Chequear dirección (0) btfsc BAND_IND,KEY_FR ;Chequea posición actual return ;Se mantiene en la misma dirección bsf BAND_IND,KEY_PRESSED ;Ocurrio una acción bsf BAND_IND,FWD_REV ;Accion cambio de dirección return
IEL2-1-05-35 93
VERIF_DIR btfss BAND_IND,KEY_FR ;Chequea dirección actual return bsf BAND_IND,KEY_PRESSED ;Ocurrio una acción bsf BAND_IND,FWD_REV ;Acción de cambio de dirección return ;******************************************************************************* ;La rutina toma una acción dependiendo de las entradas de selección que hallan ;cambiado. RB2 Encendido / apagado motor. RB1 Dirección del motor ;******************************************************************************* ACCION_PIN btfss BAND_IND,KEY_PRESSED ;Ocurrio una acción? return ;no btfss BAND_IND,RUN_STOP ;Si, fue RUN/STOP? goto VERIF_FWD_REV btfsc BAND_IND,KEY_RS ;Si, Cual era el estado anterior? goto PARAR_MOTOR_TOTAL ;Prendido, entonces apagar call RUN_MOTOR_AGAIN ;Apagado, entonces prender bcf BAND_IND,KEY_PRESSED ;Limpia banderas the Flag bcf BAND_IND,RUN_STOP return PARAR_MOTOR_TOTAL call PARAR_MOTOR ;Was the previous state a RUN?, Then stop the motor bcf BAND_IND,KEY_PRESSED bcf BAND_IND,KEY_RS ;Limpia banderas bcf PUERTO_PIN,LED_ON_OFF ;Apaga led indicando motor detenido return VERIF_FWD_REV btfss BAND_IND,FWD_REV ;Ocurrio acción en FWD/REV? return call PARAR_MOTOR ;Para antes de invertir call BIG_DELAY ;Retardo para inversion de dirección call BIG_DELAY call PRENDER_MOTOR_OTRA ;Arranca motor en dirección inversa bcf BAND_IND,KEY_PRESSED ;Clear Flags bcf BAND_IND,FWD_REV return ;******************************************************************************* ;La rutina para el motor poniendo el ciclo util de las PWM en 0%. También deshabilita ;la interrupción para que el motor se mantenga en ese estado ;******************************************************************************* PARAR_MOTOR movlw b'00111111' ;Apaga PWM 1, 3, 5 al comienzo del ciclo movwf PUERTO_PWM bsf STATUS,RP0 ;Bank 1 bcf PIE1,TMR1IE ;Deshabilita interrupcion de overflow timer1 bcf STATUS,RP0 ;Bank 0 bcf INTCON,T0IE ;Deshabilita nterrupción de overflow timer0 bcf BANDERAS,MOTOR_FREQ_COUNTER ;clear bit 0 del registro FLAGS 0x22 clrf TABLE_OFFSET1 ;Clear registro 0x2E clrf TABLE_OFFSET2 ;Clear registro 0x2F clrf TABLE_OFFSET3 ;Clear registro 0x30 bcf BAND_IND,KEY_RS ;Limpia flag KEY_RS para mostrar que el motor esta apgado bcf PUERTO_PIN,LED_ON_OFF ;Apaga el led para indicar que el motor esta apagado RETURN ;******************************************************************************* ;Esta rutina prende el motor de una parada previa con los parámetros del motor inicializados ;******************************************************************************* PRENDER_MOTOR_OTRA call PARAMETROS_MOTOR bsf BAND_IND,KEY_RS ;Pone flag KEY_RS para mostrar que el motor se prende bsf STATUS,RP0 bsf PIE1,TMR1IE ;Habilita interrupción timer1 bcf STATUS,RP0 bsf INTCON,T0IE ;Habilita interrupción de timer0 bsf PUERTO_PIN,LED_ON_OFF ;Prende el led para indicar que el motor esta prendido RETURN ;******************************************************************************* ;Esta rutina inicializa los parámetros del motor ;******************************************************************************* PARAMETROS_MOTOR movlw 0X012 ;INITIALIZE THE TABLE OFFSET TO 3 REGISTERS movwf TABLE_OFFSET1 ;TO FORM 0-120-240 DEGREES movlw 0X00 movwf TABLE_OFFSET2 movlw 0X08 movwf TABLE_OFFSET3
IEL2-1-05-35 94
bcf BANDERAS,OFFSET1_FLAG bsf BANDERAS,OFFSET2_FLAG btfsc PUERTO_PIN,BIT_DIR ; Chequea cambio de direcciòn goto INICIALIZA_DIR_INVERSA bsf BANDERAS,OFFSET3_FLAG ;Iniciliza Offset3 bcf BAND_IND,KEY_FR ;Pone bandera dirección '0' fwd bcf PUERTO_PIN,LED_DIRECCION ;Apaga led para indicar dirección goto INIT_MOT_FREQ INICIALIZA_DIR_INVERSA bcf BANDERAS,OFFSET3_FLAG bsf BAND_IND,KEY_FR ;Pone bandera de dirección '1' rev bcf PUERTO_PIN,LED_DIRECCION ;Prende led para indicar dirección INIT_MOT_FREQ movlw 0XB1 movwf TMR0 ; Carga el timer0 con 0xB1 bsf BANDERAS,MOTOR_FREQ_COUNTER RETURN ;******************************************************************************* ;ROUTINE FOR 8*8 BIT MULTIPLICAION ;******************************************************************************* MUL_8X8 clrf RESULT_MSB clrf RESULT_LSB movf NEW_FREQ,W ;Mueve el multiplicando al registro W bcf STATUS,C MULT 0 MULT 1 MULT 2 MULT 3 MULT 4 MULT 5 MULT 6 MULT 7 RETLW 0 ;******************************************************************************* ;Se copia los contenidos de una tabla de seno a posiciones en la RAM ;******************************************************************************* COPIAR_TABLA_RAM BANKSEL TABLA_SENO_RAM ; Crea un bnco de registros en RAM BANKISEL TABLA_SENO_RAM ; Va a la dirección apuntada por el registro 0x31 movlw LOW TABLA_SENO_RAM ; mueve a lo que apunta la parte baja de registro en W ; inicializa apuntador, direccionamiento indirecto movwf FSR ; apunta a la RAM movlw 0X13 movwf TEMP_LOC ; pone 0x13 en el registro 0x25 clrf TEMP_LOC_1 ; limpia registro 0x26 COPIAR_OTRA movlw HIGH TABLA_SENO movwf PCLATH movf TEMP_LOC_1,W call SINE_TABLE movwf INDF INCF TEMP_LOC_1,F INCF FSR,F DECFSZ TEMP_LOC,F goto COPIAR_OTRA movlw LOW TABLA_SENO_RAM movwf FSR RETURN ;******************************************************************************* ;Rutina de retardo ~38msec ;******************************************************************************* DELAY movlw DELAY_COUNT1 movwf TEMP_LOC DEC_TEMPORAL movlw DELAY_COUNT2 movwf TEMP_LOC_1 DEC_TEMPORAL1 DECFSZ TEMP_LOC_1,F goto DEC_TEMPORAL1 DECFSZ TEMP_LOC,F goto DEC_TEMPORAL RETURN B_DELAY call DELAY call DELAY call DELAY call DELAY call DELAY call DELAY call DELAY call DELAY
IEL2-1-05-35 95
call DELAY call DELAY call DELAY return BIG_DELAY call B_DELAY call B_DELAY call B_DELAY call B_DELAY return ;Macro MULT MACRO BIT ;MACRO para multiplicación sin signo btfsc NO_1_LSB,BIT addwf RESULT_MSB,F RRF RESULT_MSB,F RRF RESULT_LSB,F ENDM ;Final macro multiplicación ;******************************************************************************* ;Ecuación usada para calcular las entradas a la tabla del seno, ENTRADAS = (SIN(ANGULO)+1)*FF/2 ;La tabla del seno tiene un valor correspondiente cada 10 grados eléctricos ;******************************************************************************* TABLE CODE 0X0005 TABLE_SENO addwf PCL,F RETLW .2 RETLW .4 RETLW .8 RETLW .16 RETLW .24 RETLW .34 RETLW .50 RETLW .64 RETLW .80 RETLW .96 RETLW .112 RETLW .128 RETLW .144 RETLW .156 RETLW .168 RETLW .178 RETLW .184 RETLW .188 RETLW .190 END