CURSO TAL CURSO ALLE LER R ARDUINO BÁSICO Carlos Pérez www.TecBolivia.com
© 2016 WWW.TECBOLIVIA.COM
viernes, 26 de Febrero de 2016
1
MOTORES Curso Taller Taller Arduino Básico © 2016 WWW.TECBOLIVIA.COM
viernes, 26 de Febrero de 2016
2
MOTOR DC
Es el motor mas simple que existe.
El funcionamiento se basa en la interacción de campos magnéticos (imanes).
El movimiento del motor se produce cuando existe una fuerza de repulsión por la interacción de polos iguales.
© 2016 WWW.TECBOLIVIA.COM
viernes, 26 de Febrero de 2016
3
PARTES DE UN MOTOR DC
Estator: que es la parte fija del motor y generalmente tiene imanes permanentes.
Rotor: que es la parte par te móvil del motor y tiene un electroimán conectado con las terminales del motor
© 2016 WWW.TECBOLIVIA.COM
viernes, 26 de Febrero de 2016
4
MOTOR DC
Los motores de este tipo son conocidos por trabajar con escobillas.
Las escobillas interactúan las terminales del motor (partes fijas), con el electroimán del rotor (parte móvil).
© 2016 WWW.TECBOLIVIA.COM
viernes, 26 de Febrero de 2016
5
MOTOR DC
Cada escobilla entrará en contacto con una mitad del electroimán generando dos campos magnéticos iguales pero contrarios.
© 2016 WWW.TECBOLIVIA.COM
viernes, 26 de Febrero de 2016
6
MOTOR DC Aumentando la señal de corriente se aumenta el campo magnético, aumentando la velocidad del motor. Invirtiendo la señal de corriente, se invierten los campos magnéticos, invirtiendo la fuerza de repulsión, invirtiendo el sentido de giro.
© 2016 WWW.TECBOLIVIA.COM
viernes, 26 de Febrero de 2016
7
MOTOR DC
Para aumentar la fuerza de un motor DC se utiliza un sistema de engranajes reductores.
Un sistema reductor une un engranaje pequeño a uno grande para reducir la velocidad del sistema pero aumentando su fuerza.
© 2016 WWW.TECBOLIVIA.COM
viernes, 26 de Febrero de 2016
8
MOTOR DC
Motor de doble eje
Relación de reducción: 1: 48
Voltaje de funcionamiento: 3V ~ 6V
Consumo de Corriente sin carga: •
•
200mA @ 6V 150mA @ 3V
Velocidad sin carga: •
•
200 ± 10% RPM @ 6V 90 ± 10% RPM @ 3V
© 2015 WWW.TECBOLIVIA.COM
MOTOR DC – PUENTE H
Un puente H dirige el sentido de la corriente en un motor.
Existen diferentes Circuitos Integrados que cumplen con esta función, por ejemplo: L9110 y L298N.
Puente H © 2016 WWW.TECBOLIVIA.COM
Estados Básicos del Puente H viernes, 26 de Febrero de 2016
10
MÓDULO CONTROLADOR DE MOTORES L9110
Control de dos motores (A y B)
Control mediante señales digitales.
Señales PWM en lugar de estados HIGH para controlar la velocidad. A-IA B-IA
A-IB B-IB
Motor B
Operación
LOW
HIGH
Giro derecha
HIGH
LOW
Giro izquierda
LOW
LOW
Motor Stop
HIGH
HIGH
Motor Stop
© 2016 WWW.TECBOLIVIA.COM
Motor A
Alimentación Motor: 5-12V viernes, 26 de Febrero de 2016
11
MÓDULO CONTROLADOR DE MOTORES L298N
Trabaja de la misma manera que el L9110 IN1 IN3
IN2 IN4
LOW
HIGH
Giro derecha
HIGH
LOW
Giro izquierda
LOW
LOW
Motor Stop
HIGH
HIGH
Motor Stop
© 2016 WWW.TECBOLIVIA.COM
Operación
viernes, 26 de Febrero de 2016
12
MÓDULO CONTROLADOR DE MOTORES L298N
El pin habilitador permite utilizar solo un puerto PWM para el motor.
Dos puertos hacen la combinación de salidas.
Un puerto (PWM) en el habilitador (Enable) regula la velocidad.
© 2016 WWW.TECBOLIVIA.COM
viernes, 26 de Febrero de 2016
13
PREGUNTAS CURSO TALLER ARDUINO BÁSICO
© 2016 WWW.TECBOLIVIA.COM
viernes, 26 de Febrero de 2016
14
SERVOMOTORES Básicamente son motores DC con una placa de control. Capacidad de ubicarse y mantenerse estable en cualquier posición dentro de su rango de operación Rango de operación normalmente es menor a 360º
© 2016 WWW.TECBOLIVIA.COM
viernes, 26 de Febrero de 2016
15
SERVOMOTORES
Tienen un torque muy fuerte.
Puede trabajar más allá de los 360º, en este caso se controla la velocidad.
Los que trabajan en más de 360º no tienen control de posición.
© 2016 WWW.TECBOLIVIA.COM
viernes, 26 de Febrero de 2016
16
ESTRUCTURA INTERNA
Un servomotor se compone de: •
•
•
•
© 2016 WWW.TECBOLIVIA.COM
Motor DC: alta velocidad bajo torque Caja reductora: juego de engranajes, reduce la velocidad y aumenta el torque Potenciómetro: alineado con el eje del motor para el control de la posición. Tarjeta controladora: con los datos del potenciómetro mueve el motor DC viernes, 26 de Febrero de 2016
17
CABLE DE CONEXIÓN
Los servomotores tienen tres cables: alimentación, tierra, y señal.
La tensión de alimentación puede variar de 4 a 8 voltios (dependiendo del servo), varía velocidad y torque.
© 2016 WWW.TECBOLIVIA.COM
viernes, 26 de Febrero de 2016
18
FUNCIONAMIENTO
Cable de Señal: •
•
La posición del motor se define por el ancho de pulso de una señal PWM. Los servomotores de rotación continua utilizan la señal PWM para variar la velocidad de rotación
© 2016 WWW.TECBOLIVIA.COM
viernes, 26 de Febrero de 2016
19
LIBRERÍAS Una librería es un programa que contiene funciones las cuales pueden ser utilizadas por otros programas para su utilización. Para llamar a una librería, se coloca al inicio del Sketch la palabra de invocación seguido del nombre de la librería:
#i ncl ude
Un objeto es una variable que contiene todas las especificaciones de la librería, algunas librerías requieren que sean creadas: Ser vo nombr e_ser vo;
© 2016 WWW.TECBOLIVIA.COM
viernes, 26 de Febrero de 2016
20
LIBRERÍA SERVO
El Arduino UNO deshabilita la función anal ogWr i t e( ) en los puertos 9 y 10.
Los servos consumen energía de manera considerable, se recomienda el uso de fuentes externas alimentando directamente los cables de alimentación de los servos.
© 2016 WWW.TECBOLIVIA.COM
viernes, 26 de Febrero de 2016
21
LIBRERÍA SERVO
attach(): Asocia la variable servo a un pin •
nombr e_ser vo. attach( pi n)
•
nombr e_ser vo. attach( pi n, mi n, max)
min: ancho de pulso ángulo mínimo (544)
max: ancho de pulso ángulo máximo (2400)
detach(): Desasocia la variable servo de un pin •
nombr e_ser vo. det ach( pi n)
© 2016 WWW.TECBOLIVIA.COM
viernes, 26 de Febrero de 2016
22
LIBRERÍA SERVO
write(): Ajusta el eje al ángulo deseado •
read(): Lee el ángulo Actual del servo •
nombr e_ser vo. wr i t e( ángul o)
nombr e_ser vo. r ead( )
attached(): Devuelve TRUE si la variable servo está asociada a un pin •
nombr e_ser vo. at t ached( )
© 2016 WWW.TECBOLIVIA.COM
viernes, 26 de Febrero de 2016
23
CIRCUITO SWEEP
© 2016 WWW.TECBOLIVIA.COM
viernes, 26 de Febrero de 2016
24
SWEEP #i ncl ude
/ / Ll amada a l a l i br er í a Ser vo
Ser vo mys er vo;
/ / Cr eaci ón del obj et o t i po Ser vo
i nt pos = 0;
/ / Var i abl e donde se guar da l a / / posi ci ón del ser vo
voi d setup( ) { myser vo. attach( 9 ) ;
/ / Se asoci a el ser vo al pi n 9 ( PWM)
} © 2016 WWW.TECBOLIVIA.COM
viernes, 26 de Febrero de 2016
25
SWEEP voi d loop( ) { / / Se hace el r ecor r i do t ot al en ambas di r ecci ones f or ( pos = 0; pos < 180; pos += 1) { mys er vo. wr i t e( pos ) ; del ay(15);
/ / Ret ar do de 15 ms par a el movi mi ent o del mot or
} f or ( pos = 180; pos>=1; pos- =1) { mys er vo. wr i t e( pos ) ; del ay(15); } } © 2016 WWW.TECBOLIVIA.COM
viernes, 26 de Febrero de 2016
26
CIRCUITO KNOB
© 2016 WWW.TECBOLIVIA.COM
viernes, 26 de Febrero de 2016
27
KNOB #i ncl ude Ser vo myser vo; i nt pot pi n = 0;
/ / Pi n del pot enci ómet r o
i nt val ;
/ / Var i abl e l ect ur a pot enci ómet r o
voi d setup( ) { myser vo. attach( 9 ) ; } © 2016 WWW.TECBOLIVIA.COM
viernes, 26 de Febrero de 2016
28
KNOB voi d loop( ) { val = anal ogRead( pot pi n) ;
/ / Lect ur a pot enci ómet r o
/ / Mapeo a r ango de 0º a 180º val = map( val , 0, 1023, 0, 180) ; myser vo. wr i t e( val ) ;
/ / Mover ser vo
del ay(15);
/ / Ret ar do movi mi ent o
}
© 2016 WWW.TECBOLIVIA.COM
viernes, 26 de Febrero de 2016
29
PREGUNTAS CURSO TALLER ARDUINO BÁSICO
© 2016 WWW.TECBOLIVIA.COM
viernes, 26 de Febrero de 2016
30
MOTOR PASO A PASO
Convierte impulsos eléctricos en desplazamientos angulares discretos, lo que significa que es capaz de avanzar una serie de grados (paso) dependiendo de sus entradas de control
© 2016 WWW.TECBOLIVIA.COM
viernes, 26 de Febrero de 2016
31
MOTOR PASO A PASO El
motor de paso de rotor de imán permanente: Permite mantener un par diferente de cero
cuando el motor no está energizado. Dependiendo de la construcción del motor, es típicamente posible obtener pasos angulares de 7.5, 11.25, 15, 18, 45 o 90°
Este tipo de motor tiene cuatro bobinas que al ser energizadas atraen al eje haciendo mover el motor.
© 2016 WWW.TECBOLIVIA.COM
viernes, 26 de Febrero de 2016
32
TIPOS
© 2016 WWW.TECBOLIVIA.COM
viernes, 26 de Febrero de 2016
33
SECUENCIAS
Paso simple
Esta secuencia consiste en activar cada bobina una a una y por separado, con esta secuencia de encendido de bobinas no se obtiene mucha fuerza ya que solo es una bobina cada vez la que arrastra y sujeta el rotor del eje del motor
© 2016 WWW.TECBOLIVIA.COM
viernes, 26 de Febrero de 2016
34
SECUENCIAS
Paso doble
En paso doble se activan las bobinas de dos en dos con lo que se hace un campo magnético más potente que atraerá con más fuerza y retendrá el rotor del motor en el sitio. Los son algo bruscos debido a que la acción del campo magnético es más poderosa que en la secuencia de paso sencillo
© 2016 WWW.TECBOLIVIA.COM
viernes, 26 de Febrero de 2016
35
SECUENCIAS
Medio paso
Este se logra combinando dos tipos de secuencias es decir el paso sencillo y el doble paso y así se puede hacer mover el motor en pasos más pequeños y precisos de esta manera se tiene el doble de pasos de movimiento para el recorrido total de 360º del motor.
© 2016 WWW.TECBOLIVIA.COM
viernes, 26 de Febrero de 2016
36
PLACA MÓDULO PARA MOTORES PASO A PASO (ULN2003)
Las terminales del motor requieren pasar por una etapa de conversión para conectarse con la placa Arduino, existen varios circuitos que pueden hacer ese trabajo
© 2016 WWW.TECBOLIVIA.COM
viernes, 26 de Febrero de 2016
37
MOTOR PASO A PASO 5V 28BYJ-48
Para una vuelta completa con solo una bobina activada a la vez se necesitan 32 pasos.
Para una vuelta completa con dos bobinas activadas a la vez se necesitan 64 pasos.
Relación de reducción: 1: 48
© 2016 WWW.TECBOLIVIA.COM
viernes, 26 de Febrero de 2016
38
MOTOR PASO A PASO 5V 28BYJ-48
Con la relación de reducción se multiplica por 64 la cantidad de pasos para dar una vuelta completa en el eje final.
© 2016 WWW.TECBOLIVIA.COM
viernes, 26 de Febrero de 2016
39
MOTOR PASO A PASO 5V 28BYJ-48
Para conocer el ángulo de paso se divide el recorrido de un giro completo (360º) entre la cantidad total de pasos por ciclo del motor: 360° 64 ∗ 32
= 0,17578125° /
Para conocer la cantidad de pasos que se necesitan para un ángulo en específico se divide el ángulo deseado entre el ángulo de paso, por ejemplo para 135º: 135° 0,17578125°/
© 2016 WWW.TECBOLIVIA.COM
= 768
viernes, 26 de Febrero de 2016
40
PREGUNTAS CURSO TALLER ARDUINO BÁSICO
© 2016 WWW.TECBOLIVIA.COM
viernes, 26 de Febrero de 2016
41
ARDUINO SHIELD DRIVER / CONTROL / EXPANSIÓN PARA MOTORES L293D Tiene dos conexiones de expansión de los pines 9 y 10 del Arduino para el control de servomotores. Puede controlar 4 motores DC o 2 motores paso a paso. La librería AFMotor debe descargarse de la siguiente página web:
www.ladyada.net/make/mshield © 2016 WWW.TECBOLIVIA.COM
viernes, 26 de Febrero de 2016
42
CONEXIÓN MOTOR DC
© 2016 WWW.TECBOLIVIA.COM
viernes, 26 de Febrero de 2016
43
CONEXIÓN MOTOR PASO A PASO
© 2016 WWW.TECBOLIVIA.COM
viernes, 26 de Febrero de 2016
44
LIBRERÍA AFMOTOR PARA MOTOR DC AF_DCMotor
nombre_obj(motor#, frequencia): Crea
el objeto tipo Motor DC •
•
motor: puerto del motor 1, 2, 3, ó 4 frecuencia: Para motores 1 y 2: MOTOR12_64KHZ, MOTOR12_8KHZ,
MOTOR12_2KHZ, MOTOR12_1KHZ.
Para motores 3 y 4 solo funciona MOTOR12_1KHZ
© 2016 WWW.TECBOLIVIA.COM
viernes, 26 de Febrero de 2016
45
LIBRERÍA AFMOTOR PARA MOTOR DC determina la velocidad del motor 0 para motor detenido, 255 para la máxima velocidad del motor
setSpeed(speed):
run(direction): •
•
•
determina la dirección del motor:
FORWARD: Sentido
Horario
BACKWARD: Sentido Antihorario RELEASE:
© 2016 WWW.TECBOLIVIA.COM
Detenido
viernes, 26 de Febrero de 2016
46
LIBRERÍA AFMOTOR PARA MOTOR PASO A PASO AF_Stepper
nombre_obj(steps, stepper#): Crea el
objeto tipo Motor Stepper •
•
steps: número de pasos stepper#: puerto del motor 1, 2
setSpeed(rpm):
© 2016 WWW.TECBOLIVIA.COM
Velocidad del motor
viernes, 26 de Febrero de 2016
47
LIBRERÍA AFMOTOR PARA MOTOR PASO A PASO step(#steps,
direction, steptype) #steps: número de pasos direction •
•
FORWARD BACKWARD
steptype: •
•
•
•
SINGLE DOUBLE INTERLEAVE MICROSTEP
© 2016 WWW.TECBOLIVIA.COM
viernes, 26 de Febrero de 2016
48