Está en la página 1de 135

Diseño e

Implementación de un
motor de inducción
de control Esquema
trifásico

Por
Gareth Stephen Roberts
Departamento de Tecnología de la Información e
Ingeniería Eléctrica,
la Universidad de Queensland

Presentado para el grado de


Bachiller en Ingeniería Eléctrica (con
honores).
de octubre de de 2001

2001 Proyecto de 1 Gareth S Roberts


Tesis
34 Tolaga Street,
Westlake, QLD, 4074
17 de de octubre de, de 2001

El Director de la Escuela,
Facultad de Tecnología de la Información e Ingeniería
Eléctrica, Universidad de Queensland,
Santa Lucía, Queensland, 4072

Estimado profesor Simon Kaplan,

De acuerdo con los requisitos del grado de Licenciatura en Ingeniería (con honores) en la
división de Ingeniería Eléctrica, presento la siguiente tesis titulada “Diseño e
Implementación de un control del motor de inducción trifásico Esquema”. Esta tesis se
llevó a cabo bajo la supervisión del Dr. Geoff Walker.

Este proyecto de tesis no ha sido sometido a cualquier otra Universidad. Declaro que
este trabajo no ha sido publicado o escrito por cualquier otra persona, excepto cuando
se hace referencia al texto.

Tuyo sinceramente,

Gareth Roberts.

2001 Proyecto de UN Gareth S Roberts


Tesis A2
Resumen
El uso de un motor de combustión para motivar a un coche ha sido cuestionada en los
últimos tiempos debido a la creciente preocupación del “calentamiento global”. Como
resultado de esto, el concepto de conducir un coche con un motor eléctrico ha sido de
particular interés. El Dr. Geoff Walker y sus estudiantes de doctorado están trabajando en
la creación de su propio coche eléctrico de la Universidad.

Este proyecto de tesis se centra en derivar un esquema de control para conducir una
máquina de inducción que se podría aplicar a los vehículos eléctricos. máquinas de
inducción son de uso en la industria debido a su robustez, fiabilidad, bajo precio y alta
eficiencia (hasta 80%). Sin embargo, hasta los últimos tiempos, ha sido difícil de
controlar el par del motor de inducción.

Al utilizar el “controlador TMS320F243 DSP”, que está incrustado en un diseño de


hardware existente y un esquema de control llamado “Campo de control orientado,”
podemos controlar el par de apriete de una máquina de inducción con un alto grado de
precisión. Por lo tanto, este proyecto de tesis se muestra cómo aplicar Campo de control
orientado con un controlador DSP. Para ello, un amplio análisis de MATLAB se llevó a
cabo con el fin de optimizar el sistema de control. Se espera que el sistema físico
completo para trabajar en el día de demostración.
Expresiones de gratitud

Deseo agradecer a las siguientes personas:

El Dr. Geoff Walker, mi supervisor, por tomarse el tiempo a través de todo el curso
del año para ofrecer explicaciones claras y entusiastas. El Dr. Walker siempre fue
capaz de guiar la tesis a lo largo del camino correcto.

Sr. David Finn por prestarme su tablero de control del motor. David también proporcionó
la información requerida necesaria para hacer funcionar este tablero.

Mi familia, para ofrecer apoyo a través de mis años universitarios; Este año en particular.

Mis compañeros de ocupantes en los laboratorios de Electrónica de potencia, para


poner al día con mi compañía durante días y días. Para Andrew Gray y Jeffrey Jordan,
gracias por el consejo que ofrece a través del curso del año.
Tabla de contenido

Resumen………………………………………………………….. yo
Expresiones de ii
gratitud……………………………………………….
Lista de figuras e ilustraciones ....................................... iii

Capítulo 1 - Necesidad / Bases para el proyecto de 1


tesis ..................... ..
1.1.Project Especificación…………………………………. 1
1.2.Available recursos ....................................... ... 1
1.3.What son hiper y electricidad ¿coches? 1
…………………….
1.4.Why qué usamos una inducción ¿motor?…………………. 3

Capítulo 2 - Revisión de la literatura ....................................... ... 5


2.1.El híbrido concepto…………………………………... 5
2.2.Induction Motor Teoría y Práctica………………… 5
2.3.Power Electrónica…………………………………….. 6
2.4.Field Orientada Controlar……………………………… 7
2.5.MATLAB análisis……………………………………. 8

Capítulo 3 - El diseño de hardware ..................................... 9


3.1.El control básico formato……………………………... 9
3.2.El motor existente controlador………………………... 10
3.3.Current de detección módulo……………………………… 11
3.4.El velocidad sensor……………………………………... 12
Capítulo 4 - El motor de inducción ..................................... 14
4.1. Los principios fundamentales de funcionamiento de una
Inducción Motor……………………………………... 14
4.2. Los principios eléctricos de inducción Motor ...... ..14
4.3. generación / velocidad de par para una inducción Motor ...... 16

Capítulo 5 - El campo de Control Orientado (FOC) ........................19


5.1.An
Introducción…………………………………….. 19
5.2.Transformation entre referencia
marcos ............ .20
5.3.El Pi controlador .......................................... 0,21
5.4.PWM - Ancho de pulso
Modulación ..................... ... 22
5.5.The En general
Diseño ....................................... .24
5.6.Conclusions trazada desde Capítulo
5 ..................... 26

Capítulo 6 - El MATLAB diseño…………………………… 27


6.1. MATLAB - Un Introducción……………………… 27
6.2. simulación MATLAB diseño……………………… 27
6.2.1 Campo de control Orientated usando SIMULINK ......... ... 28
6.2.2 La corriente Controller .................................... 32
6.2.3The Motor
Modelo .......................................... 32
6.3. Simulación del MATLAB diseño………………. 34
6.3.1. velocidad de respuesta análisis ................................. 0,34
6.3.2. Análisis de la Sección Campo orientada del
diseño ...................................................... .. 38
6.3.3. La importancia de retroalimentación ........................... ... 41
6.4. Las conclusiones extraídas de capítulo 6 ................ 42

Capítulo 7 - El Software Diseño .................................... 43


7.1. Una descripción básica de cómo se organiza el
software ................................................... 43
7.2. El programa principal - el control de campo orientado
Parte del Software Diseño ........................ .44
7.2.1. El controlador de par & Field El debilitamiento ............ ..45
7.2.2. Cálculo de IQS, IDS, cos (RHO) y sin (rho) ......... 0,48
7.2.3. La sección de control de corriente del software design50
7.3. El Servicio de Interrupción PWM Rutina………………. 51
7.4. El Servicio de Interrupción del codificador Rountine ............ ... 55
7.5.A / D
conversión .......................................... 0,57
7.6.Concluding
comenta ..................................... 58

Capítulo 8 - Rendimiento del Proyecto Final y Evaluación…… 59


8.1.PWM prueba
programa………………………………... 59
8.2. programa de prueba del codificador # 1 .............................. ... 61
8.3. programa de prueba del codificador # 2 .............................. ... 62

Capítulo 9 - Conclusión…………………………………………. 64
9.1Summary y
Conclusión…………………………... 64
9.2Future
trabajo…………………………………………. 64

Bibliografía……………………………………………………… 66

ANEXO A - La propuesta de diseño de software

ANEXO B - programa de pruebas de PWM


APÉNDICE C - Encoder prueba de detección de programa # 1

APÉNDICE D - programa de prueba de detección de Encoder #

2 APÉNDICE E - Los esquemas para la tarjeta del controlador

Motor
Lista de Figuras

Figura 1.1 - El Honda Insight


Figura 1.2 - El coche híbrido en
paralelo

Figura 3.1 - El diseño físico básico


Figura 3.2 - La placa del controlador de motor
existente Figura 3.3 - El módulo de detección
de corriente

Figura 4.1 - La representación por fase de un motor de inducción en estado


estacionario Figura 4.2 - La curva de par / velocidad
Figura 4.3 - debilitamiento de campo

Figura 5.1 - La transformación del marco de referencia estacionario al marco


de referencia de rotación
Figura 5.2 - El controlador PI
Figura 5.3 - Leg A del inversor de puente
completo Figura 5.4 - PWM VSI formas de onda
esquemáticos y
Figura 5.5 - El diseño completo controlador FO en una representación de bloques

Figura 6.1 - La tabla de consulta


Figura 6.2 - El diseño completo SIMULINK
Figura 6.3 - El bloque FO_controller
Figura 6.4 - El bloque dqe2abc
Figura 6.5 - El Inverse_Park_Transform Bloquear
Figura 6.6 - El Inverse_Clarke_Transform
Bloquear Figura 6.7 - El bloque Current_controller
Figura 6.8 - la máquina de inducción en QD0
estacionaria Figura 6.9 - Los resultados de la
simulación MATLAB velocidad
Figura 6.10 - La velocidad de respuesta del sistema de control, donde se
aumenta la ganancia proporcional
Figura 6.11 - La velocidad de respuesta del sistema con una ganancia
proporcional del 90 Figura 6.12 - cos (rho) y sin (RHO) señales
Figura 6.13 - los ID y IQS señal de curvas a través del tiempo
Figura 6.14 - La señal aplicada a la fase A del motor de inducción y la corriente
consumida en la fase A
Figura 6.15 - La velocidad de respuesta del sistema sin realimentación

Figura 7.1 - El diagrama de flujo para este


proyecto de tesis Figura 7.2 - El controlador de
par
Figura 7.3 - Representación gráfica de la regla trapezoidal
Figura 7.4 - Limitar el resultado de la integración
Figura 7.5 - Cálculo del flujo del rotor requerido: Lambdare_r
Figura 7.6 - Los resultados de usar el orientado de campo
técnica Figura 7.7 - prevención de desbordamiento de la
barbotina de ángulo
Figura 7.8 - Demostración del desarrollo de ángulo de deslizamiento con el
tiempo la Figura 7.9 - Diagrama de flujo que muestra cómo la sección del
controlador actual funciona Figura 7.10 - formas de onda PWM con banda
muerta
Figura 7.11 - La infraestructura PWM
Figura 7.12 - La expansión periférica de interrupción Diagrama
de bloques de la Figura 7.13 - La infraestructura de detección
del codificador
Figura 7.14 - El diagrama de flujo para la detección Encoder

Figura 8.1 - medido experimentalmente formas de onda PWM en la CRO


1. Necesidad / Bases para el proyecto de tesis

1.1. Especificación del proyecto


Para diseñar un esquema de control para una unidad de motor de inducción trifásico.
Se propone esta unidad de motor de inducción para ser incorporado en un “coche
híbrido” o un “coche eléctrico”.

1.2. Recursos disponibles


 tarjeta del controlador Motor. Este fue construido en 1999 tesista, el Sr.
David Finn y fue diseñado para controlar un motor de corriente continua sin
escobillas. Sin embargo, mediante la construcción de un circuito de
retroalimentación que puede detectar las salidas de un motor de inducción,
podemos utilizar este controlador de motor para controlar una máquina de
inducción.

 controlador TMS320F243 DSP. Esta es fabricado por la compañía Texas


Instruments y es uno de los componentes principales de control del motor de
David Finn. Para este proyecto de tesis, un diseño de control de software tiene
que ser concebido que controlará correctamente el controlador DSP para cumplir
con las especificaciones.

 bus de CC. Este bus de CC se pone a disposición de SUNSHARK los


paquetes de baterías de 12 V CC a 140VDC. ~ 40 VDC es la tensión de
alimentación más compatible para el controlador del motor que se utilizará para
esta tesis.

 Motor de inducción. Trifásica, 0,5 kW, máquina de 4 polos. Este motor de


inducción sólo se utiliza para el diseño del prototipo presentado en esta tesis.

1.3. ¿Cuáles son los coches híbridos y eléctricos?


Bajo la supervisión del Dr. Geoff Walker, un grupo de Ciencias de la Computación e
Ingeniería Eléctrica Ph.D. estudiantes de la Universidad de Queensland están

2001 Proyecto de 1 Gareth S Roberts


Tesis
construyendo un híbrido o un coche eléctrico. Ambos tipos se han inaugurado debido a
las crecientes preocupaciones de “calentamiento global”. Un coche eléctrico
simplemente utiliza un motor eléctrico como medio de motivar al automóvil en lugar del
motor de combustión convencional. Estos coches aún no han sido puestos en libertad en
el mundo comercial debido a que el sistema de motor eléctrico (incluyendo

2001 Proyecto de 1 Gareth S Roberts


Tesis
baterías) no proporciona la misma potencia por peso que el motor de combustión de la
investigación hasta la fecha [8].

Figura 1.1. El Honda Insight [14]

Figura 1.2. La infraestructura interna de un coche híbrido en paralelo[14]

Un coche híbrido fue lanzado comercialmente este año. Combina dos o más fuentes de
energía; el coche híbrido de gasolina y electricidad, por ejemplo, hace precisamente esto.

2001 Proyecto de UN Gareth S Roberts


Tesis A2
El motor eléctrico

2001 Proyecto de UN Gareth S Roberts


Tesis A3
aumenta la aceleración y reduce la demanda en el motor de gasolina, el ahorro de
combustible y mejorar el rendimiento en el proceso [14]. Mientras que cruza, el poder
proviene únicamente del motor de gasolina. Cuando el vehículo se deslice cuesta abajo,
o durante la deceleración y el frenado, el motor eléctrico se recarga una batería de
hidruro metálico de níquel. Durante los períodos en que el vehículo está parado, el
motor se apaga automáticamente para ahorrar combustible, y luego se pone en marcha
de nuevo cuando se presiona el acelerador. El “Insight” Honda, por ejemplo, consume
menos de la mitad del combustible de un coche pequeño convencional y las emisiones
de escape nocivas se reducen en un significativo 90% [14]. Este modelo cuenta con un
motor eléctrico de 10 kW que proporciona potencia a las ruedas delanteras a través de
una caja de cambios manual de cinco velocidades.

1.4 ¿Por qué utilizamos un motor de inducción?


Para esta aplicación, la única entrada externa para el motor eléctrico aplicada por el
usuario es el acelerador; que es esencialmente una entrada de par variable. Hay dos
opciones existentes para un motor eléctrico: el “(DC) Corriente continua” tipo o del
tipo “inducción”.
Los motores de inducción se usan universalmente en la industria debido a su alta
robustez, fiabilidad, bajo precio y alta eficiencia (hasta el 80% [15]). Sin embargo, el
motor de corriente continua sin escobillas ha sido, tradicionalmente, la opción más
atractiva para el control de par variable. Esto es porque el par motor puede ser
controlada mediante la variación de la “corriente de inducido (ia)”, mientras que el flujo
puede ser controlado variando el “campo / corriente de excitación (ix)”. Estas dos
cantidades operan de una manera disociada, que es altamente ventajoso desde una
perspectiva de diseño. Además, una máquina de inducción ha sido difícil de controlar
debido a su modelo matemático complejo, su comportamiento no lineal durante los
efectos de saturación y la oscilación parámetro eléctrico que depende de la influencia
física de la temperatura [15].

Sin embargo, la reciente buen término de “procesadores de señales digitales (DSPs)” ha


oscilado el péndulo hacia el motor de inducción para el control de torque. Estos
dispositivos de silicio de potencia de alta computacionales han hecho que sea posible
realizar algoritmos de control digitales mucho más precisas. Campo de control
orientadas (FOC), por ejemplo, es un método de control de vector que demuestra la
capacidad de realizar el control directo del par. FOC proporciona un motor de inducción
cada ventaja de que el control de máquinas de CC puede tener, mientras que liberarse de
los inconvenientes de conmutación mecánicos [9]. Se prevé que la aplicación de la
algoritmo de control correcto combinado con el potencial inherente eficiencia y potencia
hará que este diseño muy compatible para su uso en un coche híbrido. Además, la
máquina de inducción hace que la ejecución de “frenado regenerativo” relativamente
simple. El frenado regenerativo es un medio de la utilización de la máquina de
inducción como un freno. Se prevé que los resultados de este proyecto de tesis apoyan la
afirmación de que un motor de inducción es una mejor forma de motivar a un híbrido o
un coche eléctrico.
2 La revisión de la literatura
Esta sección del informe tesis revisa las fuentes focales de la información que se
requiere para compilar este proyecto de tesis.

