Archivo de la categoría: L293D

ArduRover VII Codificadores

Codificando Interrupciones

La realización de esta parte del proyecto es continuación de los proyectos anteriores , se trata de seguir incorporando funcionalidades nuevas al Rover. En este caso he incorporado la posibilidad de realizar los cuatro movimientos básicos con un codificador “Hall”, de manera que puedo elegir, la distancia del movimiento. En un proyecto futuro se podrá confeccionar un recorrido definido y realizarlo con un alto nivel de precisión.

Codificador_Hall

He utilizado las posibilidades que me brinda la placa Arduino en cuanto a la programación de Interrupciones.

Interrupciones_Arduino

Las interrupciones son un método del que disponen Arduino para hacer notar al procesador la aparición de alguna circunstancia que requiera su intervención. De este modo, el dispositivos que ha realizado la interrupción pueden provocar que el procesador deje por el momento la tarea que estaba realizando y atienda la interrupción, una vez atendida, seguirá con su labor anterior. Las interrupciones son útiles para hacer que las cosas que sucedan automáticamente puedan ser atendidas de inmediato sin necesidad de ir consultando regularmente el estado de ese suceso, estas puedan ayudar a resolver problemas de temporización y son buenas para leer un encoder rotacionales, monitorizando la entrada del usuario, sin perder nunca un pulso.

Para comprender un poco mejor como funciona las interrupciones en Arduino, podéis visitar la entrada que realicé con el proyecto “Interrupciones

SCREEN 1

Pantalla1SCREEN 2

Pantalla2
SCREEN 3

Pantalla3

Código de la Función Contador de Pasos

Codigo_Contador_de_Pasos

Código de la Función PasosAPaso

Codigo_PasoAPaso

Bloques del Cambio entre Pantallas

Botones_Cambio_de_Pantallas

Bloques de la selección de la función a realizar (Dirección) 

Cambio_de_Direccion

Bloques de los pasos a caminar 

Ir

Esquema Teórico Parcial:

Sensor_Hall

Esquema Práctico:

Placa_1_ArduRover_Codificador_Hall

Código Parcial del Programa Arduino:

Codigo_Codificadores

Fotos:

Vista_General

Vista General

DetalleDetalle de las conexiones

Tablet_01Pantalla Principal

Tablet_02Pantalla de Programación por Pasos

Código fuente

ArduRover_Codificador_de_cuadratura.ino

APP de Proyecto:

APP ArduRover_VII.apk

Ficha del Proyecto:

ArduRover_VII_Ficha_34

Vídeo resumen:

Anuncios

Control de Motores Paso a Paso

¿Qué es un motor Paso a Paso (PaP)?

Un motor PaP, como todo motor, es en esencia un conversor electromecánico, que transforma energía eléctrica en mecánica.

Mientras que un motor convencional gira libremente al aplicarle una tensión, el motor PaP gira un determinado ángulo de forma incremental (transforma impulsos eléctricos en movimientos de giro controlados), lo que le permite realizar desplazamientos angulares fijos muy precisos.

Pueden variar desde 90º hasta unos 1,80º, es decir, que se necesitarán 4 pasos en el primer caso (90°) y 200 para el segundo caso (1.8°), para completar un giro completo de 360°.

Estos motores poseen la habilidad de poder quedar enclavados en una posición o bien totalmente libres. Si una o más de sus bobinas están energizada, el motor estará enclavado en la posición correspondiente y por el contrario quedará completamente libre si no circula corriente por ninguna de sus bobinas.

Este tipo de motores son ideales cuando lo que queremos es posicionamientos con un elevado grado de exactitud y/o una muy buena regulación de la velocidad.

Sus principales aplicaciones se pueden encontrar en robótica, tecnología aeroespacial, control de discos duros, flexibles, unidades de CDROM o de DVD e impresoras, en sistemas informáticos, manipulación y posicionamiento de herramientas y piezas en general.

Identificación de un motor PaP bipolar

El primer problema con el que nos encontramos al realizar proyectos con motores PaP, es identificar el tipo de motor que tenemos (sobre todo si utilizamos motores de desguace).
Para saber si un  motor es “Paso a Paso”, realizaremos la comprobación siguiente:

Giraremos con la mano el eje del motor y deberemos notar que éste ejerce una resistencia al giro a golpes (o pasos).

Una vez que sepamos que es un motor PaP, lo siguiente es identificar si es unipolar o bipolar, el modo de identificarlos es contando el número de cables que tiene el motor, si tiene cuatro cables, casi seguro que es bipolar.

Para el caso de motores PaP bipolares, la identificación es más sencilla, simplemente tomaremos un ohmetro y hallaremos los pares de cables que corresponden a cada bobina, sabiendo que entre ellos deberá haber continuidad, luego solo deberemos averiguar la polaridad de la misma, por el sistema de prueba y error, o lo que es lo mismo, si conectado de una manera no funciona, simplemente damos vuelta a los cables de una de las bobinas y entonces ya debería funcionar correctamente. Si el sentido de giro es inverso a lo esperado, simplemente se deben invertir las conexiones de ambas bobinas

Motor PaP Bipolar

Se componen de 2 bobinas.Motor_PaP

Para que el motor funcione, la corriente que circula por las bobinas cambia de sentido en función de la tensión, de ahí el nombre de bipolar, debido a que en los extremos de una misma bobina se pueden tener distintas polaridades.

Otra de las características que los diferencian de los unipolares son que estos llevan cuatro conexiones externas, dos para cada bobina .

A diferencia de los unipolares que son más sencillos de utilizar, en los bipolares su dificultad reside en el control de la alimentación y el cambio de polaridad.

 Secuencias para manejar motores PaP Bipolares

