Modelado y Control de Un Péndulo Invertido

10
1 AbstractoEn este informe se presenta el modelado y control de un péndulo invertido, para los cuales se hace uso del software de cálculos matemáticos MATLAB y Simulink. El control se basa en el método de espacio de estados y se establecen los requerimientos que ha de tener el sistema compensado para cumplir con condiciones de control satisfactorias. Índice de términosEspacio de estados, observador, discretización, ecuación en diferencias, retroalimentación. I. INTRODUCCIÓN Para empezar, el modelado del péndulo invertido se divide en dos partes: un modelo simple y linealizado, y un modelo no lineal. El diseño del sistema de control para dicho péndulo se hace tomando como referencia al modelo simplificado y luego se comprueba su validez en el modelo no linealizado. Este sistema queda definido por tres estados: la velocidad del carro, la posición angular y la velocidad angular del péndulo, de los cuales ni la velocidad del carro ni la velocidad angular del péndulo son medibles directamente desde la salida en el sistema real. Para resolver este problema, se diseña un observador de orden completo que permita estimar dichas variables. Finalmente, el control digital para el sistema se hace discretizando las ecuaciones matemáticas que lo definen, para luego implementarlas en el microcontrolador Arduino utilizando una ecuación en diferencias. II. NOMENCLATURA Símbolo Significado Símbolo Significado K1 Constante del motor (Torque/corriente) g Aceleración angular K2 Constante del motor (Voltaje/velocidad angular) Posición angular l Longitud del péndulo ̇ Velocidad angular r Radio de la rueda ̈ Aceleración angular R Resistencia del motor ̇ Velocidad lineal M Masa del carro ̈ Aceleración lineal m Masa del péndulo Fuerza de entrada III. DESCRIPCIÓN DE CONTENIDOS A. Péndulo invertido: Modelado del sistema Haciendo uso de las leyes de Newton, se determinan las ecuaciones que definen el comportamiento del sistema, las cuales se presentan a continuación: ( + )̈ + ̈ cos − ̇ 2 sin = ̈ cos + 2 ̈ − sin = 0 Donde: = 1 1 2 2 ̇ Haciendo la asunción de que el ángulo es muy pequeño y sustituyendo por las ecuaciones que representan la fuerza del motor, se obtienen las siguientes ecuaciones linealizadas: ̈ = 1 1 2 2 ̇ − ̈ = − 1 + 1 2 2 ̇ + ( + ) Modelado y control de un péndulo invertido Lucia Medina 1053589, Leandro Piña 1053598, Brayand Mora 1050592 Instituto Tecnológico de Santo Domingo (INTEC) Santo Domingo, República Dominicana [email protected] [email protected] [email protected] Figura 1. Respuesta del modelo no lineal ante una entrada step. Figura 2. Respuesta del modelo lineal ante una entrada step.

description

Modelado y Control de Un Péndulo Invertido

Transcript of Modelado y Control de Un Péndulo Invertido

1

Abstracto— En este informe se presenta el modelado y control

de un péndulo invertido, para los cuales se hace uso del software

de cálculos matemáticos MATLAB y Simulink. El control se basa

en el método de espacio de estados y se establecen los

requerimientos que ha de tener el sistema compensado para

cumplir con condiciones de control satisfactorias.

Índice de términos— Espacio de estados, observador,

discretización, ecuación en diferencias, retroalimentación.

I. INTRODUCCIÓN

Para empezar, el modelado del péndulo invertido se divide en dos

partes: un modelo simple y linealizado, y un modelo no lineal. El

diseño del sistema de control para dicho péndulo se hace tomando

como referencia al modelo simplificado y luego se comprueba su

validez en el modelo no linealizado. Este sistema queda definido por

tres estados: la velocidad del carro, la posición angular y la velocidad

angular del péndulo, de los cuales ni la velocidad del carro ni la

velocidad angular del péndulo son medibles directamente desde la

salida en el sistema real. Para resolver este problema, se diseña un

observador de orden completo que permita estimar dichas variables.

Finalmente, el control digital para el sistema se hace discretizando las

ecuaciones matemáticas que lo definen, para luego implementarlas en

el microcontrolador Arduino utilizando una ecuación en diferencias.

II. NOMENCLATURA

Símbolo Significado Símbolo Significado

K1 Constante del motor

(Torque/corriente) g Aceleración

angular

K2 Constante del motor

