SlideShare una empresa de Scribd logo
Taller Robot Velocista de
Competencias
Por Marko A. Caballero Moreno.
1
“La lógica te llevara de A a B, la imaginación te
llevara a todas Partes”
–Albert Einstein-
2
Introducción
• Que es un Robot Velocista diferencial?
• En que consiste la competencia?
• Reglas de la competencia
3
Según las bases:
4
Características técnicas según Bases:
Solo tracción tipo diferencial.
Dimensiones máximas de robot: 20 cm ancho x 25 cm de largo.
Solo se permite accionamiento manual del robot.
Pista de Competencia contendrá 2 colores: blanco y negro.
Grosor de la línea de la pista: 2cm máximo.
Radio de Curvas Mínimo: 10 Cm
La pista generalmente es impresa
sobre banner.
5
Consideraciones previas
Tiempo de realización del robot
Disponibilidad de materiales en el mercado local.
Importación.
Complejidad del diseño (hardware y software)
6
*Básico
Costo aceptable (350 S/. a 500 s/.)
Tiempo de realización del robot relativamente corto.
 Uso de módulos generalmente de “Pololu”
Existen tiendes en Lima “Vava technologies” que tienen todos los
materiales disponibles.
 Uso de librerías
 Arduino.
7
*Mas especializado
Costos muy variados.
 mayor tiempo de diseño electrónico.
 piezas poco comunes (smd) ,
 importación,
 Tarjeta electrónica mas elaborada, microcontroladores mas
