Diferencia entre revisiones de «GPBOT»

De WikiRobotics
Saltar a: navegación, buscar
(New page: __NOTOC__ <center> {| | imagen:Skypic-2007.jpg || Logo de la Skypic‎ |} </center> == Índice General == {| | style="width:48px;"|{{Click || ...)
 
(Diferencias entre CodeWarrior y SDCC)
 
(No se muestran 41 ediciones intermedias del mismo usuario)
Línea 1: Línea 1:
__NOTOC__
 
 
 
<center>
 
<center>
 
{|
 
{|
| [[imagen:Skypic-2007.jpg]] || [[Imagen:Skypic_logo_peq.jpg|center| Logo de la Skypic‎]]
+
| [[imagen:Gpbot.jpg | width=200px]]
 
|}
 
|}
 
</center>
 
</center>
  
== Índice General ==
+
= Introducción =
 +
 
 +
<br>
 +
Esta página se esta migrando al Wiki desde su versión en [http://www.iearobotics.com/personal/juan/proyectos/gpbot/gpbot.html HTML].
 +
<br>
 +
 
 +
 
 +
La '''tarjeta GPBOT''', diseñada por el profesor [http://arantxa.ii.uam.es/~gdrivera/ Guillermo González de Rivera], se emplea en el [http://arantxa.ii.uam.es/~gdrivera/robotica/inicio.htm laboratorio de la asignatura de Robótica] de la [http://www.ii.uam.es/ Escuela Técnica Superior] de la Universidad Autónoma de Madrid (EPS-UAM).
 +
 
 +
En esta página se recopila '''información''' sobre la tarjeta, se muestran '''ejemplos de programación''' en ensamlador y C y se presentan las diferentes herramientas software, para trabajar desde entornos '''Linux''' y '''Windows'''.
 +
 
 +
 
 +
= Caracteristicas =
 +
 
 +
Microcontrolador MC68HC908GP32 de Motorola (8 bits), que incorpora entre otras cosas:
 +
 
 +
* 4 puertos de E/S, de 8 bits (Puertos A,B,C y D)
 +
* 32KB de memoria Flash
 +
* 512B de RAM
 +
* Unidad de comunicaciones serie asíncronas (SCI)
 +
* Unidad de comunicaciones serie síncrona (SPI)
 +
* Dos temporizadores de 16 bits
 +
* 8 canales A/D de 8 bits
 +
* Bus de expansión dividido en 4 conectores para cable plano de bus (puertos A, B, C y D)
 +
* Conector para cable monitor
 +
* '''Alimentación''': Entre 6.0v y 9.0 voltios, a través de clemas o conector tipo jack (alimentación regulada)
 +
* '''Velocidad de funcionamiento''': Cristal de 9.8304 Mhz, con el que se consigue una velocidad de bus de 2.45MHz
 +
* Conexión directa con la tarjeta GP_IFAZ, para controlar hasta 4 motores de corriente continua y conectar 4 sensores de infrarrojos
 +
 
 +
<br>
 +
[[imagen:Gpbot-carac1.png‎|center| Conectores de la tarjeta GPBOT]]
 +
<br>
 +
<br>
 +
 
 +
= Puertos de Conexión =
 +
=== Puertos de Conexión Tarjeta GpBot ===
 +
<br>
 +
[[imagen:Puertos_gpbot.png‎|center| Puertos de la Tarjeta GpBot]]
 +
<br>
 +
<br>
 +
=== Puertos de Conexión Tarjeta GpIfaz ===
 +
<br>
 +
[[imagen:Gp_ifaz.jpg‎|center| Puertos de la Tarjeta GpIfaz]]
 +
<br>
 +
<br>
 +
 
 +
= Alimentación =
 +
<br>
 +
[[imagen:Ali-jack_gpbot.jpg‎|center| Conector de alimentación en la GPBOT]]
 +
<br><br>
 +
La GPBOT se alimenta a través de un conector de tipo '''Jack''' macho de 5mm y conectando los cables a la clema de alimentación. La alimentación está regulada entre 6v y 9v, pero se recomienda usar las siguientes:
 +
* Versión 1.0: Para su correcto funcionamiento se recomienda un a tensión de 7.5v
 +
* Versión 1.1: Para su correcto funcionamiento se recomienda un a tensión de 7.5v
 +
* Versión 1.2: Para su correcto funcionamiento se recomienda un a tensión de 6.0v
 +
<br>
 +
 
 +
= Software =
 +
 
 +
Existen diferentes entornos para trabajar con la GPBOT:
 +
 
 +
* [http://www.freescale.com/webapp/sps/site/overview.jsp?code=CW_SPECIALEDITIONS&tid=CWH Entorno CodeWarrior], de la empresa '''MetroWerks'''. Entorno integrado para desarrollo de aplicaciones en C. Sólo plataformas '''Windows'''. Permiten descargar una versión de evaluación, limitada. De todas las disponibles la que necesitamos es la habilitada para microcontroladores.
 +
* [http://www.pemicro.com/ Entorno de desarrollo M68ICS08] de la empresa '''P&E Microcomputer Systems'''. Disponible sólo para plataformas '''Windows'''. Descarga gratuita. Incluye un editor, ensamblador, programador y depurador, todo integrado.
 +
* [http://sdcc.sourceforge.net/ Compilador cruzado SDCC]. Herramienta libre y '''multiplataforma''' (disponible para Windows, Linux, MAC, etc), distribuida bajo licencia GPL. Es un compilador de C para microcontroladores de 8 bits, entre ellos el 68hc08, pero también es válido para los PIC, 8051, Z80, y algunos otros. Se utiliza en la consola, pero se integra perfectamente con otros IDEs, como por ejemplo Anjuta o el programer's notepad. También incluye el ensamblador as-hc08. Está disponible en Debian.
 +
* Sofware de grabación [http://www.iearobotics.com/personal/juan/proyectos/gpbot-down/gpbot-down.html GPBOT-DOWN]. Permite programar la GPBOT desde plataformas Linux. Disponible bajo licencia GPL.
 +
<br>
 +
'''NOTA''': Las directivas del ensamblador empleado por el M68ICS08 y por el as-hc08 son diferentes, por ello los programas .asm no se pueden llevar directamente de una a otra herramienta (los cambios, no obstante, son mínimos).<br><br>
 +
'''NOTA''': Algunos de los nombres utilizados por el SDCC y el CodeWarrior son distintos. Por ejemplo el PORTx se traduce como PTx. Tened esto en cuenta a la hora de usar los diferentes ejemplos de programación.<br><br>
 +
 
 +
== Diferencias entre CodeWarrior y SDCC ==
  
{|
+
* Los puertos en el SDCC se llaman ''PORTA'', ''PORTB'', ''PORTC'', ''PORTD'' y ''PORTE''. En el CodeWarrior ''PTA'', ''PTB'', ''PTC'', ''PTD'' y ''PTE''.
| style="width:48px;"|{{Click || image=icono_hardware.png | link=Skypic:Hardware| width=48px | height=48px }}
+
* En el SDCC las rutinas de interrupción se escriben "''void rsi_t1ch0 (void) interrupt 4 {''", en el CodeWarrior se altera el orden "''interrupt 4 void rsi_t1ch0 (void)''"
|'''[[Skypic:Hardware|Hardware]]''' <br/>Documentación del hardware
+
* En el SDCC para inscrustar ensamblador se usa la directiva "''_asm CLI _endasm''". En el CodeWarrior se usa "''_asm { CLI } ''"
|-------------
+
 
|style="width:48px;"|{{Click || image=icono_man.png | link=Skypic:Planos | width=48px | height=48px }}
+
= Documentación =
|'''[[Skypic:Planos|Planos]]''' <br/> Esquemático, PCB y ficheros de fabricación
+
* [http://arantxa.ii.uam.es/~gdrivera/robotica/hc08/mc68hc908gp32.pdf Datasheet del 68HC08GP32]: Especificaciones técnicas del microcontrolador 6808. Motorola.
|-------------
+
* [http://arantxa.ii.uam.es/~gdrivera/robotica/gp_bot/gp_bot_13.pdf Manual de usuario del sistema GPBOT]. Guillermo González de Rivera. 2002.
|style="width:48px;"|{{Click || image=Tux-peq.png | link=Skypic:Software_Linux | width=48px | height=48px }}
+
 
|'''[[Skypic:Software_Linux|Software/Linux]]''' <br/> Software para GNU/Linux
+
=== Enlaces a las páginas de prácticas ===
|-------------
+
* [[Robótica 2008/09 | Prácticas UAM 2008-2009]]
|style="width:48px;"|{{Click || image=Windows_logo.png | link=Skypic:Software_Windows | width=48px | height=48px }}
+
 
|'''[[Skypic:Software_Windows|Software/Windows]]''' <br/> Software para Windows
+
= Programas de Ejemplo =
|-------------
+
 
|style="width:48px;"|{{Click || image=Icono_programa.png | link=Skypic:Ejemplos | width=48px | height=48px }}
+
''' Proyectos para Code Warrior '''
|'''[[Skypic:Ejemplos|Ejemplos]]''' <br/>  Programas de ejemplo
+
* [http://www.iearobotics.com/wiki/images/4/44/LED_GPBOT_CodeWarrior.zip LED On] Enciende un LED <br>
|-------------
+
* [http://www.iearobotics.com/wiki/images/6/66/Motor_On_GPBOT_CodeWarrior.zip Motor On] Enciende un motor <br>
|style="width:48px;"|{{Click || image=Skypic-perif-icon.png | link=Skypic:Periféricos | width=48px | height=48px }}
+
* [http://www.iearobotics.com/wiki/images/6/68/Sensor1_GPBOT_CodeWarrior.zip Sensor1] Lee un sensor de infrarrojos CNY70 <br>
|'''[[Skypic:Periféricos|Periféricos]]''' <br/>  Periféricos para la Skypic
+
* [http://www.iearobotics.com/wiki/images/4/47/Eco_GPBOT_CodeWarrior.zip Serie ECO] Servidor de ECO <br>
|}
+
* [http://www.iearobotics.com/wiki/images/b/b1/Stepper_GPBOT.zip Stepper] Ejemplo para motor Paso a Paso<br>
 +
 
 +
<br>
 +
 
 +
''' En la página en [http://www.iearobotics.com/personal/juan/proyectos/gpbot/gpbot.html HTML] encontramos muchos más ejemplos en C para SDCC y también en ASM'''
 +
 
 +
= Enlaces =
 +
 
 +
* [http://arantxa.ii.uam.es/~gdrivera/robotica/inicio.htm Asignatura de Robótica], en la EPS de la Universidad Autónoma de Madrid.
 +
* [http://sdcc.sourceforge.net/ SDCC]. Compilador cruzado de C para el 68hc08, Libre y multiplataforma.
 +
* [http://www.pemicro.com/ Entorno de desarrollo M68ICS08], de la empresa P&E Microcomputer Systems. Sólo para Windows.
 +
* [http://www.freescale.com/webapp/sps/site/overview.jsp?code=CW_SPECIALEDITIONS&tid=CWH  Entorno CodeWarrior], de la empresa MetroWerks. Entorno integrado para desarrollo de aplicaciones en C. Sólo plataformas Windows.
 +
* [http://www.iearobotics.com/personal/juan/proyectos/gpbot-down/gpbot-down.html GPBOT-DOWN]. Programación de la GPBOT desde entornos Linux
  
== Enlaces ==
+
= Créditos =
* [http://www.iearobotics.com/proyectos/skypic/skypic.html Página oficial] de la Skypic
+
* [http://arantxa.ii.uam.es/~gdrivera/ Guillermo González de Rivera]. Diseñador del sistema de desarrollo GPBOT.
* [http://www.iearobotics.com/personal/andres/proyectos/pic16f877/manual.16f87x.pdf Hoja de datos del PIC16F876A], de Microchip
+
* [http://arantxa.ii.uam.es/~igonzale/ Iván González]. Coautor del manual de programación de la GPBOT. Parte de los ejemplos de esta página están basados en sus programas.
 +
* Carlos Jesús Venegas. Coautor del manual de programación de la GPBOT. Parte de los ejemplos de esta página están basados en sus programas.
 +
* [[Juan_Gonzalez:Main | Juan González Gómez]] por los ejemplos de programación y la recopilación de información en la página original.
  
  

Revisión actual del 13:38 30 mar 2009

width=200px

Introducción


Esta página se esta migrando al Wiki desde su versión en HTML.


La tarjeta GPBOT, diseñada por el profesor Guillermo González de Rivera, se emplea en el laboratorio de la asignatura de Robótica de la Escuela Técnica Superior de la Universidad Autónoma de Madrid (EPS-UAM).

En esta página se recopila información sobre la tarjeta, se muestran ejemplos de programación en ensamlador y C y se presentan las diferentes herramientas software, para trabajar desde entornos Linux y Windows.


Caracteristicas

Microcontrolador MC68HC908GP32 de Motorola (8 bits), que incorpora entre otras cosas:

  • 4 puertos de E/S, de 8 bits (Puertos A,B,C y D)
  • 32KB de memoria Flash
  • 512B de RAM
  • Unidad de comunicaciones serie asíncronas (SCI)
  • Unidad de comunicaciones serie síncrona (SPI)
  • Dos temporizadores de 16 bits
  • 8 canales A/D de 8 bits
  • Bus de expansión dividido en 4 conectores para cable plano de bus (puertos A, B, C y D)
  • Conector para cable monitor
  • Alimentación: Entre 6.0v y 9.0 voltios, a través de clemas o conector tipo jack (alimentación regulada)
  • Velocidad de funcionamiento: Cristal de 9.8304 Mhz, con el que se consigue una velocidad de bus de 2.45MHz
  • Conexión directa con la tarjeta GP_IFAZ, para controlar hasta 4 motores de corriente continua y conectar 4 sensores de infrarrojos


Conectores de la tarjeta GPBOT

Puertos de Conexión

Puertos de Conexión Tarjeta GpBot


Puertos de la Tarjeta GpBot

Puertos de Conexión Tarjeta GpIfaz


Puertos de la Tarjeta GpIfaz

Alimentación


Conector de alimentación en la GPBOT

La GPBOT se alimenta a través de un conector de tipo Jack macho de 5mm y conectando los cables a la clema de alimentación. La alimentación está regulada entre 6v y 9v, pero se recomienda usar las siguientes:

  • Versión 1.0: Para su correcto funcionamiento se recomienda un a tensión de 7.5v
  • Versión 1.1: Para su correcto funcionamiento se recomienda un a tensión de 7.5v
  • Versión 1.2: Para su correcto funcionamiento se recomienda un a tensión de 6.0v


Software

Existen diferentes entornos para trabajar con la GPBOT:

  • Entorno CodeWarrior, de la empresa MetroWerks. Entorno integrado para desarrollo de aplicaciones en C. Sólo plataformas Windows. Permiten descargar una versión de evaluación, limitada. De todas las disponibles la que necesitamos es la habilitada para microcontroladores.
  • Entorno de desarrollo M68ICS08 de la empresa P&E Microcomputer Systems. Disponible sólo para plataformas Windows. Descarga gratuita. Incluye un editor, ensamblador, programador y depurador, todo integrado.
  • Compilador cruzado SDCC. Herramienta libre y multiplataforma (disponible para Windows, Linux, MAC, etc), distribuida bajo licencia GPL. Es un compilador de C para microcontroladores de 8 bits, entre ellos el 68hc08, pero también es válido para los PIC, 8051, Z80, y algunos otros. Se utiliza en la consola, pero se integra perfectamente con otros IDEs, como por ejemplo Anjuta o el programer's notepad. También incluye el ensamblador as-hc08. Está disponible en Debian.
  • Sofware de grabación GPBOT-DOWN. Permite programar la GPBOT desde plataformas Linux. Disponible bajo licencia GPL.


NOTA: Las directivas del ensamblador empleado por el M68ICS08 y por el as-hc08 son diferentes, por ello los programas .asm no se pueden llevar directamente de una a otra herramienta (los cambios, no obstante, son mínimos).

NOTA: Algunos de los nombres utilizados por el SDCC y el CodeWarrior son distintos. Por ejemplo el PORTx se traduce como PTx. Tened esto en cuenta a la hora de usar los diferentes ejemplos de programación.

Diferencias entre CodeWarrior y SDCC

  • Los puertos en el SDCC se llaman PORTA, PORTB, PORTC, PORTD y PORTE. En el CodeWarrior PTA, PTB, PTC, PTD y PTE.
  • En el SDCC las rutinas de interrupción se escriben "void rsi_t1ch0 (void) interrupt 4 {", en el CodeWarrior se altera el orden "interrupt 4 void rsi_t1ch0 (void)"
  • En el SDCC para inscrustar ensamblador se usa la directiva "_asm CLI _endasm". En el CodeWarrior se usa "_asm { CLI } "

Documentación

Enlaces a las páginas de prácticas

Programas de Ejemplo

Proyectos para Code Warrior


En la página en HTML encontramos muchos más ejemplos en C para SDCC y también en ASM

Enlaces

Créditos

  • Guillermo González de Rivera. Diseñador del sistema de desarrollo GPBOT.
  • Iván González. Coautor del manual de programación de la GPBOT. Parte de los ejemplos de esta página están basados en sus programas.
  • Carlos Jesús Venegas. Coautor del manual de programación de la GPBOT. Parte de los ejemplos de esta página están basados en sus programas.
  • Juan González Gómez por los ejemplos de programación y la recopilación de información en la página original.