Diferencia entre revisiones de «Robótica 2008/09»

De WikiRobotics
Saltar a: navegación, buscar
(Software)
(Construcción del robot y aplicación final(4 semanas) (18-23 Mayo))
 
(No se muestran 26 ediciones intermedias del mismo usuario)
Línea 3: Línea 3:
 
* [http://arantxa.ii.uam.es/~gdrivera/robotica/curso0809/practicas.html Laboratorio]
 
* [http://arantxa.ii.uam.es/~gdrivera/robotica/curso0809/practicas.html Laboratorio]
  
* [http://www.iearobotics.com/personal/juan/proyectos/gpbot/gpbot.html Página GPBOT en Iearobotics]
+
= Página GPBOT en IEAROBOTICS =
 
+
* Información sobre la placa [[GPBOT]]
= Ultima hora =
+
* [http://www.iearobotics.com/personal/juan/proyectos/gpbot/gpbot.html Página antigua GPBOT en Iearobotics]
  
 
= Objetivos Práctica =
 
= Objetivos Práctica =
Línea 16: Línea 16:
  
 
=== Control de motores y sensores (4 semanas)  (13-17 Abril) ===
 
=== Control de motores y sensores (4 semanas)  (13-17 Abril) ===
* Conectar los motores y hacer el control.
+
* Conectar los motores y hacer el control (adelante, atras, izquierda, derecha).
* Poner en marcha el inclinómetro.
+
* Programar el TIMER para hacer PWM y controlar la velocidad de los motores.
* Poner en marcha los encoders.(Opcional)
+
* Programar el conversor analógico-digital. Se puede usar un potenciómetro para simularlo. (luego será el inclinómetro)
 +
* Hacer un servidor en la GPBOT que por medio del puerto serie controle lo anterior.
 +
<pre>
 +
Funciones del servidor. Recibe por el puerto serie (9600,8n1) una de estas opciones y hace:
 +
'1': activa / desactiva motor 1
 +
'2': cambia sentido motor 1
 +
'3': activa / desactiva motor 2
 +
'4': cambiar sentido motor 2
 +
'5': Devuelve el valor del conversor analógico-digital
 +
'6': Reduce velocidad
 +
'7': aumenta velocidad
 +
'p': Comando PING -> devuelve 'O'
 +
</pre>
  
=== Construcción del robot (4 semanas) (18-23 Mayo) ===
+
=== Construcción del robot y aplicación final(4 semanas) (18-23 Mayo) ===
 
* Construir el robot  
 
* Construir el robot  
* Programar en C un software que realice la estabilización.
+
* Poner en marcha la lectura de inclinación. Ya sea usando el puerto serie o el inclinómetro.
<BR>
+
* Programar en C un software que realice la estabilización (programa balancín).
  
= Documentación =
+
<pre>
 +
Lo que tiene que hacer el robot es: A mayor inclinación tiene que ir más deprisa,
 +
a medida que la inclinación se reduce tiene que ir reduciendo la velocidad hasta
 +
que se pare en el punto de equilibrio.
 +
</pre>
  
* [http://www.iearobotics.com/wiki/images/a/a7/Laboratorio_Robotica_09.pdf Transparencias de clase]
+
La información de inclinación la vamos a leer por el puerto serie a 9600,8n1.<br>
* [http://www.ii.uam.es/~gdrivera/robotica/hc08/mc68hc908gp32.pdf Manual 68HC908GP32]
+
Se mandará un byte cada 100 o 200mseg. Dicho  byte contendrá la información de inclinación.<br>
* [http://www.ii.uam.es/~gdrivera/robotica/gp_bot/gp_bot_13.pdf Manual GP_BOT ]
 
  
= Software =
+
Valores:<br>
 +
* 104 a 125 -> el robot tiene que ir hacia atrás<br>
 +
* 127 a 144 -> el robot tiene que ir hacia adelante<br>
 +
* 126 se supone que es el punto de equilibrio y el robot tendrá que pararse.<br>
  
=== Windows ===
+
Cuanto más cerca se esté de los valores extremos (104 y 144) más rápido irá, cuanto más cerca del 126 más lento irá.<BR>
*Escoger el '''CodeWarrior''' para '''Micro-controladores'''. Es una versión que tiene restricciones pero totalmente funcional:<br>[http://www.freescale.com/webapp/sps/site/overview.jsp?code=CW_SPECIALEDITIONS&tid=CWH CodeWarrior Windows]
 
  
=== Linux ===
+
= Documentación =
 
 
= Descarga de archivos =
 
 
 
''' Proyectos para Code Warrior '''
 
* [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>
 
* [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>
 
<br>
 
 
 
''' Ejemplos en C para el SDCC '''
 
* [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/wiki/images/a/a7/Laboratorio_Robotica_09.pdf Transparencias de clase 2008-2009]
* [http://www.iearobotics.com/personal/juan/proyectos/gpbot/gpbot.html#Ejemplos%20ASM|outline Ejemplos ASM]
 

Revisión actual del 10:06 7 may 2009

Página Oficial Asignatura

Página GPBOT en IEAROBOTICS

Objetivos Práctica

Puesta en marcha del entorno (2 semanas)

  • Conseguir la placa entrenadora GPBOT
  • Fabricar el cable de conexión a la Fuente de alimentación.
  • Fabricar cable de conexión serie. (Opcional pero recomendable)
  • Instalar el software y probar con algún ejemplo básico

Control de motores y sensores (4 semanas) (13-17 Abril)

  • Conectar los motores y hacer el control (adelante, atras, izquierda, derecha).
  • Programar el TIMER para hacer PWM y controlar la velocidad de los motores.
  • Programar el conversor analógico-digital. Se puede usar un potenciómetro para simularlo. (luego será el inclinómetro)
  • Hacer un servidor en la GPBOT que por medio del puerto serie controle lo anterior.
Funciones del servidor. Recibe por el puerto serie (9600,8n1) una de estas opciones y hace:
'1': activa / desactiva motor 1
'2': cambia sentido motor 1
'3': activa / desactiva motor 2
'4': cambiar sentido motor 2
'5': Devuelve el valor del conversor analógico-digital
'6': Reduce velocidad
'7': aumenta velocidad
'p': Comando PING -> devuelve 'O'

Construcción del robot y aplicación final(4 semanas) (18-23 Mayo)

  • Construir el robot
  • Poner en marcha la lectura de inclinación. Ya sea usando el puerto serie o el inclinómetro.
  • Programar en C un software que realice la estabilización (programa balancín).
Lo que tiene que hacer el robot es: A mayor inclinación tiene que ir más deprisa,
a medida que la inclinación se reduce tiene que ir reduciendo la velocidad hasta
 que se pare en el punto de equilibrio.

La información de inclinación la vamos a leer por el puerto serie a 9600,8n1.
Se mandará un byte cada 100 o 200mseg. Dicho byte contendrá la información de inclinación.

Valores:

  • 104 a 125 -> el robot tiene que ir hacia atrás
  • 127 a 144 -> el robot tiene que ir hacia adelante
  • 126 se supone que es el punto de equilibrio y el robot tendrá que pararse.

Cuanto más cerca se esté de los valores extremos (104 y 144) más rápido irá, cuanto más cerca del 126 más lento irá.

Documentación