potentes: PIC 18fxxx, ARM Cortex m3, mbed lpcxxx, freescale mpcxxx.
Hardware mas sofisticado: uso de turbina, mayor numero de
sensores, uso de multiplexor analógico, encoders, etc.
Mayor tiempo en desarrollo del programa.
8
Materiales
• Robot velocista de competencia Basico:
- Modulo de sensores Pololu Qtr8a o Qtr8rc (explico en breve…)
- 2 micromotores (Hp, Mp, 10:1, 30:1, explico en breve…)
- Par de brackets de motor
- Modulo Driver motor pololu tb6612fng
- Arduino nano o micro (tamaño reducido)
- ball caster pololu de plástico
- Baterias de lipo 7.4v + cargador
- Diseño de placa-chasis (marks Naola, “Paruro”)
- Llantas de goma (tiene que ser hecho a medida)
- Componetes electrónicos varios: switch, resistencias leds, condensadores, pulsadores, etc.
9
• Qtr8a o Qtr8rc ?
• 10:1 o 30:1 ?
• Mp o Hp ?
• Amperaje de batería –mAh-?
10
Sensores “Qtr8a” Pololu
• Arreglo de 8 sensores.
• 100 mA de consumo, rango de sensado de 3 mm a 6 mm
• Sensores analógicos (pines analógicos)
• Costo aproximado de 55 soles.
• Incluye librería en arduino (descargar de github)
• La librería hace todo el trabajo de captar los datos de sensores y
entrega valores relativas de posición
11
12
Uso de librería Qtr8a en arduino
• https://www.pololu.com/product/960/resources (mayor información)
• Descargar la librería desde aquí :
https://mega.nz/#F!78FVmD7Q!auGJgTr0Muo9qkNtl9CuLA
• Una vez descargado instalar la librería de modo convencional en
arduino: Copiar y pegar en la carpeta “librerías” de la carpeta donde
esta instalado arduino.
13
• La librería contiene un ejemplo basico de uso de los sensores
• “QTRAExample”, abrirla y experimentar…
14
Creando el objeto sensores Qtr8a
15
16
Uso de funciones de la librería Qtr8a
• qtra.calibrate();
Primera función a ser llamada, antes de usar los sensores, hace
calibración de sensores (debe usarse un tiempo adecuado)
• qtra.read(sensorValues);
Hace lectura de cada sensor y los guarda en matriz “sensorValues[ ];”
Rango de lectura de cada sensor : 0 a 1000.
• position = qtra.readLine(sensorValues);
Esta función devolverá la posición de sensores (necesario pid)
17
Diseño del Robot
• Consideraciones:
Peso
Centro de masa
Baterias
Tamaño
Filtrado de ruido
Llantas
18
Diseño de placa
• Proteus (isis ares)
• Eagle
• Componentes superficiles (smd)
• Recomendado usar doble cara
19
Control del driver tb6612fng Pololu
• Costo aprox de s/. 45 (vavatech)
• 1.5 amp. Por canal , mosfet
• Tamaño muy reducido
• Conexiones a arduino (explico en breve…)
20
Conexión driver
21
PWM
Frecuencia-Periodo
Amplitud
Duty cycle (Ciclo de trabajo)
Técnica utilizada para regular velocidad
de giro de los motores eléctricos
22
Lógica de control del motor con driver
Pwm => velocidad
Dirección (control básico)
Avanzar
Izquierda
derecha
23
Motor izquierdo Motor derecho
mi1 mi2 pwmi md1 md2 pwmd
1 0 valor[1-255] 1 0 valor[1-255]
0 0 Valor[ 0 ] 1 0 valor[1-255]
1 0 valor[1-255] 0 0 Valor[ 0 ]
Control de motor de forma diferencial
• La diferencia de velocidad entre un motor y el otro, produce un
cambio de dirección.
• La velocidad se varia por medio del pwm .
24
Algoritmo para controlar 2 motores
• 1ro Definir pines a usar en arduino:
#define mi1 3
#define mi2 4
#define pwmi 6
#define md1 8
#define md2 7
#define pwmd 5
25
• 2do crear la función de control de motores
26
27
Algoritmo de control PID
Objetivo de robot
Set point
error
Proporcional
Diferencial
Integral
Kp
Kd
Ki
Velocidad
28
Posición
Proporcional pasado
Salida pwm (salida de control)
• Nota: En estos apartado acerca del PID, se intenta explicar de manera practica y didáctica en lo
que sea posible, por lo que la implementación de el algoritmo no es uno de los mas perfectos y se
obviaron algunos parámetros para hacerlo muy simple y entendible, se tienen en cuenta solo los
mas fundamentales, si busca información mas detallada acerca del PID puede basarse de fuentes
innumerables en internet.
29
Muestreo y discretizacion para PID
Dado que se trabaja con un microcontrolador, este solo es capaz de trabajar
mediante ciclos (KHZ, MHZ)
Tiempos discretos
En cada itineraracion se obtienen tiene una entrada,
se procesa y se da una salida. (necesario para un algoritmo
concurrente como el PID)
30
Set point y error
• Posicion = valores de sensores [0-7000]
• Error = posicion- set point
31
Control proporcional
• Proporcional = error * kp
Es la respuesta al error que se tiene que entregar de manera inmediata, es
decir, si nos encontramos en el centro de la linea, los motores , tendran en
respuesta una velocidad de igual valor, si nos alejamos del centro, uno de los
motores reducira su velocidad y el otro aumentara.
• “kp” = ganancia proporcional
Es un valor constante utilizado para aumentar o reducir el impacto de Proporcional.
Si el valor es excesivo, el robot tendera responder inestablemente,
oscilando excesivamente. Si el valor es muy pequeño, el robot respondera muy
lentamente, tendiendo a salirse de las curvas
32
Control diferencial
• derivativo = (error - error pasado)*kd
Es la derivada del error, su funcion es mantener el error al minimo, corrigiendolo
proporcionalmente con la mismo velocidad que se produce, de esta manera evita
que el error se incremente, en otra palabra, anticipara la accion evitando asi las
oscilaciones excesivas.
• “kd”= ganancia diferencial
Es un valor constante utilizado para aumentar o reducir el impacto de la Derivada.
Un valor excesivo provocara una sobre amortiguacion. provocando inestabilidad.
33
Control Integral
Integral=Integral + proporcional_pasado
• es la sumatoria de los errores acumulados, tiene como propósito el disminuir y
eliminar el error en estado estacionario provocado por el modo proporcional, en
otras palabras, si el robot velocista se encuentra mucho tiempo alejado del
centro (ocurre muchas veces cuando se encuentra en curvas), la accion integral
se ira acumulando e ira disminuyendo el error hasta llegar al punto de consigna,
(Ki) Ganancia integral
• Es un valor constante utilizado para aumentar o reducir el impacto de la Integral,
El valor excesivo de este provocara oscilaciones excesivas, Un valor demasiado
bajo no causara impacto alguno.
34
Control PID = P + D + I
PID => salida de señal de control = salida pwm
• Como la salida de pwm esta limitada entre valores [0, 255], hay que
acotar los valores de salida
• Velocidad= amplitud de la señal de control [0, 255]
salida pwm= P + D + I
Si (salida pwm>velocidad) salida pwm=velocidad
Si (salida pwm<-velocidad) salida pwm=-velocidad
35
Salida de señal de control
• Hay que verificar el sentido de dirección a dar al robot
• Señal de control oscila entre [-255, 255] y pwm solo acepta valores
positivos.
Dos posibilidades de correcion de dirección
36
• Si error es positivo  salida de señal de control positiva:
El robot se debe dirigir a la derechapara corregir marcha
• Si (salida pwm>0)
{
motores( velocidad , velocidad - salida pwm )
}
37
• Si error es negativo  salida de señal de control negativa:
El robot se debe dirigir a la izquierda para corregir marcha
• Si (salida pwm < 0)
{
motores( velocidad + salida pwm, velocidad)
}
38
Código PID en arduino
39
Sintonizacion
• Aqui viene el reto, la sintonizacion pid, es aqui donde se tendra que buscar las constantes
que correspondan a las caracteristicas fisicas del robot, la forma mas facil de hacerlo es por
ensayo y error, hasta obtener el valor deseado. Aqui hay unos pasos que ayudaran mucho a
buscar esas constantes:
Comience con Kp, Ki y Kd igualando 0 y trabajar con Kp primero. Pruebe establecer Kp a un
valor de 1 y observar el robot. El objetivo es conseguir que el robot siga la línea, incluso si es
muy inestable. Si el robot llega más allá y pierde la línea, reducir el valor de Kp. Si el robot no
puede navegar por una vez, o parece lenta, aumente el valor Kp.
• Una vez que el robot es capaz de seguir un poco la línea, asignar un valor de 1 a Kd .Intente
aumentar este valor hasta que vea menos oscilaciones.
• Una vez que el robot es bastante estable en la línea siguiente, asigne un valor de 0,5 a 1,0 a
Ki. Si el valor de Ki es demasiado alta, el robot se sacudirá izquierda y derecha rápidamente.
Si es demasiado baja, no se vera ninguna diferencia perceptible. El Integral es acumulativo
por lo tanto el valor Ki tiene un impacto significativo. puede terminar ajustando por 0,01
incrementos.
• Una vez que el robot está siguiendo la línea con una buena precisión, se puede aumentar la
velocidad y ver si todavía es capaz de seguir la línea. La velocidad afecta el controlador PID y
requerirá resintonizar como los cambios de velocidad.
40
Frenos de Contorno
41
• Subrutina independiente del PID
que hará que el robot no se salga
de la pista.
• Es Necesario pues muchas veces
el pid no logra corregir a tiempo,
principalmente en curvas, al
robot este se saldrá
• Solo es ejecutado cuando los
valores de posición son extremos
Multiplexacion
• Uso de múltiples sensores por medio de usando tan solo un canal
analógico.
• varias entradas y una única salida de datos.
• Multiplexor analógico 74HC4067 de 16 canales
42
• Para adquirir datos de sensores ya no se podrá hacer uso de librería
(crear propio algoritmo para adquisición y procesamiento de datos)
• Para nuestro caso la “demultiplexacion” se hara por software (uso de
memoria para guardar datos e identificar de donde se obtuvo)
• Para mejor manejo de los datos de sensores utilizar arrays, matrices,
vectores.
• La forma mas simple de obtener datos de posición usando múltiples
sensores es por medio de un promedio ponderado,donde cada sesor
tendrá un peso “ni” y los valores de lectura analógica están dados
por “Xi”
43
Anexo : Código compilado
44
45
46
47
Mayor información en:
• aprendiendofacilelectronica.blogspot.pe
48
MUCHAS GRACIAS…
49