2.1. El concepto de coche híbrido


Honda y Toyota solamente liberan el coche híbrido este año. El conocimiento de sus
principios de funcionamiento no se conoce comúnmente. El sitio web, “How Stuff
Works”, es un sitio educativo que está escrito por el Sr. Marshall cerebro. Proporciona
una introducción básica sobre cómo funciona un coche híbrido. Dentro de este artículo,
la definición del coche híbrido y sus posibles ventajas se indicó. Se presenta el concepto
del coche híbrido paralelo. Este es un modelo de automóvil que a la vez utiliza tanto el
motor de combustión y el motor eléctrico para girar las ruedas. El Sr. Cerebro también
ofrece una explicación sobre cómo los vehículos híbridos comercialmente liberados (el
Toyota “Prius” y el Honda “Insight”) de trabajo.

2.2 La inducción del motor Teoría y Práctica

Wildi [1] es una fuente excelente de información sobre la teoría detrás de la operación de
un motor de inducción. La máquina de inducción trifásico se presenta en el capítulo 13.
Los fenómenos electromagnéticos y mecánicos que son responsables de muchas ventajas
del motor de inducción se explican claramente. Wildi también presenta los dos tipos de
motores de inducción: “el motor de inducción de jaula de ardilla” y el “motor de heridas”.
se da una explicación de las ventajas y desventajas de cada uno. conceptos esenciales
como la “velocidad de sincronismo”, “deslizamiento”, “par” y las entradas de entrega de
potencia se presentan e ilustran con ejemplos de problemas. El circuito eléctrico
equivalente para un motor de inducción se deriva sobre la base del transformador
trifásico.

Este libro también presenta los fundamentos del motor de inducción de un punto de vista
práctico. Las pequeñas y grandes tipos de motor se distinguen, donde se muestran las
características eléctricas y mecánicas típicas de cada uno. En los capítulos posteriores (20
a 23), Wildi lleva al lector a través de algunos de los métodos existentes de accionar un
motor de inducción:
 cargos estáticos de frecuencia
 controladores de voltaje estático
 sistemas rectificador-inversor con conmutación línea
 sistemas rectificador-inversor con auto-conmutación
 sistemas de modulación de ancho de pulso

sistemas de modulación por ancho de pulso son los únicos esquemas de control que se
pueden considerar para esta tesis como el controlador de motor está diseñado
específicamente para la modulación por ancho de pulso.

El texto de Mohan, Undeland y Robbins [2] da una buena explicación de los principios
de funcionamiento de la máquina de inducción. Conceptos tales como el funcionamiento
del motor de inducción en la región de par constante, voltios por el control hertz, la
puesta en marcha consideraciones y la conducción de una máquina de inducción con un
inversor de puente de tres fases se explican.

2.3. Electrónica de potencia

El funcionamiento de la tarjeta del controlador del motor requiere el conocimiento de


cómo funcionan los aspectos electrónicos de potencia. Mohan Undeland y Robbins [2]
proporciona información sobre los capítulos de la electrónica de potencia; El Dr. Geoff
Walker utiliza este texto para enseñar a su tema Electrónica de Potencia. En el capítulo
dos, todos los dispositivos de conmutación de potencia actuales sonpresented.These son:
el diodo (los diversos tipos de diodos se presentan y se compararon), el Bipolar Junction
Transistor (BJT), el óxido metálico transistor de efecto campo (MOSFET) y el
aislamiento de transistor bipolar de puerta (IGBT). En este capítulo, también se indican
los requisitos de un dispositivo de conmutación. Las características generales deseadas
de un dispositivo de conmutación de potencia es tener una alta tensión de bloqueo en la
dirección inversa, a tener pérdidas de conmutación mínimos (esto está relacionado con la
capacidad de conmutación rápida) y el dispositivo de alimentación es
requerido manejar una cantidad suficiente de corriente directa media. Se encuentra que
el MOSFET proporciona las pérdidas de conmutación mínimos y es, por lo tanto, muy
adecuado para los propósitos de conmutación de tensión.
En el capítulo ocho, las topologías de conmutación básicos se describen. Un inversor es
una configuración electrónica que transforma una señal de CC en una señal de CA de
una manera controlada. Esto es muy relevante para este proyecto de tesis ya que tenemos
disponible una alimentación de CC y el motor de inducción requiere una alimentación de
CA que tiene que ser controlada a un cierto grado de precisión. En él se compara cómo
cada topología genera armónicos. Se discute la utilización de la tensión de alimentación.
Todos los diseños de voltaje de conmutación requieren un chip de modulación para
generar señales de ancho de pulso modulado (PWM) que se aplican a la puerta de los
dispositivos de conmutación de potencia. Hay dos tipos de PWM descritas: sinusoidales
y rectangulares.
Mientras que la conmutación de onda cuadrada utiliza la tensión de alimentación mejor,
el contenido armónico de la forma de onda de salida es demasiado alta para ser
considerado realmente una solución eficaz. Por lo tanto, PWM sinusoidal es la mejor
opción basada en la literatura proporcionada en este texto. Más adelante en el capítulo,
se habla de “tiempo muerto”, que es un retardo de tiempo que necesita ser introducido a
la onda cuadrada para evitar la conmutación de los dispositivos de conmutación de
potencia.

2.4. Control de campo orientado

El libro de bimal K. Bose que editó en 1996 [4] presenta amplias explicaciones sobre el
control de FO. Conceptos que comprenden el control de campo orientadas (FO), tales
como los sistemas de referencia rotativos y estacionarios, Clarke y Parque transforma,
controladores PI y PWM son explicó ampliamente. Bose también ejemplifica algunos
modelos de MATLAB que se pueden utilizar para simular el control FO. En las etapas
posteriores, “auto-sintonización” y “menos sensor-” control FO se investigan. Bose
también ofrece las explicaciones generales del lector en los microprocesadores y la forma
en que son los medios de control central de control de FO.

El Texas Instruments Literatura Documento BPRA073 también presenta aclaraciones


teóricas y prácticas sobre el control de FO. Sin embargo, presentan su dispositivo
controlador DSP, la TMSC320C240. Este dispositivo es específicamente adecuado para
técnicas de control de motor como el control de FO. En BPRA043 [10], ejemplo de
código ensamblador utilizado para ejecutar el control de FO se ofrece. Texas Instruments
Documento Técnico BPRA076 [17] ofrece una extensa detalle práctico de cómo aplicar
el control de FO a un motor de inducción.
2.5. El análisis de MATLAB

El libro, los sistemas de control de ingeniería [7] está dedicado a presentar los
conceptos de generar un diseño de control. Además, MATLAB se utiliza
extensivamente a través del curso del libro. Sin embargo, “Simulación dinámica de la
maquinaria eléctrica utilizando MATLAB / SIMULINK” [6] es un libro que presenta
específicamente cómo aplicar el control de FO en MATLAB, cómo modelar un motor
de inducción en MATLAB y los aspectos de diseño de control de control de FO.
3. El diseño de hardware

3.1. El formato básico de control


En esencia, estamos tratando de diseñar un controlador que puede variar el par inducido
en el rotor del motor. Para ello, el controlador del motor de inducción se configurará en
el siguiente formato:

Figura 3.1. El diseño físico básico [16]

El usuario aplica una señal de entrada (por ejemplo, el acelerador del coche) que se
alimenta en el generador de comandos del controlador DSP. El controlador DSP
manipulará esta señal de control para producir señales de que el motor de inducción
puede funcionar fuera. Estas señales se convierten en señales PWM (modulada en
anchura) de modo que el MOSFET Full-puente (Metal-Óxido Efecto silicio Campo
Transistor) inversor en el controlador del motor puede amplificar estas señales a niveles
sustanciales de tensión. Se prevé que las señales PWM amplificados entonces inducir un
par motor en el rotor del motor de inducción que es proporcional a la magnitud de la
señal de entrada aplicada por el usuario. El diseño utilizará un codificador que envía
hacia abajo pulsos que pueden ser manipulados para calcular la velocidad y la posición
del rotor. Los pulsos del codificador y las corrientes medidas extraídas por el motor de
inducción forman la parte de realimentación del diseño. Por lo tanto, el principal objetivo
de este proyecto de tesis es desarrollar una estrategia de control para el controlador DSP
que controla la producción de par dentro de la máquina de inducción. Sin embargo, no
hay gran énfasis en el control de par preciso.
3.2. El controlador de motor existente
tablero de control del motor de David Finn se puede ver en la figura 3.2. Hay dos
características principales que son de particular relevancia a este proyecto de tesis:

A. controlador TMS320F243 DSP: proporciona varias funciones clave de diferente


naturaleza, en particular, el filtrado de señales, regulación, la generación de señal de
accionamiento, la medición, el seguimiento, la protección y más. La velocidad a la
que necesitamos para ejecutar los algoritmos de control y detección de señales en el
bucle de realimentación de control sugiere la necesidad de un procesador de señal
digital avanzado. El TMS320F243 está diseñado específicamente para el control del
motor digital. Este dispositivo combina un núcleo de DSP de punto fijo de 16 bits
con los periféricos micro-controlador en una solución de un solo chip que es parte de
una nueva generación de DSPs llamados controladores DSP [15]. Este controlador
DSP está construido con una arquitectura Harvard, donde los datos y las
instrucciones ocupan los recuerdos y los viajes a través de buses separados [16] por
separado. Debido a esta estructura dual bus, el procesador puede recuperar, a la vez,
una instrucción y un operando de datos. operación En tubería de las instrucciones y
de transferencia de datos es, pues, posible, lo que resulta en una mayor tasa de
rendimiento de instrucción [4]. Este controlador DSP es capaz de ejecutar 20
millones de instrucciones por segundo.

Este controlador DSP ofrece lo siguiente:


 12 × PWM (modulación por ancho de pulso) salidas. Seis de estos se utiliza
para accionar el inversor puente MOSFET de tres fases en la tarjeta del
controlador de motor.
 UART (Universal Asíncrono receptor y el transmisor), esto permite la
comunicación que se produzca entre el PC y el controlador del motor. Por lo
tanto, la adquisición de datos, depuración y registro de fallos se realizan.
 2 × rápido A / D (analógico a digital) convertidores con una resolución de 10
bits hacen el cálculo de medidas de corriente, de fase precisa en tiempo real
posible.
 Muchas más características que se mencionan en el transcurso de este informe.
Figura 3.2. La placa del controlador de motor existente

B. El diseño de Electrónica de Potencia: Tres circuitos de medio puente se


combinan para formar un inversor de puente completo de tres fases. Los interruptores
de semiconductor son MOSFETs de alta calidad que cuentan con suficiente eficiencia
de conmutación y tensión de bloqueo para aplicaciones de esta naturaleza. Dentro del
controlador DSP, el software genera señales sinusoidales trifásicas. Estos se
convierten luego en 6 señales PWM en el DSP, una para cada MOSFET en el
inversor de puente completo. Debido a que las señales PWM son ondas cuadradas de
diversa-relación de trabajo, podemos utilizar los MOSFETs para amplificar la forma
de onda PWM a niveles significativos de tensión que la máquina de inducción puede
funcionar fuera. la generación de PWM a través del diseño de software se discute en
los capítulos 5 y 7.

3.3. módulo de detección de corriente


El módulo de detección de corriente implementado consta de dos transductores de
corriente. Debido a los bobinados del estator del motor son una conexión en estrella de
tres fases, podemos usar la siguiente relación para encontrar la otra magnitud de la
corriente desconocida:
0 = Ia + Ib + Ic (3,1)
Cuando Ia, Ib y Ic son las corrientes del estator trifásicas.
Sin embargo, la aplicación de un módulo de detección de corriente eficaz requiere que el
diseñador tener en cuenta que el DSP convertidores A / D operan dentro de un rango de
tensión de 0 a + 5V. El problema con esto es que las corrientes detectadas por los
transductores son oscilante sinusoidal entre + 2,5V y -2.5V. Por lo tanto, una desviación
de CC de + 2,5V tendrá que ser añadido continuamente a la señal de corriente para
asegurar que la corriente no cae por debajo de 0. Por otra parte, las amplitudes de estas
señales serían mayores a + 2.5V. En consecuencia, sería necesario insertar resistencias
en el autobús para atenuar la señal de corriente adecuada. El controlador de motor
existente se aplica todo esto.

Figura 3.3. El módulo de detección de corriente [17]

El desplazamiento 2.5V añadido se resta del resultado de la conversión A / D en la


rutina de servicio PWM de software del controlador (véase el capítulo 7).

3.4. El sensor de velocidad


En el eje del rotor es un codificador. El codificador genera 500 impulsos por revolución
en un formato “de onda cuadrada”. Además, el codificador genera dos impulsos, A y B,
que permitirán que el controlador DSP para detectar la dirección del rotor; el pulso B se
retrasa respecto al Un pulso por 900 en la dirección positiva. El controlador DSP detecta
subiendo y bajando pulsos en sus pines de interrupción; por lo tanto, el controlador DSP
está detectando eficazmente 2000 impulsos por revolución. Basado en esto, la sección de
software del diseño debe interrumpir la velocidad del rotor en función del número de
impulsos que recibe. La velocidad nominal del motor de inducción usado en este
proyecto de tesis es 1500 rpm, que es de 25 rps. Por lo tanto, el controlador DSP
recibirá:
(2000 impulsos por revolución) x 25 (revoluciones por segundo)
= 50 × 103 impulsos por segundo a la velocidad nominal.

Cada vez que se detecta un pulso, el número entero existente en el contador de


funcionamiento libre del controlador DSP está enganchado en un registro de que el
diseño de software puede leer (T2CNT). Por lo tanto, si el diseño de software compara
una “nueva cuenta” (el valor actual enclavado en el Registro T2CNT) a un “viejo
recuento” (el valor anterior), la siguiente fórmula puede ser aplicada para calcular la
velocidad:
÷ Velocidad = Frecuencia de reloj (velocidad de codificador × ( “nueva cuenta” - “Viejo conde”))
(3,2)
[(revoluciones por segundo) = (recuentos por segundo) x (revoluciones por pulso) × (pulso por recuento)]

Si la máquina de inducción estaba rotando constantemente a la velocidad nominal, la


diferencia entre el número de impulsos del encoder consecutivos será (la velocidad de
reloj es de 20 MHz):
Cuenta de diferencia = 20 MHz (recuentos por segundo) ÷ (50 × 103 pulsos por segundo)
= 400 recuentos por pulso.
Si ahora aplicamos la fórmula (3.2):
Velocidad = 20 MHz / (2000 x 400) = 25 rps

Además, la detección de un pulso significa que el rotor ha


progresado por:
(3.600 por revolución) ÷ (2000 impulsos por revolución) = 0.180 por pulso.

Teniendo en cuenta la tasa que se detectan los impulsos, la resolución resultante del
ángulo de posición del rotor parece ser más que adecuado para el control de par para
este proyecto. Si la resolución del ángulo del rotor no era satisfactoria, el diseño de
software tendría que interpolar entre los pulsos. Esto se discute en la sección de
software (Capítulo 7).
4. La máquina de inducción

4.1 Los principios fundamentales de funcionamiento de


un motor de inducción
Un motor de inducción es un motor asíncrono de CA (corriente alterna). El motor de
inducción menos caro y más ampliamente utilizado es el motor de jaula de ardilla. La
principal razón por la que estas máquinas son tan robusto y de bajo costo es que no se
requiere ninguna corriente externa dentro del rotor para crear el campo magnético
giratorio. Una máquina de inducción consta fundamentalmente de dos partes: el estator
(la parte fija) y el rotor (la parte móvil). Para una máquina de inducción trifásico (esto
se utiliza en este proyecto de tesis), las tensiones senoidales trifásicas se aplican a los
devanados del estator. Esto crea un campo magnético. Debido a que los voltajes
difieren en fase en 1200 con respecto a la otra, un campo magnético giratorio se crea
que gira en sincronismo con el cambio de polos dominantes alrededor del estator
cilíndrico.

