III. Programación y estudio de cada servomotor del Robot Brazo Aluminio

I. Explicación de la programación para poder controlar cada canal del controlador PCA9685 16 canales

Primero es indispensable descargar la librería Adafruit_PWMServoDriver.h que contiene todas las rutinas elementarias que se ejecutan detrás del programa que vamos a escribir y que permite a la interfaz Arduino las funciones que vamos a usar.

Una primera función pwm.begin ( ) permite iniciar los parámetros del controlador y señalar que vamos a empezar el código.

La segunda función pwm.setPWMFreq (XX) permite determinar la frecuencia de las señales PWM de los 16 canales del controlador. No es posible configurar una frecuencia por canal.

Estas dos funciones se incluyen en la función void setup ( ).

Luego se inicia el programa en bocla con la función void loop ( ) y una función compleja permite generar todos los comportamientos de los servomotores que vamos a estudiar ahora : esta función se llama pwm.setPWM (X, Y, Z) donde :

- X representa el número del canal, entonces del servomotor que quiere controlar,
- Y representa el instante T_Off de la señal PWM,
- Z representa el instante T_On de la señal PWM.

Configurando los valores Y y Z se determina así el ciclo de la señal PWM llamado en inglés Duty Cycle que se define como :
Duty Cycle  = T_On / T_Off.

La frecuencia f_PWM de la señal PWM se define como :
f = 1 / T
con T = T_On + T_Off
entonces
f = 1 / (T_On + T_Off)

Así acabamos de demostrar que configurando los valores T_On y T_Off atribuimos la frecuencia programa de la señal PWM generada.

La función pwm.setPWM (X, Y, Z) trabaja de la manera siguiente :

- con valores dados el servomotor se pondrá a girar en un sentido,
- con otra gama de valores el servomotor se pondrá a girar en el otro sentido.

Por haber probado la función con los tres servomotores siguientes :


le podemos decir que los valores limitando cada sentido depende del servomotor.

Durante nuestras pruebas del Robot Brazo Aluminio vamos a usar el Servo Alta Potencia Equivalente al MG996R Digital 12Kg 6V para cada uno de nuestros 6 servos componiendo el brazo.

II. Control y programación del servomotor 1

Usando la función pwm.setPWM (X, Y, Z) hemos determinado los valores de rotaciones extremas del servomotor 1 que es lo de la base del Robot Brazo Aluminio y deducimos lo siguiente :

- a pwm.setPWM(1, 0, 140) la base gira al máximo hasta la izquierda,
- a pwm.setPWM(1, 0, 800) la base gira al máximo hasta la derecha.

Para programar el canal 1 y observar las rotaciones completas del Servo 1 en un archivo nuevo, escribamos el programa siguiente en la interfaz de programa Arduino.



Una vez que ha copiado el código en la interfaz, haga clic en Programa/Verificar/Compilar.



Debajo de su pantalla en la interfaz Arduino, hay una zona de mensaje del compilador en la cual se puede ver si el código ha sido redactado bien o si presenta errores.

Si el código se compila con éxito, aparece el mensaje siguiente :



Una vez compilado cargue el programa en el micro controlador ATMEGA328P-PU del módulo Uno R3, haciendo clic en Programa/Subir.


Averigüe ejecutando el programa que el montaje que usted hizo para fijar el brazo en la base, le permita moverse usando toda la amplitud de rotación.

Si no es el caso, desmonte el resto del brazo del servo 1 y móntelo de tal manera que pueda efectuar todo el recorrido del servomotor.

De clic para descargar el programa Arduino.


III. Control y programación del servomotor 2

Usando la función pwm.setPWM (X, Y, Z) hemos determinado los valores de rotaciones extremas del servomotor 2 que es lo que permite levantar la totalidad Robot Brazo Aluminio y deducimos lo siguiente :

- a pwm.setPWM(2, 0, 140) la articulación se plega al máximo tocando la base,
- a pwm.setPWM(2, 0, 600) la articulación se abre al máximo.


Para programar el canal 2 y observar las rotaciones completas del Servo 2 en un archivo nuevo, escribamos el programa siguiente en la interfaz de programa Arduino.



Una vez que ha copiado el código en la interfaz, haga clic en Programa/Verificar/Compilar.



Debajo de su pantalla en la interfaz Arduino, hay una zona de mensaje del compilador en la cual se puede ver si el código ha sido redactado bien o si presenta errores.

Si el código se compila con éxito, aparece el mensaje siguiente :



Una vez compilado cargue el programa en el micro controlador ATMEGA328P-PU del módulo Uno R3, haciendo clic en Programa/Subir.



Averigüe ejecutando el programa que el montaje que usted hizo para fijar el brazo en el servomotor 2, le permita plegarse y abrirse al máximo usando toda la amplitud de rotación.

Si no es el caso, desmonte el resto del brazo del servo 2 y móntelo de tal manera que pueda efectuar todo el recorrido del servomotor.

De clic para descargar el programa Arduino.


IV. Control y programación del servomotor 3

Usando la función pwm.setPWM (X, Y, Z) hemos determinado los valores de rotaciones extremas del servomotor 3 que es lo que permite levantar la totalidad Robot Brazo Aluminio y deducimos lo siguiente :

- a pwm.setPWM(3, 0, 100) la articulacion se plega al máximo hasta abajo,
- a pwm.setPWM(3, 0, 800) la articulacion se plega al máximo hasta arriba.


