Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Gonzalo M. Berardo
Asesor: Pablo A. Salvadeo
Laboratorio de Computacin Reconfigurable
Facultad Regional Mendoza
Universidad Tecnolgica Nacional
Resumen: El trabajo presenta el diseo de un controlador implementado en FPGA (Field Programmable Gate
Array), para el control de posicin de un robot manipulador con 5 grados de libertad. Este desarrollo incluye
para cada articulacin la implementacin de dos cores (ncleos), un PID (Proporcional Integral Derivativo) y un
PWM (Pulse Width Modulation), para gobernar a cada motor. La comunicacin entre los ncleos y las etapas
externas se efecta a travs de un core SPI (Serial Peripheral Interface). Finalmente, un core central, acta como
unidad de gestin. En la implementacin en hardware se utiliza un kit de desarrollo de Digilent basado en un
FPGA Spartan-3E de Xilinx junto con su software ISE, mientras que la descripcin se realiza en VHDL (VHSIC
Hardware Description Language). Se presentan los resultados de la sntesis y el procedimiento de sintonizacin
del PID.
1. INTRODUCCION
Un manipulador es un robot industrial multifuncional
reprogramable con varios grados de libertad, capaz de
manipular materias, piezas, herramientas o dispositivos
especiales segn trayectorias variables programadas para
realizar tareas diversas1. La incorporacin de los manipuladores a los ambientes de trabajo, trae como ventajas la
liberacin del hombre a trabajos peligrosos, desagradables o montonos y arroja como resultado un aumento de
la productividad, calidad y competitividad de los procesos.
El controlador para el robot manipulador se disea con el
objeto de controlar la posicin angular de las articulaciones. Esto se logra empleando algoritmos PID. Los resultados se modulan en ancho de pulso para gobernar las
velocidades de los motores, de tal modo que variando
coherentemente dicha velocidad, se intenta controlar la
posicin del robot.
_______________________
1
2. MANIPULADOR
El manipulador a controlar posee 5 grados de libertad, los
cuales estn denotados por sus similitudes con el ser
humano, estos son: cintura, hombro, codo, muecaelevacin y mueca-giro. En la Fig.1 se muestra la vista
general del robot indicando los movimientos relativos a
cada grado de libertad.
El controlador recibe como seales de entrada, provenientes de la etapa de adquisicin, las posiciones deseadas
(setpoint) y las reales de cada articulacin, a travs del
bloque SPI y enva como salida, las seales PWM hacia
la etapa de potencia.
3.1 Controlador PID
Un controlador PID es un mecanismo de control genrico
de bucle cerrado, ampliamente usado en la industria para
el control de sistemas. El controlador PID compara el
valor real de la salida de una planta con la entrada de
referencia (valor deseado), determina la desviacin y
produce una seal de control que reducir la desviacin a
cero o a un valor pequeo (Ogata, 2003).
CODO
HOMBRO
MUECA
CINTURA
r(t)
e(t)
PID
u(t)
y(t)
Planta
Motor/Sensor
CONTROLADOR
ETAPA
ADQUISICION
UG
PID
PWM
PID
PWM
PID
PWM
ETAPA
POTENCIA
Donde:
es la ganancia proporcional, es la constante
de tiempo integral y
es la constante de tiempo derivativa. Estos tres parmetros interactan uno con el otro y
su ajuste para obtener el mejor control puede ser complicado.
Existen distintas posibilidades a la hora de realizar de
manera prctica un controlador PID. En este trabajo se
utiliza un diseo paralelo debido a facilidad que presenta
a la hora de describir el algoritmo, la Fig. 4 muestra un
diagrama del mismo.
SPI
e(t)
u(t)
Para cada articulacin el controlador dispone de dos bloques, PID y PWM. En la Fig. 3 se observa la representacin para tres articulaciones (cintura, hombro, y codo),
dejando sin ilustrar, las correspondientes a muecarotacin y mueca-elevacin.
Para un control digital, las seales continuas deben discretizarse. Si el tiempo de muestreo T es suficientemente
rea Estudiantil
Siendo
integral y
ganancia proporcional,
ganancia
Fig. 5. Bloque Arduino-Matlab.
ganancia derivativa.
Para la implementacin se describe el PID discreto (genrico) en VHDL siguiendo un estilo algortmico. En primera instancia se utilizan datos del tipo entero de 32 bits.
rea Estudiantil
Es importante destacar que los resultados de la sintonizacin corresponden a una implementacin en coma flotante. Haciendo clic en Data-Type se puede cambiar el tipo
de datos. La Fig. 9 muestra la respuesta al escaln del
sistema usando representacin en: (a) coma flotante, (b)
coma fija y (c) enteros.
(a)
(b)
(c)
La FT de la planta es:
En la Fig. 7 se representa el sistema de control realimentado que incluye al bloque TransferFcn con la FT calculada, y los bloques PID-Cotroller y ZeroOrderHold. El
primero permite implementar algoritmos de control PID
en tiempo continuo como en tiempo discreto, e incluye
una herramienta (PID-Tuner) para la sintonizacin automtica de las ganancias del controlador. El segundo
acta como elemento muestreador.
r
Haciendo doble clic sobre el bloque PID se abre la ventana Parameters-PID-Controller (Fig. 8), en donde se
especifica al controlador como tipo PID, de estructura
Paralela, y dominio de tiempo Discreto con muestreo de
T=0.01s.
COMPARADOR
A<B
Entrada
Digital
Salida
Modulada
El comparador determinar si el dato aplicado a la entrada de la unidad es igual al valor binario del contador que
cambia constantemente. El tiempo que durar la seal en
alto depende de la cantidad de pulsos de reloj que se
apliquen hasta que el contador presente un dato binario
mayor o igual al de la entrada.
rea Estudiantil
El periodo completo de un ciclo PWM es igual al producto del periodo del reloj de la seal de referencia (reloj del
sistema) con , donde n es el nmero de bits del contador propuesto.
Puerto
cpol
cpha
cont
clk_div
addr
La tarjeta Spartan-3E Starter Kit incluye una etapa analgica de dos canales de captura, formada por un preamplificador con escala programable (LTC6912) y por un
conversor analgico-digital (TLC14071). Ambos se configuran y se controlan por medio de una comunicacin
SPI. Es decir, estos dos circuitos integrados constituyen
los esclavos de la comunicacin. Para lo cual, de las hojas
de datos, se verifica la polaridad y fase del flanco de reloj
SCLK (cpol=0, cpha=0) y la velocidad de transmisin
(
, siendo:
Si se aumenta el nmero de bits del contador para mejorar la resolucin, el periodo PWM tender a hacerse ms
grande reduciendo drsticamente la frecuencia de salida.
(7)
Para que se cumpla la ecuacin (7) se configura
clk_div=1 en el core SPI.
En cuanto a la implementacin, se reusa el core SPI desarrollado por Scott Larson3, el mismo presenta de caracterstica, nmero de esclavos, ancho de palabra y
velocidad de transmisin configurable y polaridad y fase
seleccionable. Los puertos: enable, cpol, cpha, cont,
clk_div y addr se configuran de acuerdo al dispositivo
esclavo a enlazar. La misma se lleva a cabo por medio del
ncleo UG (Unidad de Gestin).
3.5 Mdulo UG
La unidad de gestin, se encarga de otorgar la configuracin requerida del core SPI (de acuerdo a Tabla 1), y
acta como rbitro entre los ncleos restantes.
_______________________
3
rea Estudiantil
CD4052
LTC6912
TLC1407
1
MUX
ADC
MUX
ADC
SPI
SPI
FPGA
5. POTENCIA
FlipFlops
Slices
LUTs
IOBs
B-MUXs
PID
53
92
180
34
1
PWM
1%
1%
1%
14%
4%
11
16
30
13
1
1%
1%
1%
5%
1%
SPI
103
102
145
59
1
1%
2%
1%
25%
4%
UG
67
94
165
44
1
1%
1%
1%
18%
4%
7. CONCLUSIONES
Se logr implementar exitosamente la arquitectura hardware propuesta para el control de posicin, en un FPGA
Spartan-3E de Xilinx.
El uso de VHDL como lenguaje para sntesis permiti
descomponer la estructura principal del diseo en mdulos e interconectarlos. Esto trajo como ventaja definir
bancos de pruebas (testbench) de manera global e individual.
La arquitectura tipo paralela permiti contemplar la sintonizacin de cada PID de manera separada, reduciendo
considerablemente la complejidad de los procedimientos.
Se proyecta la implementacin usando punto fijo en vez
de enteros. Los resultados encontrados al analizar la respuesta del PID indican que podra ser conveniente tal
adicin, pero debe evaluarse su impacto en los recursos
consumidos.
AGRADECIMIENTOS
Este trabajo fue parcialmente cubierto por el Programa de
Becas Doctorales en reas Prioritarias de la Universidad
Tecnolgica Nacional y por las Becas de Investigacin y
Servicio entregadas por la Facultad Regional Mendoza de
dicha Universidad.
REFERENCIAS
Kuchen B. y Carelli R. (1996). Control Digital Discreto.
Ogata, K. (2003). Ingeniera de control moderna, Pearson.
Bronw S. y Vranesic Z. (2008). Fundamentos de Lgica
Digital con diseo en VHDL, McGrawHill.
rea Estudiantil