GOduino III - controlador del robot basada en Arduino protoboard-ambiente (2 / 6 paso)

Paso 2: Controlar 2 DC cepillado motores

El GOduino III utiliza el L293D-puente en h (conductor del motor) que es un IC de inmersión robusto y de bajo costo que simplifica el diseño de circuito. Tiene protección incorporada de la EMF y apagado térmico en el caso de motores tirón demasiado actual que también podrían dañar el L293D.

Un L293D solo puede controlar 2 motores cepillados con pico/puesto actual hasta 600mA por motor. Pico/puesto actual es la corriente que el motor dibuja impedimento de girar mientras que todavía funciona.

Si cuestas dos ICs L293D, puede doble la corriente de la III GOduino de 1.2A por motor. Esto es más que suficiente para la mayoría de los motores DC para pequeños robots de energía.

Chip y Solarbotic, por ejemplo, ofrecen una amplia selección de motores que funcionan dentro de la clasificación de la corriente del L293D.

El circuito de lógica L293D es alimentado por el regulador de potencia de GOduino III (7805) pero el circuito de control del motor del L293D es alimentado directamente de la batería.

Cada motor se alimenta del L293D mediante un encabezado macho 2 pines (Motor 1 y Motor 2). El orden de conexión de un motor de polos a 2 pines decide el sentido de giro del motor. También puede cambiar la dirección de rotación del motor de su sketch de Arduino.

Consejo: La soldadura un 0.1uF condensador de cerámica a través de los polos de su cepillado motor de la C.C. para la estabilidad agregada del circuito. Acortar los cables en el condensador lo más posible para mejor respuesta y para evitar cortos eléctricos accidentales.

Pernos de ATmega328 el GOduino III se asignan al puente de h L293D, de esta manera (usando Arduino pin sistema de numeración):

Motor 1 Pole1---> Arduino Pin 4
Motor 1 Polo 2---> Pin Arduino 2
1 habilitar motor---> Arduion Pin 5 (PWM)

Motor 2 Pole1---> Arduino Pin 7
Motor Pole2 2---> Arduino Pin 8
Activar 2 motor---> Arduion Pin 6 (PWM)

LA BIBLIOTECA DE SOFTWARE

Escribí la biblioteca motor Goduino para eliminar la necesidad de memorizar el alta, baja pin salida secuencias necesarias para dar vuelta o parar un motor.

Hay 4 funciones en la biblioteca del motor de Goduino:

  • motorSpeed (mot1speed, mot2speed) establece la velocidad de ambos motores.
  • motorStop(motorNum) para un motor.
  • motorForward(motorNum) hace girar un motor en una dirección.
  • motorBack(motorNum) hace girar un motor en la dirección contraria.

PARÁMETROS

Hay dos cabezales macho 2 pines en la placa de GOduino III: Motor 1 y Motor 2. Las funciones en la biblioteca de Goduino motor que toma un solo parámetro, es 1 para el Motor 1 o 2 para Motor 2.

La única función que toma dos parámetros es la función de motorSpeed(). El primer parámetro ajusta la velocidad para el Motor 1 y el segundo establece la velocidad para Motor 2. La velocidad máxima es de 1023. Esto significa la velocidad máxima de su motor puede aumentar o disminuir en incrementos de 1023.

La biblioteca de GOduino III y otros archivos de apoyo pueden descargarse desde Github:
https://github.com/techbitar/goduino

Puede utilizar el código de ejemplo (motortest.ino) incluido en la biblioteca de Goduino en la carpeta de ejemplos para probar y sincronizar la dirección de rotación del motor. El video muestra el III GOduino ejecutando la rutina de la prueba. Desde el IDE de Arduino abierto:

Archivos/ejemplos/Goduino/motortest

Nota: he evitado usar Arduino Uno los pines 3 y 11 porque son utilizados por la función tone() de Arduino. Así que ahora puedo construir un robot que hace ruido.  (aplausos).

Este es el código de prueba utilizado en el video. Por favor revise mi Github para las actualizaciones y correcciones de errores:

/*
Archivo: motortest.ino - sketch de ejemplo para probar el control del robot GOduino III.
Creado por: Hazim Bitar (techbitar arroba gmail punto com)
Fecha: 23 de agosto, 20012.
Versión: 0.11 beta
Licencia: Liberado al dominio público.
*/

#include < Goduino.h >

Goduino myrobot;

