Diferencia entre revisiones de «GPBOT»

De WikiRobotics
Saltar a: navegación, buscar
(Diferencias entre CodeWarrior y SDCC)
 
(No se muestran 29 ediciones intermedias del mismo usuario)
Línea 16: Línea 16:
 
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'''.
 
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 =
 
= Software =
  
En la página de la GPBOT está la información del software a usar en las distintas plataformas:<br>
+
Existen diferentes entornos para trabajar con la GPBOT:
* [http://www.iearobotics.com/personal/juan/proyectos/gpbot/gpbot.html Página GPBOT en Iearobotics]
+
 
 +
* [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>
 
<br>
Este es el enlace directo al codewarrior para Windows:<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>
*Escoger el '''CodeWarrior''' para '''Micro-controladores'''. Es una versión que tiene restricciones pero totalmente funcional:[http://www.freescale.com/webapp/sps/site/overview.jsp?code=CW_SPECIALEDITIONS&tid=CWH CodeWarrior Windows]
+
'''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''.
 +
* 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 =
 +
* [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.
 +
 
 +
=== Enlaces a las páginas de prácticas ===
 +
* [[Robótica 2008/09 | Prácticas UAM 2008-2009]]
  
= Descarga de archivos =
+
= Programas de Ejemplo =
  
 
''' Proyectos para Code Warrior '''
 
''' Proyectos para Code Warrior '''
Línea 32: Línea 93:
 
* [http://www.iearobotics.com/wiki/images/6/68/Sensor1_GPBOT_CodeWarrior.zip Sensor1] Lee un sensor de infrarrojos CNY70 <br>
 
* [http://www.iearobotics.com/wiki/images/6/68/Sensor1_GPBOT_CodeWarrior.zip Sensor1] Lee un sensor de infrarrojos CNY70 <br>
 
* [http://www.iearobotics.com/wiki/images/4/47/Eco_GPBOT_CodeWarrior.zip Serie ECO] Servidor de ECO <br>
 
* [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>
 
<br>
  
''' Ejemplos en C para el SDCC '''
+
''' 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'''
* [http://www.iearobotics.com/personal/juan/proyectos/gpbot/gpbot.html#Ejemplos%20C|outline Ejemplos C para SDCC]
 
 
 
''' Ejemplos en ASM para el as-hc08 '''
 
* [http://www.iearobotics.com/personal/juan/proyectos/gpbot/gpbot.html#Ejemplos%20ASM|outline Ejemplos 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 14: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.