Download - Curso Taller Arduino (Parte 5).pdf
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
1/49
CURSO TALLERARDUINO BÁSICO
Carlos Pérez
www.TecBolivia.com
viernes, 26 de Febrero de 2016© 2016 WWW.TECBOLIVIA.COM 1
http://www.tecbolivia.com/http://www.tecbolivia.com/
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
2/49
MOTORESCurso Taller Arduino Básico© 2016 WWW.TECBOLIVIA.COM viernes, 26 de Febrero de 2016 2
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
3/49
MOTOR DC
Es el motor mas simple queexiste.
El funcionamiento se basaen la interacción de camposmagnéticos (imanes).
El movimiento del motor seproduce cuando existe unafuerza de repulsión por lainteracción de polos iguales.
© 2016 WWW.TECBOLIVIA.COM viernes, 26 de Febrero de 2016 3
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
4/49
PARTES DE UN MOTOR DC
Estator: que es laparte fija del motor y
generalmente tieneimanes permanentes.
Rotor: que es la partemóvil del motor y
tiene un electroimánconectado con lasterminales del motor
© 2016 WWW.TECBOLIVIA.COM viernes, 26 de Febrero de 2016 4
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
5/49
MOTOR DC
Los motores de este tipo sonconocidos 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
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
6/49
MOTOR DC
Cada escobilla entrará en contacto con una mitad delelectroimán generando dos campos magnéticos iguales pero
contrarios.
© 2016 WWW.TECBOLIVIA.COM viernes, 26 de Febrero de 2016 6
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
7/49
MOTOR DC
Aumentando la señal decorriente se aumenta el campo
magnético, aumentando lavelocidad del motor.
Invirtiendo la señal de corriente,se invierten los camposmagnéticos, invirtiendo la fuerza
de repulsión, invirtiendo elsentido de giro.
© 2016 WWW.TECBOLIVIA.COM viernes, 26 de Febrero de 2016 7
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
8/49
MOTOR DC
Para aumentar la fuerza de un motor DC se utiliza unsistema de engranajes reductores.
Un sistema reductor une un engranaje pequeño a unogrande para reducir la velocidad del sistema peroaumentando su fuerza.
© 2016 WWW.TECBOLIVIA.COM viernes, 26 de Febrero de 2016 8
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
9/49
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
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
10/49
MOTOR DC – PUENTE H
Un puente H dirige el sentido de la corriente en un motor.
Existen diferentes Circuitos Integrados que cumplen conesta función, por ejemplo: L9110 y L298N.
© 2016 WWW.TECBOLIVIA.COM
Puente H Estados Básicos del Puente H
viernes, 26 de Febrero de 2016 10
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
11/49
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 paracontrolar la velocidad.
© 2016 WWW.TECBOLIVIA.COM
A-IA
B-IA
A-IB
B-IBOperación
LOW HIGH Giro derecha
HIGH LOW Giro izquierda
LOW LOW Motor Stop
HIGH HIGH Motor Stop
Motor A Motor B
Alimentación Motor: 5-12V
viernes, 26 de Febrero de 2016 11
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
12/49
MÓDULO CONTROLADOR DE MOTORES L298N
Trabaja de la misma maneraque el L9110
© 2016 WWW.TECBOLIVIA.COM
IN1
IN3
IN2
IN4Operación
LOW HIGH Giro derecha
HIGH LOW Giro izquierda
LOW LOW Motor Stop
HIGH HIGH Motor Stop
viernes, 26 de Febrero de 2016 12
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
13/49
MÓDULO CONTROLADOR DE MOTORES L298N
El pin habilitador permite utilizarsolo un puerto PWM para elmotor.
Dos puertos hacen lacombinación de salidas.
Un puerto (PWM) en elhabilitador (Enable) regula la
velocidad.
© 2016 WWW.TECBOLIVIA.COM viernes, 26 de Febrero de 2016 13
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
14/49
PREGUNTASCURSO TALLER ARDUINO BÁSICO
viernes, 26 de Febrero de 2016© 2016 WWW.TECBOLIVIA.COM 14
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
15/49
SERVOMOTORES
Básicamente son motoresDC con una placa decontrol.
Capacidad de ubicarse ymantenerse estable encualquier posición dentrode su rango de operación
Rango de operaciónnormalmente es menor a360º
© 2016 WWW.TECBOLIVIA.COM viernes, 26 de Febrero de 2016 15
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
16/49
SERVOMOTORES
Tienen un torque muyfuerte.
Puede trabajar más alláde los 360º, en estecaso se controla lavelocidad.
Los que trabajan enmás de 360º no tienencontrol de posición.
© 2016 WWW.TECBOLIVIA.COM viernes, 26 de Febrero de 2016 16
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
17/49
ESTRUCTURA INTERNA
Un servomotor se compone de:
• Motor DC: alta velocidad bajotorque
• Caja reductora: juego de engranajes,reduce la velocidad y aumenta eltorque
• Potenciómetro: alineado con el ejedel motor para el control de la
posición.• Tarjeta controladora: con los datos
del potenciómetro mueve el motorDC
© 2016 WWW.TECBOLIVIA.COM viernes, 26 de Febrero de 2016 17
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
18/49
CABLE DE CONEXIÓN
Los servomotorestienen tres cables:
alimentación, tierra, yseñal.
La tensión dealimentació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
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
19/49
FUNCIONAMIENTO
Cable de Señal:
• La posición del motor
se define por el anchode pulso de una señalPWM.
• Los servomotores derotación continua utilizanla señal PWM para variarla velocidad de rotación
© 2016 WWW.TECBOLIVIA.COM viernes, 26 de Febrero de 2016 19
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
20/49
LIBRERÍAS
Una librería es un programa que contiene funciones lascuales pueden ser utilizadas por otros programas para suutilización.
Para llamar a una librería, se coloca al inicio del Sketch lapalabra 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 quesean creadas:
Ser vo nombre_ser vo;
© 2016 WWW.TECBOLIVIA.COM viernes, 26 de Febrero de 2016 20
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
21/49
LIBRERÍA SERVO
El Arduino UNO deshabilita la función anal ogWr i t e( ) enlos puertos 9 y 10.
Los servos consumen energía de manera considerable, serecomienda el uso de fuentes externas alimentandodirectamente los cables de alimentación de los servos.
© 2016 WWW.TECBOLIVIA.COM viernes, 26 de Febrero de 2016 21
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
22/49
LIBRERÍA SERVO
attach(): Asocia la variable servo a un pin
• nombre_ser vo. attach( pi n)
• nombre_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• nombre_ser vo. det ach( pi n)
© 2016 WWW.TECBOLIVIA.COM viernes, 26 de Febrero de 2016 22
http://arduino.cc/es/Reference/ServoAttach#.UynAgT95OSohttp://arduino.cc/es/Reference/ServoAttach#.UynAgT95OSohttp://arduino.cc/es/Reference/ServoDetach#.UynCxz95OSohttp://arduino.cc/es/Reference/ServoDetach#.UynCxz95OSohttp://arduino.cc/es/Reference/ServoDetach#.UynCxz95OSohttp://arduino.cc/es/Reference/ServoAttach#.UynAgT95OSo
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
23/49
LIBRERÍA SERVO
write(): Ajusta el eje al ángulo deseado
• nombre_ser vo. wr i t e( ángul o)
read(): Lee el ángulo Actual del servo
• nombre_ser vo. r ead( )
attached(): Devuelve TRUE si la variable servo está asociada
a un pin• nombre_ser vo. at t ached( )
© 2016 WWW.TECBOLIVIA.COM viernes, 26 de Febrero de 2016 23
http://arduino.cc/es/Reference/ServoWrite#.UynDlD95OSohttp://arduino.cc/es/Reference/ServoWrite#.UynDlD95OSohttp://arduino.cc/es/Reference/ServoRead#.UynEZD95OSohttp://arduino.cc/es/Reference/ServoRead#.UynEZD95OSohttp://arduino.cc/es/Reference/ServoAttached#.UynErz95OSohttp://arduino.cc/es/Reference/ServoAttached#.UynErz95OSohttp://arduino.cc/es/Reference/ServoAttached#.UynErz95OSohttp://arduino.cc/es/Reference/ServoRead#.UynEZD95OSohttp://arduino.cc/es/Reference/ServoWrite#.UynDlD95OSo
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
24/49
CIRCUITO SWEEP
© 2016 WWW.TECBOLIVIA.COM viernes, 26 de Febrero de 2016 24
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
25/49
SWEEP#i ncl ude
Servo myser vo;
i nt pos = 0;
voi d setup( )
{
myser vo. attach(9) ;
}
/ / Ll amada a l a l i br er í a Ser vo
/ / Cr eaci ón del obj et o t i po Ser vo
/ / Var i abl e donde se guar da l a
/ / posi ci ón del ser vo
/ / Se asoci a el ser vo al pi n 9 ( PWM)
© 2016 WWW.TECBOLIVIA.COM viernes, 26 de Febrero de 2016 25
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
26/49
SWEEPvoi 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) {
myser vo. wr i t e( pos);
del ay(15); / / Ret ardo de 15 ms par a el movi mi ent o del mot or
}
f or ( pos = 180; pos>=1; pos- =1) {
myser vo. wr i t e( pos);
del ay(15);
}
}
© 2016 WWW.TECBOLIVIA.COM viernes, 26 de Febrero de 2016 26
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
27/49
CIRCUITO KNOB
© 2016 WWW.TECBOLIVIA.COM viernes, 26 de Febrero de 2016 27
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
28/49
KNOB
#i ncl ude
Servo myser vo;i nt pot pi n = 0;
i nt val ;
voi d setup( ){myser vo. attach(9) ;
}
/ / Pi n del pot enci ómet r o
/ / Var i abl e l ect ur a pot enci ómet r o
© 2016 WWW.TECBOLIVIA.COM viernes, 26 de Febrero de 2016 28
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
29/49
KNOB
voi d loop( )
{
val = anal ogRead( pot pi n) ; / / Lect ur a pot enci ómet r o/ / Mapeo a rango 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
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
30/49
PREGUNTASCURSO TALLER ARDUINO BÁSICO
viernes, 26 de Febrero de 2016© 2016 WWW.TECBOLIVIA.COM 30
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
31/49
MOTOR PASO A PASO
Convierte impulsos eléctricos en desplazamientos angularesdiscretos, 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
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
32/49
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 laconstrucción del motor, es típicamente posible obtenerpasos 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
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
33/49
TIPOS
© 2016 WWW.TECBOLIVIA.COM viernes, 26 de Febrero de 2016 33
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
34/49
SECUENCIAS
Paso simple
Esta secuencia consiste
en activar cada bobinauna a una y porseparado, con estasecuencia de encendidode bobinas no se obtienemucha fuerza ya que soloes una bobina cada vez laque arrastra y sujeta elrotor del eje del motor
© 2016 WWW.TECBOLIVIA.COM viernes, 26 de Febrero de 2016 34
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
35/49
SECUENCIAS Paso doble
En paso doble se activanlas bobinas de dos en dos
con lo que se hace uncampo magnético máspotente que atraerá conmás fuerza y retendrá elrotor del motor en el sitio.Los son algo bruscosdebido a que la acción delcampo magnético es máspoderosa que en lasecuencia de paso sencillo
© 2016 WWW.TECBOLIVIA.COM viernes, 26 de Febrero de 2016 35
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
36/49
SECUENCIAS Medio paso
Este se logracombinando dostipos de secuencias esdecir el paso sencilloy el doble paso y asíse puede hacer moverel motor en pasosmás pequeños yprecisos de estamanera se tiene el
doble de pasos demovimiento para elrecorrido total de360º del motor.
© 2016 WWW.TECBOLIVIA.COM viernes, 26 de Febrero de 2016 36
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
37/49
PLACA MÓDULO PARA MOTORES PASO A PASO
(ULN2003)
Las terminales del motor requieren pasar por una etapa deconversió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
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
38/49
MOTOR PASO A PASO 5V 28BYJ-48
viernes, 26 de Febrero de 2016© 2016 WWW.TECBOLIVIA.COM 38
Para una vuelta completacon solo una bobina
activada a la vez senecesitan 32 pasos.
Para una vuelta completacon dos bobinas activadas ala vez se necesitan 64pasos.
Relación de reducción: 1: 48
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
39/49
MOTOR PASO A PASO 5V 28BYJ-48
Con la relación de reducción se multiplica por 64 la cantidadde pasos para dar una vuelta completa en el eje final.
viernes, 26 de Febrero de 2016© 2016 WWW.TECBOLIVIA.COM 39
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
40/49
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 delmotor:
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 ángulode paso, por ejemplo para 135º:
135°
0,17578125°/= 768
viernes, 26 de Febrero de 2016© 2016 WWW.TECBOLIVIA.COM 40
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
41/49
PREGUNTASCURSO TALLER ARDUINO BÁSICO
viernes, 26 de Febrero de 2016© 2016 WWW.TECBOLIVIA.COM 41
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
42/49
ARDUINO SHIELD DRIVER / CONTROL /
EXPANSIÓN PARA MOTORES L293D
Tiene dos conexiones deexpansión de los pines 9 y 10del 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 siguientepágina web:
www.ladyada.net/make/mshield
© 2016 WWW.TECBOLIVIA.COM viernes, 26 de Febrero de 2016 42
http://www.ladyada.net/make/mshieldhttp://www.ladyada.net/make/mshield
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
43/49
CONEXIÓN MOTOR DC
viernes, 26 de Febrero de 2016© 2016 WWW.TECBOLIVIA.COM 43
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
44/49
CONEXIÓN MOTOR PASO A PASO
viernes, 26 de Febrero de 2016© 2016 WWW.TECBOLIVIA.COM 44
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
45/49
LIBRERÍA AFMOTOR PARA MOTOR DC
AF_DCMotor nombre_obj(motor#, frequencia): Creael 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
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
46/49
LIBRERÍA AFMOTOR PARA MOTOR DC
setSpeed(speed): determina la velocidad del motor 0 paramotor detenido, 255 para la máxima velocidad del motor
run(direction): determina la dirección del motor:• FORWARD: Sentido Horario
• BACKWARD: Sentido Antihorario
•
RELEASE: Detenido
© 2016 WWW.TECBOLIVIA.COM viernes, 26 de Febrero de 2016 46
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
47/49
LIBRERÍA AFMOTOR PARA MOTOR PASO A PASO
AF_Stepper nombre_obj(steps, stepper#): Crea elobjeto tipo Motor Stepper
• steps: número de pasos• stepper#: puerto del motor 1, 2
setSpeed(rpm):Velocidad del motor
© 2016 WWW.TECBOLIVIA.COM viernes, 26 de Febrero de 2016 47
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
48/49
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
-
8/15/2019 Curso Taller Arduino (Parte 5).pdf
49/49
NOTA Los materiales gráficos distribuidos en el Curso de Robótica Educativa
son para uso exclusivo de los alumnos, queda terminantementeprohibido copiar el material a terceros o publicarlos por cualquier
medio visual incluyendo la Internet. Queda también terminantementeprohibido el uso de los materiales en otros cursos y talleres norelacionados con TecBolivia.com bajo pena de no ser aceptadosnuevamente en futuros talleres y cursos organizados por TecBolivia.com
© 2016 WWW.TECBOLIVIA.COM viernes, 26 de Febrero de 2016 49