Más contenido relacionado

Similar a Taller de Robots Velocistas2 esquema....

Ctrl discreto de un motor de cc en velocidad
Ctrl discreto de un motor de cc en velocidadCtrl discreto de un motor de cc en velocidad
Ctrl discreto de un motor de cc en velocidad
Miguel sosa
 
Laboratorio técnico secc. Automatización Industrial
Laboratorio técnico secc. Automatización IndustrialLaboratorio técnico secc. Automatización Industrial
Laboratorio técnico secc. Automatización Industrial
Eduardo Mendez
 
Arquitectura del plc
Arquitectura del plcArquitectura del plc
Arquitectura del plc
ForrestMamani
 
Tutorial arduino 03 programación
Tutorial arduino 03   programaciónTutorial arduino 03   programación
Tutorial arduino 03 programación
Rubén Loredo
 
Info plc introduccion_rapid_abb_irb-140
Info plc introduccion_rapid_abb_irb-140Info plc introduccion_rapid_abb_irb-140
Info plc introduccion_rapid_abb_irb-140
Paulo Cesar Diniz Bicudo
 
Robot automatizado - Antonio José Blanco Ropero y Carlos Sánchez Vicente
Robot automatizado - Antonio José Blanco Ropero y Carlos Sánchez VicenteRobot automatizado - Antonio José Blanco Ropero y Carlos Sánchez Vicente
Robot automatizado - Antonio José Blanco Ropero y Carlos Sánchez Vicente
Carlos Sánchez Vicente
 
Seguidor de linea con arduino
Seguidor de linea con arduinoSeguidor de linea con arduino
Seguidor de linea con arduino
Carlos Arturo Alarcón Romero
 
TFM - Construcción y programación de un Robot paralelo Delta Lineal
TFM - Construcción y programación de un Robot paralelo Delta LinealTFM - Construcción y programación de un Robot paralelo Delta Lineal
TFM - Construcción y programación de un Robot paralelo Delta Lineal
Juan Carlos Cano Montoya
 
Servo motor 360 con arduino
Servo motor 360 con arduinoServo motor 360 con arduino
Servo motor 360 con arduino
Sergio Uscamaita Flores
 
Tutorial arduino 03 programacin
Tutorial arduino 03   programacinTutorial arduino 03   programacin
Tutorial arduino 03 programacin
Don Andrew
 
Tutorial arduino 03 programacin
Tutorial arduino 03   programacinTutorial arduino 03   programacin
Tutorial arduino 03 programacin
Angel Nava Pluma
 
Oso Hormiguero informe final de robotica.pdf
Oso Hormiguero informe final de robotica.pdfOso Hormiguero informe final de robotica.pdf
Oso Hormiguero informe final de robotica.pdf
Edwin4321
 
Sistema de estabilización de cámara para cartografía aérea
Sistema de estabilización de cámara para cartografía aéreaSistema de estabilización de cámara para cartografía aérea
Sistema de estabilización de cámara para cartografía aérea
RFIC-IUMA
 
Barcamp 2015 - Integración de proyectos embebidos utilizando Arduino, Raspbe...
Barcamp 2015 -  Integración de proyectos embebidos utilizando Arduino, Raspbe...Barcamp 2015 -  Integración de proyectos embebidos utilizando Arduino, Raspbe...
Barcamp 2015 - Integración de proyectos embebidos utilizando Arduino, Raspbe...
Carlos Camacho
 
Organización de computadoras
Organización de computadorasOrganización de computadoras
Organización de computadoras
yito24
 
Arduino: Reporte de diseño controlador acuario con Arduino
Arduino: Reporte de diseño controlador acuario con ArduinoArduino: Reporte de diseño controlador acuario con Arduino
Arduino: Reporte de diseño controlador acuario con Arduino
SANTIAGO PABLO ALBERTO
 
Guia mci servo motor con arduino
Guia mci   servo motor con arduinoGuia mci   servo motor con arduino
Guia mci servo motor con arduino
MarceArocas
 
Proyecto seguidor de linea
Proyecto seguidor de linea Proyecto seguidor de linea
Proyecto seguidor de linea
DL3004
 
informe seguidor de linea
informe seguidor de linea informe seguidor de linea
informe seguidor de linea
cristi9908
 
Descripcion nxt
Descripcion nxtDescripcion nxt
Descripcion nxt
JULIO LOPEZ-NUNEZ
 

Similar a Taller de Robots Velocistas2 esquema.... (20)

Ctrl discreto de un motor de cc en velocidad
Ctrl discreto de un motor de cc en velocidadCtrl discreto de un motor de cc en velocidad
Ctrl discreto de un motor de cc en velocidad
 
Laboratorio técnico secc. Automatización Industrial
Laboratorio técnico secc. Automatización IndustrialLaboratorio técnico secc. Automatización Industrial
Laboratorio técnico secc. Automatización Industrial
 
Arquitectura del plc
Arquitectura del plcArquitectura del plc
Arquitectura del plc
 
Tutorial arduino 03 programación
Tutorial arduino 03   programaciónTutorial arduino 03   programación
Tutorial arduino 03 programación
 
Info plc introduccion_rapid_abb_irb-140
Info plc introduccion_rapid_abb_irb-140Info plc introduccion_rapid_abb_irb-140
Info plc introduccion_rapid_abb_irb-140
 
Robot automatizado - Antonio José Blanco Ropero y Carlos Sánchez Vicente
Robot automatizado - Antonio José Blanco Ropero y Carlos Sánchez VicenteRobot automatizado - Antonio José Blanco Ropero y Carlos Sánchez Vicente
Robot automatizado - Antonio José Blanco Ropero y Carlos Sánchez Vicente
 
Seguidor de linea con arduino
Seguidor de linea con arduinoSeguidor de linea con arduino
Seguidor de linea con arduino
 
TFM - Construcción y programación de un Robot paralelo Delta Lineal
TFM - Construcción y programación de un Robot paralelo Delta LinealTFM - Construcción y programación de un Robot paralelo Delta Lineal
TFM - Construcción y programación de un Robot paralelo Delta Lineal
 
Servo motor 360 con arduino
Servo motor 360 con arduinoServo motor 360 con arduino
Servo motor 360 con arduino
 
Tutorial arduino 03 programacin
Tutorial arduino 03   programacinTutorial arduino 03   programacin
Tutorial arduino 03 programacin
 
Tutorial arduino 03 programacin
Tutorial arduino 03   programacinTutorial arduino 03   programacin
Tutorial arduino 03 programacin
 
Oso Hormiguero informe final de robotica.pdf
Oso Hormiguero informe final de robotica.pdfOso Hormiguero informe final de robotica.pdf
Oso Hormiguero informe final de robotica.pdf
 
Sistema de estabilización de cámara para cartografía aérea
Sistema de estabilización de cámara para cartografía aéreaSistema de estabilización de cámara para cartografía aérea
Sistema de estabilización de cámara para cartografía aérea
 
Barcamp 2015 - Integración de proyectos embebidos utilizando Arduino, Raspbe...
Barcamp 2015 -  Integración de proyectos embebidos utilizando Arduino, Raspbe...Barcamp 2015 -  Integración de proyectos embebidos utilizando Arduino, Raspbe...
Barcamp 2015 - Integración de proyectos embebidos utilizando Arduino, Raspbe...
 
Organización de computadoras
Organización de computadorasOrganización de computadoras
Organización de computadoras
 
Arduino: Reporte de diseño controlador acuario con Arduino
Arduino: Reporte de diseño controlador acuario con ArduinoArduino: Reporte de diseño controlador acuario con Arduino
Arduino: Reporte de diseño controlador acuario con Arduino
 
Guia mci servo motor con arduino
Guia mci   servo motor con arduinoGuia mci   servo motor con arduino
Guia mci servo motor con arduino
 
Proyecto seguidor de linea
Proyecto seguidor de linea Proyecto seguidor de linea
Proyecto seguidor de linea
 
informe seguidor de linea
informe seguidor de linea informe seguidor de linea
informe seguidor de linea
 
Descripcion nxt
Descripcion nxtDescripcion nxt
Descripcion nxt
 

Último

Geotecnia temas completos unsa docente .pdf
Geotecnia temas completos unsa docente .pdfGeotecnia temas completos unsa docente .pdf
Geotecnia temas completos unsa docente .pdf
frida171614
 
2.4.- SESION 05-de obras hidaraulicas es
2.4.- SESION 05-de obras hidaraulicas es2.4.- SESION 05-de obras hidaraulicas es
2.4.- SESION 05-de obras hidaraulicas es
HAMIEYESMITHSILVAMEN
 
INFORME TÉCNICO comunidad nativa san gabriel
INFORME TÉCNICO comunidad nativa san gabrielINFORME TÉCNICO comunidad nativa san gabriel
INFORME TÉCNICO comunidad nativa san gabriel
UNIVERSIDAD NACIONAL DE SAN MARTIN - TARAPOTO
 
PRESENTACION PROY REGIONAL PRONATEL (1).pptx
PRESENTACION PROY REGIONAL PRONATEL (1).pptxPRESENTACION PROY REGIONAL PRONATEL (1).pptx
PRESENTACION PROY REGIONAL PRONATEL (1).pptx
deborah13ya
 
Hidrometalurgia e ingeniería y extracción de oro.pdf
Hidrometalurgia e ingeniería y extracción de oro.pdfHidrometalurgia e ingeniería y extracción de oro.pdf
Hidrometalurgia e ingeniería y extracción de oro.pdf
MitsuitNina
 
uso del ultrasonido en procesos de deshidratación de alimentos
uso del ultrasonido en procesos de deshidratación de alimentosuso del ultrasonido en procesos de deshidratación de alimentos
uso del ultrasonido en procesos de deshidratación de alimentos
YaneMedinaOrtiz1
 
Portafolio-Inmel-2022 (1).pdf de telecomunicaciones y redes
Portafolio-Inmel-2022 (1).pdf de telecomunicaciones y redesPortafolio-Inmel-2022 (1).pdf de telecomunicaciones y redes
Portafolio-Inmel-2022 (1).pdf de telecomunicaciones y redes
merqueagroacopio
 
