top of page

Cuadrúpedo controlado con microcontrolador STM32F3DISCOVERY

  • Joan A. Marí
  • 20 ene 2017
  • 2 Min. de lectura

Vamos a realizar la programación de un cuadrúpedo con un microcontrolador profesional, en este caso del fabricante STMicroelectronics. La finalidad del mismo es que llegue a salir por sí mismo de una plaza redonda la cual tendrá una puerta (La misma por la que entra), para ello contará con un sensor óptico el cual medirá distancia. La forma de funcionamiento será la siguiente, el cuadrúpedo caminará hacia adelante hasta que se encuentre con la pared, entonces medirá hacia un lado y otro y girará hacia el lado que más distancia exista. Repitiendo este proceso deberá de ser capaz de salir.


Para realizar este proyecto tenemos una estructura de aluminio a la cual le hemos acoplado unos nueve motores de continua, ocho para realizar el movimiento de las patas y otro para girar el sensor de medición de distancia.


Para la programación vamos a gastar dos software. El primero el “STM32CubeMX” es un software donde configuraremos nuestro microcontrolador, asignando a los pines correspondiente las funciones que necesitamos. Seguidamente utilizaremos el software “µvision5” de keil, es un IDE (Integrated Development Environment) para el desarrollo del código.


En este caso necesitaremos utilizar los timers para generar nuestros PWM, y un pin de Analog Ditial Converter para el funcionamiento del sensor medidor de distancia (ya que nuestro medidor de distancia nos da una lectura analógica). Podemos ver la configuración asignada en la figura 1.


Figura 1. Configuración del microprocesador

En el menú que aparece en la parte izquierda de la pantalla principal configuraremos los timers según el canal seleccionado para configurarlo como PWM. En la pestaña de configuración también deberemos ajustar el prescaler para ajustarlo a nuestros tiempos.

Una vez todo configurado, no tendremos más que generar el código. Este software automática nos realiza el código para el buen funcionamiento del microcontrolador seleccionado en el IDE elegido. Nos indicará en que parte del código debemos de definir nuestras variables, escribir nuestro código, programar nuestras funciones, etc.

Para la configuración de los motores tenemos que ir uno a uno viendo cual es el punto medio, ya que no va a ser el mismo para todos los motores por la forma en que están montados, o simplemente porque con el tiempo mecánicamente se van desgastando. Si realizamos ahora esta tarea nos ahorraremos tener que ajustar después el movimiento ya que si no está bien ajustado nos arriesgamos a que el movimiento no sea rectilíneo. Así mismo deberemos de dar los ángulos correspondientes para que el cuadrúpedo avance rápido sin perder mucho tiempo.

Para la programación deberemos de implementar la máquina de estados que se puede visualizar en la figura 2.

Figura 2. Máquina de estados del movimiento

Debemos de tener en cuenta que si la distancia entre un lado y otro es la misma deberá de girar siempre hacia el mismo lado para que pueda salir de la plaza, sino se podría quedar atascado, en este caso se ha elegido que gire hacia la izquierda. La distancia mínima que hemos seleccionado en este caso es de 20cm, ya que nuestro sensor trabaja en el rango de [10 – 70] cm.


A continuación dejo un video donde se puede ver el resultado final


 
 
 

Comments


© 2016 by Joan A. Marí

  • LinkedIn Social Icon
  • FRAUDE
bottom of page