(Voltaje/velocidad

angular)

𝜽 Posición angular

l Longitud del péndulo Velocidad

angular

r Radio de la rueda Aceleración

angular

R Resistencia del motor Velocidad lineal

M Masa del carro Aceleración

lineal

m Masa del péndulo 𝒇 Fuerza de

entrada

III. DESCRIPCIÓN DE CONTENIDOS

A. Péndulo invertido: Modelado del sistema

Haciendo uso de las leyes de Newton, se determinan las ecuaciones

que definen el comportamiento del sistema, las cuales se presentan a

continuación:

(𝑀 + 𝑚) + 𝑚𝑙 cos 𝜃 − 2𝑚𝑙 sin 𝜃 = 𝑓

𝑚𝑙 cos 𝜃 + 𝑚𝑙2 − 𝑚𝑔𝑙 sin 𝜃 = 0

Donde:

𝑓 =𝐾1𝑒

𝑅𝑟−

𝐾1𝐾2

𝑅𝑟2

Haciendo la asunción de que el ángulo 𝜃 es muy pequeño y

sustituyendo 𝑓 por las ecuaciones que representan la fuerza del motor,

se obtienen las siguientes ecuaciones linealizadas:

= 𝐾1

𝑀𝑟𝑅𝑒 −

𝐾1𝐾2

𝑀𝑟2𝑅 −

𝑚𝑔

𝑀𝜃

= −𝐾1

𝑀𝑙𝑟𝑅𝑒 +

𝐾1𝐾2

𝑀𝑙𝑟2𝑅 + (

𝑀 + 𝑚

𝑀𝑙) 𝑔𝜃

Modelado y control de un péndulo invertido

Lucia Medina 1053589, Leandro Piña 1053598, Brayand Mora 1050592

Instituto Tecnológico de Santo Domingo (INTEC)

Santo Domingo, República Dominicana [email protected]

[email protected]

[email protected]

Figura 1. Respuesta del modelo no lineal ante una entrada step.

Figura 2. Respuesta del modelo lineal ante una entrada step.

2

B. Parámetros del sistema

A continuación se presentan los parámetros que definen el

sistema:

Parámetro Valor

K1 4.619 N.m/Amp

K2 1.3857 V/rad/s

l 0.9150 m

r 0.0375 m

R 1.2554 Ω

m 0.02959 kg

M 1.86 kg

g 9.81 m/s2

C. Representación del sistema lineal en el espacio de

estados

En primer lugar, se establecen los estados que representan el

sistema:

𝑥1 =

𝑥2 = 𝜃

𝑥3 =

Por tanto, se obtienen las siguientes ecuaciones:

𝑥1 =𝐾1

𝑀𝑟𝑅𝑒 −

𝐾1𝐾2

𝑀𝑟2𝑅𝑥1 −

𝑚𝑔

𝑀𝑥2

𝑥3 = −𝐾1

𝑀𝑙𝑟𝑅𝑒 +

𝐾1𝐾2

𝑀𝑙𝑟2𝑅𝑥1 + (

𝑀 + 𝑚

𝑀𝑙) 𝑔𝑥2

Para este sistema se tiene que el voltaje del motor ‘e’ y el ángulo del

péndulo ‘𝜃’ representan la entrada y salida del sistema

respectivamente. Dicho esto, al sustituir las ecuaciones anteriores con

los parámetros correspondientes, se obtiene la siguiente representación

en el espacio de estados:

= 𝑨𝒙 + 𝑩𝒖

𝒚 = 𝑪𝒙

[

𝑥1

𝑥2

𝑥3

] = [−1.95(103) −0.16 0

0 0 12.13(103) 10.89 0

] [

𝑥1

𝑥2

𝑥3

] + [52.75

0−57.65

] 𝑒

𝑦 = [0 1 0] [

𝑥1

𝑥2

𝑥3

]

D. Diseño del observador de orden completo.

Dado que no todos los estados son directamente medibles desde la

salida – solo lo es la posición angular del péndulo – entonces es

necesario observar los estados no medibles y estimar sus valores

mediante un observador. Para ello se elige un observador de orden

completo, pues los cálculos correspondientes son más sencillos y el

error de estimación es menor que el que se obtiene con un observador

de orden reducido.

Antes de poder implementar un observador de estados en el sistema,

es necesario saber si el mismo es completamente observable, esto se

verifica con la matriz de observabilidad. Si el rango de la matriz es

