• No se han encontrado resultados

Remote Control of DC Motor by Android Applications

N/A
N/A
Protected

Academic year: 2022

Share "Remote Control of DC Motor by Android Applications"

Copied!
13
0
0

Texto completo

(1)

CONTROL REMOTO DE UNA MINI PLATAFORMA DE TIJERA ACCIONADO POR UN MOTOR DC CONTROLADO POR ARDUINO

1. Resumen

El objetivo del proyecto es implementar un control remoto de una mini plataforma de tijera accionada por un motor de corriente continua, cuyo dispositivo de control remoto es un teléfono móvil con Android, con canal de comunicación Bluetooh y con un controlador de motor DC basado en Arduino UNO R3. El proyecto consta de los siguientes desarrollos:

1) Aplicación Android que implementa el control remoto, descrito en el presente documento: Remote Control of DC Motor-Section-I-Android Applications by AppInventor.pdf

2) Controlador de un motor DC basado en Arduino, descrito en el documento: Remote Control of DC Motor-Section-II-Controller DC Motor by Arduino.pdf

2. Diagrama de contexto

3. Funciones de los componentes del sistema de control

Cada uno de los componentes del sistema de control cumple funciones claramente definidos y todos contribuyen con el objetivo de control. A continuación de describe brevemente las funcionalidades de cada uno de ellas.

(2)

El dispositivo móvil tiene las siguientes funcionalidades:

 Conectar y desconectar el canal Bluetooth con Arduino (HC- 06)

 Generar los comandos que serán enviados a Arduino: Subir, Bajar o detener la mini plataforma que es accionado por un motor DC.

Cambiar la velocidad del motor DC (dentro de un rango predefinido).

El canal de comunicación Bluetooth establece el enlace de comunicación inalámbrica entre el dispositivo móvil y el Bluetooth shield de Arduino.

El Bluetooth shield (HC-06) tiene la funcionalidad de recibir los comandos enviados desde el dispositivo móvil y transferirlo al controlador Arduino.

El controlador Arduino interpreta los comandos (Subir, Bajar, detener, aumentar o disminuir la velocidad del motor) e invoca las funciones del controlador para que se ejecuten las acciones correspondientes.

El driver del motor DC (L293D), conocido como puente H, tiene la función de generar la señal de control PWM con el ciclo de trabajo definido para controlar el giro del motor, la misma que se expresa en las acciones de subir, bajar o detener la plataforma de tijera.

El motor DC es el actuador y tiene la función de transformar la energía eléctrica en energía mecánica, específicamente expresada en el movimiento de la mini plataforma de tijera.

Una plataforma de tijera o mesa elevadora es una herramienta que permite transportar objetos a cualquier altura dentro de su rango <altura mínima, altura máxima>, ejecutando un movimiento vertical.

Las partes básicas de una mesa elevadora son:

 La base

 Las tijeras

 La plataforma

(3)

 El accionador (en nuestro caso, un motor DC)

 La unidad de control (en nuestro caso, una placa Arduino).

4. Protocolo de comunicaciones

Crear y definir un protocolo de comunicación es un aspecto muy importante en todo proceso de comunicación. En nuestro caso, para el intercambio de mensajes se define la siguiente sintaxis:

A continuación se detalla la semántica:

Elemento Descripción Valores

StartCommand Identifica el inicio del comando Carácter: * Velocity Establece el valor de la velocidad del motor,

dentro de un rango predefinido (obtenido de manera experimental). Permite:

Incrementar la velocidad

Decrementar la velocidad

Desde 225 hasta 255

Action Expresa las acciones que se pueden ejecutar sobre la plataforma

Subir

Bajar

Parar

Subir : 20 Bajar : 10 Parar : 00

EndCommand Identifica el fin del comando Carácter: # Separator Permite separar cada una de los elementos del

comando de control.

Carácter: |

Ejemplo:

El motor debe subir a una velocidad de 250.

Comando: “*|250|20|#”

(4)

5. Desarrollo del Control Remoto con AppInventor

Proyecto: http://ai2.appinventor.mit.edu/#5199644048490496 Nombre del Proyecto: SLT_CONTROL

Diseñando los componentes

Para nuestra aplicación SLT_CONTROL (Scissor Lift Table Remote Control) tenemos que crear y definir el comportamiento de componentes visibles y no visibles.

Componentes no visibles Tipo de

Componente

Paleta Nombre Propósito

BluetoothClient Connectivity BluetoothClient1 Conectar al Arduino Notifier User Interface Notifier1 Mostrar los mensaje de

alerta, error o informativo

Componentes visibles

Se crean los componentes visibles de la interfaz gráfica del usuario.

Tipo de Componente

Paleta Nombre Propósito

VerticalArrangement Layout VerticalArrangement1 Contenedor visual.

ListPicker User

Interface

connectListPicker Seleccionar el dispositivo

“Bluetooth” de Arduino y conectar el dispositivo.

Image User

Interface

connectedImage Mostrar el estado

“Conectado” del Bluetooth.

HorizontalArrangement Layout HorizontalArrangement2 Contenedor visual

Button upButton Elevar la plataforma

HorizontalArrangement Layout HorizontalArrangement1 Contenedor visual

Button User

Interface

leftVelocityButton Disminuir la velocidad del motor

Button User

Interface

stopButton Detener el movimiento del motor

Button User

Interface

rightVelocityButton Incrementar la velocidad del motor

HorizontalArrangement Layout HorizontalArrangement3 Contenedor visual

Button disconnectButton Desconectar el Bluetooth.

(5)

Visor del proyecto en AppInventor

Añadiendo el comportamiento de los componentes

