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.
- Copiar el código en el IDE de Arduino:
Repositories: https://github.com/vasanza/TSC-Lab/tree/main/Practice8
- Cargar el código a la placa.
- 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
Post a Comment