{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "9irECTNCWOVp",
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# Modelizado Experimental\n",
"\n",
"Vamos a encontrar el modelo matemático del siguiente sistema usando datos experimentales. \n",
"\n",
"\n",
"\n",
"La planta es un sistema de iluminación con un LED de potencia (actuador) y un LDR (sensor). Este sistema es controlado a través de un Arduino Mega (actualmente Arduino Mega, en la foto Arduino Uno).\n",
"\n",
"Un versión para MATLAB puede ser consultada [aquí](http://cpm222.davinsony.com/modelizado/)"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"id": "8e8LHF-IUJ-y",
"slideshow": {
"slide_type": "skip"
}
},
"outputs": [],
"source": [
"%%capture --no-display\n",
"\n",
"import warnings\n",
"warnings.filterwarnings(action='ignore')\n",
"\n",
"try: \n",
" from control.matlab import *\n",
"except:\n",
" !pip install control\n",
" from control.matlab import *\n",
"\n",
"import matplotlib.pyplot as plt\n",
"plt.rcParams[\"figure.figsize\"] = (4,3)\n",
"\n",
"import numpy as np\n",
"import sympy as sp\n",
"import pandas as pd\n",
"import scipy.optimize as op \n",
"\n",
"sp.init_printing()"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "chPsoakTWw5b",
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## Toma de datos\n",
"\n",
"Para la toma de datos usaremos el código en [lazo_abierto](lazo_abierto/lazo_abierto.ino) para Arduino. Y seguiremos los pasos mostrado a continuación.\n",
"\n",
"- Descargamos el código.\n",
"- Subimos el código al Arduino.\n",
"- Abrimos el monitor serial.\n",
"- Copiamos los datos de un ciclo completo de apagado y prendido.\n",
"- Pegamos en un archivo llamado `datos.csv` con nombre de las columnas `t,u,y`.\n",
"- Finalmente, importamos los datos en el Colaboratory o Jupyter Notebook con pandas. "
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"id": "a28YPO2YVjyK",
"slideshow": {
"slide_type": "-"
}
},
"outputs": [],
"source": [
"datos = pd.read_csv(\"datos.csv\")"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "nBjrOyZpYDkS",
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"A continuación se muestran algunos datos. "
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 424
},
"id": "xCf92yrHWJ35",
"outputId": "458039ec-3d48-4e62-cd7a-0655f0310d20",
"slideshow": {
"slide_type": "-"
}
},
"outputs": [
{
"data": {
"text/html": [
"
\n", " | t | \n", "u | \n", "y | \n", "
---|---|---|---|
0 | \n", "60968004 | \n", "0 | \n", "455 | \n", "
1 | \n", "60972004 | \n", "0 | \n", "454 | \n", "
2 | \n", "60976004 | \n", "0 | \n", "455 | \n", "
3 | \n", "60980004 | \n", "0 | \n", "455 | \n", "
4 | \n", "60984004 | \n", "0 | \n", "455 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "
253 | \n", "61980004 | \n", "255 | \n", "653 | \n", "
254 | \n", "61984004 | \n", "255 | \n", "653 | \n", "
255 | \n", "61988004 | \n", "255 | \n", "653 | \n", "
256 | \n", "61992004 | \n", "255 | \n", "653 | \n", "
257 | \n", "61996004 | \n", "255 | \n", "653 | \n", "
258 rows × 3 columns
\n", "