You are on page 1of 8

UNIVERSIDAD TÉCNICA DE AMBATO

FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL

CARRERA DE INGENIERÍA EN ELECTRÓNICA Y COMUNICACIONES

MICROCONTROLADORES

SÉPTIMO “A”

TAREA No. 4

TEMA:

“Control de un motor DC con comunicación Zigbee”

INTEGRANTES:

 Amaguaña Iván
 Jiménez Santiago
 Taipe Gabriel

FECHA DE ENVÍO: 08 de Enero del 2017

FECHA DE ENTREGA: 11 de Enero del 2017

DOCENTE:

Ing. Edgar Patricio Córdova Córdova

SEPTIEMBRE 2017 - FEBRERO 2018


AMBATO
2017
INFORME DE LA TAREA No. 4

I. TEMA

“Control de un motor DC con comunicación Zigbee”

II. OBJETIVOS

Objetivo General

Realizar el diseño e implementación de un circuito que permita el control de un motor DC

mediante una comunicación inalámbrica zigbee.

Objetivos Específicos

 Establecer la codificación y las configuraciones principales que se necesita para generar la tarea
mencionada en Arduino.
 Determinar e investigar los parámetros requeridos para realizar una comunicación Zigbee entre
un coordinador y un router.
 Implementar un circuito electrónico una vez realizado la codificación propuesto en la tarea y
comprobar el correcto funcionamiento del mismo.
III. RESUMEN
En la presente practica mediante Arduino y una comunicación de forma inalámbrica zigbee
se pretende realizar un control de un motor DC para establecer el control se hace uso de
dos módulos Xbee, así también el encendido y apagado del sistema a través de un
potenciómetro; en donde para se determinara el giro de forma horaria y antihoria..
IV. MATERIALES
 PC
 Software Arduino
 Arduino Mega y Uno
 Motor DC
 Potenciometro
 2 modulos Xbee
 Protoboard
 Cables
 LCD

V. METODOLOGIA

Para realizar el control del servo motor DC se debe en primera instancia revisar la forma de conexión
entre dos Xbee asignando que dispositivo debe ser coordinador y router (receptor), lo cual permitirá
recibir y transmitir datos. Posteriormente para realizar la codificación en el software Arduino se
pretende realizar una programación independiente para cada Xbee, lo cual permite obtener su control
y asociar todos los elementos tal es el caso de los dispositivos como el motor DC y la pantalla, para lo
cual se debe tomar en cuenta algunos parámetros:

 On/Off – sentido horario/anti-horario mediante un potenciómetro, lo cual a través de una


modulación permitirá hacer dichas acciones.
 Comunicación inalámbrica Zigbee mediante los dispositivos Xbee.
 Configuración y direccionamientos de Xbee coordinador y router.
VI. ESQUEMA GENERAL DEL CIRCUITO

Fig. 1: Esquema del circuito para el control del motor DC mediante una comunicación Xbee
Transmisor

Fuente: Elaborado por el grupo de trabajo

Fig. 2: Esquema del circuito para el control del motor DC mediante una comunicación Xbee

Router (Receptor)

Fuente: Elaborado por el grupo de trabajo


Fig. 3: Configuración del Firmware Xbee mediante le software XCTU

Router (Receptor)

Fuente: Elaborado por el grupo de trabajo

Fig. 4: Selección de módulos mediante le software XCTU

Fuente: Elaborado por el grupo de trabajo

Fig. 5: Configuración Router AT mediante le software XCTU

Transmisor

Fuente: Elaborado por el grupo de trabajo


Fig. 6: Configuración del Firmware Xbee mediante le software XCTU

Coordinador

Fuente: Elaborado por el grupo de trabajo

Fig. 7: Selección de módulos mediante le software XCTU

Fuente: Elaborado por el grupo de trabajo

Fig. 8: comprobación de transmisión de datos en el terminal XCTU

Transmisor

Fuente: Elaborado por el grupo de trabajo

VII. CODIFICACION
int incomingByte = 0; // for incoming serial data
#include <LiquidCrystal.h>
int valor[22]; lcd.setCursor(0, 1);

int conteo=0; lcd.print("Derecha");

int a=0; }

if (valor[19]==2||valor[19]==1){

int xb=0; digitalWrite(13, LOW);

int valor1analogo=0; digitalWrite(9, LOW);

int valor2analogo=0; lcd.setCursor(0, 1);

LiquidCrystal lcd(12, 11, 5, 4, 3, 2); lcd.print("Apagado");

void setup() if (valor[19]==3){

{ digitalWrite(9, HIGH);

Serial.begin(9600); digitalWrite(13, LOW);

pinMode(13, OUTPUT); lcd.setCursor(0, 1);

pinMode(9, OUTPUT); lcd.print("Izquierda");

lcd.begin(16, 2); }

// Print a message to the LCD. }

lcd.print("Cambio de Giro!");

} void xbee(){

void loop() // send data only when you receive data:

{ if (Serial.available() > 0) {

xbee(); a=1;

if (valor[19]==0){ // read the incoming byte:

digitalWrite(13, HIGH); incomingByte = Serial.read();

digitalWrite(9, LOW); if (incomingByte == 0x7E){


conteo=0; Serial.print("XBee 2: ");

} xb=2;

// say what you got: valor2analogo=valor[20];

valor[conteo]=incomingByte; Serial.print(" Direccion: ");

if(conteo==22){ Serial.print(valor[12]);

conteo=0; Serial.print(",");

} Serial.print(valor[13]);

conteo++; Serial.print(",");

} Serial.print(valor[14]);

//mensajes Serial.print(",");

Serial.print(valor[15]);

if(a==1){ Serial.print(" Trama [19]: ");

if (valor[11]==207){ Serial.print(valor[19]);

Serial.print("XBee 1: "); Serial.print(" Trama [20]: ");

xb=1; Serial.print(valor[20]);

valor1analogo=valor[20]; Serial.println("");

} a=0;

if (valor[11]==220){ }

VIII. CONCLUCIONES
 Para crear un proyecto en el software XCTU es importante tener configurada las direcciones
del coordinador y router, esto se lo puede realizar desde el propio programa o también de la
página principal.
 El lenguaje de programación en el software de desarrollo Arduino no es tan complicado ya que
existen ejemplos que pueden ser base para la elaboración de un proyecto.
 Para generar un archivo de programación usando el programa anteriormente mencionado en
donde se debe copilar en primera instancia y seguidamente se exporta los archivos binarios.
 Para las presente práctica se debe establecer una condición en cuanto a se refiere al
encendido y apagado del motor.

You might also like