pliego tecnico normativo para tecnicos electricistas
pliego tecnico normativo para tecnicos electricistaspliego tecnico normativo para tecnicos electricistas
pliego tecnico normativo para tecnicos electricistas
SebastinVargasRamos
 
Aplicación de la integral en la mecánica de fluidos
Aplicación de la integral en la mecánica de fluidosAplicación de la integral en la mecánica de fluidos
Aplicación de la integral en la mecánica de fluidos
2322110386
 
ANCHO ESTABLE y RUGOSIDA DEL RIO -jmz.pdf
ANCHO ESTABLE y RUGOSIDA  DEL RIO -jmz.pdfANCHO ESTABLE y RUGOSIDA  DEL RIO -jmz.pdf
ANCHO ESTABLE y RUGOSIDA DEL RIO -jmz.pdf
AldoMaycolPintoShuan
 
TRANSMISIONES MECANICAS AUTOMOVIL PRESENTACION
TRANSMISIONES MECANICAS AUTOMOVIL PRESENTACIONTRANSMISIONES MECANICAS AUTOMOVIL PRESENTACION
TRANSMISIONES MECANICAS AUTOMOVIL PRESENTACION
GABRIEL RUIZ
 
Best Girls Call Aero City 9873940964 Provide Best And Top Girl Service And No...
Best Girls Call Aero City 9873940964 Provide Best And Top Girl Service And No...Best Girls Call Aero City 9873940964 Provide Best And Top Girl Service And No...
Best Girls Call Aero City 9873940964 Provide Best And Top Girl Service And No...
%$A19%
 
Matriz IPERC - Retiro de guarda de Molino de bolas.pdf
Matriz IPERC - Retiro de guarda de Molino de bolas.pdfMatriz IPERC - Retiro de guarda de Molino de bolas.pdf
Matriz IPERC - Retiro de guarda de Molino de bolas.pdf
LuisAlbertoBustamant12
 
METODOS-DE-CONTRATACION LEY DE CONTRATACIONES CON EL ESTADO.pptx
METODOS-DE-CONTRATACION LEY DE CONTRATACIONES CON EL ESTADO.pptxMETODOS-DE-CONTRATACION LEY DE CONTRATACIONES CON EL ESTADO.pptx
METODOS-DE-CONTRATACION LEY DE CONTRATACIONES CON EL ESTADO.pptx
SalhitaloQuispehuama1
 
Arquitecto Colbún - El Quillay - La Guardia
Arquitecto Colbún - El Quillay - La GuardiaArquitecto Colbún - El Quillay - La Guardia
Arquitecto Colbún - El Quillay - La Guardia
Arquitecto Chile
 
Diapositivas-Diseño-de-Afirmado en caminos de BVT
Diapositivas-Diseño-de-Afirmado en caminos de BVTDiapositivas-Diseño-de-Afirmado en caminos de BVT
Diapositivas-Diseño-de-Afirmado en caminos de BVT
DamianAlfaroFlores
 
diagramas unifilares y banco de capacitores (1).pptx
diagramas unifilares y banco de capacitores (1).pptxdiagramas unifilares y banco de capacitores (1).pptx
diagramas unifilares y banco de capacitores (1).pptx
uriecas9
 
“RECONOCIMIENTO DEL SECUENCIADOR DE NANOPOROS (NANOPORE SEQUENCING) MINION MK1C”
“RECONOCIMIENTO DEL SECUENCIADOR DE NANOPOROS (NANOPORE SEQUENCING) MINION MK1C”“RECONOCIMIENTO DEL SECUENCIADOR DE NANOPOROS (NANOPORE SEQUENCING) MINION MK1C”
“RECONOCIMIENTO DEL SECUENCIADOR DE NANOPOROS (NANOPORE SEQUENCING) MINION MK1C”
javisoad
 
Arquitecto Colina - Chacabuco - Los Andes
Arquitecto Colina - Chacabuco - Los AndesArquitecto Colina - Chacabuco - Los Andes
Arquitecto Colina - Chacabuco - Los Andes
Juan Luis Menares, Arquitecto
 
LEY DE SCHMIDT DENTRO DE LA INGENIERIA MECANICA DE MATERIALES
LEY DE SCHMIDT DENTRO DE LA INGENIERIA MECANICA DE MATERIALESLEY DE SCHMIDT DENTRO DE LA INGENIERIA MECANICA DE MATERIALES
LEY DE SCHMIDT DENTRO DE LA INGENIERIA MECANICA DE MATERIALES
gabbcad
 

Último (20)

Geotecnia temas completos unsa docente .pdf
Geotecnia temas completos unsa docente .pdfGeotecnia temas completos unsa docente .pdf
Geotecnia temas completos unsa docente .pdf
 
2.4.- SESION 05-de obras hidaraulicas es
2.4.- SESION 05-de obras hidaraulicas es2.4.- SESION 05-de obras hidaraulicas es
2.4.- SESION 05-de obras hidaraulicas es
 
INFORME TÉCNICO comunidad nativa san gabriel
INFORME TÉCNICO comunidad nativa san gabrielINFORME TÉCNICO comunidad nativa san gabriel
INFORME TÉCNICO comunidad nativa san gabriel
 
PRESENTACION PROY REGIONAL PRONATEL (1).pptx
PRESENTACION PROY REGIONAL PRONATEL (1).pptxPRESENTACION PROY REGIONAL PRONATEL (1).pptx
PRESENTACION PROY REGIONAL PRONATEL (1).pptx
 
Hidrometalurgia e ingeniería y extracción de oro.pdf
Hidrometalurgia e ingeniería y extracción de oro.pdfHidrometalurgia e ingeniería y extracción de oro.pdf
Hidrometalurgia e ingeniería y extracción de oro.pdf
 
