El motor inteligente VEX IQ tiene muchas funciones para usar al codificar en VEXcode IQ. Esto puede ser útil cuando se codifican brazos, garras y tomas, así como transmisiones y otros mecanismos creados con VEX IQ. Comprender cómo se pueden codificar los motores ayudará a aliviar problemas como los proyectos que se estancan o los motores que no funcionan según lo previsto.
Codificador del motor
El motor inteligente VEX IQ no solo convierte la energía eléctrica en energía mecánica, como lo hacen la mayoría de los motores, sino que también tiene características que la mayoría de los motores no tienen, lo que lo hace "inteligente". Una de sus principales características es el codificador en cuadratura. Este codificador está montado en el interior del motor para rastrear la velocidad y/o la posición del eje del motor.
Los informes del codificador de VEX IQ Smart Motor permiten conocer:
- La dirección del giro del motor (hacia adelante/atrás o abierto/cerrado)
- La posición del motor y la cantidad de giro y posición del motor (ya sea en giros o grados)
- La velocidad de giro del motor (en función de la posición del codificador a lo largo del tiempo)
Debido a que el codificador informa los estados del motor, se pueden usar en cálculos entre bastidores para hacer que muchos de los comandos de movimiento y detección funcionen dentro del VEXcode IQ.
Codificación de motores individuales
Antes de comenzar a codificar motores inteligentes individuales en VEXcode IQ, debe configurar el motor. Los motores individuales se utilizan con frecuencia para mecanismos adicionales como tomas, brazos y garras. Sin embargo, toda la información todavía se aplica a otros mecanismos que utilizan motores individuales.
Siga los pasos de este artículo para configurar su motor individual en VEXcode IQ.
Con un solo motor configurado, los comandos para controlar ese motor aparecerán en la Caja de herramientas. Notarás que hay diferentes tipos de comandos: de espera y de no espera.
Órdenes de espera versus órdenes que no son de espera
Tenga en cuenta que todas las imágenes aquí muestran bloques. Todos estos proyectos se pueden reconstruir en Python o C++ y contienen la misma funcionalidad que los bloques.
Los comandos de espera impiden que el proyecto continúe hasta que se complete el comportamiento. Estos incluyen comandos como [Girar para] y [Girar a la posición].
El proyecto que se muestra aquí utiliza una plantilla Clawbot (2 motores) y todos los comandos están esperando. Entonces, en serie, el motor de garra se cerraría 90 grados, el robot conduciría en reversa, luego el brazo giraría hasta alcanzar la posición de 180 grados.
Por el contrario, hay comandos que no esperan. Un comando de no espera ejecutará el comportamiento indefinidamente o hasta que se le indique que cambie a otro comportamiento. Estos incluyen comandos como [Spin].
El proyecto que se muestra aquí utiliza un BaseBot con una entrada agregada. Aquí el motor de admisión comenzaría a girar. El comando [Wait] es un comando de espera, por lo que la entrada continuaría girando hasta que transcurrieran los 2 segundos, luego pasaría al siguiente comando del proyecto, que es un comando [Stop]. Entonces el motor dejaría de girar.
Tiempo de espera del motor
Al codificar un motor como parte de un brazo o garra, es importante recordar la diferencia entre los bloques que esperan y los que no esperan y cómo afectarán el movimiento de su robot. Los tiempos de espera del motor le permiten establecer un límite de tiempo para que el motor alcance la posición objetivo deseada. Si no ha alcanzado esa posición cuando expire el tiempo, el motor dejará de intentar girar y el proyecto pasará al siguiente comando.
En este ejemplo, el tiempo de espera del motor se establece en 2 segundos. Si la garra no se acerca a 90 grados en 2 segundos, el motor dejará de girar en la marca de 2 segundos, luego pasará al siguiente comando y avanzará.
Si no está seguro de qué tan lejos mover un motor, use el tablero del sensor. El tablero informa la posición del motor en grados y revoluciones, de modo que a medida que mueva un motor (como abrir y cerrar una garra) los números cambiarán. Utilice esta prueba para determinar cuántos grados o rotaciones se necesitan para cerrar una garra, levantar un brazo, girar una entrada, etc.
Consulte estos artículos para aprender a usar el panel de control del sensor.
Codificación de motores inteligentes como parte de un tren motriz
Antes de comenzar a codificar un tren motriz en VEXcode IQ, debe configurar el tren motriz incluyendo los motores utilizados. Los motores están configurados dentro del tren motriz para garantizar que se controlen con los mismos comandos como [Drive] y [Drive for].
Órdenes de espera y no espera
Al codificar un tren motriz, los comandos de espera y no espera están disponibles para controlar el movimiento del robot.
Los comandos de espera impiden que el proyecto continúe hasta que se complete el comportamiento. Estos incluyen comandos como [Drive for] [Turn for] y [Turn to heading].
El proyecto que se muestra aquí utiliza una plantilla Clawbot (2 motores) y todos los comandos están esperando. Entonces, en serie, el robot avanzaría 200 milímetros y luego giraría a la derecha utilizando el tren motriz.
Por el contrario, hay comandos que no esperan. Un comando de no espera ejecutará el comportamiento indefinidamente o hasta que se le indique que cambie a otro comportamiento. Estos incluyen comandos como [Drive].
El proyecto que se muestra aquí utiliza un BaseBot. Aquí el robot avanzaría indefinidamente hasta que se presionara el interruptor del parachoques. Luego, el proyecto pasaría al siguiente comando y el robot dejaría de conducir y giraría a la derecha 90 grados.