TRM – Fase inicial de diseño – Control

Pese a que el concurso ya terminó, voy a seguir hablando un poco del proceso que llevamos para la construcción del robot.  Hablaré ahora de la segunda “etapa” en la que podríamos separar el robot.

  • Control

Esta etapa es la que se encarga de procesar los datos que se obtienen de los sensores infrarrojos y de emitir unas señales de salida que irán a parar a la siguiente etapa del robot, la de potencia.  ¿Qué usamos para recibir las señales de los sensores, procesarlas y emitir señales para activar otras partes del robot?  Hay varias formas de hacerlo.  Una es electrónica pura y dura, diseñar el circuito con puertas lógicas, aunque con este acercamiento veríamos muy reducidas las posibilidades de reajustar el robot.  Por ello desde el taller se nos recomendó utilizar un microcontrolador PIC.

  • ¿Qué es un microcontrolador?

Todo el mundo sabe cómo es un ordenador.  Esa “caja gris” que tiene pantalla, teclado y ratón.  Con ella se realizan una gran cantidad tareas tanto seglares como lúdicas.  Sin embargo, la capacidad de procesado del ordenador, la parte que hace cálculos está en el interior de esa caja gris, siendo todo lo demás medios para comunicar esa CPU (Unidad central de procesamiento) con el mundo exterior.  Sin embargo en el mundo existen un sin fin de “ordenadores” que pasan desapercibidos para la mayoría de personas.  Dichos ordenadores se encuentran en todas partes, en todas: Tarjetas de crédito, automóviles, juguetes, teclados, televisores, baterías, etc…  Tan grande es el uso de los microcontroladores que, sin exagerar, puede que en tu propia casa tengas varias decenas de ellos, incluso cientos. Aquí podéis ver algunos de ellos:

 

  • ¿Cómo funciona un microcontrolador?

Podemos pensar en un microcontrolador como si fuera un cuerpo humano.  El cerebro es el que toma las decisiones, pero necesita tanto “entradas” (sentidos), para saber qué esta pasando alrededor, como “salidas” (p.ej: sistema locomotriz) para mandar hacer algo en el mundo exterior.  Pues los microcontroladores igual, se valen de entradas y salidas para saber que pasa en el mundo exterior, tomar una decisión, y actuar en consecuencia.   Aquí podemos poner el ejemplo del robot sigue-lineas:  El microcontrolador observa el estado de los sensores infrarrojos (entradas), decide qué tiene que hacer según esos datos, y mueve los motores (salidas) para que el robot gire y no se salga de la linea.

 

  • ¿Quién le dice qué ha de hacer?

Pues nosotros.  El usuario es el que le dice al microcontrolador qué tiene que hacer según sea el estado de sus entradas.  Eso lo hacemos programando el microcontrolador.  Con nuestro ordenador nosotros creamos un código o programa, que hará algo al grabar dicho código en la memoria del microcontrolador.   Sería algo como esto:

Si sensor derecho no ve linea
Gira a la izquierda
Si sensor izquierdo no ve linea
Gira a la derecha

Esto no es el código tal cual se le graba al microcontrolador, esto se llama pseudo-codigo y es una forma de describir con muy pocas palabras lo que hará el código, facilitando después la escritura del mismo.  Como veis le damos unas órdenes al microcontrolador, le estamos diciendo que vaya mirando el estado de los sensores, y cuando alguno de los sensores no vea la linea, pues que haga algo, que gire hacia el lado contrario, de esta forma (forma pobre xD) estaríamos manteniendo al robot en la linea.  Decir que el microcontrolador SIEMPRE  hará lo que le hayamos programado, NUNCA hará algo que no le hayamos programado.  Por lo tanto podemos decir que cuando nosotros grabamos un programa al microcontrolador que no hace lo que nosotros esperamos, en el 99% de los casos es que nosotros lo hemos programado mal, es triste, pero es así xD.

Cómo quizás podéis ver, los microcontroladores tienen una versatilidad enorme: Podemos hacer cualquier cosa con ellos.  Existen muchas gamas de microcontroladores, pero aún con las más bajas, la cantidad de aplicaciones a poder diseñar son innumerables.

Existen muchas empresas que fabriquen microcontroladores, y por supuesto todas se programan diferente entre sí.  Freescale, Atmel, Microchip, Texas Instruments, Intel, Zilog, etc..  Podríamos decir que los microcontroladores más extendidos hoy en día a nivel de usuario y hobbista son los PIC’s de Microchip y los AVR de Atmel, por su inclusión en la extendida plataforma Arduino.  Es por ello que desde el taller se nos recomendó el uso de los microcontroladores PIC, en concreto el modelo PIC16F876, un modelo bastante utilizado y que tiene una buena cantidad de periféricos a su disposición.  Es este:

 

PIC16F876
Esquema del 16F876

Esto es lo que tiene que ver con la parte de control.  Como no pretendo hablar en el blog de una gran cantidad de detalles técnicos, es por ello que las entradas no tendrán una gran carga de datos técnicos.  Si alguien quiere saber más al respecto de los microcontroladores, aquí dejo unos cuantos enlaces:

 

¡Saludos!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s