✅ Práctica 5a
▷ #TSCLab #TCLab #ESP32 #Arduino #Control #MACI
En el siguiente blog se presenta la quinta práctica del laboratorio de control de temperatura.
- 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 los heaters 1 y 2 activados.
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.
- Caso 3: únicamente el heater 2 se activa y desactiva.
- Caso 4: ambos heaters se activan y desactivan.
Para esta práctica se trabajará con el caso 4. Los mediciones son almacenadas en el ordenador gracias a Cool Term.
Procedimiento:
Se asume que las librerías del sensor de temperatura y ESP están instaldas en el IDE de Arduino.
- Copiar el código en el IDE de Arduino:
Repositories: https://github.com/vasanza/TSC-Lab/tree/main/Practice5
- Cargar el código a la placa.
- Abrir Cool Term, iniciar la conexión y guardar los datos.
Nota: los comandos de activación y desactivación de los heaters dependerá de cada caso pero deben ser enviados por el "Monitor Serie" de Cool Term y son los siquientes:
- Para iniciar el caso 1 se debe enviar el comando: case_1
- Para iniciar el caso 2 se debe enviar el comando: case_2
- Para iniciar el caso 3 se debe enviar el comando: case_3
- Para iniciar el caso 4 se debe enviar el comando: case_4
En esta práctica se ingresará el comando case_4.
Si al momento que se exportaron los resultados a .txt contiene cadenas de texto como por ejemplo "Choose any case" o cualquier otro, se recomienda borrarlos antes de exportarlos a .csv.
Resultados:
- Los archivos .csv generados de esta práctica se encuentran disponibles en IEEEDataPort: http://ieee-dataport.org/4138.
Nota Importante:
- No remover el jumper.
✅ Práctica 5b
Objetivo general:
- Visualizar los datos resultantes empleando código de Matlab.
Procedimiento:
- Ir al siguiente repositorio: https://github.com/vasanza/TSC-Lab/tree/main/Practice5b
- En el repositorio encontrará la carpeta completa que usaremos en Matlab, donde se incluyen funcionalidades.
- Para fines explicativos, a continuación solo detallamos el código main que usted encontrará en el repositorio.
- Luego de ejecutar el código de Matlab, podemo realizar las prácticas 13 y 14.
TEMPERATURE AND SPEED CONTROL LAB (TSC-LAB)
Práctica 5: Activation of Transistor 1 and 2, also Reading of temperature sensor 1 and 2
- Blog: https://tsc-lab.blogspot.com/
- GitHub: https://github.com/vasanza/TSC-Lab
- Matlab functions: https://github.com/vasanza/Matlab_Code
- IEEEDataPort: http://ieee-dataport.org/4138
- TSC-LAB configurations
- int period = 15; //medium period in minutes
- int freq_sampling = 100; // sampling time
- int ciclos = 20; // sampling time
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:2));%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('°C');
title('Temperature');
legend('Temp1','Temp2','PWM1','PWM2');
Plot Normalization EOG dataset
figure
plot(DataNorm);xlabel('Samples');ylabel('Normalized Values');
title('Normalized EOG data graph');
legend('Temp1','Temp2');
Select a case
num = input('Enter a case: ');
switch num
case 1 %Temp1
IN=data(:,end-1);%temp1
OUT=data(:,1);%PWM1
case 2 %Temp2
IN=data(:,end);%temp1
OUT=data(:,2);%PWM1
case 3 %Temp1 and Temp2
IN=[(data(:,end) + data(:,end-1))/2];%temp1
OUT=data(:,1);%PWM1
end
figure
plot(OUT)
title('OUT');
System Identification
ident
Open the Classification Learner
%regressionLearner
%classificationLearner
Comments
Post a Comment