El rotor, que, para un rotor de jaula de ardilla se compone de barras de cobre en un


formato cilíndrico, 'sigue' el campo magnético rotatorio creado. Como consecuencia, se
induce una tensión en las barras del rotor que es proporcional a la velocidad angular
relativa del campo magnético (esto se hace referencia a la velocidad angular del rotor).
Debido a que se induce una tensión, los campos magnéticos se crean alrededor de los
alambres del rotor. Los dos campos magnéticos generados (en el rotor y el estator)
interactúan para generar una fuerza que es también proporcional en magnitud a la
velocidad angular relativa del campo magnético. El par es igual a la fuerza multiplicada
por el radio del estator cilíndrico. Por lo tanto, el par resultante aplicado por el rotor es
proporcional a la velocidad relativa del campo magnético con respecto a la velocidad del
rotor.

4.2 Los principios eléctricos de un motor de inducción


La máquina de inducción es un dispositivo eléctrico. Las propiedades eléctricas que
son de particular interés para este proyecto tesis son el estator y la resistencia del rotor
y la inductancia, así como la inductancia de magnetización. Durante el estado
estacionario, el motor de inducción se puede modelar en una representación por fase
ve en la figura 4.1.
Figura 4.1. La representación por fase de un motor de inducción en estado estable [17]

Estos parámetros son importantes para las estrategias de control que serán presentados en el capítulo
5. La máquina de inducción usado en este proyecto de tesis tiene los siguientes
parámetros eléctricos:
E = tensión nominal de fase, 127 Vrms
P Puntuación = potencia, 500W y
0.67hp p = pares de polos, 2
rs = resistencia del estator,
4,495 Ω rr '= resistencia del
rotor, 5.365 Ω xs =
inductancia del estator, 16
mH xr' = inductancia del
rotor, 13 mH
XM = inductancia de magnetización,
149 mH Mnom = par nominal, 3,41
Nm
J = rotor de inercia, 0,95 × 10-3 kg ● m2

Por lo tanto, la corriente a plena carga para este motor trifásico se puede calcular
utilizando la siguiente ecuación aproximada:

IFL = 600 × PH / E (4,3)


= 600 × 0,67 / 220
= 1,82 A
4.3 De par / velocidad de generación de un motor de inducción

La velocidad angular a la que gira el campo magnético se denomina la “velocidad


síncrona,” mientras que la velocidad angular por el cual el rotor se queda atrás se llama
la “velocidad de deslizamiento.”

velocidad síncrona, ns = (120 × f) ÷ p (4,1)


= (120 x 50) ÷ 4
= 1500 rpm, en este caso

SLIP, s = (ns - n) ÷ ns (4,2)

Cuando f = la frecuencia nominal del motor, p = el número de polos y n = la velocidad


angular del rotor.

Un motor de inducción nunca viaja a la velocidad síncrona; es por eso que se hace
referencia a máquinas como asíncronos. Cuando no se aplica carga al rotor, la máquina
de inducción tiene un trozo de 0,5%. Cuando el rotor está bloqueado, el deslizamiento es,
por supuesto, 100%. En condiciones de rotor bloqueado, la corriente puede ser de cinco a
seis veces la corriente a plena carga, por lo que las pérdidas I2R 25 a 36 veces mayor de
lo normal. Por este motivo, no se recomienda dejar el rotor bloqueado durante más de
unos pocos segundos [1]. La curva de velocidad de par para el tipo de motor de inducción
usado en este proyecto de tesis puede verse sobre-página.
Figura 4.2. La curva de velocidad de par de la máquina de inducción a la tensión nominal utilizada en esta tesis

Como se puede ver, no hay una relación simple entre la velocidad y el par, esta es la
razón por la inspección de esta curva es tan importante. torque Desglose representa el par
máximo que la carga se puede aplicar antes de que el motor de inducción es incapaz de
desarrollar velocidad. La velocidad nominal es la velocidad angular que la máquina de
inducción acelera hacia para una tensión y frecuencia dada. Por lo tanto, mediante la
aplicación de diferentes voltajes de diferente frecuencia (tensión y frecuencia que
aumentar en la misma proporción con el fin de mantener un flujo del rotor constante),
podemos girar la máquina de inducción en una amplia gama de velocidades nominales y
valores par nominal. Al cambiar la velocidad nominal desarrollado, la curva de velocidad
de par se desplaza horizontalmente a lo largo del eje x.

Por lo general, la operación de velocidad del motor tiene un límite superior que es igual a
la velocidad nominal del motor. El funcionamiento del motor de inducción por encima de
la velocidad nominal afecta a la eficiencia de la producción de accionamiento y el par
debido a la disipación de calor y la saturación magnética [17]. Por lo tanto, el flujo del
rotor debe ser reducida de manera que se extiende el rango de operación de alta
eficiencia de la unidad de motor. Considere la figura se ve a continuación:
Figura 4.3. La operación de debilitamiento de campo

Como puede verse, mediante el mantenimiento de un flujo constante, el aumento de la


tensión aplicada y la frecuencia puede aumentar proporcionalmente la velocidad
nominal. Sin embargo, fuera de la operación de la velocidad nominal, el flujo tiene que
ser disminuido como una función inversa de la velocidad. Al debilitar el flujo del rotor,
la máquina de inducción puede alcanzar velocidades que son cuatro veces la velocidad
nominal [4].

En resumen, las principales consideraciones de diseño para accionar un motor de inducción son:

 La tensión (tanto en magnitud y frecuencia) aplicado a los devanados del estator


(Is) es proporcional a la velocidad / par creado del rotor.

 Ψ (flujo del rotor) € debe ser mantenido constante durante el funcionamiento en


velocidades inferiores a la velocidad nominal. Cualquier cosa por encima de esta,
la velocidad tiene que ser disminuido en un inverso de la manera, no lineal.

Por lo tanto, es necesario desarrollar una estrategia de control que varía la frecuencia y
el voltaje de la señal aplicada a los devanados del motor de inducción, mientras que el
control del flujo creado en el espacio de aire del motor de inducción. Esto se muestra en
el siguiente capítulo.
5. Control de campo-orientadas (FOC)

5.1. Una introducción


Una máquina de CC ha sido tradicionalmente una opción superior para el control de par.
El conmutador de la máquina DC tiene un ángulo espacial fija, ortogonal entre el flujo
de campo y el MMF armadura, permitiendo el par y el flujo a ser controlado de forma
acoplada de- [4]. Las máquinas de inducción, a través de FOC, pueden emular este
método de control.
el control FOC es un algoritmo de software que utiliza la posición del rotor en
combinación con las corrientes de dos fases para generar un medio de controlar
instantáneamente el par y el flujo. controladores de campo orientado requieren el
control tanto de magnitud y fase de las cantidades de CA y son, por lo tanto, también se
hace referencia como “controladores de vector”. FOC produce resultados controlados
que tienen una mejor respuesta dinámica al par variaciones en una gama de velocidades
más amplio en comparación con otros métodos escalares. Además, el control de FO
puede inducir un alto par a velocidad cero.

Para simplificar las ecuaciones y para proporcionar un control sobre la producción de par
de una manera directa, ambas ecuaciones estator y del rotor se expresan con respecto a
un eje de referencia común. Este eje es a lo largo del λr campo del rotor, a una θrf ángulo
del flujo del rotor con respecto al eje del estator s1 ( “un eje” en la figura 5.1). Con el fin
de expresar el par en términos de la λr flujo del rotor y la corriente del estator, hacen
referencia a un ejes dq ortogonales se introduce marco. La directa (d) eje x siempre está
alineado con el λr flujo del rotor, mientras que la cuadratura (q) eje x es siempre 900 por
delante del eje d. El vector de espacio actual se puede descomponer a lo largo del dq ejes
como:
es = ISD + JISQ (5,1)
Figura 5.1. La transformación del marco de referencia estacionario al marco de
referencia de rotación [9]

Por lo tanto, el concepto FOC implica que los componentes de control de corriente
aplicada al sistema son en fase (componente de flujo) y en cuadratura (componente de
par) a la λr flujo del rotor. Por el bloqueo de la fase del sistema de referencia de manera
que el flujo del rotor está totalmente en el eje d (d-eje), la siguiente restricción
matemática eventúa:
λqr = 0 (5,2)
El par electromagnético desarrollado por el motor puede, por lo tanto, ser
mostrado por Tem = kt ● λdr ● isq (5,3)
Por lo tanto, la corriente del estator a lo largo del eje en
cuadratura está dada por: isq = Tem ÷ (kt ● λdr) (5,4)
Finalmente, la siguiente relación se puede demostrar el rotor de flujo a lo largo del eje directo:
λdr = KR ● ISD (5,5)
La corriente del estator a lo largo del eje directo está dada por:
ISD = λdr ÷ KR (5,6)
Donde kt y KR son constantes que dependen de la estator y la resistencia del rotor y la
inductancia. Tener ecuaciones que dependen de variables que describen el motor en
consecuencia dará lugar a un mejor control de las variaciones de par. Al mantener λdr y,
por lo tanto, ISD en un valor constante, el par electromagnético desarrollado por el rotor
Tem está completamente determinada por la corriente del estator a lo largo del eje en
cuadratura, isq, como se ve en la ecuación (5.3). Por lo tanto, isq se convierte en el
comando deseado de control de par.

5.2. Transformación entre los marcos de referencia


Se encontró en la sección anterior que el chip DSP y el diseñador requieren dos
cantidades de control de corriente, isq y ISD, que se hace referencia a lo largo de
un eje de rotación.
Además, el motor de inducción requiere tres entradas de tensión estacionarias que son
cada 1.200 aparte. Con el fin de transformar las dos magnitudes de entrada giratorias en
tres magnitudes de salida estacionarios, que necesitamos para llevar a cabo las
transformaciones inversas Clarke y el parque. Véase la figura 5.1 para la forma en que
esto se trasluce en el diagrama vectorial.
 (D, q) € (α, β) la transformación inversa Park. Esta proyección transforma el d, q
marco de referencia de rotación para un sistema ortogonal de dos fases (α, β). Se
utiliza el ángulo de posición de la del flujo del rotor (ρ) para hacer esto:

yos
= cos - yoD
yos pecado akota (5,8)
del
sin
Sur

cos yocu
adrad
os

 La transformación inversa Clarke, Modifica un sistema ortogonal de dos


dimensiones (α, β) en un sistema de tres fases (a, b, c):

y  0 yo (5,9)
os = -  s
a
- - yo
y s

os
b

o
Ca
rol
ina
del
Su
r

Para obtener el ángulo de posición de la del flujo del rotor se requiere, en primer lugar,
un codificador conectado en el eje del rotor; este se utiliza para detectar la posición del
rotor (con la ayuda de software). En segundo lugar, tenemos que calcular el “ángulo de
deslizamiento”. Esto se calcula mediante el uso de

L • yocuadrados
 metro=
(5,10)
resbalón
Tr • r
Por lo tanto, el ángulo del flujo del rotor está dada por:
 = ∫ (slip + rotor) dt (5,11)

Dónde: Lm = la inductancia de magnetización, Tr = la constante de tiempo del rotor (= inductancia rotor


÷ resistencia del rotor) y r es el flujo estimado del rotor.

5.3. El controlador PI
El controlador PI es un medio eficaz de regular la torsión y tensión magnitudes a los
valores deseados. También mejora el error de estado estacionario y la sensibilidad de
error [4]. Esto se consigue proporcionando una ganancia para el término de error con una
corrección componente integral. Kp es la ganancia proporcional y Ki es la ganancia
integral del bucle de realimentación. El controlador PI se ejecutará completamente en la
sección de software del diseño. Vía
El análisis de MATLAB, tenemos que encontrar los polos y los ceros necesarios para el
diseño de modo que la respuesta transitoria es rápido y los errores de estado
estacionario se reducen al mínimo.

señal de comando +
Error Error × Kp
Corrección
-
+
La señal de realimentación Error × Ki
Figura 5.2. El controlador PI

Hay cuatro controladores PI usados en este diseño. El primer controlador PI se llama el


controlador del par motor, ya que calcula el par electromagnético requerida requerida
por el motor. Los otros tres se utilizan en la sección “controlador de corriente” del
diseño de la señal de error de velocidad. Estos controladores PI regulan la tensión en la
máquina de inducción, asegurándose de que la máquina de inducción no está llegando
corriente demasiado o demasiado poco.

5.4. PWM - Modulación de ancho de pulso

El objetivo de PWM es dar forma y controlar los voltajes de salida de tres fases en la
magnitud y la frecuencia mediante la utilización de un voltaje de CC constante. PWM es
un proceso donde las señales sinusoidales de tres fases se comparan con una forma de
onda triangular frecuencia de conmutación repetitivo. En el diseño del software, el núcleo
DSP causará interrupciones periódicas donde los tres valores sinusoidales se introducen
en 3 registros comparar (véase el capítulo 7). El TMS320F243 DSP creará el PWM
sincronizados simétrica deseada a través de los generadores de señales 6 PWM. Las 6
señales PWM se aplican a las 6 MOSFETs en el inversor de tres fases en el controlador
de motor de David Finn a través de los controladores MOSFET.

La frecuencia de la onda triangular es 20 kHz. Esto es compatible para su uso con los
MOSFETs existentes a bordo controlador de motor de David Finn. A pesar de esto,
debido a las finitos de encendido y los tiempos de giro fuera asociados con cualquier tipo
de interruptor, el diseño requiere la inclusión de retardos de tiempo ligeras cuando los
MOSFETs están cambiando. Una banda muerta es el retardo de tiempo entre la
desconexión de un MOSFET en una fase del inversor y de conectar el MOSFET
complementario. Esto asegura que cualquier retraso en el tiempo
la desconexión de un dispositivo no conduce a un cortocircuito de tiro a través de que
puede dañar el circuito cuando su pareja está encendido.

Figura 5.3. Pierna A en el inversor de puente completo

Si a su vez su atención a la figura 5.4, al PWM 1 es positivo, MOSFET A + llevará a


cabo. Cuando PWM1 es cero, su complemento, PWM2, será positivo, por lo tanto,
girando MOSFET A- El. Esto conectará suelo para la fase de una conexión para la
duración que PWM2 está encendido. Desde el punto de referencia de la máquina de
inducción, se ve una relación de voltaje de línea a línea entre la fase A y la fase B (VAB
= VA - VB). Esto se debe a que está conectado en un formato Y trifásica, esto se puede
ver en la Figura 5.5. Como consecuencia de esto, se crea una señal sinusoidal (véase la
figura siguiente).

Figura 5.4. esquemática PWM VSI y formas de onda [2]


Por lo tanto, el diseño de control de FO está aplicando esencialmente voltajes de línea a
línea a la máquina de inducción a partir de su punto de referencia. La máquina de
inducción dibujará corrientes que están determinados por la inductancia y la fuerza
contraelectromotriz. Los controladores PI que figuran en la sección del controlador
actual del diseño regular la corriente absorbida por la máquina de inducción.

5.5. El diseño general


Después de consideraciones teóricas, un diagrama de bloques del controlador FO
completa se puede ver sobre la página.

El diseño empleado aquí se refiere como “indirecta orientación del campo.” Esto se debe
a que este método utiliza un sensor de velocidad en el circuito de retroalimentación en
lugar de un sensor Hall que utiliza el método directo. ω * es el de entrada aplicada por el
usuario (el acelerador del coche). Esto se compara con la velocidad alcanzada del rotor
que se obtiene del sensor de velocidad.
Este se convierte entonces en una señal de par electromagnético Tem * a través del
controlador de par (este es un controlador PI). La velocidad obtenida del rotor también se
utiliza para fijar el rotor requerido flujo λr * que se necesita para ser creado en el motor
de inducción en el entrehierro. El 'Field-Debilitamiento del bloque' compara el valor de la
velocidad de entrada y salida a un valor de flujo deseada. En su mayor parte, el motor de
inducción requiere flujo del rotor constante, sin embargo, a altas velocidades positivas y
negativas, el bloque de debilitamiento de campo tendrá que disminuir el flujo de salida de
una manera no lineal. El Tem * y λdr * Las señales se convierten entonces en ISD y ISQ
señales utilizando las ecuaciones (5.4) y (5.6) que se ha indicado anteriormente.

