60099603 hacer pinguino

11
Que es pingüino Pingüino es un tarjeta como el Arduino pero basada en un microcontrolador PIC. La meta de este proyecto el la de construir un IDE de fácil utilización en LINUX, WINDOWS y MAC OS X. Arduino es una herramienta poderosa con muchos desarrollos. Pero uno de sus inconvenientes es que no tiene una interfase nativa USB, es por esto que la tarjeta Pingüino se hace tan llamativa. Arduino y Pingüino comparten el mismo lenguaje de programación así que no es tan difícil de migrar a una o la otra, esto ya dependerá del gusto o necesidades del usuario. El hardware de Pingüino esta basado en el microcontrolador PIC 18F2550, que tiene tiene un modulo nativo USB y una UART para comunicación serial. Pingüino es open hardware y open software. Como se programa la tarjeta pingüino El modulo PINGUINO permite la realización de programas en un lenguaje de alto nivel similar al C, con unas funciones definidas y orientadas al manejo del hardware del microcontrolador. Los programas una vez compilados en el computador son descargados por medio del puerto USB, sin la necesidad de utilizar un programador de microcontroladores, además de que se puede probar inmediatamente la aplicación sin necesidad de desconectar el sistema del computador siempre y cuando el circuito no necesite mas potencia que la suministrada por el puerto USB, en otras palabras no se necesita fuente de alimentación externa para el circuito en estas condiciones. Una tarjeta Pingüino tiene grabado un programa que permite su funcionamiento como bootloader, es decir que se pueden cargar programas compilados sin la necesidad de utilizar un programador de microcontroladores, sin embargo este programa bootloader si debe ser grabado primero con un programador de microcontroladores PIC. Para que sirve Pingüino Pingüino es una tarjeta sencilla, flexible y fácil de usar que sirve para el prototipado rápido de aplicaciones microcontroladas y de electrónica en general. Es una herramienta utilizada por estudiantes de ingeniería electrónica, de ingeniería multimedia, artistas plásticos en muchas partes del mundo, para la realización de proyectos particulares. PINGUINO : Plataforma Para Diseño Y Desarrollo por : Julio Fabio De La Cruz G. – http://integradorelectronica.blogspot.com “PINGUINO permite la realización de programas en un lenguaje de alto nivel similar al C, con unas funciones definidas y orientadas al manejo del hardware del microcontrolador ” Pingüino es una plataforma de hardware libre basada en un circuito sencillo fácil de construir. La plataforma tiene como corazón un microcontrolador PIC con puerto USB, tiene un sistema de entradas salidas sencillo y bien definido, también tiene un entorno de desarrollo programación simple. Una de las metas de pingüino es el de ser una herramienta de bajo costo, flexible y fácil de usar, para la elaboración de sistemas electrónicos en general.

Upload: sergio-candelaria

Post on 10-Aug-2015

49 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: 60099603 Hacer Pinguino

Que es pingüino

Pingüino es un tarjeta como el Arduino pero basada en un microcontrolador PIC. La meta de este proyecto el la de construir un IDE de fácil utilización en LINUX, WINDOWS y MAC OS X.

Arduino es una herramienta poderosa con muchos desarrollos. Pero uno de sus inconvenientes es que no tiene una interfase nativa USB, es por esto que la tarjeta Pingüino se hace tan llamativa. Arduino y Pingüino comparten el mismo lenguaje de programación así que no es tan difícil de migrar a una o la otra, esto ya dependerá del gusto o necesidades del usuario.

El hardware de Pingüino esta basado en el microcontrolador PIC 18F2550, que tiene tiene un modulo nativo USB y una UART para comunicación serial.

Pingüino es open hardware y open software.

Como se programa la tarjeta pingüino

El modulo PINGUINO permite la realización de programas en un lenguaje de alto nivel similar al C, con unas funciones definidas y orientadas al manejo del hardware del microcontrolador.

Los programas una vez compilados en el computador

son descargados por medio del puerto USB, sin la necesidad de utilizar un programador de microcontroladores, además de que se puede probar inmediatamente la aplicación sin necesidad de desconectar el sistema del computador siempre y cuando el circuito no necesite mas potencia que la suministrada por el puerto USB, en otras palabras no

