Skip to main content

Practice 18: System 3, using DC Motor

 #TSCLab #TCLab #ESP32 #Arduino #Control #MACI

By: Ulbio Alejandro


En el siguiente blog se presenta la décimo octava práctica del laboratorio de control de temperatura y velocidad de un motor.

Objetivo general:

  • Realizar el diseño del controlar PID que permita controlar el Motor DC a un valor de referencia de RPM.

Materiales:

  • Matlab
  • TSC-Lab

Procedimiento:

Procedemos abrir la herramienta PID Tuner, el mismo que nos permitirá ajustar la dinámica del lazo de control al momento de implementarla. Para esto, se debe exportar el modelo matemático dando clic en Plant, para luego importar la función de transferencia antes escogida.
Ilustración 1 Importar la función de transferencia

Ilustración 2 Selección de la función de transferencia correspondiente.

Luego, es posible ajustar la dinámica del sistema variando tanto: el tiempo en estado estable, sobrenivel porcentual, tiempo pico e importante que el lazo sea estable, podemos ajustarlo con la familia de controlador PID, eso lo realizamos en la sección Type de la parte superior y la forma paralela. Una vez que la respuesta sea la deseada, se debe exportar los datos al Workspace para ser trabajados mediante código, esto lo hace mediante la tecla Export de la parte superior de la herramienta.
Ilustración 3 Exportando las constantes PID ajustadas.

Una vez obtenida en el script, se procede a implementar una simulación en Simulink, el mismo que colocamos los bloques necesarios para su funcionamiento. Es importante que en el bloque PID se ajusten los parámetros encontrados y la planta resulta la función de transferencia obtenida en la identificación de sistemas.

Ilustración 4 Simulación del controlador PID.

Ilustración 5 Exportando todos los datos obtenidos del Scope.

Finalmente, podemos obtener la respuesta de control según las características del sistema previamente ajustada en la herramienta PID Tuner.

Ilustración 6 Gráfica en lazo de control cerrado, probando las características del controlador PID.

✅ Test del controlador PID en Matlab

Finalmente, podemos obtener la respuesta de control según las características del sistema previamente ajustada en la herramienta PID Tuner.

Comments

Popular posts from this blog

Practice 15: System 3, using Motor

▷   #TSCLab #TCLab #ESP32 #Arduino #Control #MACI By: Ulbio Alejandro Repositories En el siguiente blog se presenta la vigésima sextapráctica del laboratorio de control de temperatura y velocidad de un motor. Objetivo general: Realizar la identificacion de sistemas, empleando datos anteriormente adquiridos de un Motor DC. Materiales: Matlab TSC-Lab TSC-Lab 3D view Código de Matlab: Introducción: Es importante realizar una prueba en lazo abierto sobre la dinámica del sistema, el mismo que por medio de un Tren de pulsos podemos obtener los datos de la salida, los cuales resultaron la velocidad del motor DC en RPM. Para este ejercicio, se utiliza un archivo denominado OpenLoopMotorDC.csv el cual contiene tanto la entrada como la salida de la planta, cabe destacar que la entrada es un pulso unitario para experimentar la dinámica del sistema. Ilustración 1 Variables de proceso del archivo tipo .csv Mediante código de MATLAB, procedemos abrir el archivo para extraer los datos tanto la en...

Practica 3: Activation of Transistor 1 and Reading of temperature sensor 1 and 2

✅ Práctica 3 Github Repositories ▷  #TSCLab #TCLab #ESP32 #Arduino #Control #MACI En el siguiente blog se presenta la tercera práctica del laboratorio de control de temperatura. Objetivo general: Guardar las mediciones obtenidas con ayuda de Cool Term y exportarlas en un archivo comma-separtaed-values (csv). Objetivos específicos: Guardar los datos de las lecturas realizadas con el heater 2 activado. Materiales: Programa Cool Term PCB de Temperature Control Lab (TSC-Lab) Introducción: Para esta práctica, el sistema sigue sin tener retroalimentación, es decir, es en lazo abierto ya que simplemente se está midiendo el cambio de temperatura conforme los heaters estén activados o desactivados y esto dependerá con cual de los casos el estudiante desea trabajar. Caso 1: ningun heater está activado Caso 2: únicamente el heater 1 se activa y desactiva. Para esta práctica se trabajará con el caso 2 . Los mediciones son almacenadas en el ordenador gracias a Cool Term.  Procedimient...

Practice 9: Encoder Implementation (RPM)

✅ Práctica 9 Github Repositories ▷  #TSCLab #TCLab #ESP32 #Arduino #Control #MACI En el siguiente blog se presenta la novena práctica y corresponde a la cuarta del laboratorio de control de velocidad. Objetivo general: Visualizar las RPM del motor en base a la PWM asignada. Objetivos específicos: Comparar los resultados de movimiento con diferentes parámetros. Materiales: PCB de Temperature Control Lab (TSC-Lab) Introducción: En la práctica anterior se puso en marcha en motor asignándole un valor PWM, además brindaba la opción de escoger el sentido de gira. Ahora, en el presente laboartorio se implementa un encoder óptico, que mediante el código de programación en el IDE de Arduino, permite saber a cuantas revoluciones por minuto gira el motor. Es importante mencionar que en esta ocasión se hará uso de interrupciones, cualquier pin GPIO del ESP-32 puede ser utilizado con interrupción, en este caso se ha escogido el 27, pin en el cual está conectado el encoder óptico. Procedimient...

Practice 26 : Over-The-Air programming (OTA)

✅ Práctica 26 Github Repositories ▷  #TSCLab #TCLab #ESP32 #Arduino #Control #MACI When using this resource, please cite the original publication: Víctor Asanza, Kevin Chica-Orellana, Jonathan Cagua, Douglas Plaza, César Martín, Diego Hernan Peluffo-Ordóñez. (2021). Temperature and Speed Control Lab (TSC-Lab). IEEE Dataport. https://dx.doi.org/10.21227/8cty-6069 En el siguiente blog se presenta la vigésima sexta práctica del laboratorio de control de temperatura y velocidad de un motor. Objetivo general: Actualizar el código del TSC-Lab utilizando OTA. Materiales: IOTAppStory TSC-Lab Introducción: A lo largo de todas las prácticas previamente realizadas, cada código se ha cargado al TSC-Lab con ayuda del cable USB por comunicación serial. Sin embargo, esta no es la única forma de hacerlo. Al igual que muchos otros dispositivos como celulares, carros inteligentes, decodificadores, entres otros se le pueden realizar ajustes y configuraciones de manera inalámbrica por una programaci...

Practice 8: Motor direction control and Speed control

✅ Práctica 8 Github Repositories ▷  #TSCLab #TCLab #ESP32 #Arduino #Control #MACI En el siguiente blog se presenta la octava práctica y corresponde a la tercera del laboratorio de control de velocidad. Objetivo general: Controlar el funcionamiento del motor DC con PWM para aumentar o bajar la velocidad y su giro usando comandos. Objetivos específicos: Comparar los resultados de movimiento con diferentes parámetros. Materiales: PCB de Temperature Control Lab (TSC-Lab) Introducción: Una vez entendido que enviar señales de High y Low al motor lo puede poner en marcha y que PWM es posible ver el aumento y disminución del mismo. Ahora, en esta práctica con los conocimientos adquiridos de las prácticas anteriores, mediante comandos ingresados al monitor serie se controlará la velocidad y sentido de giro del motor. Procedimiento: Se asume que la placa del ESP-32 ha sido previamente instalada en el IDE de Arduino. Además en esta práctica se utiliza la librería separador, la cual se puede...

Practice 10: Data acquisition with square velocity input

