TRABAJO FIN DE ESTUDIOS PROYECTO FIN DE CARRERA Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Tutor: Carlos Elvira Izurrategui Curso 2011-2012 Control y monitorización de una plataforma móvil, trabajo fin de estudios de Adrián Madorrán Ibáñez, dirigido por Carlos Elvira Izurrategui (publicado por la Universidad de La Rioja), se difunde bajo una Licencia Creative Commons Reconocimiento-NoComercial-SinObraDerivada 3.0 Unported. Permisos que vayan más allá de lo cubierto por esta licencia pueden solicitarse a los titulares del copyright. © © El autor Universidad de La Rioja, Servicio de Publicaciones, 2012 publicaciones.unirioja.es E-mail: [email protected] “CONTROL Y MONITORIZACIÓN DE UNA PLATAFORMA MÓVIL” Director: D. Carlos Elvira Izurrategui Departamento de Ingeniería Eléctrica Universidad de La Rioja Alumno: Adrián Madorrán Ibáñez Ingeniería Técnica Industrial especializada en Electrónica Industrial Universidad de La Rioja Lugar y Fecha: Logroño, 6 de Junio de 2012 Dedicado a mis abuelos maternos, Mª Paz y Francisco, que vieron nacer este proyecto, pero no lo han visto terminar. Siempre en mi recuerdo. Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez 1 Índice general Índice general 1 Índice general................................................................................................................... 3 2 Memoria .......................................................................................................................... 8 2.0 Hoja de identificación. ............................................................................................. 9 2.1 Objeto. ................................................................................................................... 12 2.2 Alcance. .................................................................................................................. 12 2.3 Antecedentes. ........................................................................................................ 13 2.4 Normas y referencias. ............................................................................................ 14 2.4.1 Disposiciones legales y normas aplicadas. ..................................................... 14 2.4.2 Bibliografía. .................................................................................................... 14 2.4.3 Programas de cálculo. .................................................................................... 15 2.4.4 Plan de gestión de la calidad aplicado durante la redacción del proyecto. .. 15 2.4.5 Otras referencias............................................................................................ 15 2.5 Definiciones y abreviaturas.................................................................................... 16 2.6 Requisitos del diseño. ............................................................................................ 17 2.6.1 Requisitos plataforma. ................................................................................... 17 2.6.2 Requisitos motores. ....................................................................................... 17 2.6.3 Requisitos encoders. ...................................................................................... 18 2.6.4 Requisitos etapa de potencia......................................................................... 18 2.6.5 Requisitos microcontrolador de 32 bits......................................................... 18 2.6.6 Requisitos microcontrolador de 8 bits. .......................................................... 18 2.6.7 Requisitos comunicaciones. ........................................................................... 19 2.6.8 Requisitos entorno PC.................................................................................... 19 2.7 Análisis de soluciones. ........................................................................................... 20 2.7.1 Selección de plataforma y accesorios. ........................................................... 20 2.7.2 Selección del controlador principal. .............................................................. 25 2.7.3 Selección de comunicaciones con PC. ........................................................... 30 2.7.4 Selección del control distribuido. .................................................................. 31 2.7.5 Comunicación del control distribuido con el control principal. ..................... 33 Control y monitorización de una plataforma móvil 2.7.6 2.8 Líneas futuras. ................................................................................................ 37 Planificación. .......................................................................................................... 39 2.9.1 Lista de tareas. ............................................................................................... 40 2.9.2 Diagrama Gantt. ............................................................................................. 43 2.10 3 Gestión del usuario ........................................................................................ 33 Resultados finales. ................................................................................................. 35 2.8.1 2.9 Adrián Madorrán Ibáñez Orden de prioridad entre los documentos básicos. .............................................. 44 Anexos............................................................................................................................ 45 3.1 Documentación de partida. ................................................................................... 49 3.1.1 Plataforma. .................................................................................................... 49 3.1.1.1 Chasis. ........................................................................................................ 49 3.1.1.2 Motores...................................................................................................... 51 3.1.1.3 Encoders..................................................................................................... 54 3.1.1.4 Etapa de potencia. ..................................................................................... 55 3.1.1.5 Baterías y cargador de baterías. ................................................................ 60 3.1.1.6 Ruedas........................................................................................................ 62 3.1.2 Control principal. ........................................................................................... 65 3.1.2.1 Starter Kit PIC32 ......................................................................................... 65 3.1.2.2 Comandos uso PIC32. ................................................................................ 66 3.1.2.2.1 Puertos I/O........................................................................................... 66 3.1.2.2.2 Comandos de interrupciones............................................................... 75 3.1.2.2.3 Comandos de temporizadores............................................................. 77 3.1.2.2.4 Comandos de SPI. ................................................................................ 80 3.1.2.2.5 Comandos de UART. ............................................................................ 83 3.1.2.3 Placa de expansión de puertos. ................................................................. 89 3.1.2.4 Placa conversor D/A. .................................................................................. 92 3.1.2.4.1 MCP4922.............................................................................................. 92 3.1.2.4.2 TLE2425................................................................................................ 96 3.1.2.4.3 Conexionado. ....................................................................................... 98 3.1.2.5 3.1.3 Programa PIC32. ...................................................................................... 100 Control distribuido. ...................................................................................... 105 3.1.3.1 PIC 16F877. .............................................................................................. 105 3.1.3.2 Comandos uso PIC 16F877....................................................................... 108 3.1.3.2.1 Puertos I/O......................................................................................... 108 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez 3.1.3.2.2 Comandos de interrupciones............................................................. 109 3.1.3.2.3 Comandos de contadores. ................................................................. 110 3.1.3.2.4 Comandos de SPI. .............................................................................. 111 3.1.3.3 Elementos de la placa. ............................................................................. 111 3.1.3.4 Conexionado. ........................................................................................... 114 3.1.3.5 Programador Enigma. .............................................................................. 115 3.1.3.6 Programa 16F877. .................................................................................... 118 3.1.3.6.1 Programa principal............................................................................. 118 3.1.3.6.2 Cabecera “MCP4922.h”. .................................................................... 120 3.1.3.6.3 Cabecera “Control.h”. ........................................................................ 122 3.1.4 Comunicaciones. .......................................................................................... 125 3.1.4.1 Comunicación bluetooth.......................................................................... 125 3.1.4.1.1 Especificaciones. ................................................................................ 125 3.1.4.1.2 Información técnica. .......................................................................... 129 3.1.4.1.3 Arquitectura del protocolo. ............................................................... 131 3.1.4.1.4 Principios operativos. ........................................................................ 133 3.1.4.1.5 Módulo eb301.................................................................................... 134 3.1.4.1.5.1 Dimensiones y patillaje. .............................................................. 135 3.1.4.1.5.2 Firmware. .................................................................................... 136 3.1.4.1.5.3 Led indicador. ............................................................................. 138 3.1.4.1.5.4 Conexionado con placa de expansión de puertos. ..................... 138 3.1.4.1.5.5 Comandos. .................................................................................. 141 3.1.4.1.6 Cable FTDI. ......................................................................................... 141 3.1.4.1.6.1 Experimentación. ........................................................................ 142 3.1.4.1.7 Otros módulos. .................................................................................. 142 3.1.4.1.7.1 Módulo integrado en PC. ............................................................ 142 3.1.4.1.7.2 Módulo USB. ............................................................................... 143 3.1.4.2 Comunicación SPI..................................................................................... 143 3.1.4.2.1 Cable de comunicación. ..................................................................... 148 3.1.5 3.1.5.1 Gestión de usuario. ...................................................................................... 150 Aplicación en PC....................................................................................... 150 3.1.5.1.1 Borland C++ Builder 5.0 Profesional. ................................................. 150 3.1.5.1.2 Código. ............................................................................................... 151 3.1.5.1.3 Librería puerto serie. ......................................................................... 172 Control y monitorización de una plataforma móvil 3.1.5.2 Adrián Madorrán Ibáñez Aplicación en teléfono móvil. .................................................................. 177 3.1.5.2.1 Sistema operativo Android. ............................................................... 177 3.1.5.2.2 Aplicación S2 Bluetooth Terminal2.................................................... 178 3.2 Cálculos. ............................................................................................................... 179 3.2.1 Cálculo de velocidad de motores y plataforma. .......................................... 179 3.2.2 Cálculo de la resistencia del led de la placa de control distribuido. ............ 179 3.3 Anexos de aplicación en el ámbito del proyecto distintos de los indicados en el documento básico: “Estudios con entidad propia”. ........................................................ 180 3.4 Otros documentos. .............................................................................................. 181 3.4.1 3.4.1.1 Manuales de usuario.................................................................................... 181 Manual de usuario para control desde PC. .............................................. 181 3.4.1.1.1 Necesidades iniciales. ........................................................................ 181 3.4.1.1.2 Conexión con la plataforma. .............................................................. 181 3.4.1.1.3 Control de la plataforma.................................................................... 185 3.4.1.1.4 Configuración eb101.......................................................................... 192 3.4.1.1.5 Histórico de datos. ............................................................................. 193 3.4.1.2 Manual de usuario para control desde teléfono móvil. .......................... 195 3.4.1.2.1 Necesidades iniciales. ........................................................................ 195 3.4.1.2.2 Descarga de la aplicación. .................................................................. 195 3.4.1.2.3 Conexión con la plataforma. .............................................................. 197 3.4.1.2.4 Establecimiento de la comunicación y uso. ....................................... 201 3.4.2 4 5 Contenido del CD. ........................................................................................ 209 Planos ........................................................................................................................... 210 4.1 Circuito eléctrico de la placa de control distribuido: P1. ..................................... 212 4.2 Circuito impreso para la placa de control distribuido: P2. .................................. 213 Pliego de condiciones .................................................................................................. 214 5.1 Especificaciones de materiales y elementos constitutivos del objeto del proyecto. 216 5.1.1 Listado completo. ........................................................................................ 216 5.1.2 Calidades mínimas a exigir. .......................................................................... 221 5.1.3 Pruebas y ensayos a que debe someterse. .................................................. 222 5.2 Reglamentación y normativa aplicable incluyendo recomendaciones y normas de no obligado cumplimiento. .............................................................................................. 222 5.3 Aspectos del contrato. ......................................................................................... 222 5.3.1 Documentación base para la contratación de su materialización. .............. 223 Control y monitorización de una plataforma móvil 6 7 Adrián Madorrán Ibáñez 5.3.2 Limitaciones en los suministros. .................................................................. 223 5.3.3 Criterios para las modificaciones al proyecto original. ................................ 225 Estado de mediciones .................................................................................................. 226 6.1 Capítulo 1: Plataforma. ........................................................................................ 228 6.2 Capítulo 2: Control Principal. ............................................................................... 230 6.3 Capítulo 3: Control Distribuido. ........................................................................... 231 6.4 Capítulo 4: Comunicaciones................................................................................. 235 6.5 Capítulo 5: Elementos Auxiliares. ........................................................................ 236 6.6 Capítulo 6: Mano de Obra.................................................................................... 238 Presupuesto ................................................................................................................. 239 7.1 Cuadros de precios unitarios de materiales, mano de obra y elementos auxiliares que componen las partidas o unidades de obra. ............................................................ 241 7.1.1 Capítulo 1: Plataforma. ................................................................................ 241 7.1.2 Capítulo 2: Control Principal. ....................................................................... 243 7.1.3 Capítulo 3: Control Distribuido. ................................................................... 244 7.1.4 Capítulo 4: Comunicaciones......................................................................... 248 7.1.5 Capítulo 5: Elementos auxiliares. ................................................................. 249 7.1.6 Capítulo 6: Mano de obra ............................................................................ 251 7.2 Cuadros de precios unitarios de las unidades de obra, de acuerdo con el “Estado de mediciones” y con la descomposición correspondiente de materiales, mano de obra y elementos auxiliares. ....................................................................................................... 252 7.2.1 Capítulo 1: Plataforma. ................................................................................ 252 7.2.2 Capítulo 2: Control Principal. ....................................................................... 254 7.2.3 Capítulo 3: Control Distribuido. ................................................................... 255 7.2.4 Capítulo 4: Comunicaciones......................................................................... 259 7.2.5 Capítulo 5: Elementos Auxiliares. ................................................................ 260 7.2.6 Capítulo 6: Mano de obra ............................................................................ 263 7.3 Presupuesto. ........................................................................................................ 264 2 Memoria Director: D. Carlos Elvira Izurrategui Departamento de Ingeniería Eléctrica Universidad de La Rioja Alumno: Adrián Madorrán Ibáñez Ingeniería Técnica Industrial especializada en Electrónica Industrial Universidad de La Rioja Título: Control y programación de una plataforma móvil Control y monitorización de una plataforma móvil 2.0 Hoja de identificación. Adrián Madorrán Ibáñez Título: Control y programación de una plataforma móvil. Director: D. Carlos Elvira Izurrategui Profesor del departamento de Ingeniería Eléctrica de la Universidad de La Rioja. Alumno: Adrián Madorrán Ibáñez Ingeniería Técnica Industrial especializada en Electrónica Industrial. Logroño, a 6 de Junio de 2012 D. Carlos Elvira Izurrategui Memoria Adrián Madorrán Ibáñez Página 9 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Índice de memoria: 2 Memoria…………………………………………………………………………………………………………… 8 2.0 Hoja de identificación. ............................................................................................. 9 2.1 Objeto. ................................................................................................................... 12 2.2 Alcance. .................................................................................................................. 12 2.3 Antecedentes. ........................................................................................................ 13 2.4 Normas y referencias. ............................................................................................ 14 2.4.1 Disposiciones legales y normas aplicadas. ..................................................... 14 2.4.2 Bibliografía. .................................................................................................... 14 2.4.3 Programas de cálculo. .................................................................................... 15 2.4.4 Plan de gestión de la calidad aplicado durante la redacción del proyecto. .. 15 2.4.5 Otras referencias............................................................................................ 15 2.5 Definiciones y abreviaturas.................................................................................... 16 2.6 Requisitos del diseño. ............................................................................................ 17 2.6.1 Requisitos plataforma. ................................................................................... 17 2.6.2 Requisitos motores. ....................................................................................... 17 2.6.3 Requisitos encoders. ...................................................................................... 18 2.6.4 Requisitos etapa de potencia......................................................................... 18 2.6.5 Requisitos microcontrolador de 32 bits......................................................... 18 2.6.6 Requisitos microcontrolador de 8 bits. .......................................................... 18 2.6.7 Requisitos comunicaciones. ........................................................................... 19 2.6.8 Requisitos entorno PC.................................................................................... 19 2.7 Análisis de soluciones. ........................................................................................... 20 2.7.1 Selección de plataforma y accesorios. ........................................................... 20 2.7.2 Selección del controlador principal. .............................................................. 25 2.7.3 Selección de comunicaciones con PC. ........................................................... 30 2.7.4 Selección del control distribuido. .................................................................. 31 2.7.5 Comunicación del control distribuido con el control principal. ..................... 33 2.7.6 Gestión del usuario ........................................................................................ 33 2.8 Resultados finales. ................................................................................................. 35 2.8.1 2.9 Memoria Líneas futuras. ................................................................................................ 37 Planificación. .......................................................................................................... 39 Página 10 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez 2.9.1 Lista de tareas. ............................................................................................... 40 2.9.2 Diagrama Gantt. ............................................................................................. 43 2.10 Memoria Orden de prioridad entre los documentos básicos. .............................................. 44 Página 11 Control y monitorización de una plataforma móvil 2.1 Objeto. Adrián Madorrán Ibáñez Objetivos del proyecto: - Estudio y selección de componentes para el montaje de una plataforma móvil de bajo coste. - Estudio y selección de la electrónica de control de la plataforma móvil. - Desarrollo de la programación de algoritmos de control en lenguaje de alto nivel compatibles con la electrónica. - Programación en lenguaje visual de un entorno para monitorizar la plataforma móvil. Justificación de los objetivos: - Lo primero de debemos hacer, es seleccionar los materiales más adecuados para la construcción de una plataforma móvil. Tener una base con al que comenzar a trabajar. - Para que la plataforma se desplace, es necesario una parte electrónica que gestione la plataforma. - A parte de la electrónica, es necesaria una programación de la misma para que todo se relacione adecuadamente. - Para finalizar, necesitaremos un entorno desde donde gestionar la plataforma. 2.2 Alcance. Debido a que este proyecto tiene carácter didáctico a nivel universitario, engloba, por lo tanto, partes de diseño, desarrollo, mejora y ejecución de un prototipo de plataforma móvil. El producto desarrollado en este proyecto debe cumplir los siguientes requerimientos especificados: Memoria Página 12 Control y monitorización de una plataforma móvil - Adrián Madorrán Ibáñez Realización por parte del alumno de las placas de control distribuido. Los elementos se seleccionarán de acuerdo a unos requisitos iniciales que se pueden consultar en el punto “2.6. Requisitos del diseño”. El usuario debe tener control en cualquier momento de la plataforma. El control principal de la plataforma se realizara bajo PC. 2.3 Antecedentes. Inicialmente se ha estudiado una serie de plataformas de diferentes fabricantes y tras este estudio se ha elegido la que mejores prestaciones nos ofrecía. A continuación, se ha elegido la electrónica de potencia capaz de controlar los motores que hemos elegido. Para poder tener un control de las tracciones se han estudiado tres posibilidades: 1-. Tracción delantera, gestionada por un único microcontrolador de alta capacidad (32 bits) que se comunica con un PC que maneja el usuario. 2-. Tracción delantera, gestionada por un microcontrolador de baja capacidad (8 bits) que se comunica con un microcontrolador de alta capacidad (32 bits) y este es controlado por un usuario mediante PC. 3-. Tracción total, control de tracción delantera mediante un microcontrolador de baja capacidad (8 bits) y control de tracción trasera mediante otro microcontrolador de baja capacidad (8 bits) y los dos microcontroladores gestionados a su vez por un tercero de alta capacidad (32 bits) que se comunica con un usuario mediante PC. La elección principal que se ha adoptado es la tercera debido a que podemos tener un control total de la plataforma, pudiendo seleccionar en cualquier momento . Memoria Página 13 Control y monitorización de una plataforma móvil 2.4 Normas y referencias. Adrián Madorrán Ibáñez A continuación se detallará la normativa y referencias que se han tenido en cuenta. 2.4.1 Disposiciones legales y normas aplicadas. Dado que el proyecto carece de carácter comercial y es dedicado íntegramente como fin didáctico, no se aplican disposiciones legales ni normativas aplicadas especificas a tener en cuenta. 2.4.2 Bibliografía. La principal bibliografía que va a ser consulta es: [1] Microchip. PIC32 Starter Kit User’s Guide. USA: 2010. 78p. DS61159A. [2] Microchip. MPLAB C32 C Compiler User’s Guide. USA: 2007. 114p. DS51686A. [3] Microchip. MPLAB C32 C COMPILER LIBRARIES. USA: 2007. 106p. DS51685A. [4] Microchip. PIC32 Peripheral Libraries for MPLAB C32 Compiler. USA: 2007. 325p. DS062507. [5] Microchip. 32-Bit Languaje Tools Libraries. USA: 2009. 140p. DS51685C. [6] Microchip. PIC32 Family Reference Manual (All Sections). USA: 2008. 438p. DS61127C. [7] Microchip. MPLAB User Guide. USA: 2009. 352p. DS51519C. [8] Microchip. Datasheet PIC 16f877. USA: 2001. 218p. DS30292C. [9] Cánovas López, Andrés. Manual compilador C CCS. Valencia: 2010. 70p. [10] Ingeniería de Microsistemas Programados S.L. EB301 Guía rápida. Bilbao: 2010. 28p. [11] Microchip. Datasheet MCP4921-22. USA: 2004. 40p. DS21897A. [12] López Pérez, Eric. INGENIERIA EN MICROCONTROLADORES: Protocolo SPI (Serial Peripheral Interface). México: 2009. 10p. [13] Dimension Engineering. Sabertooth 2x5 User’s Guide. USA: 2007. 19p. Memoria Página 14 Control y monitorización de una plataforma móvil 2.4.3 Programas de cálculo. Adrián Madorrán Ibáñez Para la realización de la placa de control que albergara el microcontrolador de baja capacidad (8 bits) se va a utilizar Orcad Family Release 9.2: - Esquema: Capture CIS. Placa: Layout. Para la programación del microcontrolador de alta capacidad (32 bits) se va a utilizar MPLAB IDE v8.46. Para la programación del microcontrolador de baja capacidad (8 bits) se va a utilizar MPLAB IDE v8.46 junto con el compilador PIC C Complier PCWHD (CCS). El programador que se va a utilizar para enviar el código compilado al microcontrolador de baja capacidad (8 bits) es Enigma de libre distribución. 2.4.4 Plan de gestión de la calidad aplicado durante la redacción del proyecto. No se va a llevar a cabo un plan de gestión de la calidad durante la redacción del proyecto, aunque sí que controlará por parte del director del proyecto que la redacción del proyecto se desarrolle satisfactoriamente. 2.4.5 Otras referencias. Se van a enumerar otros recursos utilizados a la hora de la elaboración del proyecto: [1] Curso básico PIC 16f877. (2011). Fecha de consulta: abril 10, 2010 desde http://es.scribd.com/doc/26562531/Curso-Basico-PIC16F877 [2] Foro de electrónica. (2010). Todopic, foro de electrónica desde http://todopic.mforos.com [3] Curso básico PIC 16f877. (2010). Forosdeelectronica, foro de electrónica desde http://www.forosdeelectronica.com Memoria Página 15 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez [4] Foro de electrónica. (2010). Ucontrol, foro de electrónica desde http://www.ucontrol.com.ar/ [5] Elementos electrónicos. (2010). Microchip, fabricante desde http://www.microchip.com [6] Elementos de la plataforma. (2010). Lynxmotion, fabricante desde http://www.lynxmotion.com/ [7] Librería de comunicación serie. (2011). Linux Communication desde http://lnxcomm.sourceforge.net/data/ [8] Compilador CCS. (2010). CCS desde www.ccsinfo.com 2.5 Definiciones y abreviaturas. - 4WD: Tracción variable a las cuatro ruedas. A: Amperios. BT: Bluetooth. Cm: Centímetros. D/A: Digital a analógico. DIP: Dual Inline Package (Encapsulado dual en línea). H: En medidas High (alto). IVA: Impuesto sobre el valor añadido. Kbps: Kilo bits por segundo. Kg: kilos. Khz: Kilohercios = 1000 hercios. L: En medidas Long (largo). mA: mili amperio (10-3 A). mAh: mili amperios hora. MHz: mega hercios (106 Hercios). Ni-Cad: Níquel Cadmio referente a baterías. Ni-Mh: Níquel Metal hidruro referente a baterías. R/C: Radio control. Rpm: Revoluciones por minuto. Smd: Superficial mount device (dispositivo de montaje superficial). SPI: Serial Peripheral Interface (Bus serie de interfaz de periféricos). USB: Universal Serial Bus (Bus serie universal). V: Voltios. Vdc: Voltios de tensión continua. Memoria Página 16 Control y monitorización de una plataforma móvil - W: En medidas Wide (ancho). μA: micro amperio (10-6 A). μs: micro segundo (10-6 s). Adrián Madorrán Ibáñez 2.6 Requisitos del diseño. Se van a enumerar una serie de requisitos iniciales con los que se parte al inicio del proyecto y que determinan el camino a seguir para seleccionar los elementos que se van a utilizar. 2.6.1 Requisitos plataforma. Los requisitos iniciales para la selección de la plataforma son: - - Materiales: deben ser ligeros y resistentes: aluminio, acero inoxidable, policarbonato,… Medidas: o Máximo: 45 cm L x 35 cm W x 15 cm H. o Mínimo: 20 cm L x 15 cm W x 7 cm H. Tracción: total a las cuatro ruedas. Ruedas que se adapten a todo tipo de terreno u oruga. 2.6.2 Requisitos motores. Los requisitos iniciales para la selección de los motores son: - Tensión de alimentación: entre 6 y 12 Vdc. Corriente máxima: 5A. Par: mínimo 3.5 kg cm. Rpm: mínimo 100. Capacidad de colocar un encoder digital. Memoria Página 17 Control y monitorización de una plataforma móvil 2.6.3 Requisitos encoders. Adrián Madorrán Ibáñez Los requisitos iniciales para la selección de los encoders son: - Mínimo 200 pulsos por revolución. Frecuencias mayores de 10kHz aunque dependerá del motor que finalmente se seleccione. 2.6.4 Requisitos etapa de potencia. Los requisitos iniciales para la selección de la etapa de potencia son: - Mínimo dos canales de control. Corriente continua máxima: 5A. Control analógico. 2.6.5 Requisitos microcontrolador de 32 bits. Los requisitos iniciales para la selección del microcontrolador de 32 bits son: - Frecuencia mínima: 40MHz. Memoria mínima de programa: 16kB. Memoria RAM mínima: 4kB. Puertos SPI: mínimo 1. 2.6.6 Requisitos microcontrolador de 8 bits. Los requisitos iniciales para la selección del microcontrolador de 8 bits son: - Frecuencia mínima: 4MHz. Memoria mínima de programa: 4kB. Contadores programables: mínimo 2. Puertos SPI: mínimo 1. Memoria Página 18 Control y monitorización de una plataforma móvil 2.6.7 Requisitos comunicaciones. Adrián Madorrán Ibáñez Los requisitos iniciales para la selección de las comunicaciones son: - - Comunicación entre microcontrolador de 32 bits y PC: debe ser una comunicación inalámbrica: o Wifi. o Radio frecuencia. o Bluetooth. o ZigBee. Comunicación entre microcontrolador de 32 bits y microcontrolador de 8 bits: debe ser una comunicación alámbrica: o UART (serie). o SPI (serie). o I2C 2.6.8 Requisitos entorno PC. Los requisitos iniciales para la selección del entorno de gestión del PC son: - - Lenguaje de alto nivel: o C, C++. o Basic. Sistema operativo: Windows (XP, Vista, 7). Memoria Página 19 Control y monitorización de una plataforma móvil 2.7 Análisis de soluciones. Adrián Madorrán Ibáñez Se va a dividir el análisis de soluciones en seis pasos: 2.7.1 Selección de plataforma y accesorios. De acuerdo a los requisitos iniciales que nos marcan una pauta a la hora de buscar y seleccionar los materiales, se han encontrado los siguientes candidatos para la realización del proyecto. 1-. MMP-5 Mobile Robot Platform Características: - Cuatro motores de alta aceleración. Chasis de aluminio con acabado en anodizado negro. Batería 12V Ni-Cad 1400mAh. Ruedas todoterreno (diámetro de rueda 10.8 cm). Tamaño: 29.2 cm L x 28.45 cm W x 10.8 cm H. Precio: 412€ IVA incluido. Ilustración 1: Kit MMP-5. 2-. 4WD ATR Base Kit Características: - Cuatro motores. Chasis de aluminio. Baterías: 24V 4500 mAH Ni-MH 2x10. Memoria Página 20 Control y monitorización de una plataforma móvil - - Ruedas todoterreno. Tamaño: 43.82 cm L x 31.12 cm W x 17.15 cm H. Precio: 582€ IVA incluido. Adrián Madorrán Ibáñez Ilustración 2: Kit 4WD ATR. 3-. A4WD1 Rover Características: - - Cuatro motores. Chasis de aluminio y policarbonato negro. Baterías: 7.2V 2800 mAh Ni-MH. Ruedas todoterreno. Tamaño: 22.2 cm L x 17.8 cm W x 8.9 cm H. Precio: 240€ IVA incluido. Ilustración 3: Kit 4WD ATR. Por la relación calidad-precio y las características que nos ofrece, se ha elegido como base para trabajar la tercera opción: A4WD1 Rover. Memoria Página 21 Control y monitorización de una plataforma móvil Para más información consúltese Anexos 3.1.1.1. Chasis. Adrián Madorrán Ibáñez Una vez que tenemos la plataforma, elegimos los motores del kit que más nos interesen de acuerdos a los requisitos iniciales. Los motores que nos ofrecen son los siguientes: Ilustración 4: Motor GHM. 1-. Gear Head Motor GHM-03: Características: - 7.2vdc – 3.8A en carga. Relación reducción: 30:1 291rpm Par motor: (3.9 kg-cm) Capacidad de colocar un encoder digital. 2-. Gear Head Motor GHM-16: Características: - 12vdc – 1.6A en carga Relación reducción: 30:1 200rpm Par motor: (4 kg-cm) Capacidad de colocar un encoder digital. Memoria Página 22 Control y monitorización de una plataforma móvil 3-. Gear Head Motor GHM-04: Adrián Madorrán Ibáñez Características: - 7.2vdc – 3.8A en carga. Relación reducción: 50:1 175rpm Par motor: (7.1 kg-cm) Capacidad de colocar un encoder digital. Dado que no nos interesa que la plataforma alcance gran velocidad se ha elegido la tercera opción: Gear Head Motor GHM-04. Estos motores no tienen una gran velocidad, pero si ofrecen un par motor mayor. Para más información consúltese Anexos 3.1.1.2. Motores. Un vez que tenemos los motores, seleccionamos los encoder que se adapten a ellos. El fabricante nos ofrece unos únicos encoders. Características: - Encoder = 100 ciclos por revolución. Encoder = 400 pulsos cuadrados por revolución. Frecuencia = mas de 30khz Ilustración 5: Encoder para motor GHM. Para más información consúltese Anexos 3.1.1.3. Encoders. Memoria Página 23 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez A continuación, seleccionaremos las etapas de potencia que van a alimentar los motores. Partiendo de la base que los motores se alimentan a 7.2V y que la corriente máxima esperada (según el fabricante) es de 3.8A, se ha seleccionado la siguiente etapa de potencia para los motores: Sabertooth 2X5 Controladora dual de motores regenerativa: Características: - Control = Analógico, R/C, serie simplificado, serie paquetizado. Canales = 2 (control dual). Voltaje = 6.0vdc - 18.0vdc. Corriente continua = 5A. Corriente de pico = 10A. Otros = Control síncrono regenerativo, frecuencia de conmutación por ultrasonidos, protección térmica y de sobrecorriente y modo de protección para baterías de litio. Ilustración 6: Etapa de potencia Sabertooth 2x5. Para más información consúltese Anexos 3.1.1.4. Etapas de potencia. Y por último, dado que las etapas de control tienen protección de litio y control regenerativo, vamos a utilizar unas baterías diferentes a las que el kit básico trae. Se ha seleccionado para el uso unas baterías de litio de 7.4V y 2100 mAh. Para más información consúltese Anexos 3.1.1.5. Baterías y cargador de baterías. Memoria Página 24 Control y monitorización de una plataforma móvil 2.7.2 Selección del controlador principal. Adrián Madorrán Ibáñez Como controlador principal se va a seleccionar un microcontrolador que se comunicará con el PC y dependiendo de cómo hayamos integrado la tracción, se comunicará con otros microcontroladores o actuará en las etapas de potencia de los motores. Por todo ello, se ha optado por escoger un microcontrolador del fabricante Microchip: PIC32MX320F032H-401/P para montaje smd en placa. Las características principales son: - Máxima velocidad: 40Mhz. Memoria de programa: 32KB. Memoria RAM: 8KB. Tensión alimentación: 2.3V – 3.6V. SPI-I2C: 2 canales. Contadores de 16 bits: 5. Ilustración 7: PIC32MX320F032H-401/MR. Los microcontroladores se dispensan sin placa de expansión para poder acceder fácilmente a los puertos, por ello no es necesario una placa para conexión TQFP64. Para ello utilizaremos las del fabricante Proto Advantage PCB3006-1. Memoria Página 25 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Ilustración 8: PCB3006-1. Dado el problema principal de soldar el microcontrolador a su placa por el pequeño tamaño y más tarde el mayor inconveniente, encontrar un programador que se puede utilizar, se optara por otra solución. Para erradicar estos problemas se ha selecciona un kit de desarrollo de Microchip. En concreto es el PIC 32 Starter Kit. El kit nos ofrece las siguientes ventajas: - MPLAB 8.x gratis. MPLAB C32 COMPILER gratis hasta 64kb de código de programa. Programación y depuración por medio del cable USB todo desde el propio MPLAB. El microcontrolador que incorpora es PIC32MX360F512L cuyas características principales son: - Máxima velocidad: 80Mhz. Memoria de programa: 512KB. Memoria RAM: 32KB. Tensión alimentación: 2.3V – 3.6V. SPI-I2C: 2 canales para cada uno. Contadores de 16 bits: 5. Memoria Página 26 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Ilustración 9: Características PIC32MX360F512L. Para más información consúltese Anexos 3.1.2.1. Starter Kit PIC32. Para acceder fácilmente a los puertos, se va a utilizar la placa de expansión de puertos que nos ofrece un acceso rápido a todos ellos. Memoria Página 27 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Ilustración 10: Placa de expansión para PIC 32 Starter Kit. Para más información consúltese Anexos 3.1.2.3. Placa de expansión de puertos. Para que el controlador principal pueda atacar a los motores mediante la etapa de potencia se necesita un conversor D/A. Soluciones que se han estudiado: - TLV5616IP: o Fabricante: Texas Instruments. o Resolución: 12 bits. o Número de canales: 1. o Tiempo ejecución: 3 μs. o Consumo: 2.1mW. - MAX5302: o Fabricante: Maxim. o Resolución: 12 bits. o Número de canales: 1. o Tiempo ejecución: 14 μs. o Consumo: 330mW. Memoria Página 28 Control y monitorización de una plataforma móvil - MCP4922: o Fabricante: Microchip. o Resolución: 12 bits. o Número de canales: 2. o Tiempo ejecución: 4.5 μs. o Consumo: 3.5mW. Adrián Madorrán Ibáñez Por sus características y por ser el mismo fabricante que con lo que se va a trabajar se ha elegido como conversor el MCP4922. Ilustración 11: MCP4922. Como ha dicho conversor D/A se le puede acoplar tensión de referencia externa y aplica ganancia doble, se le aplicará una tensión de referencia de 2.5V. Para ello se utilizará un chip integrado de tierra virtual que nos dará una tensión analógica de 2.5V de salida. El dispositivo a utilizar es el TLE2425CPL del fabricante Texas Instruments. Características: - Alimentación: 5V Salida: 2.5V Consumo: Máximo 20mA. Baja impedancia. Ilustración 12: TLE2425CPL. Para más información consúltese Anexos 3.1.2.4. Placa conversor D/A. Memoria Página 29 Control y monitorización de una plataforma móvil 2.7.3 Selección de comunicaciones con PC. Adrián Madorrán Ibáñez La única comunicación microcontrolador-PC se va a realizar con el PIC32. Para ello se ha seleccionado una comunicación bluetooth, inalámbrica, versátil y veloz. El módulo bluetooth seleccionado para ir conectado en el PIC 32 es eb301: - Fabricante: A7 Engineering. Velocidad: hasta 250kbps. Tensión: 3.3V/5V. Consumo corriente: 125 μA – 60mA. Antena integrada. Potencia emisión: +6dBm. Potencia recepción: -85dBm. Conexión: RS-232 con microcontrolador. Ilustración 13: eb301. Para más información consúltese Anexos 3.1.4.1.5. Módulo eb301. Para poder conectar el módulo eb101/301 se va a utilizar un cable USB a cable serie TTL (5V) del fabricante FTDI. El cable lo que hace es convertir la comunicación serie RS232 del módulo en una comunicación serie USB. Ilustración 14: Cable FTDI TTL-232R-5V. Memoria Página 30 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Para más información consúltese Anexos 3.1.4.1.6. Cable FTDI. En el PC se va a utilizar cualquier modulo que el PC disponga o el usuario desee usar. En este caso se van a utilizar dos para comprobar que todo funciona correctamente: - Módulo integrado en ordenador portátil. o Fabricante: Broadcom. Ilustración 15: Bluetooth Broadcom. - Módulo USB NW545. o Fabricante: Net Way. o Versión bluetooth: 2.0 + EDR. o Clase: 2 (10 metros). Ilustración 16: Bluetooth NW545. Para más información consúltese Anexos 3.1.4.1.7. Otros módulos. 2.7.4 Selección del control distribuido. Para el control distribuido, se ha seleccionado, ya que se va a trabajar con el fabricante Microchip, un microcontrolador de este fabricante de la familia de 8 bits. Memoria Página 31 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Las necesidades primordiales es que disponga de comunicación SPI, dos contadores programables y con memoria suficiente para albergar el programa. Por todo esto, se va a utilizar el microcontrolador de Microchip 16F877. Características principales: - Velocidad: Hasta 20MHz. Puerto SPI: 1. Contadores: 3. Consumo: Máximo 6mA. Memoria de programa 8k. Ilustración 17: PIC 16F877. Para más información consúltese Anexos 3.1.3.1. PIC 16F877. Para poder acceder a los puertos del 16F877 se van a crear dos placas electrónicas iguales para su uso. Dichas placas contarán con los siguientes elementos: - Cristal oscilador: 20MHz. Zócalo DIP de 40 pines. Circuito de reset. Led indicador de alimentación. Conectores para todos los puertos del microcontrolador. Condensadores para proteger la alimentación. Varios conectores de alimentación para la placa y los encoders. También se añadirán conversores D/A MCP4922 uno a cada placa para poder interactuar con las placas de potencia de los motores. Para ello se necesitará: Memoria Página 32 Control y monitorización de una plataforma móvil - Adrián Madorrán Ibáñez MCP4922. TLE2425 Zócalo DIP de 14 pines. Conectores para los puertos. Para más información consúltese Anexos 3.1.3.3. Elementos de la placa. 2.7.5 Comunicación del control distribuido con el control principal. Para la comunicación del control distribuido con el control principal se va a utilizar comunicación alámbrica. La comunicación empleada será SPI, seleccionada por su velocidad, el uso de pocos cables de comunicación y porque los microcontroladores seleccionados poseen los puertos necesarios para ello. Una de sus características principales es que permite una comunicación simultanea en los dos sentidos (full dúplex). SCLK MOSI MISO PIC 32 SS1 SS2 SCLK MISO MOSI SS 16F877 SCLK MISO MOSI SS 16F877 Ilustración 18: Comunicación SPI. Para más información consúltese Anexos 3.1.4.2. Comunicación SPI. 2.7.6 Gestión del usuario La gestión del usuario de la plataforma se va a realizar de dos formas, una mediante PC con el uso de un software específico y otra mediante un teléfono móvil con el uso de un software genérico. Memoria Página 33 Control y monitorización de una plataforma móvil 1) Desde PC. Adrián Madorrán Ibáñez Se utilizará uno de los módulos bluetooth del apartado 2.7.3. El software que se va a utilizar es Borland C++ Builder 5.0. Professional. El programa contará con varias pestañas (ventanas): o Pestaña de inicio, breve presentación. o Pestaña de configuración de comunicación, donde se podrá configurar el puerto que se va a utilizar para la comunicación con la plataforma. o Pestaña de control de la plataforma, desde donde se podrá controlar la plataforma de dos modos diferentes, uno manual y otro visual. o Pestaña de configuración del módulo eb101/301, el usuario podrá configurar el módulo conectándolo con el cable USB. o Pestaña de histórico, donde el usuario podrá visualizar, guardar o borrar los comandos y datos que se han enviado y recibido en la sesión de uso. Para la ayuda de la configuración de los puertos serie, el programa se apoyará en las librerías de uso gratuito Linux Communication. Para más información consúltese Anexos 3.1.5.1. Aplicación en PC y Anexos 3.4.1.1. Manual de usuario para control desde PC. 2) Desde teléfono móvil. Se utilizará un teléfono móvil con sistema operativo Android 2.1. y el software gratuito (disponible en Android Market) S2 Bluetooth Terminal2. Desde esta aplicación cualquier usuario con los conocimientos suficientes, será capaz de controlar la plataforma. Para más información consúltese Anexos 3.1.5.2. Aplicación en teléfono móvil y Anexos 3.4.1.2. Manual de usuario para control desde teléfono móvil. Memoria Página 34 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez 2.8 Resultados finales. Los resultados finales del proyecto se enumeran a continuación: 1) Selección de materiales: Lo primero que se ha realizado es la selección de materiales para la construcción de la plataforma. La selección se ha realizado completamente y con los materiales elegidos se puede realizar el proyecto completamente. 2) Diseño y fabricación de las placas de control distribuido: En el diseño de la placa se ha tenido en cuenta de dotarlo de dos salidas analógicas así como de medidas de filtrado de alimentación mediante condensadores, adicción de un circuito de reset y un led de estado de funcionamiento. Una vez realizado el diseño, se han fabricado manualmente y posteriormente se ha realizado el soldado de componentes. 3) Control de la plataforma con el control distribuido: Programación de los PIC 16F877 para que se comuniquen con el conversor D/A MCP4922 y que estos ofrezcan las consignas de movimiento a las etapas de potencia. 4) Lectura de encoders con el control distribuido y pequeño control proporcional: Programación de los PIC 16F877 para leer los encoders y realizar un pequeño control proporcional. 5) Comunicación SPI entre PIC 16F877 y PIC32: Debido a los diversos problemas de comunicación entre los PIC que no sabemos a qué causas se deben ya que no son errores sistemáticos y se producen aleatoriamente, se ha optado por probar con una placa de experimentación Memoria Página 35 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez industrial obteniendo los mismos resultados. Por falta de tiempo para terminar a tiempo el proyecto se ha decidido controlar la plataforma con el PIC32. 6) Comunicación bluetooth entre PIC32 y PC (o móvil): Programación del PIC32 para comunicación bluetooth con el PC o teléfono móvil y comenzar con el envío/recepción de datos. 7) Dotación de salida analógica al PIC32: Se ha dotado al PIC32 de un conversor D/A MCP4922 para poder proporcionar consignas de velocidad a la etapa de potencia y se ha programado la comunicación SPI con el conversor. 8) Creación de la aplicación de software de PC: Se ha programado en Borland C++ Builder una aplicación específica para que cualquier usuario pueda controlar la plataforma. Se ha realizado dos manuales de uso, uno de control bajo PC y otro de control bajo teléfono móvil. 9) Montaje total plataforma: Se ha montado la plataforma en su totalidad y se la ha dotado de una placa de control distribuido en su interior así como del PIC32 y su placa de expansión de puerto y el módulo bluetooth eb301 en la parte superior. Problemas surgidos durante la realización del proyecto: Problema: El led de la placa de control distribuido se enciende cuando no hay alimentación y el cable de comunicación SPI está conectado. Causa: Una de las líneas de SPI cuándo esta inactiva esta a nivel alto. Parece que internamente el PIC deriva la tensión de 3V a las líneas de alimentación haciendo que el led se ilumine. Solución: Dado que es un problema solamente estético, no lo hemos solucionado aunque podríamos haber puesto un diodo. Memoria Página 36 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Problema: En la comunicación SPI entre el PIC 16F877 y el PIC32 se generan ceros aleatorios que no siguen ningún patrón. Causa: No se ha conseguido localizar a que es debido el problema. Solución: Se ha abandonado la comunicación después de tres meses intentando conseguir una solución y debido también a la falta de tiempo para seguir investigando. Problema: En el PIC32 después de recibir tres o cuatro bytes por la UART mediante el modulo bluetooth deja de entrar a la interrupción. Causa: La pila de la UART del PIC32 solo es capaz de almacenar cuatro bytes y se le está enviando ocho por lo que da un error de sobreescritura. Solución: Se envían los bytes de uno en uno para evitar que la pila se sature. Problema: Cuando el PIC32 envía un dato al MCP4922, este no da la salida en voltios correspondiente. Siempre se sitúa entre 0 y 0.1V Causa: El pin LDAC (en SPI es SS) que hace que el MCP4922 recoja lo que se le envía no se pone a nivel bajo a tiempo y por lo tanto no se recoge ningún dato. Solución: En vez de utilizar la línea SS del puerto SPI, se utiliza un pin digital del PIC32 que pondremos manualmente a nivel bajo cuando enviemos un dato, dándole tiempo a que se estabilice a nivel bajo. 2.8.1 Líneas futuras. Existen múltiples líneas futuras para este proyecto. La primera línea que deberíamos seguir es la de dotar completamente a la plataforma de control distribuido y con tracción total a las cuatro ruedas haciendo una pequeña adaptación al programa del PIC32 y al software de PC. Una vez que se haya implementado la tracción total podemos dotar la plataforma de muchos accesorios: - Sensores delanteros y traseros para detección de obstáculos. Sensor GPS para localización. Sensor acelerómetro para comprobar la inclinación de los terrenos. Cámara para poder recibir video de donde se dirige la plataforma. Sensor de vibración por si recibiese algún golpe. Sensor térmico para la detección de obstáculos. Memoria Página 37 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez También podemos dotar a la plataforma de los siguientes elementos: - Pinza delantera para coger objetos: Ilustración 19: Pinza. - Brazo robótico controlable: Ilustración 20: Brazo. - Pinza y cámara: Memoria Página 38 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Ilustración 21: Pinza y cámara. 2.9 Planificación. A continuación se expone la planificación seguida en la realización del proyecto, tanto las tareas realizadas con sus fechas de inicio y fin como de diagrama de Gantt empleado en la elaboración del proyecto. Memoria Página 39 Control y monitorización de una plataforma móvil 2.9.1 Lista de tareas. Memoria Adrián Madorrán Ibáñez Página 40 Control y monitorización de una plataforma móvil Memoria Adrián Madorrán Ibáñez Página 41 Control y monitorización de una plataforma móvil Memoria Adrián Madorrán Ibáñez Página 42 Control y monitorización de una plataforma móvil 2.9.2 Diagrama Gantt. Memoria Adrián Madorrán Ibáñez Página 43 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez 2.10 Orden de prioridad entre los documentos básicos. El orden de prioridad de los documentos dentro del proyecto de acuerdo a la norma UNE 157001:2002 será el siguiente: 1) 2) 3) 4) Planos. Pliego de Condiciones. Presupuesto. Memoria. Respecto al documento Estudios con Entidad Propia no será añadido a este proyecto debido a que no se ha realizado ningún estudio con entidad propia (Prevención de riesgos laborales e Impacto ambiental). Memoria Página 44 3 Anexos Director: D. Carlos Elvira Izurrategui Departamento de Ingeniería Eléctrica Universidad de La Rioja Alumno: Adrián Madorrán Ibáñez Ingeniería Técnica Industrial especializada en Electrónica Industrial Universidad de La Rioja Título: Control y programación de una plataforma móvil Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Índice de Anexos 3 Anexos……………………………………………………………………………………………………………… 3.1 Documentación de partida……………………………………………………………………………… 3.1.1 45 49 Plataforma……………………………………………………………………………………………. 49 3.1.1.1 Chasis…………………………………………………………………………………………………… 49 3.1.1.2 Motores……………………………………………………………………………………………….. 51 3.1.1.3 Encoders………………………………………………………………………………………………. 54 3.1.1.4 Etapa de potencia. ……………………………..……………………………………………….. 55 3.1.1.5 Baterías y cargador de baterías…………………………………………………………… 60 3.1.1.6 Ruedas. ……………………………………………………………………………………………….. 62 3.1.2 Control principal…………………………………………………………………………………… 65 3.1.2.1 Starter Kit PIC32…………………………………………………………………………………… 65 3.1.2.2 Comandos uso PIC32……………………………………………………………………………. 66 3.1.2.2.1 Puertos I/O………………………………………………………………………………. 66 3.1.2.2.2 Comandos de interrupciones…………………………………………………… 75 3.1.2.2.3 Comandos de temporizadores…………………………………………………. 77 3.1.2.2.4 Comandos de SPI……………………………………………………………………… 80 3.1.2.2.5 Comandos de UART…………………………………………………………………. 83 3.1.2.3 Placa de expansión de puertos……………………………………………………………… 89 3.1.2.4 Placa conversor D/A……………………………………………………………………………… 92 3.1.2.4.1 MCP4922…………………………………………………………………………………. 92 3.1.2.4.2 TLE2425…………………………………………………………………………………… 96 3.1.2.4.3 Conexionado……………………………………………………………………………. 98 3.1.2.5 Programa PIC32…………………………………………………………………………............ 100 3.1.3 Control distribuido……………………………………………………………………………….. 105 3.1.3.1 PIC 16F877……………………………………………………………………………………………. 105 3.1.3.2 Comandos uso PIC 16F877……………………………………………………………………. 108 Anexos 3.1.3.2.1 Puertos I/O………………………………………………………………………………. 108 3.1.3.2.2 Comandos de interrupciones…………………………………………………… 109 3.1.3.2.3 Comandos de contadores………………………………………………………… 110 3.1.3.2.4 Comandos de SPI……………………………………………………………………… 111 Página 46 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez 3.1.3.3 Elementos de la placa…………………………………………………………………………… 111 3.1.3.4 Conexionado………………………………………………………………………………………… 114 3.1.3.5 Programador Enigma……………………………………………………………………………. 115 3.1.3.6 Programa 16F877…………………………………………………………………………………. 118 3.1.3.6.1 Programa principal…………………………………………………………………… 118 3.1.3.6.2 Cabecera “MCP4922.h”……………………………………………………………. 120 3.1.3.6.3 Cabecera “Control.h”……………………………………………………………….. 122 3.1.4 Comunicaciones…………………………………………………………………………………… 125 3.1.4.1 Comunicación bluetooth………………………………………………………………………. 125 3.1.4.1.1 Especificaciones……………………………………………………………………….. 125 3.1.4.1.2 Información técnica…………………………………………………………………. 129 3.1.4.1.3 Arquitectura del protocolo………………………………………………………. 131 3.1.4.1.4 Principios operativos……………………………………………………………….. 133 3.1.4.1.5 Módulo eb301. ………………………………………………………………………….134 3.1.4.1.5.1 Dimensiones y patillaje.……………………………………………………………..135 3.1.4.1.5.2 Firmware…………………………………………………………………………………. 136 3.1.4.1.5.3 Led indicador…………………………………………………………………………… 138 3.1.4.1.5.4 Conexionado con placa de expansión de puertos…………………….. 138 3.1.4.1.5.5 Comandos………………………………………………………………………………… 141 3.1.4.1.6 Cable FTDI………………………………………………………………………………… 141 3.1.4.1.6.1 Experimentación……………………………………………………………………… 142 3.1.4.1.7 Otros módulos. ………………………………………………………………………….142 3.1.4.1.7.1 Módulo integrado en PC………………………………………………………….. 142 3.1.4.1.7.2 Módulo USB…………………………………………………………………………….. 143 3.1.4.2 Comunicación SPI…………………………………………………………………………………. 143 3.1.4.2.1 3.1.5 Cable de comunicación. ……………………………………………………………..148 Gestión de usuario……………………………………………………………………………….. 150 3.1.5.1 Aplicación en PC…………………………………………………………………………………… 150 3.1.5.1.1 Borland C++ Builder 5.0 Profesional…………………………………………. 150 3.1.5.1.2 Código……………………………………………………………………………………… 151 3.1.5.1.3 Librería puerto serie………………………………………………………………… 172 3.1.5.2 Aplicación en teléfono móvil………………………………………………………………… 177 Anexos 3.1.5.2.1 Sistema operativo Android……………………………………………………… 177 3.1.5.2.2 Aplicación S2 Bluetooth Terminal2…………………………………………… 178 Página 47 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez 3.2 Cálculos…………………………………………………………………………………………………………….. 179 3.2.1 Cálculo de velocidad de motores y plataforma…………………………………….. 179 3.2.2 Cálculo de la resistencia del led de la placa de control distribuido……….. 179 3.3 Anexos de aplicación en el ámbito del proyecto distintos de los indicados en el documento básico: “Estudios con entidad propia”……………………………………………………. 180 3.4 Otros documentos……………………………………………………………………………………………. 181 3.4.1 Manuales de usuario……………………………………………………………………………. 181 3.4.1.1 Manual de usuario para control desde PC……………………………………………. 181 3.4.1.1.1 Necesidades iniciales……………………………………………………………….. 181 3.4.1.1.2 Conexión con la plataforma……………………………………………………… 181 3.4.1.1.3 Control de la plataforma………………………………………………………….. 185 3.4.1.1.4 Configuración eb101………………………………………………………………… 192 3.4.1.1.5 Histórico de datos……………………………………………………………………. 193 3.4.1.2 Manual de usuario para control desde teléfono móvil………………………… 195 3.4.1.2.1 Necesidades iniciales……………………………………………………………….. 195 3.4.1.2.2 Descarga de la aplicación…………………………………………………………. 195 3.4.1.2.3 Conexión con la plataforma……………………………………………………… 197 3.4.1.2.4 Establecimiento de la comunicación y uso……………………………….. 201 3.4.2 Anexos Contenido del CD…………………………………………………………………………………. 209 Página 48 Control y monitorización de una plataforma móvil 3.1 Documentación de partida. Adrián Madorrán Ibáñez A continuación de detallarán todos los datos necesarios para la elaboración del proyecto. 3.1.1 Plataforma. A continuación se detallan los elementos constituyentes de la plataforma así como sus características técnicas, valores de configuración, uso, etc. 3.1.1.1 Chasis. Características principales: - Chasis fabricado en aluminio y laxan negro. Sistema clásico de control A4WD1. Peso: 0,5kg. Tamaño: 22.2 cm L x 17.8 cm W x 8.9 cm H. Ilustración 22: Chasis. Anexos Página 49 Control y monitorización de una plataforma móvil El kit del chasis contiene: - Adrián Madorrán Ibáñez Componentes de aluminio. Paneles de lexan negro. Dos hub de montaje hexagonal de 12mm a 6mm. Ilustración 23: Adaptador de 12mm a 6mm. - Un cable conector de batería. Ilustración 24: Cable de batería. Anexos Página 50 Control y monitorización de una plataforma móvil - Cuatro cables de alimentación de motores. Adrián Madorrán Ibáñez Ilustración 25: Cable alimentación de motor. 3.1.1.2 Motores. Los motores que se han utilizado son motores de corriente continua de imanes permanentes. Características: - Anexos Tensión: 7.2 V. Corriente sin carga: 200 mA. Corriente en bloqueo: 3,8 A. RPM: 175. Reductora: 50:1. Par: 7,1kg·cm Diámetro exterior: 37mm. Peso: 0,12kg. Modelo: GHM-04. Capacidad de colocar un encoder digital. Página 51 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Ilustración 26: GHM-04. Para conectar los cables de alimentación al motor se deberá conectar como en la ilustración: Ilustración 27: Cables de alimentación. A continuación se refleja una hoja de características completas del motor: Anexos Página 52 Control y monitorización de una plataforma móvil Anexos Adrián Madorrán Ibáñez Página 53 Control y monitorización de una plataforma móvil 3.1.1.3 Encoders. Adrián Madorrán Ibáñez El encoder que se ha utilizado es un encoder relativo que solo proporciona pulsos. Características: - Alimentación: 5V. 100 ciclos por revolución. 400 pulsos cuadrados por revolución. Frecuencia de salida mayor de 30 kHz. Incluye cable de alimentación y salidas de los encoders. Fabricante: US Digital. Distribuidor: Lynxmotion. Ilustración 28: Encoder digital. Referencia de colores de los cables: - Rojo: +5V. Negro: Masa. Verde: Salida A. Amarillo: Salida B. La salida B esta 90º desfasada respecto a la salida A. Anexos Página 54 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Ilustración 29: Cables del encoder. Ilustración 30: Posición del encoder en el motor. 3.1.1.4 Etapa de potencia. La etapa de potencia que se ha utilizado es una etapa de potencia basada en microcontrolador. Características: - Tensión de entrada: 6V a 18V. - Admite baterías de NiMH, NiCd, Lipo o plomo. Anexos Página 55 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez - Corriente soportada: 5A continuos o 10A de pico durante pocos segundos. - Frecuencia de conmutación: 32 kHz. - Control regenerativo, carga las baterías Lipo en los cambios de sentido. - Protección térmica y de sobre corriente. - Protección de baterías Lipo. - Modos de entrada: analógico, R/C, serie simple y serie paquetizado. - Peso: 19 gr. - Tamaño: 45 x 40 x 13 mm. Ilustración 31: Sabertooth 2x5. Configuración del conmutador DIP para que: - Anexos Soporte baterías Lipo. Entrada analógica. Canales de entrada independientes. Respuesta de salida lineal. Página 56 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Ilustración 32: Configuración etapa potencia. Conexión de los motores: - Motor 1: Deberán conectar un cable en terminal M1A y el otro cable en el terminal M1B. - Motor 2: Deberán conectar un cable en terminal M2A y el otro cable en el terminal M2B. Ilustración 33: Conexión de los motores a la etapa de potencia. Para la conexión de la batería, se deberá de conectar el cable rojo positivo en el terminal B+ y el cable negro negativo en el terminal B-. Anexos Página 57 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Ilustración 34: Conexión de la batería a la etapa de potencia. Para conectar la salida de los terminales del conversor D/A MCP4922 a la placa de potencia se deberá tener en cuenta: - Se conecta el PIC32: o Cable blanco (salida A) al terminal S1. o Cable azul (salida B) al terminal S2. - Se conecta la placa del PIC 16F877: o Cable azul (salida A) al terminal S1. o Cable amarillo (salida B) al terminal S2. Todo deberá quedar montado de la siguiente manera: Anexos Página 58 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Ilustración 35: Conexionado general. Ilustración 36: Vista general de conexiones. Anexos Página 59 Control y monitorización de una plataforma móvil 3.1.1.5 Baterías y cargador de baterías. Adrián Madorrán Ibáñez Las baterías que se han usado para alimentar la plataforma estarán compuestas de dos celdas Lipo. Características: - Tensión nominal: 3,7 V. Capacidad: 2100 mAh. Tamaño: 65 x 18 x 18 mm. Terminales para soldadura. Ilustración 37: Batería Lipo 3,7 V. Para crear una batería de 7,4 V que se pueda utilizar, se soldarán dos celdas: - El polo positivo de una celda con el polo negativo de otra. - En el polo positivo libre, se soldará un cable rojo de cobre. - En el polo negativo libre, se soldará un cable negro de cobre. - Se protegerá las soldaduras con tubo termorretractil. - Se protegerá el conjunto con tubo termorretractil y cinta aislante negra. - Se soldará un conector Tamiya hembra. - Colocamos una etiqueta con el número de batería, su tensión y su capacidad. Anexos Página 60 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Ilustración 38: Batería Lipo 7,4 V. El cargador de baterías a utilizar, es un cargador para baterías Lipo, con conector Tamiya. El modelo que se ha elegido es FU-CLI1000 del fabricante Fullwat: - Este modelo de cargador detecta automáticamente el voltaje de la batería. - Puede cargar packs de baterías de Li-Ion de entre 1 y 4 células o de baterías de Li-Po con más de 1000 mAh. - El cargador se detendrá automáticamente cuando la batería este totalmente cargada. - Los indicadores LED muestran como se encuentra el proceso de carga. Cuando se conecta el cargador los indicadores rojo y verde parpadean 2 veces y posteriormente se apagan. Mientras el cargador se encuentre en el proceso de carga el led rojo permanecerá encendido y cuando la batería esté cargada se encenderá el verde. - La pinza roja es el polo positivo y la negra el negativo. Especificaciones: - Voltaje de entrada: 100-240VAC 50-60Hz. - Salida: Autoajustable en 4,2V, 8,4V, 12,6V y 16,8V dependiendo de la batería conectada. - Corriente de carga: 1000 mA Anexos Página 61 Control y monitorización de una plataforma móvil Protecciones: - Protección contra sobretensión. - Protección contra cortocircuito. - Protección contra inversión de polaridad. Adrián Madorrán Ibáñez Cuidado: - Carga baterías de Ion-litio de 3,6V, 7,2V, 10,8V y 14,4V cuya capacidad sea superior a 1000 mAh. - La batería cargada debe tener circuito de protección. - No trate de desmontar el cargador. Hay altas tensiones en el interior. - Este cargador está diseñado para uso interno. Ilustración 39: Cargador baterías Lipo. 3.1.1.6 Ruedas. Las ruedas que se han utilizado son ruedas todoterreno provistas de llanta de plástico con neumático. Características: Anexos Página 62 Control y monitorización de una plataforma móvil - Adrián Madorrán Ibáñez Diámetro: 12 cm. Anchura: 6 cm. Se puede acoplar cualquier motor con eje de 6 mm. Peso: 181 g. Ilustración 40: Ruedas. Para montar el neumático en la llanta, ejerceremos presión hasta que entre: Ilustración 41: Ruedas: montaje 1. Anexos Página 63 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Ilustración 42: Ruedas: montaje 2. Anexos Página 64 Control y monitorización de una plataforma móvil 3.1.2 Control principal. Adrián Madorrán Ibáñez A continuación se detallan los elementos constituyentes del control principal así como sus características técnicas, valores de configuración, uso, etc. 3.1.2.1 Starter Kit PIC32 El Starter Kit PIC32 contiene: - Microcontrolador PIC32MX360F512L junto con una pequeña placa de prototipos. Cable USB. CD con MPLAB y PIC32 Compiler. Ilustración 43: Starter Kit PIC32. Las características del PIC32MX360F512L son: Anexos Arquitectura de 32 bits. Máxima velocidad: 80Mhz. Memoria de programa: 512KB. Memoria RAM: 32KB. Tensión alimentación: 2.3V – 3.6V. Temperatura de operación: -40 a 105 ºC. Puertos GPIO: 85. Canales DMA: 4. Página 65 Control y monitorización de una plataforma móvil - Canales SPI: 2. Canales I2C: 2. Contadores de 16 bits: 5. Total patillas: 100. Adrián Madorrán Ibáñez Ilustración 44: PIC32MX360F512L. 3.1.2.2 Comandos uso PIC32. A continuación se detallan los comandos que se ha de utilizar. 3.1.2.2.1 Puertos I/O. Anexos Página 66 Control y monitorización de una plataforma móvil Anexos Adrián Madorrán Ibáñez Página 67 Control y monitorización de una plataforma móvil Anexos Adrián Madorrán Ibáñez Página 68 Control y monitorización de una plataforma móvil Anexos Adrián Madorrán Ibáñez Página 69 Control y monitorización de una plataforma móvil Anexos Adrián Madorrán Ibáñez Página 70 Control y monitorización de una plataforma móvil Anexos Adrián Madorrán Ibáñez Página 71 Control y monitorización de una plataforma móvil Anexos Adrián Madorrán Ibáñez Página 72 Control y monitorización de una plataforma móvil Anexos Adrián Madorrán Ibáñez Página 73 Control y monitorización de una plataforma móvil Anexos Adrián Madorrán Ibáñez Página 74 Control y monitorización de una plataforma móvil 3.1.2.2.2 Comandos de interrupciones. Anexos Adrián Madorrán Ibáñez Página 75 Control y monitorización de una plataforma móvil Anexos Adrián Madorrán Ibáñez Página 76 Control y monitorización de una plataforma móvil 3.1.2.2.3 Comandos de temporizadores. Anexos Adrián Madorrán Ibáñez Página 77 Control y monitorización de una plataforma móvil Anexos Adrián Madorrán Ibáñez Página 78 Control y monitorización de una plataforma móvil Anexos Adrián Madorrán Ibáñez Página 79 Control y monitorización de una plataforma móvil 3.1.2.2.4 Comandos de SPI. Anexos Adrián Madorrán Ibáñez Página 80 Control y monitorización de una plataforma móvil Anexos Adrián Madorrán Ibáñez Página 81 Control y monitorización de una plataforma móvil Anexos Adrián Madorrán Ibáñez Página 82 Control y monitorización de una plataforma móvil 3.1.2.2.5 Comandos de UART. Anexos Adrián Madorrán Ibáñez Página 83 Control y monitorización de una plataforma móvil Anexos Adrián Madorrán Ibáñez Página 84 Control y monitorización de una plataforma móvil Anexos Adrián Madorrán Ibáñez Página 85 Control y monitorización de una plataforma móvil Anexos Adrián Madorrán Ibáñez Página 86 Control y monitorización de una plataforma móvil Anexos Adrián Madorrán Ibáñez Página 87 Control y monitorización de una plataforma móvil Anexos Adrián Madorrán Ibáñez Página 88 Control y monitorización de una plataforma móvil 3.1.2.3 Placa de expansión de puertos. Adrián Madorrán Ibáñez Permitirá el acceso a todos los puertos del PIC32. Características: - Alimentación mediante USB. Alimentación externa de 9 a 15V. Ofrece salidas a 5V y 3.3V. Dos puertos para insertar tarjetas PICTAIL hijas. Conector JTAG. Funciona con los kits: PIC32 Starter Kit (#DM320001), PIC32 USB Starter Kit II (#DM320003-2), PIC32 Ethernet Starter Kit (DM320004), dsPIC33E USB Starter Kit (DM330012) o PIC24E USB Starter Kit (DM240012). Ilustración 45: Placa expansión puertos PIC32. Anexos Página 89 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Ilustración 46: Puerto J10. Anexos Página 90 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Ilustración 47: Puerto J11. Anexos Página 91 Control y monitorización de una plataforma móvil 3.1.2.4 Placa conversor D/A. Adrián Madorrán Ibáñez Para dotar al PIC32 de dos salidas analógicas capaces de controlar las etapas de potencia que hacen que se muevan los motores, se optado por una europlaca en la que se han montado los siguientes componentes: - Conversor A/D MCP4922. Tensión de referencia TLE2425. Zócalo de 14 patillas. Cables de conexión. A continuación se detallarán los elementos principales de la placa así como su conexionado en la placa y a la placa de expansión de puertos del PIC32. 3.1.2.4.1 MCP4922. El MCP4922 es un conversor analógico digital del fabricante Microchip. Sus características más importantes son: - Anexos Resolución: 12 bits. Número de canales: 2. Arquitectura: Resistencia-Cadena. Polaridad de salida: Unipolar. Referencia de tensión: Externo 2.7V a 5.5V. Ganancia seleccionable: 1x o 2x. Error de escala completa: 1% FSR. Error de no linealidad integrada: ±2 LSB. Soporta comunicación SPI hasta 20MHz. Encapsulado fabricante: PDIP. Tiempo ejecución: 4.5 μs. Consumo: 3.5mW. Temperatura de trabajo: -40ºC hasta 125ºC. Página 92 Control y monitorización de una plataforma móvil Diagrama de bloques del conversor: Adrián Madorrán Ibáñez Ilustración 48: Diagrama bloques CP4922. Anexos Página 93 Control y monitorización de una plataforma móvil Relación número de pin y puerto: Adrián Madorrán Ibáñez Ilustración 49: Patillaje CP4922. Ilustración 50: Simbología y función. Anexos Página 94 Control y monitorización de una plataforma móvil Registro de escritura del conversor MCP4922: Adrián Madorrán Ibáñez La secuencia de escritura es la siguiente: Ilustración 51: Secuencia de escritura. Anexos Página 95 Control y monitorización de una plataforma móvil 3.1.2.4.2 TLE2425. Adrián Madorrán Ibáñez El dispositivo TLE2425 nos genera una tensión de 2.5V a partir de una tensión de alimentación de 5V que utilizaremos como tensión de referencia del conversor D/A. Características: - Alimentación: 5V Salida: 2.5V Consumo: Máximo 20mA. Baja impedancia: 0.0075Ω. Posición de las patillas según el empaquetado: Ilustración 52: Patillas TLE2425. Relación tensión de entrada tensión de salida: Anexos Página 96 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Ilustración 53: Relación Vi - Vo. Anexos Página 97 Control y monitorización de una plataforma móvil 3.1.2.4.3 Conexionado. Adrián Madorrán Ibáñez El conexionado de la placa se realizara de la siguiente manera: Color Gris Verde Amarillo Blanco Azul Marrón Rojo Negro Nº pin MCP4922 3 4 5 14 10 8 - Nº pin TLE2425 IN COMMON PIC 32 (Puerto) PMD7 (J10) SCK1 (J10) SDO1 (J10) PMD4 (J10) +5V GND Ilustración 54: Conexiones europlaca. Anexos Página 98 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Ilustración 55: Conexiones europlaca 2. Anexos Página 99 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Ilustración 56: Conexiones europlaca 3. 3.1.2.5 Programa PIC32. //Librerías incluidas #include <plib.h> #include <math.h> // PIC32 Librería Periféricos //Librería Matemática //CPU #define SYS_FREQ (80000000) #pragma FPLLIDIV = DIV_2, FPLLMUL = MUL_20, FPLLODIV = DIV_1 #define GetPeripheralClock() (SYS_FREQ/(1 << OSCCONbits.PBDIV)) //Puerto digital E modulo bluetooth #define PORTBLUE IOPORT_E #define PINS1 BIT_0 | BIT_1 Anexos Página 100 Control y monitorización de una plataforma móvil #define PINS2 BIT_2 | BIT_3 | BIT_4 Adrián Madorrán Ibáñez //SPI //#define DAC_CS BIT_11 //#define DAC_LDAC BIT_4 //#define DAC_CLK BIT_12 //#define DAC_DI BIT_10 //Comunicación bluetooth #define UART1_BAUD (9600) #define RX_BUFFER_SIZE 8 // Tamaño RX buffer unsigned char rx_buffer[RX_BUFFER_SIZE]; // RX buffer unsigned char SPI[RX_BUFFER_SIZE]; //Buffer para SPI general unsigned char SPI1[4]; //Buffer para SPI2 unsigned char SPI2[4]; //Buffer para SPI2 unsigned int RxCtr = 0; // Contador de caracteres recibidos unsigned char RSFlag = 0; // Bandera que indica si un dato ha sido recibido unsigned int conexión = 0, uart_aux = 0; int i, i_SPI1, i_SPI2, e_1, e_2; /* --------------------------------------------------------------------------------------------------------------------------*/ //FUNCIONES DE UTILIDAD //Función retardo tiempo en ms void delay_ms (unsigned int msec) { unsigned int tWait, tStart; tWait = (SYS_FREQ/2000)*msec; tStart = ReadCoreTimer(); while ((ReadCoreTimer()-tStart)<tWait); } //Función que convierte un dato recibido por bluetooth y lo convierte a decimal int CharToInt (unsigned char *c_char) { int i_SPI = 0, i_cti = 0, i_mul = 0; for (i_cti=0;i_cti<4;i_cti++) { i_mul = pow(16,i_cti); if (c_char[i_cti] == '0'){i_SPI = i_SPI+0;} if (c_char[i_cti] == '1'){i_SPI = i_SPI+(4096/i_mul);} if (c_char[i_cti] == '2'){i_SPI = i_SPI+(8192/i_mul);} if (c_char[i_cti] == '3'){i_SPI = i_SPI+(12288/i_mul);} if (c_char[i_cti] == '4'){i_SPI = i_SPI+(16384/i_mul);} if (c_char[i_cti] == '5'){i_SPI = i_SPI+(20480/i_mul);} if (c_char[i_cti] == '6'){i_SPI = i_SPI+(24576/i_mul);} Anexos Página 101 Control y monitorización de una plataforma móvil if (c_char[i_cti] == '7'){i_SPI = i_SPI+(28672/i_mul);} if (c_char[i_cti] == '8'){i_SPI = i_SPI+(32768/i_mul);} if (c_char[i_cti] == '9'){i_SPI = i_SPI+(36864/i_mul);} if (c_char[i_cti] == 'A'){i_SPI = i_SPI+(40960/i_mul);} if (c_char[i_cti] == 'B'){i_SPI = i_SPI+(45056/i_mul);} if (c_char[i_cti] == 'C'){i_SPI = i_SPI+(49152/i_mul);} if (c_char[i_cti] == 'D'){i_SPI = i_SPI+(53248/i_mul);} if (c_char[i_cti] == 'E'){i_SPI = i_SPI+(57344/i_mul);} if (c_char[i_cti] == 'F'){i_SPI = i_SPI+(61440/i_mul);} Adrián Madorrán Ibáñez } return(i_SPI); } //Llamada a ISR, interrupción UART1 void __ISR(_UART1_VECTOR, ipl2)IntUart1Handler(void) { if( mU1RXGetIntFlag() ) { // Clear the RX interrupt Flag IFS0bits.U1RXIF = 0; // Store the data received rx_buffer[RxCtr] = ReadUART1(); RxCtr++; if (RxCtr == 8) { RSFlag = 1; RxCtr = 0; } delay_ms(10); } } void escribe_dac(int dato) { mPORTESetBits(BIT_7); mPORTESetBits(BIT_4); mPORTEClearBits(BIT_7); delay_ms(1); putcSPI1(dato); delay_ms(1); mPORTESetBits(BIT_7); mPORTEClearBits(BIT_4); delay_ms(1); mPORTESetBits(BIT_4); delay_ms(1); } Anexos Página 102 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez //--------------------------------------------------------------------------------------------------------//Programa Principal int main(void) { SYSTEMConfigPerformance(80000000L); //Configuración de los contadores OpenTimer1(T1_ON | T1_SOURCE_EXT | T1_PS_1_1, 0X0000); ConfigIntTimer1(T1_INT_OFF); OpenTimer2(T2_ON | T2_SOURCE_EXT | T2_PS_1_1, 0X0000); ConfigIntTimer2(T2_INT_OFF); //Configuración del puerto digital E para modulo bluetooth y SPI mPORTESetPinsDigitalIn(BIT_0 | BIT_1); mPORTESetPinsDigitalOut(BIT_2 | BIT_3 | BIT_4 |BIT_7); //Configuración de la UART1 - Modulo Bluetooth UARTConfigure(UART1,UART_ENABLE_PINS_TX_RX_ONLY); UARTSetFifoMode(UART1,UART_INTERRUPT_ON_TX_NOT_FULL | UART_INTERRUPT_ON_RX_NOT_EMPTY); UARTSetLineControl(UART1, UART_DATA_SIZE_8_BITS | UART_PARITY_NONE | UART_STOP_BITS_1); UARTSetDataRate(UART1, GetPeripheralClock(), UART1_BAUD); UARTEnable(UART1, UART_ENABLE_FLAGS(UART_PERIPHERAL | UART_RX | UART_TX)); //Habilitamos las interrupciones para RX y TX INTEnable(INT_U1RX, INT_ENABLED); INTEnable(INT_U1TX, INT_DISABLED); //Prioridad de la UART ISR SetPriorityIntU1(UART_INT_PR2); SetSubPriorityIntU1(UART_INT_SUB_PR0); //Activamos el modo multi-vector INTConfigureSystem(INT_SYSTEM_CONFIG_MULT_VECTOR); //Habilitamos las interrupciones INTEnableInterrupts(); //Configuración de puerto SPI 1 SpiChnOpen(1, SPI_OPEN_MSTEN | SPICON_SSEN | SPICON_CKE | SPI_OPEN_MODE16 | SPICON_ON, 16); DisableIntSPI1; //Programa escribe_dac(0x17FF); escribe_dac(0x97FF); while(conexión == 0) { Anexos Página 103 Control y monitorización de una plataforma móvil if ((RSFlag == 1)&&(rx_buffer[0]=='#')) { putsUART1(rx_buffer); RSFlag = 0; } if ((RSFlag == 1)&&(rx_buffer[0]=='?')) { RSFlag = 0; conexión = 1; RxCtr = 0; } Adrián Madorrán Ibáñez } while (conexión == 1) { if (RSFlag == 1) { strcpy(SPI, rx_buffer); for (i=0;i<9;i++) { SPI1[i]=SPI[i]; SPI2[i]=SPI[i+4]; } i_SPI1 = CharToInt(SPI1); i_SPI2 = CharToInt(SPI2); escribe_dac(i_SPI1); escribe_dac(i_SPI2); RSFlag = 0; RxCtr = 0; } delay_ms(1); else { WriteTimer1(0); WriteTimer2(0); ConfigTimer1(T1_ON); ConfigTimer2(T2_ON); delay_ms(100); e_1 = ReadTimer1(); e_2 = ReadTimer2(); ConfigTimer1(T1_OFF); ConfigTimer2(T2_OFF); putsUART1(e_1); putsUART1(e_2); } return 0; } Anexos Página 104 Control y monitorización de una plataforma móvil 3.1.3 Control distribuido. Adrián Madorrán Ibáñez A continuación se detallan los elementos constituyentes del control distribuido así como sus características técnicas, valores de configuración, uso, etc. 3.1.3.1 PIC 16F877. Las características del PIC 16F877 son las siguientes: - Arquitectura de 8 bits. Velocidad: hasta 20MHz. Memoria de programa 8k. Encapsulado: PDIP. Número de E/S programables: 33. Puerto SPI: 1. Contadores: 3. Consumo: Máximo 6mA. Número de pines: 40. Ilustración 57: PIC16F877. Anexos Página 105 Control y monitorización de una plataforma móvil Relación número de pin y puerto del PIC: Adrián Madorrán Ibáñez Ilustración 58: PIC16F877 puertos. Características generales: Ilustración 59: PIC16F877 características. Anexos Página 106 Control y monitorización de una plataforma móvil Diagrama de bloques: Adrián Madorrán Ibáñez Ilustración 60: PIC16F877 diagrama de bloques. Anexos Página 107 Control y monitorización de una plataforma móvil 3.1.3.2 Comandos uso PIC 16F877. Adrián Madorrán Ibáñez 3.1.3.2.1 Puertos I/O. Comandos para el uso de puertos digitales: Anexos Página 108 Control y monitorización de una plataforma móvil 3.1.3.2.2 Comandos de interrupciones. Adrián Madorrán Ibáñez Funciones de interrupción: Interrupciones primarias: Anexos Página 109 Control y monitorización de una plataforma móvil Interrupciones de periféricos: Adrián Madorrán Ibáñez 3.1.3.2.3 Comandos de contadores. Comandos para el uso de los temporizadores como contadores: Anexos Página 110 Control y monitorización de una plataforma móvil 3.1.3.2.4 Comandos de SPI. Adrián Madorrán Ibáñez Comandos para el uso del puerto SPI: 3.1.3.3 Elementos de la placa. El circuito eléctrico de la placa contendrá los siguientes elementos: Resistencias: - R1: 1kΩ. R2: 10kΩ. R3: 330Ω. Condensadores: - C1D: Cerámico 2,2μF. C2D: Cerámico 2,2μF. C3XTAL: 22pF. C4XTAL: 22pF. C5: Cerámico 2,2μF. Diodos: - D1: D1N4007. D2: Diodo verde verde 5mm. Cristal oscilador: - Anexos CRYSTAL: 20MHz. Página 111 Control y monitorización de una plataforma móvil Pulsador: - Adrián Madorrán Ibáñez RESET: Pulsador de 6 patillas. Zócalos: - J1 16F877: Zócalo de 40 patillas. J19 MCP4922: Zócalo de 14 patillas. TLE2425: -J16 TLE2425: TLE2425 tensión de referencia. Conectores: - J3 PORTB: Conector para CI de 8 pines. J4 PORTC: Conector para CI de 8 pines. J5 PORTD: Conector para CI de 8 pines. J6 PORTA: Conector para CI de 6 pines. J15 CON5: Conector para CI de 5 pines. J17 CON4: Conector para CI de 4 pines. J8 PORTE: Conector para CI de 3 pines. J13 AB1: Conector para CI de 2 pines. J14 AB2: Conector para CI de 2 pines. J2 ALIMENTACION: Conector para CI de 2 pines. J10 ALIMENTACION: Conector para CI de 2 pines. Pareja de pines de 2,54mm: - Anexos J7 ENCODER1 J9 ENCODER2 J11 ENCAB1 J12 ENCAB2 Página 112 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Ilustración 61: Disposición de elementos. Anexos Página 113 Control y monitorización de una plataforma móvil Imagen real de la placa terminada: Adrián Madorrán Ibáñez Ilustración 62: Imagen real placa 16F877. 3.1.3.4 Conexionado. El conexionado de cables y puertos de la placa queda de la siguiente manera: Conectores de alimentación: - Cable rojo de unos 20 cm para el polo positivo. Cable negro de unos 20 cm para el polo negativo. Conector puerto A: - Bit 4: Cable verde al conector de la entrada A del encoder 1 (conector J15). Conector puerto B: Anexos Bit 0: Cable verde a pin 2 del conector J17. Bit 1: Cable verde a pin 3 del conector J17. Bit 2: Cable verde a pin 4 del conector J17. Bit 4: Cable verde a pin 1 del conector J15. Página 114 Control y monitorización de una plataforma móvil Conector puerto C: - Adrián Madorrán Ibáñez Bit 0: Cable verde al conector de la entrada A del encoder 2 (conector J14). Bit 3: Cable de comunicación SPI color verde. Bit 4: Cable de comunicación SPI color amarillo. Bit 5: Cable de comunicación SPI color blanco. Conector puerto D: - Sin conexiones. Conector puerto E: - Sin conexiones. Los conectores J9 y J7 son los de alimentación de los encoders. Los conectores J11 y J12 son los de conexión de salida de los encoders. Conector J17: - Pin 1: Alimentación, cable rojo que ir junto a los de alimentación de la placa. Pin 2, 3 y 4: iguales que los del puerto B. Conector J15: - Pin 3: Cable amarillo, etapa de potencia entrada S1. Pin 4: Cable azul, etapa de potencia entrada S2. 3.1.3.5 Programador Enigma. El programador utilizado para programación del PIC 16F877 es Eclipse, un programador de libre distribución que permite programar microcontroladores PIC entre otros dispositivos. Para ello, disponemos tanto del hardware como del software. Entre sus características más importantes destacan: - Anexos Programador con conexión USB al PC. Funciona tanto en Win XP, como Vista y Win 7. Programador ICSP, programa con solo cinco cables entre el PIC y el programador Eclipse. Página 115 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Ilustración 63: Conexionado programador - PIC. Ilustración 64: Eclipse hardware, imagen en 3D. Anexos Página 116 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Ilustración 65: Eclipse hardware, imagen real. Ilustración 66: Eclipse software. Anexos Página 117 Control y monitorización de una plataforma móvil 3.1.3.6 Programa 16F877. Adrián Madorrán Ibáñez 3.1.3.6.1 Programa principal. #include "16F877.h" #use delay (clock=20000000) #fuses HS,PUT,NOWDT,NOPROTECT,NOBROWNOUT,NOCPD,NOWRT,NOLVP //------------------- CABECERAS -------------------------------------------//-------------------------------------------------------------------------#include "mcp4922.h" #include "control.h" #include "math.h" #include "stdlib.h" #priority ssp #byte SSPCON1=0x0014 #bit SSPOV=SSPCON1.6 //------------------ VARIABLES GLOBALES -----------------------------------//-------------------------------------------------------------------------dbyte encodera, encoderb, i; float espacioa, espaciob, vela, velb; dbyte datoa, datob; byte puertoa = 0; // 0 = puerto A, 1 = puerto B byte puertob = 1; byte d=0; dbyte spidata1, spidata2; byte contspirot = 0; byte intspicont = 1; byte spicanal = 0; byte spinum; //------------------- GESTION DE INTERRUPCIONES ---------------------------//-------------------------------------------------------------------------#INT_SSP void spi_interrupcion() { DISABLE_INTERRUPTS(int_ssp); if (SSPOV) { SSPOV = 0; datoa = spi_read(); datoa = 0x7FFF; escribe_dac(puertoa, datoa); disable_interrupts(global); intspicont = 1; Anexos Página 118 Control y monitorización de una plataforma móvil } else if (intspicont == 1) { spidata1 = spi_read(); spinum = spidata1; intspicont = intspicont +1; } else if (intspicont == 2) { spidata2 = spi_read(); spinum = spidata2; for(contspirot=0;contspirot<=7;++contspirot) { rotate_left(&spidata2,2); } Adrián Madorrán Ibáñez intspicont = 1; if(spicanal==0) { datoa = spidata1 + spidata2; escribe_dac(puertoa, datoa); spicanal = 1; } if(spicanal==1) { datob = spidata1 + spidata2; escribe_dac(puertob, datob); spicanal = 0; } } ENABLE_INTERRUPTS(int_ssp); } //------------------- PROGRAMA PRINCIPAL ----------------------------------//-------------------------------------------------------------------------void main() { //Configuramos el Timer1 para que funcione como contador setup_timer_1(T1_DISABLED); //Paramos inicialmente el timer por si no lo esta setup_timer_1(T1_EXTERNAL|T1_DIV_BY_1); //Lo configuramos como contador de pulsos y sin preescaler //Configuramos el Timer0 para que funcione como contador setup_timer_0(RTCC_EXT_H_TO_L|RTCC_DIV_1); //Configuracion de los puertos digitales set_tris_c (0x08); Anexos Página 119 Control y monitorización de una plataforma móvil //Configuracion del puerto SPI setup_spi(SPI_SLAVE|SPI_SS_DISABLED|SPI_L_TO_H); //Configuracion de interrupciones enable_interrupts(global); ENABLE_INTERRUPTS(int_ssp); Adrián Madorrán Ibáñez //Paramos inicialmente la base hasta nuevo aviso datoa = 0x17FF; //Obtenemos a la salida 2.5V datob = 0x97FF; //Obtenemos a la salida 2.5V escribe_dac(puertoa, datoa); escribe_dac(puertob, datob); inicializa_dac(); delay_ms(50); while(1) { set_timer0(0); //Ponemos el timer0 a 0 set_timer1(0); //Lo ponemos a 0, habilitamos el timer1 delay_ms(100); //Esperamos un tiempo encodera = get_timer0(); encoderb = get_timer1(); spi_write (encodera); spi_write (encoderb); delay_ms(10); } 3.1.3.6.2 Cabecera “MCP4922.h”. //////////////// Driver para MCP4922 D/A Converter /////////////////////// //// //// //// inicializa_dac() Inicializa MCP4922 DAC una vez configurando //// //// //// //// escribe_dac(canal, long int) Seleccionar el canal y escribir //// //// la palabra de control y el voltaje de //// //// salida de 0 - 4095 con una Vref //// //// de 2.5V para ambos canales. //// //// Canal A = 0; Canal B = 1 //// ///////////////////////////////////////////////////////////////////////// #ifndef EEPROM_SELECT #define DAC_CS PIN_B0 #define DAC_CLK PIN_B1 #define DAC_DI PIN_B2 #define DAC_LDAC PIN_B4 Anexos Página 120 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez #endif void inicializa_dac() { output_high(DAC_CS); output_high(DAC_LDAC); output_high(DAC_CLK); output_high(DAC_DI); } void escribe_dac(int8 canal, int16 dato) { BYTE cmd[3]; BYTE i; cmd[0]=dato; cmd[1]=(dato>>8); if (canal == 0) { cmd[2]=0x01; } if (canal == 1) { cmd[2]=0x09; } output_high(DAC_LDAC); output_low(DAC_CLK); output_low(DAC_CS); for(i=0; i<=23; ++i) { if(i<4 || (i>7 && i<12)) shift_left(cmd,3,0); else { output_bit(DAC_DI, shift_left(cmd,3,0)); output_high(DAC_CLK); output_low(DAC_CLK); } } output_high(DAC_CS); output_low(DAC_LDAC); delay_us(10); output_HIGH(DAC_LDAC); } Anexos Página 121 Control y monitorización de una plataforma móvil 3.1.3.6.3 Cabecera “Control.h”. Adrián Madorrán Ibáñez #include "math.h" #define radio_r 6.0325 byte direc = 0x00; void calcula_velocidad (dbyte &encodera, dbyte &encoderb, float &espacioa, float &espaciob, float &vela, float &velb) { set_timer0(0); //Ponemos el timer0 a 0 set_timer1(0); //Lo ponemos a 0, habilitamos el timer1 delay_ms(100); //Esperamos un tiempo encodera = get_timer0(); encoderb = get_timer1(); write_eeprom (direc, encodera); direc = direc+1; write_eeprom (direc, encoderb); direc = direc+1; espacioa = (encodera*PI*radio_r)/200; espaciob = (encoderb*PI*radio_r)/200; vela = espacioa*10; velb = espaciob*10; } void control_p (dbyte &tension0a, dbyte &tension0b, dbyte pulsosa, dbyte pulsosb) { dbyte errora, errorb, aux1; float aux; dbyte tension1a, tension1b; if (tension0a != 0x17FF) { aux = 3*pulsosa; aux = aux/140; if (tension0a < 0x17FF) { aux = aux*(-1); } aux = aux+2.5; aux = aux*819; tension1a = aux; if (tension0a == 0x1000) { tension1a = 65536 - tension1a; } errora = tension0a - tension1a - 0x1000; if ((tension0a<0x17FF) && (errora > 30000) && (tension0a != 0x1000)) Anexos Página 122 Control y monitorización de una plataforma móvil { Adrián Madorrán Ibáñez errora = 65536 - errora; } if ((tension0a>0x17FF) && (errora > 30000)) { errora = 65536 - errora; } if ((tension0a-0x1000)>=tension1a) { aux1 = tension0a - errora; } if ((tension0a-0x1000)<tension1a) { aux1 = tension0a + errora; } if ((tension0a<0x17FF) && ((aux1>0x17FF) || (aux1<0x1000))) { tension0a = 0x1000; } else if ((tension0a > 0x17FF) && (aux1>0x1FFF)) { tension0a = 0x1FFF; } else { tension0a = aux1; } } if (tension0b < 0x97FF) { aux = 3*pulsosb; aux = aux*(-1); aux = aux/140; aux = aux+2.5; aux = aux*819; tension1b = aux; if (tension0b == 0x9000) { tension1b = 65536 - tension1b; } errorb = tension0b - 0x9000 - tension1b; if ((errorb > 30000) && (tension0b != 0x9000)) { errorb = 65536 - errorb; } if ((tension0b-0x9000)>=tension1b) { aux1 = tension0b - errorb; Anexos Página 123 Control y monitorización de una plataforma móvil } if ((tension0b-0x9000)<tension1b) { aux1 = tension0b + errorb; } tension0b = aux1; if ((tension0b>0x97FF) || (tension0b<0x9000)) { tension0b = 0x9000; } Adrián Madorrán Ibáñez } if (tension0b > 0x97FF) { aux = 3*pulsosb; aux = aux/140; aux = aux+2.5; aux = aux*819; tension1b = aux; errorb = tension0b - 0x9000 - tension1b; if (errorb > 30000) { errorb = 65536 - errorb; } if ((tension0b-0x9000)>=tension1b) { aux1 = tension0b - errorb; } if ((tension0b-0x9000)<tension1b) { aux1 = tension0b + errorb; } tension0b = aux1; if (tension0b>0x9FFF) { tension0b = 0x9FFF; } } } Anexos Página 124 Control y monitorización de una plataforma móvil 3.1.4 Comunicaciones. Adrián Madorrán Ibáñez A continuación se detallan las comunicaciones empleadas tanto guiadas como no guiadas, así como sus características, protocolos,… 3.1.4.1 Comunicación bluetooth. Bluetooth es una especificación industrial para Redes Inalámbricas de Área Personal (WPAN) que posibilita la transmisión de voz y datos entre diferentes dispositivos mediante un enlace por radiofrecuencia en la banda ISM de los 2,4 GHz. Los principales objetivos que se pretenden conseguir con esta norma son: - Facilitar las comunicaciones entre equipos móviles y fijos. Eliminar cables y conectores entre éstos. Ofrecer la posibilidad de crear pequeñas redes inalámbricas y facilitar la sincronización de datos entre equipos personales. Los dispositivos que con mayor frecuencia utilizan esta tecnología pertenecen a sectores de las telecomunicaciones y la informática personal, como PDA, teléfonos móviles, computadoras portátiles, ordenadores personales, impresoras o cámaras digitales. Ilustración 67: Bluetooth logo. 3.1.4.1.1 Especificaciones. Esta diseñado especialmente para dispositivos de bajo consumo, con una cobertura baja y basados en transceptores de bajo costo. Gracias a este protocolo, los dispositivos que lo implementan pueden comunicarse entre ellos cuando se encuentran dentro de su alcance. Las comunicaciones se realizan por radiofrecuencia de forma que los dispositivos no tienen que estar alineados y pueden incluso estar en habitaciones separadas si la potencia de transmisión lo permite. Estos dispositivos se clasifican como "Clase 1", "Clase 2" o Anexos Página 125 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez "Clase 3" en referencia a su potencia de transmisión, siendo totalmente compatibles los dispositivos de una clase con los de las otras. Ilustración 68: Clases bluetooth. En la mayoría de los casos, la cobertura efectiva de un dispositivo de clase 2 se extiende cuando se conecta a un transceptor de clase 1. Esto es así gracias a la mayor sensibilidad y potencia de transmisión del dispositivo de clase 1, es decir, la mayor potencia de transmisión del dispositivo de clase 1 permite que la señal llegue con energía suficiente hasta el de clase 2. Por otra parte la mayor sensibilidad del dispositivo de clase 1 permite recibir la señal del otro pese a ser más débil. Los dispositivos con Bluetooth también pueden clasificarse según su ancho de banda: Ilustración 69: Versiones bluetooth. Las especificaciones fueron formalizados por el Bluetooth Special Interest Group (SIG). El SIG se anunció formalmente el 20 de mayo de 1998. Hoy cuenta con una membresía de más de 14.000 empresas en todo el mundo. Fue creado por Ericsson, IBM, Intel, Toshiba y Nokia, y que posteriormente se sumaron muchas otras compañías. Todas las versiones de los estándares de Bluetooth están diseñadas para la compatibilidad hacia abajo. Que permite que el último estándar cubren todas las versiones anteriores. Bluetooth v1.0 y v1.0B: Anexos Página 126 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Las versiones 1.0 y 1.0b han tenido muchos problemas, y los fabricantes tenían dificultades para hacer sus productos interoperables. Las versiones 1.0 y 1.0b también se incluyen hardware obligatoria la dirección del dispositivo Bluetooth (BD_ADDR) la transmisión en el proceso de conexión (el anonimato que hace imposible a nivel de protocolo), que fue un gran revés para algunos servicios previstos para su uso en entornos Bluetooth. Bluetooth v1.1: - Ratificado como estándar IEEE 802.15.1-2002. - Muchos errores en las especificaciones 1.0b se corrigieron. - Añadido soporte para canales no encriptados. - Indicador de señal recibida (RSSI). Bluetooth v1.2: Esta versión es compatible con USB 1.1 y las principales mejoras son las siguientes: - - - Una conexión más rápida y Discovery Salto de frecuencia adaptable de espectro ensanchado (AFH), que mejora la resistencia a las interferencias de radio frecuencia, evitando el uso de las frecuencias de lleno en la secuencia de saltos. Mayor velocidad de transmisión en la práctica, de hasta 721 kbit/s3 , que en v1.1. Conexiones Sincrónicas extendidas (ESCO), que mejoran la calidad de la voz de los enlaces de audio al permitir la retransmisión de paquetes corruptos, y, opcionalmente, puede aumentar la latencia de audio para proporcionar un mejor soporte para la transferencia de datos simultánea. Host Controller Interface (HCI) el apoyo a tres hilos UART. Ratificado como estándar IEEE 802.15.1-2005. Introdujo el control de flujo y los modos de retransmisión de L2CAP. Bluetooth v2.0 + EDR: Esta versión de la especificación principal Bluetooth fue lanzado en 2004 y es compatible con la versión anterior 1.2. La principal diferencia es la introducción de una velocidad de datos mejorada (EDR) para acelerar la transferencia de datos. La tasa nominal de EDR es de 3 Mbit / s, aunque la tasa de transferencia de datos práctica es de 2,1 Mbit /s. EDR utiliza una combinación de GFSK y Phase Shift Keying modulación (PSK) con dos variantes, π/4-DQPSK y 8DPSK. EDR puede proporcionar un menor consumo de energía a través de un ciclo de trabajo reducido. Anexos Página 127 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez La especificación se publica como "Bluetooth v2.0 + EDR", lo que implica que EDR es una característica opcional. Aparte de EDR, hay otras pequeñas mejoras en la especificación 2.0, y los productos pueden reclamar el cumplimiento de "Bluetooth v2.0" sin el apoyo de la mayor tasa de datos. Por lo menos un dispositivo de estados comerciales "sin EDR Bluetooth v2.0" en su ficha técnica. Bluetooth v2.1 + EDR: Bluetooth Core Version especificación 2.1 + EDR es totalmente compatible con 1.2, y fue adoptada por el Bluetooth SIG el 26 de julio de 2007. La función de titular de la 2.1 es Secure Simple Pairing (SSP): se mejora la experiencia de emparejamiento de dispositivos Bluetooth, mientras que el aumento del uso y la fuerza de seguridad. Vea la sección de enlace de abajo para más detalles. 2.1 permite a otras mejoras, incluida la "respuesta amplia investigación" (EIR), que proporciona más información durante el procedimiento de investigación para permitir un mejor filtrado de los dispositivos antes de la conexión, y oler subrating, lo que reduce el consumo de energía en modo de bajo consumo. Bluetooth v3.0 + HS: La versión 3.0 + HS de la especificación principal Bluetooth fue aprobado por el Bluetooth SIG el 21 de abril de 2009. Bluetooth 3.0 + HS soporta velocidades de transferencia de datos teórica de hasta 24 Mbit / s, aunque no a través del enlace Bluetooth sí mismo. En cambio, la conexión Bluetooth se utiliza para la negociación y el establecimiento y el tráfico de datos de alta velocidad se realiza en un colocated 802,11 enlace. Su principal novedad es AMP (Alternate MAC / PHY), la adición de 802,11 como un transporte de alta velocidad. Dos tecnologías se había previsto para AMP:. 802.11, UWB, pero UWB no se encuentra en la especificación. La parte alta velocidad de la especificación no es obligatoria, y por lo tanto, los dispositivos sólo luce el "+ HS" en realidad se admiten los más de 802.11 de alta velocidad de transferencia de datos. Un dispositivo Bluetooth 3.0, sin el signo "+ HS" sufijo no apoyará a alta velocidad, y necesita sólo admiten una característica introducida en Bluetooth 3.0 + HS (o en CSA1). Bluetooth v4.0: El SIG de Bluetooth completado la especificación Bluetooth versión 4.0 Núcleo, que incluye Bluetooth clásico, la velocidad del Bluetooth de alta y protocolos Bluetooth de bajo consumo. Bluetooth de alta velocidad se basa en Wi-Fi, y Bluetooth clásico consta de protocolos Bluetooth legado. Esta versión ha sido adoptada el 30 de junio de 2010. Bluetooth baja energía (BLE) es un subconjunto de Bluetooth v4.0 con una Anexos Página 128 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez pila de protocolo completamente nuevo para la rápida acumulación de enlaces sencillos. Como alternativa a los protocolos estándar de Bluetooth que se introdujeron en Bluetooth v1.0 a v4.0 está dirigido a aplicaciones de potencia muy baja corriendo una célula de la moneda. Diseños de chips permiten dos tipos de implementación, de modo dual, de modo único y mejoradas versiones anteriores. En una implementación de un solo modo de la pila de protocolo de energía de baja se lleva a cabo únicamente. RSE Nordic Semiconductor y Texas Instruments han dado a conocer solo las soluciones Bluetooth modo de baja energía. En una puesta en práctica de modo dual, funcionalidad Bluetooth de bajo consumo se integra en un controlador Bluetooth clásico existente. En la actualidad (2011-03) las empresas de semiconductores han anunciado la disponibilidad de chips de cumplimiento de la norma: Atheros, CSR, Broadcom y Texas Instruments. Las acciones de arquitectura compatible con todas las de la radio actual Bluetooth clásico y la funcionalidad que resulta en un aumento del costo insignificante en comparación con Bluetooth Classic. El 12 de junio de 2007, Nokia y Bluetooth SIG anunciaron que Wibree formará parte de la especificación Bluetooth, como una tecnología de muy bajo consumo Bluetooth. El 17 de diciembre de 2009, el Bluetooth SIG adoptado la tecnología Bluetooth de bajo consumo como el rasgo distintivo de la versión 4.0. Los nombres provisionales Wibree y Bluetooth ULP (Ultra Low energía) fueron abandonados y el nombre BLE se utilizó durante un tiempo. A finales de 2011, los nuevos logotipos "inteligente Bluetooth Ready" para los anfitriones y "Smart Bluetooth" para los sensores se presentó como la cara pública del general BLE. Costo reducido de un solo modo de fichas, lo que permitirá a los dispositivos altamente integrada y compacta y con una ligera capa de enlace de proporcionar ultra-bajo la operación de energía en modo inactivo, la detección de dispositivos simples y confiables de punto a multipunto de transferencia de datos con avanzadas de ahorro de energía y seguridad conexiones encriptadas con el menor coste posible. 3.1.4.1.2 Información técnica. La especificación de Bluetooth define un canal de comunicación de máximo 720 kb/s (1 Mbps de capacidad bruta) con rango óptimo de 10 m (opcionalmente 100 m con repetidores). La frecuencia de radio con la que trabaja está en el rango de 2,4 a 2,48 GHz con amplio espectro y saltos de frecuencia con posibilidad de transmitir en Full Duplex con un máximo de 1600 saltos/s. Los saltos de frecuencia se dan entre un Anexos Página 129 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez total de 79 frecuencias con intervalos de 1Mhz; esto permite dar seguridad y robustez. La potencia de salida para transmitir a una distancia máxima de 10 metros es de 0 dBm (1 mW), mientras que la versión de largo alcance transmite entre 20 y 30 dBm (entre 100 mW y 1 W). Para lograr alcanzar el objetivo de bajo consumo y bajo costo, se ideó una solución que se puede implementar en un solo chip utilizando circuitos CMOS. De esta manera, se logró crear una solución de 9×9 mm y que consume aproximadamente 97% menos energía que un teléfono celular común. El protocolo de banda base (canales simples por línea) combina conmutación de circuitos y paquetes. Para asegurar que los paquetes no lleguen fuera de orden, los slots pueden ser reservados por paquetes síncronos, un salto diferente de señal es usado para cada paquete. Por otro lado, la conmutación de circuitos puede ser asíncrona o síncrona. Tres canales de datos síncronos (voz), o un canal de datos síncrono y uno asíncrono, pueden ser soportados en un solo canal. Cada canal de voz puede soportar una tasa de transferencia de 64 kb/s en cada sentido, la cual es suficientemente adecuada para la transmisión de voz. Un canal asíncrono puede transmitir como mucho 721 kb/s en una dirección y 56 kb/s en la dirección opuesta, sin embargo, para una conexión síncrona es posible soportar 432,6 kb/s en ambas direcciones si el enlace es simétrico. Arquitectura hardware: El hardware que compone el dispositivo Bluetooth está compuesto por dos partes: - un dispositivo de radio, encargado de modular y transmitir la señal - un controlador digital, compuesto por una CPU, por un procesador de señales digitales (DSP - Digital Signal Processor) llamado Link Controller (o controlador de Enlace) y de las interfaces con el dispositivo anfitrión. El LC o Link Controller está encargado de hacer el procesamiento de la banda base y del manejo de los protocolos ARQ y FEC de capa física. Además, se encarga de las funciones de transferencia (tanto asíncrona como síncrona), codificación de Audio y cifrado de datos. El CPU del dispositivo se encarga de atender las instrucciones relacionadas con Bluetooth del dispositivo anfitrión, para así simplificar su operación. Para ello, sobre el CPU corre un software denominado Link Manager que tiene la función de comunicarse con otros dispositivos por medio del protocolo LMP. Entre las tareas realizadas por el LC y el Link Manager, destacan las siguientes: - Envío y Recepción de Datos. - Empaginamiento y Peticiones. Anexos Página 130 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez - Determinación de Conexiones. - Autenticación. - Negociación y determinación de tipos de enlace. - Determinación del tipo de cuerpo de cada paquete. - Ubicación del dispositivo en modo sniff o hold. 3.1.4.1.3 Arquitectura del protocolo. Una WPAN proporciona los servicios necesarios para la operación en el seno de redes ad hoc. Ello incluye el establecimiento de conexiones síncronas y asíncronas (con o sin conexión) a nivel MAC. El sistema básico está formado por un transceptor de radiofrecuencia, el nivel de banda base y la pila de protocolos Bluetooth, y otorga conectividad a todo un rango de dispositivos. La especificación principal cubre los cuatro niveles inferiores y sus protocolos asociados junto con el protocolo de descubrimiento de servicios(service discovery protocol, SDP), que toda aplicación Bluetooth necesita, y el perfil de acceso genérico. Controlador bluetooth: Los niveles inferiores de la pila de protocolos constituyen el controlador Bluetooth, que contiene los bloques fundamentales de la tecnología, sobre los cuales se apoyan los niveles superiores y los protocolos de aplicación. Este componente está estandarizado y puede interactuar con otros sistemas Bluetooth de más alto nivel, aunque la separación entre ambas entidades no es obligatoria. El nivel de radiofrecuencia (RF) está formado por el transceptor físico y sus componentes asociados. Utiliza la banda ISM de uso no regulado a 2,4 GHz, lo que facilita la consecución de calidad en la señal y la compatibilidad entre transceptores. Por encima de él se encuentra el nivel de banda base (baseband, BB), que controla las operaciones sobre bits y paquetes, realiza detección y corrección de errores, broadcast automático y cifrado como sus labores principales. También emite confirmaciones y peticiones de repetición de las transmisiones recibidas. El tercer y último nivel de base es el nivel de gestión de enlace (link manager, LM), responsable del establecimiento y finalización de conexiones, así como de su autentificación en caso necesario. También realiza el control del tráfico y la planificación, junto con la gestión de consumo y supervisión del enlace. Anexos Página 131 Control y monitorización de una plataforma móvil Anfitrión bluetooth: Adrián Madorrán Ibáñez El resto de niveles de base y los protocolos de aplicación residen en el anfitrión Bluetooth (también denominado host), que se comunica con el controlador utilizando un interfaz estándar. Ambas entidades pueden integrarse para su uso conjunto en sistemas embebidos, o se pueden utilizar de forma intercambiable. En cualquier caso, se asume que la capacidad de los buffers del controlador es modesta comparada con la del anfitrión, lo que puede tener consecuencias en la gestión de la calidad de servicio (quality of service, QoS) y la disponibilidad de canales, entre otros aspectos. El nivel más importante del anfitrión es el protocolo de control y adaptación de enlace lógico (logical link control & adaptation protocol, L2CAP), encargado de controlar la comunicación proveniente de niveles superiores y la asocia a los sistemas de transporte de datos (definidos más abajo) multiplexando los canales L2CAP en enlaces lógicos y segmentando las tramas adecuadamente. Puede añadir opcionalmente detección de errores y retransmisión de paquetes a BB, así como control de flujo basado en protocolos de ventana deslizante, asignación de buffers y QoS. Si bien estos son los componentes fundamentales de un sistema Bluetooth completo, no todos requerirán todas estas funcionalidades (en concreto, sistemas embebidos sencillos); no obstante, todo ello se define como obligatorio. A partir de aquí, las aplicaciones pueden añadir niveles de protocolo para adecuarse a funcionalidades específicas, tales como transmisión de voz o TCP/IP. Estas definiciones de perfiles están fuera del ámbito de la definición principal. Anexos Página 132 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Ilustración 70: Pila de protocolos bluetooth. 3.1.4.1.4 Principios operativos. El nivel físico opera en la banda ISB de uso no regulado utilizando para ello un transceptor que ejecuta saltos de frecuencia (frequency hopping) en un conjunto amplio de portadoras. Es, por tanto, un sistema de espectro de dispersión basado en saltos (frequency hopping spread spectrum), diseñado para evitar interferencias y empobrecimiento (fading) de la señal. La complejidad del hardware se acota utilizando modulación en frecuencia en su forma binaria, de forma que se alcanzan cotas de transmisión de 1 Mbps (hasta un millón de símbolos, binarios por la modulación, por segundo). Utilizando técnicas de tasa de datos mejorada (enhanced data rate) puede llegarse hasta los 2-3 Mbps. Un grupo de comunicación puede compartir el canal físico con muchos otros dispositivos, por lo que se sincroniza utilizando un reloj global y un patrón de saltos específico, ambos únicos. Debe haber exactamente un dispositivo maestro que ofrece la referencia de sincronización a partir de su reloj interno; el resto de dispositivos funcionan como esclavos. El reloj del maestro y su dirección de dispositivo única definen el patrón de saltos como una permutación aleatoria de 79 frecuencias en la banda ISM. Algunas de ellas pueden no utilizarse si presentan interferencias frecuentes. Esto favorece la existencia de grupos independientes Anexos Página 133 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez entre sí o diversas piconets que comparten un mismo canal, a la vez que aumenta la tolerancia a sistemas que no cambian nunca sus frecuencias de transmisión. El canal físico se define a través de slots de tiempo que se utilizan para enviar paquetes entre los dispositivos. Estos envíos se realizan mediante un duplex basado en división de tiempo (time-division duplex), equivalente a Full Duplex. Las comunicaciones existen como resultado de la interacción entre entidades de alto nivel, que se implementan según sus propias interfaces características y comportamiento definitorio. - El gestor de recursos de banda base (baseband resource manager) controla el acceso al transceptor y planifica los accesos a los canales físicos definidos, que establece entre los dispositivos que lo solicitan. Incluye también servicios de análisis de las portadoras y los requerimientos de QoS, entre otros. - El gestor de dispositivos es responsable del dispositivo en sí y de su comportamiento; en definitiva, todo aquello que no está relacionado directamente con el transporte de datos, incluyendo la detección de dispositivos y la gestión de los estados internos de descubrible y conectable. - El gestor de enlace controla los canales y transportes lógicos junto con los canales físicos; se comunica con otros gestores de enlace utilizando el protocolo de gestor de enlace. También se encarga de la calidad de servicio, el cifrado y el control de la potencia de la transmisión. - El controlador de enlace genera los paquetes a partir del payload y los parámetros de enlace y transporte, y extrae la información de los que recibe. Realiza el control de flujo, las confirmaciones y las peticiones de retransmisión. - El controlador de canal coopera con los controladores de enlace tanto locales como remotos para crear canales y conexiones. - El gestor de recursos de L2CAP gestiona el envío de paquetes a BB y realiza algunas verificaciones sobre los límites establecidos por QoS, si bien la arquitectura supone que las aplicaciones no intentan burlar estos límites, por lo que este control es bastante limitado. 3.1.4.1.5 Módulo eb301. El sistema eb301 es una solución bluetooth completa que permite un rápido, flexible y potente interface serie para la transferencia punto a punto de todo tipo de información entre dos sistemas informáticos. Basado en el módulo eb101 de la firma A7 Engineering, Inc., hace posible la conexión, mediante enlace por RF, de dos equipos remotos evitando así la conexión de los mismos mediante cables. Anexos Página 134 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Características generales: - Basado en el módulo eb101 de A7 Engineering Inc. - Antena integrada en el propio circuito impreso. - Conectividad con cualquier dispositivo bluetooth. - Velocidad de transferencia continua de hasta 250K Baudios. - Bajo consumo para aplicaciones alimentadas con baterías. - Conector de 2x6 pines con paso 2.54mm para una sencilla conexión con la aplicación. - Sencillo juego de comandos para las comunicaciones y el control. - Admite niveles de voltaje de 3.3V/5V (existe una versión para niveles RS232). - Dispone de taladros para el montaje definitivo sobre la aplicación. - Se puede conectar directamente con cables USB-Serie estándar para su control directo desde el PC. Especificaciones generales: - Potencia del transmisor: +6dBm (máximo) o lo que es lo mismo 4mW. - Sensibilidad del receptor: -85 dBm. O lo que es lo mismo 5pW. - Rango de temperatura: -15º a 70ºC. - Alimentación/niveles: 3.3V para niveles de 3.3V y/o 5V para niveles de 5V (existe una versión para niveles RS232 que se alimenta con 5.5V). - Consumo: 125μA – 60mA. - Bluetooth: Versión 2.00. 3.1.4.1.5.1 Dimensiones y patillaje. La siguiente figura muestra las dimensiones del módulo eb301 y la numeración de sus patillas en el conector de 2x6. Se puede apreciar cómo sobre el mismo se integra el eb101.También se adjunta una imagen con la descripción de patillas. Anexos Página 135 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Ilustración 71: eb301: dimensiones y patillaje. Ilustración 72: eb301: descripción de las patillas. 3.1.4.1.5.2 Firmware. El módulo bluetooth eb101 de que consta el interface serie eb301 (en lo sucesivo eb101/eb301) dispone de un firmware interno que proporciona todas las funcionalidades necesarias para establecer una comunicación en escenarios donde dos equipos transfieran información entre sí empleando un enlace mediante RF, eliminando así la conexión de ambos mediante cables. Mediante una serie de sencillos comandos, el diseñador de aplicaciones se abstrae de los detalles propios del protocolo bluetooth y se asegura una correcta configuración y conexión con otros dispositivos basados en el módulo eb101 o con cualquier otro basado en el estándar bluetooth. Todo ello de una forma rápida, sencilla y fiable. El firmware soporta dos modos básicos de operación: El modo datos y el modo comandos. El modo de datos se emplea generalmente para la transferencia de datos entre dos equipos ya conectados o vinculados por RF, sin cables. El modo de Anexos Página 136 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez comandos proporciona un conjunto de comandos que permiten realizar una serie de funciones concretas y configuraciones. Ilustración 73: eb301: Ejemplos de uso. El firmware de los dispositivos eb101 viene de fábrica con unos ajustes por defecto: - Baudios: 9600. - Paridad: none. - Flow: none. - Security: off. - Name: eb101. - Passkey: 0000 Mediante los comandos apropiados cualquiera de estos ajustes predeterminados pueden ser modificados por el usuario. Los cambios realizados se mantendrán invariables hasta que se ejecute el comando rst factory, que restaura todos los valores de fábrica por defecto. También podemos restaurar los valores de fábrica por defecto mediante el pulsador. Para ello: - Mantener accionado el pulsador y conectar la alimentación del dispositivo. - Mantener el pulsador accionado hasta que el led se apague. - A parir de ese momento el dispositivo queda en el modo comando (prompt >). Anexos Página 137 Control y monitorización de una plataforma móvil 3.1.4.1.5.3 Led indicador. Adrián Madorrán Ibáñez Mediante una serie de señales, el led informa del estado del dispositivo eb101/eb301. Estas se describen en la siguiente imagen: Ilustración 74: eb301: Led indicador. 3.1.4.1.5.4 Conexionado con placa de expansión de puertos. Para conectar el módulo eb301 con la placa de expansión de puertos del PIC32 se ha fabricado un cable con las siguientes características: Bluetooth Nombre - Color - Pin placa - Tipo E/S 1 - GND - NEGRO - GND - ALIMENTACION 2 - RMT_SWITCH - VERDE - PMD2 - SALIDA 3 - RTS - AMARILLO - U1RTS - ENTRADA 4 - RMT_LED - BLANCO - PMD0 - ENTRADA 5 - VCC - ROJO - +3.3V - ALIMENTACION 6 - BREAK - MARRON - PMD3 - SALIDA 7 - RXD - AZUL - U1TX - SALIDA 8 -------------------------------------------------------------------------------------------- 9 - TXD - NARANJA - U1RX - ENTRADA 10 - STATUS - GRIS - PMD1 - ENTRADA 11 - CTS - MORADO - U1CTS - SALIDA Anexos Página 138 Control y monitorización de una plataforma móvil 12 Adrián Madorrán Ibáñez -------------------------------------------------------------------------------------------------- Los pines PMDO, PMD1, PMD2, PMD3 Y PMD4 corresponden con el puerto digital E (PMDO = BIT_E0, PMD1 = BIT_E1, PMD2 = BIT_E2, PMD3 = BIT_E3). A continuación se exponen una serie de imágenes del cable fabricado: Ilustración 75: eb301: cable conexión 1. Anexos Página 139 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Ilustración 76: eb301: cable conexión 2. Ilustración 77: eb301: cable conexión 3. Anexos Página 140 Control y monitorización de una plataforma móvil 3.1.4.1.5.5 Comandos. Adrián Madorrán Ibáñez Si desea obtener más información acerca de los comandos y mas información acerca del modulo eb301, diríjase a la documentación que se proporciona con esta memoria de proyecto. 3.1.4.1.6 Cable FTDI. Este cable de la firma FTDI Chip permite convertir un puerto USB en un puerto serie RS232 con señales de niveles TTL. Ilustración 78: Cable FTDI. Un extremo del cable se conecta a un puerto USB del PC. El extremo opuesto ofrece 6 conexiones con las 6 señales típicas de un interface RS232 con niveles TTL. Ilustración 79: Cable FTDI 2. Anexos Página 141 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez El conector que transporta esas señales y la distribución de las mismas es estándar y se conecta directamente con las patillas 1,3,5,7,9 y 11 del conector del módulo eb301 tal y como se muestra en la siguiente imagen. Ilustración 80: Cable FTDI 3. 3.1.4.1.6.1 Experimentación. Si desea obtener más información acerca de experimentación con el cable FTDI y el modulo eb301, diríjase a la documentación que se proporciona con esta memoria de proyecto. 3.1.4.1.7 Otros módulos. Otros módulos utilizados en el proyecto son: - EL módulo que integra el PC desde el que se lleva a cabo el control de la plataforma. Un módulo USB genérico. 3.1.4.1.7.1 Módulo integrado en PC. En este caso se ha realizado el control desde PC mediante un portátil de la marca LG que trae integrado un módulo bluetooth de la marca Broadcom v2.0+EDR. Anexos Página 142 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Ilustración 81: Módulo Broadcom. 3.1.4.1.7.2 Módulo USB. El módulo externo utilizado es USB NW545. - Fabricante: Net Way. Versión bluetooth: 2.0 + EDR. Clase: 2 (10 metros). Ilustración 82: NW545. 3.1.4.2 Comunicación SPI. El Bus SPI (del inglés Serial Peripheral Interface) es un estándar de comunicaciones, usado principalmente para la transferencia de información entre circuitos integrados en equipos electrónicos. El bus de interfaz de periféricos serie o bus SPI es un estándar para controlar casi cualquier dispositivo electrónico digital que acepte un flujo de bits serie regulado por un reloj. Incluye una línea de reloj, dato entrante, dato saliente y un pin de chip select, que conecta o desconecta la operación del dispositivo con el que uno desea comunicarse. De esta forma, este estándar permite multiplexar las líneas de reloj. Muchos sistemas digitales tienen periféricos que necesitan existir pero no ser rápidos. La ventajas de un bus serie es que minimiza el número de Anexos Página 143 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez conductores, pines y el tamaño del circuito integrado. Esto reduce el coste de fabricar montar y probar la electrónica. Un bus de periféricos serie es la opción más flexible cuando se tiene tipos diferentes de periféricos serie. El hardware consiste en señales de reloj, data in, data out y chip select para cada circuito integrado que tiene que ser controlado. Casi cualquier dispositivo digital puede ser controlado con esta combinación de señales. Los dispositivos se diferencian en un número predecible de formas. Unos leen el dato cuando el reloj sube otros cuando el reloj baja. Algunos lo leen en el flanco de subida del reloj y otros en el flanco de bajada. Escribir es casi siempre en la dirección opuesta de la dirección de movimiento del reloj. Algunos dispositivos tienen dos relojes. Uno para capturar o mostrar los datos y el otro para el dispositivo interno. Ilustración 83: Bus SPI: un maestro y un esclavo. Ilustración 84: Bus SPI: un maestro y varios esclavos. Ventajas: - Anexos Comunicación Full Duplex. Mayor velocidad de transmisión que con I²C o SMBus. Página 144 Control y monitorización de una plataforma móvil - - - Adrián Madorrán Ibáñez Protocolo flexible en que se puede tener un control absoluto sobre los bits transmitidos. o No está limitado a la transferencia de bloques de 8 bits. o Elección del tamaño de la trama de bits, de su significado y propósito. Su implementación en hardware es extremadamente simple. o Consume menos energía que I²C o que SMBus debido que posee menos circuitos (incluyendo las resistencias pull-up) y estos son más simples. o No es necesario arbitraje o mecanismo de respuesta ante fallos. o Los dispositivos clientes usan el reloj que envía el servidor, no necesitan por tanto su propio reloj. o No es obligatorio implementar un transceptor (emisor y receptor), un dispositivo conectado puede configurarse para que solo envíe, sólo reciba o ambas cosas a la vez. Usa mucho menos terminales en cada chip/conector que una interfaz paralelo equivalente. Como mucho una única señal específica para cada cliente (señal SS), las demás señales pueden ser compartidas. Desventajas: - - Consume más pines de cada chip que I²C, incluso en la variante de 3 hilos. El direccionamiento se hace mediante líneas específicas (señalización fuera de banda) a diferencia de lo que ocurre en I²C que se selecciona cada chip mediante una dirección de 7 bits que se envía por las mismas líneas del bus. No hay control de flujo por hardware. No hay señal de asentimiento. El servidor podría estar enviando información sin que estuviese conectado ningún cliente y no se daría cuenta de nada. No permite fácilmente tener varios servidores conectados al bus. Sólo funciona en las distancias cortas a diferencia de, por ejemplo, RS232, RS-485 o Bus CAN. Modos de operación: Existen cuatro modos de reloj definidos por el protocolo SPI, estos modos son : Anexos Modo A Modo B Modo C Página 145 Control y monitorización de una plataforma móvil - Modo D Adrián Madorrán Ibáñez Estos determinan el valor de la polaridad del reloj (CPOL = Clock Polarity) y el bit de fase del reloj (CPHA = Clock Phase). La mayoría de los dispositivos SPI pueden soportar al menos 2 modos de los 4 antes mencionados. El BIT de Polaridad del reloj determina el nivel del estado de Idle del reloj y el BIT de Fase de reloj determina que flanco recibe un nuevo dato sobre el bus. El modo requerido para una determinada aplicación, esta dado por el dispositivo esclavo. La capacidad de multi-modo combinada con un simple registro de desplazamiento hace que el bus SPI sea muy versátil. Polaridad del reloj (CPOL=Clock Polarity) : Si CPOL está en un 0 lógico y ningún dato está siendo transferido (Estado Idle), el maestro mantiene la línea SCLK en bajo. Si CPOL está en un 1 lógico, el maestro desocupa la línea SCLK alta. Fase Del Reloj (CPHA) : CPHA, conjuntamente con CPOL, controlan cuando los nuevos datos son colocados en el bus. Si CPHA es igual a un ‘1’ lógico, los datos son desplazados sobre la línea MOSI según lo determinado por el valor de CPOL. Para CPHA = 1: Si CPOL = 1, los nuevos datos se colocados sobre la línea cuando el flanco del reloj es descendente y se leen cuando el flanco del reloj es ascendente . Si CPOL = 0, los nuevos datos se ponen en la línea cuando el flanco del reloj es ascendente y se leen cuando el reloj tiene un flanco descendente. Si CPHA = 0, el reloj de cambio es la OR de SCLK con la terminal Chip Select. Tan pronto como el terminal Chip Select se coloca en un nivel lógico 0, los nuevos datos se ponen en la línea y el primer filo de del reloj se leen los datos. Si CPOL se activa a un nivel lógico ‘1’, el primer borde de reloj baja y los bits de datos subsecuentes se leen en cada filo de bajada sobre la línea de reloj. Anexos Página 146 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Cada nuevo bit se pone en la línea cuando el reloj tiene un flanco ascendente de Reloj. Si CPOL es cero, el primer filo de reloj ascendente y los bits de datos subsecuentes se leen en cada filo ascendente de reloj. Cada nuevo bit se coloca en la línea cuando el filo del reloj baja. En resumen, Si CPHA=1, la transferencia (datos válidos leídos por el receptor) comienza en el segundo filo de reloj. Si CPHA=0, la transferencia comienza en el primer filo de reloj. Todas las transferencias subsecuentes dentro del byte ocurren en cada filo de reloj. Ilustración 85: Bus SPI: modo A. Ilustración 86: Bus SPI: modo B. Anexos Página 147 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Ilustración 87: Bus SPI: modo C. Ilustración 88: Bus SPI: modo D. 3.1.4.2.1 Cable de comunicación. Para comunicar el PIC32 con el PIC 16F877 se ha fabricado un cable para la comunicación SPI. Partiendo de los materiales: Anexos Cable apantallado multiconductor (4 cables internos). 4 pines de 2,54 mm. Cable termorretractil. Estaño. Página 148 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez En un extremo se han soldado los cables del cable apantallado a los pines de 2,54mm de la siguiente manera. Ilustración 89: SPI: cable comunicación. - Pin 1: Cable de color blanco. Pin 2: Cable de color marrón. Pin 3: Cable de color amarillo. Pin 4: Cable de color verde. El otro extremo del cable ira soldado al conector del puerto C de la placa de control distribuido como indica en el apartado 3.1.3.4, a excepción del cable marrón que ira conectado a la etapa de potencia a la entrada 0V. Ilustración 90: SPI: cable de comunicación 2. Anexos Página 149 Control y monitorización de una plataforma móvil 3.1.5 Gestión de usuario. Adrián Madorrán Ibáñez A continuación de detallaran todos los elementos y programas que se utilizan para la gestión y manejo de la plataforma por parte de un usuario. 3.1.5.1 Aplicación en PC. Una de las formas que tiene el usuario de controlar la plataforma es mediante una aplicación en PC, creada específicamente para este proyecto. 3.1.5.1.1 Borland C++ Builder 5.0 Profesional. C++Builder es un entorno de desarrollo rápido de aplicaciones en lenguaje C++ para Windows inicialmente propiedad de la empresa Borland, y actualmente de la empresa Embarcadero quien compró de Borland la división Codegear encargada del producto. Codegear inicialmente se denominaba DTG='Developer Tools Group' hasta que adquirió el nombre oficial CodeGear previo a la venta. C++Builder combina la biblioteca Visual Component Library y el IDE escrito en Delphi con un compilador de C++. El ciclo de lanzamiento es anual. C++Builder incluye herramientas que permiten verdadero desarrollo visual de arrastrar-y-soltar componentes sobre la aplicación, haciendo el acto de programar algo mucho más fácil al incorporar constructor de interfaz gráfica WYSIWYG en su IDE. Ilustración 91: C++ Builder 5. Anexos Página 150 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Ventajas: - Usa el concepto de RAD: Rapid Application Develpment, Desarrollo Rápido de Aplicaciones. - Gran cantidad de componentes incluidos en la distribución básica (más de 200 vs menos de 20 en un entorno Visual Basic 6). La biblioteca VCL y el código generado usan código nativo lo que le permite ejecutarse con gran velocidad. El compilador de C++ es de reciente actualización, incluye soporte al estándar ISO C++98, C++0x y TR1. Soporta las reconocidas bibliotecas Boost. Actualizado anualmente. El roadmap de la compañía prevé versiones para OSX y Linux. - Se ha elegido este entorno de desarrollo porque es fácil de usar, intuitiva, ya se poseía experiencia anterior y además existe un versión gratuita descargable de la página del desarrollador Embarcadero, donde podemos bajar la versión 5.5 gratis. Página web: http://edn.embarcadero.com/article/20633# 3.1.5.1.2 Código. //--------------------------------------------------------------------------#include <vcl.h> #pragma hdrstop #include "U_Software.h" #define __WINDOWS_COM__ #include "com/serial.h" //--------------------------------------------------------------------------#pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; AnsiString Puerto, Puertoeb, aux, M1, M2, auxvisual; int i_aux, i_rec; //Usado como contador int Baudios, Baudioseb; char Parametros[3], Parametroseb[3], D_Rec[50], c_CC[8], aux_Rec[50], D_eb[300]; char paradaemer[8], aux_eb[300]; bool config_error, config_erroreb, conexion=false; Anexos Página 151 Control y monitorización de una plataforma móvil HANDLE h_fd, eb_fd; DCB dbc_Conf, eb_Conf; int i_env, y, x, aux_xy; Adrián Madorrán Ibáñez //--------------------------------------------------------------------------__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------void __fastcall TForm1::Salir1Click(TObject *Sender) { Close_Port(h_fd); Form1->Close(); } //--------------------------------------------------------------------------void __fastcall TForm1::FormCreate(TObject *Sender) { Form1->Width=1200; Form1->Height=650; Form1->Top=70; Form1->Left=50; PageControl1->Width=1180; PageControl1->Height=590; PageControl1->Left=0; PageControl1->Top=0; BitBtn1->Width=83; BitBtn1->Height=33; BitBtn1->Left=1096; BitBtn1->Top=554; Configuracion->TabVisible=false; Control->TabVisible=false; eb101->TabVisible=false; Historico->TabVisible=false; Button1->Top=530; Button1->Left=1000; strcpy(c_CC, "@0A5F8H0"); strcpy(paradaemer, "17FF97FF"); } //--------------------------------------------------------------------------void __fastcall TForm1::Button1Click(TObject *Sender) { Configuracion->TabVisible=true; PageControl1->ActivePage=Configuracion; } //--------------------------------------------------------------------------void __fastcall TForm1::Button2Click(TObject *Sender) { config_error = false; Anexos Página 152 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez if (CBCOM->Text == "Seleccione"){ShowMessage("Falta datos: COM"); config_error=true;} if (CBBau->Text == "Seleccione"){ShowMessage("Falta datos: Baudios"); config_error=true;} if (CBCaract->Text == "Seleccione"){ShowMessage("Falta datos: Tranmision"); config_error=true;} if (config_error==false) { Button3->Visible=true; Establececomunicacion1->Enabled=true; MConfig->Lines->Clear(); MConfig->Lines->Add("COM: " + Puerto); MConfig->Lines->Add("Baudios: " + CBBau->Text); MConfig->Lines->Add("Trama: " + CBCaract->Text); int i_aux = Puerto.Length (); char* c_COM = new char[i_aux+1]; strcpy (c_COM, Puerto.c_str ()); h_fd=Open_Port( c_COM ); Configure_Port(h_fd,Baudios,Parametros); dbc_Conf = Get_Configure_Port(h_fd); } else { config_error=false; ShowMessage("Configuracion incorrecta"); Button3->Visible=false; } } //--------------------------------------------------------------------------void __fastcall TForm1::CBCOMChange(TObject *Sender) { if (CBCOM->Text=="COM1") {Puerto="COM1";} if (CBCOM->Text=="COM2") {Puerto="COM2";} if (CBCOM->Text=="COM3") {Puerto="COM3";} if (CBCOM->Text=="COM4") {Puerto="COM4";} if (CBCOM->Text=="COM5") {Puerto="COM5";} if (CBCOM->Text=="COM6") {Puerto="COM6";} if (CBCOM->Text=="COM7") {Puerto="COM7";} if (CBCOM->Text=="COM8") {Puerto="COM8";} if (CBCOM->Text=="COM9") {Puerto="COM9";} if (CBCOM->Text=="COM10") {Puerto="COM10";} if (CBCOM->Text=="COM11") {Puerto="COM11";} if (CBCOM->Text=="COM12") {Puerto="COM12";} if (CBCOM->Text=="COM13") {Puerto="COM13";} if (CBCOM->Text=="COM14") {Puerto="COM14";} if (CBCOM->Text=="COM15") {Puerto="COM15";} if (CBCOM->Text=="COM16") {Puerto="COM16";} } //--------------------------------------------------------------------------- Anexos Página 153 Control y monitorización de una plataforma móvil void __fastcall TForm1::CBBauChange(TObject *Sender) { if (CBBau->Text == "300"){Baudios=300;} if (CBBau->Text == "600"){Baudios=600;} if (CBBau->Text == "1200"){Baudios=1200;} if (CBBau->Text == "2400"){Baudios=2400;} if (CBBau->Text == "4800"){Baudios=4800;} if (CBBau->Text == "9600"){Baudios=9600;} if (CBBau->Text == "19200"){Baudios=19200;} if (CBBau->Text == "36400"){Baudios=36400;} if (CBBau->Text == "57600"){Baudios=57600;} if (CBBau->Text == "115200"){Baudios=115200;} if (CBBau->Text == "230400"){Baudios=230400;} if (CBBau->Text == "460800"){Baudios=460800;} } //--------------------------------------------------------------------------- Adrián Madorrán Ibáñez void __fastcall TForm1::CBCaractChange(TObject *Sender) { if (CBCaract->Text == "8N1"){Parametros[1]='8';Parametros[2]='N';Parametros[3]='1';} if (CBCaract->Text == "7E1"){Parametros[1]='7';Parametros[2]='E';Parametros[3]='1';} if (CBCaract->Text == "7O1"){Parametros[1]='7';Parametros[2]='O';Parametros[3]='1';} if (CBCaract->Text == "7S1"){Parametros[1]='7';Parametros[2]='S';Parametros[3]='1';} } //--------------------------------------------------------------------------void __fastcall TForm1::Button4Click(TObject *Sender) { CBBau->Text="9600"; CBCaract->Text="8N1"; } //--------------------------------------------------------------------------void __fastcall TForm1::BitBtn2Click(TObject *Sender) { ShowMessage("8N1: Trama=8, Paridad=No, Stop=1\r" "7E1: Trama=7, Paridad=Par, Stop=1\r" "7O1: Trama=7, Paridad=Impar, Stop=1\r" "7S1: Trama=7, Paridad=SPACE, Stop=1"); } //--------------------------------------------------------------------------void __fastcall TForm1::Button3Click(TObject *Sender) { char* B_Comu = new char[1]; aux = c_CC[0]; strcpy (B_Comu, aux.c_str ()); i_env = 1; Write_Port(h_fd,B_Comu,1); M_Enviado->Lines->Add(B_Comu); Anexos Página 154 Control y monitorización de una plataforma móvil IO_Blocking(h_fd,FALSE); T_Tout->Enabled=true; Adrián Madorrán Ibáñez } //--------------------------------------------------------------------------void __fastcall TForm1::Button5Click(TObject *Sender) { i_rec=Gets_Port(h_fd,D_Rec,50); M_Recibido->Lines->Add(D_Rec); if(i_rec!=0){MRec->Lines->Add(D_Rec);} } //--------------------------------------------------------------------------void __fastcall TForm1::Timer1Timer(TObject *Sender) { IO_Blocking(h_fd,FALSE); Timer1->Enabled=false; strcpy (aux_Rec, D_Rec); i_rec=Gets_Port(h_fd,D_Rec,50); M_Recibido->Lines->Add(D_Rec); if(i_rec!=0) { if (strcmp(aux_Rec, D_Rec)!=0 && strcmp("ACK", D_Rec)!=0) { if (RBManual->Checked) { MRec->Lines->Add(D_Rec); } } } Timer1->Enabled=true; } //--------------------------------------------------------------------------void __fastcall TForm1::RBVisualClick(TObject *Sender) { RBVisual->Checked=true; if(conexion==true) { Panel1->Enabled=false; EEnv->Enabled=false; Button6->Enabled=false; Button7->Enabled=false; Button8->Enabled=false; RGRec->Enabled=false; Button5->Enabled=false; BitBtn3->Enabled=false; Timer1->Enabled=false; Shape1->Enabled=true; Button13->Enabled=true; Anexos Página 155 Control y monitorización de una plataforma móvil TB_Giro->Enabled=true; TB_Vel->Enabled=true; Adrián Madorrán Ibáñez Panel2->Enabled=true; } } //--------------------------------------------------------------------------void __fastcall TForm1::RBManualClick(TObject *Sender) { RBManual->Checked=true; if(conexion==true) { Panel2->Enabled=false; Panel1->Enabled=true; EEnv->Enabled=true; Button6->Enabled=true; Button7->Enabled=true; Button8->Enabled=true; RGRec->Enabled=true; BitBtn3->Enabled=true; Shape1->Enabled=false; Button13->Enabled=false; TB_Giro->Enabled=false; TB_Vel->Enabled=false; Timer1->Enabled=true; if (RGRec->ItemIndex==0){Button5->Enabled=false;} if (RGRec->ItemIndex==1){Button5->Enabled=true;} } } //--------------------------------------------------------------------------void __fastcall TForm1::Button7Click(TObject *Sender) { if(EEnv->Text.Length()== 8) { aux=EEnv->Text; if(strcmp(aux.c_str(), "17FF97FF")==0) { Shape3->Brush->Color=clRed; Label13->Caption="Sistema Parado"; } else { Shape3->Brush->Color=clLime; Anexos Página 156 Control y monitorización de una plataforma móvil Label13->Caption="Sistema en Marcha"; Adrián Madorrán Ibáñez } char* B_Envio = new char[1]; aux = EEnv->Text.SubString(1,1); i_env = 2; strcpy (B_Envio, aux.c_str ()); Write_Port(h_fd,B_Envio,1); M_Enviado->Lines->Add(B_Envio); Timer2->Enabled=true; } else { ShowMessage("Error datos de envio: deben ser 8 caracteres"); } } //--------------------------------------------------------------------------void __fastcall TForm1::RGRecClick(TObject *Sender) { if (RGRec->ItemIndex==0){Button5->Enabled=false;Timer1->Enabled=true;} if (RGRec->ItemIndex==1) { Button5->Enabled=true; ShowMessage("La transmision se puede saturar"); Timer1->Enabled=false; } } //--------------------------------------------------------------------------void __fastcall TForm1::BitBtn3Click(TObject *Sender) { ShowMessage("La forma de envio de un dato es: xxxx%zzzz\r" "Donde:\r" "xxxx: numero en hexadecimal de movimineto del motor DD\r" "%: carater de segundo dato\r" "zzzz: numero en hexadecimal de movimineto del motor DI"); } //--------------------------------------------------------------------------void __fastcall TForm1::Button6Click(TObject *Sender) { Timer1->Enabled=false; Button6->Enabled=false; Button8->Enabled=true; Button8->Caption="R&eanudar lectura datos"; } //--------------------------------------------------------------------------- Anexos Página 157 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez void __fastcall TForm1::Button8Click(TObject *Sender) { Timer1->Enabled=true; Button6->Enabled=true; Button8->Enabled=false; } //--------------------------------------------------------------------------void __fastcall TForm1::Beb101Click(TObject *Sender) { eb101->TabVisible=true; PageControl1->ActivePage=eb101; } //--------------------------------------------------------------------------void __fastcall TForm1::Button10Click(TObject *Sender) { CBBaueb->Text="9600"; CBTReb->Text="8N1"; } //--------------------------------------------------------------------------void __fastcall TForm1::Button9Click(TObject *Sender) { config_erroreb = false; if (CBCOMeb->Text == "Seleccione"){ShowMessage("Falta datos: COM"); config_error=true;} if (CBBaueb->Text == "Seleccione"){ShowMessage("Falta datos: Baudios"); config_error=true;} if (CBTReb->Text == "Seleccione"){ShowMessage("Falta datos: Tranmision"); config_error=true;} if (config_error==false) { MConfigeb->Lines->Clear(); MConfigeb->Lines->Add("COM: " + Puertoeb); MConfigeb->Lines->Add("Baudios: " + CBBaueb->Text); MConfigeb->Lines->Add("Trama: " + CBTReb->Text); int i_auxeb = Puertoeb.Length (); char* c_COMeb = new char[i_auxeb+1]; strcpy (c_COMeb, Puertoeb.c_str ()); eb_fd = Open_Port( c_COMeb ); Configure_Port(eb_fd,Baudioseb,Parametroseb); eb_Conf = Get_Configure_Port(eb_fd); T_ebRec->Enabled=true; Button12->Visible=true; Button11->Enabled=true; Liberarpuerto1->Enabled=true; } else { Anexos Página 158 Control y monitorización de una plataforma móvil config_error=false; ShowMessage("Configuracion incorrecta"); Adrián Madorrán Ibáñez } } //--------------------------------------------------------------------------void __fastcall TForm1::CBCOMebChange(TObject *Sender) { if (CBCOMeb->Text=="COM1") {Puertoeb="COM1";} if (CBCOMeb->Text=="COM2") {Puertoeb="COM2";} if (CBCOMeb->Text=="COM3") {Puertoeb="COM3";} if (CBCOMeb->Text=="COM4") {Puertoeb="COM4";} if (CBCOMeb->Text=="COM5") {Puertoeb="COM5";} if (CBCOMeb->Text=="COM6") {Puertoeb="COM6";} if (CBCOMeb->Text=="COM7") {Puertoeb="COM7";} if (CBCOMeb->Text=="COM8") {Puertoeb="COM8";} if (CBCOMeb->Text=="COM9") {Puertoeb="COM9";} if (CBCOMeb->Text=="COM10") {Puertoeb="COM10";} if (CBCOMeb->Text=="COM11") {Puertoeb="COM11";} if (CBCOMeb->Text=="COM12") {Puertoeb="COM12";} if (CBCOMeb->Text=="COM13") {Puertoeb="COM13";} if (CBCOMeb->Text=="COM14") {Puertoeb="COM14";} if (CBCOMeb->Text=="COM15") {Puertoeb="COM15";} if (CBCOMeb->Text=="COM16") {Puertoeb="COM16";} } //--------------------------------------------------------------------------void __fastcall TForm1::CBBauebChange(TObject *Sender) { if (CBBaueb->Text == "300"){Baudioseb=300;} if (CBBaueb->Text == "600"){Baudioseb=600;} if (CBBaueb->Text == "1200"){Baudioseb=1200;} if (CBBaueb->Text == "2400"){Baudioseb=2400;} if (CBBaueb->Text == "4800"){Baudioseb=4800;} if (CBBaueb->Text == "9600"){Baudioseb=9600;} if (CBBaueb->Text == "19200"){Baudioseb=19200;} if (CBBaueb->Text == "36400"){Baudioseb=36400;} if (CBBaueb->Text == "57600"){Baudioseb=57600;} if (CBBaueb->Text == "115200"){Baudioseb=115200;} if (CBBaueb->Text == "230400"){Baudioseb=230400;} if (CBBaueb->Text == "460800"){Baudioseb=460800;} } //--------------------------------------------------------------------------void __fastcall TForm1::CBTRebChange(TObject *Sender) { if (CBTReb->Text == "8N1"){Parametroseb[1]='8';Parametroseb[2]='N';Parametroseb[3]='1';} if (CBTReb->Text == "7E1"){Parametroseb[1]='7';Parametroseb[2]='E';Parametroseb[3]='1';} if (CBTReb->Text == "7O1"){Parametroseb[1]='7';Parametroseb[2]='O';Parametroseb[3]='1';} if (CBTReb->Text == "7S1"){Parametroseb[1]='7';Parametroseb[2]='S';Parametroseb[3]='1';} Anexos Página 159 Control y monitorización de una plataforma móvil } //--------------------------------------------------------------------------- Adrián Madorrán Ibáñez void __fastcall TForm1::Timer2Timer(TObject *Sender) { Timer2->Enabled=false; char* B2_Envio = new char[1]; aux=EEnv->Text.SubString(i_env,1); strcpy (B2_Envio, aux.c_str ()); Write_Port(h_fd,B2_Envio,1); M_Enviado->Lines->Add(B2_Envio); i_env = i_env+1; if (i_env != 9) { Timer2->Enabled=true; } } //--------------------------------------------------------------------------void __fastcall TForm1::BitBtn1Click(TObject *Sender) { Close_Port(h_fd); } //--------------------------------------------------------------------------void __fastcall TForm1::T_ToutTimer(TObject *Sender) { T_Tout->Enabled=false; aux=c_CC[i_env]; char* B2_Comu = new char[1]; strcpy (B2_Comu, aux.c_str ()); Write_Port(h_fd,B2_Comu,1); M_Enviado->Lines->Add(B2_Comu); i_env = i_env+1; if (i_env != 9) { T_Tout->Enabled=true; } else if (i_env == 9) { T_Tread->Enabled=true; } } //--------------------------------------------------------------------------void __fastcall TForm1::T_TreadTimer(TObject *Sender) { T_Tread->Enabled=false; Anexos Página 160 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Read_Port(h_fd,D_Rec,8); aux=D_Rec; if (strcmp(c_CC, D_Rec)==0) { i_env = 1; Write_Port(h_fd, "?", 1); M_Enviado->Lines->Add("?"); T_TOK->Enabled=true; } else {ShowMessage("Fallo de establecimiento de configuracion");} } //--------------------------------------------------------------------------void __fastcall TForm1::Edit1MouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { M_Ayuda->Lines->Clear(); M_Ayuda->Lines->Add("Probando"); } //--------------------------------------------------------------------------void __fastcall TForm1::Label1MouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { M_Ayuda->Lines->Clear(); M_Ayuda->Lines->Add("Ayuda para: Seleccione Puerto Serie (COM)."); M_Ayuda->Lines->Add("Seleccione el en ComboBox el puerto serie (COM) al que este vinculado su dispositivo bluetooth."); } //--------------------------------------------------------------------------void __fastcall TForm1::Label11MouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { M_Ayuda->Lines->Clear(); M_Ayuda->Lines->Add("Para obtener ayuda de un elemento, posicione el raton encima y aparecera en el siguiente recuadro."); } //--------------------------------------------------------------------------- void __fastcall TForm1::Label2MouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { M_Ayuda->Lines->Clear(); M_Ayuda->Lines->Add("Ayuda para: Seleccione Baudios."); M_Ayuda->Lines->Add("Seleccione el en ComboBox la velocidad en baudios a la transmite su dispositivo bluetooth."); } Anexos Página 161 Control y monitorización de una plataforma móvil //--------------------------------------------------------------------------- Adrián Madorrán Ibáñez void __fastcall TForm1::Label3MouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { M_Ayuda->Lines->Clear(); M_Ayuda->Lines->Add("Ayuda para: Seleccione Transmision."); M_Ayuda->Lines->Add("Seleccione el en ComboBox la configuracion de transmision que utiliza su dispositivo bluetooth."); } //--------------------------------------------------------------------------void __fastcall TForm1::Button4MouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { M_Ayuda->Lines->Clear(); M_Ayuda->Lines->Add("Ayuda para: Valor por Defecto."); M_Ayuda->Lines->Add("Al pulsar el boton, te cambia automaticamente los valores de Baudios y Configuracion de Tranmision a los valores por defecto: "); M_Ayuda->Lines->Add("Baudios: 9800"); M_Ayuda->Lines->Add("Configuracion: 8N1"); } //--------------------------------------------------------------------------void __fastcall TForm1::Button2MouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { M_Ayuda->Lines->Clear(); M_Ayuda->Lines->Add("Ayuda para: Configurar."); M_Ayuda->Lines->Add("Al pulsar el boton, configura el puerto serie que tenemos vinculado con nuestro dispositivo bluetooth para que nos podamos comunicar con el."); } //--------------------------------------------------------------------------void __fastcall TForm1::Label6MouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { M_Ayuda->Lines->Clear(); M_Ayuda->Lines->Add("Ayuda para: Valores de configuracion"); M_Ayuda->Lines->Add("En el cuadro mostrara con que valores se ha configurado el puerto serie que vamos a utilizar."); } //--------------------------------------------------------------------------void __fastcall TForm1::Label4MouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { M_Ayuda->Lines->Clear(); M_Ayuda->Lines->Add("Ayuda para: Valores por defecto"); Anexos Página 162 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez M_Ayuda->Lines->Add("En el cuadro muestra que valores tiene por defecto la configuracion del puerto serie que debemos utilizar, siempre y cuando no se haya cambiado."); } //--------------------------------------------------------------------------void __fastcall TForm1::Beb101MouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { M_Ayuda->Lines->Clear(); M_Ayuda->Lines->Add("Ayuda para: eb101: configurar"); M_Ayuda->Lines->Add("Al pulsar el boton, nos llevara a la pestaña correspondiento donde podemos configurar el modulo eb101 externo."); } //--------------------------------------------------------------------------void __fastcall TForm1::T_TOKTimer(TObject *Sender) { T_TOK->Enabled=false; Write_Port(h_fd,"?",1); M_Enviado->Lines->Add("?"); i_env = i_env+1; if (i_env != 8) { T_TOK->Enabled=true; } else if (i_env == 8) { Control->TabVisible=true; Modomanual1->Enabled=true; Modovisual1->Enabled=true; eb101->TabVisible=true; Historico->TabVisible=true; Abrirhistoricoenviado1->Enabled=true; GuardarEnviado1->Enabled=true; Abrirhistoricorecibido1->Enabled=true; GuardarRecibido1->Enabled=true; BorrarTodo1->Enabled=true; PageControl1->ActivePage=Control; Timer1->Enabled=true; Button2->Enabled=false; Button3->Enabled=false; Button4->Enabled=false; Shape1->Enabled=false; Button13->Enabled=false; TB_Giro->Enabled=false; TB_Vel->Enabled=false; Shape2->Brush->Color=clLime; Label12->Caption="Sistema con conexion"; BitBtn5->Enabled=true; Panel1->Enabled=true; Anexos Página 163 Control y monitorización de una plataforma móvil conexion=true; Adrián Madorrán Ibáñez } } //--------------------------------------------------------------------------void __fastcall TForm1::BitBtn5Click(TObject *Sender) { i_env = 2; char* B_Emergencia = new char[1]; aux = paradaemer[0]; strcpy (B_Emergencia, aux.c_str ()); M_Enviado->Lines->Add(B_Emergencia); i_env = 2; Write_Port(h_fd,B_Emergencia,1); T_PE->Enabled=true; TB_Vel->Position=0; TB_Giro->Position=0; Shape4->Left=185; Shape4->Top=185; E_M1->Text="17FF"; E_M2->Text="97FF"; Shape3->Brush->Color=clRed; Label13->Caption="Sistema Parado"; } //--------------------------------------------------------------------------void __fastcall TForm1::T_PETimer(TObject *Sender) { T_PE->Enabled=false; char* B2_Emergencia = new char[1]; aux = paradaemer[i_env-1]; strcpy (B2_Emergencia, aux.c_str ()); M_Enviado->Lines->Add(B2_Emergencia); Write_Port(h_fd,B2_Emergencia,1); i_env = i_env+1; if (i_env != 9) { T_PE->Enabled=true; } } //--------------------------------------------------------------------------void __fastcall TForm1::Habilitarpestaa2Click(TObject *Sender) { Control->TabVisible=true; PageControl1->ActivePage=Control; Modomanual1->Enabled=true; Modovisual1->Enabled=true; Anexos Página 164 Control y monitorización de una plataforma móvil } //--------------------------------------------------------------------------- Adrián Madorrán Ibáñez void __fastcall TForm1::Habilitarpestaa3Click(TObject *Sender) { eb101->TabVisible=true; PageControl1->ActivePage=eb101; N6->Enabled=true; Configurar2->Enabled=true; } //--------------------------------------------------------------------------void __fastcall TForm1::Habilitarpestaa4Click(TObject *Sender) { Historico->TabVisible=true; PageControl1->ActivePage=Historico; Abrirhistoricoenviado1->Enabled=true; GuardarEnviado1->Enabled=true; Abrirhistoricorecibido1->Enabled=true; GuardarRecibido1->Enabled=true; BorrarTodo1->Enabled=true; } //--------------------------------------------------------------------------void __fastcall TForm1::Habilitarpestaa1Click(TObject *Sender) { Configuracion->TabVisible=true; PageControl1->ActivePage=Configuracion; } //--------------------------------------------------------------------------void __fastcall TForm1::BitBtn6Click(TObject *Sender) { M_Enviado->Lines->Clear(); } //--------------------------------------------------------------------------void __fastcall TForm1::BitBtn7Click(TObject *Sender) { M_Recibido->Lines->Clear(); } //--------------------------------------------------------------------------void __fastcall TForm1::BorrarTodo1Click(TObject *Sender) { M_Enviado->Lines->Clear(); M_Recibido->Lines->Clear(); } //--------------------------------------------------------------------------- Anexos Página 165 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez void __fastcall TForm1::BitBtn8Click(TObject *Sender) { if (SalvarE->Execute()) { M_Enviado->Lines->SaveToFile(SalvarE->FileName); } } //--------------------------------------------------------------------------void __fastcall TForm1::BitBtn10Click(TObject *Sender) { if (SalvarR->Execute()) { M_Recibido->Lines->SaveToFile(SalvarR->FileName); } } //--------------------------------------------------------------------------void __fastcall TForm1::BitBtn9Click(TObject *Sender) { if (AbrirE->Execute()) { M_Enviado->Lines->Clear(); M_Enviado->Lines->LoadFromFile(AbrirE->FileName); } } //--------------------------------------------------------------------------void __fastcall TForm1::BitBtn11Click(TObject *Sender) { if (AbrirR->Execute()) { M_Recibido->Lines->Clear(); M_Recibido->Lines->LoadFromFile(AbrirR->FileName); } } //--------------------------------------------------------------------------void __fastcall TForm1::Shape1MouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { Edit3->Text=(Y-150)*-1; Edit2->Text=X-150; } //--------------------------------------------------------------------------void __fastcall TForm1::T_ebRecTimer(TObject *Sender) { IO_Blocking(eb_fd,FALSE); Anexos Página 166 Control y monitorización de una plataforma móvil T_ebRec->Enabled=false; strcpy(aux_eb, D_eb); i_rec=Gets_Port(eb_fd,D_eb,300); M_ebRec->Lines->Add(D_eb); if(i_rec!=0) { if (strcmp(aux_eb, D_eb)!=0) { M_ebRec->Lines->Add(D_eb); } } T_ebRec->Enabled=true; Adrián Madorrán Ibáñez } //--------------------------------------------------------------------------void __fastcall TForm1::Button12Click(TObject *Sender) { Close_Port(eb_fd); T_ebRec->Enabled=false; } //--------------------------------------------------------------------------void __fastcall TForm1::Button11Click(TObject *Sender) { aux=EEnv->Text; char* B_ebEnvio = new char[1]; aux = E_ebEnv->Text.SubString(1,1); i_env = 2; strcpy (B_ebEnvio, aux.c_str ()); Write_Port(eb_fd,B_ebEnvio,1); M_Enviado->Lines->Add(B_ebEnvio); T_ebE->Enabled=true; } //--------------------------------------------------------------------------void __fastcall TForm1::T_ebETimer(TObject *Sender) { T_ebE->Enabled=false; char* B2_ebEnvio = new char[1]; aux=E_ebEnv->Text.SubString(i_env,1); strcpy (B2_ebEnvio, aux.c_str ()); Write_Port(eb_fd,B2_ebEnvio,1); M_Enviado->Lines->Add(B2_ebEnvio); i_env = i_env+1; if (i_env != 9) { T_ebE->Enabled=true; } } //--------------------------------------------------------------------------- Anexos Página 167 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez void __fastcall TForm1::Label5MouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { M_ebAyuda->Lines->Clear(); M_ebAyuda->Lines->Add("Ayuda para: Seleccione Puerto Serie (COM)."); M_ebAyuda->Lines->Add("Seleccione el en ComboBox el puerto serie (COM) al que este vinculado su dispositivo bluetooth eb301."); } //--------------------------------------------------------------------------void __fastcall TForm1::Label8MouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { M_ebAyuda->Lines->Clear(); M_ebAyuda->Lines->Add("Ayuda para: Seleccione Baudios."); M_ebAyuda->Lines->Add("Seleccione el en ComboBox la velocidad en baudios a la transmite su dispositivo bluetooth eb301."); } //--------------------------------------------------------------------------void __fastcall TForm1::Label9MouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { M_ebAyuda->Lines->Clear(); M_ebAyuda->Lines->Add("Ayuda para: Seleccione Transmision."); M_ebAyuda->Lines->Add("Seleccione el en ComboBox la configuracion de transmision que utiliza su dispositivo bluetooth eb301."); } //--------------------------------------------------------------------------void __fastcall TForm1::Button10MouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { M_ebAyuda->Lines->Clear(); M_ebAyuda->Lines->Add("Ayuda para: Valor por Defecto."); M_ebAyuda->Lines->Add("Al pulsar el boton, te cambia automaticamente los valores de Baudios y Configuracion de Tranmision a los valores por defecto: "); M_ebAyuda->Lines->Add("Baudios: 9800"); M_ebAyuda->Lines->Add("Configuracion: 8N1"); } //--------------------------------------------------------------------------void __fastcall TForm1::Button9MouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { M_ebAyuda->Lines->Clear(); M_ebAyuda->Lines->Add("Ayuda para: Configurar."); M_ebAyuda->Lines->Add("Al pulsar el boton, configura el puerto serie que tenemos vinculado con nuestro dispositivo bluetooth eb301 para que nos podamos comunicar con el."); Anexos Página 168 Control y monitorización de una plataforma móvil } //--------------------------------------------------------------------------- Adrián Madorrán Ibáñez void __fastcall TForm1::Button12MouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { M_ebAyuda->Lines->Clear(); M_ebAyuda->Lines->Add("Ayuda para: Liberar puerto."); M_ebAyuda->Lines->Add("Al pulsar el boton, liberamos el puerto serie que tenemos vinculado con nuestro dispositivo bluetooth eb301."); } //--------------------------------------------------------------------------void __fastcall TForm1::Button11MouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { M_ebAyuda->Lines->Clear(); M_ebAyuda->Lines->Add("Ayuda para: Enviar."); M_ebAyuda->Lines->Add("Al pulsar el boton, enviamos un comando a nuestro dispositivo bluetooth eb301."); } //--------------------------------------------------------------------------void __fastcall TForm1::E_ebEnvMouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { M_ebAyuda->Lines->Clear(); M_ebAyuda->Lines->Add("Ayuda para: Comando a enviar."); M_ebAyuda->Lines->Add("Aqui escribimos el comando que deseamos enviar a nuestro dispositivo eb301."); } //--------------------------------------------------------------------------void __fastcall TForm1::Label18MouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { M_ebAyuda->Lines->Clear(); M_ebAyuda->Lines->Add("Ayuda para: Recibido."); M_ebAyuda->Lines->Add("Nos aparece representado la respuesta del que el modulo eb301 ofrece a nuestros comandos"); } //--------------------------------------------------------------------------void __fastcall TForm1::Label10MouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { M_ebAyuda->Lines->Clear(); M_ebAyuda->Lines->Add("Ayuda para: Valores de configuracion"); M_ebAyuda->Lines->Add("En el cuadro mostrara con que valores se ha configurado el puerto serie que vamos a utilizar."); Anexos Página 169 Control y monitorización de una plataforma móvil } //--------------------------------------------------------------------------- Adrián Madorrán Ibáñez void __fastcall TForm1::Image2MouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { M_ebAyuda->Lines->Clear(); M_ebAyuda->Lines->Add("Ayuda para: Conexion cable FTDI"); M_ebAyuda->Lines->Add("La imagen nos muestra como conectar el cable FTDI al modulo eb301"); } //--------------------------------------------------------------------------void __fastcall TForm1::TB_VelChange(TObject *Sender) { if (TB_Vel->Position*-1 <= 2047) { TB_Giro->Max = 2047-TB_Vel->Position*-1; TB_Giro->Min = TB_Giro->Max*-1; } else { TB_Giro->Max = TB_Vel->Position*-1-2047; TB_Giro->Min = TB_Giro->Max*-1; } E_M1->Text= M1.IntToHex(TB_Vel->Position*-1+4096,4); E_M2->Text= M2.IntToHex(TB_Vel->Position*-1+36864,4); Shape4->Top = 185 + (2047-TB_Vel->Position*-1)/13.65; } //--------------------------------------------------------------------------void __fastcall TForm1::TB_GiroChange(TObject *Sender) { Shape4->Left = 185 + TB_Giro->Position/13.65; if ((TB_Giro->Position<0)&&(TB_Vel->Position*-1>2047)) { E_M1->Text = M1.IntToHex(TB_Vel->Position*-1+TB_Giro->Position+4096,4); } if ((TB_Giro->Position<0)&&(TB_Vel->Position*-1<2047)) { E_M1->Text = M1.IntToHex(TB_Vel->Position*-1-TB_Giro->Position+4096,4); } if ((TB_Giro->Position>0)&&(TB_Vel->Position*-1>2047)) { E_M2->Text = M2.IntToHex(TB_Vel->Position*-1-TB_Giro->Position+36864,4); Anexos Página 170 Control y monitorización de una plataforma móvil } Adrián Madorrán Ibáñez if ((TB_Giro->Position>0)&&(TB_Vel->Position*-1<2047)) { E_M2->Text = M2.IntToHex(TB_Vel->Position*-1+TB_Giro->Position+36864,4); } } //--------------------------------------------------------------------------- void __fastcall TForm1::Button13Click(TObject *Sender) { auxvisual=E_M1->Text+E_M2->Text; aux=auxvisual; if(strcmp(aux.c_str(), "17FF97FF")==0) { Shape3->Brush->Color=clRed; Label13->Caption="Sistema Parado"; } else { Shape3->Brush->Color=clLime; Label13->Caption="Sistema en Marcha"; } char* B_Enviov = new char[1]; aux = auxvisual.SubString(1,1); i_env = 2; strcpy (B_Enviov, aux.c_str ()); Write_Port(h_fd,B_Enviov,1); M_Enviado->Lines->Add(B_Enviov); T_Visual->Enabled=true; } //--------------------------------------------------------------------------void __fastcall TForm1::T_VisualTimer(TObject *Sender) { T_Visual->Enabled=false; char* B2_Enviov = new char[1]; aux=auxvisual.SubString(i_env,1); strcpy (B2_Enviov, aux.c_str ()); Write_Port(h_fd,B2_Enviov,1); M_Enviado->Lines->Add(B2_Enviov); i_env = i_env+1; if (i_env != 9) { T_Visual->Enabled=true; } } //--------------------------------------------------------------------------- Anexos Página 171 Control y monitorización de una plataforma móvil 3.1.5.1.3 Librería puerto serie. Adrián Madorrán Ibáñez La biblioteca "Linux Communication" (LnxComm) está diseñada para brindar un apoyo a los programadores que estén relacionados con el diseño y construcción de hardware. LnxComm nos permite crear una conexión con el puerto serie mediante unas pocas lineas de código. Otra de las ventajas de esta biblioteca es que nos permite crear programas que podrán ser compilados en sistemas operativos GNULINUX y WINDOWS brindando así mayor portabilidad a nuestros programas. La biblioteca está completamente desarrollada en Lenguaje C. A continuación se exponen las funciones que nos ofrece la librería: Anexos Página 172 Control y monitorización de una plataforma móvil Anexos Adrián Madorrán Ibáñez Página 173 Control y monitorización de una plataforma móvil Anexos Adrián Madorrán Ibáñez Página 174 Control y monitorización de una plataforma móvil Anexos Adrián Madorrán Ibáñez Página 175 Control y monitorización de una plataforma móvil Anexos Adrián Madorrán Ibáñez Página 176 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez 3.1.5.2 Aplicación en teléfono móvil. Otra de las formas que tiene el usuario de controlar la plataforma es mediante una aplicación en un teléfono móvil, descargada gratuitamente. La contra de este método es que el usuario tiene que estar experimentado en el uso de la plataforma. 3.1.5.2.1 Sistema operativo Android. Android es un sistema operativo móvil basado en Linux, que junto con aplicaciones middleware está enfocado para ser utilizado en dispositivos móviles como teléfonos inteligentes, tabletas, Google TV y otros dispositivos. Es desarrollado por la Open Handset Alliance, la cual es liderada por Google. Este sistema por lo general maneja aplicaciones como Market (Marketing) o su actualización, PlayStore. Fue desarrollado inicialmente por Android Inc., una firma comprada por Google en 2005. Es el principal producto de la Open Handset Alliance, un conglomerado de fabricantes y desarrolladores de hardware, software y operadores de servicio.10 Las unidades vendidas de teléfonos inteligentes con Android se ubican en el primer puesto en los Estados Unidos, en el segundo y tercer trimestres de 2010, con una cuota de mercado de 43,6% en el tercer trimestre. A nivel mundial alcanzó una cuota de mercado del 50,9% durante el cuarto trimestre de 2011, más del doble que el segundo sistema operativo (iOS de iPhone) con más cuota. Tiene una gran comunidad de desarrolladores escribiendo aplicaciones para extender la funcionalidad de los dispositivos. A la fecha, se han sobrepasado las 400.000 aplicaciones (de las cuales, dos tercios son gratuitas) disponibles para la tienda de aplicaciones oficial de Android: Google Play, sin tener en cuenta aplicaciones de otras tiendas no oficiales para Android, como pueden ser la App Store de Amazon o la tienda de aplicaciones Samsung Apps de Samsung. Google Play es la tienda de aplicaciones en línea administrada por Google, aunque existe la Anexos Página 177 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez posibilidad de obtener software externamente. Los programas están escritos en el lenguaje de programaciónJava. No obstante, no es un sistema operativo libre de malware, aunque la mayoría de ello es descargado de sitios de terceros. El anuncio del sistema Android se realizó el 5 de noviembre de 2007 junto con la creación de la Open Handset Alliance, un consorcio de 78 compañías de hardware, software y telecomunicaciones dedicadas al desarrollo de estándares abiertos para dispositivos móviles. Google liberó la mayoría del código de Android bajo la licencia Apache, una licencia libre y de código abierto. La estructura del sistema operativo Android se compone de aplicaciones que se ejecutan en un framework Java de aplicaciones orientadas a objetos sobre el núcleo de las bibliotecas de Java en una máquina virtual Dalvik con compilación en tiempo de ejecución. Las bibliotecas escritas en lenguaje C incluyen un administrador de interfaz gráfica (surface manager), un framework OpenCore, una base de datos relacional SQLite, una Interfaz de programación de API gráfica OpenGL ES 2.0 3D, un motor de renderizado WebKit, un motor gráfico SGL, SSL y una biblioteca estándar de C Bionic. El sistema operativo está compuesto por 12 millones de líneas de código, incluyendo 3 millones de líneas de XML, 2,8 millones de líneas de lenguaje C, 2,1 millones de líneas de Java y 1,75 millones de líneas de C++. Ilustración 92: Android. 3.1.5.2.2 Aplicación S2 Bluetooth Terminal2. Esta aplicación es para Android OS2.1 o posterior. Se conecta con el dispositivo Bluetooth mediante RFCOMM(SPP). Es reprogramación de BluetoothChat (código de ejemplo de android.com). Se puede descargar gratuitamente desde Android Market del propio teléfono móvil. Ilustración 93: S2 Bluetooth Terminal2. Anexos Página 178 Control y monitorización de una plataforma móvil 3.2 Cálculos. Adrián Madorrán Ibáñez 3.2.1 Cálculo de velocidad de motores y plataforma. Ilustración 94: Cálculo 1. Velocidad del vehículo: - 43.524 in/sec = 110.55 cm/sec = 3.96 km/h 3.2.2 Cálculo de la resistencia del led de la placa de control distribuido. Datos iniciales: - Anexos Tensión de alimentación: 5V. Tensión del diodo: 1.7V. Corriente del diodo: 10mA. Página 179 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Ilustración 95: Cálculo 2. 3.3 Anexos de aplicación en el ámbito del proyecto distintos de los indicados en el documento básico: “Estudios con entidad propia”. No existen anexos de aplicación en el ámbito del proyecto distintos a los indicados en el documento Estudios con entidad propia. Anexos Página 180 Control y monitorización de una plataforma móvil 3.4 Otros documentos. Adrián Madorrán Ibáñez 3.4.1 Manuales de usuario. Se han desarrollado unos manuales de ayuda para el usuario. 3.4.1.1 Manual de usuario para control desde PC. Este manual este diseñado para comenzar a utilizar la plataforma desde un PC para nuevos usuarios con un programa de software creado específicamente para ello.. 3.4.1.1.1 Necesidades iniciales. Inicialmente se necesitará: - Un ordenador con Window XP, Vista o 7. Que el ordenador disponga de comunicación blutooth ya sea integrada o por USB. Tener vinculado el modulo eb101 con el teléfono a utilizar (la contraseña de vinculación es 0000). 3.4.1.1.2 Conexión con la plataforma. Abrimos el programa de software de usuario específico para este proyecto y lo primero que nos encontramos es la pestaña de bienvenida: Anexos Página 181 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Ilustración 96: Software Plataforma. Pulsamos en Continuar y pasaremos a la pestaña de establecimiento de la comunicación. Ilustración 97: Software Plataforma 2. Anexos Página 182 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Aquí disponemos de varios botones, combobox y cuadros de dialogo que pasaremos a comentar a continuación. Ilustración 98: Software Plataforma 3. Zona 1: Combobox de configuración del puerto. Podemos seleccionar el puerto donde tenemos vinculado el modulo bluetooth (en nuestro caso COM4). Podemos seleccionar los baudios de comunicación (por defecto 9600). Podemos configurar el tipo de transmisión (por defecto 8N1). Si pulsamos en el botón ? obtendremos la ayuda para el tipo de transmisión: Ilustración 99: Software Plataforma 4. Anexos Página 183 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Zona 2: Botón Por Defecto. Nos cambia, al pinchar, los valores por defecto que tenemos en la zona 1 (Baudios: 9600, Transmisión: 8N1). Zona 3: Botón Configurar. Una vez que tenemos seleccionados los valores de la Zona 1, pinchamos en el botón para configurar el puerto que vamos a usar. Zona 4: Cuadro de ayuda. En este cuadro, aparecerán diálogos de ayuda con solo posicionar el ratón encima de los nombres de los botones, combobox o cuadros. Zona 5: Valores de configuración y valores por defecto. En el cuadro de valores por defecto, tenemos los valores predefinidos si no se han variado las configuraciones. En el cuadro valores de configuración aparecerán, una vez pulsado el botón Configurar, los valores que se están usando en la comunicación con el puerto. Zona 6: Botón eb101: configurar. Con este botón, pasaremos directamente a la pestaña de configuración del eb101 desde donde podremos variar sus parámetros. Se explicará más adelante. Imagen de nuestra configuración: Ilustración 100: Software Plataforma 5. Una vez configurado el puerto si no ha habido errores, aparecerá un nuevo botón: Anexos Página 184 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Ilustración 101: Software Plataforma 6. Este botón, es el de Establecer Comunicación que nos permitirá conectarnos con la plataforma. 3.4.1.1.3 Control de la plataforma. Una vez establecida la comunicación con la plataforma, automáticamente sino existen errores se habilitarán todas las pestañas y nos llevara a la pestaña de control: Anexos Página 185 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Ilustración 102: Software Plataforma 7. Lo primero que llama la atención es un cuadro verde en el que pone Sistema con conexión. Si es sistema perdiese la conexión el cuadro se tornaría rojo y aparecerá Sistema sin conexión. Debajo tenemos un cuadro rojo que pone Sistema Parado. Cuando la plataforma este parada aparecerá así, mientras en el momento en el que enviemos un dato de movimiento, tornará verde y pondrá Sistema en movimiento. Existen dos zonas diferenciadas en la pestaña: Modo Manual y Modo Visual. Anexos Página 186 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Ilustración 103: Software Plataforma 8. La Zona 1 es la zona del Modo Manual y la Zona 4 es la zona del Modo Visual. En cuanto a la Zona 1 (Modo Manual): Zona 2: Zona de envio de datos. Escribiremos el dato en el cuadro de texto y pulsaremos en botón Enviar. El tipo de dato que debemos enviar lo podemos ver pulsando en el botón ?: Ilustración 104: Software Plataforma 9. Los valores variaran hexadecimalmente entre 000 y FFF siendo: - Anexos 7FF: motor parado. FFF: motor a máxima tensión hacia adelante. 000: motor a máxima tensión hacia atrás. Página 187 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Zona 3: Zona de recepción de datos. Aquí se muestran los valores leídos de los encoders. Podemos parar la lectura o comenzarla una vez parada con los botones de la parte inferior. En el modo de recibo de datos, podemos poner la lectura manual o automática. No es recomendable ponerla manual ya que se puede saturar de datos la pila de entrada del puerto. Por ejemplo, ponemos la plataforma a máxima velocidad: Ilustración 105: Software Plataforma 10. El sistema se pone en marcha: Anexos Página 188 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Ilustración 106: Software Plataforma 11. Recibimos la lectura de los encoders: Ilustración 107: Software Plataforma 12. En cuanto a la Zona 4 (Modo Visual): Anexos Página 189 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Zona 5: Zona de representación de trayectoria. En el cuadro existe un punto negro que nos indica la trayectoria teórica que va a seguir la plataforma. Los cuadros de texto denominados X e Y nos muestras las coordenadas del punto dentro del recuadro siendo 150 el máximo y -150 en mínimo. Zona 6: Barra de velocidad. Con esta barra se puede regular la velocidad en línea recta de la plataforma. Zona 7: Barra de giro. Con esta barra podemos regular el giro que realiza la plataforma. Zona 8: Botón Enviar. Al pulsarlo enviaremos los datos de movimiento a la plataforma que estén representados en las barras de velocidad y giro. Zona 9: Representación de dato enviado. En los cuadros se representa la velocidad enviada a los motores en código hexadecimal. Movemos la barra de velocidad: Ilustración 108: Software Plataforma 13. Y la barra de velocidad: Anexos Página 190 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Ilustración 109: Software Plataforma 14. Otras zonas que podemos apreciar: Zona 10: Representación de lectura de los encoders. Aquí se muestras las lecturas de los encoders tanto en Modo Manual como en Modo Visual. Zona 11: Botón parada de emergencia. Este botón para automáticamente la plataforma. Pulsamos el botón de parada de emergencia: Anexos Página 191 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Ilustración 110: Software Plataforma 15. 3.4.1.1.4 Configuración eb101. En la pestaña eb101, podemos conectarnos a través del cable FTDI con el módulo eb101 desde la propia aplicación y poder varias sus parámetros. Ilustración 111: Software Plataforma 16. Anexos Página 192 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Al igual que en la pestaña de Configuración, aquí podemos seleccionar la configuración del puerto. En los combobox seleccionamos el número de puerto, su velocidad en baudios y el tipo de transmisión que tenemos. El botón Por Defecto nos pondrá automáticamente la velocidad a 9600 baudios y el tipo de transmisión en 8N1. Una vez que tengamos seleccionados los parámetros, pulsamos en botón Configurar. Disponemos de un cuadro de texto para enviar comandos al módulo eb101. Para saber que comandos enviar, revise la documentación del eb101. En el memo se mostrarán los datos recibidos del módulo al PC. En la imagen, se puede apreciar cómo se conecta el cable al módulo. Cuadro de ayuda. En este cuadro, aparecerán diálogos de ayuda con solo posicionar el ratón encima de los nombres de los botones, combobox o cuadros. 3.4.1.1.5 Histórico de datos. La última pestaña es un histórico de datos donde se pueden ver los datos recibidos y enviados en dos memos diferentes. El usuario tiene la posibilidad de borrar los memos, guardarlos o carga un histórico: Anexos Página 193 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Ilustración 112: Software Plataforma 17. Anexos Página 194 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez 3.4.1.2 Manual de usuario para control desde teléfono móvil. Este manual este diseñado para comenzar a utilizar la plataforma desde un teléfono móvil para usuarios ya experimentados en el uso de dicha plataforma. 3.4.1.2.1 Necesidades iniciales. Inicialmente necesitamos una serie de requisitos: - Tener experiencia previa en el uso de la plataforma, para conocer como se mueve y como se comporta. Teléfono móvil con comunicación bluetooth. App para el teléfono que nos permita comunicaciones bluetooth. Tener vinculado el modulo eb101 con el teléfono a utilizar (la contraseña de vinculación es 0000). En este manual se ha utilizado: - Terminal Samsung Galaxy Spica (i5700) con sistema operativo Android 2.1. App: S2 Terminal Bluetooth2. A continuación se enseñara como descargar la aplicación desde el teléfono y como enviar los comandos necesarios para la inicialización de la comunicación con la plataforma y que comandos son necesarios para que se mueva. 3.4.1.2.2 Descarga de la aplicación. Una vez que disponemos de conexión de datos en el móvil o conexión WIFI nos disponemos a descargar la aplicación. Para ello, entramos en la App Market de Android: Anexos Página 195 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Ilustración 113: Market Android. Y buscamos S2 Bluetooth Terminal2: Ilustración 114: Market Android 2. Anexos Página 196 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Una vez encontrada la App, la descargamos gratuitamente: Ilustración 115: Market Android 3. Ya tenemos lista la App para poder trabajar con ella. 3.4.1.2.3 Conexión con la plataforma. Lo primero que hacemos en conectar la conexión bluetooth de nuestro teléfono móvil. Si no lo hemos hecho al iniciar la aplicación nos aparecerá lo siguiente: Anexos Página 197 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Ilustración 116: S2 Bluetooth Terminal2. Pulsamos en Si y se nos conectara la comunicación bluetooth automáticamente. Una vez que ya tenemos la aplicación abierta no estamos conectados a ningún dispositivo: Anexos Página 198 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Ilustración 117: S2 Bluetooth Terminal2 2. Para conectarnos al modulo de la plataforma, desplegamos el menú de la aplicación y pulsamos en Connect a device: Ilustración 118: S2 Bluetooth Terminal2 3. Anexos Página 199 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Se nos desplegará a continuación la lista de dispositivos que tenemos vinculados con el dispositivo móvil. Pulsamos en eb101: Ilustración 119: S2 Bluetooth Terminal2 4. Ahora ya tenemos conexión directa con la plataforma. Anexos Página 200 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Ilustración 120: S2 Bluetooth Terminal2 5. 3.4.1.2.4 Establecimiento de la comunicación y uso. Una vez establecida la conexión, deberemos sincronizarnos manualmente con la plataforma. Para ello deberemos enviar una trama con las siguientes características: - La trama tendrá 8 caracteres ASCII. El primer carácter de la trama siempre deberá ser @ de lo contrario no conseguiremos que la plataforma lo identifique. Los 7 siguientes caracteres pueden ser cualquier carácter ASCII imprimible. Por ejemplo: en este caso enviamos @010101234: Anexos Página 201 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Ilustración 121: S2 Bluetooth Terminal2 6. La plataforma nos devolverá la trama enviada para que verifiquemos que todo ha llegado bien y que la comunicación funciona correctamente: Ilustración 122: S2 Bluetooth Terminal2 7. Anexos Página 202 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Una vez comprobado que las tramas son iguales, deberemos enviar una trama de confirmación que dispondrá de: - La trama será de 8 caracteres ASCII. El primer carácter siempre será una ? de lo contrario no conseguiremos que la plataforma lo identifique. Los 7 siguientes caracteres pueden ser cualquier carácter ASCII imprimible. Por ejemplo: en este caso enviamos ????????: Ilustración 123: S2 Bluetooth Terminal2 8. Ahora no nos devolverá nada y la plataforma estará lista para recibir comandos de movimiento para los motores. Para el movimiento de los motores deberemos tener en cuenta lo siguiente: - Anexos La trama de envío se compondrá de 8 caracteres ASCII. El primer carácter siempre es un 1 y el quinto carácter siempre es un 9: 1xxx9yyy. Los valores de xxx e yyy serán los que nos variaran la tensión a los motores de a cuerdo a: o Los valores variaran hexadecimalmente entre 000 y FFF siendo: Página 203 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez 7FF: motor parado. FFF: motor a máxima tensión hacia adelante. 000: motor a máxima tensión hacia atrás. o Pudiendo tomar cualquier valor hexadecimal entre 000 y FFF. Después de enviar la trama de movimiento, la plataforma nos devolverá la lectura de los encoders. Secuencia de ejemplo: - Enviamos 17FF97FF que nos para la plataforma: Ilustración 124: S2 Bluetooth Terminal2 9. - Anexos Recibimos la lectura de los encoders: Página 204 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Ilustración 125: S2 Bluetooth Terminal2 10. - Enviamos 1FFF9FFF que nos pone los motores a máxima tensión hacia adelante: Ilustración 126: S2 Bluetooth Terminal2 11. Anexos Página 205 Control y monitorización de una plataforma móvil - Recibimos lectura de los encoders: Adrián Madorrán Ibáñez Ilustración 127: S2 Bluetooth Terminal2 12. - Enviamos 17FF97FF que nos para los motores: Ilustración 128: S2 Bluetooth Terminal2 13. Anexos Página 206 Control y monitorización de una plataforma móvil - Recibimos lectura de los encoders: Adrián Madorrán Ibáñez Ilustración 129: S2 Bluetooth Terminal2 14. - Enviamos 10009000 que nos pone los motores a máxima tensión hacia atrás: Ilustración 130: S2 Bluetooth Terminal2 15. Anexos Página 207 Control y monitorización de una plataforma móvil - Recibimos lectura de los encoders: Adrián Madorrán Ibáñez Ilustración 131: S2 Bluetooth Terminal2 16. NOTA: Se deben de enviar los caracteres ASCII de uno en uno, ya que la pila del PIC32 es solo de 4 bytes y puede saturarse. Anexos Página 208 Control y monitorización de una plataforma móvil 3.4.2 Contenido del CD. Adrián Madorrán Ibáñez A continuación se detalla la información anexa en el CD ordenada por carpetas: DOCUMENTO: Carpeta que contiene este documento. ANEXOS: Carpeta que contiene anexos de especial relevancia por la importancia en este proyecto. DATASHEETS: Carpeta que contiene los datasheets de los componentes utilizados asi como guias y manuales de uso de los mismos. DISEÑO DE PLACAS: Carpeta que contiene los archivos generados por ORCAD para la creación de las placas de control distribuido. MANUALES USUARIO: Carpeta que contiene los manuales de usuario separados del documento. PROGRAMA PIC32: Carpeta que contiene el programa que se ejecuta en el PIC32. PROGRAMA PIC 16F877: Carpeta que contiene el programa que se ejecuta en el PIC 16F877. SOFTWARE DE PC: Carpeta que contiene el software con el que el usuario puede la plataforma desde PC. PLANOS: Carpeta que contiene todos los planos en formato PDF por separado del documento. Anexos Página 209 4 Planos Director: D. Carlos Elvira Izurrategui Departamento de Ingeniería Eléctrica Universidad de La Rioja Alumno: Adrián Madorrán Ibáñez Ingeniería Técnica Industrial especializada en Electrónica Industrial Universidad de La Rioja Título: Control y programación de una plataforma móvil Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Índice de planos 4 Planos ……………………………………………………………………………………………………………..210 4.1 Circuito eléctrico de la placa de control distribuido: P1…………………………………… 212 4.2 Circuito impreso para la placa de control distribuido: P2…………………………………. 213 Planos Página 211 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez 4.1 Circuito eléctrico de la placa de control distribuido: P1. Planos Página 212 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez 4.2 Circuito impreso para la placa de control distribuido: P2. Planos Página 213 5 Pliego de condiciones Director: D. Carlos Elvira Izurrategui Departamento de Ingeniería Eléctrica Universidad de La Rioja Alumno: Adrián Madorrán Ibáñez Ingeniería Técnica Industrial especializada en Electrónica Industrial Universidad de La Rioja Título: Control y programación de una plataforma móvil Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Índice del pliego de condiciones 5 Pliego de condiciones……………………………………………………………………………………….. 214 5.1 Especificaciones de materiales y elementos constitutivos del objeto del proyecto. ………………………………………………………………………………………………………………………….. 216 5.1.1 Listado completo………………………………………………………………………………….. 216 5.1.2 Calidades mínimas a exigir……………………………………………………………………. 221 5.1.3 Pruebas y ensayos a que debe someterse……………………………………………. 222 5.2 Reglamentación y normativa aplicable incluyendo recomendaciones y normas de no obligado cumplimiento……………………………………………………………………………………………… 222 5.3 Aspectos del contrato……………………………………………………………………………………….. 222 5.3.1 Documentación base para la contratación de su materialización…………. 223 5.3.2 Limitaciones en los suministros…………………………………………………………… 223 5.3.3 Criterios para las modificaciones al proyecto original…………………………… 225 Pliego de condiciones Página 215 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez 5.1 Especificaciones de materiales y elementos constitutivos del objeto del proyecto. 5.1.1 Listado completo. A continuación se expondrá un listado completo de materiales y elementos constitutivos del objeto del Proyecto: CÓDIGO UD RESUMEN REND. MED. TOTAL ____________________________________________________________________________________________ M01 C01 u M02 C01 u M03 C01 u M04 C01 u M05 C01 u M06 C01 u M07 C01 u M08 C01 u M09 C01 u M10 C02 u KIT A4WD1V2 ROBOT PLATAFORMA 1,000 1,000 1,000 __________ 1,000 CONECTOR HEXAGONAL DE 12MM A 6MM PLATAFORMA 1,000 1,000 1,000 __________ 1,000 CABLE CONECTOR BATERÍA CON CONMUTADOR PLATAFORMA 1,000 1,000 1,000 __________ 1,000 MOTOR 7.2V 50:1 175RPM PLATAFORMA 4,000 1,000 4,000 __________ 4,000 RUEDA TODOTERRENO PLATAFORMA 2,000 1,000 2,000 __________ 2,000 ENCODER DIGITAL PLATAFORMA 4,000 1,000 4,000 __________ 4,000 ETAPA DE POTENCIA SABERTOOTH 2X5A PLATAFORMA 2,000 1,000 2,000 __________ 2,000 BATERÍA LIPO 3.7V 2100 MAH PLATAFORMA 4,000 1,000 4,000 __________ 4,000 CONECTOR TAMIYA PLATAFORMA 2,000 1,000 2,000 __________ 2,000 PIC32 STARTER KIT CONTROL PRINCIPAL 1,000 1,000 1,000 __________ 1,000 Pliego de condiciones Página 216 Control y monitorización de una plataforma móvil M11 C02 u M12 C02 u M13 C03 u M14 C03 u M15 C03 u M16 C02 C03 u M17 C02 C03 u M18 C02 C03 u M19 C03 u M20 C03 u M21 C03 u M22 C03 u M23 C03 u M24 C03 u STARTER KIT I/O EXPANSION BOARD CONTROL PRINCIPAL Adrián Madorrán Ibáñez 1,000 1,000 1,000 __________ 1,000 TIRA DE 32 PINES TORNEADOS CONTROL PRINCIPAL 5,000 1,000 5,000 __________ 5,000 PIC16F877 CONTROL DISTRIBUIDO 2,000 1,000 2,000 __________ 2,000 PLACA COBRE PARA INSOLAR 70X85MM CONTROL DISTRIBUIDO 2,000 1,000 2,000 __________ 2,000 ZÓCALO 40 PATILLAS CONTROL DISTRIBUIDO 2,000 1,000 2,000 __________ 2,000 ZÓCALO 14 PATILLAS CONTROL PRINCIPAL CONTROL DISTRIBUIDO 1,000 2,000 1,000 1,000 1,000 2,000 __________ 3,000 MCP4922 CONTROL PRINCIPAL CONTROL DISTRIBUIDO 1,000 2,000 1,000 1,000 1,000 2,000 __________ 3,000 TLE2425 CONTROL PRINCIPAL CONTROL DISTRIBUIDO 1,000 2,000 1,000 1,000 1,000 2,000 __________ 3,000 LED VERDE 5MM CONTROL DISTRIBUIDO 2,000 1,000 2,000 __________ 2,000 RESISTENCIA 330 OHMS CONTROL DISTRIBUIDO 2,000 1,000 2,000 __________ 2,000 RESISTENCIA 1K OHMS CONTROL DISTRIBUIDO 2,000 1,000 2,000 __________ 2,000 RESISTENCIA 10K OHMS CONTROL DISTRIBUIDO 2,000 1,000 2,000 __________ 2,000 DIODO D1N4007 CONTROL DISTRIBUIDO 2,000 1,000 2,000 __________ 2,000 CONDENSADOR CERÁMICO 2.2uF CONTROL DISTRIBUIDO 6,000 1,000 6,000 __________ 6,000 Pliego de condiciones Página 217 Control y monitorización de una plataforma móvil M25 C03 u M26 C03 u M27 C03 u M28 C03 u M29 C03 u M30 C03 u M31 C03 C04 u M32 C03 u M33 C03 u M34 C03 u CONDENSADOR CERÁMICO 22pF CONTROL DISTRIBUIDO Adrián Madorrán Ibáñez 4,000 1,000 4,000 __________ 4,000 CRISTAL OSCILADOR 20 MHZ CONTROL DISTRIBUIDO 2,000 1,000 2,000 __________ 2,000 PULSADOR 6 PATILLAS Y 2 POSICIONES CONTROL DISTRIBUIDO 2,000 1,000 2,000 __________ 2,000 CONECTOR CI MACHO 8 PINES CONTROL DISTRIBUIDO 6,000 1,000 6,000 __________ 6,000 CONECTOR CI HEMBRA 8 PINES CONTROL DISTRIBUIDO 6,000 1,000 6,000 __________ 6,000 CONECTOR CI MACHO 6 PINES CONTROL DISTRIBUIDO 2,000 1,000 2,000 __________ 2,000 CONECTOR CI HEMBRA 6 PINES CONTROL DISTRIBUIDO COMUNICACIONES 2,000 2,000 1,000 1,000 2,000 2,000 __________ 4,000 CONECTOR CI MACHO 5 PINES CONTROL DISTRIBUIDO 2,000 1,000 2,000 __________ 2,000 CONECTOR CI HEMBRA 5 PINES CONTROL DISTRIBUIDO 2,000 1,000 2,000 __________ 2,000 CONECTOR CI MACHO 4 PINES CONTROL DISTRIBUIDO 2,000 1,000 2,000 __________ 2,000 M35 C03 u M36 C03 u M37 C03 u M38 C03 u CONECTOR CI HEMBRA 4 PINES CONTROL DISTRIBUIDO 2,000 1,000 2,000 __________ 2,000 CONECTOR CI MACHO 3 PINES CONTROL DISTRIBUIDO 2,000 1,000 2,000 __________ 2,000 CONECTOR CI HEMBRA 3 PINES CONTROL DISTRIBUIDO 2,000 1,000 2,000 __________ 2,000 CONECTOR CI MACHO 2 PINES CONTROL DISTRIBUIDO 8,000 1,000 8,000 __________ 8,000 Pliego de condiciones Página 218 Control y monitorización de una plataforma móvil M39 C03 u M40 C03 u M41 C03 C04 u M42 C03 u M43 C03 u M44 C04 u M45 C04 u M46 C04 u M47 C04 m M48 C01 m M49 C05 u M50 C05 m M51 C05 m M52 C05 m CONECTOR CI HEMBRA 2 PINES CONTROL DISTRIBUIDO Adrián Madorrán Ibáñez 8,000 1,000 8,000 __________ 8,000 PIN CABLE PARA CONECTOR CI CONTROL DISTRIBUIDO 41,000 1,000 41,000 __________ 41,000 PIN 2,54MM CONTROL DISTRIBUIDO COMUNICACIONES 16,000 3,000 1,000 1,000 16,000 3,000 __________ 19,000 TORNILLO DE ACERO PHILIPS 4X12MM CONTROL DISTRIBUIDO 6,000 1,000 6,000 __________ 6,000 TUERCA ACERO 4MM CONTROL DISTRIBUIDO 6,000 1,000 6,000 __________ 6,000 MÓDULO BLUETOOTH EB301 COMUNICACIONES 1,000 1,000 1,000 __________ 1,000 CABLE FTDI COMUNICACIONES 1,000 1,000 1,000 __________ 1,000 USB BLUETOOTH NW545 COMUNICACIONES 1,000 1,000 1,000 __________ 1,000 CABLE APANTALLADO MULTICONDUCTOR COMUNICACIONES 0,600 1,000 0,600 __________ 0,600 CABLE DOBLE COBRE PLATAFORMA 0,300 1,000 0,300 __________ 0,300 CARGADOR BATERIAS LIPO ELEMENTOS AUXILIARES 1,000 1,000 1,000 __________ 1,000 CABLE MULTIFIBRILAR ROJO ELEMENTOS AUXILIARES 0,300 1,000 0,300 __________ 0,300 CABLE MULTIFIBRILAR NEGRO ELEMENTOS AUXILIARES 0,300 1,000 0,300 __________ 0,300 CABLE MULTIFIBRILAR BLANCO ELEMENTOS AUXILIARES 0,300 1,000 0,300 __________ 0,300 Pliego de condiciones Página 219 Control y monitorización de una plataforma móvil M53 C05 m M54 C05 m M55 C05 m M56 C05 m M57 C05 m M58 C05 m M59 C05 u M60 C05 m M61 C05 m M62 C05 u M63 C05 m M64 C02 u M65 C05 m CABLE MULTIFIBRILAR AMARILLO ELEMENTOS AUXILIARES Adrián Madorrán Ibáñez 0,300 1,000 0,300 __________ 0,300 CABLE MULTIFIBRILAR AZUL ELEMENTOS AUXILIARES 0,300 1,000 0,300 __________ 0,300 CABLE MULTIFIBRILAR VIOLETA ELEMENTOS AUXILIARES 0,300 1,000 0,300 __________ 0,300 CABLE MULTIFIBRILAR NARANJA ELEMENTOS AUXILIARES 0,300 1,000 0,300 __________ 0,300 CABLE MULTIFIBRILAR MARRÓN ELEMENTOS AUXILIARES 0,300 1,000 0,300 __________ 0,300 CABLE MULTIFIBRILAR GRIS ELEMENTOS AUXILIARES 0,300 1,000 0,300 __________ 0,300 BRIDA BLANCA ELEMENTOS AUXILIARES 10,000 1,000 10,000 __________ 10,000 CINTA AISLANTE NEGRA ELEMENTOS AUXILIARES 0,500 1,000 0,500 __________ 0,500 CINTA ADHESIVA DOBLE CARA ELEMENTOS AUXILIARES 0,100 1,000 0,100 __________ 0,100 PEGATINA BLANCA ELEMENTOS AUXILIARES 2,000 1,000 2,000 __________ 2,000 ESTAÑO ELEMENTOS AUXILIARES 0,100 1,000 0,100 __________ 0,100 EUROPLACA CONTROL PRINCIPAL 2,000 1,000 2,000 __________ 2,000 TUBO TERMORRETRACTIL ELEMENTOS AUXILIARES 0,500 1,000 0,500 __________ 0,500 Pliego de condiciones Página 220 Control y monitorización de una plataforma móvil 5.1.2 Calidades mínimas a exigir. Adrián Madorrán Ibáñez Las calidades mínimas a exigir en materiales comprados serán las que el fabricante proporcione. En cuanto a las calidades mínimas de los elementos a fabricar, en las placas que alojaran el PIC 16F877 de control distribuido se deberá tener en cuenta: - Las placas serán de cobre con un grosor mínimo de 1.6mm. - La pista de cobre deberá tener un grosor mínimo de 35μm. - Las pistas de cobre deberá tener una anchura mínima de 0.5mm. Se deberán colocar obligatoriamente los condensadores C1D y C2D ya que eliminan el ruido en la alimentación del circuito. Se deberá colocar obligatoriamente los condensadores C3XTAL y C4XTAL ya que eliminan el ruido en la frecuencia de oscilación del cristal. A la hora de la elaboración del cable que conectará el PIC32 con el PIC 16F877 se deberá tener en cuenta: El cable obligatoriamente deberá ser apantallado, conectando la pantalla a la masa de ambas placas. - Los cables deberán ser mínimo de 1mm de diámetro y de aluminio. - Se deberá proteger las soldaduras con tubo termorretractil. - Se deberá dejar el mínimo de cable sin apantallar. En cuanto a la realización del cable que conectará el módulo eb301 con el PIC32: Los cables deberán ser, mínimo, de 1mm de diámetro multifibrilar de aluminio. - Las soldaduras deberán ir protegidas con tubo termorretractil. Pliego de condiciones Página 221 Control y monitorización de una plataforma móvil 5.1.3 Pruebas y ensayos a que debe someterse. Adrián Madorrán Ibáñez Los materiales suministrados por otros fabricantes no serán sometidos a pruebas o ensayos ya que los fabricantes aseguran que están testeados y funcionan correctamente. En las placas de control distribuido que alojan al PIC 16F877 se deberán realizar las siguientes pruebas una vez fabricadas y taladradas: Test de continuidad para la comprobación de las pistas de cobre. Con ello se comprobará que las pistas están aisladas unas de otras. Una vez soldados los componentes, ser volverá a realizar un test de continuidad para evitar problemas. En los cables de comunicación, tanto del PIC32 al PIC16F877 como el de PIC32 al módulo bluetooth eb101 se deberá realizar la siguiente prueba: Test de continuidad en los extremos para la comprobación de la correcta comunicación. 5.2 Reglamentación y normativa aplicable incluyendo recomendaciones y normas de no obligado cumplimiento. No existe una reglamentación ni normativa aplicable ya que el proyecto tiene un fin académico y no un fin comercial. Tampoco será necesario seguir recomendaciones o normas de no obligado cumplimiento que no hayan sido nombradas en el apartado 5.1.2. 5.3 Aspectos del contrato. A continuación se expondrán los aspectos del contrato que se refieren directamente al Proyecto y que pudieran afectar a su objetivo. Pliego de condiciones Página 222 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez 5.3.1 Documentación base para la contratación de su materialización. Los trabajos a realizar quedarán definidos en los siguientes documentos: - Los Planos. - El Estado de Mediciones. - La Memoria. - Las especificaciones mencionadas en el apartado 5.1. Los demás documentos tienen carácter informativo y no especifican como debe ser la realización de los trabajos. 5.3.2 Limitaciones en los suministros. Se va especificar claramente donde empieza y dónde termina la responsabilidad del suministro y montaje. En caso de limitación de suministros se podrá utilizar otros materiales de acuerdo a los siguientes criterios: Cable conector batería con conmutador: podrá ser sustituida por un cable con conmutador genérico o de otro fabricante siempre y cuando sea compatible. Baterías lipo 3.7V 2100 mAh: podrán ser sustituidas por baterías lipo de menor o mayor capacidad siempre y cuando estén comprendidas en el rango de 1800 mAh y 3000 mAh. También podrán ser sustituidas por baterías lipo de 7.4V con conector Tamiya sin necesidad de que tengan que ser montadas. Etapas de potencia Sabertooth 2x5A: Podrá ser sustituida por etapas de potencia Sabertooth 2x10A. La única diferencia consistirá en que la segunda aguantará hasta corrientes continuas de 10A. PIC32 Starter Kit: Podrá ser sustituido por un PIC32 USB Starter Kit II o por un PIC32 Ethernet Starter Kit. El cambio no supondrá cambios ya que la placa de expansión de puertos seguirá siendo la misma. Pliego de condiciones Página 223 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez PIC 16F877: podrá ser sustituida por un PIC 16F877A equivalente en todo, mismo número de patillas y disposición de ellas. La únicas diferencias entre estos dos microcontroladores son: o El PIC 16F877A tiene una fuente de tensión de referencia (pueden generar una tensión analógica). o El PIC 16F877A tiene comparadores analógicos. o El PIC 16F877A tiene la posibilidad de escribir 14bits en una vez en su memoria flash. Resistencia de 330Ω: podrá ser sustituida por una resistencia de 270Ω, el único cambio consistirá en que el consumo de corriente será mayor y el led lucirá con mayor intensidad. También se podrá sustituir por un potenciómetro ajustado a cualquiera de los dos valores. Resistencia de 1kΩ: podrá ser sustituida por un potenciómetro ajustado a 1kΩ de resistencia. Resistencia de 10kΩ: podrá ser sustituida por un potenciómetro ajustado a 10kΩ de resistencia. Led verde 5mm: podrá ser sustituido por un led de 3mm o un led de 5mm o 3mm de cualquier otro color. Condensador cerámico C5: podrá ser sustituido por un condensador electrolítico de la misma capacidad. Tornillo acero Philips 4x12mm: podrá ser sustituido por tornillos de acero Philips de mayor longitud, pero nunca de menor longitud. USB Bluetooth NW545: podrá ser sustituido por cualquier módulo bluetooth USB de cualquier otro fabricante. Cargador de baterías lipo Fullwat: podrá ser sustituido por cualquier cargador de baterías lipo compatible. Tubo termorretractil negro Ø=3,2mm: podrá ser sustituido por tubo termorretractil de cualquier otro color siempre que el diámetro este comprendido en el rango: min. 2,4mm - máx. 4,8mm. Pliego de condiciones Página 224 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Brida blanca 10cm: podrá ser sustituida por bridas de otro color mientras se mantenga la longitud en 10cm. Estaño sin plomo Ø=0.6mm: podrá ser sustituido por estaño sin plomo de cualquier otro diámetro. Todos los materiales que no hayan sido citados antes no podrán ser modificados para que el objetivo del proyecto se realice satisfactoriamente. Por lo tanto no podrán ser sustituidos por otros materiales. 5.3.3 Criterios para las modificaciones al proyecto original. Si en un futuro se decidiese modificar el proyecto original, se deberán crear en el documento Anexos un capitulo especifico para ello donde queden reflejadas todas y cada una de las modificaciones o adicciones que se vayan a implantar. También deberá quedar reflejado en presupuesto, añadiendo o eliminando materiales y horas de mano de obra. Logroño, a 6 de Junio de 2012. Pliego de condiciones Página 225 6 Estado de mediciones Director: D. Carlos Elvira Izurrategui Departamento de Ingeniería Eléctrica Universidad de La Rioja Alumno: Adrián Madorrán Ibáñez Ingeniería Técnica Industrial especializada en Electrónica Industrial Universidad de La Rioja Título: Control y programación de una plataforma móvil Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Índice de estado de mediciones 6 Estado de mediciones .................................................................................................. 226 6.1 Capítulo 1: Plataforma. ........................................................................................ 228 6.2 Capítulo 2: Control Principal. ............................................................................... 230 6.3 Capítulo 3: Control Distribuido. ........................................................................... 231 6.4 Capítulo 4: Comunicaciones................................................................................. 235 6.5 Capítulo 5: Elementos Auxiliares. ........................................................................ 236 6.6 Capítulo 6: Mano de Obra.................................................................................... 238 Estado de mediciones Página 227 Control y monitorización de una plataforma móvil 6.1 Capítulo 1: Plataforma. Adrián Madorrán Ibáñez CONTROL Y PROGRAMACION DE UNA PLATAFORMA MOVIL CÓDIGO RESUMEN UDS LONGITUD ANCHURA ALTURA PARCIALES CANTIDAD _____________________________________________________________________________________________________________ M01 CAPÍTULO C01 PLATAFORMA u KIT A4WD1V2 ROBOT Fabricante: Lynxmotion. Referencia: A4WD1-01. Contiene: Estructura realizada en aluminio y placas de lexan, dos conectores hexagonales de 12mm a 6mm (HUB-12), cable conector de la batería con conmutador (WH-01), cuatro cables de alimentación para motores (MW-01) y 23 tornillos de montaje (PHS-09). _________________________ M02 u 1,00 CONECTOR HEXAGONAL DE 12MM A 6MM Fabricante: Lynxmotion. Referencia: HUB-12. Fabricados en acero. Distribuidos en parejas. Conversión de medidas de 12mm en las ruedas a 6mm para acople eje de motor. _________________________ M03 u 1,00 CABLE CONECTOR BATERÍA CON CONMUTADOR Fabricante: Lynxmotion. Referencia: WH-01. Fabricados en aluminio con conmutador de dos posiciones. En un extremo presenta un conector Tamiya y en el otro extremo los cables están al aire. _________________________ M04 u 1,00 MOTOR 7.2V 50:1 175RPM Fabricante: Lynxmotion. Referencia: GHM-04. Motor de corriente continua. Funciona a una tensión nominal de 7,2V, contiene una reductora de 50:1 y alcanza una velocidad rotacional de 175rpm. _________________________ M05 u RUEDA TODOTERRENO 4,00 Fabricante: Lynxmotion. Referencia: TRC-01. Fabricados en dos partes, una llanta de polietileno y un neumático todoterreno. Contiene tornillos de montaje. Distribuidos en parejas. _________________________ M06 u ENCODER DIGITAL 2,00 Fabricante: Lynxmotion. Referencia: QME-01. Encoder digital con fijación superficial. 100 ciclos por revolución. 400 pulsos cuadrados por vuelta. Apto para frecuencias de más de 30kHz. Contiene cable de conexión. _________________________ M07 u ETAPA DE POTENCIA SABERTOOTH 2X5A 4,00 Fabricante: Lynxmotion. Referencia: DE-09. Etapa de potencia para controlar dos motores. Soporta corrientes de 10A de pico y 5A continuas. Tensión de alimentación entre 6 y 18 Vdc. _________________________ M08 u BATERÍA LIPO 3.7V 2100 MAH 2,00 Fabricante: VARTA. Referencia: Batería lipo para montaje con terminales de fácil soldadura. Capacidad: 2100 mAh. Tensión: 3,7V. _________________________ 4,00 Estado de mediciones Página 228 Control y monitorización de una plataforma móvil CONTROL Y PROGRAMACION DE UNA PLATAFORMA MOVIL Adrián Madorrán Ibáñez CÓDIGO RESUMEN UDS LONGITUD ANCHURA ALTURA PARCIALES CANTIDAD ______________________________________________________________________________________________________________________________ M09 u CONECTOR TAMIYA Distribuido: Sel. Referencia: BE-6702 COP. Conectores Tamiya. Contiene dos partes, hembra y macho y sus pines para cables. _________________________ M48 m CABLE DOBLE COBRE Distribuido: Sel. Referencia: Cable doble rojo-negro de cobre. Diámetro 2,5mm. 2,00 _________________________ 0,30 Estado de mediciones Página 229 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez 6.2 Capítulo 2: Control Principal. CONTROL Y PROGRAMACION DE UNA PLATAFORMA MOVIL CÓDIGO RESUMEN UDS LONGITUD ANCHURA ALTURA PARCIALES CANTIDAD _____________________________________________________________________________________________________________ M10 CAPÍTULO C02 CONTROL PRINCIPAL u PIC32 STARTER KIT Fabricante: Microchip. Referencia: DM320001. Kit que contiene: microcontrolador PIC32MX360F512L, CD con MPLAB y compilador C32 y cable USB. _________________________ M11 u STARTER KIT I/O EXPANSION BOARD 1,00 Fabricante: Microchip. Referencia: DM320002. Placa de expansión de puertos para Starter Kit. Permite el acceso a todos los puertos del microcontrolador. _________________________ M12 u TIRA DE 32 PINES TORNEADOS Suministrador: RSONLINE. Referencia: 267-7416. Zócalo SIL pin torneado de 32 vías. M17 u MCP4922 Suministrador: RSONLINE. Fabricante: Microchip. Referencia: 402-881. Conversor D/A dual de 12 bits con comunicación SPI. M18 u TLE2425 Suministrador: RSONLINE. Fabricante: Texas Instruments Referencia: 661-9833. Tensión de referencia 2,5V 20mA 3 pins y encapsulado TO-92. M16 u ZÓCALO 14 PATILLAS Suministrador: RSONLINE. Referencia: 402-765. Zócalo DIL perfil bajo de 14 vías. M64 u EUROPLACA Distribuido: Sel. Referencia: Europlaca de 2x3cm de epoxy con espesor de cobre 35um. 1,00 _________________________ 5,00 _________________________ 1,00 _________________________ 1,00 _________________________ 1,00 _________________________ 2,00 Estado de mediciones Página 230 Control y monitorización de una plataforma móvil 6.3 Capítulo 3: Control Distribuido. Adrián Madorrán Ibáñez CONTROL Y PROGRAMACION DE UNA PLATAFORMA MOVIL CÓDIGO RESUMEN UDS LONGITUD ANCHURA ALTURA PARCIALES CANTIDAD _____________________________________________________________________________________________________________ M13 CAPÍTULO C03 CONTROL DISTRIBUIDO u PIC16F877 Suministrador: RSONLINE. Referencia: 698-9000. MCU 16F877 encapsulado PDIP. M14 u PLACA COBRE PARA INSOLAR 70X85MM _________________________ 2,00 Suministrador: RSONLINE. Referencia: 397-0097. Eurocard de una cara chapada de cobre fotorresistente. Espesor de placa 1,6mm. Espesor de cobre 35um. _________________________ M15 u ZÓCALO 40 PATILLAS Suministrador: RSONLINE. Referencia: 228-0090. Zócalo DIP corto pines estampados 40 vías. M16 u ZÓCALO 14 PATILLAS Suministrador: RSONLINE. Referencia: 402-765. Zócalo DIL perfil bajo de 14 vías. M17 u MCP4922 Suministrador: RSONLINE. Fabricante: Microchip. Referencia: 402-881. Conversor D/A dual de 12 bits con comunicación SPI. M18 u TLE2425 Suministrador: RSONLINE. Fabricante: Texas Instruments Referencia: 661-9833. Tensión de referencia 2,5V 20mA 3 pins y encapsulado TO-92. M19 u LED VERDE 5MM Suministrador: RSONLINE. Referencia: 826-379. Led verde 5mm 10mA. M20 u RESISTENCIA 330 OHMS Suministrador: RSONLINE. Referencia: 135-825. Resistencia de película de carbón 330R y 0,25W. M21 u RESISTENCIA 1K OHMS 2,00 _________________________ 2,00 _________________________ 2,00 _________________________ 2,00 _________________________ 2,00 _________________________ 2,00 _________________________ 2,00 Suministrador: RSONLINE. Referencia: 135-847. Resistencia de película de carbón 1kR y 0,25W. _________________________ 2,00 Estado de mediciones Página 231 Control y monitorización de una plataforma móvil CONTROL Y PROGRAMACION DE UNA PLATAFORMA MOVIL Adrián Madorrán Ibáñez CÓDIGO RESUMEN UDS LONGITUD ANCHURA ALTURA PARCIALES CANTIDAD _____________________________________________________________________________________________________________ M22 u RESISTENCIA 10K OHMS Suministrador: RSONLINE. Referencia: 148-736. Resistencia de película metálica 10kR y 0,25W. M23 u DIODO D1N4007 _________________________ 2,00 Suministrador: RSONLINE. Referencia: 628-9546. Diodo rectificador GS, 1A 1000Vrrm. _________________________ M24 u CONDENSADOR CERÁMICO 2.2uF 2,00 Suministrador: RSONLINE. Referencia: 537-4003. Condensador cerámico 50V 2,2uF _________________________ M25 u CONDENSADOR CERÁMICO 22pF Suministrador: RSONLINE. Referencia: 652-9866. Condensador cerámico radial 100V 22pF M26 u CRISTAL OSCILADOR 20 MHZ Suministrador: RSONLINE. Referencia: 693-8759. Cristal oscilador de cuarzo 20MHz. M27 u PULSADOR 6 PATILLAS Y 2 POSICIONES Suministrador: RSONLINE. Referencia: 734-6763. Pulsador interruptor para PCB. M28 u CONECTOR CI MACHO 8 PINES Suministrador: SEL. Referencia: BTWM8 Conector macho para PCB con 8 contactos de 2,54mm. M29 u CONECTOR CI HEMBRA 8 PINES Suministrador: SEL. Referencia: BTWF8 Conector hembra para PCB para 8 contactos de 2,54mm. M30 u CONECTOR CI MACHO 6 PINES Suministrador: SEL. Referencia: BTWM6 Conector macho para PCB con 6 contactos de 2,54mm. M31 u CONECTOR CI HEMBRA 6 PINES Suministrador: SEL. Referencia: BTWF6 Conector hembra para PCB para 6 contactos de 2,54mm. Estado de mediciones 6,00 _________________________ 4,00 _________________________ 2,00 _________________________ 2,00 _________________________ 6,00 _________________________ 6,00 _________________________ 2,00 _________________________ Página 232 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez 2,00 CONTROL Y PROGRAMACION DE UNA PLATAFORMA MOVIL CÓDIGO RESUMEN UDS LONGITUD ANCHURA ALTURA PARCIALES CANTIDAD _____________________________________________________________________________________________________________ M32 u CONECTOR CI MACHO 5 PINES Suministrador: SEL. Referencia: BTWM5 Conector macho para PCB con 5 contactos de 2,54mm. M33 u CONECTOR CI HEMBRA 5 PINES Suministrador: SEL. Referencia: BTWF5 Conector hembra para PCB para 5 contactos de 2,54mm. M34 u CONECTOR CI MACHO 4 PINES Suministrador: SEL. Referencia: BTWM4 Conector macho para circuito integrado con 4 contactos de 2,54mm. M35 u CONECTOR CI HEMBRA 4 PINES Suministrador: SEL. Referencia: BTWF4 Conector hembra para PCB para 4 contactos de 2,54mm. M36 u CONECTOR CI MACHO 3 PINES Suministrador: SEL. Referencia: BTWM3 Conector macho para PCB con 3 contactos de 2,54mm. M37 u CONECTOR CI HEMBRA 3 PINES Suministrador: SEL. Referencia: BTWF3 Conector hembra para PCB para 3 contactos de 2,54mm. M38 u CONECTOR CI MACHO 2 PINES Suministrador: SEL. Referencia: BTWM2 Conector macho para PCB con 2 contactos de 2,54mm. M39 u CONECTOR CI HEMBRA 2 PINES Suministrador: SEL. Referencia: BTWF2 Conector hembra para PCB para 2 contactos de 2,54mm. M40 u PIN CABLE PARA CONECTOR CI Suministrador: SEL. Referencia: Pin para cable para conector hembra CI. M41 u PIN 2,54MM _________________________ 2,00 _________________________ 2,00 _________________________ 2,00 _________________________ 2,00 _________________________ 2,00 _________________________ 2,00 _________________________ 8,00 _________________________ 8,00 _________________________ 41,00 Suministrador: SEL. Referencia: Pin 2,54mm macho para PCB. Estado de mediciones Página 233 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez _________________________ 16,00 CONTROL Y PROGRAMACION DE UNA PLATAFORMA MOVIL CÓDIGO RESUMEN UDS LONGITUD ANCHURA ALTURA PARCIALES CANTIDAD _____________________________________________________________________________________________________________ M42 u TORNILLO DE ACERO PHILIPS 4X12MM Suministrador: Referencia: Tornillo de acero Philips 4x12mm. M43 u TUERCA ACERO 4MM Suministrador: Referencia: Tuerca de acero 4mm. _________________________ 6,00 _________________________ 6,00 Estado de mediciones Página 234 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez 6.4 Capítulo 4: Comunicaciones. CONTROL Y PROGRAMACION DE UNA PLATAFORMA MOVIL CÓDIGO RESUMEN UDS LONGITUD ANCHURA ALTURA PARCIALES CANTIDAD _____________________________________________________________________________________________________________ M44 CAPÍTULO C04 COMUNICACIONES u MÓDULO BLUETOOTH EB301 Distribuido: MSE Bilbao. Fabricante: A7 Eng. Referencia: Modulo adaptador serie bluetooth 3V/5V. Antena integrada. M45 u _________________________ 1,00 CABLE FTDI Distribuido: MSE Bilbao. Fabricante: FTDI. Referencia: TTL-232R5V. Cable adaptador que convierte un puerto USB en un interface RS-232 con niveles TTL y 1.8 m de longitud. _________________________ M46 u 1,00 USB BLUETOOTH NW545 Distribuido: Beep. Fabricante: Netway Referencia: Adaptador bluetooth USb, permite crear una conexión inalámbrica entre un PC y otro dispositivo. Versión 2.0 EDR. Adaptador clase 2 (10 metros máx.). _________________________ M31 u CONECTOR CI HEMBRA 6 PINES Suministrador: SEL. Referencia: BTWF6 Conector hembra para PCB para 6 contactos de 2,54mm. M47 m CABLE APANTALLADO MULTICONDUCTOR Distribuido: Sel. Referencia: SHC4019 Cable apantallado con cuatro cables en su interior de aluminio. 4x0,19mm2 M41 u PIN 2,54MM Suministrador: SEL. Referencia: Pin 2,54mm macho para PCB. 1,00 _________________________ 2,00 _________________________ 0,60 _________________________ 3,00 Estado de mediciones Página 235 Control y monitorización de una plataforma móvil 6.5 Capítulo 5: Elementos Auxiliares. Adrián Madorrán Ibáñez CONTROL Y PROGRAMACION DE UNA PLATAFORMA MOVIL CÓDIGO RESUMEN UDS LONGITUD ANCHURA ALTURA PARCIALES CANTIDAD _____________________________________________________________________________________________________________ M49 CAPÍTULO C05 ELEMENTOS AUXILIARES u CARGADOR BATERIAS LIPO Distribuido: Sel. Fabricante: Fullwat. Referencia: FU-CLI1000. - Voltaje de entrada: 100-240VAC 50-60Hz - Salida: Autoajustable en 4,2V, 8,4V, 12,6V y 16,8V dependiendo de la batería conectada. - Corriente de carga: 1000 mA _________________________ M50 m CABLE MULTIFIBRILAR ROJO Distribuido: Sel. Fabricante: Referencia: MOWR. Cable multifibrilar de aluminio de color rojo. Diámetro 1mm. M51 m CABLE MULTIFIBRILAR NEGRO Distribuido: Sel. Fabricante: Referencia: MOWBK. Cable multifibrilar de aluminio de color negro. Diámetro 1mm. M52 m CABLE MULTIFIBRILAR BLANCO Distribuido: Sel. Fabricante: Referencia: MOWW. Cable multifibrilar de aluminio de color blanco. Diámetro 1mm. M53 m CABLE MULTIFIBRILAR AMARILLO Distribuido: Sel. Fabricante: Referencia: MOWY. Cable multifibrilar de aluminio de color amarillo. Diámetro 1mm. M54 m CABLE MULTIFIBRILAR AZUL Distribuido: Sel. Fabricante: Referencia: MOWB. Cable multifibrilar de aluminio de color azul. Diámetro 1mm. M55 m CABLE MULTIFIBRILAR VIOLETA Distribuido: Sel. Fabricante: Referencia: MOWV. Cable multifibrilar de aluminio de color violeta. Diámetro 1mm. M56 m CABLE MULTIFIBRILAR NARANJA Distribuido: Sel. Fabricante: Referencia: MOWO. Cable multifibrilar de aluminio de color naranja. Diámetro 1mm. 1,00 _________________________ 0,30 _________________________ 0,30 _________________________ 0,30 _________________________ 0,30 _________________________ 0,30 _________________________ 0,30 _________________________ 0,30 Estado de mediciones Página 236 Control y monitorización de una plataforma móvil CONTROL Y PROGRAMACION DE UNA PLATAFORMA MOVIL Adrián Madorrán Ibáñez CÓDIGO RESUMEN UDS LONGITUD ANCHURA ALTURA PARCIALES CANTIDAD _____________________________________________________________________________________________________________ M57 m CABLE MULTIFIBRILAR MARRÓN Distribuido: Sel. Fabricante: Referencia: MOWBR. Cable multifibrilar de aluminio de color marrón. Diámetro 1mm. M58 m CABLE MULTIFIBRILAR GRIS Distribuido: Sel. Fabricante: Referencia: MOWGR. Cable multifibrilar de aluminio de color gris. Diámetro 1mm. M59 u BRIDA BLANCA Distribuido: Sel. Referencia: Brida blanca de longitud 10cm. M60 m CINTA AISLANTE NEGRA Distribuido: Sel. Fabricante: Referencia: Cinta aislante negra de 1cm de anchura. M61 m CINTA ADHESIVA DOBLE CARA Distribuido: Sel. Referencia: Cinta adhesiva de doble cara blanca de 1mm de grosor. M62 u PEGATINA BLANCA _________________________ 0,30 _________________________ 0,30 _________________________ 10,00 _________________________ 0,50 _________________________ 0,10 Distribuido: Referencia: Pegatina blanca de 2x5cm. _________________________ M63 m ESTAÑO 2,00 Distribuido: Sel. Referencia: Estaño sin plomo con alma de resina de 0,6 mm de diámetro. _________________________ M65 m TUBO TERMORRETRACTIL 0,10 Distribuido: RSONLINE Referencia: 170-6383. Funda termorretractil negra de 3,2mm de diámetro. _________________________ 0,50 Estado de mediciones Página 237 Control y monitorización de una plataforma móvil 6.6 Capítulo 6: Mano de Obra. Adrián Madorrán Ibáñez CONTROL Y PROGRAMACION DE UNA PLATAFORMA MOVIL CÓDIGO RESUMEN UDS LONGITUD ANCHURA ALTURA PARCIALES CANTIDAD _____________________________________________________________________________________________________________ MO01 CAPÍTULO C06 MANO DE OBRA h MONTADOR PLATAFORMA Honorarios de un montador sin cualificación para la realización del montaje integro de la plataforma y conexión eléctrica de los componentes. _________________________ MO02 h MONTADOR PLACAS ELECTRONICAS 15,00 Honorarios de un montador con cualificación básica para la realización de las placas electrónicas, taladrado, comprobación y soldado de componentes. _________________________ MO03 h PROGRAMADOR PIC16F877 10,00 Honorarios de un programador con cualificación para la programación en lenguaje C de un PIC 16F877. _________________________ MO04 h PROGRAMADOR PIC32 30,00 Honorarios de un programador con cualificación para la programación en lenguaje C de un PIC 32. _________________________ MO05 h PROGRAMADOR SOFTWARE 30,00 Honorarios de un programador con cualificación para la programación en lenguaje C de un entorno en Borland C++ Builder 5.0. Profesional para el manejo de la plataforma. _________________________ 50,00 Estado de mediciones Página 238 7 Presupuesto Director: D. Carlos Elvira Izurrategui Departamento de Ingeniería Eléctrica Universidad de La Rioja Alumno: Adrián Madorrán Ibáñez Ingeniería Técnica Industrial especializada en Electrónica Industrial Universidad de La Rioja Título: Control y programación de una plataforma móvil Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Índice de presupuesto 7 Presupuesto……………………………………………………………………………………………………… 239 7.1 Cuadros de precios unitarios de materiales, mano de obra y elementos auxiliares que componen las partidas o unidades de obra………………………………………………………… 241 7.1.1 Capítulo 1: Plataforma………………………………………………………………………….. 241 7.1.2 Capítulo 2: Control Principal…………………………………………………………………. 243 7.1.3 Capítulo 3: Control Distribuido……………………………………………………………… 244 7.1.4 Capítulo 4: Comunicaciones…………………………………………………………………. 248 7.1.5 Capítulo 5: Elementos auxiliares…………………………………………………………… 249 7.1.6 Capítulo 6: Mano de obra…………………………………………………………………….. 251 7.2 Cuadros de precios unitarios de las unidades de obra, de acuerdo con el “Estado de mediciones” y con la descomposición correspondiente de materiales, mano de obra y elementos auxiliares. …………………………………………………………………………………………………..252 7.2.1 Capítulo 1: Plataforma………………………………………………………………………… 252 7.2.2 Capítulo 2: Control Principal…………………………………………………………………. 254 7.2.3 Capítulo 3: Control Distribuido…………………………………………………………….. 255 7.2.4 Capítulo 4: Comunicaciones…………………………………………………………………. 259 7.2.5 Capítulo 5: Elementos Auxiliares…………………………………………………………… 260 7.2.6 Capítulo 6: Mano de obra…………………………………………………………………….. 263 7.3 Presupuesto……………………………………………………………………………………………………… 264 Presupuesto Página 240 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez 7.1 Cuadros de precios unitarios de materiales, mano de obra y elementos auxiliares que componen las partidas o unidades de obra. 7.1.1 Capítulo 1: Plataforma. CAPÍTULO C01 PLATAFORMA CÓDIGO UD RESUMEN PRECIO _______________________________________________________________________________________________________ M01 u KIT A4WD1V2 ROBOT 65,72 Fabricante: Lynxmotion. Referencia: A4WD1-01. Contiene: Estructura realizada en aluminio y placas de lexan, dos conectores hexagonales de 12mm a 6mm (HUB-12), cable conector de la batería con conmutador (WH-01), cuatro cables de alimentación para motores (MW-01) y 23 tornillos de montaje (PHS-09). SESENTA Y CINCO EUROS con SETENTA Y DOS CÉNTIMOS M02 u CONECTOR HEXAGONAL DE 12MM A 6MM 6,40 Fabricante: Lynxmotion. Referencia: HUB-12. Fabricados en acero. Distribuidos en parejas. Conversión de medidas de 12mm en las ruedas a 6mm para acople eje de motor. SEIS EUROS con CUARENTA CÉNTIMOS M03 u CABLE CONECTOR BATERÍA CON CONMUTADOR 3,96 Fabricante: Lynxmotion. Referencia: WH-01. Fabricados en aluminio con conmutador de dos posiciones. En un extremo presenta un conector Tamiya y en el otro extremo los cables están al aire. TRES EUROS con NOVENTA Y SEIS CÉNTIMOS M04 u MOTOR 7.2V 50:1 175RPM 17,56 Fabricante: Lynxmotion. Referencia: GHM-04. Motor de corriente continua. Funciona a una tensión nominal de 7,2V, contiene una reductora de 50:1 y alcanza una velocidad rotacional de 175rpm. DIECISIETE EUROS con CINCUENTA Y SEIS CÉNTIMOS M05 u RUEDA TODOTERRENO 20,00 Fabricante: Lynxmotion. Referencia: TRC-01. Fabricados en dos partes, una llanta de polietileno y un neumático todoterreno. Contiene tornillos de montaje. Distribuidos en parejas. VEINTE EUROS M06 u ENCODER DIGITAL 20,76 Fabricante: Lynxmotion. Referencia: QME-01. Encoder digital con fijación superficial. 100 ciclos por revolución. 400 pulsos cuadrados por vuelta. Apto para frecuencias de más de 30kHz. Contiene cable de conexión. VEINTE EUROS con SETENTA Y SEIS CÉNTIMOS Presupuesto Página 241 Control y monitorización de una plataforma móvil M07 u ETAPA DE POTENCIA SABERTOOTH 2X5A Adrián Madorrán Ibáñez 47,99 Fabricante: Lynxmotion. Referencia: DE-09. Etapa de potencia para controlar dos motores. Soporta corrientes de 10A de pico y 5A continuas.Tensión de alimentación entre 6 y 18 Vdc. CUARENTA Y SIETE EUROS con NOVENTA Y NUEVE CÉNTIMOS M08 u BATERÍA LIPO 3.7V 2100 MAH 8,00 Fabricante: VARTA. Referencia: Batería lipo para montaje con terminales de fácil soldadura. Capacidad: 2100 mAh. Tensión: 3,7V. OCHO EUROS M09 u CONECTOR TAMIYA 1,00 Distribuido: Sel. Referencia: BE-6702 COP. Conectores Tamiya. Contiene dos partes, hembra y macho y sus pines para cables. UN EURO M48 m CABLE DOBLE COBRE 2,00 Distribuido: Sel. Referencia: Cable doble rojo-negro de cobre. Diámetro 2,5mm. DOS EUROS Presupuesto Página 242 Control y monitorización de una plataforma móvil 7.1.2 Capítulo 2: Control Principal. Adrián Madorrán Ibáñez CAPÍTULO C02 CONTROL PRINCIPAL CÓDIGO UD RESUMEN PRECIO _______________________________________________________________________________________________________ M10 u PIC32 STARTER KIT 39,99 Fabricante: Microchip. Referencia: DM320001. Kit que contiene: microcontrolador PIC32MX360F512L, CD con MPLAB y compilador C32 y cable USB. TREINTA Y NUEVE EUROS con NOVENTA Y NUEVE CÉNTIMOS M11 u STARTER KIT I/O EXPANSION BOARD 58,00 Fabricante: Microchip. Referencia: DM320002. Placa de expansión de puertos para Starter Kit. Permite el acceso a todos los puertos del microcontrolador. CINCUENTA Y OCHO EUROS M12 u TIRA DE 32 PINES TORNEADOS 1,04 Suministrador: RSONLINE. Referencia: 267-7416. Zócalo SIL pin torneado de 32 vías. UN EUROS con CUATRO CÉNTIMOS M17 u MCP4922 3,44 Suministrador: RSONLINE. Fabricante: Microchip. Referencia: 402-881. Conversor D/A dual de 12 bits con comunicación SPI. TRES EUROS con CUARENTA Y CUATRO CÉNTIMOS M18 u TLE2425 1,13 Suministrador: RSONLINE. Fabricante: Texas Instruments Referencia: 661-9833. Tensión de referencia 2,5V 20mA 3 pins y encapsulado TO-92. UN EUROS con TRECE CÉNTIMOS M16 u ZÓCALO 14 PATILLAS 0,15 Suministrador: RSONLINE. Referencia: 402-765. Zócalo DIL perfil bajo de 14 vías. CERO EUROS con QUINCE CÉNTIMOS M64 u EUROPLACA 0,43 Distribuido: Sel. Referencia: Europlaca de 2x3cm de epoxy con espesor de cobre 35um. CERO EUROS con CUARENTA Y TRES CÉNTIMOS Presupuesto Página 243 Control y monitorización de una plataforma móvil 7.1.3 Capítulo 3: Control Distribuido. Adrián Madorrán Ibáñez CAPÍTULO C03 CONTROL DISTRIBUIDO CÓDIGO UD RESUMEN PRECIO _______________________________________________________________________________________________________ M13 u PIC16F877 7,73 Suministrador: RSONLINE. Referencia: 698-9000. MCU 16F877 encapsulado PDIP. SIETE EUROS con SETENTA Y TRES CÉNTIMOS M14 u PLACA COBRE PARA INSOLAR 70X85MM 2,65 Suministrador: RSONLINE. Referencia: 397-0097. Eurocard de una cara chapada de cobre fotorresistente. Espesor de placa 1,6mm. Espesor de cobre 35um. DOS EUROS con SESENTA Y CINCO CÉNTIMOS M15 u ZÓCALO 40 PATILLAS 1,73 Suministrador: RSONLINE. Referencia: 228-0090. Zócalo DIP corto pines estampados 40 vías. UN EUROS con SETENTA Y TRES CÉNTIMOS M16 u ZÓCALO 14 PATILLAS 0,15 Suministrador: RSONLINE. Referencia: 402-765. Zócalo DIL perfil bajo de 14 vías. CERO EUROS con QUINCE CÉNTIMOS M17 u MCP4922 3,44 Suministrador: RSONLINE. Fabricante: Microchip. Referencia: 402-881. Conversor D/A dual de 12 bits con comunicación SPI. TRES EUROS con CUARENTA Y CUATRO CÉNTIMOS M18 u TLE2425 1,13 Suministrador: RSONLINE. Fabricante: Texas Instruments Referencia: 661-9833. Tensión de referencia 2,5V 20mA 3 pins y encapsulado TO-92. UN EUROS con TRECE CÉNTIMOS M19 u LED VERDE 5MM 0,19 Suministrador: RSONLINE. Referencia: 826-379. Led verde 5mm 10mA. CERO EUROS con DIECINUEVE CÉNTIMOS M20 u RESISTENCIA 330 OHMS 0,03 Suministrador: RSONLINE. Referencia: 135-825. Resistencia de película de carbón 330R y 0,25W. CERO EUROS con TRES CÉNTIMOS M21 u RESISTENCIA 1K OHMS 0,03 Suministrador: RSONLINE. Referencia: 135-847. Resistencia de película de carbón 1kR y 0,25W. CERO EUROS con TRES CÉNTIMOS Presupuesto Página 244 Control y monitorización de una plataforma móvil M22 u RESISTENCIA 10K OHMS Adrián Madorrán Ibáñez 0,06 Suministrador: RSONLINE. Referencia: 148-736. Resistencia de película metálica 10kR y 0,25W. CERO EUROS con SEIS CÉNTIMOS M23 u DIODO D1N4007 0,04 Suministrador: RSONLINE. Referencia: 628-9546. Diodo rectificador GS, 1A 1000Vrrm. CERO EUROS con CUATRO CÉNTIMOS M24 u CONDENSADOR CERÁMICO 2.2uF 0,82 Suministrador: RSONLINE. Referencia: 537-4003. Condensador cerámico 50V 2,2uF CERO EUROS con OCHENTA Y DOS CÉNTIMOS M25 u CONDENSADOR CERÁMICO 22pF 0,28 Suministrador: RSONLINE. Referencia: 652-9866. Condensador cerámico radial 100V 22pF CERO EUROS con VEINTIOCHO CÉNTIMOS M26 u CRISTAL OSCILADOR 20 MHZ 0,57 Suministrador: RSONLINE. Referencia: 693-8759. Cristal oscilador de cuarzo 20MHz. CERO EUROS con CINCUENTA Y SIETE CÉNTIMOS M27 u PULSADOR 6 PATILLAS Y 2 POSICIONES 1,46 Suministrador: RSONLINE. Referencia: 734-6763. Pulsador interruptor para PCB. UN EUROS con CUARENTA Y SEIS CÉNTIMOS M28 u CONECTOR CI MACHO 8 PINES 0,80 Suministrador: SEL. Referencia: BTWM8 Conector macho para PCB con 8 contactos de 2,54mm. CERO EUROS con OCHENTA CÉNTIMOS M29 u CONECTOR CI HEMBRA 8 PINES 0,80 Suministrador: SEL. Referencia: BTWF8 Conector hembra para PCB para 8 contactos de 2,54mm. CERO EUROS con OCHENTA CÉNTIMOS M30 u CONECTOR CI MACHO 6 PINES 0,60 Suministrador: SEL. Referencia: BTWM6 Conector macho para PCB con 6 contactos de 2,54mm. CERO EUROS con SESENTA CÉNTIMOS M31 u CONECTOR CI HEMBRA 6 PINES 0,60 Suministrador: SEL. Referencia: BTWF6 Conector hembra para PCB para 6 contactos de 2,54mm. CERO EUROS con SESENTA CÉNTIMOS Presupuesto Página 245 Control y monitorización de una plataforma móvil M32 u CONECTOR CI MACHO 5 PINES Adrián Madorrán Ibáñez 0,50 Suministrador: SEL. Referencia: BTWM5 Conector macho para PCB con 5 contactos de 2,54mm. CERO EUROS con CINCUENTA CÉNTIMOS M33 u CONECTOR CI HEMBRA 5 PINES 0,50 Suministrador: SEL. Referencia: BTWF5 Conector hembra para PCB para 5 contactos de 2,54mm. CERO EUROS con CINCUENTA CÉNTIMOS M34 u CONECTOR CI MACHO 4 PINES 0,40 Suministrador: SEL. Referencia: BTWM4 Conector macho para circuito integrado con 4 contactos de 2,54mm. CERO EUROS con CUARENTA CÉNTIMOS M35 u CONECTOR CI HEMBRA 4 PINES 0,40 Suministrador: SEL. Referencia: BTWF4 Conector hembra para PCB para 4 contactos de 2,54mm. CERO EUROS con CUARENTA CÉNTIMOS M36 u CONECTOR CI MACHO 3 PINES 0,35 Suministrador: SEL. Referencia: BTWM3 Conector macho para PCB con 3 contactos de 2,54mm. CERO EUROS con TREINTA Y CINCO CÉNTIMOS M37 u CONECTOR CI HEMBRA 3 PINES 0,35 Suministrador: SEL. Referencia: BTWF3 Conector hembra para PCB para 3 contactos de 2,54mm. CERO EUROS con TREINTA Y CINCO CÉNTIMOS M38 u CONECTOR CI MACHO 2 PINES 0,30 Suministrador: SEL. Referencia: BTWM2 Conector macho para PCB con 2 contactos de 2,54mm. CERO EUROS con TREINTA CÉNTIMOS M39 u CONECTOR CI HEMBRA 2 PINES 0,30 Suministrador: SEL. Referencia: BTWF2 Conector hembra para PCB para 2 contactos de 2,54mm. CERO EUROS con TREINTA CÉNTIMOS M40 u PIN CABLE PARA CONECTOR CI 0,08 Suministrador: SEL. Referencia: Pin para cable para conector hembra CI. CERO EUROS con OCHO CÉNTIMOS M41 u PIN 2,54MM 0,10 Suministrador: SEL. Referencia: Pin 2,54mm macho para PCB. CERO EUROS con DIEZ CÉNTIMOS M42 u TORNILLO DE ACERO PHILIPS 4X12MM 0,40 Suministrador: Referencia: Tornillo de acero Philips 4x12mm. CERO EUROS con CUARENTA CÉNTIMOS Presupuesto Página 246 Control y monitorización de una plataforma móvil M43 u TUERCA ACERO 4MM Adrián Madorrán Ibáñez 0,25 Suministrador: Referencia: Tuerca de acero 4mm. CERO EUROS con VEINTICINCO CÉNTIMOS Presupuesto Página 247 Control y monitorización de una plataforma móvil 7.1.4 Capítulo 4: Comunicaciones. Adrián Madorrán Ibáñez CAPÍTULO C04 COMUNICACIONES CÓDIGO UD RESUMEN PRECIO _______________________________________________________________________________________________________ M44 u MÓDULO BLUETOOTH EB301 45,00 Distribuido: MSE Bilbao. Fabricante: A7 Eng. Referencia: Modulo adaptador serie bluetooth 3V/5V. Antena integrada. CUARENTA Y CINCO EUROS M45 u CABLE FTDI 21,00 Distribuido: MSE Bilbao. Fabricante: FTDI. Referencia: TTL-232R5V. Cable adaptador que convierte un puerto USB en un interface RS-232 con niveles TTL y 1.8 m de longitud. VEINTIUN EUROS M46 u USB BLUETOOTH NW545 4,90 Distribuido: Beep. Fabricante: Netway Referencia: Adaptador bluetooth USb, permite crear una conexión inalámbrica entre un PC y otro dispositivo. Versión 2.0 EDR. Adaptador clase 2 (10 metros máx.). CUATRO EUROS con NOVENTA CÉNTIMOS M31 u CONECTOR CI HEMBRA 6 PINES 0,60 Suministrador: SEL. Referencia: BTWF6 Conector hembra para PCB para 6 contactos de 2,54mm. CERO EUROS con SESENTA CÉNTIMOS M47 m CABLE APANTALLADO MULTICONDUCTOR 1,30 Distribuido: Sel. Referencia: SHC4019 Cable apantallado con cuatro cables en su interior de aluminio. 4x0,19mm2 UN EUROS con TREINTA CÉNTIMOS M41 u PIN 2,54MM 0,10 Suministrador: SEL. Referencia: Pin 2,54mm macho para PCB. CERO EUROS con DIEZ CÉNTIMOS Presupuesto Página 248 Control y monitorización de una plataforma móvil 7.1.5 Capítulo 5: Elementos auxiliares. Adrián Madorrán Ibáñez CAPÍTULO C05 ELEMENTOS AUXILIARES CÓDIGO UD RESUMEN PRECIO _______________________________________________________________________________________________________ M49 u CARGADOR BATERIAS LIPO 17,00 Distribuido: Sel. Fabricante: Fullwat. Referencia: FU-CLI1000. - Voltaje de entrada: 100-240VAC 50-60Hz - Salida: Autoajustable en 4,2V, 8,4V, 12,6V y 16,8V dependiendo de la batería conectada. - Corriente de carga: 1000 mA DIECISIETE EUROS M50 m CABLE MULTIFIBRILAR ROJO 0,15 Distribuido: Sel. Fabricante: Referencia: MOWR. Cable multifibrilar de aluminio de color rojo. Diámetro 1mm. CERO EUROS con QUINCE CÉNTIMOS M51 m CABLE MULTIFIBRILAR NEGRO 0,15 Distribuido: Sel. Fabricante: Referencia: MOWBK. Cable multifibrilar de aluminio de color negro. Diámetro 1mm. CERO EUROS con QUINCE CÉNTIMOS M52 m CABLE MULTIFIBRILAR BLANCO 0,15 Distribuido: Sel. Fabricante: Referencia: MOWW. Cable multifibrilar de aluminio de color blanco. Diámetro 1mm. CERO EUROS con QUINCE CÉNTIMOS M53 m CABLE MULTIFIBRILAR AMARILLO 0,15 Distribuido: Sel. Fabricante: Referencia: MOWY. Cable multifibrilar de aluminio de color amarillo. Diámetro 1mm. CERO EUROS con QUINCE CÉNTIMOS M54 m CABLE MULTIFIBRILAR AZUL 0,15 Distribuido: Sel. Fabricante: Referencia: MOWB. Cable multifibrilar de aluminio de color azul. Diámetro 1mm. CERO EUROS con QUINCE CÉNTIMOS M55 m CABLE MULTIFIBRILAR VIOLETA 0,15 Distribuido: Sel. Fabricante: Referencia: MOWV. Cable multifibrilar de aluminio de color violeta. Diámetro 1mm. CERO EUROS con QUINCE CÉNTIMOS M56 m CABLE MULTIFIBRILAR NARANJA 0,15 Distribuido: Sel. Fabricante: Referencia: MOWO. Cable multifibrilar de aluminio de color naranja. Diámetro 1mm. CERO EUROS con QUINCE CÉNTIMOS Presupuesto Página 249 Control y monitorización de una plataforma móvil M57 m CABLE MULTIFIBRILAR MARRÓN Adrián Madorrán Ibáñez 0,15 Distribuido: Sel. Fabricante: Referencia: MOWBR. Cable multifibrilar de aluminio de color marrón. Diámetro 1mm. CERO EUROS con QUINCE CÉNTIMOS M58 m CABLE MULTIFIBRILAR GRIS 0,15 Distribuido: Sel. Fabricante: Referencia: MOWGR. Cable multifibrilar de aluminio de color gris. Diámetro 1mm. CERO EUROS con QUINCE CÉNTIMOS M59 u BRIDA BLANCA 0,10 Distribuido: Sel. Referencia: Brida blanca de longitud 10cm. CERO EUROS con DIEZ CÉNTIMOS M60 m CINTA AISLANTE NEGRA 1,00 Distribuido: Sel. Fabricante: Referencia: Cinta aislante negra de 1cm de anchura. UN EUROS M61 m CINTA ADHESIVA DOBLE CARA 1,00 Distribuido: Sel. Referencia: Cinta adhesiva de doble cara blanca de 1mm de grosor. UN EUROS M62 u PEGATINA BLANCA 0,05 Distribuido: Referencia: Pegatina blanca de 2x5cm. CERO EUROS con CINCO CÉNTIMOS M63 m ESTAÑO 3,00 Distribuido: Sel. Referencia: Estaño sin plomo con alma de resina de 0,6 mm de diámetro. TRES EUROS M65 m TUBO TERMORRETRACTIL 2,51 Distribuido: RSONLINE Referencia: 170-6383. Funda termorretractil negra de 3,2mm de diámetro. DOS EUROS con CINCUENTA Y UN CÉNTIMOS Presupuesto Página 250 Control y monitorización de una plataforma móvil 7.1.6 Capítulo 6: Mano de obra Adrián Madorrán Ibáñez CAPÍTULO C06 MANO DE OBRA CÓDIGO UD RESUMEN PRECIO _______________________________________________________________________________________________________ MO01 h MONTADOR PLATAFORMA 6,00 Honorarios de un montador sin cualificación para la realización del montaje integro de la plataforma y conexión eléctrica de los componentes. SEIS EUROS MO02 h MONTADOR PLACAS ELECTRONICAS 8,00 Honorarios de un montador con cualificación básica para la realización de las placas electrónicas, taladrado, comprobación y soldado de componentes. OCHO EUROS MO03 h PROGRAMADOR PIC16F877 30,00 Honorarios de un programador con cualificación para la programación en lenguaje C de un PIC 16F877. TREINTA EUROS MO04 h PROGRAMADOR PIC32 30,00 Honorarios de un programador con cualificación para la programación en lenguaje C de un PIC 32. TREINTA EUROS MO05 h PROGRAMADOR SOFTWARE 30,00 Honorarios de un programador con cualificación para la programación en lenguaje C de un entorno en Borland C++ Builder 5.0. Profesional para el manejo de la plataforma. TREINTA EUROS Presupuesto Página 251 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez 7.2 Cuadros de precios unitarios de las unidades de obra, de acuerdo con el “Estado de mediciones” y con la descomposición correspondiente de materiales, mano de obra y elementos auxiliares. 7.2.1 Capítulo 1: Plataforma. CAPÍTULO C01 PLATAFORMA CÓDIGO CANTIDAD UD RESUMEN PRECIO SUBTOTAL IMPORTE _____________________________________________________________________________________________________________ M01 u KIT A4WD1V2 ROBOT Fabricante: Lynxmotion. Referencia: A4WD1-01. Contiene: Estructura realizada en aluminio y placas de lexan, dos conectores hexagonales de 12mm a 6mm (HUB-12), cable conector de la batería con conmutador (WH-01), cuatro cables de alimentación para motores Sin descomposición TOTAL PARTIDA 65,72 Asciende el precio total de la partida a la mencionada cantidad de SESENTA Y CINCO EUROS con SETENTA Y DOS CÉNTIMOS M02 u CONECTOR HEXAGONAL DE 12MM A 6MM Fabricante: Lynxmotion. Referencia: HUB-12. Fabricados en acero. Distribuidos en parejas. Conversión de medidas de 12mm en las ruedas a 6mm para acople. Sin descomposición TOTAL PARTIDA 6,40 Asciende el precio total de la partida a la mencionada cantidad de SEIS EUROS con CUARENTA CÉNTIMOS M03 u CABLE CONECTOR BATERÍA CON CONMUTADOR Fabricante: Lynxmotion. Referencia: WH-01. Fabricados en aluminio con conmutador de dos posiciones. En un extremo presenta un conector Tamiya. Sin descomposición TOTAL PARTIDA 3,96 Asciende el precio total de la partida a la mencionada cantidad de TRES EUROS con NOVENTA Y SEIS CÉNTIMOS M04 u MOTOR 7.2V 50:1 175RPM Fabricante: Lynxmotion. Referencia: GHM-04. Motor de corriente continua. Funciona a una tensión nominal de 7,2V, contiene una reductora de 50:1 y alcanza una velocidad rotacional de 175rpm. Sin descomposición TOTAL PARTIDA 17,56 Asciende el precio total de la partida a la mencionada cantidad de DIECISIETE EUROS con CINCUENTA Y SEIS CÉNTIMOS M05 u RUEDA TODOTERRENO Fabricante: Lynxmotion. Referencia: TRC-01. Fabricados en dos partes, una llanta de polietileno y un neumático todoterreno. Contiene tornillos de montaje. Sin descomposición TOTAL PARTIDA 20,00 Asciende el precio total de la partida a la mencionada cantidad de VEINTE EUROS M06 Presupuesto u ENCODER DIGITAL Página 252 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez Fabricante: Lynxmotion. Referencia: QME-01. Encoder digital con fijación superficial. 100 ciclos por revolución. 400 pulsos cuadrados por vuelta. Sin descomposición TOTAL PARTIDA 20,76 Asciende el precio total de la partida a la mencionada cantidad de VEINTE EUROS con SETENTA Y SEIS CÉNTIMOS M07 u ETAPA DE POTENCIA SABERTOOTH 2X5A Fabricante: Lynxmotion. Referencia: DE-09. Etapa de potencia para controlar dos motores. Soporta corrientes de 10A de pico y 5A continuas. Sin descomposición TOTAL PARTIDA 47,99 Asciende el precio total de la partida a la mencionada cantidad de CUARENTA Y SIETE EUROS con NOVENTA Y NUEVE CÉNTIMOS M08 u BATERÍA LIPO 3.7V 2100 MAH Fabricante: VARTA. Referencia: Batería lipo para montaje con terminales de fácil soldadura. Capacidad: 2100 mAh. Tensión: 3,7V. Sin descomposición TOTAL PARTIDA 8,00 Asciende el precio total de la partida a la mencionada cantidad de OCHO EUROS M09 u CONECTOR TAMIYA Distribuido: Sel. Referencia: BE-6702 COP. Sin descomposición TOTAL PARTIDA 1,00 Asciende el precio total de la partida a la mencionada cantidad de UN EUROS M48 m CABLE DOBLE COBRE Distribuido: Sel. Referencia: Sin descomposición TOTAL PARTIDA 2,00 Asciende el precio total de la partida a la mencionada cantidad de DOS EUROS Presupuesto Página 253 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez 7.2.2 Capítulo 2: Control Principal. CAPÍTULO C02 CONTROL PRINCIPAL CÓDIGO CANTIDAD UD RESUMEN PRECIO SUBTOTAL IMPORTE _____________________________________________________________________________________________________________ M10 u PIC32 STARTER KIT Fabricante: Microchip. Referencia: DM320001. Sin descomposición TOTAL PARTIDA 39,99 Asciende el precio total de la partida a la mencionada cantidad de TREINTA Y NUEVE EUROS con NOVENTA Y NUEVE CÉNTIMOS M11 u STARTER KIT I/O EXPANSION BOARD Fabricante: Microchip. Referencia: DM320002. Sin descomposición TOTAL PARTIDA 58,00 Asciende el precio total de la partida a la mencionada cantidad de CINCUENTA Y OCHO EUROS M12 u TIRA DE 32 PINES TORNEADOS Suministrador: RSONLINE. Referencia: 267-7416. Sin descomposición TOTAL PARTIDA 1,04 Asciende el precio total de la partida a la mencionada cantidad de UN EUROS con CUATRO CÉNTIMOS M17 u MCP4922 Suministrador: RSONLINE. Fabricante: Microchip. Referencia: 402-881. Sin descomposición TOTAL PARTIDA 3,44 Asciende el precio total de la partida a la mencionada cantidad de TRES EUROS con CUARENTA Y CUATRO CÉNTIMOS M18 u TLE2425 Suministrador: RSONLINE. Fabricante: Texas Instruments Referencia: 661-9833. Sin descomposición TOTAL PARTIDA 1,13 Asciende el precio total de la partida a la mencionada cantidad de UN EUROS con TRECE CÉNTIMOS M16 u ZÓCALO 14 PATILLAS Suministrador: RSONLINE. Referencia: 402-765. Sin descomposición TOTAL PARTIDA 0,15 Asciende el precio total de la partida a la mencionada cantidad de CERO EUROS con QUINCE CÉNTIMOS M64 u EUROPLACA Distribuido: Sel. Referencia: Sin descomposición TOTAL PARTIDA 0,43 Asciende el precio total de la partida a la mencionada cantidad de CERO EUROS con CUARENTA Y TRES CÉNTIMOS Presupuesto Página 254 Control y monitorización de una plataforma móvil 7.2.3 Capítulo 3: Control Distribuido. Adrián Madorrán Ibáñez CAPÍTULO C03 CONTROL DISTRIBUIDO CÓDIGO CANTIDAD UD RESUMEN PRECIO SUBTOTAL IMPORTE _____________________________________________________________________________________________________________ M13 u PIC16F877 Suministrador: RSONLINE. Referencia: 698-9000. Sin descomposición TOTAL PARTIDA 7,73 Asciende el precio total de la partida a la mencionada cantidad de SIETE EUROS con SETENTA Y TRES CÉNTIMOS M14 u PLACA COBRE PARA INSOLAR 70X85MM Suministrador: RSONLINE. Referencia: 397-0097. Sin descomposición TOTAL PARTIDA 2,65 Asciende el precio total de la partida a la mencionada cantidad de DOS EUROS con SESENTA Y CINCO CÉNTIMOS M15 u ZÓCALO 40 PATILLAS Suministrador: RSONLINE. Referencia: 228-0090. Sin descomposición TOTAL PARTIDA 1,73 Asciende el precio total de la partida a la mencionada cantidad de UN EUROS con SETENTA Y TRES CÉNTIMOS M16 u ZÓCALO 14 PATILLAS Suministrador: RSONLINE. Referencia: 402-765. Sin descomposición TOTAL PARTIDA 0,15 Asciende el precio total de la partida a la mencionada cantidad de CERO EUROS con QUINCE CÉNTIMOS M17 u MCP4922 Suministrador: RSONLINE. Fabricante: Microchip. Referencia: 402-881. Sin descomposición TOTAL PARTIDA 3,44 Asciende el precio total de la partida a la mencionada cantidad de TRES EUROS con CUARENTA Y CUATRO CÉNTIMOS M18 u TLE2425 Suministrador: RSONLINE. Fabricante: Texas Instruments Referencia: 661-9833. Sin descomposición TOTAL PARTIDA 1,13 Asciende el precio total de la partida a la mencionada cantidad de UN EUROS con TRECE CÉNTIMOS M19 u LED VERDE 5MM Suministrador: RSONLINE. Referencia: 826-379. Sin descomposición TOTAL PARTIDA 0,19 Asciende el precio total de la partida a la mencionada cantidad de CERO EUROS con DIECINUEVE CÉNTIMOS Presupuesto Página 255 Control y monitorización de una plataforma móvil M20 u RESISTENCIA 330 OHMS Suministrador: RSONLINE. Referencia: 135-825. Resistencia de película de carbón 330R y 0,25W. Adrián Madorrán Ibáñez Sin descomposición TOTAL PARTIDA 0,03 Asciende el precio total de la partida a la mencionada cantidad de CERO EUROS con TRES CÉNTIMOS M21 u RESISTENCIA 1K OHMS Suministrador: RSONLINE. Referencia: 135-847. Resistencia de película de carbón 1kR y 0,25W. Sin descomposición TOTAL PARTIDA 0,03 Asciende el precio total de la partida a la mencionada cantidad de CERO EUROS con TRES CÉNTIMOS M22 u RESISTENCIA 10K OHMS Suministrador: RSONLINE. Referencia: 148-736. Resistencia de película metálica 10kR y 0,25W. Sin descomposición TOTAL PARTIDA 0,06 Asciende el precio total de la partida a la mencionada cantidad de CERO EUROS con SEIS CÉNTIMOS M23 u DIODO D1N4007 Suministrador: RSONLINE. Referencia: 628-9546. Diodo rectificador GS, 1A 1000Vrrm. Sin descomposición TOTAL PARTIDA 0,04 Asciende el precio total de la partida a la mencionada cantidad de CERO EUROS con CUATRO CÉNTIMOS M24 u CONDENSADOR CERÁMICO 2.2uF Suministrador: RSONLINE. Referencia: 537-4003. Condensador cerámico 50V 2,2uF Sin descomposición TOTAL PARTIDA 0,82 Asciende el precio total de la partida a la mencionada cantidad de CERO EUROS con OCHENTA Y DOS CÉNTIMOS M25 u CONDENSADOR CERÁMICO 22pF Suministrador: RSONLINE. Referencia: 652-9866. Sin descomposición TOTAL PARTIDA 0,28 Asciende el precio total de la partida a la mencionada cantidad de CERO EUROS con VEINTIOCHO CÉNTIMOS M26 u CRISTAL OSCILADOR 20 MHZ Suministrador: RSONLINE. Referencia: 693-8759. Sin descomposición TOTAL PARTIDA 0,57 Asciende el precio total de la partida a la mencionada cantidad de CERO EUROS con CINCUENTA Y SIETE CÉNTIMOS M27 u PULSADOR 6 PATILLAS Y 2 POSICIONES Suministrador: RSONLINE. Referencia: 734-6763. Pulsador interruptor para PCB. Sin descomposición TOTAL PARTIDA 1,46 Asciende el precio total de la partida a la mencionada cantidad de UN EUROS con CUARENTA Y SEIS CÉNTIMOS Presupuesto Página 256 Control y monitorización de una plataforma móvil M28 u CONECTOR CI MACHO 8 PINES Suministrador: SEL. Referencia: BTWM8 Adrián Madorrán Ibáñez Sin descomposición TOTAL PARTIDA 0,80 Asciende el precio total de la partida a la mencionada cantidad de CERO EUROS con OCHENTA CÉNTIMOS M29 u CONECTOR CI HEMBRA 8 PINES Suministrador: SEL. Referencia: BTWF8 Sin descomposición TOTAL PARTIDA 0,80 Asciende el precio total de la partida a la mencionada cantidad de CERO EUROS con OCHENTA CÉNTIMOS M30 u CONECTOR CI MACHO 6 PINES Suministrador: SEL. Referencia: BTWM6 Sin descomposición TOTAL PARTIDA 0,60 Asciende el precio total de la partida a la mencionada cantidad de CERO EUROS con SESENTA CÉNTIMOS M31 u CONECTOR CI HEMBRA 6 PINES Suministrador: SEL. Referencia: BTWF6 Sin descomposición TOTAL PARTIDA 0,60 Asciende el precio total de la partida a la mencionada cantidad de CERO EUROS con SESENTA CÉNTIMOS M32 u CONECTOR CI MACHO 5 PINES Suministrador: SEL. Referencia: BTWM5 Sin descomposición TOTAL PARTIDA 0,50 Asciende el precio total de la partida a la mencionada cantidad de CERO EUROS con CINCUENTA CÉNTIMOS M33 u CONECTOR CI HEMBRA 5 PINES Suministrador: SEL. Referencia: BTWF5 Sin descomposición TOTAL PARTIDA 0,50 Asciende el precio total de la partida a la mencionada cantidad de CERO EUROS con CINCUENTA CÉNTIMOS M34 u CONECTOR CI MACHO 4 PINES Suministrador: SEL. Referencia: BTWM4 Sin descomposición TOTAL PARTIDA 0,40 Asciende el precio total de la partida a la mencionada cantidad de CERO EUROS con CUARENTA CÉNTIMOS M35 u CONECTOR CI HEMBRA 4 PINES Suministrador: SEL. Referencia: BTWF4 Conector hembra para PCB para 4 contactos de 2,54mm. Sin descomposición TOTAL PARTIDA 0,40 Asciende el precio total de la partida a la mencionada cantidad de CERO EUROS con CUARENTA CÉNTIMOS M36 u CONECTOR CI MACHO 3 PINES Suministrador: SEL. Referencia: BTWM3 Sin descomposición TOTAL PARTIDA 0,35 Asciende el precio total de la partida a la mencionada cantidad de CERO EUROS con TREINTA Y CINCO CÉNTIMOS Presupuesto Página 257 Control y monitorización de una plataforma móvil M37 u CONECTOR CI HEMBRA 3 PINES Suministrador: SEL. Referencia: BTWF3 Adrián Madorrán Ibáñez Sin descomposición TOTAL PARTIDA 0,35 Asciende el precio total de la partida a la mencionada cantidad de CERO EUROS con TREINTA Y CINCO CÉNTIMOS M38 u CONECTOR CI MACHO 2 PINES Suministrador: SEL. Referencia: BTWM2 Sin descomposición TOTAL PARTIDA 0,30 Asciende el precio total de la partida a la mencionada cantidad de CERO EUROS con TREINTA CÉNTIMOS M39 u CONECTOR CI HEMBRA 2 PINES Suministrador: SEL. Referencia: BTWF2 Sin descomposición TOTAL PARTIDA 0,30 Asciende el precio total de la partida a la mencionada cantidad de CERO EUROS con TREINTA CÉNTIMOS M40 u PIN CABLE PARA CONECTOR CI Suministrador: SEL. Referencia: Sin descomposición TOTAL PARTIDA 0,08 Asciende el precio total de la partida a la mencionada cantidad de CERO EUROS con OCHO CÉNTIMOS M41 u PIN 2,54MM Suministrador: SEL. Referencia: Sin descomposición TOTAL PARTIDA 0,10 Asciende el precio total de la partida a la mencionada cantidad de CERO EUROS con DIEZ CÉNTIMOS M42 u TORNILLO DE ACERO PHILIPS 4X12MM Suministrador: Referencia: Sin descomposición TOTAL PARTIDA 0,40 Asciende el precio total de la partida a la mencionada cantidad de CERO EUROS con CUARENTA CÉNTIMOS M43 u TUERCA ACERO 4MM Suministrador: Referencia: Tuerca de acero 4mm. Sin descomposición TOTAL PARTIDA 0,25 Asciende el precio total de la partida a la mencionada cantidad de CERO EUROS con VEINTICINCO CÉNTIMOS Presupuesto Página 258 Control y monitorización de una plataforma móvil Adrián Madorrán Ibáñez 7.2.4 Capítulo 4: Comunicaciones. CAPÍTULO C04 COMUNICACIONES CÓDIGO CANTIDAD UD RESUMEN PRECIO SUBTOTAL IMPORTE _____________________________________________________________________________________________________________ M44 u MÓDULO BLUETOOTH EB301 Distribuido: MSE Bilbao. Fabricante: A7 Eng. Referencia: Sin descomposición TOTAL PARTIDA 45,00 Asciende el precio total de la partida a la mencionada cantidad de CUARENTA Y CINCO EUROS M45 u CABLE FTDI Distribuido: MSE Bilbao. Fabricante: FTDI. Referencia: TTL-232R5V. Sin descomposición TOTAL PARTIDA 21,00 Asciende el precio total de la partida a la mencionada cantidad de VEINTIUN EUROS M46 u USB BLUETOOTH NW545 Distribuido: Beep. Fabricante: Netway Referencia: Adaptador bluetooth USB, permite crear una conexión inalámbrica entre un PC y otro dispositivo. Versión 2.0 EDR. Adaptador clase 2 (10 metros máx.). Sin descomposición TOTAL PARTIDA 4,90 Asciende el precio total de la partida a la mencionada cantidad de CUATRO EUROS con NOVENTA CÉNTIMOS M31 u CONECTOR CI HEMBRA 6 PINES Suministrador: SEL. Referencia: BTWF6 Sin descomposición TOTAL PARTIDA 0,60 Asciende el precio total de la partida a la mencionada cantidad de CERO EUROS con SESENTA CÉNTIMOS M47 m CABLE APANTALLADO MULTICONDUCTOR Distribuido: Sel. Referencia: SHC4019 Sin descomposición TOTAL PARTIDA 1,30 Asciende el precio total de la partida a la mencionada cantidad de UN EUROS con TREINTA CÉNTIMOS M41 u PIN 2,54MM Suministrador: SEL. Referencia: Sin descomposición TOTAL PARTIDA 0,10 Asciende el precio total de la partida a la mencionada cantidad de CERO EUROS con DIEZ CÉNTIMOS Presupuesto Página 259 Control y monitorización de una plataforma móvil 7.2.5 Capítulo 5: Elementos Auxiliares. Adrián Madorrán Ibáñez CAPÍTULO C05 ELEMENTOS AUXILIARES CÓDIGO CANTIDAD UD RESUMEN PRECIO SUBTOTAL IMPORTE _____________________________________________________________________________________________________________ M49 u CARGADOR BATERIAS LIPO Distribuido: Sel. Fabricante: Fullwat. Referencia: FU-CLI1000. - Voltaje de entrada: 100-240VAC 50-60Hz - Salida: Autoajustable en 4,2V, 8,4V, 12,6V y 16,8V dependiendo de la batería conectada. Sin descomposición TOTAL PARTIDA 17,00 Asciende el precio total de la partida a la mencionada cantidad de DIECISIETE EUROS M50 m CABLE MULTIFIBRILAR ROJO Distribuido: Sel. Fabricante: Referencia: MOWR. Sin descomposición TOTAL PARTIDA 0,15 Asciende el precio total de la partida a la mencionada cantidad de CERO EUROS con QUINCE CÉNTIMOS M51 m CABLE MULTIFIBRILAR NEGRO Distribuido: Sel. Fabricante: Referencia: MOWBK. Sin descomposición TOTAL PARTIDA 0,15 Asciende el precio total de la partida a la mencionada cantidad de CERO EUROS con QUINCE CÉNTIMOS M52 m CABLE MULTIFIBRILAR BLANCO Distribuido: Sel. Fabricante: Referencia: MOWW. Sin descomposición TOTAL PARTIDA 0,15 Asciende el precio total de la partida a la mencionada cantidad de CERO EUROS con QUINCE CÉNTIMOS M53 m CABLE MULTIFIBRILAR AMARILLO Distribuido: Sel. Fabricante: Referencia: MOWY. Sin descomposición TOTAL PARTIDA 0,15 Asciende el precio total de la partida a la mencionada cantidad de CERO EUROS con QUINCE CÉNTIMOS M54 m CABLE MULTIFIBRILAR AZUL Distribuido: Sel. Fabricante: Referencia: MOWB. Sin descomposición TOTAL PARTIDA 0,15 Asciende el precio total de la partida a la mencionada cantidad de CERO EUROS con QUINCE CÉNTIMOS M55 m CABLE MULTIFIBRILAR VIOLETA Distribuido: Sel. Fabricante: Referencia: MOWV. Sin descomposición TOTAL PARTIDA 0,15 Asciende el precio total de la partida a la mencionada cantidad de CERO EUROS con QUINCE CÉNTIMOS Presupuesto Página 260 Control y monitorización de una plataforma móvil M56 m Adrián Madorrán Ibáñez CABLE MULTIFIBRILAR NARANJA Distribuido: Sel. Fabricante: Referencia: MOWO. Cable multifibrilar de aluminio de color naranja. Diámetro 1mm. Sin descomposición TOTAL PARTIDA 0,15 Asciende el precio total de la partida a la mencionada cantidad de CERO EUROS con QUINCE CÉNTIMOS M57 m CABLE MULTIFIBRILAR MARRÓN Distribuido: Sel. Fabricante: Referencia: MOWBR. Sin descomposición TOTAL PARTIDA 0,15 Asciende el precio total de la partida a la mencionada cantidad de CERO EUROS con QUINCE CÉNTIMOS M58 m CABLE MULTIFIBRILAR GRIS Distribuido: Sel. Fabricante: Referencia: MOWGR. Sin descomposición TOTAL PARTIDA 0,15 Asciende el precio total de la partida a la mencionada cantidad de CERO EUROS con QUINCE CÉNTIMOS M59 u BRIDA BLANCA Distribuido: Sel. Referencia: Sin descomposición TOTAL PARTIDA 0,10 Asciende el precio total de la partida a la mencionada cantidad de CERO EUROS con DIEZ CÉNTIMOS M60 m CINTA AISLANTE NEGRA Distribuido: Sel. Fabricante: Referencia: Sin descomposición TOTAL PARTIDA 1,00 Asciende el precio total de la partida a la mencionada cantidad de UN EUROS M61 m CINTA ADHESIVA DOBLE CARA Distribuido: Sel. Referencia: Sin descomposición TOTAL PARTIDA 1,00 Asciende el precio total de la partida a la mencionada cantidad de UN EUROS M62 u PEGATINA BLANCA Distribuido: Referencia: Pegatina blanca de 2x5cm. Sin descomposición TOTAL PARTIDA 0,05 Asciende el precio total de la partida a la mencionada cantidad de CERO EUROS con CINCO CÉNTIMOS M63 m ESTAÑO Distribuido: Sel. Referencia: Estaño sin plomo con alma de resina de 0,6 mm de diámetro. Sin descomposición TOTAL PARTIDA 3,00 Asciende el precio total de la partida a la mencionada cantidad de TRES EUROS Presupuesto Página 261 Control y monitorización de una plataforma móvil M65 m Adrián Madorrán Ibáñez TUBO TERMORRETRACTIL Distribuido: RSONLINE Referencia: 170-6383. Funda termorretractil negra de 3,2mm de diámetro. Sin descomposición TOTAL PARTIDA 2,51 Asciende el precio total de la partida a la mencionada cantidad de DOS EUROS con CINCUENTA Y UN CÉNTIMOS Presupuesto Página 262 Control y monitorización de una plataforma móvil 7.2.6 Capítulo 6: Mano de obra Adrián Madorrán Ibáñez CAPÍTULO C06 MANO DE OBRA CÓDIGO CANTIDAD UD RESUMEN PRECIO SUBTOTAL IMPORTE _____________________________________________________________________________________________________________ MO01 h MONTADOR PLATAFORMA Honorarios de un montador sin cualificación para la realización del montaje integro de la plataforma y conexión Sin descomposición TOTAL PARTIDA 6,00 Asciende el precio total de la partida a la mencionada cantidad de SEIS EUROS MO02 h MONTADOR PLACAS ELECTRONICAS Honorarios de un montador con cualificación básica para la realización de las placas electrónicas, taladrado. Sin descomposición TOTAL PARTIDA 8,00 Asciende el precio total de la partida a la mencionada cantidad de OCHO EUROS MO03 h PROGRAMADOR PIC16F877 Honorarios de un programador con cualificación para la programación en lenguaje C de un PIC 16F877. Sin descomposición TOTAL PARTIDA 30,00 Asciende el precio total de la partida a la mencionada cantidad de TREINTA EUROS MO04 h PROGRAMADOR PIC32 Honorarios de un programador con cualificación para la programación en lenguaje C de un PIC 32. Sin descomposición TOTAL PARTIDA 30,00 Asciende el precio total de la partida a la mencionada cantidad de TREINTA EUROS MO05 h PROGRAMADOR SOFTWARE Honorarios de un programador con cualificación para la programación en lenguaje C de un entorno en Borland C++ Sin descomposición TOTAL PARTIDA 30,00 Asciende el precio total de la partida a la mencionada cantidad de TREINTA EUROS Presupuesto Página 263 Control y monitorización de una plataforma móvil 7.3 Presupuesto. Adrián Madorrán Ibáñez RESUMEN DE PRESUPUESTO CONTROL Y PROGRAMACION DE UNA PLATAFORMA MOVIL CAPITULO RESUMEN EUROS _______________________________________________________________________________ C01 C02 C03 C04 C05 C06 % ________ PLATAFORMA ................................................................. 399,94 CONTROL PRINCIPAL ...................................................... 108,77 CONTROL DISTRIBUIDO ................................................... 75,04 COMUNICACIONES .......................................................... 73,18 ELEMENTOS AUXILIARES .................................................. 20,71 MANO DE OBRA .......................................................... 3.470,00 ___________________ 9,64 2,62 1,81 1,76 10,50 83,66 TOTAL EJECUCIÓN MATERIAL 4.147,64 13,00% Gastos generales ................................ 539,19 6,0% Beneficio industrial…… ........................ 248,86 ______________________________________________ SUMA DE G.G. y B.I…………………………….. 788,05 18,00 % I.V.A. ...................................... 888,42 _____________________________________________ TOTAL PRESUPUESTO CONTRATA 5.824,11 _____________________________________________ TOTAL PRESUPUESTO GENERAL 5.824,11 Asciende el presupuesto general a la expresada cantidad de CINCO MIL OCHOCIENTOS VEINTICUATRO EUROS con ONCE CÉNTIMOS LOGROÑO, a 6 de Junio de 2012. EL INGENIERO TECNICO INDUSTRIAL ADRIAN MADORRAN IBAÑEZ Presupuesto Página 264