Estos valores, que se encuentran en el marco de referencia de rotación, se convierten


entonces en tres fases a, b, los valores de c que se hace referencia en el marco
estacionario a través de inversas Clarke y Parque transformaciones. La transformada
inversa de Clarke requiere el ángulo de posición cuantificada de la rotor que se obtiene a
partir del codificador rotatorio. Esto se añade a la ángulo de deslizamiento para igualar el
ángulo de posición de la del flujo del rotor, rho. Los valores de corriente sinusoidal de
tres fases calculados se comparan entonces con las corrientes del estator medidas. Las
corrientes de error de tres fases se incorporan después en controladores de corriente.
Estos son bloques que contienen controladores PI que convierten la señal de corriente en
una señal de voltaje. Además, los controladores de corriente contienen
bloques de saturación que limitan la cantidad de voltaje que se puede aplicar a la
siguiente etapa. Las señales de voltaje sinusoidales se convierten en señales de PWM.
Estas señales PWM se amplifican por el inversor puente MOSFET de tres fases en el
controlador de motor existente y se introducen en los devanados del estator de la
máquina de inducción.
Figura 5.5. El diseño completo controlador FO en una representación de bloques
5.6. Las conclusiones extraídas del capítulo 5

Se concluye que FOC proporciona un medio fiable y eficaz de controlar el par y el flujo.
Para este proyecto, no es básicamente una entrada de par variable (el acelerador del
coche), que puede controlar directamente el par del motor de inducción por medio de
FOC. Además, FOC facilita la operación de cuatro cuadrantes, plena capacidad de par
motor a bajas velocidades y una mayor eficiencia (en comparación con el método
tradicional de control de voltios / frecuencia) para cada punto de funcionamiento en una
amplia gama de velocidades [4]. Por lo tanto, FOC es elegido como medio de control de
movimiento para este proyecto de tesis. Este diseño completo tendrá que ser probado en
un programa de simulación de ordenador llamado MATLAB. Todo esto diseño discutidos
excepto para la amplificación de las señales PWM comprenderá el diseño de código C
que se descargarán en el controlador DSP.
6. El diseño de MATLAB

El diseño MATLAB construido se utiliza para simular el diseño de control FO final


donde todos los parámetros, los procesos y las variables se modelan matemáticamente.
Además, el programa MATLAB puede convertir un diseño MATLAB en un diseño de
código C de una manera relativamente sencilla. Por lo tanto, esta etapa del proyecto de
tesis se ve que es de gran importancia.

6.1. MATLAB - Una introducción


MATLAB es un programa de simulación por ordenador desarrollado por Math Works
Inc. Embedded MATLAB dentro de la versión 6 es Simulink. Este es un programa que
permite al usuario crear bloques matemáticos con entradas y salidas; muy adecuado para
el diseño de un sistema de control de esta naturaleza. Una explicación adecuada de
MATLAB está más allá del alcance de este informe. Sin embargo, una característica
clave es que le permite simular su diseño durante un período de tiempo especificado. De
esta manera, se puede analizar el tiempo de respuesta del sistema de control.

6.2. diseño de la simulación MATLAB

Un diseño de control de MATLAB en última instancia, permite al diseñador para


comprobar su exactitud. Todos los bloques que fueron mostrados en la figura 5.6 se
pueden representar por las fórmulas matemáticas. Sin embargo, hay una gran dificultad
en la simulación de una máquina de inducción adecuadamente.
Desarrollo de un modelo de máquina SIMULINK inducción es un proceso bastante
complejo y extenso. Los problemas que pueden eventuate de esto son, en primer lugar,
que la construcción de un modelo correcto es un proceso largo y difícil. En segundo
lugar, si existe un problema en el diseño de la máquina de inducción generada, solución
de problemas a través del modelo de la máquina de inducción es una tarea muy larga y
tediosa; este estudiante experimentado esto. Por último, usted nunca será capaz de
modelar adecuadamente una máquina de inducción. Esto es debido a parámetros
imprevisibles tales como la temperatura, la saturación del flujo magnético, etc. A pesar
de todo esto, podemos obtener una buena idea general de cómo funciona el dispositivo y,
más importante, que por lo general las obras.
6.2.1. Control de orientación de campo utilizando SIMULINK
El modelo MATLAB completa puede verse a continuación en la Figura 6.2. Este diseño
SIMULINK esencialmente emplea todos los principios básicos de la indirecta de campo
de orientación que se discutió en la sección anterior. Como se mencionó, la velocidad del
rotor se utiliza para establecer el flujo del rotor deseado que se induce en el entrehierro de
la máquina de inducción. Para ello, se utiliza un bloque de “Look-Up Table” llamada
lambdare ^ r * en este diseño. El Look-Up Table coincide con el valor deseado de rotor
flujo de eje d a la de la velocidad mecánica, ωrm. Para velocidades inferiores a la base o
la velocidad nominal, el comando del flujo del rotor se establece igual a su valor sin
carga con una tensión de alimentación nominal, determinado por [6]:
(VE - jv e) = (r + L jw sqsdsqs
qsdsse ') x (es decir, - ji e) + (E' - jE ds') (6,1)

Más allá de la velocidad de base, la constante de velocidad de flujo se fija en el valor de


la velocidad base. Los valores de velocidad mecánica λdr * y son generados por un
archivo de m3 (esto se puede ver en el Apéndice E).

Figura 6.1. El bloque de tabla de consulta

Hay dos entradas en este sistema, ω * y T_load. La intención fundamental de este diseño
SIMULINK, es que la parte de control FO del diseño hará que el rotor para generar un
perfil de velocidad que sigue a la entrada de velocidad mandado, ω *. Para ello, la señal
de velocidad comandado se alimenta en la sección de FO del diseño en el que se resta de
la velocidad medida del rotor. El error generado se alimenta entonces en un bloque de
controlador de par. El bloque de controlador de par es un controlador PI que genera una
orden de par, Tem *. Este comando de par se utiliza para establecer el par
electromagnético inducido dentro del motor de inducción mediante el cálculo de un IQS
apropiadas * comando basándose en la señal Tem * generado y utilizando la ecuación
5.4.
Figura 6.2. El diseño completo SIMULINK
tem *, lambdare_r (La señal producida a partir de la tabla de consulta), junto con theta_r
(La integral de la velocidad del rotor) se introducen en el bloque FO_Controller.

Figura 6.3. El bloque FO_Controller

Las constantes utilizadas en este bloque son iguales a:


 Gain_G1 = (* 4 xr) / (3P * xm) = 0.05817
 Gain_G2 = 2 / P = 0,5
 Gain_G3 = 1 / xm = 6,711
 Gain_G4 = xr / (rr * xm) = 0,0163
 Gain_G5 = xm * rr / (lamdare_est * xr) = 177,72

El bloque FO_controller calcula matemáticamente IQS ^ e *, ids ^ e *, cos_rho y sin_rho


mediante el uso de ecuaciones 5.3 a 5.10. Todos estos son los resultados de este bloque y
son las entradas del siguiente bloque, el bloque dqe2abc. El FO_controller y bloques
dqe2abc regulan las corrientes sinusoidales aplicadas a la current_controller de acuerdo
con el par motor controlado electromagnética, Tem * y el flujo del rotor, lambdare_r. El
bloque dqe2abc puede verse a continuación. Utiliza los inversos Clarke y Parque
transformaciones; métodos utilizados para transformar los valores referenciados a lo
largo del marco de referencia de rotación, en valores de referencia en el bastidor
estacionario, mediante el uso de ecuaciones 5.8 y 5.9. isq e ISD, se utilizan para
establecer la magnitud de los valores actuales sinusoidales
producida por el bloque dqe2abc. rho establece la frecuencia o el desplazamiento
angular de las señales.

Figura 6.4. El bloque dqe2abc

Figura 6.5. El bloque Inverse_Park_Transform

Figura 6.6. El bloque Inverse_Clarke_Transform


6.2.2. El controlador actual
El propósito principal de este bloque es el de regular la señal de tensión aplicada al motor
de inducción. Las corrientes de fase medidas de la parte de realimentación del circuito
(ia, ib, ic) se restan de las corrientes comandadas (Ia *, ib *, ic *) El error generado se
alimenta a través de los controladores PI. Después de esto, se amplifica a niveles
significativos de tensión que la máquina de inducción puede funcionar fuera.

Figura 6.7. El bloque Current_Controller

6.2.3. El modelo del motor


Estamos tratando de simular una máquina de inducción simétrica trifásica, de 4 polos en
el marco de referencia estacionario con conexiones del bobinado. Para el análisis de
estabilidad dinámica pequeño, un marco de referencia de forma síncrona de rotación
produce valores de estado estacionario de las tensiones en estado estacionario en
condiciones equilibradas [6]. Necesitamos construir un modelo que incluye el flujo del
estator y el rotor se hace referencia a lo largo de los ejes dq. Esto es porque estos valores
se utilizan para calcular las tensiones inducidas en el rotor. Una vez más, los cálculos se
simplifican en gran medida cuando se hace referencia a todas las cantidades a lo largo de
la trama de referencia dq, sin embargo, en este caso, el marco de referencia dq es
estacionaria. Por lo tanto, la posición angular de la
rotor no está obligado a realizar las transformaciones. Los abc2qds bloquean ve en la
Figura 6.2 realiza esta transformación. El interior de la “máquina de inducción en
estacionaria QD0” bloque se puede ver a continuación:

Figura 6.8. La máquina de inducción en QD0 estacionaria

Explicación del funcionamiento de este bloque no es de gran relevancia para esta tesis.
En resumen, este bloque permite al diseñador:
 Mediante el uso de esta ecuación:
2Jωsegundo d (ωr/ ωsegundo) = T
em + Tmech - Thúmedo
pdt (6,2)
El rotor de velocidad mecánico se puede calcular, que es esencial para toda la
operación de este diseño SIMULINK.
 Observar la respuesta dinámica de este método de control de vector
 Ver lo bien que tal control mantiene constante el flujo del rotor durante los
cambios de par de carga.
6.3. Simulación del diseño MATLAB

Simulación del diseño propuesto MATLAB se ve en la figura 6.2 se considera que es de


gran importancia para el éxito de este proyecto de tesis. Mientras que la simulación da
una excelente visión de lo bien que funciona el diseño, sino que también permite al
diseñador para ser testigo de primera mano cómo todos los subsistemas dentro de los
trabajos de control FO juntos para producir los resultados deseados. Por lo tanto, el
diseñador puede alcanzar una comprensión más profunda de cómo funciona el control de
FO. Este conocimiento se encuentra principalmente mediante el uso de “Scopes.” Un
ámbito es un bloque SIMULINK que muestra señales en los nodos durante la simulación.
Las señales que se muestran desde los ámbitos son la base para la discusión en esta
sección del informe. La simulación estudiado se produjo más de 2 segundos. El método
de integración utilizado es paso variable, el método Dormand-Prince con un tamaño de
paso inicial de 0.0005s. En efecto, para utilizar con eficacia este método de integración
con seno y cos funciones requeriría un controlador de micro con alta potencia de
procesamiento. Esto pone de relieve por qué el controlador TMS320F243 DSP se utiliza
para una aplicación de esta naturaleza en vez de la Atmel convencional, HC11 etc. fichas.

6.3.1. Análisis de la respuesta de velocidad


La velocidad de respuesta de nuestro sistema de control diseñado es el resultado que es
de suma importancia para esta sección del proyecto de tesis. Al alimentar a un comando
de entrada de velocidad en el sistema, vamos a observar la velocidad desarrollada por el
rotor de la máquina de inducción con el tiempo. Los dos criterios principales que estamos
tratando de cumplir son:

1. Que el sistema desarrolla una velocidad de respuesta que se parece mucho


a la orden de velocidad de entrada.
2. Que el sistema es estable (la estabilidad es la especificación de
diseño más importante para cualquier sistema de control de
[7]).

Otros criterios que estamos buscando son para lograr una rápida respuesta
transitoria (aceleración rápida) y una respuesta que es “suave”.
Figura 6.9. Los resultados de la simulación de velocidad de MATLAB

Para la simulación llevada a cabo, la entrada de velocidad alimenta en este sistema (en la
figura 6.2) rampas a 200 rpm para la primera 0.5s y luego se mantiene a 200 rpm para el
1.5s restante; esto se puede ver en la figura 6.9. La otra curva, que se asemeja a un
segundo orden de respuesta del sistema de control de sobre-humedecido, es la velocidad
real desarrollado por el motor. La principal conclusión que se puede extraer de este
gráfico es que nuestro diseño funciona y no hay ninguna indicación sustancial de
inestabilidad. La curva de respuesta de velocidad se asemeja adecuadamente la curva de
comando de velocidad. De la figura 6.9, se puede observar que cuando el comando de
entrada de la velocidad es constante, la velocidad de respuesta es relativamente constante.
Por lo tanto, se concluye este sistema es aceptablemente estable. Recordando que este
esquema de control del motor sólo se utiliza para conducir un hiper o coche eléctrico,

Para esta simulación, el error de estado estacionario es de 8 rpm, que es 4%. Digamos,
por motivo de la discusión, que es equivalente a 200 rpm 60 km h-1 para el coche
eléctrico. Además, el usuario proporciona el comando de entrada de velocidad mediante
la aplicación de una fuerza sobre el pedal del acelerador. UNA
error de estado estacionario de esta magnitud no es de ninguna preocupación real como
el usuario simplemente presiona el pedal del acelerador hacia abajo hasta que él / ella ve
que la velocidad desarrollada por el coche está a 60 km h-1 a través de la lectura del
velocímetro en el tablero de instrumentos de la coche. Sin embargo, la inspección de la
figura 6.9 sugiere que hay espacio para acelerar la respuesta transitoria. Para ello,
tendríamos que añadir más ganancia proporcional al controlador de par (el controlador
PI para la señal de error de velocidad) [7]. Por lo tanto, se llevó a cabo un experimento
donde la ganancia proporcional se aumentó de 30 a 60. Los resultados pueden verse a
continuación:

Figura 6.10. La velocidad de respuesta del sistema de control, donde se aumenta la ganancia
proporcional del regulador de velocidad

Como se puede ver, la respuesta transitoria es más rápido, ya que sigue la pendiente de
orden de velocidad más de cerca. El problema con esta velocidad de respuesta es que la
respuesta de rampa no es muy suave; en cambio, es bastante grueso e irregular. Esto
indica la existencia de componentes de alta frecuencia que tienen las magnitudes de
voltaje significativos. Esto podría ser el ruido o armónicos. Ambos afectan a corto plazo
y a largo plazo el rendimiento de la máquina de inducción. Según Bose [3], los
armónicos pueden causar lo siguiente para una máquina de inducción:
Armonía:
 Puede causar daños de par y velocidad (frecuencia de reluctancia y golpes)
 Puede causar un sobrecalentamiento del motor debido a exceso de pérdidas de hierro y de cobre
 Causas transitorios de corriente de motor que sobrecargar la capacidad del inversor de conmutación.

Además, estos componentes de alta frecuencia, podría forzar los componentes mecánicos
que están conectados al rotor. Un punto importante que debe ser reforzada es que
MATLAB es un programa que modela todos los procesos físicos involucrados con este
controlador de motor matemáticamente. No tiene en cuenta variables tales como el calor,
la saturación magnética, etc. Con la presencia de componentes de alta frecuencia, que no
hemos visto cómo estas variables o una respuesta rápida velocidad pueden afectar el
funcionamiento de la máquina de inducción. Si ahora se aumenta la ganancia
proporcional del 30 al 90, el sistema se vuelve inestable, como puede verse en la figura
6.11. Nuestra señal de control de velocidad no tiene influencia significativa en la
velocidad desarrollado por el motor, por lo tanto, nuestro diseño de control ya no es un
control adecuado de la máquina de inducción.

Figura 6.11. La velocidad de respuesta del sistema con una ganancia proporcional del 90
Por lo tanto, se concluye que el aumento de la ganancia proporcional del regulador de
par hará lo siguiente:
 Cualquiera de amplificar o introducir componentes de alta frecuencia en el
sistema que puede dañar la máquina de inducción.
 El sistema se aproximará a la inestabilidad que incumpla las
especificaciones de diseño fundamental de cualquier esquema de control.

Por lo tanto, la ganancia proporcional del regulador de par es elegido para ser 30.
Basándose en el análisis MATLAB, obtenemos una respuesta transitoria adecuada de
esta. Además, la respuesta transitoria no dispone rápidos transitorios y nítidas de
cualquier tipo. Parece ser una opción confiable y segura. Si uno donde para optimizar la
respuesta transitoria de este sistema, que tendrían que realizar pruebas físicamente por
ensayo y error como MATLAB no realmente demostrar exactamente cómo se comporta
la máquina de inducción.

6.3.2. Análisis de la Sección Campo orientada del Diseño


En las etapas posteriores del capítulo 4, se mencionó que para aumentar la velocidad del
rotor, hay que aumentar la tensión y la frecuencia en la misma proporción. Esto asegura
que mantenemos un flujo magnético constante en el entrehierro del motor de inducción.
En esta sección del informe, a través del uso de endoscopios colocados en los nodos de
interés, veremos que FO se aplica este principio de funcionamiento de velocidad. Si a su
vez su atención a las cifras
6.12 a 6.14, vemos cómo el control FO transforma las señales de CC comandadas
aplicada por el usuario y las señales de realimentación en señales sinusoidales que la
máquina de inducción requiere.
Figura 6.12. Los gráficos superior e inferior son los cos (rho) y sin (rho) indica respectivamente.

Figura 6.13. Los ID ^ e ^ e IQS y * * curvas a través del tiempo


Figura 6.14. La señal aplicada a la fase A del motor de inducción y la corriente consumida en la fase A

control de FO también se conoce como control de vectores, ya que controla tanto la


magnitud y la fase de la señal de tensión aplicada a los devanados del estator del motor
de inducción. La manera en que los cambios de fase en el tiempo para el cos_rho y
señales sin_rho (figura 6.12) es muy similar a la forma en que la señal de tensión de fase
desarrolla con el tiempo (figura 6.14). Además, los CI señal de rampas para la primera
0.5s entonces se mantiene constante (figura 6.13). El desarrollo de amplitud de la señal
de tensión de fase tiene un perfil similar. Por lo tanto, las señales de sin_rho cos_rho y
controlar la fase, mientras que los CI y los identificadores de señales controlan la
magnitud. Por lo tanto, es a través de estas señales (todos los cuales se producen en el
bloque de FO_controller) que el control FO logra el control vectorial. Además,

El principio de aumento de la magnitud del voltaje y la frecuencia en la misma


proporción con el fin de mantener un flujo del rotor constante es la base para la
aplicación voltios escalares por método de control de velocidad hertz. Sin embargo, las
ecuaciones utilizadas para ejecutar el control FO consideran los parámetros del motor,
por lo tanto, conseguimos un mejor control sobre torque
variaciones. control de FO también tiene la ventaja de extender el rango de velocidad
de operación a través de debilitamiento de campo. Finalmente, el control FO es un
método de control de torque. Esto se adapta a los requisitos del diseño de este control
tesis.

6.3.3. La importancia de la retroalimentación


Si bien el diseño de MATLAB se muestra ilustra el comportamiento de una solución de
trabajo, podemos utilizarlo para demostrar cómo el sistema podría funcionar si los
componentes fallaron. ¿Qué perfil de velocidad sería el rotor desarrollarse sin
realimentación de velocidad? Podemos responder a esta pregunta con MATLAB. Por la
simple eliminación de la ruta de realimentación desde el diseño que se muestra en la
figura 6.2, podemos ver cómo el sistema funciona sin realimentación. Esto pone de
relieve por qué el análisis de MATLAB es una etapa intrínseca en el desarrollo de un
controlador de motor de trabajo. Observe la figura siguiente:

Figura 6.15. La velocidad de respuesta del sistema sin realimentación es decir, la respuesta de
bucle abierto del sistema de

Como puede verse, no existe un control adecuado sobre la respuesta de estado


estacionario del sistema. Por lo tanto, no tiene estabilidad. Por otra parte, la
respuesta transitoria es errático y
sin control. Esta simulación pone de relieve la necesidad de retroalimentación en este
sistema. Debido a esto, es muy importante que el codificador funciona realmente y que
ejecute el análisis de retorno de velocidad correctamente en el diseño de software. Si no,
el motor de inducción viajará a velocidades más altas que mandamos y el sistema se
vuelva inestable. Para una aplicación como un hiper o coche eléctrico, esto no sería muy
bueno en todo.

6.4. Las conclusiones extraídas del capítulo 6


 Hemos visto cómo FO de control en un motor de inducción puede ser modelado
y probados utilizando SIMULINK.
 Mediante la simulación del sistema de control mostrado en la figura 6.2,
se encontró que esto se desarrolló una buena velocidad de respuesta y
no había una estabilidad adecuada.
 Se concluyó que el controlador de par debe tener una ganancia proporcional del
30, ya que esta parece ser la opción más segura y fiable basado en los resultados
de la simulación.
 El aumento de la ganancia proporcional del regulador de par o bien introducir o
amplificar el ruido y / o armónicos. Esto afecta a corto plazo y a largo plazo el
rendimiento de la máquina de inducción. También, mediante el aumento de la
ganancia proporcional del regulador de par, el sistema se aproxima a regiones
inestables de operación.
 En el capítulo 4, se dijo que para aumentar la velocidad del rotor, tenemos
que aumentar la magnitud y la frecuencia de la señal de tensión en la
misma proporción. Hemos encontrado que el control FO emula este
principio.
 A partir de los resultados de la simulación del sistema sin realimentación de
velocidad, fuimos testigos de que la velocidad de respuesta se vuelve inestable
y peligroso.
7. El Diseño de Software

7.1 Una descripción básica de cómo se organiza el software

Esta sección del proyecto de tesis se ocupa de la formulación de un diseño de software


que va a dar instrucciones al controlador DSP en la medida en que el diseño se puede
controlar el par y el flujo del motor de inducción de una manera disociada. El diseño del
software es el punto de convergencia para este proyecto de tesis. Esto se debe a que es el
punto en el que todas las teorías y prácticas presentadas en el transcurso de este informe
vienen a formar juntos un diseño de software apropiado. El controlador DSP manda el
funcionamiento del hardware mediante el uso del diseño de software. El diseño de
software construida es un diseño de código C. Programación de DSP en un lenguaje de
alto nivel como C proporciona portabilidad y facilidad de mantenimiento.

comienzo

Inicializar los parámetros y los ISR. Escribir en los registros utilizados para PWM, la detección del
codificador, ADC y SCI
interrupción periódica
mientra provocada por Timer1
Resultados s que Pulso
A/D (1)
detección
sobre los
pasadores
QEP ISR codificador PWM ISR

Calcular las 3 corrientes de fase extraídasCalcular la entrada


por el motor de velocidad deseado en rps
de inducción
Acelerador
entrada

+
Alimentar a los
_ valores de tensión
Calcular la velocidad y la posición del rotor. trifásica existentes
en los tres PWM
Calcular la requerida Calcula el comparar los
par electromagnético flujo del rotor requerido registros

Regreso Regreso
Calcular el IQS e ^ * mandado, ids ^ e * y ρ
Calcular las tres corrientes de fase requeridos
usando transformadas de Clarke y Parque

_ + tensiones de fase
controlador PI +
limitación de la
tensión

Figura 7.1. El diagrama de flujo para este proyecto de tesis


arquitectura de procesador.

El diagrama de flujo mostrado en la página anterior es más complejo que un diagrama de


flujo estándar utilizado para un microprocesador. Una de las diferencias inherentes entre
un controlador DSP y otros microprocesadores es que tienen la capacidad de recibir y
múltiples fuentes de servicio de interrupción muy rápidamente. Esto pone de relieve una
vez más la necesidad de un controlador DSP tan sofisticado como el TMS320F243. La
sección de inicialización es donde se inicializan todas las variables y constantes que se
utilizarán en el programa. El método void initalise_parm (void) inicializa todas las
variables y constantes, así como llamar a la PWM, el ISR, la conversión A / D y los
métodos de configuración en serie Interfaz de comunicaciones (SCI). En estos métodos,
todos los registros pertinentes asociados a estos procesos se escriben apropiadamente a.

El programa principal es esencialmente la parte de control de campo Orientado del


diseño. Hay dos rutinas de interrupción (esto puede cambiar por el momento en que se
presenta el producto final).
La rutina de servicio de interrupción PWM (ISR) se introduce en forma regular de una
manera en tiempo real. El período de tiempo PWM se establece por TIMER1, un registro
interno dentro del controlador DSP que se puede ajustar a un múltiplo entero del periodo
de reloj. Los detalles de esta rutina se verá en la sección 7.3. Se pide a la segunda ISR
cuando el DSP detecta un pulso en cualquiera de las QEP1 o QEP2 pasadores desde el
codificador. El código incrustado dentro de este ISR se detalla en la sección 7.4. En el
momento de este informe se ha cumplido, el código del codificador no fue totalmente
probado. Se anticipa que no habrá necesidad de un ISR codificador y el código utilizado
para calcular el ángulo de posición del rotor y la velocidad del rotor será incrustado en el
ISR PWM.

7.2. El programa principal - la parte de control de


campo orientado del Diseño de Software

Esta sección del diseño esencialmente emula los procesos presentados en el capítulo 6
del diseño de Simulink. Haciendo referencia de nuevo a la figura 6.2, estamos
formulando un diseño de software que se aplica el bloque de suma inicial, el regulador
de par PI, la
bloque FO_Controller, el bloque dqe2abc y el bloque controlador de corriente. Se
mencionó anteriormente que podríamos generar un diseño de código C a partir del diseño
de MATLAB usando el taller en tiempo real. Cuando este proceso se llevó a cabo, se
encontró que el código C generado no era muy eficiente en la forma en que utiliza las
variables que declaró. Además, el código de MATLAB genera utiliza variables
denominadas “Temp 1, Temp 2, etc.”; esto impide las ventajas de portabilidad y
mantenibilidad asociados con el uso de código C. Mediante el uso de variables
“temporales”, es difícil ver cómo se desarrolla el control FO dentro del programa. Como
resultado, se hace que la optimización del código de un proceso difícil. Por lo tanto, se
concluye que el código generado en el taller en tiempo real es una buena guía en cuanto a
cómo construir el programa. Sin embargo,

7.2.1 El controlador de par y debilitamiento de campo


Todas las constantes y variables utilizadas en el programa principal se declaran al
comienzo del programa. El siguiente diagrama de flujo representa el regulador de par y
cómo se utiliza para generar la señal de par electromagnético mandado:

error de +
velocidad error de velocidad × Kp
tem *
+

Integrator1

Figura 7.2. La señal de error de velocidad, el WRM, es la entrada para el regulador de par y Tem * es la salida

La señal Speed_input se pone a disposición mediante el uso de la interfaz de SCI. El


valor de la variable Speed_feedback se actualiza cada vez que se detecta un impulso de
codificador y el ISR Encoder (esto será visto en la sección 7.4) se solicita. Por lo tanto, la
variable de error de velocidad generada, wrm, se utiliza en la sección del controlador de
par de este código. La sección de ganancia integral del regulador de par está simplemente
representada por Integrator1. El código utilizado para generar el valor Integrator1 se
puede encontrar en la sección de bloques de la Integrator
diseño de software (ver Apéndice A). El siguiente código se utiliza para generar la
Integrator1 valor:

/ * El cálculo de Integrator1 utiliza la regla trapezoidal, donde * /


/ * Actualiza su magnitud mediante la integración en el tiempo período*/
/* para Timer1. * /

Integrator1 = Integrator1 + timer1_period * Gain_Ki * wrm;

A medida que el comentario inicial sugiere, la regla trapezoidal se utiliza para integrar el
valor del WRM. Si a su vez su atención a la figura 7.3, podemos ver cómo funciona la
regla trapezoidal con el tiempo para una señal de error de velocidad constante. Cada vez
que se procesa esta parte del código, se añade el valor Integrator1 existente para el
período TIMER1 multiplicado por la señal de error de velocidad, wrm y la ganancia
integral del compensador PI, Ki. Por lo tanto, el diseño del software está creando
efectivamente un perfil escalonado en el tiempo. Esto tiene sentido si tenemos en cuenta
que la integración de una línea recta es constante o una pendiente lineal. La línea azul
continua dibujada entre los bloques de color rosa en la figura 7.3 demuestra que mediante
el uso de la regla trapezoidal, creamos una pendiente lineal desde un valor wrm
constante. El diseño de software sólo requiere el valor de cada periodo Integrator1
CRONOM1.
La aplicación de la regla trapezoidal con el tiempo
2.00E-04 40
El valor de Integrator1

1.80E-04 35
1.60E-04 30
1.40E-04 25
1.20E-04 20
1,00E-04 15
8.00E-05 10
6.00E-05 5
4.00E-05 0
2.00E-05
0.00E + 00

123456789 10 11 12 13 14 15 16 17 18
interrupciones CRONOM1

Figura 7.3. Una representación gráfica de cómo la regla trapezoidal desarrolla el valor
integrador con el tiempo para una señal de error de velocidad constante
Si se utiliza el controlador del motor durante un largo período de tiempo y que no
reduzca la velocidad del motor de inducción en cualquier fase de la operación, el valor
Integrator1 llegará a alcanzar un valor relativamente grande. No queremos que esto
suceda. Esto es porque el comando de par electromagnético generado podría alcanzar
valores fuera de los límites posibles de funcionamiento del motor de inducción. La otra
posibilidad es que el valor Tem podría desbordarse. Por lo tanto, el valor pasa de ser
relativamente grande para ser de ser muy pequeña en un ciclo de reloj. Mediante el uso
de una instrucción if-else se muestra a continuación (Figura 7.4), que inhibe ninguna
probabilidad de cualquiera de estos escenarios se producen.

Integrator1 =
Sí Integrator1
Integrator1_US
Integrator1 Si (Integrator1>
Integrator1_US
)

No

Sí Integrator1
Si (Integrator1> Integrator1 =
Integrator1_LS) Integrator1_LS

No Integrator1
Figura 7.4. Limitar el resultado de la
integración

En el capítulo 6, el diseño SIMULINK utiliza una tabla de consulta para lograr el


debilitamiento de campo. Podríamos crear el mismo en este diseño de software, sin
embargo, habría que tener en cuenta todas las posibles valores de velocidad. Por lo tanto,
la tabla de consulta sería bastante grande y podría forzar los límites de memoria.
Mediante la instrucción if-else se muestra, un flujo constante se mantiene por debajo del
límite de la velocidad nominal. El Constant_flux establece el lambdare_r señal de flujo
aplicado a ser constante a 0,571 Wb. Esto es fundamental cuando el motor de inducción
está funcionando en la región de par constante. Fuera de esta región (la región de
potencia constante), la CPU DSP disminuirá el valor del flujo estableciéndola igual a la
inversa del cuadrado de la señal de error de velocidad multiplicada por cien. El resultado
del uso de esta técnica puede ser visto a través de la página:

Speed_feedespalda Si (Speed_feedback > Lamdare_r
rated_speed) debilitamiento de
campo

No
Lamdare_r
Lambdare_r = el
valor de flujo
nominal
Figura 7.5. Cálculo del flujo del rotor requerido: Lambdare_r

Field_weakening mediante la instrucción if-else

0.7

0.6

0.5
mandado Flux

0.4

0.3

0.2

0.1

0 20 40 60 80 100 120
error de velocidad

Figura 7.6. Los resultados del uso de la técnica de debilitamiento de campo utilizado en el diseño de software

7.2.2. Cálculo del IQS ^ E *, identificaciones e ^ *, cos (Rho) y sin (RHO)


Esta sección del diseño del software es equivalente al bloque FO_Controller visto en el
diseño SIMULINK se muestra en el Capítulo 6. El código utilizado para generar las
variables de control FO se puede ver en el Apéndice A. Estos valores calculados son
fuertemente dependientes de la resistencia del rotor y el estator valores. Una
consideración de diseño que no ha sido explotada por este diseño de software, es que los
valores de resistencia de rotor y estator de resistencia cambian a medida que la máquina
de inducción se hace funcionar con el tiempo. Esto es porque el motor de inducción se
calienta y la magnitud de resistencia de los devanados del estator y bares del rotor es
proporcional al calor. Mientras que no requieren un control preciso de la velocidad, los
efectos del calor
puede llegar a ser significativa con el tiempo. Por lo tanto, si este fuera el diseño de
software para ser optimizado en el futuro, el diseñador debe considerar seriamente
la inclusión de un autoajuste FO módulo de control.

Los métodos utilizados para calcular las corrientes del estator a lo largo de la cuadratura
y el eje directos están empleando simplemente las fórmulas visto en el capítulo 5. Para
calcular rho, el diseño del software utiliza otra variable Integrator. Este método
integrador de nuevo utiliza el método trapezoidal; el código utilizado para crear este
valor puede verse a continuación:

/ * La magnitud de Integrator2 se actualiza durante el período de tiempo para el Temporizador 1


* /

Integrator2 = Integrator2 + slip_speed * timer1_period;

Sí Integrator2
Integrator2 Si (Integrator2 => 3600 ) Integrator2 = - 3600
(~ Slip_angle)

No Integrator2

Figura 7.7. la prevención de desbordamiento del ángulo de deslizamiento

Esta vez no limiten el valor integrador de los límites superior e inferior. Esto es porque el
valor Integrator2 es esencialmente el ángulo de deslizamiento que se discutió en el
capítulo 5. Por lo tanto, con el fin de asegurar que el desbordamiento de este valor no se
produce nunca, si el ángulo de deslizamiento es igual o mayor que 3600, 3600 se resta de
la corriente deslizarse valor de ángulo. Esto restablecerá el valor del ángulo de
deslizamiento de 00 o inferior. El resultado con el tiempo se puede ver en la figura 7.8;
se ve como una ola “dientes de sierra”.

Después de que el controlador DSP calcula el ángulo de rho, calcula el seno y coseno de
rho. Para ello, se requiere la utilización de las funciones de la biblioteca de la
matemáticas. Esto consume algo de tiempo de ejecución del programa valioso. Todos
estos valores se utilizan en el Parque inversa transformada.
Demostración del ángulo de deriva con el tiempo
400

350

300
ángulo de deslizamiento

250

200

150

100

50

0
0 20 40 60 hora 80 100 120 140

Figura 7.8. Desarrollo del ángulo de deriva con el tiempo

7.2.3. La sección de control de corriente del diseño de software

solicitud CRONOM1 ISR

Ia_comman +
controlador PI dieciséis
d Ia_command

Va_command
-
Ia_feedback CRONOM1
registro de comparación # 1

Figura 7.9. Este diagrama de flujo muestra cómo las obras de sección del regulador de intensidad

Al comienzo de esta sección del código, hay una unión sumadora de las corrientes de
fase mandado y las corrientes de retroalimentación. Después de esto, cada error de
corriente de fase se alimenta a través de sus propios controladores PI. Una vez más, se
emplean métodos de integración que utilizan la regla trapezoidal y un if-else para
limitar los valores calculados.
La limitación de los valores es muy importante porque evita que los números que son ya
sea negativo o mayor que la amplitud de la onda triangular de la CRONOM1 de ser
enviado a la PWM comparan los registros. ganancia proporcional del compensador PI se
utiliza para escalar el valor de error actual.
7.3. La rutina de servicio de interrupción PWM

El diseño de software genera señales PWM complementarios simétricos a 20kHz donde


TIMER1 se utiliza como una base de tiempo. El período TIMER1 se establece en el
método PWM_setup () para ser 500 (20 kHz = 20Mhz / (500 * 2) y 20 MHz es la
velocidad de reloj). Con la creación de los registros correspondientes en el modo de
contaje continuo, la unidad DSP puede generar una onda triangular que se compara con
el valor colocado en los tres registros TIMER1 comparar. Debido a que el diseño
requiere 6 señales PWM y sólo escribir a 3 comparar registros, tenemos que establecer el
registro de control GP CRONOM1 en el modo “Time Fuente simétrica”. Esto significa
que para la señal PWM en la fase A, su complemento también se produce. Por lo tanto,
las señales PWM simétricas trifásicas se generan como consecuencia.

Para ilustrar cómo se generan las señales PWM, vamos a enviar los siguientes valores
en los tres comparar registros para generar formas de onda de las siguientes:
 CRONOM1 periodo de registro, TPR = 5h
 CRONOM1 comparar register1, CMPR1 = 3h
 CRONOM1 comparar register2, CMPR2 = 2h
 CRONOM1 comparar register3, CMPR3 = 4h

Figura 7.10. Las formas de onda PWM generadas con banda muerta activados [11]
Como puede verse, la amplitud de la onda triangular generada es 5 y su período es 10.
TIMER1 registro de comparación 3 se envió el mayor valor de comparación (4h), sin
embargo, tenía la relación de trabajo más pequeño de todos las formas de onda no
complementado. Basado en esto, el proceso de PWM inversas efectivamente el número
alimentado en el registro de comparación.

Figura 7.11. Muestra la infraestructura interna del controlador DSP que se ocupa de la generación
de PWM (uso figura en la página 7 de la generación en tiempo muerto) [11]

Como puede verse en el diagrama anterior, tenemos que programar el registro GP


temporizador 1 para proporcionar el período PWM correcta. Además, los tres comparar
unidades tendrán que ser alimentados los valores comparar deseadas (los valores de
corriente de tres fases) cada vez que se solicita la PWM ISR. Los registros asociados con
la generación de PWM y simétrico de banda inactiva de control tienen que ser activado
correctamente.

Cuando el temporizador GP está en este modo, el estado de la salida del generador de


forma de onda se determina por la siguiente:
 0 antes de que comience la operación de recuento
 Permanece sin cambios hasta el primer partido comparar
 Alterna en el primer partido comparar
 Permanece sin cambios hasta el segundo partido de comparar
 Alterna en el segundo partido de comparar
 Se mantiene sin cambios hasta el final del período.

La solicitud de una interrupción cada periodo CRONOM1 es fundamentalmente


importante si PWM es implementado. Hay tres pasos que deben realizarse para
garantizar que la rutina de servicio de interrupción asociado con PWM se solicita a
intervalos regulares:

1. Definir la rutina de interrupción en el archivo xC. Para este diseño de


software, el código siguiente se utiliza para lograr esto:
#define PWM_ISR c_int2

PWM_ISR (void) {

2. Un método de interrupción de inicialización debe ser declarado antes del


tiempo (1) Declaración comienza a funcionar. En este inicializar método de
interrupción, el registro de máscara de interrupción (IMR) y el grupo de una
interrupción de registro de máscara (EVIMRA) debe ser escrito
adecuadamente a, mientras que las interrupciones deben estar habilitadas
usando INT_ENABLE:
IMR = 0x0002;
EVIMRA = 0x0100;
INT_ENABLE;
Observe que 2h se escribe en el registro de IMR, esto permite que todas las
interrupciones en el segundo nivel en la sección de expansión periférica de
la TMS320F243 estructura interna.

3. En el vectors.asm archivo, el nivel que la rutina de interrupción se ejecuta


en y el nombre del ISR debe indicarse.
Figura 7.12. La expansión periférica de interrupción Diagrama de Bloques [11]

Debido a que el núcleo de DSP no puede manejar todas las solicitudes de interrupción
periféricos a la vez, tiene un controlador de interrupción centralizada que se utiliza
para arbitrar los 6 niveles de solicitudes de interrupción. El TMS320F243 tiene un
controlador llamado la expansión periférica de interrupción (PIE) que organiza ISR
cuando se presentan. El controlador DSP entra en una operación de IRQ Nivel 2 cada
vez que se correspondía con el periodo TIMER1. El c_int2 declaración indica al
procesador interno del controlador DSP que el ISR de nivel 2 interrupciones está aquí.
7.4 El codificador de rutina de servicio de interrupción

En el momento de este informe se construyó, no había sido completamente probado


que el diseño del software funcionaría sin la necesidad de un ISR codificador. Sin
embargo, la comprensión de los antecedentes detrás de la detección del codificador es
importante si usamos un ISR codificador o no. Se solicita esta ISR cada vez que el
controlador DSP detecta un pulso ya sea en el QEP1 o pasadores QEP2. Si usted tiene
una mirada en el interior del controlador DSP relativas a la detección de impulsos del
encoder, se verá que los pasadores QEP se conectan al registro TIMER2.

Figura 7.13. La arquitectura interna del procesador del controlador TMS320F243 DSP
que se ocupa de la detección de impulsos del encoder [13]

Cada vez que se detecta un pulso, el registro TIMER2 retiene el número acumulado de
pulsos de reloj del contador de funcionamiento libre. También permite que sea el CAP1 o
registros CAP2. Estos registros están en la sección de expansión periférica de
interrupción de la arquitectura del procesador. Por lo tanto, se elevará la PAC
interrupción banderas, haciendo que el programa de software para llamar a la ISR
codificador. La declaración de método codificador ISR puede verse a continuación:

#definir encoderISR c_int4


encoderISR (void)
{
Esta vez, se solicita una interrupción en el cuarto nivel del procedimiento operacional
IRQ como el ISR se definió con c_int4. Si se hace referencia de nuevo a la figura 7.12, la
única interrupción
señales en el cuarto nivel son CAP1, CAP2 y CAP3, corresponden cada una a las
señales aplicadas a QEP1, QEP2 y que no es necesario tener en cuenta CAP3.

si (old_cnt! = No
T2CNT) Volver al menú principal

Theatre_r = + 0,180 calcular la velocidad

No old_cnt = T2CNT
si (Theatre_r => 3600 )


Theatre_r
- = 3600

Volver al menú principal


Figura 7.14. El diagrama de flujo para la detección del codificador sin solicitar un ISR

En el diagrama de flujo se muestra, se calcula el ángulo de posición del rotor, theatre_r y


la velocidad del rotor, Speed_feedback. En el Capítulo 3, se afirmó que cada vez que el
codificador aplica un pulso, el rotor se ha movido por 0.180. Por lo tanto, sólo tenemos
que añadir 0.180 cada vez que se ejecuta esta porción de código. Tenga en cuenta
también que el diseño del software ha una vez más limitado el ángulo utilizando el
“método de sierra de dientes” que se explica en la sección 7.2.2.
Un factor que esta parte del diseño de software tendrá que tener en cuenta es la forma
de calcular la velocidad cuando el T2CNT desborda.
7.5 La conversión A / D

El diseño de control FO realiza la conversión A / D con el fin de leer los valores de


corriente de fase en la sección de realimentación del diseño de software. Para calcular los
valores de corriente de fase, el código siguiente se llevó a cabo:
/ * Captura de las señales de corriente a través de los convertidores A / D, cada uno
señal*/
/ * Captura causará 850nsdelay para una
20Mhz-reloj ciclo * / Ia_feedback = GetADC (1);
Ib_feedback = GetADC (2);

/ * Utilización del equilibrado condición 3 fase Y para un*/


/ * Inducción motor*/
Ic_feedback = - (Ia_feedback + Ib_feedback);

/ * La conversión a los valores de corriente analógicas * /


Ia_feedback = -512;
Ib_feedback = -512;
Ic_feedback = -512;

Ia_feedback = *
Gain_Kc;
Ib_feedback = *
Gain_Kc;
Ic_feedback = *
Gain_Kc;

El GetADC método (canal int), como el nombre sugiere, devuelve un A / D convierte


valor. Con la aprobación de un número a través de este método, el DSP lee el canal A / D
apropiado. En el controlador de motor, las corrientes en las fases A y B conectados a las
patillas ADCIN01 y ADCIN02 respectivamente en la unidad DSP. Por lo tanto, los
canales que el deseo son los canales 1 y 2 para obtener los valores de corriente para las
fases A y B. El diseño de software tiene que convertir estos valores de corriente a un
intervalo que se puede comparar con los valores comandadas generados. Por eso 512 es
restado y cada valor de corriente de realimentación se multiplica por “Gain_Kc”.
7.6. Observaciones finales

En este capítulo se presentan las medidas teóricas detrás de la generación de un diseño de


software correcta para cumplir con las especificaciones de los sistemas. Sin embargo,
para ejecutar correctamente el diseño de software requeriría la realización de diversas
pruebas que evalúan cada sección del diseño de software. Por ejemplo, para llevar a cabo
la conversión A / D correctamente, la precisión de los transductores de corriente tendrá
que ser probado. Por lo tanto, el factor de escala tendrá que ser ajustada adecuadamente.
Un número de las pruebas requeridas se pondrá de relieve en la siguiente sección; Sin
embargo, se prevé que antes del día de demostración se han completado todas las
pruebas.
8. Rendimiento Proyecto Fin de Carrera y Evaluación

Ya hemos visto en el capítulo 6 que FO control proporciona un excelente par y control de


velocidad. En este capítulo, se verá las diferentes pruebas que se utilizan para generar
una solución de trabajo. Esto se debe a que tenemos que comprobar una serie de áreas en
el diseño de software basado en el conocimiento limitado que tenemos. Era difícil llevar
a cabo todas las pruebas necesarias en el momento de este informe se debió que la placa
de evaluación DSP y código de ejemplo C se pusieron a disposición en una etapa tardía.

8.1. programa de pruebas de PWM

El código completo de este programa puede ser visto en el Apéndice B.


Función:
a) El programa de pruebas de PWM fue desarrollado para probar la exactitud del
programa principal de control del motor.
b) Este programa de prueba indicará si hemos habilitado correctamente todos los
registros apropiados asociados con PWM.

