Rpibot - Acerca del aprendizaje de robótica
Esta es una plataforma de robot móvil simple y barata diseñada para aprender y expandirse. Expliqué mi concepto y también mis problemas que resolví.
Soy un ingeniero de software integrado en una empresa automotriz alemana. Comencé este proyecto como una plataforma de aprendizaje para sistemas integrados. El proyecto se canceló temprano pero lo disfruté tanto que continué en mi tiempo libre. Este es el resultado ...
Tenía los siguientes requisitos:
- Hardware simple (el enfoque es el software)
- Hardware económico (alrededor de 100 €)
- Ampliable (algunas opciones ya forman parte de la descripción)
- Suministro de voltaje para todos los componentes desde una sola fuente de 5 V (banco de energía)
En realidad, no había un objetivo aparte del aprendizaje. La plataforma se puede utilizar para aprendizaje, vigilancia, concursos de robótica,…
No es un tutorial para principiantes. Necesita conocimientos básicos sobre:
- Programación (Python)
- Electrónica básica (para conectar módulos juntos con el voltaje correcto)
- Teoría básica de control (PID)
Finalmente, probablemente enfrentará problemas como yo. Con algo de curiosidad y perseverancia, pasará por el proyecto y resolverá los desafíos. Mi código es lo más simple posible y las líneas de código críticas están comentadas para dar pistas.
El código fuente completo y los archivos están disponibles aquí:https://github.com/makerobotics/RPIbot
Suministros:
Mecánica
- 1x tablero de madera contrachapada (tamaño A4, 4 mm de grosor)
- 3 tornillos y tuercas M4 x 80
- 2x Motorreductores con eje secundario de salida para encoder. Ruedas.
- 1x rueda libre
- 1x montaje de cámara de giro e inclinación (opcional)
Electrónica
- 1x Raspberry Pi Zero con cabezal y cámara
- 1x servocontrol PCA 9685
- 2x circuito y rueda codificadora óptica
- 1x cables de puente hembra
- 1x banco de energía USB
- 1x controlador de motor dual DRV8833
- 2x Micro servos SG90 para giro e inclinación de la cámara (opcional)
- 1x MPU9250 IMU (opcional)
- 1x sensor de distancia ultrasónico HC-SR04 (opcional)
- 1x tablero perforado y alambre de soldadura, encabezados,…
Paso 1:Construya el chasis
No soy un buen diseñador mecánico. Además, el objetivo del proyecto es no pasar demasiado tiempo en el chasis. De todos modos, definí los siguientes requisitos:
- Materiales baratos
- Montaje y desmontaje rápido
- Ampliable (p. ej., espacio para sensores añadidos)
- Materiales ligeros para ahorrar energía para la electrónica
Se puede hacer un chasis fácil y económico de madera contrachapada. Es fácil de mecanizar con una sierra de marquetería y un taladro manual. Puede pegar pequeñas piezas de madera para crear los soportes de sensores y motores.
Piense en la sustitución de componentes defectuosos o la depuración eléctrica. Las partes principales deben fijarse con tornillos para que sean reemplazables. Una pistola de pegamento caliente puede ser simple, pero probablemente no sea la mejor manera de construir un chasis ... Necesitaba mucho tiempo para pensar en un concepto sencillo para desmontar las piezas fácilmente. La impresión 3D es una buena alternativa, pero puede resultar bastante cara o llevar mucho tiempo.
La rueda libre es finalmente muy ligera y fácil de montar. Las alternativas eran todas pesadas o estaban llenas de fricción (probé un par de ellas antes de encontrar la última). Solo tuve que cortar un espaciador de madera para nivelar la rueda libre de la cola después de montar las ruedas principales.
Propiedades de la rueda (para cálculos de software)
Circunferencia:21,5 cm
Pulsos:20 pulsos / rev.
Resolución:1,075 cm (finalmente 1 pulso es de aproximadamente 1 cm, lo cual es fácil para los cálculos de software)
Paso 2:Electrónica y cableado
El proyecto utiliza diferentes módulos como se muestra en el diagrama.
Raspberry Pi Zero es el controlador principal. Está leyendo los sensores y controlando los motores mediante una señal PWM. Está conectado a una PC remota por wifi.
El DRV8833 es un puente en H de doble motor. Proporciona la corriente suficiente a los motores (lo que la Raspberry Pi no puede hacer ya que las salidas solo pueden entregar algunos mA).
El codificador óptico están proporcionando una señal de forma cuadrada cada vez que la luz pasa por las ruedas del codificador. Usaremos las interrupciones de HW de la Raspberry Pi para obtener la información cada vez que la señal cambie.
El pca9695 es una placa de control de servo. Se comunica mediante un bus serie I2C. Esta placa proporciona las señales PWM y el voltaje de suministro que controlan los servos de giro e inclinación de la leva.
El MPU9265 es una aceleración de 3 ejes, una velocidad de rotación angular de 3 ejes y un sensor de flujo magnético de 3 ejes. Lo usaremos principalmente para obtener el rumbo de la brújula.
Los diferentes módulos están todos conectados entre sí mediante un cable de puente. Una placa de pruebas actúa como despachador y proporciona voltajes de suministro (5 V y 3,3 V) y tierra. Todas las conexiones se describen en la tabla de conexiones (ver anexo). Conectar 5V a una entrada de 3.3V probablemente destruirá su chip. Tenga cuidado y compruebe todo su cableado dos veces antes de suministrar (aquí se debe considerar especialmente el codificador). Debe medir los voltajes de suministro principal en el tablero de despacho con un multímetro antes de conectar todos los tableros. Los módulos se fijaron mediante tornillos de nailon en el chasis. También aquí estaba feliz de tenerlos reparados pero también removibles en caso de mal funcionamiento.
La única soldadura fue finalmente los motores y la placa de pruebas y los cabezales. Para ser honesto, me gustan los cables de puente, pero pueden provocar una conexión suelta. En algunas situaciones, algunas supervisiones de software pueden ayudarlo a analizar las conexiones.
Fuente:Rpibot - Acerca de la robótica de aprendizaje
Proceso de manufactura
- Reloj de arena
- Sueño de Python ()
- Cómo abordar la curva de aprendizaje de PID
- Las 9 aplicaciones de aprendizaje automático que debes conocer
- ¿Cuándo es el momento de pasar de Raspberry Pi?
- Comprender de qué se trata el hundimiento de troquel EDM
- Acerca de Motores Industriales y Aplicaciones
- Acerca de la instalación de guías lineales
- Cuéntame sobre los indicadores digitales
- Más información sobre el conformado de chapa
- Never Stop Learning Festival:Todo sobre los compresores de aire