Para el funcionamiento de estos motores se necesitan la inversión de la corriente que circula en sus bobinas en una secuencia determinada. Cada inversión de la polaridad provoca el movimiento del eje en un paso, cuyo sentido de giro está determinado por la secuencia seguida.

Secuencia_Motores_PaP

Circuito Integrado L293D como regulador de un motor PaP Bipolar

El circuito es el que se muestra en la figura de más abajo y el funcionamiento es el siguiente:

o       Las patillas 1 y 9, la ponemos siempre a 5 v.

o       Las patillas 3 y  6, al devanado b y a del motor PaP.

o       Las patillas 11 y 14, al devanado d y c del motor PaP.

o       Con la patillas 2 y 7, controlamos la polaridad del devanado a y b.

o       Con la patillas 10 y 15, controlamos la polaridad del devanado c y d.

o       Las patillas 4, 5, 12 y 13, a negativo o masa de circuito.

o       La patilla 16, es la alimentación del CI.

o       La patilla 8, es la alimentación del moto PaP.

L293D_PaP

Notas a recordar:

o       Voltaje de entrada de CI (Vcc).                                        de 4.5v a 7v

o       Tensión máxima de (Vmotor)                                                    36 v

o       Rango de voltaje de salida                                      -3 V a VCC2 + 3 V

o       Corriente continua de salida por Canal                                   ± 600 mA

o       Pico de corriente de salida por Canal                            ± 1,2 A

o       El puente se come unos 2 voltios, por lo que si lo alimentamos con 6 voltios, al motor solo le llegaran unos 4v.

Esquema Eléctrico:

L293D_PaP+Arduino

 

Esquema Práctico:

Control_Motor_Paso_a_Paso_Circuito+_bb

Código del Programa:

Codigo_Control_Motor_Paso_a_Paso

Fotos:

Motor_PaP_Vista_General

Vista General

Placa_Arriba_Motor_PaP

Detalle de la placa del L293D

MotorPaP

Motor PaP de un lectos de CD´s

Código fuente:

Control_de_Motor_Paso_a_Paso.ino

Ficha del Proyecto:

Control_de_Motor_PaP_Ficha_26 

Vídeo resumen:

 

Control de Motores de CC con L293D

Características de L293D:

Tensión de alimentación VCC1                                                                             36 V
Tensión de salida, VCC2                                                                                      36 V
Voltaje de entrada máx.                                                                                        7 V
Rango de voltaje de salida                                                                    -3 V a VCC2 + 3 V
Corriente continua de salida por Canal                                                            ± 600 mA
Pico de corriente de salida por Canal (no repetitivos , t ≤ 100 ms)                    ± 1,2 A
Disipación total continua a 25 ° C                                                                     2.075 mW
Disipación total continua a 80 ° C                                                                      5.000 mW
Temperatura de la unión máxima                                                                      150 ° C
Temperatura  de Almacenamiento                                                              -65 ° C a 150 ° C

 Tabla de Mapas de Pines del L293D

Patillas_L293D

Descripción del L293D:

El L293D es un driver de 4 canales capaz de proporcionar una corriente de salida de hasta 600mA por canal y puede soportar picos de hasta 1.2 A. Cada canal es controlado por señales TTL y cada pareja de canales dispone de una señal de habilitación para conectar o desconecta las salidas de los mismos.

Tiene la disponibilidad de poder utilizar dos tensiones diferentes, una para el propio circuito integrado y otra para la alimentación del motor, cosa que nos facilita, al poder tomar la alimentación del Circuito Integrado (C.I.) del pin +5 v de Arduino y  utilizar una batería auxiliar para la alimentación del motor o motores.

Como se puede ver en la figura de más abajo, este C.I. dispone de la posibilidad de controlar dos motores a la vez, con capacidad de inversión de giro y regulación de voltaje. A este respecto he de decir que el puente se come unos 2 voltios, por lo que si lo alimentamos con 6 voltios, al motor solo le llegaran unos 4v. Si necesitamos que al motor le llegue una tensión máxima de 6 v, debemos alimentarlo por su entrada VMotor con 8 voltios. Esta tensión de alimentación es difícil obtener con pilas, pero se puede utilizar una pila de 9 voltios y regular la tensión mediante PWM para que nos de un máximo de 6 voltios en el motor.

Descripción de Funcionamiento:

En este proyecto se trata de controlar un motor con un Arduino Mega y el circuito integrado L293D.

Con la  patilla 1 controlamos la tensión que entregaremos al motor, esta patilla va conectada a una señal PWM del Arduino.

Con las patillas 2 y 7, controlamos el Sentido de Giro del Motor.

En las patillas 3 y 6 , conectamos el Motor 1.

Como se puede observar en el esquema de más abajo el L293D tiene la posibilidad de controlar dos motores, por lo que lo dicho anteriormente es válido para las entadas 9-PWM, 15 y 10 – Sentido de Giro y 11 y 14 – Motor 2

Las patillas 4, 5, 12 y 13 se conectarán a negativo o masa común con el arduino y batería del/los motor/es.

La patilla 8 es la entrada de la tensión de alimentación del/los motor/es (recordar que se come dos voltios).

La patilla 16 es la alimentación del integrado (+5Vcc)

Tabla de Selección de Sentido de Giro del Motor

Funcion_Motor_L293D

Esquema del Circuito Integrado:

L293D

Esquema Práctico:

Control_Motor_DC_Circuito+_bb

Código del Programa:

Control_Motor_DC_Codigo

Fotos:

Conjunto

Vista General del Proyecto

Control_Motor_DC_Circuito_bbEsquemas de Pistas

Cara_A_y_B

Doble Vista de Pistas

Código fuente:

Control_de_Motor_DC.ino

Ficha del Proyecto:

Control_de_Motor_DC_Ficha_25

Vídeo: