informe motor pasos

13
I. PORTADA UNIVERSIDAD TÉCNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial Título: CONTROL DIGITAL (DIO) EN PIC C COMPILER APLICADO A MOTOR DC Y MOTOR A PASOS Carrera: Ingeniería Electrónica y Comunicaciones Área Académica: Física y Electrónica Línea de Investigación: Sistemas Electrónicos Ciclo Académico y Paralelo: Octubre 2015 – Marzo 2015, Séptimo “A” Módulo: Microcontroladores Integrantes: Barahona Santiago Víctor Tomala Docente: Ing. Patricio Córdoba

Upload: santiago-barahona

Post on 30-Jan-2016

278 views

Category:

Documents


1 download

DESCRIPTION

motor a pasos

TRANSCRIPT

Page 1: Informe Motor Pasos

I. PORTADA

UNIVERSIDAD TÉCNICA DE AMBATO

Facultad de Ingeniería en Sistemas, Electrónica e Industrial

Título: CONTROL DIGITAL (DIO) EN PIC C COMPILER APLICADO A MOTOR DC Y MOTOR A PASOS

Carrera: Ingeniería Electrónica y Comunicaciones

Área Académica: Física y Electrónica

Línea de Investigación: Sistemas Electrónicos

Ciclo Académico y Paralelo: Octubre 2015 – Marzo 2015, Séptimo “A”

Módulo: Microcontroladores

Integrantes: Barahona SantiagoVíctor Tomala

Docente: Ing. Patricio Córdoba

Fecha de entrega: 30/11/2015

Page 2: Informe Motor Pasos

UNIVERSIDAD TÉCNICA DE AMBATOFACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL

CARRERA DE ELECTRÓNICA Y COMUNICACIONESABRIL-SEPTIEMBRE 2015

2.1 Título CONTROL DIGITAL (DIO) EN PIC C COMPILER APLICADO A MOTOR DC Y MOTOR A PASOS

2.2 OBJETIVOS:

Objetivo General:Desarrollar la programación e implementación utilizando Pic C Compiler que permita, control de motores DC y motor a pasos, características del teclado matricial y pantalla LCD en los respectivos puertos del PIC16F887.

Objetivos Específicos:

Consultar las características, librerías y registros que posee PIC C Compiler, para su posterior simulación de los circuitos en PROTEUS

Realizar los programas de manera correcta para generar las señales necesarias para el control de los Motores DC y su similar motor a pasos.

Aplicar la programación para el encendido, apagado, cambio de giro, y control de velocidad

Consultar las características de funcionamiento, de un teclado matricial y una pantalla LCD.

para su respectiva implementación con el fin de comprobar su debida secuencia.

2.3 MARCO TEÓRICOPIC C COMPILER

[1] PIC C Compiler es un inteligente y muy optimizado compilador C que contienen operadores estándar del lenguaje C y funciones incorporados en bibliotecas que son específicas a los registros de PIC, proporcionando a los desarrolladores una herramienta poderosa para el acceso al hardware

las funciones del dispositivo desde el nivel de lenguaje C.

Se incluyen funciones de hardware del dispositivo de características tales como:

FACULTAD

DE F . I . S .

Page 3: Informe Motor Pasos

UNIVERSIDAD TÉCNICA DE AMBATOFACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL

CARRERA DE ELECTRÓNICA Y COMUNICACIONESABRIL-SEPTIEMBRE 2015

Fig1. Software Pic C Compiler

Temporizadores y módulos PWM

Convertidores A / D Datos on-chip EEPROM LCD controladores Memoria externa buses

ECLADO MATRICIAL.

Un teclado matricial es un simple arreglo de botones conectados en filas y columnas, de modo que se pueden leer varios botones con el mínimo número de pines requeridos. [1] Un teclado matricial 4x4 solamente ocupa 4 líneas de un puerto para las filas y otras 4 líneas para las columnas, de este modo se pueden leer 16 teclas utilizando solamente 8 líneas de un microcontrolador. Si asumimos

que todas las

Fig2. Teclado Matricial. columnas y filas inicialmente están en alto (1 lógico), la pulsación de un botón se puede detectar al poner cada fila a en bajo (0 lógico) y checar cada columna en busca de un cero, si ninguna columna está en bajo entonces el 0 de las filas se recorre hacia la siguiente y así secuencialmente.

