TESIS Control de Una Plataforma Móvil
TESIS Control de Una Plataforma Móvil
TESIS Control de Una Plataforma Móvil
3
Índice
1. Introducción .................................................................................................. 17
1.1. Robot móvil ............................................................................................ 17
1.1.1. Entorno ............................................................................................ 17
1.1.2. Tipos de sistemas de locomoción terrestre ..................................... 18
1.1.3. Tipos de sensores ........................................................................... 20
1.2. Antecedentes ......................................................................................... 20
1.3. Justificación del proyecto ....................................................................... 24
1.4. Objetivos ................................................................................................ 24
1.5. Alcance del proyecto.............................................................................. 24
1.6. Descripción general ............................................................................... 25
2. Análisis de requisitos .................................................................................... 27
2.1. Requisitos de alimentación .................................................................... 27
2.1.1. Placa stm32f4 discovery ................................................................. 27
2.1.2. Motores, sensores y circuitos alternativos ....................................... 27
2.1.3 Limitaciones ..................................................................................... 28
2.2. Requisitos del chasis ............................................................................. 28
2.3. Requisitos de los motores...................................................................... 28
2.4. Requisitos de las ruedas........................................................................ 29
2.5. Requisitos de la controladora de los motores ........................................ 29
2.6. Requisitos de los sensores .................................................................... 29
2.7. Requisitos de otros circuitos .................................................................. 29
2.8. Requisitos entorno PC ........................................................................... 29
3. Análisis de las soluciones............................................................................. 30
3.1. Análisis de la alimentación..................................................................... 30
3.1.1. Placa stm32f4 discovery ................................................................. 30
3.1.2. Motores, sensores y circuitos alternativos ....................................... 32
3.2. Análisis del chasis ................................................................................. 34
3.2.1. Lynxmotion 4AWD1 rover ............................................................... 34
3.2.2. Chasis AL13 color plateado. ........................................................... 35
3.2.3. Chasis robot 4WD ........................................................................... 36
3.3. Análisis de los motores .......................................................................... 37
3.3.1. Motor GHM-16 (4AWD1 rover) ........................................................ 37
3.3.2. Motor reductor 2 ejes (4WD metálico color plateado) ..................... 38
3.3.3. Motor reductor 2 ejes (robot 4WD) ................................................. 38
3.4. Análisis de las ruedas ............................................................................ 39
3.4.1. Pareja de neumáticos Lynxmotion off road robot (4AWD1 rover) ... 39
4
3.4.2. Pareja de ruedas con reductora (4WD metálico color plateado y
robot 4WD) 41
3.5. Análisis de la controladora del motor ..................................................... 42
3.5.1. Sabertooth Dual .............................................................................. 42
3.5.2. Controlador de motores con doble puente H (L298N) ..................... 43
3.6. Análisis de los sensores ........................................................................ 44
3.6.1. Sensor de distancia por ultrasonidos HC-SR04 .............................. 44
3.6.2. Sensor de movimiento PIR .............................................................. 45
3.6.3. Sensor IR Vishay............................................................................. 45
3.7. Análisis de otros circuitos ...................................................................... 46
3.7.1. Easy vr 3.0 ...................................................................................... 46
3.7.2. Pantalla LCD 2x16 .......................................................................... 47
3.7.3. Diodo LED de alto brillo ................................................................... 48
4. Descripción de la solución adoptada ............................................................ 48
4.1. Selección de la alimentación ................................................................. 57
4.1.1. Placa stm32f4 discovery ................................................................. 57
4.1.2. Motores, sensores y circuitos alternativos ....................................... 57
4.2. Selección del chasis .............................................................................. 58
4.3. Selección de los motores ....................................................................... 60
4.4. Selección de las ruedas ......................................................................... 61
4.5. Selección de la controladora del motor .................................................. 62
4.6. Selección de los sensores ..................................................................... 63
4.7. Selección de otros circuitos ................................................................... 64
4.7.1. Pantalla LCD 2x16 .......................................................................... 64
4.7.2. Diodo LED de alto brillo ................................................................... 65
5. Plataforma móvil ........................................................................................... 66
5.1. Esquema general de los componentes .................................................. 66
5.2. Funcionamiento ..................................................................................... 66
5.3. Conexiones ............................................................................................ 67
5.3.1. Placa stm32F407 de discovery ....................................................... 67
5.3.2. Alimentación de la placa stm32F407............................................... 68
5.3.3. Conectores de la plataforma móvil .................................................. 69
5.3.4. Controladora de los motores y motores .......................................... 69
5.3.5. LCD ................................................................................................. 70
5.3.6. Sensores ultrasónicos ..................................................................... 71
5.3.7. LED ................................................................................................. 71
5.3.8. Conexionado con el microcontrolador ............................................. 71
5
5.4. Mecanizado ........................................................................................... 73
5.4.1. Placa stm32F407 de discovery ....................................................... 73
5.4.2. Alimentación USB ........................................................................... 74
5.4.3. Controladora de los motores ........................................................... 74
5.4.4. Portapilas ........................................................................................ 75
5.4.5. Interruptor ........................................................................................ 75
5.4.6. Motores ........................................................................................... 76
5.4.7. Ruedas ............................................................................................ 76
5.4.8. LCD ................................................................................................. 77
5.4.9. Sensores ultrasónicos ..................................................................... 78
5.4.10. LED ............................................................................................... 79
5.5. Vista frontal ............................................................................................ 80
5.6. Vista lateral ............................................................................................ 81
5.7. Vista trasera........................................................................................... 81
5.8. Vista aérea............................................................................................. 82
5.9. Vista interior ........................................................................................... 83
6. Planificación del trabajo................................................................................ 83
6.1. Listado de tareas ................................................................................... 83
6.2. Diagrama de Gantt ................................................................................ 86
7. Presupuesto ................................................................................................. 88
7.1. Presupuesto de recursos humanos .................................................... 88
7.2. Presupuesto de software .................................................................... 88
7.3. Presupuesto de hardware .................................................................. 89
7.4. Presupuesto gastos de envío ............................................................. 90
7.5. Presupuesto final................................................................................ 90
8. Problemas ocurridos en el transcurso del proyecto ...................................... 90
9. Trabajos futuros ........................................................................................... 92
10. Conclusiones .............................................................................................. 93
11. Bibliografía ................................................................................................. 94
12. Anexo A - Componentes de la plataforma móvil ........................................ 96
12.1. Placa STM32 F4 Discovery ................................................................. 96
12.1.1. Embalaje ....................................................................................... 96
12.1.2. Requisitos de hardware ................................................................. 96
12.1.3. Requisitos de software .................................................................. 96
12.1.4. Microcontrolador............................................................................ 96
12.1.5. Características STLINK ................................................................. 97
12.1.6. Periféricos y soportes .................................................................... 97
6
12.1.7. Osciladores ................................................................................... 98
12.1.8. Puentes de soldadura ................................................................... 98
12.2. Motores de corriente continua ............................................................. 98
12.2.1. Descripción ................................................................................... 98
12.2.2. Principio de funcionamiento .......................................................... 99
12.2.3. Reductores .................................................................................... 99
12.2.4. Características de los motores escogidos ..................................... 99
12.2.5. Funcionamiento ............................................................................. 99
12.2.6. Control de un motor de corriente continua .................................. 100
12.3. Servomotores .................................................................................... 101
12.3.1. Descripción ................................................................................. 101
12.3.2. Funcionamiento ........................................................................... 101
12.3.3. Características de los servomotores escogidos .......................... 102
12.3.4. Conexión de un Servomotor ........................................................ 102
12.4. Controlador de motores L298N .......................................................... 103
12.4.1. Descripción general..................................................................... 103
12.4.2. Descripción de las partes del driver ............................................ 104
12.4.3. Características de la controladora escogida ............................... 104
12.4.4. Esquema electrónico ................................................................... 105
12.4.5. Ejemplo de conexiones ............................................................... 105
12.4.6. Funcionamiento ........................................................................... 106
12.5. Diodos LED........................................................................................ 107
12.5.1. Descripción ................................................................................. 107
12.5.2. Formas de determinar la polaridad de un diodo LED de inserción
108
12.5.3. Características de los diodos LED escogidos ............................. 108
12.5.4. Funcionamiento ........................................................................... 108
12.5.5. Cálculo de la resistencia en serie ................................................ 109
12.6. Sensor ultrasónico HC-SR04 ............................................................. 110
12.6.1. Descripción ................................................................................. 110
12.6.2. Características del sensor ultrasónico escogido ......................... 110
12.6.3. Patillaje........................................................................................ 111
12.6.4. Funcionamiento ........................................................................... 111
12.7. Pantalla LCD 2x16 ............................................................................. 112
12.7.1. Descripción ................................................................................. 112
12.7.2. Patillaje........................................................................................ 113
12.7.3. Conexiones del LCD ................................................................... 113
7
12.7.4. Características del LCD 2x16 escogido ...................................... 114
12.7.5. Funcionamiento ........................................................................... 114
12.8. Mini breadboard adhesiva .................................................................. 117
12.8.1. Descripción ................................................................................. 118
12.8.2. Características de la breadboard escogida ................................. 118
12.9. PortaLED cóncavo ............................................................................. 118
12.9.1. Descripción ................................................................................. 118
12.9.2. Características del portaLED escogido ....................................... 118
12.10. Portapilas 6 pilas AA ........................................................................ 119
12.10.1. Descripción ............................................................................... 119
12.10.2. Características del portapilas escogido ..................................... 119
12.11. Interruptor ........................................................................................ 119
12.11.1. Descripción ............................................................................... 119
12.11.2. Características del interruptor escogido .................................... 120
12.11.3. Funcionamiento ......................................................................... 120
12.12. Resistencia ...................................................................................... 120
12.12.1. Descripción ............................................................................... 121
12.12.2. Características de las resistencias escogidas ........................... 121
12.12.3. Código de colores ..................................................................... 121
12.13. Soporte sensor ultrasónico HC-SR04 .............................................. 121
12.13.1. Descripción ............................................................................... 122
12.13.2. Características del soporte escogido ........................................ 122
12.14. Alimentador USB ............................................................................. 122
12.14.1. Descripción ............................................................................... 122
12.14.2. Características del soporte escogido ........................................ 122
12.15. Cableado ......................................................................................... 123
12.15.1. Descripción ............................................................................... 123
12.15.2. Cableado conexión elementos de la placa ................................ 123
12.15.3. Cableado conexión elementos de la alimentación .................... 124
12.16. Componentes de fijación ................................................................. 125
12.16.1. Tornillo 3 mm y 4 mm ................................................................ 125
12.16.2. Tuerca 4 mm ............................................................................. 125
12.16.3. Separador tornillo 3 mm ............................................................ 125
13. Anexo B - Funcionamiento de los registros de la placa stm32f4 de discovery
....................................................................................................................... 126
13.1. Crear nuevo proyecto ........................................................................ 126
13.2. Cargar un proyecto ............................................................................ 148
8
13.3. Introducción a la programación al stm32f407VG ............................... 154
13.3.1 Introducción al GPIO .................................................................... 154
13.3.2. Introducción a las interrupciones externas (EXTI) ....................... 166
13.3.3. Introducción al timer 2 (TIM2) ..................................................... 171
14. Anexo C - Esquemas ............................................................................... 177
14.1. Esquema microcontrolador ................................................................ 177
14.2. Esquema LED .................................................................................... 178
14.3. Esquema controladora motores ......................................................... 178
14.4. Esquema LCD ................................................................................... 179
14.5. Esquema sensores ............................................................................ 179
15. Anexo D - Programa plataforma móvil ..................................................... 180
15.1. Diagrama de bloques ..................................................................... 180
15.2. Programa Keil Uvision .................................................................... 184
15. Anexo E - Datasheets............................................................................... 201
9
Índice de figuras
10
Figura 33: Pantalla LCD 2x16. ...................................................................................... 47
Figura 34: LED de alto brillo. ....................................................................................... 48
Figura 35: Power bank Ksix. ........................................................................................ 57
Figura 36: Portapilas.................................................................................................... 58
Figura 37: Chasis AL13 color plateado. ....................................................................... 59
Figura 38: Motor 4WD del chasis color plateado. ....................................................... 61
Figura 39: Pareja de ruedas con reductora. ................................................................ 62
Figura 40: L298N negro. .............................................................................................. 63
Figura 41: Sensor HC-SR04 de ultrasonidos. ............................................................... 64
Figura 42: Pantalla LCD 2x16. ...................................................................................... 65
Figura 43: LED de alto brillo. ....................................................................................... 65
Figura 44: Esquema de los componentes de la plataforma móvil. ............................. 66
Figura 45: Encapsulado LQFP100. ............................................................................... 67
Figura 46: Placa stm32F407 de discovery. .................................................................. 68
Figura 47: Conector USB-A a mini-B. ........................................................................... 68
Figura 48: Conectores del proyecto. ........................................................................... 69
Figura 49: Conexionado controladora de motores, motores y portapilas. ................. 69
Figura 50: Cableado motores y portapilas. ................................................................. 70
Figura 51: Conexionado LCD. ...................................................................................... 70
Figura 52: Minibreadboard adhesiva. ......................................................................... 70
Figura 53: Conexionado sensor HC-SR04. ................................................................... 71
Figura 54: Conexionado LED........................................................................................ 71
Figura 55: Placa de topos y medidas de las perforaciones. ........................................ 73
Figura 56: Modo de fijación de la placa de topos. ...................................................... 73
Figura 57: Modo de fijación alimentación USB. .......................................................... 74
Figura 58: Ubicación controladora de motores. ......................................................... 74
Figura 59: Imagen controladora de motores. ............................................................. 75
Figura 60: Imagen portapilas. ...................................................................................... 75
Figura 61: Imagen del interruptor en el exterior de la plataforma móvil. .................. 75
Figura 62: Imagen del interruptor en el interior de la plataforma móvil.................... 76
Figura 63: Imagen del motor en el interior de la plataforma móvil. ........................... 76
Figura 64: Imagen del motor en el exterior de la plataforma móvil. .......................... 76
Figura 65: Imagen de la rueda de la plataforma móvil. .............................................. 77
Figura 66: Imagen del LCD en el exterior de la plataforma móvil. .............................. 77
11
Figura 67: Imagen del potenciómetro en el exterior de la plataforma móvil. ............ 77
Figura 68: Imagen del soporte del sensor HC-SR04. ................................................... 78
Figura 69: Imagen de la ubicación de los soportes. .................................................... 78
Figura 70: Imagen del soporte en el exterior de la plataforma móvil......................... 79
Figura 71: Imagen del pegamento usado en la fijación de los soportes. .................... 79
Figura 72: PortaLED. .................................................................................................... 79
Figura 73: Imagen del portaLED en el exterior de la plataforma móvil. ..................... 80
Figura 74: Imagen del portaLED en el interior de la plataforma móvil. ...................... 80
Figura 75: Plataforma móvil vista frontal. ................................................................... 80
Figura 76: Plataforma móvil vista lateral. ................................................................... 81
Figura 77: Plataforma móvil vista trasera. .................................................................. 81
Figura 78: Plataforma móvil vista aérea...................................................................... 82
Figura 79: Plataforma móvil vista interior................................................................... 83
Figura 80: Diagrama de Gantt. .................................................................................... 87
Figura 81: Placa stm32F407 de discovery. .................................................................. 96
Figura 82: Motor de corriente continua...................................................................... 98
Figura 83: PWM modulación por ancho de pulso. .................................................... 101
Figura 84: Servomotor............................................................................................... 101
Figura 85: PWM servomotor para llevarlo a posición central................................... 102
Figura 86: Tiempo en estado alto para llevar el servomotor a cada posición. ......... 102
Figura 87: L298N negro. ............................................................................................ 103
Figura 88: L298N descripción de los componentes................................................... 104
Figura 89: L298N esquema electrónico. .................................................................... 105
Figura 90: L298N conexiones. ................................................................................... 105
Figura 91: L298N ejemplo de conexiones. ................................................................ 106
Figura 92: LED. ........................................................................................................... 107
Figura 93: Partes del LED. .......................................................................................... 107
Figura 94: Esquema electrónico de conexión del LED. ............................................. 109
Figura 95: Sensor HC-SR04. ....................................................................................... 110
Figura 96: HC-SR04 conexiones. ................................................................................ 111
Figura 97: HC-SR04 funcionamiento. ........................................................................ 112
Figura 98: Pantalla LCD 2x16. .................................................................................... 112
Figura 99: Patillas LCD. .............................................................................................. 113
Figura 100: Esquema electrónico de conexiones. ..................................................... 114
12
Figura 101: Abreviaturas LCD. ................................................................................... 116
Figura 102: Ejemplo de símbolos LCD. ...................................................................... 117
Figura 103: Minibreadboard. .................................................................................... 117
Figura 104: PortaLED. ................................................................................................ 118
Figura 105: Portapilas................................................................................................ 119
Figura 106: Interruptor.............................................................................................. 119
Figura 107: Símbolo interruptor................................................................................ 120
Figura 108: Resistencia. ............................................................................................. 120
Figura 109: Soporte del sensor HC-SR04. .................................................................. 121
Figura 110: Alimentador USB. ................................................................................... 122
Figura 111: Cableado proyecto. ................................................................................ 123
Figura 112: Set de cables........................................................................................... 123
Figura 113: Cable USB-A a mini-B.............................................................................. 124
Figura 114: Tornillo 4 mm. ........................................................................................ 125
Figura 115: Tuerca 4 mm........................................................................................... 125
Figura 116: Separador 3 mm. .................................................................................... 125
Figura 117: Pantalla inicial Keil uVision. .................................................................... 126
Figura 118: Pestaña Project Keil uVision. .................................................................. 127
Figura 119: Ventana para guardar proyecto Keil uVision. ........................................ 127
Figura 120: Ventana Select Device Keil uVision. ....................................................... 128
Figura 121: Ventana Select Device Keil uVision. ....................................................... 128
Figura 122: Ventana Select Device Keil uVision. ....................................................... 129
Figura 123: Ventana Select Device Keil uVision. ....................................................... 129
Figura 124: Ventana Manage Run Keil uVision. ........................................................ 130
Figura 125: Ventana Manage Run Keil uVision. ........................................................ 130
Figura 126: Ventana principal Keil uVision. ............................................................... 131
Figura 127: Pestaña Source Group 1 Keil uVision. .................................................... 131
Figura 128: Ventana Manage Project Items Keil uVision. ......................................... 132
Figura 129: Ventana Manage Project Items Keil uVision. ......................................... 132
Figura 130: Ventana principal Keil uVision. ............................................................... 133
Figura 131: Ventana Manage Project Items Keil uVision. ......................................... 133
Figura 132: Ventana Manage Project Items Keil uVision. ......................................... 134
Figura 133: Ventana Manage Project Items Keil uVision. ......................................... 134
Figura 134: Ventana Manage Project Items Keil uVision. ......................................... 135
13
Figura 135: Ventana añadir archivos Keil uVision. .................................................... 135
Figura 136: Ventana de aviso Keil uVision. ............................................................... 136
Figura 137: Ventana Manage Project Items Keil uVision. ......................................... 136
Figura 138: Ventana Manage Project Items Keil uVision. ......................................... 137
Figura 139: Ventana principal Keil uVision. ............................................................... 137
Figura 140: Pestaña configurar entradas Keil uVision............................................... 138
Figura 141: Ventana para añadir archivos Keil uVision. ............................................ 138
Figura 142: Ventana para añadir archivos Keil uVision. ............................................ 139
Figura 143: Ventana para añadir archivos Keil uVision. ............................................ 139
Figura 144: Botón Options for Target Keil uVision. ................................................... 140
Figura 145: Ventana Options for Target Keil uVision. ............................................... 140
Figura 146: Ventana Options for Target Keil uVision. ............................................... 141
Figura 147: Ventana Options for Target Keil uVision. ............................................... 141
Figura 148: Ventana Options for Target Keil uVision. ............................................... 142
Figura 149: Ventana Options for Target Keil uVision. ............................................... 142
Figura 150: Ventana Options for Target Keil uVision. ............................................... 143
Figura 151: Ventana Cortex-M Target Driver Setup Keil uVision. ............................. 143
Figura 152: Ventana Cortex-M Target Driver Setup Keil uVision. ............................. 144
Figura 153: Ventana Cortex-M Target Driver Setup Keil uVision. ............................. 144
Figura 154: Ventana Cortex-M Target Driver Setup Keil uVision. ............................. 145
Figura 155: Ventana Cortex-M Target Driver Setup Keil uVision. ............................. 145
Figura 156: Ventana Cortex-M Target Driver Setup Keil uVision. ............................. 146
Figura 157: Ventana Add Flash Programming Algorithm Keil uVision. ..................... 146
Figura 158: Ventana Cortex-M Target Driver Setup Keil uVision. ............................. 147
Figura 159: Botón para compilar Keil uVision. .......................................................... 148
Figura 160: Línea de código errónea Keil uVision. .................................................... 148
Figura 161: Botón cargar el programa a la placa Keil uVision. .................................. 149
Figura 162: Mensaje de advertencia Keil uVision. .................................................... 149
Figura 163: Mensaje de error Keil uVision. ............................................................... 150
Figura 164: Compilación correcta Keil uVision. ......................................................... 150
Figura 165: Botón de pruebas de la placa Keil uVision. ............................................ 151
Figura 166: Ventana de pruebas/depuración de código Keil uVision. ...................... 151
Figura 167: Botón reset para la placa Keil uVision. ................................................... 152
Figura 168: Botón run para la placa Keil uVision....................................................... 152
14
Figura 169: Break point Keil uVision. ........................................................................ 153
Figura 170: Botón de funcionamiento paso a paso del código Keil uVision. ............ 153
Figura 171: Placa con el código cargado. .................................................................. 154
Figura 172: Registro RCC_AHB1ENR.......................................................................... 156
Figura 173: Registro GPIO_MODER. .......................................................................... 157
Figura 174: Imagen transistores en modo source y modo sink. ............................... 158
Figura 175: Imagen inversor 7404 en “Totem Pole”. ................................................ 158
Figura 176: Imagen inversor 7405 con colector abierto. .......................................... 159
Figura 177: Registro GPIO_OTYPER. .......................................................................... 159
Figura 178: Registro GPIO_OSPEEDR. ....................................................................... 160
Figura 179: Resistencias pull-down. .......................................................................... 161
Figura 180: Resistencias pull-up. ............................................................................... 161
Figura 181: Registro GPIO_PUPDR. ........................................................................... 162
Figura 182: Registro GPIO_IDR. ................................................................................. 163
Figura 183: Registro GPIO_ODR. ............................................................................... 163
Figura 184: Registro GPIO_BSRR. .............................................................................. 164
Figura 185: Ejemplo de configuración del GPIO. ....................................................... 165
Figura 186: Registro RCC_APB2ENR. ......................................................................... 166
Figura 187: Registro SYSCFG_EXTICR1. ..................................................................... 167
Figura 188: Esquema de funcionamiento del EXTI.................................................... 168
Figura 189: Registro EXTI_IMR. ................................................................................. 169
Figura 190: Registro EXTI_RTSR................................................................................. 169
Figura 191: Registro EXTI_PR. ................................................................................... 170
Figura 192: Ejemplo de configuración de una interrupción externa. ....................... 170
Figura 193: Registro RCC_APB1ENR. ......................................................................... 171
Figura 194: Registro TIM_CR1. .................................................................................. 173
Figura 195: Registro TIM_DIER. ................................................................................. 173
Figura 196: Registro TIM_SR. .................................................................................... 174
Figura 197: Registro TIM_EGR................................................................................... 174
Figura 198: Registro TIM_PSC. .................................................................................. 175
Figura 199: Registro TIM_ARR................................................................................... 175
Figura 200: Ejemplo del uso del timer. ..................................................................... 176
Figura 201: Esquema microcontrolador. ................................................................... 177
Figura 202: Esquema LED. ......................................................................................... 178
15
Figura 203: Esquema controladora de los motores. ................................................. 178
Figura 204: Esquema LCD. ......................................................................................... 179
Figura 205: Esquema de los sensores. ...................................................................... 179
Índice de tablas
16
1. Introducción
1.1. Robot móvil
Un robot móvil es una máquina automática que es capaz de trasladarse en
cualquier ambiente dado. Son robots dotados de un sistema locomotor y con
gran capacidad de desplazamiento, generalmente basados en carros o
plataformas.
1.1.1. Entorno
Pueden viajar por diferentes entornos:
17
Robots aéreos: Se refieren generalmente como vehículos aéreos no
tripulados (UAV de “Unmanned Aerial Vehicle”, o en español vehículo
aéreo no tripulado).
Robots acuáticos:
o Los robots flotantes diseñados para navegar por encima del agua.
18
Ruedas
Orugas
Patas
Piernas
19
Otros
1.2. Antecedentes
Por siglos el ser humano ha construido máquinas que imitan las partes del
cuerpo humano. Los antiguos egipcios unieron brazos mecánicos a las
estatuas de sus dioses. Estos brazos fueron operados por sacerdotes, quienes
clamaban que el movimiento de estos era inspiración de sus dioses. Los
20
griegos construyeron estatuas que operaban con sistemas hidráulicos, los
cuales se utilizaban para fascinar a los adoradores de los templos.
Fecha Acontecimiento
21
1954 G.C. Devol desarrolla diseños para la transferencia de
artículos programada. La patente fue emitida en Estados
Unidos para el diseño en 1961.
22
desarrolló en los laboratorios Charles Stark Draper Labs en
estados Unidos.
23
Actualmente la tecnología ha avanzado mucho y se pueden encontrar todo tipo
de robots móviles. Hay muchas compañías que se dedican al desarrollo de
robots móviles destinados a diversos propósitos. El más actual, citado en la
prensa, es el desarrollo de drones capaces de cargar comida u objetos
necesarios para gente que ha sufrido un accidente.
1.4. Objetivos
Diseñar un prototipo de plataforma móvil programable mediante
microcontrolador ("Placa SMT32F4 discovery").
24
un control adecuado de la plataforma móvil y la selección de una alimentación
con una suficiencia energética para su funcionamiento.
Por otra parte, se deben seleccionar los sensores destinados a evitar el choque
de la plataforma e incluso la selección de algún sensor o circuito para mejorar
su control. En este proceso se valorará si la plataforma requiere de una
alimentación complementaria para soportar el consumo energético de los
motores y otros elementos.
Una vez que se dispone del software necesario surge la necesidad de conocer
que componentes formaran parte de la plataforma móvil, que funciones tendrá
la plataforma móvil y cómo las realizará.
25
cualquier tipo de choque para evitar daños sobre la plataforma móvil, aunque
puede añadir otras funciones, ésta será la principal. La idea es que los
sensores sean capaces de detectar todo tipo de objetos y medir la distancia a
estos. Otra posible función podría ser la de iluminar mediante diodos LED si es
de noche.
Por último, se debe de escoger una buena alimentación para soportar todo el
consumo energético que producirá el conjunto.
26
Figura 12: Esbozo de la plataforma móvil y sus componentes.
2. Análisis de requisitos
Para poder iniciar un proyecto primero se deben de tener en cuenta una serie
de requisitos previos e indispensables para que todo funcione correctamente.
En este apartado se establecerán cuáles son los más importantes según la
funcionalidad deseada del propio proyecto. Por último, es sobre todo necesario
conocer las limitaciones que nos presentará el proyecto.
Corriente mínima: 2 A.
27
mayores. Para garantizar que la alimentación es suficiente se debe
seleccionar primero los motores que se desean utilizar y comprobar si
la alimentación de la placa del microcontrolador es suficiente o por otra
parte se necesitan dos alimentaciones para el conjunto.
2.1.3 Limitaciones
28
2.4. Requisitos de las ruedas
Las ruedas deben adaptarse una gran variedad de terrenos para conseguir una
mayor estabilidad y versatilidad de aplicación y uso, ya sean, ruedas u orugas.
Se desea una tracción total en las cuatro ruedas.
Tamaño reducido.
Capacidad de medir distancias de 1 cm a 1 m.
Tensión entre 3 y 5 V.
Corriente máxima de 50 mA.
29
3. Análisis de las soluciones
Se darán un conjunto de opciones para escoger el mejor candidato.
Características
Color: Azul.
Peso: 64 g.
Tipo de batería: Externas.
Capacidad: 1800 mA.
30
Página web: http://tiendas.mediamarkt.es/p/power-bank-ksix-
2200-mah-azul-1261302
Características
Características
Color: Azul.
Material: Li-Ion.
Dimensiones: 96,2 mm x 27 mm x 27 mm.
Peso: 78,2 g.
Tipo de batería: Externas.
Capacidad: 2600 mA.
31
3.1.2. Motores, sensores y circuitos alternativos
3.1.2.1. BAT-06
Descripción
Características
32
3.1.2.2. Portapilas - 6 x AA
Descripción
Características
33
3.2. Análisis del chasis
3.2.1. Lynxmotion 4AWD1 rover
Descripción
Incluye
34
3.2.2. Chasis AL13 color plateado.
Descripción
Reductora: 1:48
Diámetro de la rueda: 65 mm.
Anchura de la rueda: 26 mm.
Longitud de la plataforma: 215 mm.
Anchura de la plataforma: 205 mm.
Peso del chasis: 700 g.
Distancia del chasis al suelo 13 mm.
35
Incluido en el chasis
Descripción
Características
Incluido en el chasis
36
4x Motores con reductora (1:120).
4x ruedas con forma de neumático de coche.
4x ruedas agujereadas para encoder.
1x portapilas para 4 pilas AA.
1x interruptor.
Tornillería necesaria para su montaje.
Descripción
Características
Temperatura: 25º C.
Humedad: 60.
Tensión nominal: 12 Vcc.
Rango de voltaje de funcionamiento: 6- 12 Vcc.
Carga nominal a 12 Vdc: 0.78kg·cm
Velocidad sin carga en 12 Vcc : 200 rpm +/- 10.
Velocidad a la carga nominal (0.78kg cm): 163 rpm +/- 10.
Sin corriente de carga en 12 Vcc: < 115 mA.
Corriente de carga nominal (0.78kg · cm): <285 mA.
Eje End-Play: Máximo 0,8 m / m.
Resistencia de aislamiento: 10 MΩ a 300 Vcc.
Resistencia de voltaje: 300 Vcc durante 1 segundo.
37
El motorreductor no incluye protección contra agua y polvo.
38
Características de los motores
Descripción
Características
39
3.4.1.1. Lynxmotion Hex Montaje Hub
Descripción
Características
40
3.4.2. Pareja de ruedas con reductora (4WD metálico color plateado
y robot 4WD)
Descripción
Características
41
3.5. Análisis de la controladora del motor
3.5.1. Sabertooth Dual
Descripción
Características
42
3.5.2. Controlador de motores con doble puente H (L298N)
Descripción
Otra de las cosas muy útiles de las que dispone es un regulador 7805,
que estabiliza la tensión de entrada de la placa a 5 V y la entrega por
una salida.
Características
Driver: L298N.
Tensión de alimentación del driver: 6-48 V.
Intensidad máxima de cada canal del driver: 2 A.
Salida lógica de 5 V.
Potencia máxima 25 W, a una temperatura de 75ºC.
Temperatura de trabajo: -25ºC a 130ºC.
Peso aproximado de módulo: 48 g.
43
3.6. Análisis de los sensores
3.6.1. Sensor de distancia por ultrasonidos HC-SR04
Descripción
Características
Voltaje de funcionamiento: 5 V.
Corriente estática: menos de 2 mA.
Ángulo del sensor: menos de 15 grados.
Distancia de detección: de 2 cm a 400 cm.
Alta precisión de hasta 3 mm.
Peso: 10 g.
Dimensiones del circuito: 43 x 20 x 17 mm.
44
3.6.2. Sensor de movimiento PIR
Descripción
Características
45
Descripción
Características
Descripción
46
Dispone de conectores adicionales para micrófono, salida de altavoz,
línea de audio con jack y acceso a los pines I/O del módulo EasyVR.
También dispone de un LED programable para mostrar indicaciones
durante el proceso de reconocimiento de voz.
El módulo puede ser utilizado con cualquier host con una interfaz UART
(alimentado a 3,3 V - 5V).
Puede usarse con el Serial Commander aunque en la documentación se
indica el uso de otro programa llamado QuickT2SI que es opcional y
necesita licencia aparte.
Características
Alimentación: 3,3 V - 5 V.
Conector para micrófono.
Salida de altavoz (8 Ω).
Conector jack para cascos.
Acceso a los pines I/O del EasyVR.
LED indicador programable.
EasyVR Commander (GUI Software).
Disponible una librería para Arduino.
Conexión simplificada con el PC con Arduino.
Descripción
Características
Dimensiones: 8 cm x 3.6 cm
Alimentación: 5 V
47
3.7.3. Diodo LED de alto brillo
Características
Diámetro: 5 mm.
Corriente máxima: 20mA.
Brillo: de 4000 a 12000 mcd (dependiendo el color).
48
Inicio
Buscar chasis
¿Se encuentra No
dentro del
presupuesto?
Sí
¿Dispone de las
No
características
demandadas?
Sí
¿Tiene alguna
limitación que Sí
impida su uso en
este proyecto?
No
Comprar el chasis
¿Es No
válido?
Sí
1
49
1
Buscar
motores
Sí
Sí Sí
No No
¿Son No
válidos?
Sí
50
2
Buscar
ruedas
Sí
Sí Sí
No No
¿Son No
válidas?
Sí
51
3
Buscar la controladora de
los motores
¿Se encuentra No
dentro del
presupuesto?
Sí
¿Dispone de las No
características
demandadas?
Sí
¿Tiene alguna
limitación que
impida su uso en
este proyecto? Sí
No
¿Cabe en el No
chasis?
Sí
Comprar la controladora
de los motores
No
¿Es válida?
Sí
52
4
4
¿Se encuentran No
dentro del
presupuesto?
Sí
¿Disponen de un
No
sistema de
detección
adecuado?
Sí
¿Caben y disponen No
de un soporte para
incluirlos en el chasis?
Sí
¿La alimentación es
No
suficiente?
Sí
¿Son No
válidos?
Sí
53
5
5
¿Se encuentran No
dentro del
presupuesto?
Sí
¿Tienen un uso No
acorde con el
proyecto?
Sí
¿Caben y disponen No
de un soporte para
incluirlos en el chasis?
¿La alimentación es
No
suficiente?
Sí
Comprarlos
Sí
Sí
No
54
6
6
Buscar la alimentación
¿Se encuentran No
dentro del
presupuesto?
Sí
Sí
¿La durabilidad es No
la adecuada?
Sí
¿Cabe en el No
chasis?
Sí
Comprar la alimentación
No
¿Es válida?
Sí
55
7
Montar la
plataforma móvil
Repetir el /los
No punto/s
¿Cabe
todo? fallido/s
únicamente
Sí
Probar la
plataforma móvil
¿Todo funciona No
correctamente?
Sí
¿La alimentación No
es suficiente?
6
Sí
Fin
56
4.1. Selección de la alimentación
4.1.1. Placa stm32f4 discovery
Finalmente se ha escogido para alimentar la placa "Stm32f4" de
discovery con el Power Bank Ksix.
Elección
Características
57
Se ha escogido el portapilas por diversos motivos el principal se podría
pensar que es el precio, pero no es así. Un portapilas requiere de 6
pilas, que no son realmente baratas, y entre pruebas y algún que otro
montaje al final la batería saldría a cuenta, siempre y cuando se
disponga de un cargador adecuado, sino a la larga probablemente se
gastaría lo mismo.
Elección
Características
58
también lo es y la velocidad requeriría de un control de velocidad, sin dudarlo.
También tiene puntos negativos aparte del precio, por supuesto. Como son los
pocos agujeros que presenta en su parte frontal, lateral y posterior donde se
podrían incorporar ciertos componentes electrónicos, ya sean, LED's,
interruptores o algún otro ingenioso componente. Otro dato negativo es que su
tamaño es mayor, lo que no permitiría acceder a los mismos sitios que el
chasis AL13. Por último, su gran velocidad obliga a realizar un control de los
motores para regularla.
Una vez se ha dispuesto de él ha quedado clara que por su precio es una gran
opción. La velocidad es adecuada, el tamaño también lo es y dispone de una
gran cantidad de agujeros preparados para la amplia gama de sensores del
mercado, servomotres, etc. El espacio que hay en su interior es bastante
grande por lo que se pueden colocar una gran cantidad de elementos. Y por
último, su resistencia es más que suficiente y ha sido comprobada con algunos
incidentes.
Elección
Reductora: 1:48.
59
Diámetro de la rueda: 65 mm.
Anchura de la rueda: 26 mm.
Longitud de la plataforma: 215 mm.
Anchura de la plataforma: 205 mm.
Peso del chasis: 700 g.
Distancia del chasis al suelo 13 mm.
Incluido en el chasis
Los motores de corriente continua y alterna son actuadores muy potentes, sin
embargo, giran a demasiada velocidad como para poder utilizarlos en muchas
aplicaciones robóticas. Por esa razón se emplean los reductores,
habitualmente basados en engranajes.
60
Por otro lado se han descartado los otros motores porque el GHM-16 consume
mucho más, requiere de un control de la velocidad de los motores y es más
caro. Y el otro, el motor reductor 2 ejes no dispone de una velocidad suficiente.
Elección
Nuevamente las ruedas del rover A4wd1 son mejores, estas tienen un mayor
agarre y tamaño. Pero las escogidas vienen incluidas en el chasis y preparada
para él, así que son las que se usarán en este proyecto.
61
Elección
Descripción
Características
62
Elección
Características
Driver: L298N.
Tensión de alimentación del driver: 6-48 V.
Intensidad máxima de cada canal del driver: 2 A.
Salida lógica de 5 V.
Potencia máxima 25 W, a una temperatura de 75ºC.
Temperatura de trabajo: -25ºC a 130ºC.
Peso aproximado de módulo: 48 g.
63
Elección
Descripción
Características
Voltaje de funcionamiento: 5 V.
Corriente estática: menos de 2 mA.
Ángulo del sensor: menos de 15 grados.
Distancia de detección: de 2 cm a 400 cm.
Alta precisión de hasta 3 mm.
Peso: 10 g.
Dimensiones del circuito: 43 x 20 x 17 mm.
64
Figura 42: Pantalla LCD 2x16.
Características
Dimensiones: 8 cm x 3.6 cm
Alimentación: 5 V
Características
Diámetro: 5 mm.
Corriente máxima: 20 mA.
Brillo: de 4000 a 12000 mcd (dependiendo el color).
65
5. Plataforma móvil
5.1. Esquema general de los componentes
5.2. Funcionamiento
Una vez hecho esto, se debe de pulsar el botón de usuario para iniciar el
programa como indica el LCD. Una vez iniciado la plataforma avanzará hacia
adelante mostrando el movimiento en el LCD. Si detecta un objeto se detendrá,
mostrará la distancia entre el objeto y la plataforma por un mensaje mediante el
LCD y comprobará si hay un objeto a la derecha. Si no lo hay, girará a la
derecha y avanzará. Si hay un objeto a la derecha mostrará su distancia por el
LCD y comprobará si detecta un objeto a la izquierda. Si no lo hay, girará a la
izquierda y avanzará. Si lo hay, mostrará a qué distancia está por el LCD y
girará 180 º.
66
5.3. Conexiones
5.3.1. Placa stm32F407 de discovery
Las dos imágenes siguientes se han incluido para facilitar la explicación
del conexionado.
Para que se vean todas las patillas de las que dispone la placa se
muestra su encapsulado.
67
A continuación se ve la placa completa físicamente.
68
5.3.3. Conectores de la plataforma móvil
Los conectores utilizados para conectar la placa stm32f407 a los puertos
y a las alimentaciones a los circuitos son los que se muestran en la
imagen.
69
Figura 50: Cableado motores y portapilas.
5.3.5. LCD
La alimentación del LCD proviene de la placa stm32f407 de discovery. El
LCD requiere un potenciómetro para regular su contraste. El
potenciómetro de la plataforma móvil es de 10 KΩ.
70
5.3.6. Sensores ultrasónicos
La alimentación de 5 V de los sensores es de la placa stm32F407 de
discovery. Las otras dos patillas se usan para el control, se explica
detalladamente en el Anexo A.
5.3.7. LED
Se han incluido 6 LEDs. Dos blancos en la parte frontal, dos rojos en
la parte posterior y dos amarillos en los laterales.
Los LEDs blancos tienen conectada una resistencia en serie de 5,6 Ω y
los LEDs rojos y amarillos tienen una resistencia en serie de 56 Ω.
71
PC1 LED rojo izquierdo.
72
5.4. Mecanizado
5.4.1. Placa stm32F407 de discovery
Dados los conectores de que dispone la placa stm32f407 de discovery
habían dos posibilidades diseñar una placa para poder collar ambas
placas o usar una placa de topos. Se ha optado por la segunda opción.
73
5.4.2. Alimentación USB
La alimentación por USB se ha atado con bridas.
74
Figura 59: Imagen controladora de motores.
5.4.4. Portapilas
El portapilas está en el interior de la plataforma móvil sin sujeción.
5.4.5. Interruptor
El interruptor se ha collado a la plataforma móvil con una tuerca que
incluye el propio interruptor.
75
Figura 62: Imagen del interruptor en el interior de la plataforma móvil.
5.4.6. Motores
Los motores se han collado con tornillos y tuercas al chasis, tal y como
se muestra en la figura 63.
5.4.7. Ruedas
Las ruedas se unen a los motores a presión en los agujeros que se
muestran en la figura.
76
Figura 65: Imagen de la rueda de la plataforma móvil.
5.4.8. LCD
Las conexiones del LCD y el potenciómetro se realizan en una mini
breadboard adhesiva que a su vez se engancha a la plataforma móvil.
77
5.4.9. Sensores ultrasónicos
El sensor HC-SR04 dispone de un soporte para poder incluirlo en la
plataforma móvil.
78
Figura 70: Imagen del soporte en el exterior de la plataforma móvil.
5.4.10. LED
Se ha usado un portaLED para collar los LED a la plataforma móvil (ver
figuras 72, 73 y 74).
79
Figura 73: Imagen del portaLED en el exterior de la plataforma móvil.
80
5.6. Vista lateral
81
5.8. Vista aérea
82
5.9. Vista interior
83
discovery (Se incluye la
espera del producto).
Buscar datasheet e
información de la placa
5 días lun 16/02/15 vie 20/02/15
"stm32f407vgt6" de
discovery.
Aprender a hacer un
programa de cero con la
2 días lun 23/02/15 mar 24/02/15 1;2
"stm32f407vgt6" de
Discovery
Aprender cómo funciona
el registro GPIO para 4 días mié 25/02/15 lun 02/03/15 4
configurar los puertos.
Aprender cómo
funcionan las 1 día mar 03/03/15 mar 03/03/15 5
interrupciones externas.
Aprender cómo
2 días mié 04/03/15 jue 05/03/15 5
funcionan los timers.
Aprender a programar el
3 días vie 06/03/15 mar 10/03/15 5
LCD.
Seleccionar chasis de la
plataforma móvil (Incluye
motores, ruedas,
15 días mié 11/03/15 mar 31/03/15
elementos de montaje y
controladora de
motores).
Seleccionar sensores
1 día mié 11/03/15 mié 11/03/15
plataforma móvil.
Seleccionar alimentación
1 día mié 11/03/15 mié 11/03/15
externa.
Montar, soldar cables,
collar tornillos de la 1 día mié 01/04/15 mié 01/04/15 9
plataforma móvil.
Aprender a utilizar los
motores junto con la
2 días jue 02/04/15 vie 03/04/15 5;10
controladora de motores
y realizar pruebas.
Aprender a utilizar los
1 día lun 06/04/15 lun 06/04/15 10
sensores de distancia.
Probar servomotores. 1 día mar 07/04/15 mar 07/04/15 5
Realizar pruebas del
conjunto plataforma
5 días mié 08/04/15 mar 14/04/15 14;15;13
móvil, sensores y
servomotor.
Seleccionar soporte
1 día mié 15/04/15 mié 15/04/15 10
sensores.
Seleccionar diodos LED
1 día mié 15/04/15 mié 15/04/15 9
y soporte LED.
84
Seleccionar cableado y
1 día mié 15/04/15 mié 15/04/15 2;9
breadboard adhesiva.
Realizar agujeros a la
plataforma móvil (Incluye
2 días jue 16/04/15 vie 17/04/15 12
comprar y preparar el
material).
Seleccionar tornillos,
tuercas, bridas (Incluye ir 1 día lun 20/04/15 lun 20/04/15 20
a comprar).
Montar diodos LED,
sensores y controladora
1 día mar 21/04/15 mar 21/04/15 20;21
de motores de la
plataforma móvil.
Realizar conexionado
(Escogiendo cada puerto 1 día mié 22/04/15 mié 22/04/15 22
para cada función).
Programar cada puerto
para realizar sus 15 días jue 23/04/15 mié 13/05/15 23
funciones.
Realizar prueba-error
para comprobar el 15 días jue 14/05/15 mié 03/06/15 24
funcionamiento.
Realizar explicaciones
de cómo realizar un 5 días jue 04/06/15 mié 10/06/15 4
programa.
Realizar explicaciones
de los puertos de la
5 días jue 11/06/15 mié 17/06/15 5;6
placa "stm32f4" de
discovery.
Buscar información. 9 días jue 18/06/15 mar 30/06/15
Período vacacional. 23 días mié 01/07/15 vie 31/07/15
Seleccionar easy-vr. 1 día sáb 01/08/15 sáb 01/08/15
Aprender a usar la
USART para la 7 días lun 03/08/15 mar 11/08/15 2
comunicación RS232.
Aprender a usar el easy-
2 días mié 12/08/15 jue 13/08/15 30
vr.
Probar comunicación
5 días vie 14/08/15 jue 20/08/15 31;32
Rs232.
Realizar compras. 10 días vie 21/08/15 jue 03/09/15
Consultas al profesor. 3 días vie 04/09/15 mar 08/09/15
Hacer memoria. 31 días mié 09/09/15 mié 21/10/15
85
6.2. Diagrama de Gantt
86
Figura 80: Diagrama de Gantt.
87
7. Presupuesto
El presupuesto se dividirá en cuatro aparatados: recursos humanos, software,
hardware y gastos de envío. Los cuales permitirán ver los costes reales de este
proyecto.
88
7.3. Presupuesto de hardware
Este presupuesto incluirá todo aquello relacionado con el montaje físico
del prototipo.
89
Interruptor 2 A 1,95 € 1 1,95 €
Herramientas (Taladro, brocas 51,86 € 1 51,86 €
y destornilladores)
Adhesivo repair extreme 6,55 € 1 6,55 €
Total 238,24 €
hardware
Tabla 4: Presupuesto de hardware.
Descripción Coste
Gastos de envío 17,85 €
Total gastos 17,85 €
envío
Tabla 5: Presupuesto de gastos de envío.
Descripción Coste
Total recursos 15.040 €
humanos
Total software 350 €
Total hardware 238,24 €
Total gastos envío 17,85 €
Total proyecto 15.646,09
Tabla 6: Presupuesto final.
90
2. El segundo problema vino a la hora de programar el microcontrolador. Al
ser un microcontrolador nuevo, no se conocía la dificultad que
presentaría su programación. Se han encontrado infinidad de librerías
para su uso y facilitaban mucho el uso de cualquier componente.
Sin embargo, este proyecto se realizó con la intención de no usar
ninguna librería y la información del uso de este microcontrolador es muy
escasa. Esto ha dificultado muchísimo la búsqueda de información y la
programación del microcontrolador.
91
9. Trabajos futuros
Este proyecto presenta una gran cantidad de posibilidades para seguir
avanzando en el estudio de los robots móviles terrestres.
Se citaran posibles mejoras con las que se puede equipar el robot o posibles
aplicaciones que pueden ser de sumo interés. Estas mejoras o aplicaciones
son las siguientes:
Sensor de inclinación: Ideal para saber si hay una subida o una bajada
y poder aumentar o reducir la velocidad respectivamente dado que al
subir se encuentra más resistencia y al bajar menos.
92
10. Conclusiones
Se han cumplido los objetivos iniciales que eran por una parte aprender a
programar un microcontrolador desconocido y por otra montar una plataforma
móvil que evitara el choque con objetos del entorno.
Han surgido una serie de contratiempos que han podido ser sorteados o
solucionados. Primero de todo, este microcontrolador dispone de unas librerías
preestablecidas con lo que no es necesario esforzarse mucho para
programarlo. En este proyecto se ha evitado a toda costa usarlas para poder
aprender cómo funciona dicho microcontrolador y sus registros. Vale la pena
decir, que aprender a programar este microcontrolador ha requerido una gran
cantidad de tiempo, ya que, la información que se encuentra para programarlo
sin librerías es muy escasa y es un poco distinto al aprendido en clase de
programación, aunque esto ha ayudado a poder conseguirlo.
Por otra parte, encontrar todos los elementos del proyecto ha sido una dura
tarea, aunque es una tarea de la que se ha aprendido mucho. Encontrar una
plataforma que cumpliera los requisitos y entrara dentro del presupuesto ha
sido difícil. Y que todo encajara dentro o sobre la plataforma móvil ha llevado
bastante tiempo de búsqueda. Aunque finalmente se ha logrado el objetivo. El
proyecto, también ha ayudado a conocer ciertas tiendas tanto físicas como por
internet que te proveen de todo tipo de material electrónico.
Por último, todo el trabajo realizado para este proyecto servirá de base para
seguir mejorando y aprender más sobre los robots móviles, sus posibles
aplicaciones y sobre los microcontroladores.
93
11. Bibliografía
Tiendas de compra online
http://www.leantec.es/
http://tienda.bricogeek.com/5-arduino
http://www.robotshop.com/
Información proyecto
https://es.wikipedia.org/wiki/Wikipedia:Portada
https://sites.google.com/site/irenerobotica/6-robots-moviles
http://platea.pntic.mec.es/vgonzale/cyr_0708/archivos/_15/Tema_5.5.htm
http://www.leantec.es/
http://tienda.bricogeek.com/5-arduino
http://www.robotshop.com/
Información programación
http://00xnor.blogspot.com.es/2014/01/7-stm32-f4-adc-dma-temperature-
sensor.html
http://www.developermemo.com/1434946/
http://am-an-engineer.blogspot.com.es/2014/01/stm32f4discovery-external-
interrupt.html
http://www.fmf.unilj.si/~ponikvar/STM32F407%20project/Interrupts%20and%20
ports.pdf
http://jeremyherbert.net/get/stm32f4_getting_started
https://www.youtube.com/watch?v=rW6jSn4QG4Q
http://www.digikey.com/product-detail/en/STM32F407VGT6/497-11605-
ND/2747117
http://blog.mark-stevens.co.uk/2013/03/stm32-simple-gpio-and-some-flashing-
leds/
https://www.youtube.com/watch?v=Nvyncl8y7-Q
https://www.youtube.com/watch?v=6w8bq4soD5w
http://new-rayo.blogspot.com.es/2013/10/stm32-f4-lcd-2x16-hd44780-por-
ahora.html
https://www.youtube.com/watch?v=rW6jSn4QG4Q
https://www.youtube.com/watch?v=n5nOxtPrK-g
94
http://www.buenastareas.com/ensayos/General-Purpose-i-Os-
Gpio/56711031.html
http://www.mipsandchips.com.es/2013/08/primeros-pasos-con-el-stm32f0.html
http://hertaville.com/2012/07/28/stm32f0-gpio-tutorial-part-1/
http://hertaville.com/2012/07/28/stm32f0-gpio-tutorial-part-1/
95
12. Anexo A - Componentes de la plataforma móvil
12.1. Placa STM32 F4 Discovery
La placa STM32F4Discovery es una entrenadora de bajo costo para evaluar el
alcance de microcontroladores ARM STM32 de 32-bit Cortex-M4.
12.1.1. Embalaje
La placa viene en un blíster de plástico transparente con un cartón
impreso que contiene información sobre dónde encontrar recursos Web.
Contiene un programa previamente cargado donde se visualiza el
funcionamiento de los diodos LED.
12.1.4. Microcontrolador
Soldado en la placa hay un microcontrolador STM32F407VG en
encapsulado LQFP de 100 pines. Este microcontrolador contiene un
núcleo ARM Cortex-M4 con FPU (unidad de punto flotante).
96
Oscilador RC.
Alimentación por una sola fuente de 1.8 V a 3.6 V.
Puede operar a una velocidad de 168 MHz.
Pines I / O multiplexadas con muchos periféricos internos.
USB OTG HS / FS.
Ethernet.
Controlador de memoria estática de soporte Compact Flash,
SRAM, PSRAM, NOR y NAND.
Interface paralela para LCD.
97
Sensor de movimiento
12.1.7. Osciladores
Aunque la STM32F407VG tiene dos osciladores internos RC, utiliza un
cristal de 8 MHz para el oscilador principal.
12.2.1. Descripción
El motor de corriente continua es una máquina que convierte la energía
eléctrica en mecánica, provocando un movimiento rotatorio, gracias a la
acción que se genera del campo magnético.
Una máquina de corriente continua (generador o motor) se compone
principalmente de dos partes. El estator da soporte mecánico al aparato
y contiene los devanados principales de la máquina, conocidos también
con el nombre de polos, que pueden ser de imanes permanentes o
devanados con hilo de cobre sobre un núcleo de hierro. El rotor es
98
generalmente de forma cilíndrica, también devanado y con núcleo,
alimentado con corriente directa mediante escobillas fijas (conocidas
también como carbones).
F = Fuerza en newtons.
I = Intensidad que recorre el conductor en amperios.
L = Longitud del conductor en metros.
B = Densidad de campo magnético o densidad de flujo teslas.
12.2.3. Reductores
Los motores de corriente continua son actuadores muy potentes, sin
embargo, giran a demasiada velocidad como para poder utilizarlos en
muchas aplicaciones robóticas. Por esa razón se emplean los
reductores, habitualmente basados en engranajes.
12.2.5. Funcionamiento
Cuando la corriente pasa a través de la armadura de un motor de
corriente continua, se genera un par de fuerzas debido a la acción del
campo magnético, y la armadura gira. La revolución de la armadura
induce un voltaje en las bobinas de ésta. Este voltaje es opuesto al
voltaje exterior que se aplica a la armadura, y de ahí que se conozca
como voltaje inducido o fuerza contraelectromotriz. Cuando el motor gira
99
más rápido, el voltaje inducido aumenta hasta que es casi igual al
aplicado. La corriente entonces es pequeña, y la velocidad del motor
permanecerá constante siempre que el motor no esté bajo carga y tenga
que realizar otro trabajo mecánico que no sea el requerido para mover la
armadura. Bajo carga, la armadura gira más lentamente, reduciendo el
voltaje inducido y permitiendo que fluya una corriente mayor en la
armadura.
Siendo:
D: Ciclo de trabajo.
: Tiempo en que la función es positiva (ancho de pulso).
T: Periodo de la función.
100
Figura 83: PWM modulación por ancho de pulso.
12.3. Servomotores
12.3.1. Descripción
Los servomotores son un tipo especial de motor de corriente continua
que se caracterizan por su capacidad para posicionarse de forma
inmediata en cualquier posición dentro de su intervalo de operación.
Para ello, el servomotor espera un tren de pulsos que se corresponde
con el movimiento a realizar. Están generalmente formados por un
amplificador, un motor, un sistema reductor formado por ruedas
dentadas y un circuito de realimentación, todo en una misma caja de
pequeñas dimensiones. El resultado es un servomotor de posición con
un margen de operación de 180° aproximadamente.
12.3.2. Funcionamiento
La modulación por anchura de pulso, PWM (“Pulse With Modulation”), es
uno de los sistemas más empleados para el control de servomotores.
Este sistema consiste en generar una onda cuadrada en la que se varía
el tiempo que el pulso está a nivel alto, manteniendo el mismo período
101
(normalmente), con el objetivo de modificar la posición del servo según
se desee.
Para la posición central por ejemplo sería:
Figura 86: Tiempo en estado alto para llevar el servomotor a cada posición.
102
Un cable blanco que es la línea de control por la que se le envía la
señal para comunicar el ángulo en el que se debe posicionar según
el pulso. Este cable irá a la controladora.
103
12.4.2. Descripción de las partes del driver
Driver: L298N.
Tensión de alimentación del driver: 6-48 V.
Intensidad máxima de cada canal del driver: 2 A.
Salida lógica de 5 V.
Potencia máxima 25 W, a una temperatura de 75ºC.
Temperatura de trabajo: -25ºC a 130.
104
12.4.4. Esquema electrónico
105
PWM 2: Control de velocidad del motor 2.
12.4.6. Funcionamiento
106
12.5. Diodos LED
12.5.1. Descripción
Los diodos son componentes electrónicos que permiten el paso de la
corriente en un solo sentido, en sentido contrario no deja pasar la
corriente (como si fuera un interruptor abierto).
Un diodo LED (“light-emitting diode”: ‘diodo emisor de luz’) es un
componente optoelectrónico pasivo, que además de permitir el paso de
la corriente en un solo sentido, emite luz. Cuando se conecta un diodo
en el sentido que permite el paso de la corriente se dice que está
polarizado directamente.
Los diodos LED tienen dos patillas de conexión una larga y otra corta.
Para que pase la corriente y emita luz, o dicho de otro modo polarizarlo
de forma directa, se debe conectar la patilla larga al polo positivo y la
corta al negativo. En caso contrario la corriente no pasará y no emitirá
luz. En la imagen siguiente vemos un diodo LED por dentro.
107
12.5.2. Formas de determinar la polaridad de un diodo LED de
inserción
Existen tres formas principales de conocer la polaridad de un diodo LED:
Blancos
VDROP: 2,9 V.
Rojos
VDROP: 2,2 V.
Amarillos
VDROP: 2,2 V.
12.5.4. Funcionamiento
Cuando un diodo LED se encuentra en polarización directa, los
electrones pueden recombinarse con los huecos en el dispositivo,
liberando energía en forma de fotones. Este efecto es
llamado electroluminiscencia y el color de la luz (correspondiente a la
energía del fotón) se determina a partir de la banda de energía del
semiconductor. Por lo general, el área de un diodo LED es muy pequeña
(menor a 1 mm2), y se pueden usar componentes ópticos integrados
para formar su patrón de radiación. Comienza a lucir con una tensión de
unos 2 V aproximadamente.
108
12.5.5. Cálculo de la resistencia en serie
Fórmula general
Blancos
Rojos y amarillos
109
Se escoge una resistencia de 56 Ω.
12.6.1. Descripción
110
12.6.3. Patillaje
12.6.4. Funcionamiento
El funcionamiento del HC-SR04 es realmente simple y se basa en
un sistema de ecos:
1. Se envía un pulso digital alto (de al menos 10μs) al pin del disparador
(Trig).
2. El HC-SR04 lanza 8 ondas de 40kHz.
3. Se establece en alto la señal de eco (Echo) hasta que se recibe el
rebote las ondas.
4. Se cuenta el tiempo que tardó en recibirse la señal mediante el
microcontrolador.
111
Figura 97: HC-SR04 funcionamiento.
12.7.1. Descripción
Una pantalla de cristal líquido o LCD (siglas del inglés “liquid crystal
display”) es una pantalla delgada y plana formada por un número
de píxeles en color o monocromos colocados delante de una fuente de
luz o reflectora.
112
12.7.2. Patillaje
113
Figura 100: Esquema electrónico de conexiones.
12.7.5. Funcionamiento
114
Tabla 7: Control LCD.
115
Figura 101: Abreviaturas LCD.
116
Figura 102: Ejemplo de símbolos LCD.
117
12.8.1. Descripción
12.9.1. Descripción
PortaLED metálico
Cóncavo
Para LED de 5 mm
118
12.10. Portapilas 6 pilas AA
12.10.1. Descripción
12.11. Interruptor
12.11.1. Descripción
119
12.11.2. Características del interruptor escogido
2 A - 250 VAC
12.11.3. Funcionamiento
12.12. Resistencia
120
12.12.1. Descripción
Resistencias de 5,6 Ω y 56 Ω
1/4 W
5 % de tolerancia
121
12.13.1. Descripción
El kit incluye:
1 x Soporte acrílico
2 x Separadores de nylon 1.59 mm.
2 x Separadores de nylon 6.35 mm.
2 x Tornillos 4-40x5/8” negros.
2 x Tonillos 6-32x1/2”.
12.14.1. Descripción
Color: Negro.
Material: Litio.
122
Voltaje de entrada: 5 V.
Voltaje de pila: 3,7 V.
Voltaje de salida: 5 V.
Tipo de batería: Externa.
Capacidad: 2200 mA.
12.15. Cableado
12.15.1. Descripción
123
12.15.2.2. Set de cables Macho / Macho 15cm (10 Unid.)
124
12.16. Componentes de fijación
12.16.1. Tornillo 3 mm y 4 mm
12.16.2. Tuerca 4 mm
125
13. Anexo B - Funcionamiento de los registros de la
placa stm32f4 de discovery
13.1. Crear nuevo proyecto
126
Figura 118: Pestaña Project Keil uVision.
Una vez clicado, se debe guardar en la carpeta que se quiera el proyecto con el
nombre deseado.
127
Figura 120: Ventana Select Device Keil uVision.
128
Figura 122: Ventana Select Device Keil uVision.
129
Figura 124: Ventana Manage Run Keil uVision.
130
Figura 126: Ventana principal Keil uVision.
Ahora se debe crear el programa, para ello se clica con el botón derecho del
ratón en "Target 1" desplegándose un conjunto de opciones. Se selecciona
"Manage Project Items.."
131
Figura 128: Ventana Manage Project Items Keil uVision.
132
Figura 130: Ventana principal Keil uVision.
133
Figura 132: Ventana Manage Project Items Keil uVision.
Y ya se puede nombrar.
134
Figura 134: Ventana Manage Project Items Keil uVision.
Al pulsar "Add" se añaden los archivos, pero la ventana permanece abierta por
si se desean añadir más. Una vez se han añadido todos los archivos se debe
pulsar "Close" y se verá que se han añadido los archivos, en los cuales se ha
pulsado "Add". Si se añadiese un archivo dos veces saldría la siguiente
advertencia recordando que ya ha sido añadida y que no se ha añadido
nuevamente porque ya está añadida.
135
Figura 136: Ventana de aviso Keil uVision.
Vale la pena recordar que los archivos se añadirán en la carpeta que esté
seleccionada, es decir, en este caso se añadirán en tarjeta de proyecto
"proyecto" y en el grupo "Configurar ventanas".
136
Figura 138: Ventana Manage Project Items Keil uVision.
137
Figura 140: Pestaña configurar entradas Keil uVision.
138
Figura 142: Ventana para añadir archivos Keil uVision.
Una vez llegados a este punto se podría creer, que ya sólo queda escribir el
código, pero no es así. Para poder programar la placa a través del USB se
debe configurar las opciones de la tarjeta. Por tanto, se clica en "Options for
target..."
139
Figura 144: Botón Options for Target Keil uVision.
140
Figura 146: Ventana Options for Target Keil uVision.
En la pestaña "Debug".
141
Figura 148: Ventana Options for Target Keil uVision.
Quedando así:
142
Figura 150: Ventana Options for Target Keil uVision.
143
Figura 152: Ventana Cortex-M Target Driver Setup Keil uVision.
144
Figura 154: Ventana Cortex-M Target Driver Setup Keil uVision.
145
Figura 156: Ventana Cortex-M Target Driver Setup Keil uVision.
146
Figura 158: Ventana Cortex-M Target Driver Setup Keil uVision.
Una vez finalizado esto clicamos aceptar para guardar los cambios.
Volveremos a la ventana anterior, aquí ya hemos finalizado las opciones a
configurar, por tanto damos a "OK" para aplicar los cambios realizados.
147
13.2. Cargar un proyecto
148
Para cargar el programa a la placa STM32F407VG se debe clicar el siguiente
botón.
149
Figura 163: Mensaje de error Keil uVision.
150
Figura 165: Botón de pruebas de la placa Keil uVision.
151
Figura 167: Botón reset para la placa Keil uVision.
152
Figura 169: Break point Keil uVision.
Figura 170: Botón de funcionamiento paso a paso del código Keil uVision.
153
Figura 171: Placa con el código cargado.
154
Habilitar puerto
155
Figura 172: Registro RCC_AHB1ENR.
Configurar puerto
Ahora vamos a configurar el puerto y el pin que deseado. Para ello nos
dirigimos al capítulo 8 GPIO.
156
GPIOx_MODER
Este puerto dispone de 31 bits para configurar los 16 pines de cada puerto.
Como se ve en la figura cada pin tiene dos bits para configurar su modo.
GPIOx_OTYPER
157
Figura 174: Imagen transistores en modo source y modo sink.
158
Figura 176: Imagen inversor 7405 con
colector abierto.
GPIOx_OSPEEDR
159
Figura 178: Registro GPIO_OSPEEDR.
Este puerto dispone de 31 bits para configurar los 16 pines de cada puerto.
Como se ve en la figura cada pin tiene dos bits para configurar la velocidad de
salida.
GPIOx_PUPDR
Resistencias Pull-Down
160
Figura 179: Resistencias pull-down.
Resistencias Pull-Up
161
Figura 181: Registro GPIO_PUPDR.
Este puerto dispone de 31 bits para configurar los 16 pines de cada puerto.
Como se ve en la figura cada pin tiene dos bits para configurar la velocidad de
salida.
GPIOx_IDR
162
Figura 182: Registro GPIO_IDR.
GPIOx_ODR
Esto funciona muy bien, pero hay que leer el registro ODR, OR (|) o Y
(&) (modificar) con una máscara y luego escribir de nuevo al registro
ODR. Esto significa que a nivel de lenguaje ensamblador, por lo menos tres
instrucciones se utilizan para establecer / borrar una E / S que puede ralentizar
considerablemente la velocidad de conmutación.
Una mejor manera sería utilizar el registro BSRR y la BRR registra para
establecer y borrar pines. Permiten el acceso 'atómica' que permite que el pin
de E / S para ser claro / set en un tiempo lo más corto posible.
163
GPIOx_BSRR
Otros registros
Ejemplo
164
Figura 185: Ejemplo de configuración del GPIO.
165
13.3.2. Introducción a las interrupciones externas (EXTI)
Habilitar reloj
Para que las interrupciones externas funcionen se debe activar el bit 14 de este
registro, es decir, activar el reloj del controlador del sistema de configuración.
Seleccionar puerto
166
Más concretamente en SYSCFG external interrupt configuration register 1
(SYSCFG_EXTICR1). Este registro dispone de cuatro interrupciones externas,
de la EXTI0 hasta la EXTI3. Si se quisieran más, hay un total de 16
interrupciones externas que se puede configurar desde SYSCFG_EXTICR2,
hasta el SYSCFG_EXTICR4.
167
Figura 188: Esquema de funcionamiento del EXTI.
168
existencia o no de este bit, separa las interrupciones en dos grupos:
enmascarables y no enmascarables.
Ese bit actúa como máscara de las interrupciones enmascarables. Si la
máscara se encuentra activada (MR=0) la solicitud proveniente de una línea de
solicitud, es ignorada. Si por el contrario MR=1, el pedido es aceptado y se
dará inicio a el ciclo de reconocimiento.
Este registro sirve para configurar la interrupción de modo que haya un cambio
de nivel positivo o no. Si se configura el bit deseado a 1 se activa la detección
por flanco positivo.
169
Pending register (EXTI_PR)
Ejemplo
170
13.3.3. Introducción al timer 2 (TIM2)
Habilitar reloj
Para que el timer 2 funcione se debe activar el bit 0 de este registro, es decir,
activar el reloj del timer 2 (TIM2EN).
Ahora se van a configurar los registros del timer 2. Para ello se debe mirar el
capítulo 18: General-propouse timers (TIM2 to TIM5).
171
Más concretamente a sus registros.
En este registro se puede configurar gran parte del modo de funcionamiento del
timer. Pero en este proyecto sólo se han usado 2 bits. Por tanto se explicaran
únicamente estos bits, de todos modos en el datasheet se puede ver el
funcionamiento del resto de bits.
172
Figura 194: Registro TIM_CR1.
El bit 7 se usa para almacenar un valor preestablecido del tiempo que tardará
el timer en accionar la interrupción. Si está activo en cada interrupción se
cargará el valor introducido en TIMx_ARR.
El bit 0 activa el contador del timer. Si está activo funciona el contador, sino no.
Este registro sirve para indicar que se ha producido una interrupción del timer.
Una vez se ha producido se debe poner a 0 por software para reactivar la
interrupción y que se pueda producir de nuevo.
173
Figura 196: Registro TIM_SR.
Cuando se produce una interrupción del timer debe resetearse el bit 0 por
software para que pueda volverse a producir.
En este registro se pueden activar generación de eventos del timer. Del mismo
modo que el anterior se activará un bit.
174
TIMx prescaler (TIMx_PSC)
Este registro sirve para dividir la frecuencia del reloj del contador para cambiar
el tiempo o en caso de que PSC sea 0 utilizar el reloj del microcontrolador. En
este proyecto se mantendrá a 0.
Este registro sirve para cargar el tiempo en que tardará en activarse el timer. Y
se recargará automáticamente cuando se reinicie el timer.
175
Ejemplo
176
14. Anexo C - Esquemas
14.1. Esquema microcontrolador
177
14.2. Esquema LED
178
14.4. Esquema LCD
179
15. Anexo D - Programa plataforma móvil
15.1. Diagrama de bloques
180
Programa principal
Configurar el LCD
Configurar
Interrupciones externas
Detener motores
Esperar un segundo
Encender LED's
No
¿Se ha pulsado
el botón de o
usuario?
3 Sí
Avanzar
181
1
Mostrar mensaje
"Avanzar" en el LCD
¿Se ha No
o Esperar un
detectado un
milisegundo
objeto?
Sí
Parar
Esperar un segundo
¿Hay un objeto No
a la derecha? o Girar a la derecha
Esperar un segundo
Parar
2
Esperar un segundo
182
2
¿Hay un objeto No
a la izquierda? o Girar a la izquierda
Esperar un segundo
Parar
Dar la vuelta
Esperar un segundo
Interrupción externa
EXTI
Indicar que se ha
pulsado el botón
Fin
183
15.2. Programa Keil Uvision
Motores.h
Motores.c
184
Función plataforma móvil.h
185
Función plataforma móvil.c
186
187
Sensor distancia.h
Sensor distancia.c
188
189
190
Led.h
Led.c
191
192
Utils.h
Utils.c
193
LCD.h
LCD.c
194
195
196
197
Programa principal.c
198
199
200
15. Anexo E - Datasheets
El "reference manual" de la placa stm32f4 donde se explican sus registros y
como usarlos se puede encontrar en la siguiente dirección web:
http://www.st.com/web/en/resource/technical/document/reference_manual/DM0
0031020.pdf
201