igual al número de estados del sistema entonces es completamente

observable. Los resultados se muestran a continuación:

𝑀 = [𝐶′ ⋮ 𝐴′𝐶′ ⋮ 𝐴′2𝐶′]

𝑀 = [0 1 0

0 01

2.13(103)

10.890

]

Cuando se obtiene el rango de la matriz, se obtiene que el resultado

es de 3. Puesto que el rango de la matriz M es igual al número de

estados del sistema, entonces se concluye que es completamente

observable y se puede añadir un observador al sistema.

Para el diseño del observador se requiere que este sea entre dos a

cinco veces más rápido que la planta. Para este caso, se eligió que los

polos del observador sean tres veces más rápidos que el polo más

rápido del péndulo invertido. Por ese mismo lado, los polos del

observador tendrán una configuración de filtro Butterworth. Al

determinar los valores propios de la matriz de estados A, se obtienen

los polos del sistema en open loop:

𝑒𝑖𝑔(𝐴) = −1.9492(103); −3.2743 ; 3.2743

Debido a esto, los polos del observador tendrán el siguiente módulo

m:

𝑚 = 3 ∗ 1.9492 ∗ 103

𝑚 = 5.8476(103)

Dado que la ubicación de los polos de un filtro Butterworth están

dadas por la siguiente ecuación:

𝑚 (− sin [𝜋(2𝑘 − 1)

2𝑛] + 𝑗 cos [

𝜋(2𝑘 − 1)

2𝑛]) ; 𝑘 = 1,2 … 𝑛

Entonces los polos deseados para el observador de orden completo

se ubican en: -5.85(103), -2.92(103) ± j5.06(103).

A continuación se procede a determinar la matriz de ganancias K

para el observador. El comando place de MATLAB permite realizar

esto con facilidad:

𝐾 = [

4.87(107)

9.75(103)

4.94(107)

]

Esta matriz de ganancias puede obtenerse también igualando la

ecuación característica del observador con la ecuación característica

que se desea, es decir:

|𝑠𝐼 − 𝐴 + 𝐾𝐶| = 𝐸𝑐. 𝑐𝑎𝑟𝑎𝑐𝑡𝑒𝑟í𝑠𝑡𝑖𝑐𝑎 𝑑𝑒𝑠𝑒𝑎𝑑𝑎

El diagrama de bloques correspondiente al observador se representa

como indica la imagen que sigue:

Figura 3. Matriz de ganancia K del observador de orden completo.

3

E. Diseño del control: Retroalimentación de los estados.

La función de transferencia en open loop es:

𝐺(𝑠) = −57.65𝑠 + 5.02(10−11)

𝑠3 + 1949𝑠2 − 10.89𝑠 − 2.09(104)

Ésta se obtiene utilizando el comando en MATLAB ss2tf(A, B, C,

D) o mediante la ecuación:

𝐻(𝑠) = 𝐶(𝑠𝐼 − 𝐴)−1𝐵

Dado que se tiene un cero en s = 8.707(10-13), el cual es muy cercano

a cero, es necesario entonces que el sistema en lazo cerrado tenga un

polo en el origen. Los polos elegidos para el sistema tendrán una

configuración Butterworth, y con un módulo de 35 se cumplen los

requisitos de diseño planteados con anterioridad de bajo porcentaje de

overshoot y rápido tiempo de asentamiento. Por tanto, los polos

deseados estarán en: s1 = 0, s2,3 = -24.75 ± 24.75.

La matriz de retroalimentación de los estados se obtuvo utilizando

el comando en MATLAB place(A, B,desired), donde desired es una

variable que contiene los polos que se desean colocar. También es

posible obtener dicha matriz utilizando la ecuación que sigue:

|𝑠𝐼 − 𝐴 + 𝐵𝐺| = 𝐸𝑐. 𝑐𝑎𝑟𝑎𝑐𝑡𝑒𝑟í𝑠𝑡𝑖𝑐𝑎 𝑑𝑒𝑠𝑒𝑎𝑑𝑎

En este caso, matriz de ganancia G es:

𝐺 = [−36.95 −21.44 −0.86]

El sistema ahora, con observador de orden completo y

retroalimentación de todos los estados, se representa mediante el

siguiente diagrama de bloques:

Como se observa, ambos sistemas estabilizan en el valor deseado

y tienen una respuesta muy similar.