En esta sección se debe programar el comportamiento de cada uno de los componentes, permitiendo que el usuario:

 se conecte a la aplicación del controlador Arduino, mediante la selección del Bluetooth HC-06 .

 se desconecte de la aplicación del controlador.

 ejecute las acciones de subir, bajar o detener la plataforma.

 Incremente o disminuya la velocidad del motor.

Variables

Las variables definidas, creadas e inicializadas para el manejo del protocolo de comunicaciones son:

velocityMin

separator

startCommand

velocityMax

endCommand

(6)

command

action

velocity

Procedimientos

Los procedimientos definidos y creados para la generación de la trama del comando y controlar los límites de la velocidad del motor, son:

 generateCommand

 velocityLimit

(7)

ListPicker – Muestra los dispositivos Bluetooth

Bloque connectListPicker.BeforePicking presenta la lista de dispositivos Bluetooth disponibles y el usuario debe seleccionar el Bluetooth correspondiente al HC-06 de Arduino.

ListPicker – Establece la conexión del dispositivos Bluetooth

Bloque connectListPicker.AfterPicking permite establecer la conexión al HC-06 de Arduino. En caso de error, se presenta el mensaje de alerta “Unable to make a Bluetooth connection”.

(8)

Bloque para subir la plataforma

El bloque upButton.Click permite establecer el valor del elemento Action= '20' que significa “Subir (UP)”, generar la trama del comando con el procedimiento generateCommand y, finalmente, se envía la trama por el Bluetooth.

Bloque para bajar la plataforma

El bloque downButton.Click permite establecer el valor del elemento Action=

'10' que significa “Bajar (DOWN)”, generar la trama del comando con el procedimiento generateCommand y, finalmente, se envía la trama por el Bluetooth.

Bloque para detener la plataforma

El bloque stopButton.Click permite: establecer el valor del elemento Action=

'00' que significa “Detener (STOP)”, generar la trama del comando con el procedimiento generateCommand y, finalmente, se envía la trama por el Bluetooth.

(9)

Bloque para incrementar la velocidad del motor

El bloque rightVelocityButton.Click permite: incrementar la velocidad del motor, con paso incremental igual a 2, valida que la velocidad no se encuentre por encima del rango permitido (255), generar la trama del comando con el procedimiento generateCommand y, finalmente, se envía la trama por el Bluetooth.

En caso que la velocidad configurada supere la velocidad máxima del motor, se presentara un mensaje de alerta:

Y se establece la velocidad del motor al valor máximo permitido (255).

Bloque para decrementar la velocidad del motor

El bloque leftVelocityButton.Click permite: decrementar la velocidad del motor, con paso decremental igual a 2, valida que la velocidad no se encuentre por debajo del rango permitido (225), generar la trama del comando con el procedimiento generateCommand y, finalmente, se envía la trama por el Bluetooth.

En caso que la velocidad configurada sea menor que la velocidad mínima del motor, se presentara un mensaje de alerta:

Y se establece la velocidad del motor al valor mínimo permitido (225).

(10)

Bloque para desconectar el Bluetooth

El bloque disconnectButton.Click permite realizar la desconexión del Bluetooth HC-06.

6. Ejecución del Control Remoto

Pantallas del Control Remoto en el teléfono inteligente Icono en la pantalla del smart-phone.

Pantalla principal del control remoto, con los botones para el control del motor.

(11)

Selección del Bluetooth HC-06 de Arduino.

Pantalla, después de conectarse al Bluetooth.

Para el control remoto del motor DC se debe accionar los botones de control:

Botón/Imagen Acción

Seleccionar el Bluetooth de Arduino y conectar el dispositivo.

Subir (el motor gira en sentido horario)

Bajar (el motor gira en sentido anti horario)

Parar (el motor se detiene)

Incrementar la velocidad del motor

Decrementar la velocidad del motor

Desconectar el Bluetooth Arduino

(12)

Componentes del controlador

Arduino, Driver del motor DC y el Motor DC (actuador)

La plataforma desplegado a diversas alturas.

(13)

7. Referencias

Proyecto ArduDroid escrito por Hazim Bitar,

http://www.techbitar.com/ardudroid-simple-bluetooth-control-for-arduino- and-android.html

Control velocidad y sentido de giro de un motor DC

http://diymakers.es/control-velocidad-y-sentido-de-motor-dc/

AppInventor.org

http://www.appinventor.org/

Referencias

Documento similar

Volviendo a la jurisprudencia del Tribunal de Justicia, conviene recor- dar que, con el tiempo, este órgano se vio en la necesidad de determinar si los actos de los Estados

La Normativa de evaluación del rendimiento académico de los estudiantes y de revisión de calificaciones de la Universidad de Santiago de Compostela, aprobada por el Pleno or-

Y en el caso específico del CEDH, valor orientativo mediado por la jurisprudencia del TEDH (6). El derecho a la inviolabilidad del domicilio que proclama el artículo 18.2 CE

Una vez conocidos los deslizamientos que proporcionan en un caso el criterio de máximo rendimiento y en otro el de mínima corriente, se calculan los valores de entrada en la

Dado que depende exclusivamente del par y velocidad del motor como variables, y estas a su vez dependen nada más que del ciclo de conducción, todos los valores de

Ellos con- sumen más drogas ilegales (cannabis, cocaína), ellas más drogas legales (tabaco y tranquilizantes); ellos conducen a más velocidad, poseen más vehículos a motor,

Queda por tanto definido el alcance del proyecto como el del diseño inicial de un motor síncrono de imanes permanentes para tracción de un automotor de alta velocidad con

1) Se fija un valor de referencia para i sx. 2) Como el eje del motor gira libremente, un control de velocidad es requerido (en este caso un controlador PI), para garantizar