Tarjeta GPBOT: Guía Rápida

[Introducción]

[características]

[Puertos]

[Alimentación]

[Software]

[Ejemplos ASM]

[Ejemplos C]

[Links]

[Noticias]

[Créditos]




Introducción

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.


Características





Puertos de expansión

Tres puertos (A,B y D) son conectores para cable plano de bus, de 10 vías. Hay un cuarto conector de 16 vías, por donde sale el puerto C, E y algunas señales de control





Algunos de los pines tienen otras funciones. Si además se usa la tarjeta GP_IFAZ, se usan 4 pines de entrada para los sensores y 8 pines de salida para los motores:






Alimentación

La GPBOT se alimenta a través de un conector de tipo Jack o conectando los cables a la clema de alimentación. La alimentación puede estar comprendida entre 5.5 – 13.5 voltios (está regulada).





Software

Existen diferentes entornos para trabajar con la GPBOT:

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).




Documentación


Ejemplos ASM

En la siguiente tabla se muestran ejemplos en ensamblador para el as-hc08 y el entorno M68ICS08 de Windows. Son ejemplos muy básicos, para a partir de ellos hacer cosas más complejas.

Ejemplos en ensamblador

AS-HC08

M68ICS08

Ejecutable

Descripción

modelo.tgz

modelo.zip

--------

Plantilla para la realización de otros programas. Contiene los ficheros con la definición de los registros del 6808, mapa de memoria para la GPBOT, ficheros makefiles de ejemplo, etc.

modelo.asm

modelo.asm

----------

Plantilla modelo para hacer programas en ensamblador

porta-sal.asm

porta-sal.asm

porta-sal.S19

PUERTO A. Ejemplo de configuración del puerto A para salida. Se configuran todos los pines para salida y se envía un valor. Si se conectan leds se puede visualizar el dato.

porta-salent.asm

porta-salent.asm

porta-salent.S19

PUERTO A. Ejemplo de configuración de pines para entrada y salida. Los 4 bits de mayor peso del puerto A se configuran para salida y los 4 de menor peso para entrada

portb-sal.asm

portb-sal.asm

portb-sal.S19

PUERTO B. Ejemplo de configuración del puerto B para salida. Se configuran todos los pines para salida y se envía un valor. Si se conectan leds se puede visualizar el dato.

portb-salent.asm

portb-salent.asm

portb-salent.S19

PUERTO B. Ejemplo de configuración de pines para entrada y salida. Los 4 bits de mayor peso del puerto B se configuran para salida y los 4 de menor peso para entrada

portd-sal.asm

portd-sal.asm

portd-sal.S19

PUERTO D. Ejemplo de configuración del puerto D para salida. Se configuran todos los pines para salida y se envía un valor. Si se conectan leds se puede visualizar el dato.

tim-delay.asm

tim-delay.asm

tim-delay.S19

TEMPORIZADOR 1. Ejemplo de cómo realizar una pausa por espera activa (sin interrupciones), utilizando el temporizador 1. Se pueden hacer esperas desde 100ms hasta 25 segundos.

tim-ov-ledp.asm

tim-ov-ledp.asm

tim-ov-ledp.S19

TEMPORIZADOR 1. Se hace parpadear un led conectado al Bit 0 del puerto B, usando la interrupcion de overflow del TIM1

tim-cmp0-ledp.asm

tim-cmp0-ledp.asm

tim-cmp0-ledp.S19

TEMPORIZADOR 1. Se hace parpadear un led conectado al Bit 0 del puerto B, usando la interrupcion del comparador 0 del TIM1

tim-cmp01-ledp.asm

tim-cmp01-ledp.asm

tim-cmp01-ledp.S19

TEMPORIZADOR 1. Con el canal 0 se hace parpadear un led conectado al bit PB0 y con el 1 otro conectado al bit PB1, mediante interrupciones.

tim-cap0.asm

tim-cap0.asm

tim-cap0.S19

TEMPORIZADOR 1. Ejemplo para el capturador 0, que está asociado al PIN PTD4. Cada vez que hay una transición en ese pin (paso de 0-1 o de 1-0) se incrementar el valor sacado por el puerto B

tim-pwm-fut.asm

tim-pwm-fut.asm

tim-pwm-fut.S19

TEMPORIZADOR 1. Ejemplo de posicionamiento de servos del tipo FUTABA 3003. Se utiliza el temporizador 1 (TIM 1). El posicionamiento se hace por interrupciones. Se usa la interrupcion de overflow para determinar el periodo de la senal PWM (20ms) y el comparador 0 para calcular el ancho del pulso

tim-pwm-fut8.asm

tim-pwm-fut8.asm

tim-pwm-fut8.S19

TEMPORIZADOR 1. Posicionamiento de 8 servos del tipo FUTABA 3003. utilizando el TIM1.

sci-eco.asm

sci-eco.asm

sci-eco.S19

SCI. Ejemplo de uso de las comunicaciones serie. Se hace eco de todo lo recibido

ad-test1.asm

ad-test1.asm

ad-test1.S19

CONVERSOR A/D. Prueba del conversor analogico/digital .Se leen muestras del CANAL 0 (PB0) y se sacan por el puerto A

sensor1.asm

sensor1.asm

sensor1.S19

SENSORES CNY70. Ejemplo de manejo del sensor CNY70, en modo digital. Se lee el sensor IR1 (Conectado al pin PTC5) y se saca su estado por el puerto B

sensor3.asm

sensor3.asm

sensor3.S19

SENSORES CNY70. Ejemplo de manejo del sensor CNY70, en modo digital. Se lee el sensor IR3 (Conectado al pin PTA5) y se saca su estado por el puerto B

