INSTITUTO POLITÉCNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA
Y ELÉCTRICA
UNIDAD CULHUACAN
INGENIERÍA EN COMPUTACIÓN
TEORÍA DE CONTROL DIGITAL.
CONTROL DE VELOCIDAD Y POSICIÓN DE MOTOR DC
ALUMNOS:
CAMACHO SUAREZ AGUSTIN
CORTÉS SANCHEZ RENÉ ARAMES
DEL ÁNGEL RUIZ JESÚS ROBERTO
ROJAS MARTÍNEZ JESÚS ALBERTO
GRUPO: 7CM22
PROFESOR:
M. EN C. JOSÉ ANTONIO LOAIZA BRITO
CIUDAD DE MEXICO, 03 DE DICIEMBRE DE
2018
Objetivo. -
En el siguientes Proyecto el alumno llevara a la practica el funcionamiento de un
control PID, por medio del control proporcional se pretende diseñar, implementar
un control de velocidad y de posición.
Así como las acciones correspondientes de un controlador PID, la finalidad es
controlar la posición de un motor el cual estará acoplado a un potenciómetro,
dicho sistema estará controlado a través de un microcontrolador Arduino.
Objetivo Específico. -
“Diseñar y modelar un control digital de posición de un motor de corriente continua
mediante un teléfono celular”.
Introducción. –
Teoría de control Digital.
Teoría de control: conocimiento de cómo se puede hacer un sistema que manipule
un dispositivo.
Sistema Digital: un estado finito de estados que se pueden contar.
“Digito->contable->dedos”
Sistema Analógico: Un estado infinito de estados.
−τs
e
Proceso Digital: variable que requiere un muestreo de datos para hacer
una operación.
Conversión de digital a analógico.
Básicamente, la conversión D/A es el proceso de tomar un valor representado en
código digital (como binario directo o BCD) y convertirlo en un voltaje o corriente
que sea proporcional al valor digital. Este voltaje o corriente es una cantidad
analógica, ya que puede tomar diferentes valores de cierto intervalo. La figura 1.a
muestra el diagrama a bloques de un convertidor D/A común de 4 bits.
Las entradas digitales D, C, B Y A se derivan generalmente del registro de salida
de un sistema digital. Los 24 =16 diferentes números binarios representados por
estos 4 bits, por cada número de entrada, el voltaje de salida del convertidor D/A
es un valor distinto. De hecho, el voltaje de salida analógico Vout es igual en volts
al numero binario. También podría tener dos veces el numero binario o algún otro
factor de proporcionalidad. La misma idea sería aplicable se la salida del D/A
fuese corriente I out.
D C B A Vout
0 0 0 0 0
0 0 0 1 1
0 0 1 0 2
Convertidor D/A
0 0 1 1 3
0 1 0 0 4
0 1 0 1 5
0 1 1 0 6
0 1 1 1 7
…
la resolución de un convertidor D/A se define como la menor variación que puede
ocurrir en la salida analógica como resultado de un cambio en la entrada digita.
Aunque la resolución puede expresarse como la cantidad de voltaje o corriente por
etapa, resulta más útil expresarla como un porcentaje de la salida de escala
completa. Para ilustrar lo antes dicho, el convertidor D/A de la figura. Tiene una
salida de escala completa máxima de 15 v (cuando la entrada digital es 1111). El
tamaño de etapa es 1v, lo cual da una resolución porcentual de
tamaño de etapa
resolucion porcentual= x 100 %
escala total
Para un código de entrada binario de N bits, el número total de etapas es 2n−1 por
lo tanto, en el ejemplo anterior
1
resolucion porcentual= n
x 100 %
2 −1
Esto significa que es solo el número de bits el que determina la resolución
porcentual. Si se incrementa el número de bits, aumenta el número de etapas
hasta llegar a la escala completa.
Control Proporcional integral.
Los controladores regulares tipo PI son ampliamente usados desde hace varias
décadas en el control de todo tipo de sistemas lineales dada su alta eficacia,
simplicidad y su facilidad aplicación.
El controlador proporcional-integral tiene como propósito disminuir y eliminar el
error en estado estacionario, provocando por el modo proporcional.
El control integral actúa cuando hay una desviación entre la variable y el punto de
control, integrando esta desviación en el tiempo y sumándola a la acción
proporcional.
El error es integrado, lo cual tiene la función de promediarlo o sumarlo por un
periodo determinado, con el propósito de obtener una respuesta estable del
sistema sin error estacionario.
Materiales. –
- 2 Amplificadores operacionales LM741.
- 1 Potenciómetro100kΩ.
- 1 transistor BC548.
- 1 transistor BC558.
- 1 Motor de corriente directa Mabuchi EG-530AD-2F
-1 Protoboard.
- Fuente de Poder DC de +12Vcc, –12Vcc y +5 Vcc.
-Arduino UNO
-Modulo Bluetooth HC-06
Desarrollo. –
Control de Motor DC
El diagrama a bloques del sistema de control nos ha quedado de la siguiente
manera:
Para poder realizar el control del motor, lo primero que se debe conocer es su
función de transferencia sin ocupar la acción de control, quedando de la siguiente
manera el diagrama a bloques:
Donde:
−Ts
1−e
G=
s
1
Y H ( z )=
Js+ 1
Por lo tanto, la función de transferencia se resuelve con la siguiente ecuación:
GH ( z )=100∗( 1−z−1 )∗Z
( s (Js1+1) )
Siendo Z la transformada Z.
Por fracciones parciales:
1 A B A ( Js+1 )+ Bs
= + =
s ( Js+ 1 ) s Js +1 s ( Js +1 )
A ( Js +1 ) + Bs=1
( JA+ B ) s + A=1
A=1
JA+ B=0
B=−JA=−J
Después de obtener los valores de A y B por fracciones se procede a sacar su
transformada Z:
1 1 −J
= +
s ( Js+ 1 ) s Js+1
( s ( Js+1 )) =Z ( 1s + Js+1 ( )
)=Z ( 1s )+ Z ( Js−J+1 )=Z ( 1s )−Z s +11
1 −J
Z
(J)
Z ( 1s )= 1−z1 −1
( ( ))
1 1
Z = −T
1
s+ 1−e J
z −1
J
Z ( s ( Js+1
1
)) = 1−z1 −1
−
1−e
1
−T
J
z −1
Sustituyendo en GH(z):
( )
1 1
GH ( z )=100∗( 1−z )∗
−1
−1
− −T
1−z J −1
1−e z
( )
−1 −1
1−z 1−z
GH ( z )=100∗ −1
− −T
1−z −1
1−e J z
( )
−1
1−z
GH ( z )=100∗ 1− −T
J −1
1−e z
Teniendo GH(z) se prosigue a sustituir T (Periodo de muestreo) y J (torque del
motor):
Como ocuparemos una placa arduino UNO para el control, el periodo de muestreo
que necesitamos utilizar es el de nuestro ADC (Analog digital converter) que
posee el arduino, por ello a continuación, haremos un programa
con Arduino para calcular el tiempo de muestreo que tiene nuestra placa y así los
cálculos no sean erróneos. Para este ejemplo solo requerimos de una placa
Arduino y el código será el siguiente:
Activando el serial monitor podremos ver los resultados de nuestro experimento:
Excepto en la primera medida, las demás tiene un tiempo de muestreo de 116
micro segundos, lo que equivale a una frecuencia de muestreo de 8.6206896 kHz.
Para obtener el valor de J, que es el torque del motor, en nuestro caso es un
MABUCHI EG-530AD-2F, se hace uso de su datasheet:
J= 5.8839 mN-m
Por lo tanto:
T= 116 µs (Periodo de muestreo)
J= 5.8839 mN-m (Torque de motor)
Sustituyendo estos valores en GH(z):
( ) ( ) ( )
−1 −1
1−z 1−z 0.0195
GH ( z )=100∗ 1− =100∗ 1− =100∗
−116 µs
5.8839mN −m −1 1−0.9805 z −1
z−0.9805
1−e z
GH ( z )= ( z−0.9805
1.95
)
Para llevar a cabo la acción de control hay que determinar el punto de operación
del sistema, para ello se proponen los siguientes parámetros de diseño:
ξ=0.7 Relación de amortiguamiento
t s=1 ms Tiempo de asentamiento
T =116 µs Periodo de muestreo (Arduino)
4 4
De la fórmula: ts= se despeja y se obtiene: Wn=
ξ∗Wn ts∗ξ
Con estos parámetros podemos encontrar el punto de operación del sistema de la
siguiente manera:
4 4 3
ω n= = =5.7143 x 10
ξ t s 0.7(1 ms)
ω d=ωn √ 1−ξ 2ω d=5.7143 103 √ 1−(0.7)2=4080.8
2π 2π
ω s= = =54165.3906
T 116 µs
ω s 54165.3906
¿ muestras= = =13.27 ≈ 14
ωd 4080.8
El sistema tendrá 14 muestras por ciclo de oscilación, con este dato podemos
calcular la magnitud y ángulo del punto de operación con las fórmulas:
|z|=e−T ( ξWn)=e−¿ ¿
θ=T∗Wd=( 116 µs )∗(4080.8)=0.4734
Por lo tanto, el punto de operación sería:
z=|z|( cos θ+ jsin θ ) =0.6288 ( cos 0.4734 + jsen 0.4734 ) z=0.5596 + j 0.2867
Con el punto de operación calculado, lo siguiente a realizar seria adicionar un polo
de tal forma que esté en la trayectoria de los polos.
Sabemos que, si adicionamos un polo sobre el eje real, el punto de bifurcación
estará justo a la mitad de ellos, puesto que no existe ningún cero en la función.
Así que el nuevo polo tiene que hacer que el punto de bifurcación quede en
0.5596 de tal forma que:
Polo +0.9805
=0.5596 Polo=2 ( 0.5596 )−0.9805 Polo=0.1387
2
El polo tendrá que estar ubicado en 0.1387.
Por lo tanto, la acción de control quedará de la siguiente forma, con T =64.1 µs :
k
GD ( z )=
z−0.1387
Quedando como una acción de control proporcional integral.
Queda calcular el valor de k para que el punto de operación sea
z=0.5596 + j 0.2867.
Para ello utilizamos la condición de magnitud que dice:
|GH (z)|=1
De la condición de magnitud tenemos:
|k
1.95
(z −0.9805) |
=1
Despejando k :
k=| (z−0.9805)
1.95 |
Para encontrar el valor de K en el punto de operación sustituimos
z=0.5596 + j 0.2867
k=| 1.95 | |
( 0.5596+ j0.2867−0.9805 )
k=
(−0.4209+ j0.2867 )
0.1861 |
k =|−0.2158+ j 0.1470|k =0.2611
Por lo que:
0.2611
GD ( z )=
z−0.1387
Para poder hacer el algoritmo se tienen que obtener por lo menos 5 coeficientes
de la siguiente división:
1 −1
∗z −1
z−0.1387 z
X= −1
= −1
z 1−0.1387 z
Quedando los 6 coeficientes de la siguiente manera:
X(0)= 0
X(1)=1
X(2)= 0.1387
X(3)= 0.01924
X(4)= 0.0026
X(5)= 0.0004
Por lo tanto el diseño del algoritmo de GD(z) queda de la siguiente forma:
Resultados. –
Conclusiones. –