F. Diseño del control digital: Discretización del

controlador-observador e implementación en Arduino

A continuación se debe discretizar la función de transferencia del

observador-controlador, para poder implementarlo en el

microcontrolador Arduino. Su función de transferencia está dada por

la siguiente ecuación:

𝑌(𝑠)

𝑈(𝑠)= −𝑮(𝑠𝑰 − 𝑨 + 𝑲𝑪 + 𝑩𝑮)−1𝑲

Figura 4. Diagrama de bloques del observador de orden completo.

Figura 5. Respuesta step del sistema lineal en lazo abierto.

Figura 7. Respuesta del sistema lineal con referencia igual a cero y

con una perturbación a step durante 0.5 segundos y valor de 0.05.

Figura 6. Diagrama de bloques con observador de orden completo y

retroalimentación de todos los estados.

Figura 8. Respuesta del sistema no lineal con referencia igual a cero

y con una perturbación a step durante 0.5 segundos y valor de 0.05.

4

Mediante el siguiente código en MATLAB se puede hallar

directamente la función de transferencia del observador-controlador.

De esta manera, la función de transferencia obtenida es:

𝑈(𝑠)

𝑌(𝑠)=

−1.84(109)𝑠2 − 1.73(1011) − 4.27(1012)

𝑠3 + 9795𝑠2 + 4.99(107) − 0.00721

A continuación, sólo es necesario aplicar la transformada Z a la

función de transferencia anterior, para lo cual se elige un tiempo de

muestreo de 0.001 y se utiliza el comando c2d de MATLAB.

Considerando esto, la función de transferencia en el dominio z es:

𝑌(𝑧)

𝑈(𝑧)=

−1042𝑧2 − 1523𝑧 + 2480

𝑧3 − 1.005𝑧2 + 0.005531𝑧 − 5.57(10−5)

Para la implementación en el microcontrolador Arduino, se

requiere escribir la respuesta del controlador-observador en forma de

ecuaciones en diferencia. Por tanto, utilizando la función de

transferencia discretizada se tiene:

(𝑧3 − 1.005𝑧2 + 0.005531𝑧 − 5.57(10−5))𝑌(𝑧)

= (−1042𝑧2 − 1523𝑧 + 2480)𝑈(𝑧)

Llevando la expresión a una ecuación en diferencias, se obtiene:

𝑦𝑘−3 − 1.005𝑦𝑘−2 + 0.0055𝑦𝑘−1 − 5.57(10−5)𝑦𝑘

= −1042𝑢𝑘−2 − 1523𝑢𝑘−1 + 2480𝑢𝑘

G. Comparación del sistema real y el sistema modelado

En la figura 10 se observa cómo se comporta el voltaje entregado

por el potenciómetro cuando el ángulo del péndulo varía entre 0º y 90º.

Cabe destacar que el potenciómetro está conectado a una fuente de 5

V. Considerando que el voltaje es de aproximadamente 2.2 V cuando

el péndulo se halla en 0º, es notorio que a medida que el péndulo cae,

el potenciómetro entrega un voltaje de unos 4.4 V. Esta variación de

voltaje se da en un tiempo un poco mayor a 1 segundo ante una entrada

de corriente directa (DC) a los motores del carro de 10.16 V.

En la figura 10 se puede visualizar el tiempo que tarda en caer el

péndulo cuando a los motores se les aplica una entrada de 10.16 V

según el modelo no lineal que define el sistema. Este tiempo es un poco

superior a 1 segundo, lo cual es semejante a lo obtenido en el modelo

real anteriormente explicado. Cabe destacar que dicha prueba no se

realizó en el modelo lineal debido a que para su creación se asumió

que la variación de ángulo sería muy pequeña.

H. Implementación del control en arduino

Luego de haberse realizado el modelo matemático del control

mediante el sistema discreto, se procede a la implementación de este

modelo en la placa del microcontrolador, la cual en este caso es el

“Arduino Uno”. El control está estructurado de la siguiente manera en

el lenguaje del microcontrolador:

1. Definición de nuestras variables de control de los motores DC.

2. Definición de la variable que almacena el valor del

potenciómetro o valor del voltaje de referencia.

3. Valores de State Vector los cuales son el yk (señal de salida

del sistema) y el uk (señal de entrada menos el error).

4. La asignación del tipo de salida las cuales son A y B del tipo

análogas para el control del motor.