uso del ultrasonido en procesos de deshidratación de alimentos
uso del ultrasonido en procesos de deshidratación de alimentosuso del ultrasonido en procesos de deshidratación de alimentos
uso del ultrasonido en procesos de deshidratación de alimentos
 
Portafolio-Inmel-2022 (1).pdf de telecomunicaciones y redes
Portafolio-Inmel-2022 (1).pdf de telecomunicaciones y redesPortafolio-Inmel-2022 (1).pdf de telecomunicaciones y redes
Portafolio-Inmel-2022 (1).pdf de telecomunicaciones y redes
 
pliego tecnico normativo para tecnicos electricistas
pliego tecnico normativo para tecnicos electricistaspliego tecnico normativo para tecnicos electricistas
pliego tecnico normativo para tecnicos electricistas
 
Aplicación de la integral en la mecánica de fluidos
Aplicación de la integral en la mecánica de fluidosAplicación de la integral en la mecánica de fluidos
Aplicación de la integral en la mecánica de fluidos
 
ANCHO ESTABLE y RUGOSIDA DEL RIO -jmz.pdf
ANCHO ESTABLE y RUGOSIDA  DEL RIO -jmz.pdfANCHO ESTABLE y RUGOSIDA  DEL RIO -jmz.pdf
ANCHO ESTABLE y RUGOSIDA DEL RIO -jmz.pdf
 
TRANSMISIONES MECANICAS AUTOMOVIL PRESENTACION
TRANSMISIONES MECANICAS AUTOMOVIL PRESENTACIONTRANSMISIONES MECANICAS AUTOMOVIL PRESENTACION
TRANSMISIONES MECANICAS AUTOMOVIL PRESENTACION
 
Best Girls Call Aero City 9873940964 Provide Best And Top Girl Service And No...
Best Girls Call Aero City 9873940964 Provide Best And Top Girl Service And No...Best Girls Call Aero City 9873940964 Provide Best And Top Girl Service And No...
Best Girls Call Aero City 9873940964 Provide Best And Top Girl Service And No...
 
Matriz IPERC - Retiro de guarda de Molino de bolas.pdf
Matriz IPERC - Retiro de guarda de Molino de bolas.pdfMatriz IPERC - Retiro de guarda de Molino de bolas.pdf
Matriz IPERC - Retiro de guarda de Molino de bolas.pdf
 
METODOS-DE-CONTRATACION LEY DE CONTRATACIONES CON EL ESTADO.pptx
METODOS-DE-CONTRATACION LEY DE CONTRATACIONES CON EL ESTADO.pptxMETODOS-DE-CONTRATACION LEY DE CONTRATACIONES CON EL ESTADO.pptx
METODOS-DE-CONTRATACION LEY DE CONTRATACIONES CON EL ESTADO.pptx
 
Arquitecto Colbún - El Quillay - La Guardia
Arquitecto Colbún - El Quillay - La GuardiaArquitecto Colbún - El Quillay - La Guardia
Arquitecto Colbún - El Quillay - La Guardia
 
Diapositivas-Diseño-de-Afirmado en caminos de BVT
Diapositivas-Diseño-de-Afirmado en caminos de BVTDiapositivas-Diseño-de-Afirmado en caminos de BVT
Diapositivas-Diseño-de-Afirmado en caminos de BVT
 
diagramas unifilares y banco de capacitores (1).pptx
diagramas unifilares y banco de capacitores (1).pptxdiagramas unifilares y banco de capacitores (1).pptx
diagramas unifilares y banco de capacitores (1).pptx
 
“RECONOCIMIENTO DEL SECUENCIADOR DE NANOPOROS (NANOPORE SEQUENCING) MINION MK1C”
“RECONOCIMIENTO DEL SECUENCIADOR DE NANOPOROS (NANOPORE SEQUENCING) MINION MK1C”“RECONOCIMIENTO DEL SECUENCIADOR DE NANOPOROS (NANOPORE SEQUENCING) MINION MK1C”
“RECONOCIMIENTO DEL SECUENCIADOR DE NANOPOROS (NANOPORE SEQUENCING) MINION MK1C”
 
Arquitecto Colina - Chacabuco - Los Andes
Arquitecto Colina - Chacabuco - Los AndesArquitecto Colina - Chacabuco - Los Andes
Arquitecto Colina - Chacabuco - Los Andes
 
LEY DE SCHMIDT DENTRO DE LA INGENIERIA MECANICA DE MATERIALES
LEY DE SCHMIDT DENTRO DE LA INGENIERIA MECANICA DE MATERIALESLEY DE SCHMIDT DENTRO DE LA INGENIERIA MECANICA DE MATERIALES
LEY DE SCHMIDT DENTRO DE LA INGENIERIA MECANICA DE MATERIALES
 

