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