5. Una variable de tipo global para la rotación de los valores de

nuestra entrada uk y yk.

6. Se define el intervalo de valores que representan el 0 o el punto

estable del sistema.

7. Condición de control de los motores DC para la entrada del

voltaje y el sentido de giro de estos.

Básicamente esta sería la secuencia que sigue el código en la

estructura, en cuanto al funcionamiento o la lógica aplicada fue

básicamente un sondeo de la posición del potenciómetro la cual se

obtiene con el voltaje que mide entre dos de sus terminales y se resta

con la referencia del sistema (para colocarlo en uk) y en función de

este valor y los 3 previos de uk y k, se obtiene la yk actual que es la

salida del control y la entrada a la planta, valor que provocará que los

motores DC se muevan hacia delante o hacia atrás, para el caso de

yk>12 se moverá hacia delante, para el caso contrario cuando yk<12

Figura 9. Código en MATLAB para la obtención de la función

de transferencia del observador-controlador.

Figura 8. Comando para discretizar la función de

transferencia.

Figura 10. Variación del voltaje entregado por el potenciómetro a

medida que el ángulo del péndulo varía de 0º a ≈90º.

Figura 11. Tiempo de caída del péndulo ante una

entrada step al sistema no lineal de 10.16.

5

se moverá hacia detrás.

La tabla de verdad que representa el sentido de giro de los

motores y su movimiento en general se presenta a continuación:

I. Etapa de potencia

Para poder cambiarle el sentido de giro a los motores DC del

carro, se recurrió a un puente H con transistores NPN como se

observa en la imagen que sigue obtenida de un foro de Arduino en la

internet:

A diferencia del esquema que se muestra en la imagen anterior, el

Arduino se conectó a las bases del puente H a través de otros 2

transistores BJT debido a que no le podía proporcionar la corriente

suficiente a dichas bases.

J. Implementación del control en el sistema real

Para probar si era posible estabilizar el péndulo invertido

utilizando los motores del carro, se intentó manualmente regular el

voltaje y polaridad del mismo, que recibían los motores para así

controlarlos. Al realizar dicha prueba, se imposibilitó estabilizar el

péndulo debido a que la aceleración de los motores es muy baja.

Cabe destacar que los diagramas mostrados del control del sistema,

no contienen una restricción de qué voltaje colocarle a los motores.

Cuando se restringe dicho sistema a que el mayor voltaje que puede

recibir la planta es +-12V con el control, ocurre lo siguiente:

Como se comprueba con la figura 15, al limitar los voltajes

máximos que pueden colocarse en el motor, es claro que no es posible

controlarlo en la realidad bajo dichas restricciones.

K. Recuento de la participación de los integrantes del

equipo

Participación en común con los demás equipos

Determinación de los parámetros generales del sistema: Manuel

Acosta, Lucía Medina y Gabriel Yeara.

Montaje del carro: Lucía Medina, Leandro Piña, Gabriel Yeara y

Brayand Mora.

Montaje del driver del circuito: Brayand Mora, Manuel Severino,

Leandro Piña, Lucía Medina y Gabriel Yeara.

Montaje del péndulo: Manuel Acosta, Manuel Severino y Julio

Feliz.

Obtención de las partes del equipo: Manuel Severino y Lucía

Medina.

Pruebas del carro con el acelerómetro: Manuel Acosta, Manuel

Severino, Leandro Piña, Lucía Medina, Brayand Mora, Julio Feliz,

Rudy Inoa y Gabriel Yeara.

Participación del equipo individual:

Conexión Arduino-MATLAB para pruebas: Brayand Mora.

Conversión del controlador-observador de continuo a discreto:

Leandro Piña y Lucía Medina.

Creación del reporte escrito: Leandro Piña, Lucía Medina y

Brayand Mora.

Determinación de la matriz de ganancia del observador:

Leandro Piña.

Determinación de la matriz de retroalimentación de todos los

estados: Lucía Medina.

Diseño del control digital en Arduino: Lucía Medina.

Diseño en SolidWorks del sistema: Brayand Mora.

En A B Motor

H L L Paro del motor (no activo)

H L H Mov. hacia delante

(activado)

H H L Mov. hacia atras (activado)

H H H Paro del motor (alta. Imp.)

Figura 12. Fragmento del Código de control en Arduino Uno,

implementación del sistema discreto. (El código completo está

disponible en anexos, para una mejor visualización de éste).