Pantalla LCD.

Fig3. Pantalla LCD.

[2]A menudo se utiliza en dispositivos electrónicos de pilas, ya que utiliza cantidades muy pequeñas de energía eléctrica. Cada píxel de un LCD típicamente consiste de una capa de moléculas alineadas entre dos electrodos transparentes, y dos filtros de polarización, los ejes de transmisión de cada uno que están (en la mayoría de los casos) perpendiculares entre sí.

MOTOR DC

FACULTAD

DE F . I . S .

Page 4: Informe Motor Pasos

UNIVERSIDAD TÉCNICA DE AMBATOFACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL

CARRERA DE ELECTRÓNICA Y COMUNICACIONESABRIL-SEPTIEMBRE 2015

Fig4. Motor DC

El motor de corriente continua (denominado también motor de corriente directa, motor CC o motor DC) es una máquina que convierte la energía eléctrica en mecánica, provocando un movimiento rotatorio, gracias a la acción del campo magnético. [3]El principio de funcionamiento de los motores eléctricos de corriente directa o continua se basa en la repulsión que ejercen los polos magnéticos de un imán permanente cuando, de acuerdo con la Ley de Lorentz, interactúan con los polos magnéticos de un electroimán que se encuentra montado en un eje.

Motor a Pasos[2]Un motor a pasos es capaz de moverse ciertos grados cada vez que se le aplique un pulso y se mueva un paso, este paso puede variar desde 90º hasta 1.8º.

[3]Estos motores poseen la ventaja de poder quedar enclavados en una sóla posición o bien totalmente libres; si una o más de sus bobinas esta energizada el motor permanecerá en la posición correspondiente, o bien, si no hay flujo de corriente en las bobinas el eje del motor estará libre.

Fig5. Motor a pasos

.

2.4 MATERIALES: ENCENDIDO, APAGADO Y CAMBIO DE GIRO DE UN MOTOR DC VISUALIZACION EN LCD

Microcontrolador PIC16F887. Motor DC. LCD Cables. Fuente de 5V DC.

FACULTAD

DE F . I . S .

Page 5: Informe Motor Pasos

UNIVERSIDAD TÉCNICA DE AMBATOFACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL

CARRERA DE ELECTRÓNICA Y COMUNICACIONESABRIL-SEPTIEMBRE 2015

Quemador de PIC. Software PICkit 2

ENCENDIDO, APAGADO, CAMBIO DE GIRO Y CONTROL DE VELOCIDAD DE UN MOTOR A PASOS VISUALIZACION EN LCD

PIC 18F866 LCD 2x16 Motor a pasos Driver de motor a pasos Teclado matricial (4x4) 4 Capacitores 1uf 1 Capacitor 10uf 2 Capacitores Cerámicos 20pf Protoboard

ESQUEMA:

ENCENDIDO, APAGADO Y CAMBIO DE GIRO DE UN MOTOR DC VISUALIZACION EN LCD

Fig5.- On-Off motor dc

ENCENDIDO, APAGADO, CAMBIO DE GIRO Y CONTROL DE VELOCIDAD DE UN MOTOR A PASOS VISUALIZACION EN LCD

FACULTAD

DE F . I . S .

Page 6: Informe Motor Pasos

UNIVERSIDAD TÉCNICA DE AMBATOFACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL

CARRERA DE ELECTRÓNICA Y COMUNICACIONESABRIL-SEPTIEMBRE 2015

Fig6.- On-Off motor a pasos

2.5 CÓDIGO:ENCENDIDO, APAGADO Y CAMBIO DE GIRO DE UN MOTOR DC VISUALIZACION EN LCD

