Control Digital Edwin Articulo

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