sensores.asm

sensores.asm

sensores.S19

SENSORES CNY70. Ejemplo de manejo de los 4 sensores CNY70, en modo digital. Su estado se refleja en los bits PB0-PB4 del puerto B

motor-on.asm

motor-on.asm

motor-on.S19

MOTORES. Ejemplo de activación de los motores 1 y 2. El programa los pone en marcha y se queda en un bucle infinito

motor-sec.asm

motor-sec.asm

motor-sec.S19

MOTORES. Ejemplo para los motores 1 y 2. Se hace que vayan hacia adelante, atrás, derecha, izquierda y finalmente se paran.

ejemplos-as-hc08.tgz

ejemplos-m68ics08.tgz

---------------

TODOS LOS EJEMPLOS ANTERIORES

Ejemplos C

Ejemplos para el compilador SDCC, probados en una máquina Linux


Ejemplos en c

Fichero

Descripción

modelo-c.tgz

Plantilla para la realización de otros programas. Contiene los ficheros con la definición de los registros del 6808, ficheros makefiles de ejemplo, etc.

modelo.c

Plantilla modelo para hacer programas en C

porta-sal.c

PUERTO A. Ejemplo de configuración del puerto A para salida. Se configuran todos los pines para salida y se envía un valor. Si se conectan leds se puede visualizar el dato.

porta-salent.c

PUERTO A. Ejemplo de configuración de pines para entrada y salida. Los 4 bits de mayor peso del puerto A se configuran para salida y los 4 de menor peso para entrada

portb-sal.c

PUERTO B. Ejemplo de configuración del puerto B para salida. Se configuran todos los pines para salida y se envía un valor. Si se conectan leds se puede visualizar el dato.

portb-salent.c

PUERTO B. Ejemplo de configuración de pines para entrada y salida. Los 4 bits de mayor peso del puerto B se configuran para salida y los 4 de menor peso para entrada

portd-sal.c

PUERTO D. Ejemplo de configuración del puerto D para salida. Se configuran todos los pines para salida y se envía un valor. Si se conectan leds se puede visualizar el dato.

tim-delay.c

TEMPORIZADOR 1. Ejemplo de cómo realizar una pausa por espera activa (sin interrupciones), utilizando el temporizador 1. Se pueden hacer esperas desde 100ms hasta 25 segundos.

tim-ov-ledp.c

TEMPORIZADOR 1. Se hace parpadear un led conectado al Bit 0 del puerto B, usando la interrupcion de overflow del TIM1

tim-cmp0-ledp.c

TEMPORIZADOR 1. Se hace parpadear un led conectado al Bit 0 del puerto B, usando la interrupcion del comparador 0 del TIM1

tim-cmp01-ledp.c

TEMPORIZADOR 1. Con el canal 0 se hace parpadear un led conectado al bit PB0 y con el 1 otro conectado al bit PB1, mediante interrupciones.

tim-cap0.c

TEMPORIZADOR 1. Ejemplo para el capturador 0, que está asociado al PIN PTD4. Cada vez que hay una transición en ese pin (paso de 0-1 o de 1-0) se incrementar el valor sacado por el puerto B

tim-pwm-fut.c

TEMPORIZADOR 1. Ejemplo de posicionamiento de servos del tipo FUTABA 3003. Se utiliza el temporizador 1 (TIM 1). El posicionamiento se hace por interrupciones. Se usa la interrupcion de overflow para determinar el periodo de la senal PWM (20ms) y el comparador 0 para calcular el ancho del pulso

tim-pwm-fut8.c

TEMPORIZADOR 1. Posicionamiento de 8 servos del tipo FUTABA 3003. utilizando el TIM1.

delay.c

DELAY. Módulo para hacer pausas, mediante espera activa.

delay.h

DELAY. Prototipos y definiciones para el módulo delay.c

sci.c

SCI. Módulo para comunicaciones serie. Funciones para enviar, recibir y configurar el SCI

sci.h

SCI. Prototipos y definiciones para el módulo sci.c

sci-eco.c

SCI. Ejemplo de uso de las comunicaciones serie. Se hace eco de todo lo recibido

sci-menu.c

SCI. Se envía un menú por el SCI para que el usuario pueda interactuar

ad-test1.c

CONVERSOR A/D. Prueba del conversor analogico/digital .Se leen muestras del CANAL 0 (PB0) y se sacan por el puerto A

sensor1.c

SENSORES CNY70. Ejemplo de manejo del sensor CNY70, en modo digital. Se lee el sensor IR1 (Conectado al pin PTC5) y se saca su estado por el puerto B

sensor3.c

SENSORES CNY70. Ejemplo de manejo del sensor CNY70, en modo digital. Se lee el sensor IR3 (Conectado al pin PTA5) y se saca su estado por el puerto B

sensores.c

SENSORES CNY70. Ejemplo de manejo de los 4 sensores CNY70, en modo digital. Su estado se refleja en los bits PB0-PB4 del puerto B

motor-on.c

MOTORES. Ejemplo de activación de los motores 1 y 2. El programa los pone en marcha y se queda en un bucle infinito

motor-sec.c

MOTORES. Ejemplo para los motores 1 y 2. Se hace que vayan hacia adelante, atrás, derecha, izquierda y finalmente se paran.

uambot-linea.c

ROBOT. Programa para hacer que el robot siga una línea negra

ejemplos-c.tgz

TODOS LOS EJEMPLOS ANTERIORES




Links


Noticias


Créditos


Juan González . 2004
Se conceden permisos para copiar, distribuir y modificar la información contenida en esta página, siempre y cuando se mantenga esta nota

IEAROBOTICS