se necesita fuente de alimentación externa para el circuito en estas condiciones.

Una tarjeta Pingüino tiene grabado un programa que permite su funcionamiento como bootloader, es decir que se pueden cargar programas compilados sin la necesidad de utilizar un

programador de microcontroladores, sin embargo este programa bootloader si debe ser grabado primero con un programador de microcontroladores PIC.

Para que sirve Pingüino

Pingüino es una tarjeta sencilla, flexible y fácil de usar que sirve para el prototipado rápido de aplicaciones microcontroladas y de electrónica en general. Es una herramienta utilizada por estudiantes de ingeniería electrónica, de ingeniería multimedia, artistas plásticos en muchas partes del mundo, para la realización de proyectos particulares.

PINGUINO : Plataforma Para Diseño Y Desarrollo por : Julio Fabio De La Cruz G. –

http://integradorelectronica.blogspot.com

“PINGUINO permite la realización de programas en un lenguaje de alto nivel similar al C, con unas funciones definidas y orientadas al manejo del hardware del microcontrolador ”

Pingüino es una plataforma de hardware libre basada en un circuito sencillo fácil de construir. La plataforma tiene como corazón un microcontrolador PIC con puerto USB, tiene un sistema de entradas salidas sencillo y bien definido, también tiene un entorno de desarrollo programación simple. Una de las metas de pingüino es el de ser una herramienta de bajo costo, flexible y fácil de usar, para la elaboración de sistemas electrónicos en general.

Page 2: 60099603 Hacer Pinguino

Características del PIC 18F2550

La Tabla 1 muestra algunas de las características mas sobresalientes de este microcontrolador que el el corazón del la tarjeta Pingüino.

Este micro es compatible con el microcontrolador 18F4550 en el caso de necesitar un microcontrolador con mas pines de entrada y salida.

El microcontrolador 18F2550 tiene como ventaja que puede conseguirse el el mercado de componentes electrónicos de la ciudad de Cali y es de bajo costo.

Puertos de entrada y salida en la tarjeta pingüino

La tarjeta pingüino tiene 17 pines que pueden ser configurados como entradas o salidas, el gráfico muestra la disposición de estos pines.

Como montar la tarjeta

En esta guia están los diagramas de montaje, ya sea para un protoboard o tarjeta universal. Se recomienda la tarjeta universal ya que el conector USB no esta adaptado para encajar bien en el protoboard.

Los enlaces para bajar este documento, esta en la dirección http://integradorelectronica.blogspot.com están los archivos para el montaje, puede imprimir el archivo . pegarlos sobre una tarjeta universal que tenga el mismo esquema de un protobard, utilizándolo como guia.

Referencias

También es de destacar que proyectos como PINGUINO son de actual tendencia para el desarrollo de sistemas microcontrolados, encontrándose bastantes referencias y aplicaciones en la Internet.

http://www.hackinglab.org/pinguino/index_pinguino.html

http://jpmandon.blogspot.com/

http://identi.ca/group/pinguinoboard

http://groups.google.fr/group/pinguinocard

Parámetros Valores

Program Memory (KB) 32

CPU Speed (MIPS) 12

RAM Bytes 2,048

Data EEPROM (bytes) 256

Digital Communication Peripherals

1-A/E/USART1-MSSP(SPI/I2C)

Capture/Compare/PWM Peripherals

2 CCP

Timers 1 x 8-bit3 x 16-bit

ADC 10 chanels, 10-bit

Comparators 2

USB (ch, speed, compliance)

1, Full Speed, USB 2.0

Operating Voltage Range (V)

2 to 5.5

Tabla 1Periféricos PIC 18F2550

Pines de entrada - salida

Page 3: 60099603 Hacer Pinguino

Componentes

Cantidad Componente Descripción Identificación

1 Pic 18F2550

2 Led ON RUN

1 Swicht pulsador Reset

2 Resistencias 470ohm

Amarillo violeta café

1 Resistencia 10Kohm

Café negro naranja

1 Capacitor 220nf

2 Capacitor 22pf

1 Capacitor 0.1uf