Para programar el canal 3 y observar las rotaciones completas del Servo 3 en un archivo nuevo, escribamos el programa siguiente en la interfaz de programa Arduino.



Una vez que ha copiado el código en la interfaz, haga clic en Programa/Verificar/Compilar.



Debajo de su pantalla en la interfaz Arduino, hay una zona de mensaje del compilador en la cual se puede ver si el código ha sido redactado bien o si presenta errores.

Si el código se compila con éxito, aparece el mensaje siguiente :



Una vez compilado cargue el programa en el micro controlador ATMEGA328P-PU del módulo Uno R3, haciendo clic en Programa/Subir.



Averigüe ejecutando el programa que el montaje que usted hizo para fijar el brazo en el servomotor 3, le permita plegarse y abrirse al máximo usando toda la amplitud de rotación.


Si no es el caso, desmonte el resto del brazo del servo 3 y móntelo de tal manera que pueda efectuar todo el recorrido del servomotor.


De clic para descargar el programa Arduino.


V. Control y programación del servomotor 4

Usando la función pwm.setPWM (X, Y, Z) hemos determinado los valores de rotaciones extremas del servomotor 4 que es lo que permite levantar la totalidad Robot Brazo Aluminio y deducimos lo siguiente :

- a pwm.setPWM(4, 0, 300) el antebrazo se plega al máximo,
- a pwm.setPWM(4, 0, 600) el antebrazo se pone lo más recto posible.


Para programar el canal 4 y observar las rotaciones completas del Servo 4 en un archivo nuevo, escribamos el programa siguiente en la interfaz de programa Arduino.



Una vez que ha copiado el código en la interfaz, haga clic en Programa/Verificar/Compilar.




Debajo de su pantalla en la interfaz Arduino, hay una zona de mensaje del compilador en la cual se puede ver si el código ha sido redactado bien o si presenta errores.

Si el código se compila con éxito, aparece el mensaje siguiente :



Una vez compilado cargue el programa en el micro controlador ATMEGA328P-PU del módulo Uno R3, haciendo clic en Programa/Subir.



Averigüe ejecutando el programa que el montaje que usted hizo para fijar el antebrazo en el servomotor 4, le permita plegarse y ponerse lo más recto posible usando toda la amplitud de rotación.

Si no es el caso, desmonte el resto del brazo del servo 4 y móntelo de tal manera que pueda efectuar todo el recorrido del servomotor.

De clic para descargar el programa Arduino.


VI. Control y programación del servomotor 5

Usando la función pwm.setPWM (X, Y, Z) hemos determinado los valores de rotaciones extremas del servomotor 5 que es lo que permite levantar la totalidad Robot Brazo Aluminio y deducimos lo siguiente :

- a pwm.setPWM(5, 0, 60) la pinza gira al máximo a la izquierda,
- a pwm.setPWM(5, 0, 600) la pinza gira al máximo a la derecha.


Para programar el canal 5 y observar las rotaciones completas del Servo 5 en un archivo nuevo, escribamos el programa siguiente en la interfaz de programa Arduino.



Una vez que ha copiado el código en la interfaz, haga clic en Programa/Verificar/Compilar.


Debajo de su pantalla en la interfaz Arduino, hay una zona de mensaje del compilador en la cual se puede ver si el código ha sido redactado bien o si presenta errores.

Si el código se compila con éxito, aparece el mensaje siguiente :



Una vez compilado cargue el programa en el micro controlador ATMEGA328P-PU del módulo Uno R3, haciendo clic en Programa/Subir.

Averigüe ejecutando el programa que el montaje que usted hizo para fijar la pinza en el servomotor 5, le permita girar usando toda la amplitud de rotación.

Si no es el caso, desmonte el resto del brazo del servo 5 y móntelo de tal manera que pueda efectuar todo el recorrido del servomotor.

De clic para descargar el programa Arduino.

VII. Control y programación del servomotor 6

Usando la función pwm.setPWM (X, Y, Z) hemos determinado los valores de rotaciones extremas del servomotor 5 que es lo que permite levantar la totalidad Robot Brazo Aluminio y deducimos lo siguiente :

- a pwm.setPWM(6, 0, 300) la pinza se abre totalmente,
- a pwm.setPWM(6, 0, 600) la pinza se cierra totalmente.


Para programar el canal 6 y observar las rotaciones completas del Servo 6 en un archivo nuevo, escribamos el programa siguiente en la interfaz de programa Arduino.


Una vez que ha copiado el código en la interfaz, haga clic en Programa/Verificar/Compilar.

Debajo de su pantalla en la interfaz Arduino, hay una zona de mensaje del compilador en la cual se puede ver si el código ha sido redactado bien o si presenta errores.

Si el código se compila con éxito, aparece el mensaje siguiente :



Una vez compilado cargue el programa en el micro controlador ATMEGA328P-PU del módulo Uno R3, haciendo clic en Programa/Subir.



Averigüe ejecutando el programa que el montaje que usted hizo para fijar el brazo en la base, le permita abrir y cerrar totalmente la pinza usando toda la amplitud de rotación.

Si no es el caso, desmonte el resto del brazo del servo 6 y móntelo de tal manera que pueda efectuar todo el recorrido del servomotor.

De clic para descargar el programa Arduino.


0 comentarios:

Publicar un comentario