Upload
edwin-armando-villegas-mtz
View
215
Download
0
Embed Size (px)
Citation preview
8/18/2019 Control Digital Edwin Articulo
1/14
Universidad del Valle de México
Control de motores con Arduino
Control Digital
Maestro: Rafael Verde
Edwin Armando Villegas Martínez
!"###!$$%
8/18/2019 Control Digital Edwin Articulo
2/14
Control de motores con Arduino: Caso
estudiado &asado en modelados ' dise(o
de control
)or: )ravalli*a Vinna*ota+ Mat, -or*s
A.ustar un controlador en un /rototi/o físico o ,ardware /lanta /uede ,acer a
0ue ,a'a condiciones inseguras al o/erar ' así /ueda da(ar el ,ardware1 Una
manera m2s con3a&le es construir un modelo de /lanta ' simularlo /ara
veri3car el controlador en diferentes condiciones de o/eraci4n con el 3n de
e.ecutarlo en alg5n escenario sin tener alg5n riesgo1
Cuando los /rinci/ales modelados no son /osi&les+ una alternativa esdesarrollar modelos a /artir de medidas de entradas 6in/uts7 ' salidas
6out/uts7 de la /lanta1 8a orden inferior+ modelo lineal de&e ser su3ciente /ara
el dise(o &2sico /ara un control &2sico1 El an2lisis detallado ' el dise(o de un
rendimiento m2s alto del controlador re0uiere ma'or 3delidad ' /osi&lemente
un modelo no linear1
Usar un sistema sim/le de control /ara un motor DC 6corriente directa7 como
un e.em/lo+ este articulo nos muestra c4mo identi3car un modelo /lanta a
/artir de las entradas o salidas+ usar el modelo se(alado /ara dise(ar un
controlador e im/lementarlo1 El 9u.o de tra&a.o inclu'e los siguientes /asos: la
ad0uisici4n de datos+ la identi3caci4n de modelos de /lantas lineales o nolineales+ dise(ando ' simulando la retroalimentaci4n de controladores+ e
im/lementando estos controladores en un /rocesador em&e&ido en vida real1
Motor DC Control de o&.etivos de dise(o
El sistema físico es un motor DC conectado a un Arduino Uno a través de un
controlador1 ;ueremos dise(ar un control de retroalimentaci4n /ara este motor
/ara darle seguimiento a una /osici4n de referencia1 El controlador generara el
volta.e a/ro/iado /ara el motor &asado en la /osici4n de referencia1 Cuandoa/li0uemos el volta.e a este motor causaremos 0ue el motor genere tor0ue 0ue
/ara así mover el e.e del motor1 Usaremos un /otenci4metro /ara medir el
2ngulo de rotaci4n del e.e del motor+ alimentar este 2ngulo devuelta al
controlador1
8/18/2019 Control Digital Edwin Articulo
3/14
8/18/2019 Control Digital Edwin Articulo
4/14
8/18/2019 Control Digital Edwin Articulo
5/14
8/18/2019 Control Digital Edwin Articulo
6/14
'etho$s( Su)erclasses
>> u = logsout.getElement(1).Values.Data;
>> y = logsout.getElement(2).Values.Data;
>> bounds1 = iddata(y,u,0.01,’Inputame’,’Voltage’,’!utputame’,’"ngle’,...
...’Input#nit’,’V’,’!utput#nit’,’deg’)
Time $omain $ata set *ith 1++1 sam)les.
Sam)le time: +.+1 secon$s
,ut)uts !nit -i& s)eci&ie$
Angle $eg
/n)uts !nit -i& s)eci&ie$
Voltage V
Vamos a tra&a.ar con =! con.untos de datos1 Estos con.untos de datos son
seleccionados /ara asegurar la estimulaci4n adecuada del sistema '
/ro/orcionar su3cientes datos /ara la validaci4n del modelo1
Desarrollo de modelos de /lanta de datos
ex/erimentados
El desarrollo de modelos /lanta usando técnicas de identi3caci4n de sistemaim/lica un e0uili&rio entre el modelo de 3delidad ' el modelo de esfuerzo1 El
modelo m2s /reciso+ el ma'or costo en términos de esfuerzo ' tiem/o
com/utacional1 El o&.etivo es encontrar el modelo m2s sim/le 0ue de&a
ca/turar adecuadamente la din2mica del sistema1
?eguimos el 9u.o de tra&a.o /ara la identi3caci4n de sistema: Em/ezamos /or
estimar un sistema lineal sim/le ' des/ués estimar m2s detallado un modelo
no lineal 0ue es una re/resentaci4n del motor ' ca/tura el com/ortamiento no
lineal1 Mientras 0ue un modelo lineal es su3ciente /ara la ma'oría de
a/licaciones de dise(o de controladores+ un modelo no lineal /ermite m2s
/recisi4n en la simulaci4n del com/ortamiento del sistema ' el dise(o del
controlador a través de un rango de /untos de o/eraci4n1
>denti3caci4n del sistema lineal
Usando los o&.etos iddata+ /rimero estimamos un modelo lineal din2mico /ara
la /lanta como un tiem/oFcontinuo funci4n de transferencia1 )ara esta
estimaci4n+ es/eci3camos el n5mero de /olos ' ceros1 ?istema de
identi3caci4n de ,erramientas luego autom2ticamente determina sus
u&icaciones /ara maximizar el a.uste a los datos seleccionados1
)resentamos el sistema de identi3caci4n de ,erramientas /or e.ecuci4n
00 i$ent
)odemos im/ortar los con.untos de datos en las ,erramientas de la &ase del
2rea de tra&a.o usando el men5 des/lega&le im/ortar datos 6
8/18/2019 Control Digital Edwin Articulo
7/14
tenemos la o/ci4n /ara re/rocesar los datos im/ortados1 )ara em/ezar la
estimaci4n de /roceso+ seleccionamos los datos de tra&a.o 0ue usaremos /ara
estimar el modelo ' la validaci4n de los datos contra el cual /ro&aremos el
sistema estimado ser2 /ro&ado1 )odemos usar el mismo con.unto de datos
/ara am&as estimaciones ' validaciones iniciales+ ' des/ués usar el con.unto
de datos /ara con3rmar nuestros resultados1
8/18/2019 Control Digital Edwin Articulo
8/14
identi3caci4n de ,erramientas1 El a.uste entre las res/uesta ' el estímulo de
modelo lineal ' la estimaci4n de datos es I%1G!J 6
8/18/2019 Control Digital Edwin Articulo
9/14
informaci4n no solo de los valores del /ar2metro nominal /ero tam&ién acerca
del /ar2metro enca/sulado /or la matriz de covarianza del /ar2metro1 Una
medida de la 3a&ilidad del modelo+ la incertidum&re calculada es in9uenciada
/or distur&ios externos afectando así el sistema+ no modelando
din2micamente+ ' la cantidad de datos reco/ilados1 )odemos ver la
incertidum&re trazando su efecto en la res/uesta del modelo1 )or e.em/lo+/odemos generar el diagrama de @ode de la estimaci4n de la funci4n de
transferencia mostrando una desviaci4n est2ndar atado alrededor de la
res/uesta nominal 6
8/18/2019 Control Digital Edwin Articulo
10/14
/ermitiéndonos ca/turar los com/ortamientos usando un am/lio con.unto de
funciones no lineales+ tales como wavelets ' redes sigmoides1 Adem2s+ estos
modelos nos de.an incor/orar lo 0ue tenemos descu&ierto acerca de las no
linealidades del sistema usando regresores /ersonalizados1
)ara el modelado N8AR sea efectivo+ necesitamos datos am/lios en
informaci4n acerca de las no linealidades1 me$gedD = me$ge(%&,%',%)
Time $omain $ata set containing e%)eriments.
E%)eriment Sam)les Sam)le Time
E%)1 34+ +.+1
E%)2 54+ +.+1
E%) 54+ +.+1
,ut)uts !nit -i& s)eci&ie$
Angle $eg
/n)uts !nit -i& s)eci&ie$
Voltage V>> me$gedV = me$ge(%1,%2,%,%*,%+);
El modelo no lineal tiene varios com/onentes a.usta&les1 A.ustamos el modelo
de 4rdenes+ retrasos+ ti/o de funci4n no lineal+ ' el n5mero de unidades en la
funci4n no lineal1 ?umamos regresores 0ue re/resentan saturaci4n '
com/ortamiento de una zona muerta1 Des/ués de varias interacciones+
escogemos un modelo de estructura 0ue em/lea una red sigmoidea con una
funci4n lineal /aralela ' se us4 un su&con.unto de regresores como entradas1 El
/ar2metro de este modelo estimado fue a/roximado /ara lograr las me.ores
res/uestas de simulado 6
8/18/2019 Control Digital Edwin Articulo
11/14
El modelo resultado tiene un excelente a.uste de OI#J /ara los datos
a/roximados así como /ara los datos de validaci4n1 Este modelo /uede ser
usado /ara el dise(o del controlador así como /ara el an2lisis ' la /redicci4n1
Dise(ando el controlador
Estamos listos /ara dise(ar un control )>D /ara el modelo lineal con ma'or
3delidad1 enemos 0ue linealizar el modelo no lineal en un /unto de
funcionamiento 0ue usted eli.a ' des/ués dise(ar un controlador /ara este
modelo lineal1 A.ustamos el control )>D ' seleccionamos sus /ar2metros 6D1
am&ién c,ecamos como el controlador se e.ecuta en el modelo no lineal1 8a
3gura =! muestra el modelo de ?imulin* 0ue usamos /ara o&tener la res/uesta
de simulaci4n del modelo AR no lineal1
8/18/2019 Control Digital Edwin Articulo
12/14
Des/ués com/aramos la res/uesta del modelo lineal con el no lineal /ara una
/osici4n de referencia deseada de G#L 6
8/18/2019 Control Digital Edwin Articulo
13/14
8/18/2019 Control Digital Edwin Articulo
14/14
Conclusi4n
)odemos ver 0ue el arduino es una ,erramienta universal en el 2rea de control+
'a 0ue es una /lataforma de c4digo a&ierto &asada en un microcontrolador 'desarrollo de varios /rogramas /ara así crear lo 0ue ,o' conocemos como
Arduino1
P)or 0ué usar ArduinoQ
Existen varios ti/os de microcontroladores solo 0ue /ara /rogramar alg5n otro
microcontrolador da m2s tra&a.o o es m2s com/licado /ara 0uien lo use1 Con el
arduino /odemos sim/li3car la com/le.idad de /rogramaci4n ' su sistema de
,ardware nos a'uda tener todo de una manera m2s f2cil
P)or 0ué usar ?imulin*Q
Es un /rograma 0ue nos /ro/orciona Matla& /ara modelar+ simular ' /ara
analizar sistemas din2micos en tiem/o real1 am&ién nos /ro/orciona una
interfaz de usuario gra3ca llamada HU> de la cual se ,a&l4 mu' /oco en el
artículo1 )ara algunos usuarios es m2s como usar ?imulin* /or la /rogramaci4n
en &lo0ues1
Estos fueron los /asos 0ue usamos en el e.em/lo: la ad0uisici4n de datos+ la
identi3caci4n de modelos de /lantas lineales o no lineales+ dise(ando '
simulando la retroalimentaci4n de controladores+ e im/lementando estos
controladores en un /rocesador em&e&ido en vida real1
Este artículo nos ense(a a identi3car un modelo /lanta a /artir de las entradas
' salidas 0ue usamos en el e.em/lo+ así mismo nos ense(a a usar un modelo
/ara /oder dise(ar un controlador ' /oder im/lementarlo en el 2rea1