Control de dirección y velocidad de Motor DC con frambuesa Pi (1 / 1 paso)

Paso 1: Motor de dirección de Control de DC a través de RPi

Control de motor DC mediante RPi

Nuestra siguiente tarea es controlar un motor DC usando el script de python y cabeceras GPIO en frambuesa pi y esto va a crear una imagen de 'Cómo funciona el robot' en nuestra mente. Puede controlar ventilador de la habitación según el tiempo fuera (como saben el uso de sensores con rpi). Haciendo todo esto le hará entender las reglas básicas de la robótica.

Vamos a motor control un DC que se necesita al menos 400 mA de corriente para funcionar correctamente, pero nuestra RPi puede suministrar casi 20mA solamente. Significa que tenemos que conectar una fuente de alimentación DC externo. No es un problema! Tenemos pequeñas baterías de 6V y 9V disponible en el mercado.

ADVERTENCIA: No conecte un motor directamente a la frambuesa Pi, dañará su frambuesa Pi.

Obviamente se requiere un controlador de motor IC para controlar la funcionalidad del motor (al girarlo en sentido horario o antihorario). Es mejor comenzar con controlador de motor L293D IC.

Requisitos:

· Un Pi de frambuesa con tarjeta SD preinstalada con Raspbian

· Un protoboard

· Un controlador de motor L293D IC

· Cables de puente (macho a macho) y hembra a macho

· Un motor de DC de 6v

· Una batería de 6V o 9V.

L293D

Es un controlador de motor IC podemos controlar 2 motores a la vez de él. A continuación se muestra su configuración de pines. Es un IC que incluye (a un costado) un Vcc (al encender) de 16 pines, un pin GND, un pin de activación (on y off un motor), dos entradas correspondientes a dos salidas.

Conexiones:

· Primero conecte el pin de Vcc del L293D a 5V (3, 3V también puede ser uso)

· Ahora Conecte los motivos

· Estamos usando 2,3,4 GPIO para el IC de control. (GPIO-02 y 03 de GPIO como entrada 1 y 2 respectivamente)

· Conectarse GPIO-04 respectivo pin Enable del IC.

· Ahora finalmente Conecte salida 1 & 2 a ambos la conexión del motor como se muestra en la figura.

Código Python:-

importación RPi.GPIO como GPIO

de importación sueño

GPIO.setmode (GPIO. BCM)

Motor1A = 02

Motor1B = 03

Motor1E = 04

GPIO.setup (Motor1A, GPIO. HACIA FUERA)

GPIO.setup (Motor1B, GPIO. HACIA FUERA)

GPIO.setup (Motor1E, GPIO. HACIA FUERA)

Imprimir "El Motor va a empezar"

