Skip to main content

Practice 8: Motor direction control and Speed control

✅ Práctica 8
▷ #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 descargar aquí

Importante: se realizó una pequeña variación con respecto al código anterior en la parte del setup(), concretamente al llamar las tareas, se cambió el método xTaskCreate( ... ) por xTaskCreatePinnedToCore ( ... ), ya que al usar tareas más complejas se generaba un conclifcto entre los dos núcleos del ESP-32, generando auto-resets inesperados, por lo que con el último método se especifica que las tareas se realicen en el núcleo 1.
  1. Copiar el código en el IDE de Arduino:    

    
  1. Cargar el código a la placa.
  2. Observar el movimiento del motor.

Nota: el código de programación por defecto viene con el motor detenido, para observar el movimiento se deberá cambiar el valor del duty cycle, también mediante es posible cambiar el sentido de giro. Todo esto se lo realiza con los siguientes comandos: 
  • Para cambiar el duty cycle se debe enviar el comando: "pwm_X", donde "X" es el valor PWM que va de 0 a 255.


  • Para hacer girar el motor en sentido horario, se debe enviar el comando: "clockwise".



  • Para hacer girar el motor en sentido antihorario, se debe enviar el comando: "counterclockwise"



OJO: los comandos van sin las comillas.

                  
 

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

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

Practice 31: MQTT connection (mydata-lab)

✅ Práctica 31 Github Repositories ▷  #TSCLab #TCLab #ESP32 #Arduino #Control #MACI En el siguiente blog se presenta la vigésima octava práctica del laboratorio de control de temperatura y velocidad de un motor. Objetivo general: Realizar una conexión MQTT utilizando el TSC-Lab.  Objetivos específicos: Enviar un mensaje al servidor y verificarlo en MQTTLens. Materiales: MQTTLens TSC-Lab Introducción: En las prácticas anteriores se realizararon conexiones a .diferentes plataformas donde se envió la información e inclusive se pudo visualizar los datos. Sin embargo, poseen muchas limitaciones como por ejemplo ThingSpeak que únicamente permite crear cuatro canales y el envío de información lo hace con un delay mínimo de 14 segundos. Ante ello, la mejor alternativa es trabajar con el servidor del TSC-Lab debido a que no tiene limitaciones en cuanto a la creación de proyectos, ni envío de información. Por esta razón, en la presente prácticase darán los primeros pasos para poder conectarse a

Practice 28: NodeRed (Wifi)

✅ Práctica 28 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 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 HTTP 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á familiarizado con el entorno y que sabe in

Practice 12: Speed Control Lab

✅ Práctica 12 ▷  #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 segunda 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/Practice12/Practice12_Byte Registro de datos en formato String: Esta versión se recomienda si se utiliza Matlab de versiones actuales. Repository:  https://github.com/vasanz

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

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

Practice 1 (VS Code): Initial setups and tests

✅ Práctica 1 (VS Code) 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 tercerapráctica del laboratorio de control de temperatura y velocidad de un motor. Objetivo general: Descargar e instalar Visual Studio Code para programar el TSC-Lab utilizando el ESP-IDF (framework que recomienda su fabricante, Espressif) Materiales: Visual Studio Code TSC-Lab Introducción: A lo largo de todas estas prácticas se ha venido programando el ESP-32 del TSC-Lab en el IDE de Arduino. Sin embargo, esta no es la única forma de programarlo, una de ellas e inclusive la que recomienda su fabricante es utilizando el ESP-IDF, siendo este el framework de desarrollo

Práctica 7: Speed control using PWM

✅ Práctica 7 Github Repositories ▷  #TSCLab #TCLab #ESP32 #Arduino #Control #MACI En el siguiente blog se presenta la septima práctica y corresponde a la segunda del laboratorio de control de velocidad. Objetivo general: Entender el funcionamiento del motor DC con PWM para aumentar o bajar la velocidad 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: En la práctica anterior, al motor se le enviaba señales de High y Low para ponerlo en marcha. Sin embargo, dentro de la realidad a un motor no se lo controla así, en algunas ocasiones se lo requiere hacer girar con cierta velocidad y durante esta práctica para tener control sobre la misma se lo hace con señales PWM. 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:  http