Robot móvil sobre un microcontrolador que responde a la luz. Elegir un microcontrolador para crear tu robot. Recursos para el aspirante a robotista.

Seguramente, después de ver suficientes películas sobre robots, muchas veces has querido construir tu propio compañero de batalla, pero no sabías por dónde empezar. Por supuesto, no podrás construir un Terminator bípedo, pero eso no es lo que intentamos lograr. Cualquiera que sepa sujetar correctamente un soldador en sus manos puede montar un robot sencillo y esto no requiere conocimientos profundos, aunque no le hará daño. La robótica amateur no se diferencia mucho del diseño de circuitos, sólo que es mucho más interesante, porque también abarca áreas como la mecánica y la programación. Todos los componentes están fácilmente disponibles y no son tan caros. Por lo tanto, el progreso no se detiene y lo utilizaremos a nuestro favor.

Introducción

Entonces. ¿Qué es un robot? En la mayoría de los casos esto dispositivo automático, que reacciona ante cualquier acción ambiental. Los robots pueden ser controlados por humanos o realizar acciones preprogramadas. Normalmente, el robot está equipado con una variedad de sensores (distancia, ángulo de rotación, aceleración), cámaras de video y manipuladores. La parte electrónica del robot consta de un microcontrolador (MC), un microcircuito que contiene un procesador, un generador de reloj, varios periféricos, operativos y memoria permanente. Hay una gran cantidad de microcontroladores diferentes en el mundo para diferentes aplicaciones y, a partir de ellos, se pueden ensamblar robots potentes. Son muy utilizados para edificios de aficionados. microcontroladores AVR. Son, con diferencia, los más accesibles y en Internet puedes encontrar muchos ejemplos basados ​​en estos MK. Para trabajar con microcontroladores es necesario saber programar en ensamblador o C y tener conocimientos básicos de electrónica digital y analógica. En nuestro proyecto usaremos C. Programar en MK no es muy diferente de programar en una computadora, la sintaxis del lenguaje es la misma, la mayoría de las funciones prácticamente no son diferentes y las nuevas son bastante fáciles de aprender y cómodas de usar.

Qué necesitamos

Para empezar, nuestro robot podrá simplemente evitar obstáculos, es decir, repetir el comportamiento normal de la mayoría de los animales en la naturaleza. Todo lo que necesitamos para construir un robot de este tipo lo podemos encontrar en las tiendas de radio. Decidamos cómo se moverá nuestro robot. Creo que las más exitosas son las orugas que se utilizan en los tanques, esta es la solución más conveniente, porque las orugas tienen mayor maniobrabilidad que las ruedas de un vehículo y son más cómodas de controlar (para girar, basta con girar las orugas en diferentes direcciones). Por lo tanto, necesitarás cualquier tanque de juguete cuyas orugas giren independientemente unas de otras, puedes comprar uno en cualquier juguetería a un precio razonable. De este tanque solo necesitas una plataforma con orugas y motores con cajas de cambios, el resto lo puedes desenroscar y tirar con seguridad. También necesitamos un microcontrolador, mi elección recayó en ATmega16: tiene suficientes puertos para conectar sensores y periféricos y, en general, es bastante conveniente. También necesitarás comprar algunos componentes de radio, un soldador y un multímetro.

Hacer un tablero con MK



diagrama de robot