GPIO.output (Motor1A, GPIO. # ALTA) para funcionar el motor en sentido horario

GPIO.output (Motor1B, GPIO. # BAJO) poner alto a girar el motor en sentido antihorario

GPIO.output (Motor1E, GPIO. # ALTA) debe ser siempre alto para arrancar el motor

Sleep(5)

Imprimir "Parada motor"

GPIO.output (Motor1E, GPIO. # BAJO) para parar el motor

GPIO.cleanup()

Después de ejecutar el código anterior el motor empezará a girar en dirección a la derecha durante 5 segundos. Modificando el código anterior puede hacer revertirla. Ahora podemos hacer un coche con dos o cuatro motores.

Control de velocidad de motor DC mediante RPi

Como saben algunos de los lugares que necesita también controlar la velocidad de motores. Del tema anterior se entiende el control de encendido y apagado de los motores, pero eso no es suficiente derecho?? Ahora si tiene una pregunta en tu mente que cómo podemos producir voltaje analógico de pines GPIO de RPi. No hay problema porque podemos producir pulsos de voltaje de él por medio de PWM (modulación de anchura de pulso) y de control de voltaje de la salida del pin GPIO.

Modulación de anchura de pulso

Es un proceso muy simple que podemos controlar la frecuencia del voltaje de la fuente. Módulo PWM está disponible para los GPIO en RPi y como la conocemos

Período de tiempo = 1/frecuencia

Si selecciono una frecuencia de 100Hz que significa el período de tiempo es 10m seg (voltaje es triged a 'Alto' para m 10 seg). Nuestra batería de suministro de 9V al motor y para reducir la velocidad que tenemos para reducir esta tensión. Por lo tanto si queremos reducir la velocidad a la mitad que la que tenemos que cambiar el tiempo (es el porcentaje del período de tiempo para que voltaje es alto) a 50.

Voltaje suministrado al motor está controlando por pin Enable del motor controlador IC - L293N así que sólo tenemos que el PWM se aplica al pin Enable para variar la velocidad. El bramido es el código de python para entender PWM y que necesita la conexión por encima en el tema anterior (control de motor DC mediante RPi).

>>> importación RPi.GPIO como biblioteca de GPIO # importación GPIO

>>> de tiempo importar sueño

>>> GPIO.setmode (GPIO. BCM)

>>> Motor1A = # 02 conjunto GPIO-02 entrada 1 de la IC de controlador

>>> Motor1B = # 03 set GPIO-03 como entrada 2 de la IC de controlador

>>> Motor1E = # 04 set GPIO-04 como activar pin 1 de la IC de controlador

>>> GPIO.setup (Motor1A, GPIO. HACIA FUERA)

>>> GPIO.setup (Motor1B, GPIO. HACIA FUERA)

>>> GPIO.setup (Motor1E, GPIO. HACIA FUERA)

>>> pwm = GPIO. Pin PWM(04,100) # de configuración Enable significa GPIO-04 para PWM

>>> pwm.start(50) # comenzando con 50% tiempo

>>> Imprimir "Seguir adelante"

>>> GPIO.output (Motor1A, GPIO. ALTA)

>>> GPIO.output (Motor1B, GPIO. BAJO)

>>> GPIO.output (Motor1E, GPIO. ALTA)

>>> sleep(2)

# esto funcionará el motor hacia adelante durante 2 segundos con 50% de velocidad.

>>> pwm. ChangeDutyCycle(80) # tiempo aumento a 80

>>> Imprimir "Ir hacia atrás"

>>> GPIO.output (Motor1A, GPIO. ALTA)

>>> GPIO.output (Motor1B, GPIO. BAJO)

>>> GPIO.output (Motor1E, GPIO. ALTA)

>>> sleep(2)

# Esto ejecutará su motor en la dirección contraria para 2 segundos con un 80% de la velocidad mediante el suministro de 80% de la tensión de la batería

>>> Imprimir "Detener ahora"

>>> GPIO.output (Motor1E, GPIO. BAJO)

>>> parada de # pwm.stop() PWM de GPIO de salida es necesario

>>> GPIO.cleanup()

Espero que funciona para usted!

Artículos Relacionados

Control de velocidad de Motor DC con PWM

Control de velocidad de Motor DC con PWM

este es uno de los circuitos más eficaces utilizados para manejar la velocidad del motor DC con la ayuda de modulación de anchura de pulso. En este circuito, el motor de la C.C. es operado por un circuito integrado 555. El IC 555 en este circuito est
Arduino Nano y Visuino: medir la velocidad del Motor (RPM) con optoacoplador y Encoder de disco

Arduino Nano y Visuino: medir la velocidad del Motor (RPM) con optoacoplador y Encoder de disco

Al construir un coche de la robusteza, es importante controlar la velocidad de la rotación de las ruedas. Antes de que podemos controlar la velocidad sin embargo, necesitamos ser capaces de medirlo. Una de las maneras más populares y más fácil de med
Cómo controlar el motor servo con arduino y la ventana de monitoreo serial

Cómo controlar el motor servo con arduino y la ventana de monitoreo serial

Un servomotor es un actuador que permite un control preciso de posición angular, velocidad y aceleración. Consiste en un adecuado motor acoplado a un sensor de retroalimentación de posición. También requiere un controlador relativamente sofisticado,
Velocidad de control de motor DC con 8051

Velocidad de control de motor DC con 8051

Hola amigos este es mi 3er año se proyecto " control de velocidad de motor DC" que pude quisiera compartir con ustedes. En este aprenderás cómo interfaz LCD, teclado hexadecimal y motor. El código está escrito en la Asambleapara simplificar he p
Velocidad del motor DC de Arduino y dirección L293D

Velocidad del motor DC de Arduino y dirección L293D

Este instructivo le guiará a través de las piezas y los pasos para controlar un motor Dc velocidad y dirección con la ayuda de un controlador de motor L293D puente H dual para arduino.El conductor del motor tiene dos canales que significa que pueden
CONTROL velocidad del MOTOR paso a paso con LABVIEW y ARDUINO

CONTROL velocidad del MOTOR paso a paso con LABVIEW y ARDUINO

Esto hice en Proteusu CONTROL paso a paso MOTOR velocidad con LABVIEW y ARDUINO...!!!! wolaaPaso 1: Este Tutorial es:> Usando Labview interfaz Arduino al PC vía puerto del USB.> Uso de Labview para enviar datos que describe la velocidad del Motor a
El sistema de Control de velocidad del Motor inalámbrico NRF24L01 con Arduino

El sistema de Control de velocidad del Motor inalámbrico NRF24L01 con Arduino

Equipo de ICStation presentamos el sistema NRF24L01 Wireless prioridades de Control de velocidad Motor funciona bajo voltaje de 5V DC. Utiliza el Módulo inalámbrico de NRF24L01 para transmitir datos de control de velocidad y el Sensor de pasillo para
Basic (PWM) Control de velocidad del Motor utilizando el 555 temporizador ICs

Basic (PWM) Control de velocidad del Motor utilizando el 555 temporizador ICs

Se trata de la primera parte de se supone que un instructable sobre control de velocidad de un motor DC con 555 ICs de contador de tiempo para atender a aquellos que todavía están empezando a hacer electrónica un hobby y principiantes como yo de una
Potenciómetro de control de velocidad del motor DC de Arduino

Potenciómetro de control de velocidad del motor DC de Arduino

Este instructivo le guiará sobre cómo controlar la velocidad de un motor Dc con un potenciómetro y un arduino...Paso 1: Lista de piezas 1) Arduino2) motor D.C.3) NPN transistor TIP1204) diodo rectificador deresitors 3 * 220 Ohmios 5)6) potenciometro
Monitor serial del control de la velocidad del motor de Arduio Dc... (no l293d)