Técnica empleada:
El cos_rho y las variables sin_rho se establecen en valores constantes (1 y 0),
respectivamente, y la señal de error de velocidad, el WRM, se establece en 25rps. Este
programa, en consecuencia procesarán a cabo formas de onda PWM predecibles. Vamos
a utilizar una CRO para ver estas formas de onda. Con el fin de predecir los resultados,
se realizaron los siguientes cálculos:

 Tem * = Gain_Kp × wrm = 30 × 25 = 750;


 IQS * = Gain_G1 × Tem * ÷ λdr = 0,05817 × 750 ÷ 0.571 = 76.405;
 ids * = Gain_G3 = 6,711 x 0,571 = 3,832;
 iα = cos_rho × ids * - sin_rho × IQS * = 3,832;
 iβ = cos_rho × IQS * + cos_rho × IQS * = 76,405;
 IA = Gain_G6 × iα = ⅔ × 3,832 = 2,555;
 ib = - (Gain_G7 × iα) + (Gain_G8 × iβ) = - (⅓ × 3,832) + (√⅓ × 76.405) = 42,835;
 ic = - (Gain_G7 × iα) - (Gain_G8 × iβ) = - (⅓ × 3.832) - (√⅓ × 76.405) = -45,389;

Compruebe si se ha satisfecho la condición Y trifásica equilibrada:


2,555 + 42,835 a 45,389 ≈ 0

 Va = 250 + (3,125 x 2,555) = 257,984