#include <18F4550.h>#fuses XT,NOMCLR,wdt#use delay (clock=4M) // declaración de directivas#use fast_io(a)#use fast_io(b)#use fast_io(c)int y=0,pulso=0,puls=0; // variablesvoid main(){ //método principalset_tris_b(0xFF); // uso del puerto b como entradasset_tris_c(0x00); //uso del puerto c como salidasset_tris_a(0b11110000); //nible bajo como salidas nible alto como entradasport_b_pullups(TRUE);//setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);WHILE(true) //ciclo{if (input(pin_b0)==0) //condición para el funcionamiento{pulso++;if(pulso==1){ output_high(pin_a0); // salida en alto pin a0 delay_ms(500); }

}if(input(pin_b1)==0&&pulso==1) { puls++; if(puls==1) { output_low(pin_a0); //salida en bajo pin a0 y en salto pin a1 delay_ms(500); output_high(pin_a1); delay_ms(500); } } if(puls==2&&pulso==1) { output_low(pin_a1); delay_ms(500); //salida en bajo pin a1 y en salto pin a0 output_high(pin_a0); delay_ms(500); puls=0; } if(pulso==2){ output_low(pin_a0); output_low(pin_a1); //salida en bajo pin a0 y pin a1 delay_ms(500); pulso=0;}}}

ENCENDIDO, APAGADO, CAMBIO DE GIRO Y CONTROL DE VELOCIDAD DE UN MOTOR A PASOS VISUALIZACION EN LCD

#include <16f887.h>#fuses xt,nomclr#use delay (clock=4000000)#use fast_io(b)

#use fast_io(c) // designacion de las directivas#use fast_io(a)

FACULTAD

DE F . I . S .

Page 7: Informe Motor Pasos

UNIVERSIDAD TÉCNICA DE AMBATOFACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL

CARRERA DE ELECTRÓNICA Y COMUNICACIONESABRIL-SEPTIEMBRE 2015

int t;int x=0;int y=0; // variables a utilizar int z=0;

#int_ext // interrupción externavoid intest(){output_toggle(pin_c7);if(x==0){x=1;}else{x=0;}}

void GDerecha(){output_bit(pin_c0,1);//A output_bit(pin_c1,1);//B output_bit(pin_c2,0);//C //secuencia para el giro derecha output_bit(pin_c3,0);//D delay_ms(t); output_bit(pin_c0,0);//A output_bit(pin_c1,1);//B output_bit(pin_c2,1);//C output_bit(pin_c3,0);//D delay_ms(t); output_bit(pin_c0,0);//A output_bit(pin_c1,0);//B output_bit(pin_c2,1);//C output_bit(pin_c3,1);//D delay_ms(t); output_bit(pin_c0,1);//A output_bit(pin_c1,0);//B output_bit(pin_c2,0);//C output_bit(pin_c3,1);//D delay_ms(t);}

void GIzquierda(){output_bit(pin_c0,1);//A output_bit(pin_c1,0);//B output_bit(pin_c2,0);//C output_bit(pin_c3,1);//D delay_ms(t);

output_bit(pin_c0,0);//A output_bit(pin_c1,0);//B //secuencia para el giro izquierda output_bit(pin_c2,1);//C output_bit(pin_c3,1);//D delay_ms(t); output_bit(pin_c0,0);//A output_bit(pin_c1,1);//B output_bit(pin_c2,1);//C output_bit(pin_c3,0);//D delay_ms(t); output_bit(pin_c0,1);//A output_bit(pin_c1,1);//B output_bit(pin_c2,0);//C output_bit(pin_c3,0);//D delay_ms(t);}

void main (){set_tris_b(0xff);set_tris_c(0x00); // configuración del puerto b,c como entradas y puerto c como salidasset_tris_A(0xff);

enable_interrupts(int_ext);enable_interrupts(global);

while (true){

if(x==1){

if(input(pin_b2)==1){ delay_ms(10); if(input(pin_b2)==1) //Si la entrada es uno el pin b2 realizaoutput_toggle(pin_c6); // cambio de estado del pin c6if(y==0){y=1;}else{y=0;}

FACULTAD

DE F . I . S .

Page 8: Informe Motor Pasos

UNIVERSIDAD TÉCNICA DE AMBATOFACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL

CARRERA DE ELECTRÓNICA Y COMUNICACIONESABRIL-SEPTIEMBRE 2015

while(input(pin_b2)==1);

}

if(input(pin_b1)==1){ //verifica el estado del pin b1delay_ms(10); // retardoif(input(pin_b1)==1) output_toggle(pin_c5); // cambia el estado del pin c5if(z==0){z=1;}else{z=0;}while(input(pin_b1)==1); // se ejecuta hasta que la entrada en el pin b1 sea 1}

if(y==0){output_c(0);delay_ms(15);

if(z==1){t=2;GIzquierda(); //metodos para el cambio de velocidad y giro mas rápida}

if(z==0){t=8;GIzquierda(); // metodos para eel cambio de velocidad y giro más lenta}

}

if(y==1){output_c(0);delay_ms(20);

if(z==1){t=2;GDerecha(); //metodos para el cambio de velocidad y giro mas rápida}

if(z==0){t=8;GDerecha(); // metodos para eel cambio de velocidad y giro más lenta}}}}}

2.6 RESULTADOS ESPERADOS: Mediante la utilización del teclado matricial el micro controlador realice

encendido-apagado y cambio de giro del motor DC y cambio de velocidad del motor a pasos.

Mediante la programación en el microcontrolador PIC podremos observar que la secuencia de leds se genera en forma correcta, ya que esto fue observado en la simulación Proteus.

Verificar que la sección de código en PIC C COMPILER, fue capaz de generar mensajes mediante la utilización de un teclado matricial y una pantalla LCD

2.7 RESULTADOS OBTENIDOS: Mediante la programación en el microcontrolador PIC pudimos observar que el

motor obedecia las sentencias declaradas tanto en el motor dc, como en el motor a pasos.

FACULTAD

DE F . I . S .

Page 9: Informe Motor Pasos

UNIVERSIDAD TÉCNICA DE AMBATOFACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL

CARRERA DE ELECTRÓNICA Y COMUNICACIONESABRIL-SEPTIEMBRE 2015

En la primera aplicación se cumplio satisfactoria mente ya que el motor se pudo encender y apagar y cambiar de giro.

En la segunda aplicación se verifico que el código, fue capaz de encender y apagar, cambiar de giro y sobre todo combinar para tres velocidades diferentes el motor a pasos y aplicado a un teclado matricial y un LCD que nos indicaba la acción que se hacía.

2.8 CONCLUSIONES:

a) Las aplicaciones planteadas en caso del motor DC y Motor a pasos fueron desarrolladas con éxito aplicando las librerías adecuadas para el manejo del teclado matricial y la pantalla LCD .

b) Un microcontrolador es un circuito programable capaz de ejecutar las órdenes previamente programadas desarrollando la programación detectando entradas y salidas según sea el caso.

c) En nuestras aplicaciones el funcionamiento de motores DC y en este caso el motor a pasos, se puede llevar a cabo de diferentes formas ya que la facilidad de utilizar el PIC C Compiler nos facilita la aplicación fácil de estos dos instrumentos básicos.

2.9 RECOMENDACIONES:a) Es recomendable utilizar las librerías adecuadas para el perfecto

funcionamiento tanto del teclado matricial y de la pantalla LCD para así no perder el tiempo en buscar errores que causan estas librerías mal usadas.

b) Para los dos casos de utilización del motor es recomendable usar un Driver de motor DC y un driver de motor a pasos para un perfecto funcionamiento y asi evitar el averió de pines de nuestro microcontrolador.

c) Se recomienda utilizar los bloques de registros adecuados para poder realizar la programación de la mejor manera.

d) También se recomienda a la hora de simular en PROTEUS tener mucho cuidado y sobre todo escoger bien los elementos y darse cuenta de que equipos se está trabajando para que al momento de la implementación se evite el daño de diversos equipos.

2.10 BIBLIOGRAFIA:

[1]MikroElectronika (2015), Microcontrolador PIC 16F887 Capitulo 3.Introducción, [Online] Disponible en: http://www.mikroe.com/chapters/view/81/capitulo-3-microcontrolador-pic16f887/[ 2 ] Cánovas L. Andrés y Dorado Víctor, “Funciones de I/O discreta”, Manual de usuario del Compilador PCW de CCS, 2003.

FACULTAD

DE F . I . S .

Page 10: Informe Motor Pasos

UNIVERSIDAD TÉCNICA DE AMBATOFACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL

CARRERA DE ELECTRÓNICA Y COMUNICACIONESABRIL-SEPTIEMBRE 2015

[3]Microchip, Datasheet PIC16F882/883/884/886/887, Disponible en [http://ww1.microchip.com/downloads/en/DeviceDoc/41291D.pdf]

2.11 ANEXOS:

ENCENDIDO, APAGADO Y CAMBIO DE GIRO DE UN MOTOR DC VISUALIZACION EN LCD

ENCENDIDO, APAGADO, CAMBIO DE GIRO Y CONTROL DE VELOCIDAD DE UN MOTOR A PASOS VISUALIZACION EN LCD

FACULTAD

DE F . I . S .