Skip to main content

Practice 10: Data acquisition with square velocity input

✅ Práctica 10a
▷ #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:

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 en el IDE de Arduino.
  1. Copiar el código en el IDE de Arduino:    

    
  1. Cargar el código a la placa.
  2. Abrir CoolTerm y realizar la configuración de la práctica 1 y guardar los datos.

Nota: así se verían los resultados en CoolTerm:

Resultados:


✅ Práctica 10b

Objetivo general:

  • Visualizar los datos resultantes empleando código de Matlab.

Procedimiento:

  1. Ir al siguiente repositorio: https://github.com/vasanza/TSC-Lab/tree/main/Practice10b
  2. En el repositorio encontrará la carpeta completa que usaremos en Matlab, donde se incluyen funcionalidades.
  3. Para fines explicativos, a continuación solo detallamos el código main que usted encontrará en el repositorio.
  4. Luego de ejecutar el código de Matlab, podemo realizar la práctica 15.
TEMPERATURE AND SPEED CONTROL LAB (TSC-LAB)

TEMPERATURE AND SPEED CONTROL LAB (TSC-LAB)

Practice 10: Data acquisition with square velocity input

Raw dataset preparation

clear;clc;%clear all
addpath(genpath('./src'))%functions folders
datapath = fullfile('./data/');%data folder

Raw dataset preprocessing

filenames = FindCSV(datapath);%List All CSV files
data=readtable(fullfile(datapath,filenames(1).name));%Select i CSV file
data=table2array(data);
DataNorm = fNormalization(data(:,1));%Normalization
DataFeatures = [max(DataNorm) min(DataNorm) mean(DataNorm)...
median(DataNorm) rms(DataNorm) std(DataNorm) ];%Feature extraction

Plot Raw TSC-LAB dataset

figure
plot(data);xlabel('Samples');ylabel('RPM');
title('Motor Speed');
legend('RPM','PWM');

Plot Normalization dataset

figure
plot(DataNorm);xlabel('Samples');ylabel('Normalized Values');
title('Normalized data graph');
legend('RPM');

Select a case

IN=data(:,end);%RPM motor
OUT=data(:,1);%PWM
figure
plot(OUT)
title('OUT');

System Identification

ident
Warning: The "ident" command is obsolete and may be removed in a future release of MATLAB. Use the "systemIdentification" command instead.
Created preference file C:\Users\vasan\Documents\MATLAB\idprefs.mat. Type HELP MIDPREFS if you want to move this file.

Open the Classification Learner

%regressionLearner
%classificationLearner


                  




Comments

Popular posts from this blog

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 22: Wifi connection

✅ Práctica 22 Github Repositories ▷  #TSCLab #TCLab #ESP32 #Arduino #Control #MACI En el siguiente blog se presenta la vigésima segunda práctica del laboratorio de control de temperatura y velocidad de un motor. Objetivo general: Realizar una conexión a una red WiFi utilizando el TSC-Lab Materiales: TSC-Lab Introducción: En las prácticas anteriores se realizararon la adquisición de datos de temperatura y velocidad de un motor, toda esa información fue almacenada de manera local dentro del computador con ayuda del programa CoolTearm. Sin embargo, lo antes realizado es poco práctico. Hoy en día, la mayoría de la información está almacenada en la nube, documentos, fotografías, notas, mensajes, etc. A consecuencia de esto, surgió el Internet de las Cosas (IOT), que básicamente es la interaxión de dispositivos cotidianos con el internet, por lo general la informción es alojada en algún servidor. En la presente práctica de laboratorio conectaremos el TSC-Lab a internet mediante WiFi pa...

▷ TSC-Lab Open Hardware Certification

▷ TSC-Lab Open Hardware Certification Open hardware Certification: https://certification.oshwa.org/ec000003.html Open Source Licenses: VIEW DOCUMENTATION: https://github.com/vasanza/TSC-Lab Data Sheet Citations: 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

Practice 37: Using two core of ESP-32

✅ Práctica 37 ▷  #TSCLab #TCLab #ESP32 #Arduino #Control #MACI Repositories 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 trigésima cuarta práctica del laboratorio de control de temperatura y velocidad de un motor. Objetivo general: Realizar multitareascon los dos núcleos del ESP-32. Materiales: TSC-Lab Introducción: El ESP-32 posee 2 microprocesadores Xtensa LX6 de 32 bits denominados núcleo 0 y núcleo 1. Por defecto, el código se ejecuta en el núcleo 1. Sin embargo, en la presente práctica de laboratorio se aprenderá a utilizar el doble núcleo del ESP-32 realizando una multitarea, trabajando con la planta de temperatura y velocidad del motor a la vez. Procedimiento: Nota: se asume que todas las librerías han s...

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 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 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 24: Firebase

✅ Práctica 24 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 cuadragésima primera práctica del laboratorio de control de temperatura y velocidad de un motor. Objetivo general: Sensar datos y subirlos a la Realtime Database de Firebase Materiales: Firebase TSC-Lab Introducción: Firebase es una plataforma para el desarrollo de aplicaciones web y aplicaciones móviles lanzada en 2011 y adquirida por Google en 2014.​ Es una plataforma ubicada en la nube, integrada con Google Cloud Platform, que usa un conjunto de herramientas para la creación y sincronización de proyectos que serán dotados de alta calidad, haciendo posible el crecimiento del número de...

Practice 30: NodeRed (Http) + ThingSpeak

✅ Práctica 30 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 séptima 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 y ThingSpeak.  Materiales: Node-Red Thingspeak 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. S...