void setup() {}
Serial.Begin(9600);
Serial.println ("Set velocidad de ambos motores a 100 (máximo 1024)");
myrobot.motorSpeed(50,50);
}

void loop() {}

Serial.println ("fase de prueba I - girar dos motores juntos en la misma dirección");
Delay(3000);

Serial.println ("Spin ambos motores en una sola dirección (3 seg)");
myrobot.motorForward(1);
myrobot.motorForward(2);
Delay(3000);

Serial.println ("parada de ambos motores para 1 seg");
myrobot.motorStop(1);
myrobot.motorStop(2);
Delay(1000);

Serial.println ("Spin ambos motores en dirección opuesta (3 seg)");
myrobot.motorBack(1);
myrobot.motorBack(2);
Delay(3000);

Serial.println ("parada de ambos motores para 1 seg");
myrobot.motorStop(1);
myrobot.motorStop(2);
Delay(1000);

//=================================================================================

Serial.println ("prueba fase II - SPIN cada MOTOR OPPOSTE del otro");
Delay(3000);

Serial.println ("giro 1 motor en una dirección mientras motor 2 en la dirección opuesta (3 seg)");
myrobot.motorForward(1);
myrobot.motorBack(2);
Delay(3000);

Serial.println ("parada de ambos motores para 1 seg");
myrobot.motorStop(1);
myrobot.motorStop(2);
Delay(1000);

Serial.println ("giro 2 motor en una dirección mientras motor 1 en dirección opuesta (3 seg)");
myrobot.motorBack(1);
myrobot.motorForward(2);
Delay(3000);

Serial.println ("parada de ambos motores para 1 seg");
myrobot.motorStop(1);
myrobot.motorStop(2);
Delay(1000);

//=================================================================================

Serial.println ("prueba fase III - SPIN cada MOTOR mientras que el otro está parado");
Delay(3000);

Serial.println ("Spin 1 motor en una dirección mientras motor 2 está parado (3 seg)");
myrobot.motorForward(1);
myrobot.motorStop(2);
Delay(3000);

Serial.println ("parada de ambos motores para 1 seg");
myrobot.motorStop(1);
myrobot.motorStop(2);
Delay(1000);

Serial.println ("Spin motor 2 en una dirección mientras que el motor 1 es detenido (3 seg)");
myrobot.motorForward(2);
myrobot.motorStop(1);
Delay(3000);

Serial.println ("parada de ambos motores para 1 seg");
myrobot.motorStop(1);
myrobot.motorStop(2);
Delay(1000);

Serial.println ("Spin en la dirección contraria del motor 1 motor 2 estando parado (3 seg)");
myrobot.motorBack(1);
myrobot.motorStop(2);
Delay(3000);

Serial.println ("parada de ambos motores para 1 seg");
myrobot.motorStop(1);
myrobot.motorStop(2);
Delay(1000);

Serial.println ("Spin motor 2 en la dirección contraria mientras que el motor 1 es detenido (3 seg)");
myrobot.motorBack(2);
myrobot.motorStop(1);
Delay(3000);

Serial.println ("parada de ambos motores para 1 seg");
myrobot.motorStop(1);
myrobot.motorStop(2);
Delay(1000);

}

Artículos Relacionados

Guía paso a paso al controlador de robot mago Micro (Arduino compatible)

Guía paso a paso al controlador de robot mago Micro (Arduino compatible)

el Micro mago de DAGU es un bajo costo Arduino compatible controlador diseñado especialmente para principiantes que quieren construir un pequeño robot. El Consejo tiene una serie de accesorios útiles construido en forma que en la mayoría de los casos
YourDuino: Básico Arduino-Compatible evitando colisiones del Robot

YourDuino: Básico Arduino-Compatible evitando colisiones del Robot

Cómo construir un Robot básico de Arduino-Compatible de colisión-evitandoNota: Ver los bocetos de prueba de Software de Arduino disponibles y evitar colisiones Software aquí (Click)Nota: Más adelante se necesitará tener el Arduino "IDE" sistema
Utilice un controlador de PS3 para controlar un robot NXT de Arduino

Utilice un controlador de PS3 para controlar un robot NXT de Arduino

actualización:Lo he arreglado un par de ejecución errores con el paquete de datos, y he modificado la biblioteca NXTI2CDevice para que sea compatible con Arduino 1.0.El archivo zip adjunto ha1. un nuevo sketch de Arduino2. un nuevo boceto de procesam
Controladores para Robots baratos 2 del motor

