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 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 que está in

    Práctica 1: Initial setups and tests

    ✅ Práctica 1 Github Repositories ▷  #TSCLab #TCLab #ESP32 #Arduino #Control #MACI En el siguiente blog se presenta la primera práctica del laboratorio de control de temperatura. Objetivo general: Entender el funcionamiento básico de TSC-Lab para la realización de futuras prácticas. Objetivos específicos: Analizar el comportamiento de la curva cuando los heaters están activados y desactivados. Guardar las mediciones obtenidas con ayuda de Cool Term y exportarlas en un archivo  comma-separtaed-values  (csv). Materiales: Programa Cool Term PCB de Temperature Control Lab (TSC-Lab) Introducción: El laboratorio de control de temperatura es un sistema en lazo cerrado. Sin embargo, en esta y futuras prácticas a realizar se comportará como un sistema de control en lazo abierto ya que no existe retroalimentación, únicamente los heaters se activan y los sensores empiezan a medir el incremento de temperatura y al desactivarlos los sensores miden como la temperatura baja hasta llegar a la t

    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 en el IDE

    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 aquí . Cualqui

    Practice 23: ThingSpeak (Http)

    ✅ Práctica 23 Github Repositories ▷  #TSCLab #TCLab #ESP32 #Arduino #Control #MACI En el siguiente blog se presenta la vigésima tercera práctica del laboratorio de control de temperatura y velocidad de un motor. Objetivo general: Conectar el TSC-Lab a la plataforma ThingSpeak. Objetivos específicos: Enviar los valores sensados y estados de los transistores a ThingSpeak. Visualizar los valores sensados y estados de los transistores en ThingSpeak. Materiales: ThingSpeak TSC-Lab Introducción: En la práctica anterior se aprenció a realizar una conexión WiFi con el TSC-Lab. Ahora se le sacará provecho a dicha conexión para poder enviar información y posteriormente visualizarla en ThingSpeak, la cual es una plataforma abierta de aplicaciones, diseñada para permitir conectar personas con objetos, en este caso con la MACI y el TSC-Lab. Procedimiento: Nota:  Se asume que la placa del ESP-32 y las bibliotecas de las prácticas anteriores han sido previamente instaladas en el IDE de Arduino. Par

    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:

    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. Procedimiento: S

    Práctica 6: Initial setups and tests (ON/OFF)

    ✅ Práctica 6 Github Repositories ▷  #TSCLab #TCLab #ESP32 #Arduino #Control #MACI En el siguiente blog se presenta la sexta práctica y corresponde a la primera del laboratorio de control de velocidad. Objetivo general: Entender el funcionamiento del motor DC para activarlo, desactivarlo y cambiarle el sentido de gira usando código de programación en el IDE de Arduino. Objetivos específicos: Comparar los resultados de movimiento cambiando los parámetros. Materiales: PCB de Temperature Control Lab (TSC-Lab) Introducción: Esta práctica de laboratorio consiste en familiarizarse con la parte del control de velocidad del motor DC, para ello en la programación de la placa se le envía señales High y Low para poder hacer girar al motor en sentido horario, antihorario o detenerlo.  Procedimiento: Se asume que la placa del ESP-32 ha sido previamente instalada en el IDE de Arduino. Copiar el código en el IDE de Arduino:           Repositories:  https://github.com/vasanza/TSC-Lab/tree/main/Prac

    Practice 11: Temperature Control Lab

    ✅ Práctica 11 ▷  #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 onceava práctica del laboratorio de control de temperatura y velocidad de un motor. Github repository: https://github.com/vasanza/TSC-Lab Objetivo general: Realizar la adquisición de datos en Matlab emplenado comunicación serial Materiales: Matlab TSC-Lab Registro de datos en formato Byte: Esta versión se recomienda si se utiliza Matlab de versiones anteriores a las 2017. Repository: https://github.com/vasanza/TSC-Lab/tree/main/Practice11/Practice11_Byte2017 Registro de datos en formato String: Esta versión se recomienda si se utiliza Matlab de versiones actuales. Repository:  https://github.com/vasanza/TSC-La

    ▷ CHARLA #PUCESE Arduino Week: Hardware de Código Abierto TSC-LAB

      ⭐⭐⭐⭐⭐ CHARLA #PUCESE Arduino Week: Hardware de Código Abierto TSC-LAB ☑️ #TSCLab #TCLab #ESP32 #Arduino #Control #MACI ☑️ #ElectronicPrototypesDesign #PrototipadoElectronico #PCB #HardwareDesign #Hardware #AdeltaTechnologies #OpenHardware #OpenSourceHardware ➡️ Repository:  https://github.com/vasanza/TSC-Lab ➡️ 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, April 25, 2021, "Temperature and Speed Control Lab (TSC-Lab)", IEEE Dataport, doi: https://dx.doi.org/10.21227/8cty-6069. ✅ #PUCESE, organizó el webinar: "ARDUINO WEEK 2022 PUCESE" ✅  Arduino Week PUCE Esmeraldas- Charla con Expertos ⭐⭐⭐⭐⭐ CHARLA #PUCESE Arduino Week: Hardware de Código Abierto TSC-LAB  from  Victor Asanza ✅ Video de la charla: ✅ Contenido: ➡️  1- Introducción ➡️  2- Hardware de Código Abierto ➡️  3- Temperature and Speed Control Lab (TSC-LAB) ➡️  4- Códigos de ejemp