€ relación de trabajo de la onda no complementada A = Resultados (1 -
257.984 / 500) = 0,484;
 Vb = 250 + (3.125 x 42.835) = 383,86
€ relación de trabajo de la onda no complementada B = Resultados (1 -
383,86 / 500) = 0,232;
 Vc = 250 + (3.125 × -45.389) = 391,841
€ relación de trabajo de la onda no complementada C = Resultados (1 -
391,841 / 500) = 0,784;

resultados:
Cuando este programa se ejecuta en el controlador DSP, se produjeron las siguientes
formas de onda PWM:

(una)

(segundo)
(do)

(re)

Figura 8.1. Las formas de onda PWM observados en la CRO (a) Fase A, PWM # 1, (b)! Fase A, PWM # 2,
(C) Fase B, PWM # 3 y (d)! Fase B, PWM No. 4

Las cosas que pueden ser observadas a partir de estas formas de onda:
€ El controlador DSP TMS320F243 y el trabajo circuitos circundante.
€ la principales números de abdominales programa cabo según las
especificaciones.
€ Hemos habilitado correctamente los registros de PWM y el
controlador DSP ha demostrado que se puede realizar
interrupciones PWM.

8.2. programa de pruebas codificador # 1

El código para este programa puede ser visto en el Apéndice C.


Función:
Como se mencionó en la sección de diseño de software, se anticipa que no hay necesidad
de crear un ISR codificador. El siguiente código se investiga si es posible leer el registro
T2CNT sin un codificador ISR.
Técnica empleada:
Esta vez, vamos a tener un programa de prueba sencilla que envía valores conocidos
en el PWM se comparan los registros. Una onda cuadrada de 10 kHz que se suministra
desde un generador de función se va a aplicar a la QEP pin # 1 del controlador DSP.
Considere la siguiente línea de código:
compval = T2CNT / 32; / * desplazamiento a la derecha del
MSB de leds * / PDDATDIR = (PDDATDIR y
0xFC1F) | compval;
para (temp = 0; temp <50.000; temp ++);

Este código lee el valor T2CNT y lo envía puerto D. Para la placa de evaluación
utilizado para llevar a cabo estas pruebas, 8 LEDs están conectados a las patillas de
puerto D del controlador DSP. La sentencia do utilizado crea un retardo de tiempo para
que podamos ver visualmente que los LED parpadean.

resultados:
Antes de que el generador de funciones estaba conectado a los pines QEP, todos los
LEDs eran luminosos. Tan pronto como el generador de funciones se conecta, los
últimos tres LED comenzaron a parpadear. Por lo tanto, podemos concluir lo siguiente:
€ Hemos habilitado correctamente todos los registros que están
asociados con la detección del codificador.
€ Podemos leer T2CNT sin entrar en un ISR codificador.

8.3. programa de pruebas codificador # 2

El código de este programa de prueba se puede ver en el Apéndice D.


Función:
Este programa de prueba se utiliza para probar el cálculo de la velocidad angular del
rotor en base a los impulsos detectados por los pasadores QEP. Además, también puede
observarse la observación de cómo la detección de impulsos del codificador afecta a la
estabilidad de las ondas PWM. La razón por qué este interés, se debe a que las formas
de onda PWM tienen una frecuencia de 20 kHz, sin embargo, el tren de pulsos del
codificador es de frecuencia variable.
Técnica:
Una vez más, una onda cuadrada de 10 kHz se aplica al QEP pin # 1 del controlador
DSP. Este programa calcula una velocidad por el método de la sección 7.4 se indica. La
variable Speed_input se inicializa a ser igual a 25 rps. La onda cuadrada de 10 kHz será
equivalente igual a 10 rps utilizando la técnica discutido en la sección 3.4. Por lo tanto,
el error de velocidad que el sistema de software utiliza en sus cálculos pasará de ser de
25 rps a 15 rps tan pronto como el generador de funciones está conectado a la placa de
evaluación. Se anticipa que será testigo de un cambio en su relación de trabajo de las
formas de onda PWM.

resultados:
Cuando se ejecuta este programa, la fase A o PWM1 se genera una señal que tenía una
relación de trabajo de aproximadamente 50%. Tan pronto como el generador de
funciones se conecta a la placa de evaluación, la relación de trabajo cambió. Se encontró
que la relación de trabajo de la señal de fluctuaría entre ~ 70% y 50%. Sin embargo, la
relación de trabajo debería haber estabilizado en 70%.

Por lo tanto, podemos concluir lo siguiente:


De euros que el sistema puede detectar pulsos del codificador y puede calcular
una velocidad de ella.
De euros que habrá que mas pruebas llevadas a cabo para
investigar por qué ración deber de PWM1 no se estabiliza en el
70%.
9. Conclusión

9.1. Resumen y conclusiones

 En este informe, se discutió el diseño del hardware que se utiliza para accionar
un motor de inducción. Por otra parte, se explicó que el hardware que se
requiere en el bucle de retroalimentación.
 Los elementos esenciales de un motor de inducción se exploraron, los
principios de su funcionamiento, las propiedades eléctricas y las
relaciones de par / velocidad.
 Este informe presenta el concepto de control orientado al campo (FOC), un
método de control de vector. FOC fue elegido para ser la técnica de control de
movimiento, ya que produce resultados controlados que tienen una mejor
respuesta dinámica al par variaciones en una gama de velocidades más amplio
en comparación con otros métodos escalares
 Se muestra en el Capítulo 6, a través de análisis de MATLAB, que el control de
FO es un medio eficaz de accionar un motor de inducción. Se generó un perfil de
velocidad con una respuesta transitoria adecuada y error de estado estacionario.
Además, el sistema era estable.
 En el capítulo 7, un diseño de software que demuestra un control FO fue desarrollado.
 Físicamente, se comprobó que la generación de PWM y la detección del
codificador puede ser realizado por el DSP usando el diseño del software
desarrollado.
 Se prevé que todo el sistema llevará a cabo a especificaciones en el día de
demostración.

9.2. Trabajo futuro

 Con la implementación de un módulo de FO de autoajuste, cualquier cambio en


la resistencia de los bobinados del estator y del rotor debido al calor podría
explicarse. Además, mejora la eficiencia de la unidad de motor.
 La eficiencia no era un aspecto que se consideró fuertemente cuando el
diseño de software se construyó. La implementación del espacio vectorial de
ancho de pulso
Modulación (SVPWM) mejoraría la eficiencia. Este esquema PWM es
considerablemente más complicado que el esquema PWM convencional utilizado
en esta tesis. Es el esquema de conmutación más eficiente de todos los esquemas
existentes PWM y el voltaje máximo para SVPWM es un 15,5% superior.
 El controlador DSP utilizado en este proyecto de tesis tiene una alta
potencia de cálculo. Debido a esto, existe la posibilidad de implementar una
unidad de lazo abierto.
Bibliografía

[1] T. Wildi, máquinas, unidades y sistemas de energía eléctrica -. 4ª ed,


Prentice Hall, Nueva Jersey, 2000

[2] N.Mohan, TMUnderland, WPRobbins, Electrónica de potencia:.


Circuitos, dispositivos y aplicaciones - 2ª Ed, John Wiley & Sons,
1995

[3] BK Bose, sistemas de accionamiento de CA de velocidad ajustable,


IEEE Press, Nueva York, 1981.

[4] BK Bose, Electrónica de potencia y unidades de frecuencia variable: la


tecnología y aplicaciones, IEEE Press, Nueva York, 1996.

[5] S. E Lysherski, sistemas electromecánicos, máquinas eléctricas y


Mecatrónica Aplicadas, CRC Press, Boca Raton, 2000.

[6] CM Ong, simulación dinámica de la maquinaria eléctrica


utilizando MATLAB / SIMULINK, Prentice Hall, Nueva
Jersey, 1998

[7] NS Nise, Control de Ingeniería de Sistemas, John Wiley & Sons, Nueva
York, 2000

[8] BK Powell, KE Bailey, SR Cikánek, Modelación Dinámica y Control de


vehículos híbridos eléctricos Powertrain Systems, Sistemas de Control de
IEEE, pp.17-33, octubre de 1998

[9] Texas Instruments Inc., Campo de regulación orientados de 3-fase AC-


Motors, www.ti.com, Texas Instruments número Literatura BPRA073,
Europa, 1998

[10] Texas Instruments Inc., Clarke y Transformadas de aparcar en la


TMS320C2xx, www.ti.com, Texas Instruments número Literatura
BPRA048, Europa, 1998

[11] Texas Instruments Inc., Tiempo Muerto-Generación en la TMS320C24x,


www.ti.com, Texas Instruments número Literatura SPRA371, Europa, 1997

[12] CP Monet, Manipulación differnent interrupciones del TMSF241 y


TMS320F243 DSP, www.ti.com, Texas Instruments número Literatura
SPRA499, Europa, 1998

[13] Texas Instruments Inc., controladores TMS320F243 DSP, www.ti.com,


número Texas Instruments Literatura SPRS064C, Europa, 2000
[14] MP cerebro, ¿Cómo funciona un coche híbrido, www.HowStuffWorks.com, 2000
[15] Texas Instruments Inc., Solución de procesamiento de señal digital para
AC motor de inducción, www.ti.com, número Texas Instruments Literatura
BPRA043,
Europa, 1997

[16] Texas Instruments Inc., Guía TMS320C2x / C2xx / C C5x


Optimización del usuario compilador, www.ti.com, Texas
Instruments número Literatura SPRA335, Europa, 2000

[17] Texas Instruments Inc., Implementación de un campo Velocidad de


regulación orientados de un trifásico de corriente alterna motor de
inducción, www.ti.com, Texas Instruments número Literatura BPRA076,
Europa, 2000
ANEXO A - El diseño de software propuesto

/ ************************************************* ***************** /
/ * Título: El software propuesto diseño
* /
/ * Proyecto : Controlador de motor de inducción
* /
/* Versión : # 1 * /
/ * Fecha: 22/08/2001 * /
/ * Autor: Gareth S Roberts * /
/* Empresa : UC * /
/ * Comentarios: Este no es el diseño final que es yendo a*/
/ * Ser utilizado en la demostración day.Utilisation * /

/ * De la conversión A / D y SCI no ha sido representaron * /


/ * En el esta última programa.El programa será.*/
/ ** /
/ * Viruta Tipo: TMS240F243 * /
/ * Frecuencia de reloj: 20 Megahercio*/
/ ** /
/ ** /
/ ************************************************* ***************** /

/ ************************************************* ***************** /
/ * Inicialización de la sección la diseño*/
/ *************************************************

***************** / # include "F24x.h"

PERIODO #define 500 / * de 20 kHz PWM * /

/ * Expresión: 30, este término de ganancia es la ganancia proporcional se utiliza para


* /
/ * El controlador PI *
/ doble Gain_Kp;

/ * Expresión: 5, esta es la ganancia integral para el controlador


PI * / doble Gain_Ki;

/ * Expresión: 3.125, este término de ganancia es la ganancia proporcional utilizado


* /
/ * Para el controlador PI
* / doble Gain_Kvp;

/ * Expresión: 10000, este es el reloj de velocidad / cantidad de pulsos * /


/ * detectedper revolución por el codificador, 2000 en este caso
* / double Gain_Ks;

/ * Se utiliza para convertir los valores leídos del A / D


convertidor

* / doble Gain_Kc;

2001 Proyecto de 1 Gareth S Roberts


Tesis
/ * Expresión: G1 = (4 * xr) / (3P * xm) =
0.0.05817 * / double Gain_G1;

/ * Expresión: G2 = 2 / P = 1 * /

2001 Proyecto de 1 Gareth S Roberts


Tesis
doble Gain_G2;

/ * Expresión: G3 = 1 / xm = 6,711
* / double Gain_G3;

/ * Expresión: G4 = xr / (rr * xm) =


0,0163 * / double Gain_G4;

/ * Expresión: G5 = xm * rr / (lamdare_est * xr) =


177,72 * / double Gain_G5;

/ * Expresión: G6 se utiliza en el Clarke transformar, = 2/3


* /
doble Gain_G6;

/ * Expresión: G7 se utiliza en el Clarke transformar, = 1/3


* /
doble Gain_G7;

/ * Expresión: G-8 se utiliza en el Clarke transformar, = 1 / sqrt


(3) * / double Gain_G8;

/ * Expresión: 0 * /
doble Integrator1;

/ * Expresión: 0 * /
doble Integrator2;

/ * Expresión: 0 * /
IntegratorA dobles;

/ * Expresión: 0 * /
doble IntegratorB;

/ * Expresión: 0 * /
doble IntegratorC;

/ * Expresión: 20 * /
Integrator1_US dobles;

/ * Expresión: 360 * /
double Integrator2_US;

/ * Expresión: 5 * /
IntegratorI_US dobles;

/ * Expresión: 0 * /
Integrator_LS dobles;

/ * Expresión: 10e-5, este es el período de tiempo de


TIMER1 * / double timer1_period;

/ * Expresión: 0.571 * /
double Constant_flux;

/ * Expresión: 25rps, esta es la velocidad nominal de la inducción * /


/ * máquina*/
doble rated_speed;

2001 Proyecto de UN Gareth S Roberts


Tesis A2
/ ************************************************* ***************** /
/ * Variables que se actualizan constantemente en todo la*/
/*operación*/
/ ************************************************* ***************** /

doble wrm; doble


Tem; doble
theatre_r;
doble lambdare_r;
IQS dobles;
ids dobles;
doble slip_speed;
doble rho;
doble sin_rho;
doble cos_rho;
doble ialfa; doble
IBeta; doble
Ia_command; doble
Ib_command; doble
Ic_command; doble
Va_command; doble
Vb_command; doble
Vc_command; int
old_cnt;

/ ************************************************* ***************** /
/ * Entradas en la sistema*/
/ ************************************************* ***************** /

doble Ia_feedback;
doble Ib_feedback;
doble Ic_feedback;
doble Speed_input;
doble Speed_feedback;

/ ************************************************* ***************** /
/*Parámetro inicialización * /
/ *************************************************

***************** / initalise_parm (void) {

Speed_input = 0,0;
Speed_feedback = 0,0;
Gain_Kp = 30,0;
Gain_Ki = 90,0;
Gain_Ks = 10000.0;
Gain_Kc = 1;
Gain_G1 = 0,05817;
Gain_G2 = 1;
Gain_G3 = 6,711;
Gain_G4 = 0,0163;
Gain_G5 = 177,72;
Gain_G6 = 0,66667;
Gain_G7 = 0,33333;
Gain_G8 = 0,57735;
Integrator1 = 0,0;
Integrator2 = 0,0;
IntegratorA = 0,0;
IntegratorB = 0,0;
IntegratorC = 0,0;
Integrator1_US = 20;
Integrator2_US = 360;
IntegratorI_US = 90;
Integrator_LS = 0;
IntegratorI_LS = -90;
Constant_flux = 0,571;
old_cnt = 0;
rated_speed = 25;
wrm = 0;
Tem = 0;
theatre_r = 0;
lambdare_r = 0;
IQS = 0;
ids = 0;
slip_speed = 0;
rho = 0;
cos_rho = 0;
sin_rho = 0;
ialfa = 0;
IBeta = 0;
Ia_feedback = 0;
Ib_feedback = 0;
Ic_feedback = 0;
Ia_command = 0;
Ib_command = 0;
Ic_command = 0;
Va_command = 0;
Vb_command = 0;
Vc_command = 0;
}
/ * Final de parámetros initalise * /

/ * Llame a la Initalisation de los parámetros del


método de configuración * / initalise_parm
(void);

/ * Llamar a la configuración de métodos de


inicialización de interrupción * / initInts
(void);

/ * Llamar al método de
configuración de PWM * /
pwm_setup (void);

/ * Llamar al método de
configuración de PWM * /
encoder_setup (void);

/ * Llamar al método de configuración de


conversión A / D * / adcsetup
(void);

/ * Llamar al método de
configuración SCI * /
scisetup (void);
/ ************************************************* ***************** /
/*Los principal programa*/
/ ** /
/ ************************************************* ***************** /

