Antonio Lomba, desde Galicia, nos ha enviado este artículo que explica cómo utilizar servos de rotación continua con Minibloq y bloques definidos por el usuario (ésta es la versión resumida del original http://www.tecnoloxia.com/index.php/control/224-motor-servo-de-rotacion-continua-con-minibloq.html):
Los motores servo de rotación continua funcionan al recibir pulsos eléctricos. Según la duración del pulso el servo girará en uno u otro sentido, o permanecerá parado. Para gobernar este tipo de motores es necesario conocer sus características de funcionamiento.
Los motores servo de rotación continua funcionan al recibir pulsos eléctricos. Según la duración del pulso el servo girará en uno u otro sentido, o permanecerá parado. Para gobernar este tipo de motores es necesario conocer sus características de funcionamiento.
Para
un servo modelo S35/STD
de GWS el fabricante recomienda pulsos de 0,9
ms para conseguir el giro en el sentido de las agujas del reloj,
pulsos de 1,5 ms para bloquear el motor en una posición y mantenerlo
parado, y pulsos de 2,1 ms para que gire en el sentido antihorario.
También hay que controlar la duración del período, que es el
tiempo total de la zona activa de la señal y la zona inactiva. La
duración del período recomendada para conseguir una velocidad
óptima está entre 16 y 23 ms.
Para
conectar el motor en una controladora Arduino Uno tendremos en cuenta
los colores de los cables de conexión del motor y lo haremos tal
como se indica en la imagen. El cable marrón para GND, el cable rojo
a 5V y el cable amarillo para el pin de control digital:
Los
programas básicos de control para el giro continuo en ambos
sentidos, utilizando el pin de salida digital D3 para el control, son
los que se muestran a continuación. Los tiempos programados en
Minibloq están en microsegundos. Para ello fue necesario incorporar
un nuevo bloque a Minibloq, se trata del bloque delayMicroseconds.
El bloque delay que trae por defecto el programa maneja el
tiempo en milisegundos y con este bloque no era posible programar la
parada del motor con impulsos de 1,5 milisegundos, ya que el bloque
no admite números decimales.
El bloque delayMicroseconds es un bloque definido por el usuario, partiendo precisamente del bloque delay. En la nueva Guía de Desarrolladores de Minibloq (en inglés) se explica, entre otras cosas, cómo crear este tipo de bloques.
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.