1 Capacitor 10uf

1 Conector USB

1 Oscilador 20Mhz

1 Extensión USB 1.5 metros

IC

Page 4: 60099603 Hacer Pinguino

Diagrama para su montaje en protoboard

Esquema 3

Vista completa en protoboard

Esquema 1

Vista completa en protoboard

Esquema 2

Page 5: 60099603 Hacer Pinguino

Diagrama esquemático cambiar 0.01uf

Montaje en el protoboard

Page 6: 60099603 Hacer Pinguino

Manejo de motores paso a paso.

Por las características de precisión de movimiento, los motores paso a paso son un buen motor al momento de una implementación que requiera precisión en la posición. Además dado que las señales que controlan estos motores son de naturaleza digital son fáciles de adecuar en sistemas netamente digitales. Veremos como se puede controlar un motor paso a paso utilizando la tarjeta pingüino.

Motores bipolares

Este tipo de motores se caracteriza por tener 4 cables que se conectan al circuito de control que debe realizar la función de polarizar las bobinas, para lograr esto el control de la polarización de las bobinas se logra por medio de un puente H, para este tipo de motor necesitaríamos 2 puentes.

Motores Unipolares

Este tipo de motor paso a paso es que utilizaremos en nuestro ejemplo con la tarjeta pingüino. Este tipo de motor se identifica por que puede tener 5, 6 u 8 cables. En caso de 5 cables uno de ellos es el común a todas la bobinas, en el de 6 cables hay un común por cada par de bobinas y finalmente en el de 8 cables no hay punto común en las bobinas.

La mayoría de cables de los motores paso a paso tiene un color estándar.

El gráfico muestra un ejemplo de la codificación de colores de un motor paso a paso unipolar con 8 cables.

Muchas veces nos encontramos con un motor unipolar que no es estándar, así que tenemos que identificar las bobinas, para esto empleamos un multimetro, con el cual mediremos las resistencias de las bobinas, el siguiente gráfico ilustra un ejemplo de que valores de resistencia mediríamos en la identificación de un motor con 8 cables.Motor bipolar

Cables motor bipolar

Motor bipolar

Resistencia en bobinas

Page 7: 60099603 Hacer Pinguino

Numero de pasos

Para lograr el movimiento en el motor paso a paso unipolar, las bobinas deben energizarse de un modo adecuado, hay dos métodos básicos uno denominado por ola en donde una bobina se energiza a la vez y el otro método es el manejo de dos fases en el cual se energizan dos bobinas a la vez. Con el método de dos fases se puede conseguirse mayor torque. El siguiente gráfico muestra ambos tipos de polarización.

Se puede observar que para ambas secuencias se completa un ciclo de 4 polarizaciones, a cada una de estas polarizaciones le daremos el nombre de paso.

Parámetros de los motores paso a paso

• Par dinamico de trabajo: Depende de las características dinámicas, es el momento máximo en que el motor es capaz de desarrollar sin dejar de responder a la polarizaciones de sus bobinas.

• Alguno de paso: Se define como el avance en grados que se produce cada vez que polarizamos las bobinas o generamos un paso, la siguiente tabla muestra los pasos mas empleados en los motores.

• Par de mantenimiento (Torque): Es mayor que el par dinámico y actúa como freno para mantener el rotor en una posición estable dada.

• Numero de pasos por vuelta: Es la cantidad de paso que efectúa el rotor para completar un giro completo, la ecuación es la siguiente

NP=360

Por ejemplo si el paso de nuestro motor es 7,5 grado tenemos

NP=3607,5

=48 pasos

• Frecuencia de paso máximo: Se define como el máximo numero de pasos por segundo que puede ejecutar el motor funcionando adecuadamente.

Control de un motor paso a paso

Para energizar las bobinas de un motor paso a paso necesitamos que circule corriente por estas, esta corriente normalmente es mucho mayor a la que puede entregar un microcontrolador por sus terminales, así que necesitamos un circuito integrado que cumpla la función de driver y entregue la suficiente corriente para polarizar las bobinas.

En nuestra aplicación utilizaremos el ULN2003 que es un integrado que internamente tiene un arreglo de transistores tipo darlingnton.

La conexión de las bobinas de un motor unipolar se muestra en los siguientes gráficos.

Las salidas del microcontrolador las conectaríamos a los terminales de entrada del ULN2003

Resistencia en bobinas

Grados por paso # Pasos por vuelta

0,72 grados 500 pasos

1,80 grados 200 pasos

3,75 grados 96 pasos

7,50 grados 48 pasos

15,00 grados 24 pasosResistencia en bobinas

Page 8: 60099603 Hacer Pinguino

Programa en PINGUINO

En este ejemplo de programa controlaremos un motor paso a paso unipolar por medio de las entradas / salidas I/O13, I/O14, I/O15, I/O16, así que el primer paso sera configurar estos pines como salidas.

El siguiente paso sera el de generar los pasos para polarizar las bobinas del motor, emplearemos el método de una fase o denominado por ola. Si se observa este método necesita 4 pasos para hacer un ciclo completo, así que en nuestro programa generaremos estos 4 pasos.

Una de las parámetros del motor es el de la frecuencia máxima por paso, esto quiere decir que entre paso y paso debe haber un retardo, en nuestro ejemplo sera de 100 milisegundos.

Como ejemplo se supondrá que el motor es de 7,5 grados por paso así que dará un giro completo en 48 pasos.

También si cada paso demora 100 milisegundos tardara 4800 milisegundos o 4,8 segundos en dar el giro completo.

ULN2003

Conexión con el ULN2003

Pines de entrada - salida

Configuración pines

Page 9: 60099603 Hacer Pinguino

El bloque de programa en donde escribimos el código para generar la secuencia de pasos es el void loop(void) se observa que polarizamos bobina por bobina y que este proceso se repite indefinidamente.

Ejemplo : Hacer un programa que haga girar el motor 5 giros completos en sentido a las manecillas del reloj y que terminado este proceso de 5 giros completos en sentido opuesto a las manecillas del reloj.

int i,j; //variables utilizadas en los ciclos

void setup(void)

{

//configuracion de los pines como salidas

pinMode(13,OUTPUT); //A

pinMode(14,OUTPUT); //B

pinMode(15,OUTPUT); //C

pinMode(16,OUTPUT); //D

}

void loop(void)

{

for(i=1;i<=5;i++){

for(j=1;i<=48;j++){

digitalWrite(13,HIGH);//1

digitalWrite(14,LOW);//0

digitalWrite(15,LOW);//0

digitalWrite(16,LOW);//0

delay(100);

digitalWrite(13,LOW);//0

digitalWrite(14,HIGH);//1

digitalWrite(15,LOW);//0

digitalWrite(16,LOW);//0

delay(100);

digitalWrite(13,LOW);//0

digitalWrite(14,LOW);//0

digitalWrite(15,HIGH);//1

digitalWrite(16,LOW);//0

delay(100);

Configuración pines

Ciclo de pasos completo

Page 10: 60099603 Hacer Pinguino

digitalWrite(13,LOW);//0

digitalWrite(14,LOW);//0

digitalWrite(15,LOW);//0

digitalWrite(16,HIGH);//1

delay(100);

}//fin for 48 pasos

}// fin for 5 giros

//Giro en el otro sentido

for(i=1;i<=5;i++){

for(j=1;i<=48;j++){

digitalWrite(13,LOW);//0

digitalWrite(14,LOW);//0

digitalWrite(15,LOW);//0

digitalWrite(16,HIGH);//1

delay(100);

digitalWrite(13,LOW);//0

digitalWrite(14,LOW);//0

digitalWrite(15,HIGH);//1

digitalWrite(16,LOW);//0

delay(100);

digitalWrite(13,LOW);//0

digitalWrite(14,HIGH);//1

digitalWrite(15,LOW);//0

digitalWrite(16,LOW);//0

delay(100);

digitalWrite(13,HIGH);//1

digitalWrite(14,LOW);//0

digitalWrite(15,LOW);//0

digitalWrite(16,LOW);//0

delay(100);

}//fin for 48 pasos

}// fin for 5 giros

}

Page 11: 60099603 Hacer Pinguino