Controladores para Robots baratos 2 del motor

Hola y Bienvenidos! Para aquellos que no han leído alguno de mis I'bles antes y para aquellos de ustedes familiarizados con mi serie de Robots baratos, yo soy todo sobre la construcción de robots baratos usando materiales simples que se pueden encont
Consola de Control del Robot Arduino programa con visual basic

Consola de Control del Robot Arduino programa con visual basic

Vamos a hacer nuestra consola de robot para administrar este proyecto con Visual Basic.Gestionamos nuestro robot vía Bluetooth.Herramientas necesarias para nuestro formulario:13 tecla de número2 combobox número1 pieza texbox1 pedazo de GroupBox1 piez
WireBeings beta: un 3D impreso y Robot expandible para Arduino con Android de Control

WireBeings beta: un 3D impreso y Robot expandible para Arduino con Android de Control

http://wirebeings.com/Vea video aquí:Este es un buen proyecto que puede continuar y modificar como aprendes más proyectos de Arduino. Este Instructable pasa a través de la construcción completa para el robot de tecnología bluetooth en la primera mita
Con Bluetooth Robot controlado por Arduino mediante aplicación Android

Con Bluetooth Robot controlado por Arduino mediante aplicación Android

Después de intentar robot seguimiento remoto por mando a distancia IR. He proceder para controlar la misma plataforma del robot por BluetoothControlador Arduino a través de la aplicación para Android. Este método es más confiable, más distancia, mejo
(Sin embargo, otro) Chasis de plataforma-un Robot robótica Arduino DIY de piezas de repuesto

(Sin embargo, otro) Chasis de plataforma-un Robot robótica Arduino DIY de piezas de repuesto

Dio a mi sobrino un kit del arrancador Arduino hace unos meses. Le pregunté a mi hermana lo que estaba haciendo con él y dijo que había tenido algunos problemas de calcular hacia fuera. Veremos le la semana después de Navidad, así que le dije a traer
Obstáculos del Robot Qtechknow

Obstáculos del Robot Qtechknow

¿Has pensado de controlar su FuzzBot de forma inalámbrica? ¿Quieres hacer un real - life video juego? ¿Quieres aprender sobre la tecnología detrás de NFC y RFID? -el Qtechknow Robot de obstáculos cómo - a guía es para usted!Por favor votar para mí (e
Cómo hacer un control de voz, control de dirección, control remoto, robot Android y arduino, (3 en uno)

Cómo hacer un control de voz, control de dirección, control remoto, robot Android y arduino, (3 en uno)

Esta es una versión simplificada de cualquier otro robot de control de voz, No compleja codificación fácil codificación con algoritmo fácil de entender.La aplicación está desarrollada de tal manera que convertir el comando de voz a texto y el texto d
Reguladores de voltaje de conmutación basada en Arduino

Reguladores de voltaje de conmutación basada en Arduino

Convertidores DC a DC se utilizan para convertir eficientemente los voltajes DC. Tienen una eficiencia de conversión de hasta un 95% haciéndolos útiles de tiras LED, luces de bicicleta, cargadores de baterías y aparatos con alimentación solares. Un c
Los músculos de aire: Hacer un músculo Artificial de control del Robot

Los músculos de aire: Hacer un músculo Artificial de control del Robot

dos formas de hacer que un controlador que puede controlar los músculos de aire artificial. El pic de intro muestra la versión más elaborada que puede controlar hasta 11 músculos de aire usando las neuronas robot. Se muestra activando a una garra de
CONTROLADOR de carga SOLAR de ARDUINO (versión 2.0)

CONTROLADOR de carga SOLAR de ARDUINO (versión 2.0)

Hace un año, comencé a construir mi propio sistema solar para proporcionar energía para mi casa. Inicialmente hice un regulador LM317 base y un metro de la energía para el sistema de vigilancia. Finalmente hice controlador de carga PWM. En abril de 2
Construya su propio ROBOT insecto utilizando ARDUINO y SERVO

Construya su propio ROBOT insecto utilizando ARDUINO y SERVO

Hola, estoy con una instructalble más. Voy a enseñarte cómo construir un robot insecto utilizando Arduino y servomotores. Suena cool, verdad?. ¿Qué parece el uso de este robot? Debido a su tamaño compacto que puede ser utilizados en defensa, pueden t