✅ Práctica 10a Github Repositories ▷  #TSCLab #TCLab #ESP32 #Arduino #Control #MACI En el siguiente blog se presenta la décima práctica y corresponde a la quinta del laboratorio de control de velocidad. Github repository: https://github.com/vasanza/TSC-Lab Objetivo general: Recopilar y guardar las RPM para crear un dataset. Objetivos específicos: Comparar los resultados de movimiento con diferentes parámetros. Materiales: Aplicación de escritorio CoolTerm PCB de Temperature Control Lab (TSC-Lab) Introducción: Una vez entendido todo el funcionamiento y control de velocidad del motor, se pretende crear un dataset para mejorar el mismo, lo que se hará es tomar 10 muestras tanto en un PWM de 255 y 0 durante un periodo de 13 segundos, dichos datos pueden ser modificados en la parte inicial del código de arduino.  Procedimiento: Nota: revisar la práctica 1 donde se le recuerda a como utilizar la apliación CoolTerm. Se asume que la placa del ESP-32 ha sido previamente instalada e...

Practice 35: NodeRed (MQTT) + Telegram

✅ Práctica 35 Github Repositories ▷  #TSCLab #TCLab #ESP32 #Arduino #Control #MACI En el siguiente blog se presenta la vigésima sextapráctica del laboratorio de control de temperatura y velocidad de un motor. Objetivo general: Recibir los valores sensados de temperatura del TSC-Lab a Telegram.  Materiales: Node-Red TSC-Lab Introducción: En la práctica anterior se aprendió a información del TSC-Lab a Node-Red mediante Wi-Fi con protocolo HTTP. Ahora a mas de enviar dicha información se pretende recibirla y monitoreada desde Telegram, la cual es una aplicación enfocada en la mensajería instantánea, el envío de varios archivos y la comunicación en masa. Se la puede descargar desde la tienda de Google Play o App Store. También se la puede utilizar desde su sitio web o versión de escritorio. En esta práctica se crearrá un bot en Telegram el cual al recibir un comando en específico, enviará de manera instantanea el valor de temperatura solicitado. Procedimiento: Nota: se asume qu...

Practice 34: NodeRed (WiFi y MQTT)

✅ Práctica 34 Github Repositories ▷  #TSCLab #TCLab #ESP32 #Arduino #Control #MACI En el siguiente blog se presenta la vigésima quinta práctica del laboratorio de control de temperatura y velocidad de un motor. Objetivo general: Enviar los valores sensados de temperatura del TSC-Lab por WiFi a Node-Red por medio del protocoo MQTT y visualizarlos.  Materiales: Node-Red TSC-Lab Introducción: En la práctica anterior se aprendió a utilizar y familiarizarse con Node-Red, el envío de información se lo hizo por medio de comunicación serial. Sin embargo, no tiene mucho sentido que se esté enviando información a Node-Red por el puerto serial cuando se puede aprovechar el ESP-32 para conectarse a internet por medio de Wi-Fi. Se usará el protocolo MQTT para conectarse al servidor donde se aloja el servidor que se está ejecutando Node-Red, lo cual permitirá que cualquier dispositivo tenga acceso a su información. Procedimiento: Nota: se asume que está instalado Node-Red, que está famil...

Practice 33: MQTT

✅ Práctica 33 Github Repositories ▷  #TSCLab #TCLab #ESP32 #Arduino #Control #MACI En el siguiente blog se presenta la vigésima octava práctica del laboratorio de control de temperatura y velocidad de un motor. Objetivo general: Realizar una conexión MQTT utilizando el TSC-Lab.  Objetivos específicos: Enviar un mensaje al servidor y verificarlo en MQTTLens. Materiales: MQTTLens TSC-Lab Introducción: En las prácticas anteriores se realizararon conexiones a .diferentes plataformas donde se envió la información e inclusive se pudo visualizar los datos. Sin embargo, poseen muchas limitaciones como por ejemplo ThingSpeak que únicamente permite crear cuatro canales y el envío de información lo hace con un delay mínimo de 14 segundos, inclusive utilizar el protocolo HTTP ha generado conflictos. Ante ello, la mejor alternativa es trabajar con un servidor y enviar la data por medio de protocolo MQTT.  Procedimiento: Nota: revisar la práctica 1 donde se le recuerda a como insta...