En nuestro caso, el microcontrolador realizará las funciones del cerebro, pero no empezaremos por él, sino por alimentar el cerebro del robot. Una nutrición adecuada es la clave para la salud, por lo que comenzaremos con cómo alimentar adecuadamente a nuestro robot, porque aquí es donde los constructores de robots novatos suelen cometer errores. Y para que nuestro robot funcione normalmente, necesitamos utilizar un estabilizador de voltaje. Prefiero el chip L7805: está diseñado para generar voltaje estable 5V, que es lo que necesita nuestro microcontrolador. Pero debido al hecho de que la caída de voltaje en este microcircuito es de aproximadamente 2,5 V, se le debe suministrar un mínimo de 7,5 V. Junto con este estabilizador, se utilizan condensadores electrolíticos para suavizar las ondulaciones de voltaje y necesariamente se incluye un diodo en el circuito para proteger contra la inversión de polaridad.
Ahora podemos pasar a nuestro microcontrolador. La carcasa del MK es DIP (es más conveniente soldar) y tiene cuarenta pines. A bordo hay ADC, PWM, USART y mucho más que no usaremos por ahora. Veamos algunos nodos importantes. La resistencia R1 levanta el pin RESET (novena pata del MK) hacia el "más" de la fuente de alimentación; ¡esto debe hacerse! De lo contrario, su MK podría reiniciarse involuntariamente o, más simplemente, fallar. Otra medida deseable, pero no obligatoria, es conectar RESET a través del condensador cerámico C1 a tierra. En el diagrama también puedes ver un electrolito de 1000 uF, que te salva de caídas de voltaje cuando los motores están en marcha, lo que también tendrá un efecto beneficioso en el funcionamiento del microcontrolador. resonador de cuarzo X1 y los condensadores C2, C3 deben ubicarse lo más cerca posible de los pines XTAL1 y XTAL2.
No hablaré sobre cómo flashear MK, ya que puedes leer sobre esto en Internet. Escribiremos el programa en C; elegí CodeVisionAVR como entorno de programación. Este es un entorno bastante fácil de usar y útil para principiantes porque tiene un asistente de creación de código incorporado.


mi tablero de robot

Control del motor

Un componente igualmente importante de nuestro robot es el controlador del motor, que nos facilita su control. ¡Nunca y bajo ninguna circunstancia se deben conectar motores directamente al MK! En general, las cargas potentes no se pueden controlar directamente desde el microcontrolador, de lo contrario se quemará. Utilice transistores clave. Para nuestro caso, existe un chip especial: L293D. En proyectos tan simples, intente siempre utilizar este chip en particular con el índice "D", ya que tiene diodos incorporados para protección contra sobrecargas. Este microcircuito es muy fácil de controlar y se puede conseguir fácilmente en tiendas de radio. Está disponible en dos paquetes: DIP y SOIC. Usaremos DIP en el paquete debido a la facilidad de montaje en el tablero. L293D tiene fuente de alimentación separada para motores y lógica. Por tanto, alimentaremos el propio microcircuito desde el estabilizador (entrada VSS) y los motores directamente desde las baterías (entrada VS). El L293D puede soportar una carga de 600 mA por canal y tiene dos de estos canales, es decir, se pueden conectar dos motores a un chip. Pero para estar seguros, combinaremos los canales y luego necesitaremos una micra para cada motor. De ello se deduce que el L293D podrá soportar 1,2 A. Para lograr esto, es necesario combinar las patas de micra, como se muestra en el diagrama. El microcircuito funciona de la siguiente manera: cuando se aplica un "0" lógico a IN1 e IN2, y uno lógico a IN3 e IN4, el motor gira en una dirección, y si se invierten las señales y se aplica un cero lógico, entonces el motor comenzará a girar en la otra dirección. Los pines EN1 y EN2 son responsables de encender cada canal. Los conectamos y los conectamos al “plus” de la fuente de alimentación del estabilizador. Dado que el microcircuito se calienta durante el funcionamiento y la instalación de radiadores en este tipo de carcasa es problemática, las patas GND garantizan la eliminación del calor; es mejor soldarlas en una almohadilla de contacto ancha. Eso es todo lo que necesitas saber sobre los controladores de motor por primera vez.

Sensores de obstáculos

Para que nuestro robot pueda navegar y no chocar con todo, le instalaremos dos sensores de infrarrojos. El sensor más simple consta de un diodo IR que emite en el espectro infrarrojo y un fototransistor que recibirá la señal del diodo IR. El principio es el siguiente: cuando no hay ningún obstáculo delante del sensor, los rayos IR no inciden en el fototransistor y este no se abre. Si hay un obstáculo frente al sensor, los rayos se reflejan en él y golpean el transistor: se abre y la corriente comienza a fluir. La desventaja de estos sensores es que pueden reaccionar de manera diferente a diferentes superficies y no están protegidos contra interferencias: el sensor puede activarse accidentalmente por señales extrañas de otros dispositivos. Modular la señal puede protegerte de interferencias, pero no nos ocuparemos de eso por ahora. Para empezar, eso es suficiente.


La primera versión de los sensores de mi robot.

firmware del robot

Para darle vida al robot, es necesario escribirle firmware, es decir, un programa que tomaría lecturas de los sensores y controlaría los motores. Mi programa es el más sencillo, no contiene estructuras complejas y será comprensible para todos. Las siguientes dos líneas incluyen archivos de encabezado para nuestro microcontrolador y comandos para generar retrasos:

#incluir
#incluir

Las siguientes líneas son condicionales porque los valores de PORTC dependen de cómo conectó el controlador del motor a su microcontrolador:

PUERTO.0 = 1;
PUERTO.1 = 0;
PUERTO.2 = 1;
PORTC.3 = 0;

El valor 0xFF significa que la salida será registrada. "1" y 0x00 es el registro. "0".

Con la siguiente construcción comprobamos si hay algún obstáculo delante del robot y de qué lado se encuentra:

Si (!(PINB y (1< {
...
}

Si la luz de un diodo IR incide en el fototransistor, entonces se instala un registro en la pata del microcontrolador. “0” y el robot comienza a retroceder para alejarse del obstáculo, luego gira para no volver a chocar con el obstáculo y luego avanza nuevamente. Como tenemos dos sensores, comprobamos la presencia de un obstáculo dos veces: a la derecha y a la izquierda, y así podemos saber de qué lado está el obstáculo. El comando "delay_ms(1000)" indica que pasará un segundo antes de que comience a ejecutarse el siguiente comando.

Conclusión

He cubierto la mayoría de los aspectos que te ayudarán a construir tu primer robot. Pero la robótica no termina ahí. Si montas este robot, tendrás muchas oportunidades de ampliarlo. Puede mejorar el algoritmo del robot, por ejemplo, qué hacer si el obstáculo no está en algún lado, sino justo en frente del robot. Tampoco estaría de más instalar un codificador, un dispositivo sencillo que le ayudará a posicionar y conocer con precisión la ubicación de su robot en el espacio. Para mayor claridad, es posible instalar una pantalla a color o monocromática que puede mostrar información útil: nivel de carga de la batería, distancia a obstáculos e información diversa de depuración. No estaría de más mejorar los sensores instalando TSOP (estos son receptores de infrarrojos que perciben una señal solo de una determinada frecuencia) en lugar de fototransistores convencionales. Además de los sensores infrarrojos, existen sensores ultrasónicos, que son más caros y también tienen sus inconvenientes, pero que últimamente han ido ganando popularidad entre los fabricantes de robots. Para que el robot responda al sonido, sería una buena idea instalar micrófonos con amplificador. Pero lo que creo que es realmente interesante es instalar la cámara y programar la visión artificial basada en ella. Hay un conjunto de bibliotecas especiales OpenCV con las que puedes programar el reconocimiento facial, el movimiento según balizas de colores y muchas otras cosas interesantes. Todo depende sólo de tu imaginación y habilidades.
Lista de componentes:
  • ATmega16 en paquete DIP-40>
  • L7805 en paquete TO-220
  • L293D en carcasa DIP-16 x2 uds.
  • Resistencias con una potencia de 0,25 W con clasificaciones: 10 kOhm x 1 ud., 220 Ohm x 4 uds.
  • Condensadores cerámicos: 0,1 µF, 1 µF, 22 pF
  • Condensadores electrolíticos: 1000 µF x 16 V, 220 µF x 16 V x 2 uds.
  • diodo 1N4001 o 1N4004
  • Resonador de cuarzo de 16 MHz
  • Diodos IR: dos de ellos servirán.
  • Fototransistores, también cualquiera, pero que responden solo a la longitud de onda de los rayos infrarrojos.
Código de firmware:
/*****************************************************
Firmware para el robot

Tipo MK: ATmega16
Frecuencia de reloj: 16.000000 MHz
Si su frecuencia de cuarzo es diferente, entonces deberá especificar esto en la configuración del entorno:
Proyecto -> Configurar -> Pestaña "Compilador C"
*****************************************************/

#incluir
#incluir

Vacío principal (nulo)
{
//Configurar puertos de entrada
//A través de estos puertos recibimos señales de sensores
DDRB=0x00;
//Activar resistencias pull-up
PUERTOB=0xFF;

//Configurar puertos de salida
//A través de estos puertos controlamos los motores
DDRC=0xFF;

// Bucle principal del programa. Aquí leemos los valores de los sensores.
//y controlar los motores
mientras (1)
{
//Sigamos adelante
PUERTO.0 = 1;
PUERTO.1 = 0;
PUERTO.2 = 1;
PORTC.3 = 0;
si (!(PINB y (1< {
//Retrocede 1 segundo
PORTC.0 = 0;
PUERTO.1 = 1;
PORTC.2 = 0;
PUERTO.3 = 1;
retraso_ms(1000);
//Envuélvelo
PUERTO.0 = 1;
PUERTO.1 = 0;
PORTC.2 = 0;
PUERTO.3 = 1;
retraso_ms(1000);
}
si (!(PINB y (1< {
//Retrocede 1 segundo
PORTC.0 = 0;
PUERTO.1 = 1;
PORTC.2 = 0;
PUERTO.3 = 1;
retraso_ms(1000);
//Envuélvelo
PORTC.0 = 0;
PUERTO.1 = 1;
PUERTO.2 = 1;
PORTC.3 = 0;
retraso_ms(1000);
}
};
}

Acerca de mi robot

Por el momento mi robot está casi completo.


Está equipado con una cámara inalámbrica, un sensor de distancia (tanto la cámara como este sensor están instalados en una torre giratoria), un sensor de obstáculos, un codificador, un receptor de señal del control remoto y una interfaz RS-232 para conectarse a un computadora. Funciona en dos modos: autónomo y manual (recibe señales de control del mando a distancia), la cámara también se puede encender/apagar de forma remota o por el propio robot para ahorrar batería. Estoy escribiendo firmware para la seguridad de apartamentos (transfiriendo imágenes a una computadora, detectando movimientos, caminando por las instalaciones).

Según tus deseos, publico un vídeo:

UPD. Volví a subir las fotos e hice algunas correcciones menores al texto.

Para crear su propio robot, no es necesario graduarse ni leer mucho. Simplemente utilice las instrucciones paso a paso que ofrecen los maestros de robótica en sus sitios web. En Internet se puede encontrar mucha información útil sobre el desarrollo de sistemas robóticos autónomos.

Diez recursos para el aspirante a robótico

La información del sitio le permite crear de forma independiente un robot con un comportamiento complejo. Aquí puede encontrar ejemplos de programas, diagramas, materiales de referencia, ejemplos ya preparados, artículos y fotografías.

Hay una sección separada en el sitio dedicada a principiantes. Los creadores del recurso ponen especial énfasis en los microcontroladores, el desarrollo de placas universales para robótica y la soldadura de microcircuitos. Aquí también puede encontrar códigos fuente de programas y muchos artículos con consejos prácticos.

El sitio tiene un curso especial "Paso a paso", que describe en detalle el proceso de creación de los robots BEAM más simples, así como sistemas automatizados basados ​​​​en microcontroladores AVR.

Un sitio donde los aspirantes a creadores de robots pueden encontrar toda la información teórica y práctica necesaria. Aquí también se publican una gran cantidad de artículos de actualidad útiles, se actualizan las noticias y puede hacer preguntas a expertos en robótica en el foro.

Este recurso está dedicado a una inmersión gradual en el mundo de la creación de robots. Todo comienza con el conocimiento de Arduino, después de lo cual al desarrollador novato se le informa sobre los microcontroladores AVR y sus análogos ARM más modernos. Las descripciones detalladas y los diagramas explican muy claramente cómo y qué hacer.

Un sitio sobre cómo hacer un robot BEAM con tus propias manos. Hay una sección completa dedicada a los conceptos básicos, además de diagramas lógicos, ejemplos, etc.

Este recurso describe muy claramente cómo crear un robot usted mismo, por dónde empezar, qué necesita saber, dónde buscar información y las piezas necesarias. El servicio también contiene una sección con blog, foro y noticias.

Un enorme foro en vivo dedicado a la creación de robots. Aquí se abren temas para principiantes, se discuten proyectos e ideas interesantes, se describen microcontroladores, módulos prefabricados, electrónica y mecánica. Y lo más importante, podrás plantear cualquier duda sobre robótica y recibir una respuesta detallada de los profesionales.

El recurso del robotista aficionado está dedicado principalmente a su propio proyecto "Homemade Robot". Sin embargo, aquí puede encontrar muchos artículos temáticos útiles, enlaces a sitios interesantes, conocer los logros del autor y discutir varias soluciones de diseño.

La plataforma de hardware Arduino es la más conveniente para desarrollar sistemas robóticos. La información del sitio le permite comprender rápidamente este entorno, dominar el lenguaje de programación y crear varios proyectos sencillos.

Elegir un microcontrolador para crear tu robot. Primero necesitas entender el concepto de qué es un microcontrolador y qué hace.

Microcontrolador es un dispositivo informático capaz de ejecutar programas (es decir, una secuencia de instrucciones).

A menudo se le denomina “cerebro” o “centro de control” del robot. Normalmente, el microcontrolador es responsable de todos los cálculos, la toma de decisiones y las comunicaciones.

Para poder comunicarse con el mundo exterior, el microcontrolador dispone de una serie de pines o clavijas para detectar eléctricamente la señal. Por lo tanto, la señal se puede poner al máximo (1/C) o al mínimo (0/apagado) usando una instrucción de programación. Estos pines también se pueden utilizar para leer señales eléctricas. Provienen de sensores u otros dispositivos y determinan si las señales son altas o bajas.

La mayoría de los microcontroladores modernos también pueden medir el voltaje de señales analógicas. Se trata de señales que pueden tener una gama completa de valores en lugar de dos niveles claramente definidos. Esto sucede usando un convertidor analógico digital (ADC). Como resultado, el microcontrolador puede asignar un valor numérico a la señal en forma de voltaje analógico. Este voltaje no es ni alto ni bajo y normalmente está en el rango de 0 a 10 voltios.

¿Qué puede hacer un microcontrolador?

Aunque los microcontroladores pueden parecer bastante limitados a primera vista, se pueden realizar muchas acciones complejas utilizando pines de señal alta y baja para programar un algoritmo. Sin embargo, es posible que un microcontrolador simplemente no pueda crear algoritmos muy complejos, como comportamiento inteligente o programas muy grandes, debido a recursos limitados y limitaciones de velocidad.

Por ejemplo, puedes programar una secuencia repetida para que las luces parpadeen. Entonces el microcontrolador enciende el nivel de señal alto, espera un segundo, lo baja, espera otro segundo y comienza de nuevo. La luz está conectada al pin de salida del microcontrolador y parpadeará sin cesar en un programa cíclico.


Asimismo, los microcontroladores se pueden utilizar para controlar otros dispositivos eléctricos. Principalmente, como unidades (cuando se conectan a un controlador de motor), dispositivos de almacenamiento (como tarjetas SD), interfaces WiFi o bluetooth, etc. Como consecuencia de esta increíble versatilidad, los microcontroladores se pueden encontrar en la vida cotidiana.

Casi todos los electrodomésticos o dispositivos electrónicos utilizan al menos un microcontrolador. Aunque se suelen utilizar varios microcontroladores. Por ejemplo, en televisores, lavadoras, paneles de control, teléfonos, relojes, hornos microondas y muchos otros dispositivos.

A diferencia de los microprocesadores (como la unidad central de procesamiento de las computadoras personales), un microcontrolador no requiere dispositivos periféricos. Como RAM externa o dispositivo de almacenamiento externo para el trabajo. Esto significa que, aunque un microcontrolador puede ser menos potente que sus homólogos de PC. Casi siempre es mucho más fácil y económico desarrollar circuitos y productos basados ​​en microcontroladores porque se requieren muy pocos componentes de hardware adicionales.

Es importante tener en cuenta que el microcontrolador sólo puede generar una cantidad muy pequeña de energía eléctrica a través de sus pines de salida. Esto significa que no es posible conectar un motor eléctrico potente, un solenoide, una iluminación grande o cualquier otra carga grande directamente al microcontrolador. Intentar hacer esto puede dañar el controlador.

¿Cuáles son las funciones más especializadas de un microcontrolador?

El hardware especial integrado en los microcontroladores permite a estos dispositivos hacer más que simples E/S digitales, cálculos básicos y toma de decisiones. Muchos microcontroladores admiten fácilmente los protocolos de comunicación más populares, como UART (RS232 u otro), SPI e I2C. Esta característica es increíblemente útil cuando se comunica con otros dispositivos como computadoras, sensores u otros microcontroladores.

Si bien estos protocolos se pueden implementar manualmente, siempre es mejor tener hardware integrado dedicado que se encargue de los detalles. Esto permite que el microcontrolador se concentre en otras tareas y mantiene limpio el programa.


Los convertidores de analógico a digital (ADC) se utilizan para convertir señales de voltaje analógicas en digitales. Allí la cantidad es proporcional a la magnitud del voltaje y este número luego se puede usar en el programa del microcontrolador. Para diferenciar la salida de energía intermedia de alta y baja, algunos microcontroladores tienen la capacidad de utilizar modulación de ancho de pulso (PWM). Por ejemplo, este método le permite cambiar suavemente el brillo del LED.

Finalmente, algunos microcontroladores tienen un regulador de voltaje integrado. Esto es bastante conveniente porque permite que el microcontrolador funcione con un amplio rango de voltaje. Por lo tanto, no es necesario que proporcione los valores de voltaje requeridos. También le permite conectar fácilmente una variedad de sensores y otros dispositivos sin una fuente de alimentación externa regulada adicional.

¿Analógico o digital?

Las señales de entrada y salida que se deben utilizar dependen de la tarea y las condiciones. Por ejemplo, si su tarea es simplemente encender o apagar algo, entonces todo lo que necesita es que la señal en el pin de entrada del microcontrolador sea digital. El estado binario del interruptor es 0 o 1. El nivel alto de la señal puede ser de 5 voltios y el nivel bajo, 0. Si necesita medir, por ejemplo, la temperatura, entonces necesita una señal de entrada analógica. A continuación, el ADC del microcontrolador interpreta el voltaje y lo convierte en un valor numérico.


¿Cómo programar microcontroladores?

La programación de microcontroladores se ha vuelto más fácil gracias al uso de entornos de desarrollo integrados (IDE) modernos con bibliotecas con todas las funciones. Cubren fácilmente todas las tareas más comunes y tienen muchos ejemplos de código listos para usar.

Hoy en día, los microcontroladores se pueden programar en una variedad de lenguajes de alto nivel. Se trata de lenguajes como C, C++, C#, Java, Python, Basic y otros. Por supuesto, siempre puedes escribir un programa en lenguaje ensamblador. Aunque esto es para usuarios más avanzados y con requerimientos especiales (con un toque de masoquismo). En este sentido, cualquiera debería poder encontrar el lenguaje de programación que mejor se adapte a sus gustos y experiencia previa en programación.

Programar microcontroladores es cada vez más fácil a medida que los fabricantes crean entornos de programación gráfica. Son iconos que contienen varias líneas de código. Los pictogramas están conectados entre sí. Como resultado, se crea un programa que es visualmente simple, pero que contiene una gran cantidad de código. Por ejemplo, una imagen podría representar el control del motor. El usuario sólo necesita colocar el icono donde sea necesario e indicar el sentido de giro y velocidad.


Las placas de microcontrolador desarrolladas son bastante cómodas de usar. Y son más fáciles de usar durante mucho tiempo. También proporcionan cómodas interfaces de programación y alimentación USB. Por tanto, es posible conectarse a cualquier ordenador moderno.

¿Por qué no utilizar una computadora estándar?

Obviamente, un microcontrolador es muy similar a un procesador de computadora. Si ese es el caso, ¿por qué no utilizar una computadora para controlar el robot? Entonces, ¿debería elegir una computadora de escritorio o un microcontrolador?


Básicamente, en los robots más avanzados, especialmente aquellos que implican cálculos y algoritmos complejos, el microcontrolador suele ser reemplazado (o complementado) por una computadora estándar. Una computadora de escritorio contiene una placa base, un procesador, la RAM del dispositivo (por ejemplo, un disco duro) y una tarjeta de video (integrada o externa).

Además, existen dispositivos periféricos como monitor, teclado, mouse, etc. Estos sistemas suelen ser más caros, físicamente más grandes y consumen más energía. Las principales diferencias se destacan en la siguiente tabla. Además, suelen tener más funcionalidades de las necesarias.

¿Cómo elegir el microcontrolador adecuado?

Si estás estudiando robótica, necesitarás un microcontrolador para cualquier proyecto de robótica. Para un principiante, elegir el microcontrolador adecuado puede parecer una tarea desalentadora. Especialmente considerando la gama, características técnicas y áreas de aplicación. Hay muchos microcontroladores diferentes disponibles en el mercado:

  • arduino
  • ÁTOMO Básico
  • BásicoX
  • lego ev3
  • y muchos otros

Para elegir el microcontrolador adecuado, hágase las siguientes preguntas:

¿Cuál es el microcontrolador más popular para mi aplicación?

Por supuesto, crear robots y proyectos electrónicos en general no es un concurso de popularidad. Es muy bueno si el microcontrolador tiene mucho apoyo de la comunidad. Y se utiliza con éxito en situaciones similares o incluso idénticas. Como resultado, esto puede simplificar enormemente la fase de diseño. De esta forma, podrás beneficiarte de las experiencias de otros usuarios, tanto aficionados como profesionales.

Los miembros de las comunidades de diseño de robots comparten resultados, códigos, imágenes y vídeos entre sí y hablan en detalle sobre éxitos e incluso fracasos. Todo esto son materiales accesibles y la oportunidad de recibir consejos de usuarios más experimentados. Por tanto, puede resultar muy valioso.

¿Su robot tiene algún requisito especial?

El microcontrolador debe poder realizar todas las acciones especiales de su robot para que las funciones se ejecuten correctamente. Algunas características son comunes a todos los microcontroladores (por ejemplo, la presencia de entradas y salidas digitales, la capacidad de realizar operaciones matemáticas simples, comparar valores y tomar decisiones).

Otros controladores pueden requerir hardware específico (por ejemplo, ADC, PWM y compatibilidad con protocolos de comunicación). También se deben tener en cuenta los requisitos de memoria y velocidad, así como el número de pines.

¿Qué componentes están disponibles para un microcontrolador en particular?

Quizás su robot tenga requisitos especiales o requiera un sensor o componente específico. Y esto es fundamental para su proyecto. Por lo tanto, elegir un microcontrolador compatible es, por supuesto, muy importante.

La mayoría de los sensores y componentes pueden comunicarse directamente con muchos microcontroladores. Aunque algunos componentes están diseñados para interactuar con un microcontrolador específico. Quizás sean únicos e incompatibles con otros tipos de microcontroladores.

¿Qué nos depara el futuro?

El precio de las computadoras está cayendo en picado y los avances tecnológicos las están haciendo más pequeñas y más eficientes. Como resultado, las computadoras de placa única se han convertido en una opción atractiva para los robots. Pueden ejecutar un sistema operativo completo (Windows y Linux son los más comunes).

Además, las computadoras pueden conectarse a dispositivos externos como dispositivos USB, pantallas LCD, etc. A diferencia de sus antecesores, estas computadoras de placa única tienden a consumir significativamente menos energía.

Parte practica

Para seleccionar un microcontrolador, hagamos una lista de los criterios que necesitamos:

  • El costo del microcontrolador debe ser bajo.
  • Debe ser fácil de usar y tener buen soporte.
  • La disponibilidad de documentación accesible es importante
  • Debe programarse en un entorno gráfico.
  • Debe ser popular y tener una comunidad de usuarios activa.
  • Dado que nuestro robot utilizará dos motores y varios sensores, el microcontrolador necesitará al menos dos puertos para controlar los motores y varios puertos para conectar sensores. También debería ser posible ampliar el número de dispositivos conectados en el futuro.

Cumple estos criterios módulo EV3 del set Lego Mindstorms EV3.


Descripción general del bloque EV3

26.01.2011, 09:18
Fuente:

Normalmente, en los artículos intento presentar el material en el orden de su desarrollo, pero creo que no es así. Por lo tanto, nos saltaremos las etapas de diseño de un diagrama de circuito, diseño de PCB y todo lo demás. En la Figura 1 vemos qué tipo de “desgracia” sufrí.

A primera vista, parece sólo un montón de hierro, aparatos electrónicos y cables. Probablemente esto se deba a que se utilizaron piezas de materiales disímiles. Vamos a resolverlo.

Ahora todo está en orden. El microcontrolador Attiny2313 recibe una señal de obstáculo (uno lógico o cero) de dos sensores infrarrojos. Luego, según el firmware, el microcontrolador controla el chip controlador del motor L293D (corriente de control de hasta 1 amperio). La figura 3 muestra una fotografía de un robot invertido.

La base del diseño de un robot casero es una tira de metal doblada en forma de trapezoide. El ángulo de flexión es de aproximadamente 120°. Es de fundamental importancia que se obtenga la misma curvatura en ambos lados, de lo contrario el robot no se moverá en línea recta. Aunque, por otro lado, lo que un ingeniero mecánico o electrónico hizo mal a veces puede ser corregido por un programador, por ejemplo, usando PWM para lograr el movimiento lineal del robot.

Todos sabemos por el curso de geometría de la escuela que un plano está formado por tres puntos o por una línea recta y un punto en el espacio. El tercer punto es una rueda de rodillos que gira libremente.

Los receptores de sensores IR y fototransistores están ubicados en la parte inferior para reducir la iluminación y minimizar los falsos positivos. Los propios sensores de infrarrojos están montados sobre bisagras móviles, lo que le permite ajustar el área de escaneo. Por cierto, ¿fue interesante la reacción de mi gato ante el robot que se arrastraba en el pasillo? Mi gato es negro. Configuré los sensores IR en papel tapiz gris, de modo que el robot giró frente al gato casi en el último momento, y el gato retrocedió un paso con un fuerte silbido.

La siguiente modificación para el robot fueron sensores de infrarrojos en su vientre, lo que le permitió seguir una línea negra dibujada en papel blanco con un marcador. La implementación requirió tres sensores y un comparador en el chip LM339N para aliviar el microcontrolador. Una desventaja significativa resultó ser el ajuste previo necesario de los sensores mediante resistencias de ajuste, dependiendo de la iluminación de la habitación.

PD La recompensa por perder el tiempo creando un dispositivo inútil, tal vez, será la claridad del funcionamiento del microcontrolador y la memoria que acumulará polvo en el estante hasta que el hijo de alguien pueda estar interesado en él.




Arriba