Monitor serial del control de la velocidad del motor de Arduio Dc... (no l293d)

Este instructable le mostrará cómo controlar la velocidad de un motor dc con pines PWM del arduino y monitor serie.Paso 1: Lista de piezas 1) Arduino uno2) motor de la c.c. pequeño3) 270ohms resistor o 220ohms o 330 ohmios (nada abajo ik y por encima
Hacer un regulador PWM de velocidad del Motor

Hacer un regulador PWM de velocidad del Motor

Microcontroladores como Arduinos son una gran manera para controlar tus proyectos de electronica. Desafortunadamente los pernos digitales tienen una salida máxima de 40 mA, y esto no es suficiente para alimentar la mayoría de los motores. Esto es don
Control de motor DC con Bluetooth

Control de motor DC con Bluetooth

El propósito de este proyecto consisten en el control de un motor DC con un Smartphone. Cambiará el speedo del motor DC. Se realizará la comunicación entre el motor de la C.C. y el teléfono inteligente utiliza un módulo Bluetooth conectado a un módul
Control de motor servo con 1Sheeld

Control de motor servo con 1Sheeld

Si quieres control de motor servo con tu móvil sin usar el módulo Bluetooth y programar la aplicación para android, puede utilizar en lugar de ellos 1Sheeld.1Sheeld consiste básicamente de dos partes. La primera parte es un escudo que está físicament
Control de motor DC con Joystick y PIC16F877A

Control de motor DC con Joystick y PIC16F877A

este es un proyecto que estoy haciendo, ahora voy a mostrar cómo hacerlo sólo para un motor, pero yo estoy usando y DEMUX para en el futuro utilizar el motor 4.El proyecto es simple, que utiliza el pic para controlar el DEMUX y el control DEMUX el pu