Skip to main content

Práctica 5: Activation of Transistor 1 and 2, also Reading of temperature sensor 1 and 2

✅ 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.

Github repository:

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

    
  1. Cargar el código a la placa.
  2. 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:

Nota Importante:

  • No remover el jumper.


✅ Práctica 5b

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/Practice5b
  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 las prácticas 13 y 14.
TEMPERATURE AND SPEED CONTROL LAB (TSC-LAB)

TEMPERATURE AND SPEED CONTROL LAB (TSC-LAB)

Práctica 5: Activation of Transistor 1 and 2, also Reading of temperature sensor 1 and 2

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
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 29: NodeRed (Http) + Telegram

    ✅ Práctica 29 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 38: Deep sleep to TSC-Lab

    ✅ Práctica 38 ▷  #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 quinta práctica del laboratorio de control de temperatura y velocidad de un motor. Objetivo general: Establecer el modo de suspensión profunda al TSC-Lab. Materiales: TSC-Lab Introducción: Una de las formas más fáciles para para el ahorro de energía de manera general dentro de proyectos IOT es estableciendo el modo de suspensión profunda del ESP-32. En la presente práctica se colocorá el microcontrolador del TSC-Lab en sueño profundo (deep sleep) y se lo despertará con un temporizador. Cabe recalcar que existen más alternativas para despertarlo, entre ellas está el despertador táctil...

    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 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 27: NodeRed (USB)

    ✅ Práctica 27 Github Repositories ▷  #TSCLab #TCLab #ESP32 #Arduino #Control #MACI En el siguiente blog se presenta la vigési cuarta práctica del laboratorio de control de temperatura y velocidad de un motor. Objetivo general: Enviar los valores sensados del motor del TSC-Lab por comunicación serial a Node-Red y visualizarlo.  Materiales: Node-Red TSC-Lab Introducción: En la presente práctica se muestra otra de las alternativas para visualizar y controlar dispositivos, la cual es Node-Red, siendo esta una herramienta de desarrollo basada en flujo para programación visual desarrollada originalmente por IBM para conectar dispositivos de hardware, API y servicios en línea como parte de Internet of Things. Para ir familiarizándose con el entorno de Node-Red se hará una conexión por comunicación seríal con el TSC-Lab. Procedimiento: Se necesita instalar Node-Red, a continuación se mostrará como hacerlo en un sistema operativo de Windows.  Instalar Node.js, puede descargarlo ...

    Practice 12: Speed Control Lab

      ▷  #TSCLab #TCLab #ESP32 #Arduino #Control #MACI Repositories 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 la adquisición de datos en Matlab emplenado comunicación serial Materiales: Matlab TSC-Lab TSC-Lab 3D view Simulink: https://drive.google.com/drive/folders/18ANTrb-_z_2zbsUbq2Rz6FC7749ECxUc?usp=sharing Código para el TSC-LAB:

    Práctica 2: Ambient temperature reading using sensor 1 and 2

    ✅ Práctica 2 Github Repositories ▷  #TSCLab #TCLab #ESP32 #Arduino #Control #MACI En el siguiente blog se presenta la segunda 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 a temperatura ambiente. 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 en esta práctica se tiene un único caso: Caso 1: ningun heater está activado 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: ...

    Practice 34: SISO using temperature sensor

    ▷  #TSCLab #TCLab #ESP32 #Arduino #Control #MACI Repositories En el siguiente blog se presenta la trigésima primera práctica del laboratorio de control de temperatura y velocidad de un motor. Objetivo general: Embeber un sistema de control PID para la temperatura del TSC-Lab Materiales: TSC-Lab Introducción: Una de las alternativas para implementar un sistema de control dentro del ESP-32 es mediante un controlador PID. En la presente práctica se usará el propuesto por Ziegler Nichols.  Procedimiento: Nota: se asume que todas las librerías han sido previamente instaladas. Además se cree que la función de transferencia del sistema ya se lo tiene por lo que se procederá a cambiar los valores tanto de la ganacia, tau y retardo del código.  Copiar y cargar el siguiente código al TSC-Lab.      Repositories:  https://github.com/vasanza/TSC-Lab/tree/main/Practice31

    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...

    Practice 18: System 3, using DC Motor

    ▷   #TSCLab #TCLab #ESP32 #Arduino #Control #MACI By: Ulbio Alejandro Repositories 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 TSC-Lab 3D view 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 control...