Figura 13. Tabla de verdad de las combinaciones de las salidas A y B

con el Enable para el control del giro de motor DC. (Esta tabla es la que

rige el sentido de cada motor si es hacia delante o hacia atrás, teniendo

en cuenta que el Enable está High todo el tiempo).

Figura 14. Puente H utilizado.

Figura 15. Gráfico del ángulo en el sistema lineal con una pequeña

perturbación y con una restricción del voltaje de +-12V DC.

6

Implementación en Simulink del modelo lineal y no lineal:

Leandro Piña y Lucía Medina.

Prueba de similitud modelo-sistema real: Leandro Piña y Lucía

Medina.

Prueba del sistema con el control digital: Lucía Medina.

Representación y prueba en Simulink y Matlab del control con

el modelo lineal y no lineal: Lucía Medina y Leandro Piña.

Transformación del sistema original de 4 estados a uno de 3

estados observable: Leandro Piña.

IV. CONCLUSIONES

Sin lugar a dudas, controlar un sistema mediante la teoría de

control moderno tiene muchas facilidades debido a que los cálculos

matemáticos a realizar son relativamente sencillos y tiende a ser

repetitivo y no tan analítico respecto al control clásico. Se concluyó,

además, que efectivamente los modelos teóricos creados, a pesar de

asumir e ignorar numerosos factores reales, realizando los ajustes de

lugar pueden llegar a modelar sistemas reales. Finalmente se comprobó

la importancia de realizar pruebas previas al sistema para determinar

si los actuadores del sistema son capaces de controlar lo esperado antes

de realizar el control mismo.

V. REFERENCIAS

Friedland, B. (1986) Control Systems Design: An Introduction to

State-Space Method.

Ogata, K. (2010) Ingeniería de Control Moderna. 5ta edición.

(n.d.) Forum Arduino. Recuperado el 20 de abril de 2015 desde

http://forum.arduino.cc/index.php?topic=279425.0

7

VI. ANEXOS

Diagrama de bloques del sistema no lineal

Diagrama de bloques del sistema lineal

8

Código Arduino

//Proyecto Final. Sistemas de Control II //Implementación de Sistema Discreto con Transformadas “Z”. //Variables de control de los motores #define A 5 #define B 6 #define Vin A0 //Voltaje del potenciómetro double yk[4]=0,0,0,0; //Senal de salida del control double uk[4]=0,0,0,0; //Senal de entrada control - error void setup() pinMode(A,OUTPUT); //Salidas analogas pinMode(B,OUTPUT); //Salidas analogas pinMode(Vin,INPUT); Serial.begin(9600); void loop() int i; //Variable para la rotacion de los valores uk y yk for(i=3;i>0;i--) uk[i]=uk[i-1]; uk[0]=0; for(i=0;i<21;i++) uk[0]=uk[0]+analogRead(Vin); delayMicroseconds(50); uk[0]=uk[0]*0.0049*0.533/20-3.14159268/2; //Valores probados donde el Sistema es 0 if((uk[0]>=(-0.015)) && (uk[0]<=0.015) ) yk[0]=0; else yk[0]=-5304*uk[1]+5270*uk[2]-91.88*uk[3]+yk[1]+0.0002626*yk[2]+2.99E-08*yk[3]; for(i=3;i>0;i--) yk[i]=yk[i-1]; //Ciclo de control de los motores (sentido y voltaje) if(yk[0]>12) analogWrite(A,255); analogWrite(B,0); else if(yk[0]<(-12)) analogWrite(A,0); analogWrite(B,255); else if( (yk[0]==0) ) analogWrite(A,0); analogWrite(B,0); else if( (yk[0]>0) && (yk[0]<12) )

analogWrite(A,0); analogWrite(B,255*yk[0]/12); else if( (yk[0]<0) && (yk[0]>(-12)) ) analogWrite(A,255*yk[0]/12); analogWrite(B,0);

Métodos de medición de parámetros y obtención de datos

Este código lee el puerto serial la data que está enviando el

Arduino y lo muestra en una gráfica la cual imprime el voltaje de

salida del potenciómetro en X ciclos del vector que se encarga de

guardar dichos valores.

9

SolidWorks y Simulink

Modelo físico del péndulo el cual se replicó en SolidWorks

para la importación a Simulink

Bloques generados para la parte de control luego de haber sido

importado el modelo CAD de SolidWorks a Simulink.

10