Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INFORME DE CONTROL I
Sistema de Tercer Orden
Diseño de un Servomotor controlado por PID
1. Introducción Introduction
2. Marco teórico
pág. 1
Leverson Beltrán Castro, María Camila Parra
Diseño de un Servomotor controlado por PID
señal entre 1,6 y 2 milisegundos el servomotor se moverá en contra de las manecillas de reloj. Se
debe tener en cuenta que 1,5 milisegundos para el servomotor es un estado neutro. [1]
3. Materiales
• 1 Arduino Nano
• 1 Emisor IF
• 1 Receptor IF
• 1 Regulador de voltaje LM7805
• 1 Motor DC con reducción de engranajes
• Leds, resistencias y 1 potenciómetro.
• Modulo Micro SD para Arduino
pág. 2
Leverson Beltrán Castro, María Camila Parra
Diseño de un Servomotor controlado por PID
4. Procedimiento
Para la realización del sistema de control se procedió a realizar en primera instancia el diseño y
fabricación de un medidor de RPM, este con el fin de medir indirectamente la constante eléctrica de
velocidad (Ke) del motor.
R2
U1
10K
7805
SIM1
1 3
VI VO
www.TheEngineeringProjects.com
GND
13 12 RV1
D13 D12
11
2
REF D11
A0
A0 Arduino D10
10
A1 9
A1 Nano D9
A2
A2 D8
8 BAT1
1k 9V
A3 7
A3 D7
DO
DI
CLK
CS
A4 6
A4 D6
ATMEGA328P
A5 5
ATMEL
A5 D5 D1
A6 4 1N4007
A6 D4
A7 3
A7 D3
2
5V D2
SD Card
0
RST RX / D0
1
GND TX / D1
SD1
SD
K C Q1
d (mm)
CNY70
ARDUINO NANO 0.0
5V
A E
R3
R1
220
220
Figura 1. Diagrama circuital del medidor de RPM con Arduino. Realizado en Proteus.
pág. 3
Leverson Beltrán Castro, María Camila Parra
Diseño de un Servomotor controlado por PID
Para el motor DC usado en el proyecto se tuvo en cuenta sus parámetros eléctricos correspondientes
a su embobinado, como lo es su resistencia en serie y su inductancia:
Donde:
𝑅 = 31,8Ω
𝐿 = 5,05𝑚𝐻
Estas mediciones se hicieron con un LRC (medidor de inductancia, resistencia y capacitancia). Para
la medición de la velocidad del motor respecto al voltaje se diseñó una herramienta digital con un
sensor infrarrojo, la cual tiene como función medir las interrupciones de paso de luz infrarroja del
emisor al receptor, este tipo de sensores es llamado Encoder.
La lectura de los datos se realizó por medio de la habilitación de las interrupciones de un
microcontrolador (Arduino Nano).
La tabla (1) muestra los valores de voltaje medidos por el puerto analógico del Arduino y las
revoluciones por minuto tomadas después de un tiempo de estabilización del motor. Luego de esto se
realizó la conversión de RPM a rad/s.
pág. 4
Leverson Beltrán Castro, María Camila Parra
Diseño de un Servomotor controlado por PID
Gráfica 1. Curvas de voltaje vs rpm. Cada color de las curvas indica una serie de lecturas de tomadas del medidor de
rpm con su respectiva línea de tendencia. Se observa que la forma de respuesta es aproximadamente igual.
En la gráfica (1) se observan las diferentes curvas y puntos de los voltajes medidos respecto a las
RMP en distintos tiempos. De acuerdo con los puntos, el comportamiento de la línea de tendencia era
polinómica y para mejorar estos valores se trazaron los puntos más lineales de las mediciones después
de su estado estacionario.
Gráfica 2. Grafica de distorsión (voltaje vs rpm). Los puntos en la gráfica se tomaron de acuerdo con los datos de la
tabla 1 para calcular el valor de la pendiente o en este caso nuestra constante de velocidad Ke.
La gráfica (2) muestran los puntos más alineados y la línea de tendencia con comportamiento más
lineal que en la gráfica (1).
Con la ecuación hallada por la línea de tendencia en la gráfica 2, podemos decir que:
𝑦 = 13,802𝑥 (1)
Donde:
pág. 5
Leverson Beltrán Castro, María Camila Parra
Diseño de un Servomotor controlado por PID
𝑦 = 𝑅𝑃𝑀
𝑥 = 𝑣𝑜𝑙𝑡𝑎𝑗𝑒(𝑣)
13.802 = 𝑝𝑒𝑛𝑑𝑖𝑒𝑛𝑡𝑒
Reescribimos la ecuación (1):
2𝜋
𝑅𝑀𝑃 ∗ = 𝑟𝑎𝑑/𝑠
60
Reemplazamos en la ecuación (2):
2𝜋
𝑅𝑀𝑃 ∗ = 13,802 ∗ 𝑉
60
𝑉 = 0,00758 ∗ 𝑊 (3)
𝑉∗𝑠 𝑉
𝐾𝑒 = 0.00758 (𝑟𝑎𝑑) ó 0.0724 (𝑅𝑃𝑀) (4)
𝑅 = 31,8Ω
𝐿 = 5,05𝑚𝐻
𝐾𝑒 = 0.00758
Para calcular el momento de inercia se tomó como referencia el radio y la masa del piñón plástico.
𝑚 = 15𝑔 = 0.015𝐾𝑔
𝑟 = 0.8𝑐𝑚 = 0.008𝑚
1
𝐽 = 𝑚𝑟 2
2
(0.015)(0.008)2
𝐽= = 480 × 10−9 = 0.48𝜇 𝐾𝑔 ∗ 𝑚2 (5)
2
pág. 6
Leverson Beltrán Castro, María Camila Parra
Diseño de un Servomotor controlado por PID
Figura 6-8. Diseño en Solid Works de la base para el sistema de control PID del servomotor.
𝜃(𝑆) 0.00758
= 3
𝐸𝑖𝑛 (𝑆) 𝑆 (0.3232 × 10 ) + 𝑆 (3.0452 × 10−6 ) + 𝑆(6.4174 × 10−3 )
−9 2
𝜔 = 𝑉𝑒𝑙𝑜𝑐𝑖𝑑𝑎𝑑
𝑇𝑚 = 𝑇𝑜𝑟𝑞𝑢𝑒 𝑚𝑒𝑐á𝑛𝑖𝑐𝑜
𝑇𝑚 = 𝐾𝑡 ∙ 𝐼𝑎 = 𝐵 ∙ 𝜔 + 𝑇𝑓
A continuación, se muestra la tabla de los valores experimentales para poder obtener la constante de
fricción B.
W Ke
em (V) Tm (Nm) Tf (Nm) I (A) Iarr (A) Tm-Tf
(rad/s) (Nm/A)
26,18 0,00758 4,99 0,00168 0,00044 0,222 0,058 1,2,E-03
20,94 0,00758 4,89 0,00152 0,00044 0,201 0,058 1,1,E-03
8,38 0,00758 4,31 0,00147 0,00044 0,194 0,058 1,0,E-03
5,24 0,00758 4,07 0,00139 0,00044 0,183 0,058 9,5,E-04
6,28 0,00758 4,00 0,00139 0,00044 0,183 0,058 9,5,E-04
5,24 0,00758 3,73 0,00130 0,00044 0,172 0,058 8,6,E-04
5,24 0,00758 3,63 0,00127 0,00044 0,167 0,058 8,3,E-04
4,19 0,00758 3,61 0,00117 0,00044 0,155 0,058 7,4,E-04
4,19 0,00758 3,41 0,00111 0,00044 0,146 0,058 6,7,E-04
4,19 0,00758 3,28 0,00102 0,00044 0,135 0,058 5,8,E-04
3,14 0,00758 3,16 0,00097 0,00044 0,128 0,058 5,3,E-04
3,14 0,00758 3,12 0,00094 0,00044 0,124 0,058 5,0,E-04
3,14 0,00758 2,92 0,00090 0,00044 0,119 0,058 4,6,E-04
pág. 7
Leverson Beltrán Castro, María Camila Parra
Diseño de un Servomotor controlado por PID
Luego de tener la tabla con todos los datos necesarios para hallar la constante de fricción, procedemos
a graficarla y obtenemos la línea de tendencia y el valor de la constante de fricción del motor.
1,2,E-03
1,0,E-03
8,0,E-04
Tm-Tf (Nm)
6,0,E-04
4,0,E-04
2,0,E-04
0,0,E+00
0,00 2,00 4,00 6,00 8,00 10,00
-2,0,E-04
W(rad/s)
La grafica (3) muestra la relación que existe entre torque de fricción (𝑇𝑓 ) y el torque del motor (𝑇𝑚 )
versus la velocidad (W).
En esta grafica obtenemos el torque mecánico versus la velocidad, utilizando el método de regresión
lineal se obtuvo la ecuación de la recta, donde la pendiente de esta recta es nuestra constante de
fricción B.
De acuerdo con la gráfica (3) el valor de la pendiente equivale a la constante de fricción, la cual
equivale a:
0,2∗10−3 Ns
𝐵= m2
(6)
pág. 8
Leverson Beltrán Castro, María Camila Parra
Diseño de un Servomotor controlado por PID
Luego de ello, se realizó la caracterización del potenciómetro que va a ir conectado al motor, este
dispositivo pasivo también se puede identificar con una función de transferencia:
Angulo y Voltaje del POT La tabla (3) muestra los valores de voltaje
Angulo Voltaje Angulo Voltaje respecto al ángulo del potenciómetro de 5K
0 0 145 2,41 usado en el proyecto. Se midieron y anotaron los
5 0,008 150 2,5 valores de cada uno cada 5° y se graficaron en
10 0,008 155 2,61 Excel.
15 0,008 160 2,68
20 0,04 165 2,78
25 0,14 170 2,87 Luego de esto, se procedió a realizar la gráfica
por distorsión y asignar una línea de tendencia
30 0,22 175 2,97
al ecuación quedando como:
35 0,32 180 3,07
40 0,42 185 3,16
45 0,5 190 3,25 V = 0,0192*P - 0,3658
50 0,6 195 3,35
Donde:
55 0,7 200 3,43
60 0,79 205 3,54 • V, es el voltaje
65 0,89 210 3,65 • P, es el valor de la posición en ángulos
70 0,99 215 3,74 • 0,3658 es el valor del desfase que se
75 1,08 220 3,83 debe asignar para que permanezca en el
80 1,19 225 3,94 ángulo asignado.
85 1,27 230 4,06
90 1,37 235 4,16
95 1,47 240 4,26
100 1,56 245 4,36
105 1,65 250 4,47
110 1,76 255 4,57
115 1,83 260 4,67
120 1,94 265 4,75
125 2,02 270 4,83
130 2,12 275 4,94
135 2,22 280 5,02
140 2,31
pág. 9
Leverson Beltrán Castro, María Camila Parra
Diseño de un Servomotor controlado por PID
4
Voltaje (V)
3
0
0 30 60 90 120 150 180 210 240 270 300
Grados (Posición)
Luego de tener la constante del potenciómetro, se procedió a calcular el PID del sistema.
Resolvemos el sistema de control de lazo cerrado con cada una de las salidas y entradas del sistema:
pág. 10
Leverson Beltrán Castro, María Camila Parra
Diseño de un Servomotor controlado por PID
Decimos que:
1
𝑋 = (1 + 𝜏 𝑆 + 𝑇𝑑 𝑆) (12)
𝑖
𝑋
𝐾𝑃 𝑍𝑖 [
3 + 𝑏𝑆 2 + 𝑐𝑆 ]
𝑇(𝑆) = 𝑎𝑆
𝐴𝐾 𝑋𝑍
1+ 3 𝑃 2𝑖
𝑎𝑆 + 𝑏𝑆 + 𝑐𝑆
𝐾𝑃 𝑍𝑖 𝑋
𝑎𝑆 3 + 𝑏𝑆 2 + 𝑐𝑆
𝑇(𝑆) =
𝑎𝑆 3 + 𝑏𝑆 2 + 𝑐𝑆 + 𝐴𝐾𝑃 𝑋𝑍𝑖
𝑎𝑆 3 + 𝑏𝑆 2 + 𝑐𝑆
𝐾𝑃 𝑍𝑖 𝑋
𝑇(𝑆) = (13)
𝑎𝑆 3 +𝑏𝑆 2 +𝑐𝑆+𝐴𝐾𝑃 𝑋𝑍𝑖
Donde:
𝑍𝑖 0.00758
𝑎𝑆 3 +𝑏𝑆 2 +𝑐𝑆
= 𝑆 3 (0.3232×10−9 )+𝑆 2 (3.0452×10−6 )+𝑆(6.4174×10−3 ) (14)
1
𝑋 = (1 + + 𝑇𝑑 𝑆) ; 𝑇𝑑 = 0 ; 𝑇𝑖 = ∞
𝜏𝑖 𝑆
Reemplazamos obtenemos que 𝑋 = 1 y reemplazamos:
𝐾𝑃 𝑍𝑖
𝑇(𝑆) =
𝑎𝑆 3 + 𝑏𝑆 2 + 𝑐𝑆 + 𝐴𝐾𝑃 𝑍𝑖
𝐾𝑃 𝑍𝑖
𝑇(𝑆) =
𝑎 𝑏 𝑐
𝑆 3 𝑍 + 𝑆 2 𝑍 + 𝑆 𝑍 + 𝐴𝐾𝑃
𝑖 𝑖 𝑖
𝑃 𝐾
𝑇(𝑆) = 𝑆 3 (4.26×10−8 )+𝑆 2 (4.02×10 −4 )+𝑆(0.846)+0.0192𝐾 (15)
𝑃
pág. 11
Leverson Beltrán Castro, María Camila Parra
Diseño de un Servomotor controlado por PID
𝑺𝟑 𝑎3 𝑎1 𝑎3 = 4.26 × 10−8 ;
𝑺𝟐 𝑎2 𝑎0 𝑎2 = 4.02 × 10−4 ;
𝑺𝟏 𝑏1 𝑏2 𝑎1 = 0.846
𝑺𝟎 𝑐1 𝑐2 𝑎0 = 0.0192𝐾𝑃
Luego hallamos 𝑏1 :
[(4.26 × 10−8 )( 0.0192𝐾𝑃 ) − (4.02 × 10−4 )(0.846)]
𝑏1 = −
4.02 × 10−4
𝑏1 ∙ 𝑎0
𝑐1 = = 𝑎0
𝑏1
𝑐1 = 0.0192𝐾𝑃
0 < 𝐾𝑃 ≤ 416256.1576
pág. 12
Leverson Beltrán Castro, María Camila Parra
Diseño de un Servomotor controlado por PID
416256.1576
𝑇(𝑆) =
𝑆 3 (4.26 × 10−8 ) + 𝑆 2 (4.02 × 10−4 ) + 𝑆(0.846) + (0.0192)(416256.1576)
416256.1576
𝑇(𝑆) = (16)
𝑆 3 (4.26×10−8 )+𝑆 2 (4.02×10−4 )+𝑆(0.846)+7992.1182
𝑆1 = −9434.58
𝑆2 = −0.009 + 𝑗4454.2
𝑆3 = −0.009 − 𝑗4454.2
Se procede a graficar los polos con Root Locus en Matlab para verificar en que zona de estabilidad
quedó y a su vez calcular los tiempos de integración y derivación por medio de la frecuencia angular
marcada en el eje imaginario del Root Locus.
De acuerdo con la figura (10) se puede observar que los polos dominantes representan la constante
de tiempo mecánica que predomina en el sistema y el polo más alejado del origen representa la
constante de tiempo eléctrica.
Luego tomamos la parte imaginaria de una de las raíces para poder hallar la frecuencia:
pág. 13
Leverson Beltrán Castro, María Camila Parra
Diseño de un Servomotor controlado por PID
2𝜋
𝜔=
𝑃𝑐𝑟
Despejamos 𝑃𝑐𝑟 :
2𝜋
𝑃𝑐𝑟 =
𝜔
2𝜋
𝑓 = 4454.2 = 1.41 × 10−3 Hz (17)
1
𝐾𝑃 (1 + + 𝑇𝑑 𝑆)
𝜏𝑖 𝑆
𝐾𝑃
𝐾𝑃 + + 𝐾𝑃 𝑇𝑑 𝑆 (18)
𝜏𝑖 𝑆
𝐾𝑃 249185.74
𝐾𝑖 = 𝜏𝑖
= 0.705×10−3 = 348.51 × 106 (19)
A continuación, se muestran las simulaciones del sistema de lazo abierto, del sistema de lazo cerrado
sin PID y el sistema de lazo cerrado con PID, realizadas en Simulink.
pág. 14
Leverson Beltrán Castro, María Camila Parra
Diseño de un Servomotor controlado por PID
La figura (11) muestra el sistema de control de lazo abierto, donde la función de transferencia
mostrada equivale al comportamiento del motor (Voltaje vs Posición).
En la figura (12) se observa que la señal de entrada (color azul) aplicada en un step con amplitud de
1 voltio es constante en todo tiempo después de su flanco de subida en 1 segundo, por otro lado la
señal de posición (color amarillo) representa el valor de la posición en ángulos, como no tiene ningún
sistema de lazo cerrado, la señal tiende a irse hasta el infinito, esto quiere decir que el motor en lazo
abierto seguirá girando sin importar el tiempo ni el valor de amplitud del Step.
Figura 13. Diagrama de lazo cerrado sin PID. Realizado en Simulink de Matlab.
La figura (13) muestra el diagrama de lazo cerrado conectado al potenciómetro del motor, este sistema
evidencia en la figura (14) el tiempo de respuesta (estabilización) de aproximadamente 1 minuto.
pág. 15
Leverson Beltrán Castro, María Camila Parra
Diseño de un Servomotor controlado por PID
Figura 14. Grafica de lazo cerrado sin PID Azul: Salida y Amarillo: Step
En la figura (14), la señal de entrada (color amarillo) es un Step de 1 voltio de amplitud, mientras
que la señal de salida (color azul) sigue muy lentamente el Step críticamente amortiguada en un
tiempo de estabilización muy grande.
Figura 15. Grafica de lazo cerrado con PID. Realizado en Simulink de Matlab.
Para la figura (15) se procedió a integrar el controlador PID (proporcional, integrador y derivador)
para hacer que el sistema se estabilizara muy rápidamente y no tendiera al ciclo infinito como en el
lazo abierto.
Luego de tener todos los valores de las constante del sistema PID, se procede colocarlos en el PID
del sistema.
pág. 16
Leverson Beltrán Castro, María Camila Parra
Diseño de un Servomotor controlado por PID
Figura 16. Grafica de lazo cerrado, Azul: Salida. y Amarillo: Step de entrada
Figura 17. Diagrama circuital del PID. Realizado en el software de simulación Multisim
pág. 17
Leverson Beltrán Castro, María Camila Parra
Diseño de un Servomotor controlado por PID
Figura 17. (Izq.) Circuito sumador, (Cent.) Circuito PID, (Der.) Circuito de potencia y
direccionamiento del motor.
9. Resultados
• El sistema real sin el PID llega a su posición perfectamente con un porcentaje de error del
40% respecto al ángulo de entrada y un tiempo de respuesta aproximadamente de 3 segundos.
Existen momentos en los cuales el sistema pierde por completo el control de posición y
tiempo y no responde a la señal de entrada.
• Cuando se conecta el PID el sistema de control entra en oscilación, pero esta oscilación
permanece estable en rango de 40° máximo después del valor de posición asignado.
• El valor de la constante proporcional, es inversamente proporcional al periodo de oscilación
del sistema, entre menor sea el valor de la constante de proporcionalidad (Potenciómetro de
1M) mayor es el periodo de oscilación de la posición original y tiene un mayor rango de error
del sistema.
9.1. Fotografías
10. Conclusiones
pág. 18
Leverson Beltrán Castro, María Camila Parra
Diseño de un Servomotor controlado por PID
valores de tolerancias en las resistencias dan valores casi exactos, pero solo este pequeño error de
tolerancia se debe ajustar con resistencias variables mayores a estas (trimmer’s).
Cuando se el sistema real sin el PID llega a su posición perfectamente con un porcentaje de error del
40% respecto al ángulo de entrada y un tiempo de respuesta aproximadamente de 3 segundos. Existen
momentos en los cuales el sistema pierde por completo el control de posición y tiempo y no responde
a la señal de entrada.
11. Referencias
[1]. Noel Macial Vásquez, Rampa en Servomotor, Centro de Enseñanza Técnica Industrial,
https://www.academia.edu/30102042/Rampa_en_Servomotor
[2]. Ingeniería de control moderna, Ogatha, 5ta Edición.
pág. 19