Taller de Robots Velocistas2 esquema....

  • 1. Taller Robot Velocista de Competencias Por Marko A. Caballero Moreno. 1
  • 2. “La lógica te llevara de A a B, la imaginación te llevara a todas Partes” –Albert Einstein- 2
  • 3. Introducción • Que es un Robot Velocista diferencial? • En que consiste la competencia? • Reglas de la competencia 3
  • 5. Características técnicas según Bases: Solo tracción tipo diferencial. Dimensiones máximas de robot: 20 cm ancho x 25 cm de largo. Solo se permite accionamiento manual del robot. Pista de Competencia contendrá 2 colores: blanco y negro. Grosor de la línea de la pista: 2cm máximo. Radio de Curvas Mínimo: 10 Cm La pista generalmente es impresa sobre banner. 5
  • 6. Consideraciones previas Tiempo de realización del robot Disponibilidad de materiales en el mercado local. Importación. Complejidad del diseño (hardware y software) 6
  • 7. *Básico Costo aceptable (350 S/. a 500 s/.) Tiempo de realización del robot relativamente corto.  Uso de módulos generalmente de “Pololu” Existen tiendes en Lima “Vava technologies” que tienen todos los materiales disponibles.  Uso de librerías  Arduino. 7
  • 8. *Mas especializado Costos muy variados.  mayor tiempo de diseño electrónico.  piezas poco comunes (smd) ,  importación,  Tarjeta electrónica mas elaborada, microcontroladores mas potentes: PIC 18fxxx, ARM Cortex m3, mbed lpcxxx, freescale mpcxxx. Hardware mas sofisticado: uso de turbina, mayor numero de sensores, uso de multiplexor analógico, encoders, etc. Mayor tiempo en desarrollo del programa. 8
  • 9. Materiales • Robot velocista de competencia Basico: - Modulo de sensores Pololu Qtr8a o Qtr8rc (explico en breve…) - 2 micromotores (Hp, Mp, 10:1, 30:1, explico en breve…) - Par de brackets de motor - Modulo Driver motor pololu tb6612fng - Arduino nano o micro (tamaño reducido) - ball caster pololu de plástico - Baterias de lipo 7.4v + cargador - Diseño de placa-chasis (marks Naola, “Paruro”) - Llantas de goma (tiene que ser hecho a medida) - Componetes electrónicos varios: switch, resistencias leds, condensadores, pulsadores, etc. 9
  • 10. • Qtr8a o Qtr8rc ? • 10:1 o 30:1 ? • Mp o Hp ? • Amperaje de batería –mAh-? 10
  • 11. Sensores “Qtr8a” Pololu • Arreglo de 8 sensores. • 100 mA de consumo, rango de sensado de 3 mm a 6 mm • Sensores analógicos (pines analógicos) • Costo aproximado de 55 soles. • Incluye librería en arduino (descargar de github) • La librería hace todo el trabajo de captar los datos de sensores y entrega valores relativas de posición 11
  • 12. 12
  • 13. Uso de librería Qtr8a en arduino • https://www.pololu.com/product/960/resources (mayor información) • Descargar la librería desde aquí : https://mega.nz/#F!78FVmD7Q!auGJgTr0Muo9qkNtl9CuLA • Una vez descargado instalar la librería de modo convencional en arduino: Copiar y pegar en la carpeta “librerías” de la carpeta donde esta instalado arduino. 13
  • 14. • La librería contiene un ejemplo basico de uso de los sensores • “QTRAExample”, abrirla y experimentar… 14
  • 15. Creando el objeto sensores Qtr8a 15
  • 16. 16
  • 17. Uso de funciones de la librería Qtr8a • qtra.calibrate(); Primera función a ser llamada, antes de usar los sensores, hace calibración de sensores (debe usarse un tiempo adecuado) • qtra.read(sensorValues); Hace lectura de cada sensor y los guarda en matriz “sensorValues[ ];” Rango de lectura de cada sensor : 0 a 1000. • position = qtra.readLine(sensorValues); Esta función devolverá la posición de sensores (necesario pid) 17
  • 18. Diseño del Robot • Consideraciones: Peso Centro de masa Baterias Tamaño Filtrado de ruido Llantas 18
  • 19. Diseño de placa • Proteus (isis ares) • Eagle • Componentes superficiles (smd) • Recomendado usar doble cara 19
  • 20. Control del driver tb6612fng Pololu • Costo aprox de s/. 45 (vavatech) • 1.5 amp. Por canal , mosfet • Tamaño muy reducido • Conexiones a arduino (explico en breve…) 20
  • 22. PWM Frecuencia-Periodo Amplitud Duty cycle (Ciclo de trabajo) Técnica utilizada para regular velocidad de giro de los motores eléctricos 22
  • 23. Lógica de control del motor con driver Pwm => velocidad Dirección (control básico) Avanzar Izquierda derecha 23 Motor izquierdo Motor derecho mi1 mi2 pwmi md1 md2 pwmd 1 0 valor[1-255] 1 0 valor[1-255] 0 0 Valor[ 0 ] 1 0 valor[1-255] 1 0 valor[1-255] 0 0 Valor[ 0 ]
  • 24. Control de motor de forma diferencial • La diferencia de velocidad entre un motor y el otro, produce un cambio de dirección. • La velocidad se varia por medio del pwm . 24
  • 25. Algoritmo para controlar 2 motores • 1ro Definir pines a usar en arduino: #define mi1 3 #define mi2 4 #define pwmi 6 #define md1 8 #define md2 7 #define pwmd 5 25
  • 26. • 2do crear la función de control de motores 26
  • 27. 27
  • 28. Algoritmo de control PID Objetivo de robot Set point error Proporcional Diferencial Integral Kp Kd Ki Velocidad 28
  • 29. Posición Proporcional pasado Salida pwm (salida de control) • Nota: En estos apartado acerca del PID, se intenta explicar de manera practica y didáctica en lo que sea posible, por lo que la implementación de el algoritmo no es uno de los mas perfectos y se obviaron algunos parámetros para hacerlo muy simple y entendible, se tienen en cuenta solo los mas fundamentales, si busca información mas detallada acerca del PID puede basarse de fuentes innumerables en internet. 29
  • 30. Muestreo y discretizacion para PID Dado que se trabaja con un microcontrolador, este solo es capaz de trabajar mediante ciclos (KHZ, MHZ) Tiempos discretos En cada itineraracion se obtienen tiene una entrada, se procesa y se da una salida. (necesario para un algoritmo concurrente como el PID) 30
  • 31. Set point y error • Posicion = valores de sensores [0-7000] • Error = posicion- set point 31
  • 32. Control proporcional • Proporcional = error * kp Es la respuesta al error que se tiene que entregar de manera inmediata, es decir, si nos encontramos en el centro de la linea, los motores , tendran en respuesta una velocidad de igual valor, si nos alejamos del centro, uno de los motores reducira su velocidad y el otro aumentara. • “kp” = ganancia proporcional Es un valor constante utilizado para aumentar o reducir el impacto de Proporcional. Si el valor es excesivo, el robot tendera responder inestablemente, oscilando excesivamente. Si el valor es muy pequeño, el robot respondera muy lentamente, tendiendo a salirse de las curvas 32
  • 33. Control diferencial • derivativo = (error - error pasado)*kd Es la derivada del error, su funcion es mantener el error al minimo, corrigiendolo proporcionalmente con la mismo velocidad que se produce, de esta manera evita que el error se incremente, en otra palabra, anticipara la accion evitando asi las oscilaciones excesivas. • “kd”= ganancia diferencial Es un valor constante utilizado para aumentar o reducir el impacto de la Derivada. Un valor excesivo provocara una sobre amortiguacion. provocando inestabilidad. 33
  • 34. Control Integral Integral=Integral + proporcional_pasado • es la sumatoria de los errores acumulados, tiene como propósito el disminuir y eliminar el error en estado estacionario provocado por el modo proporcional, en otras palabras, si el robot velocista se encuentra mucho tiempo alejado del centro (ocurre muchas veces cuando se encuentra en curvas), la accion integral se ira acumulando e ira disminuyendo el error hasta llegar al punto de consigna, (Ki) Ganancia integral • Es un valor constante utilizado para aumentar o reducir el impacto de la Integral, El valor excesivo de este provocara oscilaciones excesivas, Un valor demasiado bajo no causara impacto alguno. 34
  • 35. Control PID = P + D + I PID => salida de señal de control = salida pwm • Como la salida de pwm esta limitada entre valores [0, 255], hay que acotar los valores de salida • Velocidad= amplitud de la señal de control [0, 255] salida pwm= P + D + I Si (salida pwm>velocidad) salida pwm=velocidad Si (salida pwm<-velocidad) salida pwm=-velocidad 35
  • 36. Salida de señal de control • Hay que verificar el sentido de dirección a dar al robot • Señal de control oscila entre [-255, 255] y pwm solo acepta valores positivos. Dos posibilidades de correcion de dirección 36
  • 37. • Si error es positivo  salida de señal de control positiva: El robot se debe dirigir a la derechapara corregir marcha • Si (salida pwm>0) { motores( velocidad , velocidad - salida pwm ) } 37
  • 38. • Si error es negativo  salida de señal de control negativa: El robot se debe dirigir a la izquierda para corregir marcha • Si (salida pwm < 0) { motores( velocidad + salida pwm, velocidad) } 38
  • 39. Código PID en arduino 39
  • 40. Sintonizacion • Aqui viene el reto, la sintonizacion pid, es aqui donde se tendra que buscar las constantes que correspondan a las caracteristicas fisicas del robot, la forma mas facil de hacerlo es por ensayo y error, hasta obtener el valor deseado. Aqui hay unos pasos que ayudaran mucho a buscar esas constantes: Comience con Kp, Ki y Kd igualando 0 y trabajar con Kp primero. Pruebe establecer Kp a un valor de 1 y observar el robot. El objetivo es conseguir que el robot siga la línea, incluso si es muy inestable. Si el robot llega más allá y pierde la línea, reducir el valor de Kp. Si el robot no puede navegar por una vez, o parece lenta, aumente el valor Kp. • Una vez que el robot es capaz de seguir un poco la línea, asignar un valor de 1 a Kd .Intente aumentar este valor hasta que vea menos oscilaciones. • Una vez que el robot es bastante estable en la línea siguiente, asigne un valor de 0,5 a 1,0 a Ki. Si el valor de Ki es demasiado alta, el robot se sacudirá izquierda y derecha rápidamente. Si es demasiado baja, no se vera ninguna diferencia perceptible. El Integral es acumulativo por lo tanto el valor Ki tiene un impacto significativo. puede terminar ajustando por 0,01 incrementos. • Una vez que el robot está siguiendo la línea con una buena precisión, se puede aumentar la velocidad y ver si todavía es capaz de seguir la línea. La velocidad afecta el controlador PID y requerirá resintonizar como los cambios de velocidad. 40
  • 41. Frenos de Contorno 41 • Subrutina independiente del PID que hará que el robot no se salga de la pista. • Es Necesario pues muchas veces el pid no logra corregir a tiempo, principalmente en curvas, al robot este se saldrá • Solo es ejecutado cuando los valores de posición son extremos
  • 42. Multiplexacion • Uso de múltiples sensores por medio de usando tan solo un canal analógico. • varias entradas y una única salida de datos. • Multiplexor analógico 74HC4067 de 16 canales 42
  • 43. • Para adquirir datos de sensores ya no se podrá hacer uso de librería (crear propio algoritmo para adquisición y procesamiento de datos) • Para nuestro caso la “demultiplexacion” se hara por software (uso de memoria para guardar datos e identificar de donde se obtuvo) • Para mejor manejo de los datos de sensores utilizar arrays, matrices, vectores. • La forma mas simple de obtener datos de posición usando múltiples sensores es por medio de un promedio ponderado,donde cada sesor tendrá un peso “ni” y los valores de lectura analógica están dados por “Xi” 43
  • 44. Anexo : Código compilado 44
  • 45. 45
  • 46. 46
  • 47. 47
  • 48. Mayor información en: • aprendiendofacilelectronica.blogspot.pe 48