void main (void)


{

unsigned int i;
WDDISABLE; / * Deshabilitar el temporizador de vigilancia * /

/ * Evitar las interrupciones durante la


inicialización * / INT_DISABLE;
EVIMRA = 0x0000;

/ * Que todo stablise * /

for (i = 0; i <10000; i ++);

initalise_parm (); / * Inicializa parámetros


* / pwm_setup ();
encoder_setup
(); adcsetup ();
scisetup ();

initInts (); / * Inicializar interrumpe * /

while (1)
{

/ ************************************************* ***************** /
/*Corriente realimentación cálculo*/
/ ************************************************* ***************** /

/ * Para la captura de las señales de corriente a través del convertidor A / D


convertidores, * /
/ * Cada captura de la señal causará un retraso 850ns para un reloj de 20 Mhz * /
/ * ciclo*/

Ia_feedback = GetADC
(1); Ib_feedback =
GetADC (2);

/ * Utilización del equilibrado condición 3 fase Y para un*/


/* Motor de inducción */
Ic_feedback = - (Ia_feedback + Ib_feedback);

/ * Conversión a analógico valores


actuales * / Ia_feedback = -512;
Ib_feedback = -512;
Ic_feedback = -512;

/ * Estos valores de retroalimentación varían entre


-512 y 512 * / Ia_feedback = * Gain_Kc;
Ib_feedback = *
Gain_Kc; Ic_feedback =
* Gain_Kc;
/ ************************************************* ***************** /
/ * El primer bloque de suma, la compensación de PI y Field_weakening * /
/ *************************************************

***************** / wrm = Speed_input - Speed_feedback;

/ * Cálculo de la orden de par motor electromagnético mandado, Tem *


* / Tem = (wrm * Kp_Gain) + Integrator1;

/ * * Field_Weakening /
si (Speed_feedback => rated_speed)
{lambdare_r = 100 / (Speed_feedback
^ 2)
else {
lambdare_r = Constant_flux;
}
/ ************************************************* ***************** /
/ * FO controlar código*/
/ ************************************************* ***************** /

/ * Cálculo del IQS ^ e * * /


IQS = Gain_G1 * (Tem / lambdare_r);

/ * Cálculo de las identificaciones e ^ * * /


ids = (Gain_G3 * lambdare_r);

/ * Cálculo de la rho * /
rho = theatre_r + Integrator2;

sin_rho = sin (rho);

cos_rho = cos (Rho);

/ ************************************************* ***************** /
/ * El Inversa Parque Transformar*/
/ * (D, q) -> (esparto, beta)*/
/ ************************************************* ***************** /

/ * Cálculo de Is (alfa) * /
ialfa = (IDS * cos_rho) - (sin_rho * IQS);

/ * Cálculo de Is (beta) * /
IBeta = (ids sin_rho *) + (cos_rho * IQS);

/ ************************************************* ***************** /
/ * El Inversa Clarke Transformar*/
/ * (Alfa, beta) -> (a B C)*/
/ ************************************************* ***************** /

/ * Cálculo de Isa_command * /
Ia_command = Gain_G6 *
ialfa;

/ * Cálculo de Isb_command * /
Ib_command = - (Gain_G7 * ialfa) + (Gain_G8 * IBeta);
/ * Cálculo de Isc_command * /
Ic_command = - (Gain_G7 * ialfa) - (Gain_G8 * IBeta);

/ ************************************************* ***************** /
/*Suma de corrientes * /
/ ************************************************* ***************** /

/ * Error de corriente en fase A *


/ Ia_command = -
Ia_feedback;

/ * Error de corriente en la fase


B * / Ib_command = -
Ib_feedback;

/ * Error de corriente en fase C *


/ Ic_command = -
Ic_feedback;

/ ************************************************* ***************** /
/ * Compensación PI de la corriente señales
* /
/ ************************************************* ***************** /

/ * Error de corriente en fase A * /


Va_command = (Ia_command * Gain_Kvp) + IntegratorA;

/ * Error de corriente en fase B * /


Vb_command = (Ib_command * Gain_Kvp) + IntegratorB;

/ * Error de corriente en fase C * /


Vc_command = (Ic_command * Gain_Kvp) + IntegratorC;

/ ************************************************* ***************** /
/*Integrador * bloques /
/ ** /
/ ************************************************* ***************** /

/ * El cálculo de Integrator1 actualiza su magnitud por*/


/ * La integración durante el período de tiempo para Timer1.

* / Integrator1 = Integrator1 + timer1_period * Gain_Ki * wrm;

/ * Límites de integración1 * /
si (Integrator1> Integrator1_US)
{Integrator1 =
Integrator1_US;
} Else if (Integrator1 <Integrator_LS)
{Integrator1 = Integrator_LS;
} / * Fin del si * /

/ * Cálculo de slip_speed * /
slip_speed = IQS * Gain_Gain5 /
ids;

/ * La magnitud de Integrator2 se actualiza durante el período de tiempo * /


/* para * Temporizador 1 /
Integrator2 = Integrator2 + slip_speed * timer1_period;

/ * Límites de integration2, si el ángulo de deslizamiento excede de 360 grados, * /


/ * 360 está subtacted de él * /
si (Integrator2> Integrator2_US)
{Integrator2 = -
Integrator2_US;
} / * Fin del si * /

/ * La magnitud de IntegratorA se actualiza durante el período de tiempo


/ * Para * Temporizador 1 /
IntegratorA = IntegratorA + 2 * timer1_period;

/ * Los límites de integración * /


si (IntegratorA> IntegratorI_US)
{IntegratorA =
IntegratorI_US;
} Else if (IntegratorA <IntegratorI_LS)
{IntegratorA = IntegratorI_LS;
} / * Fin del si * /

/ * La magnitud de IntegratorB se actualiza durante el período de tiempo * /


/ * Para * Temporizador 1 /
IntegratorB = IntegratorB + 2 * timer1_period;

/ * Los límites de integración * /


si (IntegratorB> IntegratorI_US)
{IntegratorB =
IntegratorI_US;
} Else if (IntegratorB <IntegratorI_LS)
{IntegratorB = IntegratorI_LS;
} / * Fin del si * /

/ * La magnitud de IntegratorC se actualiza durante el período de tiempo * /


/ * Para * Temporizador 1 /
IntegratorC = IntegratorC + 2 * timer1_period;

/ * Los límites de integración * /


si (IntegratorC> IntegratorI_US)
{IntegratorC =
IntegratorI_US;
} Else if (IntegratorC <IntegratorI_LS)
{IntegratorC = IntegratorI_LS;
} / * Fin del si * /

/ * Esperar interrumpe. * /................

} / * Final del bucle while * /

} / * * Final de principal /

/ ************************************************* ***************** /
/ * El PWM interrumpir rutina*/
/ *************************************************

***************** / #define PWM_ISR c_int2

PWM_ISR (void) {

/ * Los valores de corriente calculados se alimentan en el ahora comparar*/


/ * Registra en el TMS320F243 Los valores DSP.These son comparado*/
/ * Con una onda triangular del contador ascendente / descendente para establecer la*/
/ * Factor de trabajo PWM para este período.*/
CMPR1 = Va_command 250;
CMPR2 = Vb_command 250;
CMPR3 = Vc_command 250;

si (old_cnt = T2CNT!)

{theatre_r = +

0,18;

/ * Límites de theatre_r, si el ángulo de deslizamiento excede de 360 grados, * /


/ * 360 está subtacted de él * /
si (theatre_r> Integrator2_US)
{theatre_r = -
Integrator2_US;
} / * Fin del si * /

Speed_feedback = Gain_Ks / (T2CNT -

old_cnt); old_cnt = T2CNT;

/ * Claro interrupción nivel 2


bandera * / IFR = 0x0002;
/ * Claro indicador de interrupción
periférica * / EVIFRA = 0x0100;

} / * Fin del ISR PWM * /

/ ************************************************* ***************** /
/ * InitInts () - registros de interrupción de procesador Initalise * /
/ ** /
/ ************************************************* ***************** /

initInts (void)
{

/ * INT2 desenmascarado, temporizador de 1


periodo de interrupción * / IMR =
0x0002;

/ * Este es el indicador de interrupción


periférica * / EVIMRA = 0x0100;

INT_ENABLE; / * Habilitar interupts * /

}
/ * Final de initalisation del procesador interrumpe * /

/ ************************************************* ***************** /
/ * Pwm_setup (): *
/ * T1PR Timer1 Período Registro - 20Mhz / T1PR /
frecuencia *
/ * CRPM xCompare Registro x-deber /
*
/
/ * ORCA 7-4 I / O de control Mux Registro A-set * /
pwm patas
/ * ACTR 8-37 Comparación de Acción Registro de Control -active * /
alto
/ * 50ns DBTCON Banda muerta del temporizador Controlar * /
Register-muertos banda
/ * COMCON 8-36 Comparar Controlar * /
Register-PWM
/ * T1CON 8-28 GP temporizador Controlar * /
Register-up
/ * GPTCON 8-30 GP temporizador Controlar * /
Registrarse en marcha, pol
/ ** /
/ ************************************************* ***************** /

pwm_setup (void)
{

/ * Establecer el periodo de registro de 20 kHz = 20 MHz


/ 500 * 2

* / T1PR = 500;

OCRA | = 0x0FC0; / * 00001111 11000100 * /

ACTR = 0x0666; / * 00001010 10101010 * /


DBTCON= 0x02E0; / * 00000010 11100000 * /

CMPR1 = 0x0000;
CMPR2 = 0x0000;
CMPR3 = 0x0000;

/ * + ----------------- comparar habilitado


| ++ --------------- recargar registro de comparación
||| + -------------- vector espacial no está activado
|||| ++ ------------ registro de control de la acción de recarga
|||||| + ----------- comparan habilitadas pines de salida
||||||| + ++++++++ - reservada
|||||||| ||||||||
10000010 00000000
* /
COMCON = 0x8200;

/ * ++ ---------------- control de emulación = No se ve afectado


|| +++ ------------- conteo continuo hasta
||||| +++ ---------- prescaler = 1
|||||||| + -------- no habilite T2, así
|||||||| | + ------- permitir T1
|||||||| || ++ ----- reloj interno como fuente
|||||||| |||| ++ --- periodo de recarga en underflow o igual
|||||||| |||||| + - Activar comparar la operación
|||||||| ||||||| + - no se utiliza en T1
|||||||| ||||||||
10101000 00000010
* /
T1CON = 0xE842;

/ * + ---------------- conteo arriba


| + --------------- contaje
|| ++ ----------- ningún caso ADC con temporizador 2
|||| + - + -------- ningún caso ADC con temporizador 1
||||| | + ------- comparar habilitación de salida - habilitar
||||| || ++ --- temporizador polaridad 2 - activa alto
||||| temporizador de polaridad 1 - - ++ activa |||| alto
||||| ||||||
01100000 01001010
* /
GPTCON = 0x604A;
}
/ * Final de la línea pwm_setup * /
encoder_setup (void)
{
/ * info8-66
* T2CNT7-19
* T2PR7-14
* T2CMPR 7-15
* T2CON8-28
* CAPCON 8-59
* /

T2CNT = 0x0000;
T2PR = 0xFFFF;
T2CMPR = 0x8FFF;

/ * ++ ---------------- no se ve afectado por la emulación colgado del techo,


|| ++ ------------- Dirección Arriba / modo de Down Conde
|| || +++ ---------- Reloj Prescalar = / 1
|| ||||| + -------- Uso propia poco defendible
|| ||||| | + ------- defendible - Habilitar temporizador
|| ||||| || ++ ----- fuente de reloj - QEP Circuito
|| ||||| |||| ++ --- Register recarga cuando el contador es 0
|| ||||| |||||| + - TECMPR - Activar temporizador comparar
|| ||||| ||||||| + - SELTPR1 - usar el propio período de registro
|| ||||| ||||||||
11011000 01110010
* /
T2CON = 0xD872;

/ * + ---------------- Eliminar todos los registros de captura


| ++ -------------- permitan el circuito QEP (bits 9, 7-4 ignorado
||| + ------------- CAP3 disbale
|||| + ----------- selección GP temporizador paracap3 = GP temporizador 2
|||| | + ---------- selección GP temporizador para CAP1 / 2 = GP temporizador
2
|||| || + --------- CAP3TOADC = ningún caso
|||| ||| ++ ------ Detección CAP1 Edge = Detección de ambos bordes - *
|||| ||| || ++ ---- Detección CAP2 Edge = Detección de ambos bordes - *
|||| ||| |||| ++ - CAP3 detección de bordes = ninguno
|||| ||| ||||||
01100000 11110000
* /
CAPCON = 0x60F0;

/ ************************************************* ***************** /
/ * Adcsetup (): * /
/ * ADCTRL1 control analógico a Digial registro * 1 /
/ ** /
/ ************************************************* ***************** /

adcsetup vacío ()
{
/ * ++ ------------------ suave y bits libres, la emulación suspender
|| + ----------------- conversión inicio inmediato
||| + Activar ---------------- ADC # 2
|||| + -------------- Habilitar ADC # 1
|||| | + ------------- Habilitar la conversión continua
|||| || + ------------ habilitar las interrupciones
|||| ||| + ----------- indicador de interrupción,
|||| |||| + --------- bit es uno, mientras que la conversión
|||| |||| | +++ ------ canal ADC2 seleccionar, ADCIN02
|||| |||| |||| +++ - canal ADC1 seleccionar, ADCIN02
|||| |||| |||| ||| + - Iniciar conversión ADC
|||| |||| |||| ||||
1101 1101 0010 * 0010 /
ADCTRL1 = 0xDD22; / * este es el registro de control ADC 1 * /

/ * Este es el puerto de E / S B & registro de


datos de dirección. * / PBDATDIR = 0x3000;
}

unsigned int GetADC (int Chan)


{
int basura = 0;

si (Chan> 6) {
PBDATDIR = (~ PBDATDIR y 0x0030) | ((Chan-7) << 4);
/ * Dar al MUX un pequeño tiempo para
stablise * / basura ++;
basura +
+; Chan =
7;
}
/ * Iniciar la conversión ADC * /
ADCTRL1 = (ADCTRL1 y (~ 0x000F)) | (Chan << 1) | 0x0001;
/ * Dar al menos dos ciclos de reloj antes de consultar la
bandera EOC * / basura ++;
basura ++;
/ * * Sondeo bandera EOC /
while (ADCTRL1 y 0x0080);

retorno (ADCFIFO1 >> 6);


}
/ * Final de adcsetup * /
/ ************************************************* ***************** /
/ * Scisetup () * /
/ ** /
/ ************************************************* ***************** /

scisetup vacío ()
{
/ * + -------- bits de parada 0 = 1, 1 = 2.
| + Paridad
|| + ------ paridad permiten
||| + ----- bucle permiten volver
|||| + ---- poco Idle-line / dirección de seleccionar
||||| +++ - selector de longitud Charactor
||||||||
00000111
* /
SCICCR = 0x07;

/ * + Reservada-
| + ------- error Rx habilitación de interrupción
|| + ------ reinicio del software
||| + reservada
|||| + ---- método de reanimación Tx
||||| + --- activar el modo de suspensión
|||||| + - Tx permiten
||||||| + - Rx permitir
||||||||
00100011
* /
SCICTL1 = 0x23;

/ * 38400 baudios, BRR = 63.


* / SCIHBAUD = 0;
SCILBAUD = 63;

/ * + -------- buffer de Tx Listo


| + ------- Tx pabellón vacío
|| + reservada
||| + reservada
|||| + reservada
||||| + reservada
|||||| + - Rx / Bk habilitación de interrupción
||||||| + - Tx habilitación de interrupción
||||||||
00000000
* /
SCICTL2 = 0x00;

OCRA | = 0x0003;
}

/ * Final de scisetup * /

También podría gustarte