- Movimientos: adelante, atrás, giro horario/antihorario
- Velocidad variable (control retroalimentado)
- Cumplir instrucciones de distancia y angulo a velocidad controlada
- Para la lectura de velocidad con encoders se require configurar:
- TIMER: para medición de tiempos
- GPIO: para detectar el giro del encoder (interrupción)
- Para controlar la velocidad y dirección de giro de la ruedas se debe configurar:
- TIMER SCT: para la generación de PWM
- GPIO: para cambiar el sentido de giro de las ruedas
Se observa en azul la velocidad de una rueda y en naranja el PWM asociado [duty cycle (DC) 0 a 100%]. La velocidad de referencia se seteó en 30 cm/s. En el primer segundo se observa el DC creciendo. A partir del segundo 2 la rueda comienza a moverse. Se observa un abrupto incremento de la velocidad y un sobreimpulso. Luego la velocidad se estabiliza en torno a 30cm/s. En el segundo 12 se ha frenado manual e intencionalmente la rueda con el objetivo de visualizar la respusta del DC. El DC se incrementa para vencer la resistencia y volver a la velocidad de referencia. En el segundo 22 se libera la rueda. Se observa un sobreimpulso producto de la liberación repentina de la carga. Luego tanto el PWM como la velocidad se estabilizan nuevamente.
Se implementaron de versiones de hardware. La primer versión consistió un auto 4x4. En la segundo versión se eliminaron dos ruedas motorizadas y se instaló una rueda giratoria.
En ambos videos el robot realiza un cuadrado de 50 cm de lado.
Robot versión 4 ruedas: https://youtu.be/LLtVGU3WwLI Robot versión 3 ruedas: https://youtu.be/DRokiPrVlq4
- gcc-arm-none-eabi
Asegurese de tener configurado el compilador arm-none-eabi-*
en el PATH
.
- Defina las variables
PROJECT_NAME
yPROJECT_PATH
en el archivoproject.mk
de acuerdo con el proyecto que quiera compilar. La variablePROJECT_PATH
es relativa a carpeta principal del repositorio (la carpeta donde se encuentra este archivo). - Asegurese de tener configurado
openocd
en elPATH
. - ParaeEiminar el resultado de una compilacion previa
make clean
. - Para compilar el proyecto use
make
. - Para grabar el proyecto en la placa use
make download
.
En esta plantilla está la estructura y muchos de los archivos de la plantilla desarrollada por Eric Pernia y Martin Ribelota para CESE FI-UBA la Especialización en Sistemas Embebidos de la Universidad de Buenos Aires. El repositorio original puede descargarse de este enlace.
Este trabajo se apoya en el Proyecto-CIAA, un desarrollo nacional impulsador por instrituciones publicas y privadas que busca impulsar la industria argentina.