análisis e implementación del sistema de control

Anuncio
ANÁLISIS E IMPLEMENTACIÓN DEL
SISTEMA DE CONTROL ADAPTIVO AUTOAJUSTABLE PARA UN MOTOR DC DE
EXCITACIÓN INDEPENDIENTE SUJETO A
CARGAS NO LINEALES, VÍA DSP
Agustín Gutiérrez Páucar
Jorge Luis Inca Rodríguez
ANÁLISIS E IMPLEMENTACIÓN
DEL SISTEMA DE CONTROL
ADAPTIVO AUTOAJUSTABLE
PARA UN MOTOR DC DE EXCITACIÓN
INDEPENDIENTE SUJETO A CARGAS NO LINEALES, VÍA DSP
Primera edición digital
Julio, 2011
Lima - Perú
© Agustín Gutiérrez Páucar
Jorge Luis Inca Rodríguez
PROYECTO LIBRO DIGITAL
PLD 0163
Editor: Víctor López Guzmán
http://www.guzlop-editoras.com/
guzlopster@gmail.com
guzlopnano@gmail.com
facebook.com/guzlop
twitter.com/guzlopster
428 4071 - 999 921 348
Lima - Perú
PROYECTO LIBRO DIGITAL (PLD)
El proyecto libro digital propone que los apuntes de clases, las tesis y los avances en investigación
(papers) de las profesoras y profesores de las universidades peruanas sean convertidos en libro digital
y difundidos por internet en forma gratuita a través de nuestra página web. Los recursos
económicos disponibles para este proyecto provienen de las utilidades nuestras por los trabajos de
edición y publicación a terceros, por lo tanto, son limitados.
Un libro digital, también conocido como e-book, eBook, ecolibro o libro electrónico, es una
versión electrónica de la digitalización y diagramación de un libro que originariamente es editado para
ser impreso en papel y que puede encontrarse en internet o en CD-ROM. Por, lo tanto, no reemplaza al
libro impreso.
Entre las ventajas del libro digital se tienen:
• su accesibilidad (se puede leer en cualquier parte que tenga electricidad),
• su difusión globalizada (mediante internet nos da una gran independencia geográfica),
• su incorporación a la carrera tecnológica y la posibilidad de disminuir la brecha digital (inseparable de
la competición por la influencia cultural),
• su aprovechamiento a los cambios de hábitos de los estudiantes asociados al internet y a las redes
sociales (siendo la oportunidad de difundir, de una forma diferente, el conocimiento),
• su realización permitirá disminuir o anular la percepción de nuestras élites políticas frente a la supuesta
incompetencia de nuestras profesoras y profesores de producir libros, ponencias y trabajos de investigación de alta calidad en los contenidos, y, que su existencia no está circunscrita solo a las letras.
Algunos objetivos que esperamos alcanzar:
• Que el estudiante, como usuario final, tenga el curso que está llevando desarrollado como un libro (con
todas las características de un libro impreso) en formato digital.
• Que las profesoras y profesores actualicen la información dada a los estudiantes, mejorando sus
contenidos, aplicaciones y ejemplos; pudiendo evaluar sus aportes y coherencia en los cursos que dicta.
• Que las profesoras y profesores, y estudiantes logren una familiaridad con el uso de estas nuevas
tecnologías.
• El libro digital bien elaborado, permitirá dar un buen nivel de conocimientos a las alumnas y alumnos
de las universidades nacionales y, especialmente, a los del interior del país donde la calidad de la
educación actualmente es muy deficiente tanto por la infraestructura física como por el personal docente.
• El p e r s o n a l d o c e n t e j u g a r á u n r o l d e t u t o r, f a c i l i t a d o r y c o n d u c t o r d e p r o y e c t o s
de investigación de las alumnas y alumnos tomando como base el libro digital y las direcciones electrónicas recomendadas.
• Que este proyecto ayude a las universidades nacionales en las acreditaciones internacionales y
mejorar la sustentación de sus presupuestos anuales en el Congreso.
En el aspecto legal:
• Las autoras o autores ceden sus derechos para esta edición digital, sin perder su autoría, permitiendo
que su obra sea puesta en internet como descarga gratuita.
• Las autoras o autores pueden hacer nuevas ediciones basadas o no en esta versión digital.
Lima - Perú, enero del 2011
“El conocimiento es útil solo si se difunde y aplica”
Víctor López Guzmán
Editor
Memorias - XVII CONIMERA
Análisis e implementación del sistema de control adaptivo
autoajustable para un motor DC de excitación independiente
sujeto a cargas no lineales, vía DSP
Ing. Agustín Gutiérrez Páucar
Ing. Jorge Luis Inca Rodríguez
FIEE-UNI
FIIS-UTP
Resumen.- Mostramos los métodos de control adaptivo y control autoajustable vía
tarjeta de procesamiento digital de señales, para controlar la posición y velocidad
de un motor de excitación independiente, con rotor unido solidariamente a una varilla
de aluminio, la cual toma una posición determinada mediante un controlador digital
programado en lenguaje ensamblador.
Introducción
Se hace manifiesto de la utilidad del filtro RLS,
con una introducción al filtro de Kalman, que es
recursivo, disponiendo de un observador que utiliza
resultados del algoritmo de identificación de
parámetros bajo el principio de mínimos cuadrados,
constituyendo así el control autoajustable, la
estimación de parámetros sigue al proceso en todo
instante y una etapa de control que utiliza los
resultados del observador.
Se siguen detenidamente las pruebas
referidas en [8] llevadas a cabo en una PC y
programado en C para un control adaptivo que trata
de cumplir lo expuesto en [9], y así poder ajustar
los cálculos al procesador digital de señales,
donde se demuestran con experiencias ajustadas
para usar dicho procesador.
Las experiencias efectuadas con el programa
en C para realizar estudios del microcontrolador
fueron tres, la primera para un ángulo constante
de 45º, la segunda para una excursión de 45º a
30º y una tercera para excursión de 10º a 350º,
todas ellas satisfaciendo los criterios fraccionarios
del lenguaje emsamblador del DSP.
Aunque también es factible el uso de
números enteros para aproximar valores mayores
que 1 [12].
Para evaluar el observador y el control se
utiliza las constantes obtenidas por matlab para
la constante de Kalman y para la de control que
ofrecen excelentes resultados dado que es
extremadamente complicado poder extraerlos del
Programa en C.
Programa de control adaptivo de lenguaje C
ofrece excelentes prestaciones y cumple
requerimientos de control que permite adecuar el
programa en el lenguaje ensamblador del DSP que
tiene limitaciones así como también el DSP es
muy bueno para realizar cálculos y operaciones
repetitivas en el caso del uso de contadores en
los sucesivos tiempos de muestreo.
Se tiene en cuenta que el modelo lineal
considera los datos durante un intervalo de tiempo
de discretización como constantes. Además se
fijan las incertidumbres y perturbaciones a cero.
Para el aspecto del muestreo se utiliza el
PLL del microcontrolador para una frecuencia
de operación de 60 MHZ junto con el timer
que sé programa para tener los datos del
control u, y mantenerlos en el puerto paralelo
del microcontrolador por el tiempo de
discretización.
También se tiene el siguiente esquema que
pone de manifiesto el trabajo de conjunto de las
diversas herramientas de cálculo para realizar un
programa en lenguaje ensamblador de DSP como
son Matlab, programa en C, tarjeta Lab PC. ver
figura 1.
395
Colegio de Ingenieros del Perú - CDL - Capítulo de Ingeniería Mecánica y Mecánica Eléctrica
durante corto periodo de tiempo sé esta logrando
evitar el sobreimpulso y los problemas que ello deriva.
Bases teóricas
Fig.1: Los procesos de los DSPs
para sistemas de control.
A continuación se muestra el esquema
general utilizado de la referencia [2] para la planta
implementada en el laboratorio y que sé muestra
en la figura 2. La introducción relativamente reciente
del DSP, ha alterado el campo del servocontrol.
El advenimiento de las técnicas digitales ha
presentado gran flexibilidad para los algoritmos de
control. Además la disposición del diagnóstico y
de la información de estados convertida en una
simple operación. Sin embargo la lectura del
sensor de posición tiende a decidirse por usar
la tarjeta LAB PC y leerlo de la computadora en
algún puerto de datos o vía software usando la
interface de comunicación serial (SCI), pero los
datos también están disponibles completamente
con los datos de salida del programa en C.
Esencialmente el control adaptivo es aquel
que cambia su comportamiento conforme a las
nuevas circunstancias, intuitivamente, en un
controlador adaptivo se tiene que es un controlador
que modifica su comportamiento en respuesta a
los cambios en la dinámica del proceso y en el
carácter de las perturbaciones. En esta sección
se expondrá el sistema de control adaptivo
autoajustable expresado en [7] y [9] , la
implementación en programación de Lenguaje C
de un programa adaptivo se tiene en [8] y
finalmente lo que he podido obtener en
programación de lenguaje ensamblador del que
se trata en la presente investigación siguiendo la
implementación de los anteriores trabajos.
La técnica del control adaptivo
Básicamente cuando nos referimos al control
adaptivo es aquel que cambia su comportamiento
de acuerdo a las nuevas circunstancias.
Intuitivamente un controlador adaptivo modifica su
comportamiento en respuesta a la dinámica del
proceso y al carácter de las pertubaciones.
Considerando las dos técnicas de control adaptivo
que veremos aplicadas al sistema físico para ver
su respuesta a una señal de referencia constante
en mantenerla (dejar igual) en presencia de
disturbios (que podemos hacer cero o un nivel
constante) tener dicha señal de referencia en la
salida, proceso de regulación que identifica al
control de posición que estudiamos.
La función de transferencia G(z) de la planta
es:
G ( z) =
Fig.2: El DSP utilizado para controlar un motor de
corriente continua de excitación independiente.
Debido al tiempo que se ha dejado de utilizar
la planta la encontramos con distorsión por lo
que se tuvo que hacer ajustes de entrada lo que
anuló la distorsión y permitió comprobar que en
el programa los parámetros de la planta no varían
significativamente con lo que se ha podido hacer
ajustes en el programa en lenguaje ensamblador,
pero el sobreimpulso inicial que todavía estaba
presente se limita utilizando referencia variable
396
b1 z −1 + b 2 z −2
1 + a 1z
−1
+ a 2z
−2
=
Y( z)
U (z)
(1)
Los valores nominales de los parámetros
de la planta son:
a1= -1.6246, a2=0.6246,
b1=0.041, b2=0.0479.
Un regulador adaptivo debe incluir
coeficientes ajustables tales que muestra el estado
o comportamiento de la planta a cada instante,
con un adecuado algoritmo que optimiza o
prolonga el rango de funcionamiento del proceso.
Los diferentes tipos de control adaptivo se
Memorias - XVII CONIMERA
diferencian en como cambian o ajustan los
coeficientes del control. En este artículo se trata
el control adaptivo con modelos paralelos y seriales
de referencia que, junto con el control
autoajustable son los únicos esquemas que han
tenido aplicaciones practicas hasta la fecha.
El control adaptivo con modelo de referencia
paralelo es aquel situado en paralelo al sistema
de bucle cerrado que en principio puede resolver
el problema de control de seguimiento pero no
el problema de control de posición. Un problema
de control de seguimiento es cuando la referencia
(r(k)) varia y se considera que no hay
perturbaciones (d(k)) presentes en la salida y(k).
El modelo paralelo es conveniente para
solucionar el problema de comunicación lo que
es demostrado por el que para solucionar
esto sé requiere señales de control razonables,
este modelo es conveniente para solucionar
problemas de regulación y es demostrado por
que en este caso se aceptan señales gaussianas
para el control. Obtenemos señales aleatorias de
control por que el error estimado diferencia
entre la salida del modelo paralelo de referencia
y la del sistema) converge a cero durante un
ciclo de discretización. Para atenuar la señal de
control, un modelo serial de referencia (en serie
con la estimación del error) se puede agregar
a la estructura. Esto supone convergencia a cero,
con la elección de una reacción dinámica, que
es menos severa que el caso anterior. Un sistema
de control adaptivo que comprende un bucle interno
de controlador adaptivo, autoajustable y RLS
inclusive, sino también un bucle externo como
controlador de parámetros para mantener la
perfomance del sistema cuando hay variación en
el proceso de la parametrización. Este segundo
bloque es también de lazo cerrado. La variable
controlada nos indica la perfomance del sistema.
El arreglo se muestra esquemáticamente en
la figura 3.
Fig 3.- Control Adaptivo de lazo cerrado usando
modelos de referencia.
Este tipo de control adaptivo ofrece la
ventaja de poder acomodar por separado el
seguimiento y los problemas de regulación. Esto
es porque la perfomance deseada del sistema
controlado es definido por un modelo paralelo
para el problema de seguimiento y por un modelo
serial para el problema de regulación.
Parámetros desconocidos del sistema
En el caso adaptivo, por la estructura del
controlador sus parámetros son iguales a los
parámetros conocidos del sistema, excepto
cuando sustituimos los sistemas invariantes por
variantes. El papel del controlador adaptivo, o
externo, es obtener los parámetros correctos
usando realimentación, la ecuación del controlador
de parámetros autoajustable viene dado por:
U (k ) =
[
1
Bp ( q −1 ).R ( k ) − R (k , q −1 ).Y (k ) − Bˆ s (k , q −1 ).U (k − 1)
bˆ0 (( k )
]
( 2)
Donde:bo(k),ro(k),..,bs1(k),son
las
estimaciones de los parámetros al tiempo de k.
Por definición del vector de sintonización θ(k)
y el vector de mediciones ψ(k) por las siguientes
expresiones:
[
θˆT ( k ) = bˆ0 (k ) bˆs 0 ( k ) rˆ0 (k ) rˆ1 (k )
]
(3)
ψ (k ) = [U( k ) U(k − 1) Y(k ) Y( k − 1)]
( 4)
La ecuación del controlador puede ser
reescrita en la forma:
T
B p (q −1 ) − R (k ) = θˆ (k ).ψ ( k )
(5)
Determinación de parámetros del
controlador
Los parámetros del regulador autoajustable
se determinan por el criterio de los mínimos
cuadrados que se basan en las condiciones
asintóticas de estabilidad dictadas por el modelo
de proceso de error. La exactitud para estimar el
vector de parámetros en el tiempo k de tal manera
que reduzca al mínimo la suma de los cuadrados
de los errores filtrados entre el proceso y el modelo
concluido en un horizonte de tiempo de las
medidas en un tiempo k. Esto es expresado por
la relación siguiente:
k
k
i =1
i =1
J1 ( k ) = ∑ es 2 (i ) = ∑ [ Ap (q −1 ).(Y (i ) − Yref (i )]2 (6)
397
Colegio de Ingenieros del Perú - CDL - Capítulo de Ingeniería Mecánica y Mecánica Eléctrica
Sistemas discretos no lineales
Diseño estimador cuadratico lineal y
discreto
Nos referimos a sistemas continuos que
hemos discretizado. Los sistemas no lineales hay
que li- nealizarlos y entrar en un proceso de
simulación. La linearización se establece para
sistemas invariantes y discretizados, para los
sistemas siso en el caso de segundo orden.
Podemos escribir:
x(k+1)=f(x(k),r(k))
(7)
y
c(k)=g(x(k),r(k))
(8)
Las funciones no lineales son lo
suficientemente lisas para poder distinguirlas y
expresarlas en expansiones de series de taylor.
Entonces después de ciertas manipulaciones y
aproximaciones, cuyos detalles están disponibles
en los textos, llegamos a la ecuación de
linearizacion:
X(k)=Ax(k)-Br(k)
(9)
y
c(k)=Cx(k)-Dr(k)
(10)
Donde A, B, C y D son llamadas matrices
de Jacobi. Ellas consisten de derivadas parciales
las cuales toman la forma:
 ∂f1
 ∂x
A= 1
 ∂f1
 ∂x1
∂f1 
 ∂f1 
∂ 
 ∂g
∂x2 
; B =  r ; C = 
f
∂
∂f 2 
 2
 ∂x1
 ∂ r 
∂x2 
 ∂g 
∂g 
; D =  
∂x2 
 ∂r 
Se utiliza el comando DLQE de Matlab para
obtener la solución de la ecuación de Ricatti de
orden 2, la ganancia llamada de Kalman por ser
obtenida con el filtro estacionario de Kalman
discreto siendo de orden 2*1 permite actualizar
las variables del observador. Para obtener la
ganancia:
F=DLQE(GE,HE,CE,Q,R)
(12)
Donde: GE=[ 0 1; -0.6246 1.6246], HE=[0;1],
Q=0.01, R=0.04.
Obteniendo: Kb(0)=1.16, Kb(1))=1.16.
Obteniéndose además la solución de la ecuación
de Ricatti que se usaron en el programa cmp1.cpp.
Diseño del sistema regulador lineal
cuadrático y discreto
Se utiliza el comando DLQR de Matlab para
obtener la solución de la ecuación de Ricatti de
orden 3, la ganancia llamada de control que se
obtiene con realimentación que reduce al mínimo
la función del costo sujeta a la ecuación de
diferencias.
(11)
Para obtener los datos:
[K, S, E] = DLQR(G, H, Q, R)
(13)
Las cuatro matrices necesitan ser evaluadas
en puntos de funcionamiento especifico que sé
utilizan como puntos estacionarios, para una
entrada de información x(k+1)=x(k). Entonces la
naturaleza del sistema, en la vecindad de los puntos
estacionarios, es descrita muy aproximadamente
por las ecuaciones linealizadas. Utilizamos igual
notación para las ecuaciones lineales que las no
lineales.
Obteniendo:
K(0)=-0.5211, K(1)=1.3371, K(2)=- 0.5137,
además de la solución de Ricatti que se usan en
el programa cmp1.cpp.
Algoritmos mínimos cuadrados recursivos
Implementación
Para diseñar un controlador dinámico, un
modelo matemático que describe él cambió si lo
hay debe ser implementado. Es posible obtener
nuevos parámetros de la planta conocidos los
datos previos de entrada y salida. Recogidos los
datos de entrada y salida del sistema siso
dinámico se procede a la ejecución del algoritmo,
así se tienen los espesores de los coeficientes
dinámicos del sistema nos determinan mejor las
características de tiempo real de la planta pudiendo
ser usados para el control.
Para poder observar la señal de control más
la señal de ofsset de 2.3 voltios DC, se implemento
el circuito de la figura 4. Que esta constituido por
un convertidor digital a analógico de 8 bits que con
ayuda de amplificadores convierte la señal digital
sintetizada de 8 bits del puerto b del DSP que
lleva la información de la señal de control en análoga
sumándole además 2.45 voltios y que debe ir al
generador PWM que alimenta al motor DC, el DSP
es excelente para mostrar la señal que se obtiene
en un osciloscopio digital. El resultado es esperado
398
Donde:
G=[0 1 0;-0.6246 1.6246 0;
-0.041 –0.049 1], H=[0,1;0], Q=0.1, R=0.05.
Memorias - XVII CONIMERA
por la proporción que guardan los números en 8
bits con los originales en decimales obtenidos por
calculo, inicialmente se utilizo un programa que
escribía los valores de la señal de control en el
puerto paralelo del DSP y luego a la señal análoga
obtenida se le agregaba la señal de offset de 2.3
voltios mas 0.15 voltios, luego en otra prueba el
programa sec.asm calcula mediante programa en
cada tiempo de discretización, el valor cargado en
el contador del timer se ajusta si es necesa sario
para cumplir con el tiempo de discretizacion o lo
que es lo mismo el tiempo total de la excursión.
y que el sistema con etapa RLS utilizada en el
programa en C de [8] no sea la mas adecuada,
pues los parámetros del sistema casi no varían
en esta fase inicial dicha etapa que nos brinda
los nuevos parámetros del sistema se hace con
ella más difícil el trabajo de obtener una señal
estabilizada. Además la utilización de masa como
una esfera de 45grs. agregada a la varilla fue
posible con ligeras variaciones de los datos
ajustándose el sistema a estas nuevas condiciones
archivo comp2.cpp.
1.-
Posicion
(r(t)=0.35+0.435398*t, t<1.0
r(t)=0.785398, 20. >t >=1. )
Masa de la varilla 63.095grs.
Programa sin etapa RLS pero con
restricciones de salida (comp1.cpp).
referencia(r)
control (u)
0.8
0.55
0.75
0.7
0.5
0.45
0.65
0.4
0.6
posición(y)
error (e)
0.8
0.35
0.7
0.3
0.6
0.25
0.5
0.2
e(t)
0.4
u(t)
r(t)
0.55
y(t)
0.35
0.3
0.5
0.45
0.4
0.35
0.3
0 10 20
t
0.25
0.2
0.15
0.1
0 10 20
t
0.15
0.3
0.2
0.1
0
0 10 20
t
0.1
0.05
0
0 10 20
t
Fig5.- Control de posición de 45°.
Fig.4.- Circuito implementado.
Resultados
Los datos obtenidos inicialmente del
Programa en C eran inestables se tuvo que dedicar
tiempo a obtener la estabilidad para avanzar, en
las deducciones se logro un control de posición
estable para 20 segundos con el programa
adecuado para la experiencia de usar el y las
dificultades que ello conlleva. A continuación se
tiene las gráficas que muestran los resultados que
permiten comprobar que es posible utilizar DSP
En esta figura el control de posición de
referencia de 45° donde se elimino el sobreimpulso
inicial, el programa no tiene etapa RLS pero tiene
restricciones de salida, posterior al programa que
también tenía restricciones de entrada, la
estabilidad del proceso manifiesta que se puede
implementar y que tiene robustez.
2.-
Posición
(r(t)=0.35+0.435398*t, t<1.0
r(t) = 0.785398, 20.>t>=1.0)
Masa de la varilla 63.095grs.
Programa con etapa de RLS y restricciones
de salida. (adaro3.cpp).
399
Colegio de Ingenieros del Perú - CDL - Capítulo de Ingeniería Mecánica y Mecánica Eléctrica
0.75
0.5
0.7
0.65
0.4
r(t)
u(t)
0.6
0.55
0.3
0.5
0.2
0.45
0.4
0.1
0.35
0.3
0 10 20
t
0
0 10 20
t
posición(y)
0.8
0.4
0.7
0.3
0.6
0.2
0.5
0.1
0.4
error (e)
e(t)
control (u)
0.6
y(t)
referencia (r)
0.8
0
0.3
-0.1
0.2
-0.2
0.1
-0.3
0
0 10 20
t
-0.4
0 10 20
t
Fig6.- Control de posición con etapa RLS.
La figura muestra el control de posición de
45º, con la referencia que se indica, es sistema
se estabiliza rápidamente, con la utilización de
restricciones de salida más elaboradas que el caso
anterior, pone de manifiesto la robustez de la planta,
es muy parecida a la anterior, los valores que
presenta también son asimilables por el DSP.
Programa implementado
(sec.asm)
include ‘ycomp1.asm’
tcsr
tcr
pbc
pbddr
pbd
pll
bcr
ipr
equ
equ
equ
equ
equ
equ
equ
equ
$ffde
$ffdf
$ffe0
$ffe2
$ffe4
$fffd
$fffe
$ffff
org
y:$40
dc
$000000,$000000,$000000
org
jmp
org
movep
movep
movep
movep
movep
movec
movep
andi
move
movep
400
P:$00
$0040
P:$0040
#$00,x:bcr
#$000000,x:pbc
#$261009,x:pll ;
#$000fff,x:pbddr
#$000012,x:tcsr
#$0300,sr
#$010000,x:ipr
#$cf,mr
#$900,r4
#>$f4240,x:tcr
begin
move
move
move
move
move
sub
jset
move
neg
move
move
mpy
lsl
asr
move
move
clr
move
move
mac
move
mac
neg
move
add
move
x_0 move
move
add
move
x_1 move
move
add
move
z
move
move
sub
move
u
clr
move
move
mac
move
move
mac
move
move
mpy
asr
move
move
mac
neg
move
move
#$900,r3
#$1900,r5
y:(r3)+,x0
#$a90,a
r3,y0
y0,a
#00,sr,*
x0,a
a
a,x0
#.01,y0
x0,y0,a
a
a
a,y:>$0043
;y1/100
#$40,r1
b
y:(r1)+,y0
#$053f7d,x0
x0,y0,b y:(r1)+,y0
#.0479,x0 ;c(1)*10*x(1)
x0,y0,b
b
b,x0
x0,a
a,y:>$0044
y:>$0040,a
y:>$0044,x0 ;rr
x0,a
a,y:>$0040
y:>$0041,a
y:>$044,x0
;rr
x0,a
a,y:>$0041
;x(1)
y:>$042,a
y:>$043,y0
y0,a
a,y:>$042
a
y:$40,x0 ;x(0)
#-0.5179,y0
x0,y0,a
y:$42,x0 ;z
#-.5128,y0
x0,y0,a
y:$41,x0 ;x(1)/100
#>$00a,y0
x0,y0,b
b
#>$113a93,x0
b0,y0
x0,y0,a
a
;
a1,y:$45
a,x0
Memorias - XVII CONIMERA
mpy
x0,#16,a
move
a,x0
move
#>$064,y0
mpy
x0,y0,b
asr
b
move
b0,y:(r5);
in_1 jsr
xm1
jclr
#07,x:tcsr,*
jmp
in_1
move
y:$41,x0
move
x0,y:$300
move
#-.6246,y0
move
y:$40,x0
;x(0)
mac
x0,y0,a
move
y:$41,x0
;*x(1)
move
#>$00a,y0
mpy
x0,y0,b
asr b
move
b0,y0
move
#0.16246,x0
mac
x0,y0,a
move
a1,y:$41
;nuevo x(1)/100
move
y:$300,x0
move
x0,y:$40
;nuevo x(0)/100
jmp
begin
xm1 movep y:(r5),x:pbd
bset
#$00,x:tcsr
rts
Conclusiones
Este programa cuenta con una subrutina de
espera a interrupción xm1 para tener datos en
el puerto paralelo (se planteara usar sci o ssi
con timer) la cual fue probada con datos de
comp1.cpp la cual obtiene la señal de control u,
además el programa tiene que calcular u lo cual
es ligeramente menor que los resultados del
programa en C, luego en ensamblador DSP se
optimiza el valor de u para igualar condiciones con
el programa en C se tendría que agregar un valor
adecuado pero esto nos indica que el sistema en
DSP es mejor.
Finalmente se pudo hacer pruebas de
seguimiento para periodos de 40 segundos con
posiciones de 45º a 30º que fueron estables por
los resultados de estabilidad anteriores para una
ampliación a 100 seg. De tiempo con posiciones
de 45º y 30º intercalándose cada 20 segundos,
sólo él implementado sin etapa RLS y restricciones
de salida fue posible de estabilizar, este sistema
preparado para DSP también se pudo probar con
carga de una esfera de 45 gramos. Estos sistemas
pueden tener etapa RLS y se debe seleccionar
una adecuada pues ella depende únicamente de
la entrada y salida anterior.
Este programa incluye todos los datos a partir
de y: $900 del programa ubcomp1.asm que tiene
los datos de la señal de control aproximada
utilizando los 8 bits menos significativos que irán
al dac 0808 del circuito implementado y de allí
hacia el generador PWM.
En esta investigación el objetivo fundamental
es definir la posición y controlar la velocidad del
motor de excitación independiente, para lo cual
presentamos un programa que mejora el propuesto
en [8].
Nuestro programa permite operar
directamente en el ensamblador del DSP. Con este
procesador de señales gozamos del proceso de
convolución que le da a los datos que maneja y
además se ha utilizado restricciones de salida para
estabilizar la respuesta de posición siendo las
restricciones más elaboradas para el caso que
utilizamos etapa RLS. Además queda demostrado
que se pueden hacer las simplificaciones
necesarias sobre todo si se quiere trabajar con
DSP en el caso del uso de comandos de Matlab.
Los resultados numéricos caen dentro del dominio
fraccionario del DSP lo que abre una gama de
posibilidades para el manejo y mejora de algoritmos
de control.
Además se comprobó que la etapa RLS utilizada quizás no sea la más adecuada como se
contemplan en la referencia indicada por Motorola
fabricante del DSP utilizado en [12] teniéndose que
seleccionar entre varios algoritmos RLS.
El sistema no tiene complicaciones para uso
de puertos paralelos de comunicación a manera
de profundizar el problema se puede utilizar puertos
en serie SCI y SSI del DSP nosotros intentaremos
manejarlos con las facilidades del timer del DSP.
401
Descargar