DISSENY DEL SISTEMA DE CONTROL D’UN VEHICLE …
Transcript of DISSENY DEL SISTEMA DE CONTROL D’UN VEHICLE …
TREBALL FI DE GRAU
Grau en Enginyeria Electrònica Industrial i Automàtica.
DISSENY DEL SISTEMA DE CONTROL D’UN VEHICLE
AUTÒNOM SUBMARÍ
Memòria i Annexos
Autor: Gerard Bonavida Vila Director: Ivan Masmitjà i Rusinyol Convocatòria: Gener 2018
Disseny del sistema de control d’un vehicle autònom submarí
ii
RESUM DEL PROJECTE
En les últimes dècades l’àrea de l’electrònica avança feroçment en el mercat, oferint cada cop més
possibilitats de computació i emmagatzematge de dades. Aquesta àrea està dedicada a satisfer les
demandes tecnològiques tant d’empreses com usuaris.
Aquest fet ofereix la possibilitat de crear nous robots i vehicles autònoms, dotant-los fins i tot d’una
inteligència artificial.
També es complementa amb la necessitat innata de l’ésser humà per investigar noves àrees de
l’electrònica així com investigar els llocs inexplorats, inhòspits i hostils, on no arriba físicament una
persona.
Aquest treball se centra en la necessitat d’una renovació de l’electrònica del Guanay II, un submarí
autònom creat pel grup de recerca SARTI de la UPC.
La renovació i actualització dels components electrònics permet una major velocitat de computació i
la possibiltat d’afegir noves eines que permeten una major robustesa a la unitat de control.
Així doncs, el treball es distribueix en diferents apartats que s’anomenen a continuació.
En primer lloc, es fan unes anàlisis del mercat actual per evaluar els diferents dispositius i sistemes que
existeixen actualment, i finalment, veure cap on avança el mercat.
En segon lloc, es desenvolupa una adaptació del miniordinador NUC5i7RYH de la marca Intel, com a
unitat de control del Guanay II.
En tercer lloc, es dissenya una nova arquitectura de l’electrònica de control del Guanay II, passant a
anomenar-se Guanay 3.0. L’explicació d’aquest apartat és deguda a un canvi total de les tecnologies i
la capacitat actual de més control i computació de dades del submarí.
Per finalitzar, s’investiga, desenvolupa i innova sobre un sistema d’encesa, necessària per al Guanay
3.0. Per fer-ho es dissenyen dos prototips, el bàsic i el final. Amdós dispositius són dissenyats des de
zero i contenen un microcontrolador ATmega328P-PU. També s’estableix una connexió inalàmbrica a
través del ordinador i del dispositiu dissenyat. En aquest apartat es passa d’un disseny fet amb
ordinador a una placa física (PCB) on van soldats tots els components.
Les proves s’han dut a terme al laboratori i han permès verificar el seu correcte funcionament. Així
doncs, s’han assolit els objectius inicials del projecte i també ha permès adquirir un coneixement més
ampli en el camp de l’electrònica i dels AUV.
Disseny del sistema de control d’un vehicle autònom submarí
iii
Els apartats han estat resolts satisfactòriament.
Disseny del sistema de control d’un vehicle autònom submarí
iv
RESUMEN DEL PROYECTO
En las últimas décadas el área de la electrónica avanza ferozmente en el mercado, ofreciendo cada vez
más posibilidades de computación i almacenamiento de datos. Ésta área esta dedicada a satisfacer las
demandas tecnolóficas tanto de empresas como de usuarios.
Éste hecho ofrece la posibilidad de crear nuevos robots i vehiculos autónomos, dotándolos inluso de
una inteligéncia artificial.
También se complementa con la necesidad innata del ser humano para investigar nuevas áreas de la
electrónica, asi como investigar lugares inexplorados, inhspitos i hostiles, donde no llega físicamente
una persona.
Éste trabajo se centra en la necesidad de una renovación de al electrónica del Guanay II, un submarino
autónomo creado por el grupo de investigación SARTI de la UPC.
La renovación y actualización de los componentes electrónicos permiten una mayor velicidad de
computación i la posibilidad de añadir nuevas herramientas que permiten una mayor robustez a la
unidad de control.
Así pues, el trabajo se destribuye en diferentes apartados que se nombran a continuación.
En primer lugar, se hacen unos análisis del mercado actual para evaluar los diferentes dispositivos y
sistemas que existen actualmente, i finalmente, ver hacia dónde avanza el mercado.
En segundo lugar, se desenvolupa una adaptación del miniordenador NUC5i7RYH de la marca Intel,
como unidad de control del Guanay II.
En tercer lugar, se diseña una nueva arquitectura de la electrónica de control del Guanay II, pasando a
nombrarse Guanay 3.0. La explicación de éste apartado es debida a un cambio total de las tecnologias
i la capacidad actual de más control i computación de datos del submarino.
Para finalizar, se investiga, desarrolla i innova sobre un sistema de encendido, necesáreo para el
Guanay 3.0. Para eso, se diseñan dos prototipos, el básico i el final. Los dos dispositivos estan diseñados
desde cero y contienen un microcontrolador ATmega328P-PU. También se establece una conexión
inalámbrica a través del ordenador i del dispositivo diseñado. En este apartado se passa de un diseño
hecho con ordenador a una placa física (PCB) donde van soldados todos los componentes.
Disseny del sistema de control d’un vehicle autònom submarí
v
Las pruebas se han llevado a cabo en el laboratorio y han permitido verificar su correcto
funcionamiento. Así pues, se han alcanzado los objetivos iniciales del proyecto y también han
permitido adquirir un conocimiento más amplio en el campo de la electrónica y de los AUV.
Los apartados han estado resueltos satisfactóriamente.
Disseny del sistema de control d’un vehicle autònom submarí
vi
ABSTRACT
In the last decades, the area of electronics is advancing fiercely in the market, offering more and more possibilities of computing and data storage. This area is dedicated to satisfying the technological demands of both companies and users.
This fact offers the possibility of creating new robots and autonomous vehicles, endowing them with an artificial intelligence.
It is also complemented by the innate need of the human being to investigate new areas of electronics, as well as to investigate unexplored, inhospitable and hostile places where a person does not physically arrive.
This work focuses on the need for a renewal of the electronics of Guanay II, an autonomous submarine created by the SARTI research group of the UPC.
The renewal and updating of the electronic components allow greater computing velocity and the possibility of adding new tools that allow a greater robustness to the control unit.
Thus, the work is distributed in different sections that are named below.
In the first place, some analyzes of the current market are made to evaluate the different devices and systems that currently exist, and finally, to see where the market advances.
Secondly, an adaptation of the NUC5i7RYH minicomputer of the Intel brand Is developed, as the Guanay II control unit.
In third place, a new architecture of the Guanay II electronics control is designed, changing its name to Guanay 3.0. The explanation of this section is due to a total change of technologies and the current capacity of more control and data computation of the submarine.
Finally, we investigate, develop and innovate on a boot system, necessary for the Guanay 3.0. For that, two prototypes are designed, the basic and the final. The two devices are designed from scratch and contain an ATmega328P-PU microcontroller. A wireless connection is also established through the computer and the prototype device. In this section we go from a design made with a computer to a physical board (PCB) where all the components are welded.
The tests have been carried out in the laboratory and have allowed to verify its correct functioning.
Thus, the initial objectives of the project have been achieved and they have also allowed to acquire a broader knowledge in the field of electronics and AUV.
The sections have been resolved satisfactorily.
Disseny del sistema de control d’un vehicle autònom submarí
8
AGRAÏMENTS
Després d'un intens període de temps, puc escriure amb cert respir aquests agraïments.
Ha estat un aprenentatge intens i dur a nivell tècnic però també a nivell personal.
Ara és el moment de donar el meu més sentit agraïment a totes aquelles persones que m’han ajudat en aquest camí.
Primer de tot, dono les gràcies per haver-me facilitat un espai a la Universitat per poder desenvolupar el treball amb total llibertat.
A continuació, vull agraïr la col·laboració del director d’aquest TFG, Ivan Masmitjà i del professor Spartacus Gomariz. Gràcies pels vostres comentaris i consells, m’han ajudat a afinar la part tècnica.
També vull agrair la paciència dels meus pares, la meva germana, i familiars que han tingut amb mi tots aquests anys.
Per últim, agrair a tots els amics i companys que m’han animat en els moments que més ho necesitava.
De veritat, moltes gràcies a tots.
Gerard Bonavida Vila
Disseny del sistema de control d’un vehicle autònom submarí
10
ÍNDEX
RESUM DEL TREBALL ______________________________________________________ II
RESUMEN DEL TRABAJO __________________________________________________ IV
ABSTRACT _____________________________________________________________ VI
AGRAÏMENTS ___________________________________________________________ 8
CAPÍTOL 1. INTRODUCCIÓ _________________________________________________ 20
1.1. Estat de l’art ………..………………………………………………………………………………………………… 20
1.1.1. Vehicles autònoms submarins ……….……………………….……………………………… 21
1.2. Guanay II ……….………………………….………………………….………………………….…………………… 25
1.2.1. Funcionament general ……….………………………….…………………….………………… 26
1.3. Unitat de control ……….………………………….…………………………………………….………………… 27
1.4. Electrònica de la unitat de control ……….………………………….……………………………………… 28
1.5. Software de la unitat de control ……….………………………….………………………….…..………… 29
1.6. Objectius ……….………………………….………………………….………………………….…………………… 29
CAPÍTOL 2. ANÀLISIS DEL MERCAT __________________________________________ 30
2.1. Introducció …….………………………….………………………….………………………….……………..…… 30
2.2. Anàlisi Software ……….…………………………………………….………………………….……….………… 30
2.2.1. SO per microprocessadors ……….…………………….………………………….………………… 32
2.2.2. SO per microcontroladors ……….………………………….………………………………………… 36
2.3. Anàlisi de Hardware ……….……………………….……………….………………………….………………… 37
2.3.1. FPGA vs Microcontrolador vs Microprocessador ……….………………………….……… 37
Disseny del sistema de control d’un vehicle autònom submarí
11
2.3.2. Sistemes “Embedded” basats amb ARM ……….…………………………….………………… 44
2.3.3. Miniordinadors ……….………………………….………………………….…………………….……… 49
2.3.4. Microcontroladors Atmega328 vs MC9S08PT32 ……….………………..………………… 51
2.4. Futur del mercat …………………………………………………………………………………………………... 53
CAPÍTOL 3. GUANAY 2.1 __________________________________________________ 56
3.1. PC104+ ……….………………………….………………………….………………………….……………………… 56
3.2. Unitat de control del Guanay II i Guanay 2.1 ……………..………………………….………………… 59
3.2.1. Estructura de control del Guanay II ……….……..……………………….………………… 59
3.2.2. Estructura de control del Guanay 2.1 ……….……….………………….………………… 61
3.3. Proves experimentals ……….………………………….………….………………………….………………… 62
3.3.1. Sensor de temperatura LM35 ……….………….………………………….………………… 62
3.3.2. Industrial Pressure Sensor ……….……………………….…………………………………… 63
3.3.3. Introducció de la implementació amb Labview ……….……………………………… 64
3.3.4. Anàlisi detallat del programa ……….………………………….…………………………….. 67
3.4. Conclusions ……….………………………….……..………………….………………………….………………… 72
CAPÍTOL 4. GUANYAY 3.0 _________________________________________________ 73
4.1. Introducció ……….………………………….………………………….……………..………….………………… 73
4.2. Objectius ……….………………………….………………………….………………………….…………………… 73
4.3. Nova arquitectura Unitat de Control ……….………………………….………………………….……… 74
4.3.1. Guanay II ……….…………………………..…………….………………………….………………… 74
4.3.2. Guanay 3.0 ……….………….………………………….………………………….………………… 75
4.4. Funcionament de la nova arquitectura ……….………………………….……………………………… 81
Disseny del sistema de control d’un vehicle autònom submarí
12
4.5. Consum potencia ……….………………………..………………….………………………….………………… 82
4.6. Justificació de la nova arquitectura ……….…………………….……………………….………………… 83
4.7. Conclusions ……….………………………….………………………….…………………………………………… 84
4.8. Nous horitzons ……….………………………….………………………….……..…………….………………… 85
CAPÍTOL 5. DISSENY DEL SISTEMA D’ENCESA PER AL GUANAY 3.0 _________________ 86
5.1. Prototip I. Circuit bàsic amb el microcontrolador ATmega328P ……….…….……………….. 86
5.1.1. Altres problemas ……….………………………….………………………….…………………… 91
5.2. Prototip II. Disseny final del circuit d’encesa ……….………………………….………………….…… 92
5.2.1. Descripció de pins ……….……………………………………………………….………………… 93
5.2.2. Control manual i automàtic ……….………………………….…………………………..…… 95
5.2.3. Sistema d’encesa software ……….………………………….………………………………… 95
5.2.4. Comandes registrades ……….………………………….…………………………………..….. 97
5.2.5. Xbee ……….………………………….………………………….……………………………………… 98
5.2.6. Esquema placa general ……….………………………….……………………………….…… 102
5.2.7. Problemes del prototip II ……….………………………….………………………….……… 106
5.3. Resultat final del prototip I i prototip II ……….………………………….………………………….… 111
5.4. Conclusions ……….………………………….………………………….………………………………………… 111
CONCLUSIONS FINALS ___________________________________________________ 113
PRESSUPOSTOS ________________________________________________________ 115
BIBLIOGRAFIA _________________________________________________________ 126
ANNEX I ______________________________________________________________134
ANNEX II _____________________________________________________________ 142
Disseny del sistema de control d’un vehicle autònom submarí
13
ÍNDEX DE FIGURES I TAULES
CAPÍTOL 1. INTRODUCCIÓ
Figura 1.0. Esquema general de vehicles autònoms …………………………………………………….. 20
Figura 1.1. Esquema de vehicles autònoms marins …………………….………………….……………… 21
Figura 1.2. Submarí tripulat ……….…………………………..………………………….…………………………. 21
Figura 1.3. Submarí no tripulat ……….………………………….…………………………….………………….. 21
Figura 1.4. ROV ……….………………………….………………………….………………………….………………… 22
Figura 1.5. AUV ……….………………………….………………………….………………………….………………… 22
Figura 1.6. AUV Propulsat ……….……………………….………………………….………………………….…… 22
Figura 1.7. AUV Glider ……….………………………….……………………….………………………….………… 23
Figura 1.8. Moviment AUV Glider ……….………………………….…………….…………….………………… 23
Figura 1.9. AUV Biomimètic ……….………………………….……….………………………….………………… 23
Figura 1.10. Estructura AUV WaveGlider ………..………………………….………………………….……… 24
Figura 1.11. Moviment AUV WaveGlider ……….………….…………….………………………….………… 24
Figura 1.12. Guanay II ……….………………………….……………………….………………………….……….… 25
Figura 1.13. Funcionament del Guanay II ……….………………………….……………….………………… 26
Figura 1.14. Estructura de funcionament del Guanay II ……….…………….……….………………… 26
Figura 1.15. Placa PC104+ ……….…………….…………….………………………….………………………….… 27
Figura 1.16. Interior Guanay II ……….……………….……………….………………………….………………… 28
CAPITOL 2. MERCAT
Figura 2.0. Diagrama blocs funcionament dispositiu ……….………………………….…………………. 31
Figura 2.1. “Logos” de diferents sistemes operatius ……….………………………….………………….. 31
Disseny del sistema de control d’un vehicle autònom submarí
14
Figura 2.2. Rendiment SO Windows 10 (esquerra) i distribució de tasques (dreta) ………… 32
Figura 2.3. FPGA ice40LPKQN84 de Lattice (esquerra) i FPGA spartan XC3S250AN de Xilinx
(dreta) ……….………………………….…………………….………………………….…………………..……………… 38
Figura 2.4. Estructura interna d’una FPGA ……….………………………….…………..….………………… 38
Figura 2.5. Microcontrolador ATmega328P de Microchip (esquerra) i microcontrolador
TMS320F28335 de Texas Instrument (dreta) ………………………………………………………………… 39
Figura 2.6. Arquitectura del microcontrolador ATmega328p ……….………………………………… 40
Figura 2.7. Arquitectura del microcontrolador LM4F120 ……….…………………….………………… 41
Figura 2.8. Posicions dels diferents sistemes segons la computació de dades, preu i consum
elèctric ………….………………………….………………………….………………………….………..………………… 41
Figura 2.9. Gràfic de proveïdors de microcontroladors a nivell mundial el 2015 ……….……. 42
Figura 2.10. Arquitectura de Von Neumann ……….………………………….……………………………… 43
Figura 2.11. Raspberry PI 2 Model B (esquerra) i Raspberry Pi 3 Model B (dreta) …………… 44
Figura 2.12. Disposició dels pins de la Raspberry Pi 3 B ……….………………………………………… 46
Figura 2.13. BeagleBone Black ……….………………………….………………………….……………………… 47
Figura 2.14. Pins de la BeagleBone Black ……….………….…….………………………….………………… 48
Figura 2.15. Intel NUC (esquerra) i Asus VivoMini (dreta) ……….……………………….…………… 49
Figura 2.16. Microcontrolador ATmega328P ……….………………………….………….………………… 51
Figura 2.17. Microcontrolador LQFP32 ……….……………………….…………………….………………… 52
Figura 2.18. Diagrama de blocs del SoC de la marca Nordic Semiconductor ……….………… 54
Figura 2.19. Gràfic del mercat del IoT ……….……………………………..………………….………………… 55
Taula 2.0. SO de Windows més rellevants ordenats cronològicament ……….………………..… 33
Taula 2.1. Microcontroladors que admeten el SO FreeRTOS ……….……………………………….… 37
Disseny del sistema de control d’un vehicle autònom submarí
15
Taula 2.2. Característiques de la Raspberry Pi 2 B i Raspberry Pi 3 B ……….……………………… 45
Taula 2.3. Característiques de la BeagleBone Black ……….…………………………….………………… 48
Taula 2.4. Característiques de Intel NUC5iRYH i de Asus VivoMini UN65 ……….……………… 50
Taula 2.5. Venta de microcontroladors (en milions de dòlars) ……………………..………………… 51
Taula 2.6. Característiques del ATmega328P i del MC9S08PT32 ……….…………………………… 52
CAPÍTOL 3. Guanay 2.1
Figura 3.0. PC104 (esquerra) i Intel NUC5i7RYH (dreta) ……….………………………….………..…… 56
Figura 3.1. Arquitectura Guanay II ……….………………………….………………………….………………… 59
Figura 3.2. HIRK-315AP ……….………………………….………………………….…………….………………..… 60
Figura 3.3. CTD XR-420 ……….………………………….………………………….……………….………………… 61
Figura 3.4. Arquitectura Guanay 2.1 ……….………………………….……………………….………………… 61
Figura 3.5. Sensor LM35 ……….………………………….…..…………………….……………………………….. 63
Figura 3.6. Sensor de pressió ……….………………………….………………………………….………………… 63
Figura 3.7. DAQ USB-6008 ……….………………………….………….………………………….………………… 64
Figura 3.8. Panell frontal Labview. Programa parat ……….………………………….…………………… 65
Figura 3.9. Diagrama blocs Labview. Programa parat ……….………………………….………………… 66
Figura 3.10. Panell Frontal (esquerra) i diagrama de blocs (dreta). Programa en
funcionament ……….………….………………………….………………………….…….………….………………… 66
Figura 3.11. Diagrama blocs DAQ Assistant ……….………………………….………………………….…… 67
Figura 3.12. Diagrama de blocs amb gràfic ……….………………………..……………….………………… 68
Figura 3.13. Lectura valors temperatura i pressio en volts ……….……………………………………. 68
Figura 3.14. Diagrama blocs temperatura ……….………………………….………………………………… 68
Figura 3.15. Valor de la temperatura amb graus ……….………………………….……………………..… 69
Disseny del sistema de control d’un vehicle autònom submarí
16
Figura 3.16. Diagrama blocs sensor pressió ……….………………………….…………….………………… 70
Figura 3.17. Valors de pressió en Bar (sobre) i hPa (sota) ……….……………………………………… 70
Figura 3.18. DAQ amb sensor de temperatura i pressió ……….………………………………………… 71
Taula 3.0. Comparativa entre PC104 i Intel NUC5i7RYH ……….………………………….…………… 57
CAPÍTOL 4. Guanay 3.0
Figura 4.0. Arquitectura Guanay II ……….………………………….………………………….………………… 74
Figura 4.1. Esquema bàsic del Guanay 3.0 ……….…………………………….…………….………..……… 75
Figura 4.2. Arquitectura del Guanay 3.0 ……….………………………….………………………….………… 76
Figura 4.3. Dispositiu Intel NUC ……….………………………….……………….…………….…………….…… 77
Figura 4.4. Dispositiu BeagleBone Black ……….………………………….…………………………………… 77
Figura 4.5. Safety: Raspberry Pi 3 Model B ……….………………………….……………….……………… 78
Figura 4.6. Funcionament del sistema de seguretat ……….………………………….……………….… 79
Figura 4.7. Boot System: ATmega328P-PU ……….………………………….………………………..……… 80
Figura 4.8. Bus I2C ……….………………………….………………….….………………………….………………… 84
Taula 4.0. Potència Guanay II ……….………………………….………………………….…………..…………… 82
Taula 4.1. Potència Guanay 3.0 ……….………..…………………….………………………….………………… 83
CAPÍTOL 5. Disseny del sistema d’encesa per al Guanay 3.0
Figura 5.0. Esquema pel funcionament bàsic del prototip I ……….…………………………………… 87
Figura 5.1. Prototip II en protoboard ……….………………………….……………………...………………… 87
Figura 5.2. USB a TTL model FT232RL ……….………………………….………………………….…….……… 88
Figura 5.3. Selecció microcontrolador i port (COM) ……….………………………….…………………… 89
Figura 5.4. Esquema ATmega328P-PU amb polsador ……….………………………….……………..… 90
Disseny del sistema de control d’un vehicle autònom submarí
17
Figura 5.5. Compilació programa ……….………………………….……………..…………….………………… 90
Figura 5.6. Pujada programa ……….………………………….………………………….………………………… 91
Figura 5.7. Programa pujat ……….………………………….………………………….…………………………… 91
Figura 5.8. Circuit enclavament Raspberry ……….………………………….………….……………….…… 93
Figura 5.9. Diagrama d’estats del sistema d’encesa ……….………………………….…………….…… 96
Figura 5.10. Xbee S2C ……….………………………….………………………….…………….…………………….. 98
Figura 5.11. Xarxa amb forma d’estrella ……….………………………….…………………………………… 98
Figura 5.12. XCTU amb els dos Xbee ……….………………………….…………………………….………….. 99
Figura 5.13. Mòdul A000021 per adaptar el Xbee a Arduino Uno ……….………………………… 99
Figura 5.14. Esquema per al funcionament de la comunicació RF ……….…………………….… 100
Figura 5.15. Comunicació a través del xat de XCTU. Misssatge enviat (vermell) i missatge
rebut (blau) ………………………………………………………………..……….…………………………………….. 100
Figura 5.16. Pins Xbee S2C ……….………………………….………………………….………………………….. 101
Figura 5.17. Conexionat del ATmega328P-Pu amb els pins referenciats …….………………… 102
Figura 5.18. Power system ……….………………………….………………………….…………………………. 102
Figura 5.19. Sistema de relés i interruptors (manual/automàtic) ……….………………………… 104
Figura 5.20. Leds indicadors d’estat. Groc, vermell i verd ……….………………………….………… 105
Figura 5.21. PCB amb la distribució dels components del prototip II ……….……………………. 105
Figura 5.22. Mòdul A000021 amb Xbee, ATmega328P-PU i Arduino Uno ……….…………… 107
Figura 5.23. Pics voltatge prototip II. V: 1 V/DIV, H: 500 ns/DIV ……….……………….………….. 108
Figura 5.24. Solució pels rebots del polsador ……….………………………….………………………..… 108
Figura 5.25. Solució pels pics de voltatge ……….………………………………………….………………… 109
Figura 5.26. Interruptor erroni (esquerra) i interruptor correcte (dreta) ……….……………… 109
Disseny del sistema de control d’un vehicle autònom submarí
18
Figura 5.27. Situació de nous components al prototip II ……….………………………….………..… 110
Figura 5.28. “Bottom” de la PCB ……….………………………….………………………….…………….…… 110
Figura 5.29. Prototip I ……….………………………….………………………….………………………………… 111
Figura 5.30. Prototip II amb el Xbee ……….………………………….……………………….……………… 111
Taula 5.0. Pins del prototip II. Disseny final del sistema d’encesa ……..……………………….…… 95
Taula 5.1. Pins requerits per al funcionament del Xbee ……….………………………………………. 101
Disseny del sistema de control d’un vehicle autònom submarí
20
CAPÍTOL 1. INTRODUCCIÓ
En el primer capítol hi ha una introducció del treball de final de grau d’Enginyeria Electrònica
Industrial i Automàtica.
El primer apartat es parla sobre l’estat de l’art dels vehicles autònoms i centra l’atenció amb els
vehicles autònoms submarins.
En segon lloc s’introdueix al lector al Guanay II, un vehicle submarí autònom dissenyat per la UPC.
Finalment, s’exposen els objectius que té el treball.
1.1. Estat de l’art
En els últims anys els fabricants de vehicles estan centrant la seva atenció en els vehicles autònoms.
Això és degut a que la tecnologia necessària per fer funcionar un vehicle autònom d’aquestes
característiques ja pot ser integrada dins del vehicle.
En el sector del automòbil està sent una gran revolució degut a la necessitat de renovació, innovació
i millora dels vehicles.
Les avantatges principals que ens aporten aquests vehicles són:
- Van lligats a una tecnologia més neta on els motors per fer-los moure són
elèctrics.
- Un vehicle autònom no requereix de conductor. Molt útil per fer els vehicles
més reduïts, econòmics i destinats a tasques perilloses.
- Eliminació del error humà.
El seu ús és cada cop més extens i estan en tots els camps: mar, terra i aire.
Figura 1.0. Esquema general de vehicles autònoms
Disseny del sistema de control d’un vehicle autònom submarí
21
1.1.1. Vehicles autònoms submarins
Els vehicles autònoms submarins, amb anglès Autonomous Underwater Vehicle (AUV), van sorgir
degut a la necessitat d’una exploració més detallada del fons marí, així com de les bases petrolíferes
i detecció de mines marines entre d’altres. Arribant a llocs on inabastables per l’home.
Aquests vehicles permeten treballar amb més altes presions i sense limitacions de llum.
Aquest tipus de vehicles es poden classificar com a tripulats i no tripulats.
L’esquema de la Figura 1.1 està distribuït de la següent manera.
Els vehicles submarins estan classificats en dos grans blocs: els tripulats (UMV) i els no tripulats
(UUV). Els primers tindran un o més operaris dins el propi submarí.
Figura 1.1. Esquema de vehicles autònoms marins [1].
Figura 1.2. Submarí tripulat [2]. Figura 1.3. Submarí no tripulat [3].
Disseny del sistema de control d’un vehicle autònom submarí
22
En el bloc dels vehicles no tripulats (UUV) s’hi troben els vehicles teledirigits (ROV) i els vehicles
autònoms (AUV). La diferència que hi ha entre els dos, és que els ROV són vehicles submarins
cablejats on l’operari està a la superfície dirigint el submarí, en canvi, els AUV són vehicles
autònoms, no necessiten cap operari dirigint el vehicle, sinó que ell sol fa les tasques que té
encomanades, prèviament carregades al la unitat de control pels operaris.
Dins dels vehicles (AUV) hi trobem cuatre grups principals:
- AUV Propulsats:
Vehicles autònoms propulsats per motors a propulsió o amb hèlices. Solen ser
els més habituals.
Figura 1.4. ROV [4]. Figura 1.5. AUV [5]
Figura 1.6. AUV Propulsat [6].
Disseny del sistema de control d’un vehicle autònom submarí
23
- AUV Glider:
També anomenats planadors, es propulsen amb unes ales, mitjançant un
moviment degut a un canvi de flotabilitat.
El seu funcionament permet convertir el moviment vertical en horitzontal. Així,
s’obtindrà un sistema de molt baix consum elèctric.
AUV Biomimètics [9]:
Presenten una estructura que emula els moviments dels animals marins. Els
més habituals són els que tenen una estructura amb forma de peix, tot i que
també hi ha en forma de tortuga entre d’altres.
Figura 1.7. AUV Glider [7].
Figura 1.8. Moviment AUV Glider [8].
Figura 1.9. AUV Biomimètic [10]
Disseny del sistema de control d’un vehicle autònom submarí
24
- AUV WaveGlider:
També anomenats patins, són vehicles que es mouen mitjançant la força de les
onades.
Tenen un molt baix consum elèctric ja que inclouen una placa solar a la
superfície per autoregenerar les bateries. Aquestes només gestionen el control
del vehicle, no per la propulsió del mateix.
En Figura 1.11 es pot veure el funcionament del vehicle.
Figura 1.10. Estructura AUV WaveGlider [11].
Figura 1.11. Moviment AUV WaveGlider.
Disseny del sistema de control d’un vehicle autònom submarí
25
1.2. Guanay II
El Guanay II (Figura 1.12) és un AUV dissenyat per la UPC, en concret pel grup de recerca de
Sistemes d’Adquisició Remota i Tractament de la Informació (SARTI).
És un vehicle autònom dirigit i propulsat per hèlices, en concret, una hèlix per la propulsió i
dues pel moviment de direcció.
El seu disseny està pensat per la investigació oceanogràfica.
La seva funció dins de la investigació oceanogràfica se centra en realitzar mesures en columnes
d’aigua. Les columnes d’aigua són perfils verticals que hi ha dins d’una superfície marina en un
punt concret.
El moviment vertical s’aconsegueix mijtançant un canvi de flotabilitat del vehicle, que provoca
poques perturbacions en el medi.
En la figura següent es pot veure el funcionament del Guanay II.
Figura 1.12. Guanay II [1].
Disseny del sistema de control d’un vehicle autònom submarí
26
1.2.1. Funcionament general
Per al funcionament del Guanay II són necessaris dos equips bàsics, un a l’exterior per rebre i tractar
les dades, i prendre decisions, i un altre a l’interior, propi del vehicle per poder desenvolupar les
tasques autònomament.
Figura 1.13. Funcionament del Guanay II [2].
Figura 1.14. Estructura de funcionament del Guanay II [2]-
Disseny del sistema de control d’un vehicle autònom submarí
27
A continuació es detalla l’estructura de funcionament mostrat a la Figura 1.14.
Bloc 1. Interior del Guanay II:
- Sistema de control i tractament de dades (Control Unit PC104+).
- Sistema de seguretat (Safety System).
- Sistema d’energia (Power Unit).
- Sistema de navegació (Navigation System).
- Sistema de comunicació (Inclou Ràdio mòdem i Wifi)
- Sistema de propulsió i immersió (Propulsion/Immercion System)
- Sistema d’adquisició de dades (Data acquisition System)
Bloc 2. Estació base a l’exterior del Guanay II:
- Ordinador per al control (GUI) del vehicle.
- Sistema de comunicació (Inclou Radiomòdem i Wifi)
El llenguatge de programació amb el que ha estat programada la unitat de control PC104+ és el
Labview.
A l’estació base hi trobarem una interfície gràfica que ens mostrarà la ruta del vehicle, i dades com
l’estat del submarí entre d’altres.
1.3. Unitat de control
La unitat de control principal del Guanay II és una placa “Embedded” anomenada PC104+.
El PC104+ és una placa de la companyia AMD que utilitza un processador Geocode LX800 a 500MHz.
Té un consum màxim d’uns 12 W. Disposa d’una ranura per posar una memòria DDR S0-DIMM,
també conté una ranura per incloure una memòria compact Flash.
Figura 1.15. Placa PC104+ [1].
Disseny del sistema de control d’un vehicle autònom submarí
28
1.4. Electrònica de la unitat de control
La unitat de control del Guanay II, que és el PC104+, és una placa que té més de 20 anys. És evident
que l’electrònica actual amb la de fa 20 anys no té res a veure en quant a capacitat de tractament i
emmagatzement de dades, així com el tamany de la placa.
Actualment, els sistemes “Embedded” (com el PC104+) són molt extensos en el mercat. Si
comparem el PC104+ amb qualsevol dispositiu actual en quant a preu, les seves característiques de
computació quatripliquen, en el pitjor dels casos, les característiques del PC104+.
Un exemple de preus en quant a la computació de dades, és a dir, comparant dos processadors, el
PC104+ que costa uns 400 € equivaldria a una Raspberry Pi 1 Model A que costa uns 25 €. Així doncs,
es pot arribar a la conclusió de que l’electrònica de control de la que disposa el Guanay II està
completament desfasada.
La disposició de tota la electrònica, inclòs el sistema de bateries, se situa en un cilindre
completament estanc. En la següent figura es pot veure la seva disposició.
Figura 1.16. Interior Guanay II [1].
Disseny del sistema de control d’un vehicle autònom submarí
29
1.5. Software de la unitat de control
El software (interfície) per fer funcionar la unitat de control és el Labview.
Labview és una plataforma de progamació basada en objectes de pagament.
Actualment, hi ha multitud de plataformes (software) lliures per a la programació dels diferents
dispositius. Aquest tipus de software s’anomena Open Source (codi obert).
El software lliure per a la programació de microcontroladors més famosa i actual és Arduino, i en
quant a microprocessadors la plataforma més utilitzada és Linux o derivats d’aquest.
1.6. Objectius
El treball està basat en quatre blocs:
Anàlisis de mercat, Guanay 2.1, Guanay 3.0 i I+D+I.
Cada capítol tindrà les seves pròpies conclusions ja que el treball de fi de grau es presenta com una
anàlisi general sobre les unitats de control.
Per tant, els objectius comuns que es persegueixen en els capítols és la recerca veraç i eficaç de la
informació, utilització de plataformes Open Source i investigació d’aquestes, resoldre problemes de
seguretat en la unitats de control del Guanay II, la recerca de tecnologies actuals i per últim, la
correcta planificació del treball.
També es vol dotar al Guanay d’una nova unitat de control, que permeti unes majors prestacions i
noves funcionalitats al vehicle. Millorant la computació de dades, la robustesa de la unitat de
control, la precisió durant la navegació i una major adquisició de dades entre d’altres. Ja que
actualment, amb el PC104+ el sistema es satura.
En definitiva, es vol fer un estudi sobre una actualització de mitja vida de la unitat de control del
Guanay II.
Disseny del sistema de control d’un vehicle autònom submarí
30
CAPÍTOL 2. ANÀLISIS DEL MERCAT
2.1. Introducció
En aquest apartat es fa una anàlisi sobre les diferents tecnologies que s’inclouen en aquest
treball, centrat amb el control dels vehicles.
2.2. Anàlisi Software
En aquest apartat es parla sobre el diferent software que existeix actualment.
S’ha decidit fer una anàlisi dels sistemes operatius per al control de vehicles, ja que la
tecnologia avança molt ràpidament i en conseqüència, les facilitats per tenir-la, tant
econòmicament com per treballar, estudiar, computar dades,…
Aquest estudi només es basa en les principals eines de software, ja que és impossible fer
un anàlisis complet de tot el software que hi ha al mercat ja que és absolutament immensa.
En aquest estudi es fa especial enfàsi amb les idees que es van perseguint en tot el treball:
Open Source, comunitat, expansibilitat i econòmic.
Disseny del sistema de control d’un vehicle autònom submarí
31
Sistemes Operatius (SO)
Un sistema operatiu és el software principal o conjunt de programes d’un sistema informàtic que
formen una capa de gestió entre la aplicació que volem desenvolupar i el hardware (components).
Aquest inclou un conjunt d’eines de sistema operatiu com entorns gràfics, explorador de fitxers,
navegador web, programes predeterminats i d’altres.
Existeixen infinitat de sistemes operatius. Si ens movem en un apartat més informàtic trobarem
sistemes operatius molt potents, per tractar gran quantitat de dades. Ara bé, per totes les
aplicacions no necessitem uns sistemes operatius potents, com és el cas dels microcontroladors.
Per fer un análisis més detallat s’explicaràn dos tipus de sistemes operatius, els que s’utilitzen per
informàtica (microprocessadors) i per control de sistemes més simples (microcontroladors).
Tots els SO són seqüencials, és a dir, no poden executar totes les tasques/processos alhora, sinó
que ho fan un per un.
A nivell d’usuari no podem veure l’execució d’aquests processos degut a la seva rapidesa.
Figura 2.0. Diagrama blocs funcionament dispositiu.
Figura 2.1. “Logos” de diferents sistemes operatius [12].
Disseny del sistema de control d’un vehicle autònom submarí
32
Actualment, aquesta velocitat en qualsevol SO per ordinador sol treballar a uns 3,0 GHz, que serien
uns 3,33 · 10−10 segons. Per tant, veure seqüencialment aquestes tasques és impossible.
2.2.1. SO per microprocessadors
Windows 10
És un sistema operatiu desenvolupat per Windows [13]. És el SO més actual que té
Windows i va sortir al mercat a mitjans de 2015.
Generalment s’utilitza en microprocessadors, que són els cervells dels ordinadors.
Windows és el sistema operatiu més utilitzat en tot el món, tant per tenir una interficie fàcil i
amigable per tot usuari com per les fortes campanyes de màrketing que duen a terme.
El primer SO que va llançar Windows va ser l’any 1985 i s’anomenava Windows 1.0. Competia
directament amb el SO d’ Apple. No va tenir massa èxit degut a la poca funcionalitat que tenia.
Evidentment, Windows va seguir desenvolupant SO fins a dia d’avui.
La llista de SO és extensa, per tant, en la següent taula [posar número taula] s’anomenen els SO de
Windows que van introduir un canvi notable al món informàtic:
Figura 2.2. Rendiment SO Windows 10 (esquerra) i distribució de tasques (dreta)
Disseny del sistema de control d’un vehicle autònom submarí
33
Taula 2.0. SO de Windows més rellevants ordenats cronològicament.
Pel que fa a Windows 10, conté una gran comunitat, suport per part de l’empresa, interfície
amigable per l’usuari, facilitat per trobar components, programes, drivers i d’altres.
Ara bé, té força inconvenients, i si bé no es noten a nivell d’usuari (que no li donarà un ús concret)
sí que presenta inconvenients per aplicacions concretes o SO dedicats.
A continuació es detallen els problemes que es troben a l’utilitzar Windows 10 o qualsevol SO de
Windows:
1) Actualitzacions constants
És una bona opció si no necesitem que el SO estigui completament dedicat a una
aplicació.
Windows 10 permet ometre les actualitzacions però no és 100% funcional, és a dir, que
hi haurà cops que se’ns actualitzarà igualment.
Per solucionar aquest problema s’haurà de “hackejar” el SO, que consisteix entre
d’altres tasques en desactivar el SO del rellotge del PC.
2) Aplicacions inservibles
Per defecte, hi ha instal·lades unes aplicacions, que si bé com a usuari ens poden resultar
útils, com a SO dedicat ens seran inservibles. Ocuparan memòria tant ROM com RAM,
espai i processos.
Sistema Operatiu Any
Windows 1.0 1985
Windows 3.0 1990
Windows 95 1995
Windows 2000 2000
Windows XP 2001
Windows Vista 2007
Windows 10 2015
Disseny del sistema de control d’un vehicle autònom submarí
34
3) Procesos inservibles
Windows 10 utilitza processos inservibles, que a nivell de SO dedicat ens faran perdre
rapidesa en tractament de dades.
4) Numeració de processos
No es poden numerar els processos. Això és crític en un SO dedicat.
5) No apte per microcontroladors
Degut a la quantitat de recursos que utilitza i l’arquitectura del SO, és incompatible amb
la majoria de microcontroladors que existeixen al mercat.
6) Virus
La gran majoria de virus que hi ha, estan digirits al SO de Windows, ja que és el SO més
utilitzat en tot el món. Això suposa un gran problema per la integritat del propi sistema.
7) Preu
Windows 10 és un SO privatiu, i per tant, d’una empresa privada.
El seu preu oscila entre 50-2000 € segons la versió que es vulgui del SO i dels diferents
serveis que es volen demanar a l’empresa.
8) No és una plataforma Open Source
No es poden veure ni obtenir les fonts del SO per poder canviar les diferents
característiques d’aquest.
Per tant, s’arriba a la conclusió de que a nivell d’usuari és un bon sistema operatiu, amb una gran
comunitat i serveis de la pròpia empresa per solucionar problemes.
A nivell de SO dedicat per a una aplicació concreta, com és la unitat de control del Guanay, resulta
inconcebible tenir un SO que no es pot controlar al 100%.
Disseny del sistema de control d’un vehicle autònom submarí
35
Mac OS (Macintosh Operating System)
És un sistema operatiu desenvolupat per Apple [14]. El seu primer SO
anomenat “classic” Mac OS, va sortir al mercat l’any 1984 i anava dirigit al
públic en general.
Comptava amb una interfície gràfica composta per un ratolí (mouse), finestres, icones i menús.
El SO més recent és el Mac OS i compta amb un gran nombre d’usuaris, ja que la interfície gràfica
és molt amigable per l’usuari i li aporta una exclusivitat que altres sistemes operatius no donen.
A més, està altament protegit de virus, cosa que altres SO no poden fer gaire ostentació. Per
suposat, també compta amb un gran suport per part de l’empresa Apple.
Mac OS té els mateixos inconvenients que Windows, fins i tot els incrementa (per exemple el preu,
la exlusivitat i la falta de configuracions). No obstant això, els virus en Mac OS es redueixen
notablement.
Per tant, és el SO menys ideal per un SO dedicat.
GNU/Linux
És un sistema operatiu lliure gratuït basat amb la combinació de diversos projectes
entre els quals es destaquen GNU i Free Software Foundation [15].
Tot el seu codi font pot ser obtingut, modificat i redistribuït gratuïtament subjecte
a les normes de la GNU (General Public Licence).
Permet suportar plataformes com DEC Alpha, x86, AVR32, ARM d’entre altres.
Això vol dir que pot anar dedicat tant a microprocessadors (DEC Apha, x86, ARM) com a micro-
controladors (AVR32, ARM).
Tot és configurable, per tant, podem tenir un control del 100% dels processos, de les actualitzacions
i de les tasques que s’han de desenvolupar. Per un sistema dedicat ens serà de gran utilitat.
Aquest SO ha permès que existeixin derivats del propi sistema, per exemple Android.
Disseny del sistema de control d’un vehicle autònom submarí
36
Hi ha versions que tenen unes millors interfícies gràfiques per ser utilitzades per l’usuari i d’altres
que tindran una interfície gràfica més pobre.
Al darrere d’aquest SO hi trobem una extensa comunitat, que permet que el software lliure segueixi
avançant. Tot desinteressadament, sense cap benefici econòmic.
Ara bé, com en els altres dos SO anteriors existeixen uns inconvenients:
1) Codi variable
Com que qualsevol usuari pot modificar el codi, es poden produir incompatiblitats a
l’hora de canviar a una nova versió.
2) Solució problemes
Els problemes els ha de sol·lucionar el propi usuari ja que no hi ha cap empresa al darrere
que dongui suport a aquest SO.
3) Drivers i d’altres
Tots els programes i drivers que es volen instal·lar no tenen una versió per Linux.
Poc a poc, aquest inconvenient va desapareixent ja que la majoria de programes venen
amb Windows, Mac OS i Linux.
Per tant, a nivell d’usuari no acaba de ser un bon SO degut a que per fer-ne ús, es necesiten uns
coneixements mínims de programació i del llenguatge (C, Python i d’altres), ara bé, conté una gran
comunitat i és una eina completament gratuïta.
A nivell de SO dedicat a una aplicació concreta, com en el cas del Guanay, resulta el SO més adient
a nivell de microprocessador.
Si es vol implementar en un microcontrolador s’haurà de tenir en compte la pròpia arquitectura
d’aquest, les necessitats de l’usuari i la aplicació per la qual es vol fer servir.
2.2.2. SO per microcontroladors
Free RTOS
És un SO dedicat especialment per a microcontroladors [16], no obstant, no tots els
microcontroladors poden suportar el SO, dependrà de les especificiacions del mateix
microcontrolador.
Disseny del sistema de control d’un vehicle autònom submarí
37
És un SO que es basa en la distribució de tasques per prioritats, tal com faria un SO ja creat com
Windows10, mac OS o Linux. Això permet distribuir les tasques lliurement, com l’usuari desitgi.
Si bé és un avantatge per sistemes no gaire complexos,és costós quan es necessita un SO que realitzi
més tasques amb cents de prioritats.
En la següent taula es mostren uns quants microcontroladors que admeten aquest sistema
operatiu. A la pàgina oficial de freertos es poden trobar tots els models compatibles. En general, els
fabricants de microcontroladors solen posar en el datasheet l’admeten.
Linux
Com s’ha esmentat al apartat anterior. Linux i els seus derivats poden funcionar en
microcontroladors que dependrà de les especificacions del fabricant d’aquest.
2.3. Análisis de Hardware
En aquest apartat es parlarà del hardware actual que podem trobar en qualsevol unitat de control.
2.3.1. FPGA vs Microcontrolador vs Microprocessador
La diferència principal que hi ha entre un microcontrolador, un microprocessador i una FPGA (Field
Programmable Gate Array) és que les dues primeres són seqüencials i la darrera és combinacional
(executa tot el codi alhora).
A continuació, s’explica les diferents característiques de cadascun d’ells.
Companyia Microcontrolador
Atmel SAMV7, SAM3, SAM4,AT91
Microhip PIC32MX, PIC24EP, CEC17xx, MEC17xx
NXP LPC1500, LPC1700, LPC1800, LPC4000
Texas Instrument RM48, TMS570, MSP430X, MSP432
Renesas RZ/A1, RX700, RX100, RL78
Taula 2.1. Microcontroladors que admeten el SO FreeRTOS.
Disseny del sistema de control d’un vehicle autònom submarí
38
FPGA (Field Programmable Gate Array)
Una FPGA és un dispositiu lògic programable que conté blocs de lògica (hardware) on la seva
interconnexió i funcionalitat es programa mitjançant un llenguatge de descripció especialitzat,
normalment Verilog o VHDL, on el codi s’executa combinacionalment.
La memòria d’aquests dispositius sol ser externa ja que està inclosa dins el mateix encapsulat, ara
bé, hi ha fabricants que inclouen una memòria interna.
No té una estructura interna pròpia sinó que és l’usuari qui crea la seva pròpia estructura.
Figura 2.3. FPGA ice40LPKQN84 de Lattice (esquerra) i FPGA spartan XC3S250AN de Xilinx (dreta) [18].
Figura 2.4. Estructura interna d’una FPGA [17].
Disseny del sistema de control d’un vehicle autònom submarí
39
Per tant, són ideals per fer rèpliques de microcontroladors que es volen testar abans de sortir al
mercat.
Les eines per compilar el codi a les FPGA no són Open Source, per tant, no faciliten el lliure
aprenentatge i obliguen a pagar llicències o a canviar de versions de programa, que després no són
compatibles unes amb les altres.
Al ser dispositius més complexos i no Open Source , tenen un seguiment menys extens per la
comunitat d’usuaris. Per tant, compten amb pocs drivers, llibreries, foros, etc.
En termes econòmics, les FPGA són uns dispositius més cars [18] que els microcontroladors.
El seu ús sol estar més reservat a aplicacions concretes i crítiques.
Microcontrolador
Un microcontrolador és un circuit integrat programable, capaç d’executar ordres dins la seva pròpia
memòria o bé una memòria externa. El llenguatge de programació és variat i extens i les
plataformes per programar depenen de cada fabricant. El codi s’executa seqüencialment.
Els llenguatges de programació, en microcontroladors, més utilitzats són C/C++ i Python.
Algunes de les plataformes més utilitzades per programar els microcontroladors són:
MPlab (Microchip), Atmel Studio (Atmel), Energia (Texas Instruments) i Arduino (plataforma lliure
Open Source).
Figura 2.5. Microcontrolador ATmega328P [19] de Microchip (esquerra) i microcontrolador TMS320F28335 [20] de Texas Instrument (dreta).
Disseny del sistema de control d’un vehicle autònom submarí
40
Els microcontroladors tenen una arquitectura interna predefinida per cada fabricant.
En la Figura 2.6 es mostra l’arquitectura del microcontrolador ATmega328p del fabricant Atmel.
Actualment, l’arquitectura més utilitzada és la ARM deguda al seu alt rendiment, el baix consum
elèctric i el seu preu.
En la Figura 2.7 es mostra l’arquitectura del microcontrolador LM4F120 del fabricant Texas
Instrument.
Figura 2.6. Arquitectura del microcontrolador ATmega328p [19].
Disseny del sistema de control d’un vehicle autònom submarí
41
En la següent figura, se situa la posició dels dispositius amb arquitectura ARM respecte els
microcontradors i microprocessadors.
Figura 2.7. Arquitectura del microcontrolador LM4F120 [21].
Figura 2.8. Posicions dels diferents sistemes segons la computació de dades, preu i consum elèctric.
Disseny del sistema de control d’un vehicle autònom submarí
42
L’ús dels microcontroladors està dedicat al control d’autòmates o dispositius en general que no
necessitin un alt processament i tractament de dades. Per això últim, seria més convenient utilitzar
els microprocessadors, que s’explicaran més endavant.
Els microcontroladors són uns dispositius que compten amb unes eines open source que han
permès un increment del coneixement i d’usuaris en aquest sector. Hi ha infinitat de drivers,
llibreries, exemples, informació i comunitats (foros) dedicat a aquest sector.
Un projecte que ha obert el sector dels microcontroladors a un públic més extens és Arduino.
Arduino és una plataforma Open Source lliure, des de la interfície per programar fins el hardware
de la placa, que porta el microcontrolador Atmel328p.
El ranking actual per ordre de fabricants de microcontroladors (MCU) són Renesas Electronics
Corporation, NXP i Microchip (va comprar Atmel).
En la Figura 2.9 es mostra una gràfica de les empreses principals i la seva quota de mercat en el
sector dels microcontroladors (MCU).
Microprocessador
Un microprocessador és un dispositiu encapsulat en un circuit integrat. És la unitat central més
complexa d’un sistema informàtic.
Figura 2.9. Gràfic de proveïdors de microcontroladors a nivell mundial el 2015 22.
Disseny del sistema de control d’un vehicle autònom submarí
43
No té memòries internes com un microcontrolador, sinó que han de ser externes i comunicades a
través de busos. Això és degut a que el microprocessador està dissenyat per a gestionar una gran
quantitat de dades, no per enmagatzemar-ne.
Cal tenir en comte que el microprocessador és un dispositiu seqüencial molt més ràpid que un
microcontrolador. Actualment els microprocessadors “normals” d’ordinador van a 3 GHz, en canvi
un microcontrolador sol anar entre uns 1kHz a 300 MHz. Està clar, que això depèn de cada model
de microcontrolador i de microprocessador.
El microprocessador s’encarrega d’executar els programes i les aplicacions d’usuari, de gestionar
dades i de prendre decisions.
Té una arquitectura formada per una o vàries unitats central de processament (CPU).
La CPU es compon de:
Registres, Unitat de control, Unitat Aritmètico Lògica (ALU) i una unitat de càlcul.
En la Figura 2.10 es mostra l’arquitectura d’un ordinador amb una CPU, basada en el model de Von
Neumann.
Aquests estan comunicats a través de busos a altres components com les memòries, unitats
d’entrada i sortida (E/S) i d’altres.
Figura 2.10. Arquitectura de Von Neumann [23].
Disseny del sistema de control d’un vehicle autònom submarí
44
Així doncs, la utilitat de les tres plataformes, FPGA, microcontroladors i microprocessadors,
dependrà de les necessitats de l’usuari, tant a nivell de processament de dades, econòmic, recursos
de software i d’altres paràmetres que s’han esmentat anteriorment.
2.3.2. Sistemes “Embedded” basats amb ARM
A continuació es parlarà de dos dispositius amb arquitectura ARM i que han estat objecte d’estudi.
Raspberry Pi 3 Model B
És una computadora (microprocessador) de placa reduïda [24] de baix cost desenvolupat al Regne
Unit per la Raspberry Pi Foundation, amb l’objectiu de facilitar l’aprenentatge a les escoles i
universitats, en el camp de l’electrònica i computació.
Aquest dispositiu compta amb un software open source, en concret compta amb una versió
adaptada de Debian (GNU/Linux) [25], però també compta amb sistemes operatius més concrets
especialitzats amb Smart TV, Videojocs o d’altres. Depèn de la utilitat que li vulgui donar l’usuari
s’utilitzarà un SO o altre.
Cal tenir en compte que haurà de ser un SO lleuger, és a dir, que ni Windows ni molt menys Mac
OS podrà funcionar.
El hardware en canvi, és privatiu.
En la següent taula es pot veure les principals diferències entre la Raspberry Pi 2 Model B (Figura
2.11. a l’esquerra) i la Raspberry Pi 3B (Figura 2.11 a la dreta).
Figura 2.11. Raspberry PI 2 Model B (esquerra) i Raspberry Pi 3 Model B (dreta).
Disseny del sistema de control d’un vehicle autònom submarí
45
Raspberry Pi 2 Model B Raspberry Pi 3 Model B
Any 2014 2016
SoC Broadcom BCM2835 Broadcom BCM2837
CPU 700 MHz ARM1176JZF-S 1,2GHz QUAD ARM Cortex-
A53
RAM 512 Mb 1 Gb
ROM SD MicroSD
Pins 26 40
USB 2 x 2.0 4 x 2.0
Video RCA, HDMI Jack, HDMI
Xarxa Ethernet 10/100 Ethernet 10/100, WiFi,
Bluetooth
Consum 700 mA / 3,5W / 5V 2,5 A / 12,5 W / 5 V
Tamany 85,6 x 53,98 mm 85 x 56 mm
Preu 35 € 35 €
Taula 2.2. Característiques de Raspberry Pi 2 B i Raspberry Pi 3 B.
En concret, la disposició dels pins de la Raspberry Pi 3 Model B és la següent:
Disseny del sistema de control d’un vehicle autònom submarí
46
Figura 2.12. Disposició dels pins de la Raspberry Pi 3 B [26]..
Les entrades GPIO es podran configurar com a ports d’entrada i/o sortida.
També mitjançant aquests pins i diverses llibreries es poden establir diferents funcions com el PWM
(Pulse WIdth Modulation) o protocols com I2C i SPI.
La Raspberry Pi és un dispositiu àmpliament testejat, que compta amb una gran comunitat i
multituds de webs, foros i altres on es pot trobar informació, projectes, exemples, drivers, llibreries
i més.
Disseny del sistema de control d’un vehicle autònom submarí
47
BealgeBone Black
És una computadora (microprocessador) de placa reduïda [27] creada per la comunitat
Beagleboard.org totalment lliure (Open Source) tant en hardware com en software derivada del
anterior model BeagleBone.
Aquest dispositu compta amb un SO precarregat. Tot i que posteriorment, es pot treballar amb
altres SO com Android, Debian i Ubuntu entre d’altres.
En la següent taula es mostren les característiques principals d’aquesta placa.
BeagleBone Black
Any 2014
Processador Sitara AM3358BZCZ100
1 GHz, 2000 MIPS
Onboard Flash 4 Gb, 8 bit
SDRAM Memory 512 Mb, 800MHz
Figura 2.13. BeagleBone Black.
Disseny del sistema de control d’un vehicle autònom submarí
48
ROM miniSD
Pins 92
USB 1 x 2.0
Video HDMI
Xarxa Ethernet 10/100
Consum 210-460 mA / 2,3 W / 5V
Tamany 85,6 x 53,98 mm
Preu 55 €
Taula 2.3. Característiques de la BeagleBone Black.
En la següent figura es mostren els pins de la placa.
Les entrades GPIO es podràn configurar com a ports d’entrada i/o sortida.
Figura 2.14. Pins de la BeagleBone Black [27].
Disseny del sistema de control d’un vehicle autònom submarí
49
També mitjançant aquests pins i diverses llibreries es poden establir diferents funcions com el PWM
(Pulse Width Modulation) o protocols com I2C i SPI.
A diferència de la Raspberry Pi (qualsevol model) té molta més varietat en quant a pins. Ens permet
tenir protocols com I2C, SPI i CAN. Aquest últim protocol és suportat per poques plaques de
desenvolupament (Raspberry Pi no l’admet) i és un estàndard molt utilitzat en automoció ja que és
un protocol altament robust.
Com la Raspberry Pi, és un dispositiu àmpliament testejat, que compta amb una gran comunitat i
multituds de webs, foros i altres on es pot trobar informació, projectes, exemples, drivers, llibreries
i més.
És una placa ideal per computar i gestionar gran quantitat de sensors degut als seus pins i la seva
alta capacitat de computació.
2.3.3. Miniordinadors
Els miniordinadors o miniPC són ordinadors que tenen les mateixes (o més) prestacions que els PC
de sobretaula i portàtils.
El principal avantatge d’aquest miniordinador, com bé diu la paraula, és que són minis, i per tant,
poden estar a llocs amb un espai reduït. El conversor AC/DC principal és extern i per tant no ocupa
ni espai ni consum dins del pròpi PC.
Actualment, aquests ordinadors están dissenyats per albergar discs durs en estat sòlid, és a dir, discs
durs que ja no compten amb un disc dur físic, i per tant, tots els inconvenients que podien sorgir.
Com per exemple que no es poden moure massa i això per un aparell autònom com pot ser el
Guanay, és un inconvenient més que notable.
En la següent taula es mostra una comparació entre els dos miniPC.
Figura 2.15. Intel NUC [28] (esquerra) i Asus VivoMini [29] (dreta).
Disseny del sistema de control d’un vehicle autònom submarí
50
Intel NUC 5i7RYH Asus VivoMini UN65
Any 2015 2015
ROM HDD 50-3000 GB SSD 32-256GB
RAM Màx. 32 GB 4-16 GB
Processador Intel Core i7 Intel Core i7-6500U
Sistema operatiu Windows 10/Linux Windows 10/Linux
Freqüència 3,4 GHz 3,1 GHz
Pins per controlar NO NO
Xarxa WiFi / Ethernet WiFi / Ethernet
USB 4 x USB 3.0 2 x USB 3.1
2 x USB 3.0
Consum 12-19 Vdc / 28 W 2,5 A / 125 V
Tamany 116,6 x 112 mm 131 x 131 mm
Preu 550 € [28] 500 € [30]
Taula 2.4. Característiques de Intel NUC5i7RYH i de Asus VivoMini UN65.
Ja que són sistemes pensats per moure una gran quantitat de dades, s’hi poden incloure programes
que requereixen més ROM, RAM i tarjeta gràfica. Com per exemple programes d’análisis
d’inteligència artificial i programes de càlcul. No obstant això, apareixen un seguit de problemes.
Com es veu a la figura (sobre gràfic ARM vs microc vs microp), els microcontroladors que estan
inclosos en un miniPC, tenen un consum i preu molt superior als microcontroladors “standard” i als
microcontroladors/processadors que disposen d’una arquitectura ARM.
Per tant, s’ha d’anar en compte amb l’ús d’aquests dispositius. En ocasions aporten més problemes
que avantatges sobretot en l’autonomia de bateries i els pins nuls pel control i/o sensors.
Disseny del sistema de control d’un vehicle autònom submarí
51
2.3.4. Microcontroladors Atmega328 vs MC9S08PT32
El camp dels microcontroladors és molt extens. Per tant, en aquest apartat se centrarà en dos
models de dues marques diferents de microcontroladors de 8 bits.
En la següent taula es pot veure els milions de dólars que mou cada tipus de microcontrolador.
Taula 2.5. Venta de microcontroladors (en milions de dolars) [19].
Actualment, els microcontroladors de 8 bits encara segueixen sent molt usats ja que en moltes
aplicacions no són necessàries més prestacions.
Altres avantatges que ens aporten els microcoontroladors de 8 bits són: el seu baix consum
energètic, cost i la seva gran popularitat i robustesa.
ATmega328P
És un microcontrolador de 8 bits de la marca Atmel (recentment comprada per Microchip [31]) que
compta amb plataformes de programació com Atmel Studio i Arduino (Open Source).
També té una extensa comunitat, documentació, llibreries, drivers, projectes i més.
Figura 2.16. Microcontrolador ATmega328P [19].
Disseny del sistema de control d’un vehicle autònom submarí
52
MC9S08PT32
És un microcontrolador de 8 bits de la marca NXP [32]. Té un ús força extens en automoció i
electrònica domèstica.
Compta amb plataformes com FreeMaster i LPCXPRESSO [33].
En la següent taula es realitza una comparació dels dos microcontroladors.
ATmega328P MC9S08PT32
Program Memory Type Flash Flash
Program Memory (KB) 32 32
CPU Speed 20 MIPS – 1MHz to 20 MHz 8 MHz to 40 MHz
RAM Bytes 2048 4096
Data EEPROM (bytes) 1024 256
Digital Communication
Peripeherals
1-UART,2-SPI,1-I2C 3-UART; 2-SPI
ADC 8 bit out – 10 bit in 12 bit
Capture/Compare/PWM
Peripherals
1-Input Captures, 1-CCP, 6-
PWM
16-PWM
Timers 2x 8-bit, 1 x 16-bit 1 x 16-bit
Comparators 1 1
Figura 2.17. Microcontrolador MC9S08PT32 [34].
Disseny del sistema de control d’un vehicle autònom submarí
53
Temperature rang ( Cº ) -40 to +105 -40 to +105
Operating Voltage Range (V) 1,8 to 5,5 2,7 to 5,5
Pin Count 32 32
Low Power Yes Yes
Price 2,5 € 1,8 €
Taula 2.6. Característiques del ATmega328P i del MC9S08PT32.
En aquest projecte, com s’explicarà en el CAPITOL 5. S’ha triat el ATmega328P per la facilitat que
té per disposar de recanvis, llibreries, drivers i documentació.
2.4. Futur del mercat
Actualment el mercat no para d’expandir-se, reduïnt tamanys i preus, i augmentant capacitats de
processament, memòries RAM i ROM.
L’estudi que s’ha fet en aquest apartat en uns 20 anys serà completament diferent, s’ha de tenir en
compte que en aquest apartat del treball s’han analitzat les tecnologies actuals tant en sistemes
operatius com en plaques de hardware.
Ara bé, cap on sembla que tendeix el mercat?
Els sectors que estàn patint un augment d’electrònica són el sector industrial, telecomunicacions i
sobretot l’automòbil, aquest últim gràcies als automòbils elèctrics.
Un factor important que s’ha de tenir en compte és la obsolescència programada de molts
components electrònics, fabricats perquè en uns anys deixin de funcionar. Això permetrà
reemplaçar aquests components o fabricar-ne de nous, però també generant una gran quantitat
de residus electrònics.
Si es parla de microcontroladors, no es pot deixar d’anomenar dues tecnologies que està entrant
en el mercat, els SoC i el IoT.
Els “System on Chip” (SoC) [35] són bàsicament microcontroladors dedicats a una aplicació
específica. Per exemple, hi ha models que tenen integrats un mòdul WiFi dins el pròpi encapsulat.
Disseny del sistema de control d’un vehicle autònom submarí
54
En la següent figura es veu un SoC de la marca Nordic Semiconductor. Aquest SoC inclou un mòdul
bluetooth i té un baix consum.
L’ “Internet of Things” (IoT) [37] és un concepte de connectar diferents dispositius a internet. Per
exemple, per disposar d’una casa domòtica.
També sembla una aplicació interesant en el cas dels AUV, ja que es pot controlar el AUV desde el
mòbil mitjançant una xarxa d’internet.
A continuació i per finalitzar es mostra una gràfica del creixement de les aplicacions del IoT i la seva
futura expansió.
Figura 2.18. Diagrama de blocs del SoC de la marca Nordic Semiconductor [36].
Disseny del sistema de control d’un vehicle autònom submarí
55
Figura 2.19. Gràfic del mercat del IoT [38].
.
Disseny del sistema de control d’un vehicle autònom submarí
56
CAPÍTOL 3. GUANAY 2.1
L’objectiu d’aquest capítol és fer una adaptació d’una nova unitat de control que substitueixi l’actual
PC104+ incorporat al Guanay II.
Aquest capítol sorgeix de la necesitat d’incorporar una nova unitat de control degut a la falta de
prestacions del PC104+ i que a més possibiliti noves aplicacions i incorporacions de nous
instruments en el vehicle com un sonar (Sound Navigation And Ranging) o un Doppler Velocity Logs
(DVL).
L’objectiu principal és que es pugui substituir el PC104+ en cas de emergència sense ser instrusius
amb el sistema actual, podent aprofitar la plataforma Labview utilitzada fins ara en el Guanay II.
3.1. PC104+
És la unitat de control principal del Guanay II.
El PC104+ [39] és un PC “Embedded” [40] que integra diferents mòduls per aplicacions, RS232 i
pins per interactuar amb actuadors i sensors.
És una placa de fa més de 20 anys, així doncs, s’entenen les limitacions que pot tenir avui en dia
degut a l’avanç tecnològic.
Figura 3.0. PC104+ [39] (esquerra) i Intel NUC5i7RYH [28] (dreta).
Disseny del sistema de control d’un vehicle autònom submarí
57
A continuació, a la Taula 3.0 es mostra una comparativa [28][41][42] entre les dues unitats de
control principals, la del Guanay II basada en el PC104+ i la del Guanay 2.1 basada en la Intel
NUC5i7RYH.
PC 104+ Intel NUC5i7RYH
Any 1992 2015
ROM (GB) Flash 1-8 HDD 50-3000
RAM 512 MB Max. 16 GB
Processador AMD Geode LX800 Intel Core i7
Sistema operatiu Windows XP Windows 10/Linux
Freqüència 500 MHz 3,4 GHz
Pins per controlar SI NO
Voltatge (VDC) +-12/5 19/12
Potència (W) 6 28
Wifi NO SÍ
Ethernet SÍ SÍ
USB 2 x 2.0 4 x 3.0
Pes (kg) 0,13 0,690
Espai (mm) 95,89 x 90,17 116,6 x 112
Preu (€) 350 550
Taula 3.0. Comparativa entre PC104+ i Intel NUC5i7RYH.
Disseny del sistema de control d’un vehicle autònom submarí
58
Les prestacions d’amdues plaques són completament diferents on cadascuna té les seves
aventatges i inconvenients en funció de la aplicació. Per exemple:
- Processador:
En aquest cas, el processador de la NUC5i7 (Core i7) que treballa a 3,4 Ghz és molt millor
que el del PC104+ (Geocode LX800) a 500 MHz.
- Pins: El PC104+ té pins per col·locar diferents dispositius, ports de comunicacions,
extensions (shields) entre d’altres, mentre que la NUC5i7RYH només disposa de ports
USB.
- Potència: La NUC5i7RYH té un consum d’uns 28 W com a màxim, mentre que el PC104+
té un consum d’aproximadament uns 6 W.
- Pes: La NUC5i7RYH pesa uns 700 grams, mentre que el PC104+ pesa uns 130 grams.
- Preu: En aquest cas, els preus d’amdós és força variable ja que depèn de les
característiques finals del dispositiu, plaques d’expansió (PC104+), lloc de venta entre
d’atres. Tot i així, els preus aproximats serien uns 350 € per el PC104+ i 550 € per la
NUC5i7.
Les característiques de la NUC5i7RYH són admisibles pel tipus d’arquitectura (bateries) i estrucura
mecànica (pes) actual del Guanay II.
Disseny del sistema de control d’un vehicle autònom submarí
59
3.2. Unitat de control del Guanay II i Guanay 2.1
A continuació s’analitza l’arquitectura del Guanay II i del Guanay 2.1.
3.2.1. Estructura de control del Guanay II
Aquesta arquitectura va ser redissenyada per Ivan Masmitjà i J.Gonzalez [1][2], on es va incloure un
microcontrolador PIC (per l’accionament dels motors de direcció) entre d’altres elements.
Com es pot veure en la Figura 3.1, el Hardware del Guanay II està distribuït en sis blocs:
Control Unit: Unitat de control del Guanay II. És el sistema que permet obtenir i recopil·lar totes les
dades, tractar-les i gestionar-les.
En aquest apartat es consideren també els diferents “hubs” que hi ha per transmetre les dades dels
actuadors o sensors al PC104+. En aquest cas, el “hub” és el PORT MSMX 104+ [1] que té uns
connectors RS232.
Figura 3.1. Arquitectura Guanay II.
Disseny del sistema de control d’un vehicle autònom submarí
60
Safety: Sistema de seguretat que permet adquirir dades mitjançant sensors i que a través d’un DAQ
(conversors analògic a digital) model DAS16JR/12 [1] permet transmetre-les a la unitat de control
(PC104+).
Communication: En aquest bloc s’hi troben les communicacions que ens permeten estar
connectats amb el Guanay II, tant enviant dades com rebre-les.
Actuators: Sistema que permet el control dels motors i del servomotor que mou el pistó que permet
submergir o emergir el submarí.
En aquest apartat hi trobem el microcontrolador PIC16F1508 que permet generar senyals PWM i a
través d’un pont en H permet moure els motors dret (Right Thruster) i esquerra (Left Thruster).
Navigation: Bloc on s’hi troben els diferents sistemes per saber la posició del submarí. També es
pot trobar la velocitat i altres paràmetres que faciliten la geocalització.
Power: Sistema d’energia del Guanay II. S’hi troben unes bateries de NiCd a 21Ah i 24V amb una
serie de conversors (DC/DC) que adapten el voltatge pels diferents dispositius del sistema.
També s’hi troba una antena RF HIRK-315AP [43] que mitjançant la radiofreqüència permet activar
un interruptor (“switch”) per engegar l’etapa de potència del Guanay II.
Figura 3.2. HIRK-315AP.
Disseny del sistema de control d’un vehicle autònom submarí
61
Mission: Hi trobem el CTD model XR-420 [44]. El CTD és un instrument que ens permet mesurar la
conductivitat, temperatura i profunditat de l’aigua.
3.2.2. Estructura de control del Guanay 2.1
En aquest apartat, la unitat de control PC104+ és reemplaçada per una Intel NUC5i7RYH, així com
els seus ports d’expansió (“hubs”).
A continuació es mostra la nova estructura amb la unitat de control reemplaçada.
Figura 3.3. CTD XR-420 [44].
Figura 3.4. Arquitectura Guanay 2.1.
Disseny del sistema de control d’un vehicle autònom submarí
62
Com es pot veure amb vermell, s’ha reemplaçat la unitat de control principal (Control Unit), el
sistema d’adquisició de dades (DAQ) per un USB-6009 i uns PORTS que adapten les entrades i
sortides del port RS232 a un USB 2.0.
La diferència bàsica entre el DAQ USB-6008 i el USB-6009 [45] és que aquest últim té més resolució
però també és més car.
En la pràctica que s’ha dut a terme en aquesta part del projecte, s’ha utilitzat el USB-6008 ja que és
el que disposava el laboratori d’electrònica de la universitat.
També com es pot comprovar, la Intel NUC està alimentada a 12V mitjançant el DC/DC original
(Mornsun series VRB) del Guanay II. Tot i que amb els valors teòrics funciona, s’hauria de probar al
laboratori amb la NUC i el conversor DC/DC.
3.3. Proves experimentals
Per demostrar que pot executar-se el programa sense problemes primer de tot s’ha instal·lat el
sistema operatiu Windows 10 i posteriorment els diferents programes.
Concretament, el Labview, que és el programa, basat amb objectes, amb el que està fet tot el
sistema d’adquisició i tractament de dades perquè el Guanay II funcioni.
Com que no es disposaven de recanvis dels components que hi ha en el Guanay II s’han utilitzat dos
sensors analògics.
Un sensor que mesura la temperatura (LM35) i un altre que mesura la pressió (RS PRO Industrial
Pressure Sensor 7975046).
3.3.1. Sensor de temperatura LM35
És un sensor linial de temperatura analògic. El fabricant del model utilitzat es Texas Instruments.
Ens dona un rang de temperatura entre +2 i +100 °C amb una sortida de 0 a 5V si el sensor és
alimentat a 5 Vdc.
Disseny del sistema de control d’un vehicle autònom submarí
63
El fabricant recomana una alimentació entre 4-20 Vdc.
Té una precissió de +/- 10 mV/°C amb una temperatura de funcionament entre -55 - +150 °C.
Tot i que el sensor sigui molt precís, posteriorment s’haurà de calibrar.
3.3.2. Industrial Pressure Sensor
És un transductor linial de pressió analògic [48] amb un microcontrolador incorporat. Té el codi de
referència 797-5046 i és de la marca RS Pro [18].
Aquest model en concret mesura un rang entre 0 i 6 Bar G amb una sortida de 0 a 5 Vdc.
El voltatge d’alimentació d’entrada té un rang de 9 a 32 Vdc. Si es posa a menys voltatge no
funcionarà correctament, com va passar quan es feien les proves en el laboratori.
Té una precissió de +/-0,25 %, amb una temperatura de funcionament entre -20 i +135 °C, i compta
amb una carcassa d’acer inoxidable que ens permet posar-lo tant a l’interior com a l’exterior del
submarí.
Compta amb quatre cables: Alimentació (9-32 Vdc), Massa (GND), Signal + i Signal - .
Figura 3.5. Sensor LM35.
Figura 3.6. Sensor de pressió.
Disseny del sistema de control d’un vehicle autònom submarí
64
Per fer les mesures bàsiques només agafarem tres dels cables, en concret, l’alimentació, massa i
signal +.
Tot i que sigui molt precís, posteriorment s’haurà de calibrar.
3.3.3. Introducció de la implementació amb Labview
La instal·lació del sistema operatiu i diferents plataformes no han donat cap tipus de problema. S’ha
instal·lat el Labview amb el “codi” que permet el funcionament del Guanay II.
Veient els requisits que demana Labview per ser instal·lat i la capacitat que té la NUC5i7RYH no hi
haurà cap problema en fer anar el codi sense que es quedi bloquejat com passa ara en el PC104+.
Ja que pretén ser substituït el PC104+ per la NUC5i7RYH en cas d’emergència, el més important que
s’hauria de tenir en compte és desactivar les actualitzacions del sistema operatiu Windows 10
(instal·lat actualment), i que un cop s’engegui tot el sistema operatiu, s’executi el Labview
automàticament. Això últim, s’ha implementat amb la demostració que s’ha fet amb el sensor de
temperatura i pressió que es veu en aquesta part del treball.
Per fer l’adquisició de dades s’ha utilitzat un DAQ de la marca Texas Instruments, en concret el
model USB-6008 [45] que es mostra en la Figura 3.7.
Aquest dispositiu compta amb entrades i sortides digitals i analògiques, aquestes amb una resolució
de 12 Bits.
Per identificar el USB-6008 al Labview es fa servir un objecte que s’anomena DAQ Assistant.
S’utilitzaran únicament dues entrades analògiques, en concret les AI 2 i AI 3, que es configuraran
de manera que el DAQ adquireixi voltatge.
Figura 3.7. DAQ USB-6008 [45].
Disseny del sistema de control d’un vehicle autònom submarí
65
Per fer-ho s’ha seguit un manual de Texas Instruments i vídeos d’internet.
Labview [46] compta amb dues pantalles, una gràfica anomenada Frontal Panel (panell frontal) i
l’altre queanomenada Block diagram (diagrama de blocs) on estàn els diferents objectes relacionats
a través de línies.
A continuació s’inclou la Figura 3.8 on es visualitzen diversos gràfics que mostren les diferents dades
que mesura el DAQ a través dels sensors.
En la Figura 3.9, es mostra el diagrama de blocs, que consta de un bucle while (rectangle exterior) i
una estructura de casos (rectangle interior amb “True”).
El bucle while ens permetrà que el programa funcioni constantment, excepte quan es premi un
interruptor de parada d’emergència que farà parar el bucle (Figura 3.9).
L’estructura de casos ens permetrà, mitjançant un interruptor, deixar de mostrar les dades del DAQ
en els gràfics.
Per últim, la Figura 3.10 mostra el programa en funcionament.
Figura 3.8. Panell frontal Labview. Programa parat.
Disseny del sistema de control d’un vehicle autònom submarí
66
Figura 3.9. Diagrama blocs Labview. Programa parat.
Figura 3.10. Panell Frontal (esquerra) i diagrama de blocs (dreta). Programa en funcionament.
Disseny del sistema de control d’un vehicle autònom submarí
67
3.3.4. Anàlisi detallat del programa
A continuació s’analitzen els diferents apartats del programa:
Adquisició de dades
S’ha fet servir un “cluster” anomenat DAQ Assistant on es poden ajustar els paràmetres per llegir a
través del USB-6008.
S’hi ha afegit un multiplicador -1 ja que els valors donaven inversos. Així, tots els valors queden
positius.
Figura 3.11. Diagrama blocs DAQ Assistant.
Disseny del sistema de control d’un vehicle autònom submarí
68
Gràfic de voltatge de temperatura i voltatge de pressió
S’afegeix un element per la mostra de dades a través d’un gràfic.
Figura 3.12. Diagrama de blocs amb gràfic.
Gràfic Temperatura en graus (°C)
Per calibrar aquest sensor s’ha fet una regla de tres, tenint en compte les especificacions del sensor
LM35.
Figura 3.13. Lectura valors temperatura i pressio en volts.
Figura 3.15. Valor de la temperatura amb graus.
Disseny del sistema de control d’un vehicle autònom submarí
69
Al no disposar d’eines suficients per obtenir valors precisos, aquesta no és una mesura exacte. És
una mesura que ens ajuda a fer-nos una idea del valor real de la temperatura i que en un futur
caldria ajustar amb més precisió segons les necessitats del sistema.
Gràfic Pressió en BAR
El primer pas és fer una regla de tres tenint en compte que la sortida ens donarà un valor entre 0 –
5 Vdc, on 0 Vdc equival a 0 Bar, i 5 Vdc equival a 6 Bar.
Per fer una bona aproximació del valor real cal ajustar una mica els paràmetres ja que fer una regla
de tres és insuficient. En aquest cas, s’ha restat 0,615 al valor obtingut de la regla de tres ja que el
sensor ha estat calibrat per una entrada de 5 Vdc. No és la millor calibració fer falta d’eines però
ens serveix per fer-nos una idea aproximada del valor que dona. Aquesta calibració es pot veure a
la figura 3.16.
Si l’alimentació del sensor s’ajusta entre 9-32 V no farà falta restar-li els 0,615 en el cas del primer
gràfic (“barometrico” ajustat a Bar) i el segon 615 (“hPa” ajustat a hectopascals).
Gràfic Pressió en hPA
Es passa les dades de pressió en Bar (abans de l’ajust de 0,615) a hPA sabent que 1 BAR = 1000 hPa,
per tant:
ℎ𝑃𝑎 = 𝐵𝑎𝑟 ∗ 1000
Aquesta dada s’ha decidit mostrar ja que els hPa és la unitat que s’utilitza més habitualment per
unitats de pressió.
Figura 3.14. Diagrama blocs temperatura.
Disseny del sistema de control d’un vehicle autònom submarí
70
Figura 3.16. Diagrama blocs sensor pressió.
Figura 3.17. Valors de pressió en Bar (sobre) i hPa (sota).
Disseny del sistema de control d’un vehicle autònom submarí
71
Per finalitzar, es mostra una imatge del muntatge realitzat.
En la protoboard hi ha situat el sensor de temperatura LM35 i el sensor de pressió de RS
Components.
Figura 3.18. DAQ (verd) amb sensor de temperatura (blau) i pressió (vermell).
Disseny del sistema de control d’un vehicle autònom submarí
72
3.4. Conclusions
S’han assolit els objectius d’aquest capítol, que eren estudiar i implementar una nova unitat de
control, en el cas d’emergència, substituïnt l’antic PC104+ per un miniPC Intel NUC5i7RYH sense
que suposi una forta intrusió en l’antic sistema.
Tot i això, s’han de tenir en compte diverses consideracions d’alta importància a l’hora
d’implementar aquesta nova unitat de control:
1) Alt consum.
La NUC5i7 té un consum d’uns 28 W, molt superior al PC104+. Això, afectaria a la
autonomia del Guanay.
2) Utilització d’un conversor DC/DC entre 19-12 Vdc.
La NUC pot funcionar entre 19-12 Vdc, per sobre o per sota d’aquest voltatge deixa de
funcionar.
3) Desinstal·lació actualitzacions.
És un requisit inmediat a l’hora d’implementar dins del Guanay 2.1 (antic Guanay II), ja
que sinó ens podríem emportar algun ensurt.
4) Posada en marxa del Labview.
Un cop iniciat el sistema operatiu i en funcionament, el Labview hauria de funcionar
inmediatament.
La NUC pot aportat molts avantatges en un futur per un ampli processament de dades.
Ara bé, si s’implementa com a solució definitiva s’haurien d’utilitzar altres sistemes operatius com
per exemple Linux, que és més configurable i permet tenir un control més complet dels processos
del sistema operatiu.
També s’hauria de fer ús de plataformes lliures, ja que amb els preus de les llicències dels
programes, el pressupost s’eleva considerablement.
Disseny del sistema de control d’un vehicle autònom submarí
73
CAPÍTOL 4. GUANAY 3.0
4.1. Introducció
En aquest capítol es planteja una nova arquitectura de la unitat de control degut a l’avanç de les
tecnologies, a l’adaptació de les noves necessitats que sorgeixen en el submarí i als problemes que
té l’actual estructura Guanay II.
4.2. Objectius
Els objectius d’aquest capítol són la utilització de plataformes Open Source, programari i codi lliure,
intercanvi amb altres universitats sobre coneixements, interconnectivitat amb altres AUV,
arquitectura més rígida per solucionar els problemes que té l’actual model i una futura expansió de
components i possibilitats.
Tots aquests objectius permetran que el Guanay 3.0 tingui més funcionalitat amb la computació i
tractament de dades, facilitant el processat d’aquestes i del posterior anàlisi. També permet
ampliar el nombre de dispositius dins el vehicle, i la capacitat per incloure sensors més moderns.
A més, es té en compte reduir els costos de manera que no perjudiqui la seguretat del vehicle. La
relació entre costos i seguretat del sistema ha d’estar garantida.
En el CAPÍTOL 2 es detallen els programes principals que són lliures i es poden utilitzar per portar
endavant aquest projecte. També s’afegeix el hardware utiltizat, no tot és lliure en aquest cas.
A continuació es mostren eines lliures que són d’utilitat:
- Disseny de PCB: Kicad, Eagle versió estudiant.
- Simulació de circuits: Orcad Demo
- Llenguatges: C/C++, Python, ….
- Hardware: Arduino, Raspberry, Beagle Bone, NUC.
- Sistemes operatius (SO): Linux, Free RTOS.
Disseny del sistema de control d’un vehicle autònom submarí
74
4.3. Nova Arquitectura Unitat de Control
4.3.1. Guanay II
Aquest apartat ha estat explicat anteriorment al CAPÍTOL 3.
No obstant això, per veure gràficament les diferències entre les dues arquitectures es mostra de
nou l’arquitectura general del Guanay II.
Doncs bé, un cop vista l’arquitectura del Guanay II i veient els problemes que han anat sorgint, com
la falta de seguretat en el sistema, s’ha decidit replantejar una nova distribució de la unitat de
control.
Figura 4.0. Arquitectura Guanay II [1].
Disseny del sistema de control d’un vehicle autònom submarí
75
Un dels problemes principals que té la unitat de control del Guanay II és que no disposa d’un sistema
de seguretat que permeti saber l’estat de la unitat de control (PC104+) o bé un sistema que reinici
aquesta unitat de control.
El segon problema i no menys important que el primer, és la poca capacitat de computació i
emmagatzematge de dades [CAPÍTOL 2.]
A continuació s’explicarà la nova distribució de la unitat de control. No s’han entrat en detall amb
els blocs de comunicacions, sistema d’energia, navegació, etc, així com el voltatge i potència en
sensors i motors, ja que el que interesa és la nova forma que pren la nova arquitectura.
4.3.2. Guanay 3.0
Aquesta idea ha sorgit degut a les noves tecnologies i als problemes de seguretat que té el Guanay
II i de la limitació de sensors dels que disposa a l’interior del vehicle.
També se segueix amb la filosofia del projecte que són: estalvi de recursos econòmics, plataformes
Open Source i codi obert per poder treballar amb altres universitats.
L’esquema que s’ha seguit per a la nova arquitectura es troba a la Figura 4.1. Aquest planteja una
comunicació I2C i USB entre el components, en forma de malla.
Figura 4.1. Esquema bàsic del Guanay 3.0.
Disseny del sistema de control d’un vehicle autònom submarí
76
Aquest és un sistema descentralitzat que disposa de suficients dispositius perquè el vehicle pugui
tornar a la superfície o bé solucionar problemes interns, com el mal funcionament d’un dispositiu
aplicant-li un reinici.
Compta d’un dispositiu de seguretat (Raspberry Pi 3), una unitat de control (NUC5i7), un sistema
d’adquisició i tractament de dades (BeagleBone Black) i un sistema d’encesa.
Un cop queda definit aquest nou esquema per a la nova arquitectura, es planteja el sistema
complert a la Figura 4.2.
Figura 4.2. Arquitectura del Guanay 3.0.
Disseny del sistema de control d’un vehicle autònom submarí
77
Com es veu en la Figura 4.2, s’opta per la descentralització dels diferents dispositius, això permet
un major control i gestió de tots els components i dispositius, alhora que dota al sistema de més
seguretat. No obstant això, es torna un sistema més complicat en quant a software (programació).
A continuació s’expliquen els diferents blocs:
Control Unit
La unitat de control principal està basada amb una Intel Nuc5i7RYH i permet tractar una gran
quantitat de dades.
El sistema d’adquisició de dades dels sensors que trasllada i interacciona amb la unitat de control
principal és la BeagleBone Black.
Aquests dos dispositius estaran connectats a través del port USB (NUC) i miniUSB (BeagleBone).
A nivell funcional formaran la unitat principal d’adquisició, tractament i emmagatzematge de les
dades que proporcionen els diferents sensors del vehicle. Els sensors que analitza la BeagleBone
poden ser sensors de seguretat com sensors externs acoplats al vehicle.
També, a través de la BeagleBone Black es controlen els actuadors, en concret els motors pel
moviment del vehicle i el pistó que permet submergir o emergir el submarí. Aquests van controlats
amb una senyal “Pulse Width Module” (PWM) que es transmet a través de diferents pins de la
BeagleBone Black, cada pin amb el seu motor i pistó corresponent. Aquest sistema seria el mateix
que es fa servir al Guanay II a partir d’un PIC. Per subministrar la potència als motors és necessàri
un pont en H.
Figura 4.4. Dispositiu BeagleBone Black [27]. Figura 4.3. Dispositiu Intel NUC [28]
Disseny del sistema de control d’un vehicle autònom submarí
78
Safety
Sistema de seguretat basat en la Raspberry Pi 3 Model B.
Aquest sistema es basa en la comprovació constant de les comunicacions i l’estat dels diferents
dispositius mitjançant la comunicació de seguretat I2C, així com l’adquisició de dades a través de
diversors sensors que comprovin paràmetres de seguretat en el propi vehicle.
Aquest bus de comunicació (I2C) ens permet que la Raspberry es comuniqui amb la NUC,
BeagleBone i el ATmega328P, aquest últim permet reiniciar qualsevol dels sistemes en cas d’errors
greus o simplement per apagar-los.
El programa per fer la comprovació del estat dels dispositius mitjançant el bus I2C és de lliure elecció
per al programador però es recomana que la Raspberry sigui el “Master”(cap) i els altres dispositius
(NUC, BeagleBone i ATmega328p) siguin els “Slaves”(esclau). Així, el “Master” enviarà una pregunta
a un “Slave” en concret, i aquest li respondrà amb una dada més complexa o un simple “OK”. Fins
que no rebi la dada esperada, el “Master” segueix preguntant al “Slave”. Si passat un temps
prudencial no s’efectua aquesta resposta per part del “Slave”, el “Master” (Raspberry) segueix
avaluant la resta del sistema i acabarà penent una decisió sobre el que s’ha de fer. Per exemple:
reiniciar el sistema fallit, emergir o una parada d’emergència total. Tot això dependrà del programa
que implementi el programador d’aquest dipositiu.
Evidentment, si el sistema de seguretat falla, els altres dispositius se seguiran comunicant entre ells
a través del mateix bus I2C, modificant el tipus de protocol (Master/Slave). En la Figura 4.5 es pot
veure aquesta comunicació com “Data Support”.
Figura 4.5. Safety: Raspberry Pi 3 Model B [24].
Disseny del sistema de control d’un vehicle autònom submarí
79
Les dades queden guardades en un disc dur extern que posteriorment es pot extreure per veure el
comportament del sistema. Així, en el cas de falla general es pot veure on ha ocurregut.
L’encesa d’aquest dispositiu no és com la dels altres dispositius. Un cop el microcontrolador hagi
encès aquest sistema (perquè li ha dit l’usuari), es queda sempre encès. No es pot apagar a no ser
que el usuari tregui el Guanay del mar i el desmonti. Això s’aplica ja que al ser un sistema de
seguretat quedarà fins l’últim moment encès, emmagatzemant totes les dades que tracta en el disc
dur extern. De fet, es podria parlar d’una mena de caixa negra com als avions.
Boot system
És un sistema d’arrencada basat en el microcontrolador ATmega 328P.
Constarà d’una comunicació per radiofreqüència (RF) a través d’un mòdul Xbee. Si bé aquest mòdul
podria servir com a únic dispositiu per l’encesa del sistema, en aquest cas s’acopla amb el
ATmega328P per permetre un major control.
Mitjançant una aplicació d’ordinador anomenada XCTU se l’hi podràn enviar diferents comandes al
microcontrolador que permetràn fer una encesa completa o parcial (a través d’uns relés) de tots
els dispositius de control i de seguretat del sistema.
Figura 4.6. Funcionament del sistema de seguretat.
Disseny del sistema de control d’un vehicle autònom submarí
80
També ens permetrà obtenir entre d’altres dades, la temperatura i pressió interior del cilindre, estat
de les bateries, estat de la comunicació I2C.
Aquest sistema s’explica amb més detall en el CAPÍTOL 5 ja que és un disseny propi.
Acoustic Localization System
Sistema ja inclòs en el Guanay II. És un element que emet senyals acústics i que ens permet saber
la localització del submarí.
Mission
Inclou el CTD, explicat anteriorment. Mesura dades com la salinitat i la temperatura de l’aigua.
Communication
Aquest apartat inclou el WiFi, radiomòdem I Xbee (amb protocol de radiofreqüència).
En l’arquitectura es posen aquests tres sistemes.
El WiFi permet programar la NUC, Beagle Bone, Raspberry i ATmega328P.
El radiomòdem permet interactuar amb el software del sistema, i enviar/rebre dades.
Actuators
Sistema que inclou els motors i cilindre per fer moure i submergir o emergir el Guanay. Aquest
sistema no s’explica amb detall ja que requeriria d’un altre estudi més complet sobre aquest tema
en concret.
Figura 4.7. Boot system: ATmega328P-PU [19].
Disseny del sistema de control d’un vehicle autònom submarí
81
Other
Es fa un plantejament de nous dispositius que poden anar inclosos en el submarí, en aquest cas una
càmara i un sónar.
Aquest últim hauria d’estar aïllat de tota la electrònica ja que provoca unes enormes interferències.
Safety bus
La nova arquitectura inclou un bus I2C de seguretat (I2C Safety), que permet connectar-se als altres
dispositius amb només dos cables d’informació, una alimentació i una massa.
En aquest bus (I2C) hi circula la informació entre els dispositius que permetrà saber el seu estat.
Així doncs, la NUC, BeagleBone i el microcontrolador ATmega328P enviaran pel bus I2C informació
al sistema de seguretat (Raspberry Pi 3). Aquest dispositiu guarda les dades en un disc dur alhora
que avalua si tots els dispositius es troben correctament (no s’hagin quedat penjats o hi hagi algun
error en la comunicació).
No obstant això, si la Raspberry falla, la pròpia NUC, BeagleBone i ATmega328P tenen sistemes
propis de seguretat integrats mitjançant software (programació).
4.4. Funcionament de la nova arquitectura
El funcionament de la nova arquitectura segueix els pasos següents:
Mitjançant un ordinador portàtil o tablet amb una interfície gràfica i un Xbee, comunicats a través
de USB, s’envia una comanda al Xbee situat al dispositiu d’encesa. Aquesta comanda és enviada al
microcontrolador ATmega328P, que processa la informació i actua segons la dada enviada.
Això permet al usuari encendre, apagar, reprogramar entre d’altres accions a través del Xbee.
L’encesa del dispositiu pot ser de dues maneres:
Disseny del sistema de control d’un vehicle autònom submarí
82
1. Encesa completa (“ON”): Encén tots els dispositius. Un cop el sistema fa les seves
comprovacions via software, revisant que tots els dispositius funcionen, el vehicle pot
emprendre la missió.
El sistema de seguretat i els altres dispositius utilitzen eines de software per controlar
el bon funcionament de tots els dispositius.
En tot moment hi ha disponible una comunicació tipus Wifi i de radiofreqüència que
permet visualitzar les dades “en directe” a partir del portàtil i una interfície gràfica,
també permet actuar sobre el vehicle.
2. Encesa dels dispositius programables (“OFF”): Encén la NUC i la BeagleBone, i permet
via Wifi reprogramar aquests dos dispositius o modificar-ne uns paràmetres
determinats. En el cas que es vulgui començar una missió s’haura d’enviar una
comanda per a l’encesa completa del vehicle.
4.5. Consum potència
Es tindrà en compte els dispositius electrònics de control, així doncs, no es tindràn en compte els
motors, pistó (per submergir i emergir el submarí) i d’altres components ja que en una nova versió
del Guanay 3.0 s’haurien d’escollir uns components més eficaços i de menys consum.
El consum de la nova arquitectura (unitat de control) és molt superior a l’antiga del Guanay II, ja
que com s’ha vist anteriorment, només comptava amb el PC104+ com a unitat de control i un
microcontrolador PIC i DAQ com a sistemes per al control del vehicle.
A continuació es mostra una taula dels valors màxims aproximats del consum dels dispositius per al
control del vehicle Guanay II.
Sistema Potència
U.C: PC104+ 6 W
A.D: DAS16JR/12 2,3 W
C.M: PIC16F1508 2,5 W
TOTAL 10,8 W
Taula 4.0. Potència Guanay II.
U.C = Unitat de Control.
A.D = Adquisició de dades.
C.M = Control Motors
Disseny del sistema de control d’un vehicle autònom submarí
83
A continuació es mostra una taula dels valors màxims aproximats del consum de la nova unitat de
control, sense comptar amb els sensors i comunicacions.
Sistema Potència
U.C.P: Intel NUC5i7RYH 28 W
S.E : Placa I+D+I 5,4 W
S.S: Raspberry Pi 3 Model B 12,5 W
C.A.D: BeagleBone Black 2,3 W
TOTAL 48,2 W
Taula 4.1. Potència Guanay 3.0 .
U.C.P = Unitat de Control Principal
S.E = Sistema d’Engegada.
S.S = Sistema de Seguretat.
4.6. Justificació de la nova arquitectura
Aquesta nova arquitectura s’ha pensat tenint en compte diversos factors.
S’ha seguit la filosofia Open Source, codi lliure, plataformes lliures, i gran comunitat amb una gran
informació disponible, a part de buscar altres dispositius econòmicament viables.
Tots els components amb els que s’ha dissenyat l’arquitectura són altament fiables.
Aquesta arquitectura néix amb la idea profunda de solucionar tots els problemes de seguretat que
no es tenen en compte en el Guanay II i que poden posar en risc la seva integritat.
També incorpora una novetat força important respecte amb l’anterior projecte (Guanay II) i és que
tots els dispositius (NUC, BeagleBone, ATmega328P i Raspberry) poden ser programats a través de
Wifi i del bus I2C. Tot això, permet tenir l’estructura mecànica montada sense haver de desmontar
cap component.
Disseny del sistema de control d’un vehicle autònom submarí
84
S’ha utilitzat un protocol de comunicació I2C [49], que permet en aquest cas, moure les dades de
seguretat (bàsicament), ja que és un protocol amb forma de bus serie que ens permet tenir fins a
256 dispositius connectats, és a dir, que a part de la NUC, BeagleBone, Raspberry i ATmega328P
poden haver-hi 252 dispositius més connectats al mateix bus, on cadascun d’ells, té una adreça
concreta. En aquest bus s’hi podrien incloure sensors, actuadors, microprocessadors i controladors,
entre d’altres.
Aquest bus té cuatre cables: Data(SDA), Clock (CLK/SCL), Alimentació (Vcc) i Massa (GND).
Per evitar interferències i altres problemes de pèrdues de dades s’ha de posar una resistència de
pull-up entre SDA i Vcc, i entre CLK i Vcc.
És un protocol força robust a curta distància però a partir de 2 metres es comença a perdre el senyal.
També influeixen molt les interferències electromagnètiques (EMI), per tant, s’ha d’aïllar
(apantallar) correctament.
No obstant, s’ha decidit utilitzar aquest protocol de comunicació per la alta simplicitat que té.
A continuació es mostra la comunicació del bus I2C en variis dispositius.
4.7. Conclusions
Aquest nou sistema solventa desavantatges que té l’arquitectura del Guanay II. Injecta sistemes de
seguretat que permeten que el Guanay compti de sistemes de software i hardware de control i fer
d’ell un vehicle més autònom. A més, tots els dispositius són actuals i per tant, amb més capacitat
per gestionar i emmagatzemar dades.
Figura 4.8. Bus I2C [49] .
Disseny del sistema de control d’un vehicle autònom submarí
85
S’opta per un model de descentralització de les unitats de control, ja que així, en cas de fallada, el
propi sistema pot autogestionar-se, és per això que necesita un sistema de software potent i robust.
Ara bé, el control que pot obtenir el Guanay amb aquesta nova arquitectura és molt superior a la
anterior.
No obstant, el nou model quatriplica el consum dels sistemes de control. Això és un factor que cal
tenir en compte i s’hauria de solventar amb un nou sistema de bateries.
Cal dir que no se sap l’estat actual del submarí i per tant s’ha replantejat amb l’últim document que
hi ha actualitzat. Això és degut a que es fan força treballs de final de grau, màster i doctorat amb
aquest vehicle. Per tant, és complicat recopil·lar tota la informació per analitzar-la. Vist aquest
problema i amb l’objectiu de dur a terme aquest projecte, fóra bo fer un llistat de novetats i treballs
que es fan sobre el vehicle.
Per finalitzar, en tot vehicle (concretament en submarins) es pot allargar el seu cicle de vida fent
una revisió de mitja vida, canviant els components desgastats (bateríes) i electrònica. Aquest
projecte (Guanay 3.0 ) és un bon candidat per fer aquesta renovació.
4.8. Nous horitzons
Aquesta nova arquitectura ens permet ampliar nous horitzons amb els AUV i dels diferents camps
d’investigació dins de la universitat.
Degut a l’alt processament de dades que pot realitzar la unitat de control principal Intel NUC5i7RYH
podem integrar nous sistemes d’intel.ligència artificial, visió per computador, alta robustesa del
sistema, noves rutes d’exploració, radars , sónars i d’altres.
S’ha de tenir en compte que si s’inclou un sónar pot afectar greument a la electrònica degut a les
interferències (EMI) que aquest genera, per això, faria falta aïllar l’electrònica del sónar.
També amb els nous sistemes de comunicació es pot enviar una quantitat més extensa de dades
per poder analitzar i tractar externament, i per exemple, fer un ús d’impresores 3D per fer
impresions de peces sota l’oceà.
Per finalitzar, un ús molt interessant, que en un futur tindrà un ús molt extens, és la
descentralització de les funcions (missions) dels AUV. És a dir, comptar amb més unitats de AUV on
cada unitat està especialitzada en una tasca però alhora, tindrà altres AUV amb els que realitzar
tasques col·laboratives. Les dades poden ser enviades d’un a l’altre per fer una computació més
elevada de les dades.
Disseny del sistema de control d’un vehicle autònom submarí
86
CAPÍTOL 5. DISSENY DEL SISTEMA D’ENCESA PER AL GUANAY 3.0
Aquest capítol tracta de la investigació, desenvolupament i innovació d’un disseny electrònic per a
l’encesa dels diferents dispositius del Guanay 3.0.
El Guanay 3.0, com bé s’ha explicat en el CAPÍTOL 4, conté una nova arquitectura pel funcionament
del vehicle. Això implica nous dispositius com la Intel NUC, BeagleBone Black que s’encarreguen de
la unitat de control i adquisició de dades, i la Raspberry que s’encarrega del sistema de seguretat.
En aquest punt, prèn força la idea de crear un sistema d’encesa, ja que un cop tancada la càpsula
(cilindre) on està tota l’electrònica, és necessari posar en marxa tots els dispositius.
Per tant, el capítol planteja un prototip per realitzar aquesta tasca, l’encesa dels diferents
dispositius, tenint en compte diferents restriccions tant en software com en hardware.
Les restriccions que es tenen en compte per realitzar aquest disseny són:
- Emular els interruptors que permeten a l’usuari encendre qualsevol dispositu.
- Comunicació remota mitjançant un dispositiu situat dins el vehicle.
- Enviament i rebuda de dades.
- Ús de plataformes Open Source [50] [51] [53] [54].
- Arquitectura robusta en software i hardware.
- Disseny i desenvolupament en PCB.
Per complir aquests objectius s’ha realitzat un disseny que compta amb un microcontrolador
ATmega328P-PU, explicat en el Capítol 2.
Així doncs, per realitzar aquest dispositiu d’encesa el treball se centra en dos prototips, el prototip
I (circuit bàsic), i el prototip II (disseny final del circuit d’encesa).
5.1. Protip I. Circuit bàsic amb el microcontrolador ATmega328P
En aquest apartat s’ha realitzat el disseny i desenvolupament en placa de baquelita (“topos”) un
circuit que verifiqués els components mínims pel funcionament del microncontrolador que aniria
al disseny final del prototip d’encesa. També es comprova el sistema de càrrega d’arxius dins el
microcontrolador, instal·lant el bootloader, i posteriorment programes per comprovar que tots els
pins del microcontrolador funcionaven correctament.
Disseny del sistema de control d’un vehicle autònom submarí
87
Per fer el disseny funcionament mínim (Figura 5.0) del microcontrolador es cerca informació en el
datasheet (manual del fabricant pel model de microcontrolador) del ATmega328P, i sobre
l’esquema i arquitectura del Arduino Uno, ja que aquesta placa de desenvolupament conté aquest
microcontrolador. L’esquema del Arduino Uno està inclòs en l’Annex com a pdf.
Amb el programa Fritzing [54] (Figura 5.1) es realitza un muntatge de com ha d’anar el
microcontrolador connectat per al seu funcionament bàsic, tenint en compte els pins del
microcontrolador. En les següents figures es poden veure la disposició de pins i components.
Figura 5.1. Prototip II en protoboard.
Figura 5.0. Esquema pel funcionament bàsic del prototip I.
Disseny del sistema de control d’un vehicle autònom submarí
88
A la Figura 5.1 es pot veure l’esquema bàsic per al funcionament del microcontrolador. Els elements
necessaris són:
- 1x Microcontrolador ATmega328P-PU
- 1x Cristall 16 MHz
- 1x Conversor linial DC/DC LM7805. (opcional pero s’afegeix per una linialitat en
l’alimentació)
- 1x Resistència 10.000 Ω
- 1x Resistència 220 Ω
- 2x Condensador 10 uF
- 2x Condensador 22 pF
- Cablejat
Un cop muntat el circuit, es programa el microcontrolador, per això és necessàri un conversor sèrie
de USB a TTL. En ambdós prototips s’utilitza un model FT232RL. Aquest conversor permet ser
utilitzat per a microcontroladors de 3,3 V i 5,5 V. En el cas dels prototips es posa a 5 V.
El microcontrolador ATmega328P es programa per un protocol sèrie. Per fer-ho s’utilitzen els pins
2 i 3 del microcontrolador. Així doncs, utilitzant el conversor USB-TTL anomenat anteriorment es
programarà mitjançant els pins RX i TX d’aquest. En concret, el pin RX del FT232RL es connecta al
pin 3 (TX) del ATmega328P, i el pin TX del FT232RL es connecta al pin 2 (RX) del ATmega328P.
L’alimentació a 5 V (Vcc) i la massa (GND) serà comuna per als dos dispositius.
Per realitzar la programació del microcontrolador s’utilitza la IDE (interfície) d’Arduino [50] que és
Open Source i ens permet carregar fàcilment els programes. El funcioment per programar-lo
s’explica a continuació.
El port del conversor és detectat per la plataforma sense cap mena de problemes, aquest agafa un
nom tipus COM seguit d’un número, i a continuació es selecciona el microcontrolador com si fós la
placa de desenvolupament Arduino Uno, així és com teòricament es carrega el programa. En la
següent es pot veure com queda.
Figura 5.2. USB a TTL model FT232RL.
Disseny del sistema de control d’un vehicle autònom submarí
89
Ara bé, després de moltes comprovacions del circuit de la Figura 5.0 i Figura 5.1 s’arriba a la
conclusió de que no és possible programar el microcontrolador ATmega328P-PU, ja que la placa
dissenyada només permet el funcionament bàsic del microcontrolador, sense la possibilitat de ser
programat. Les proves que es realitzen es fan amb un ATmega328P extret d’una placa d’Arduino
Uno, que contenia el bootloader programat i un altre microcontrolador ATmega328P verge, sense
el bootloader.
El bootloader és el programa que permet llegir les dades enviades a través d’un conversor
sèrie USB a TTL i reescriure-les dins el microcontrolador. En el cas del ATmega328P va inclòs
dins la Flash del microcontrolador, això pot ser un benefici (no es necessiten programadors
externs) o un inconvenient (espai ocupat dins el microcontrolador). Per fer la càrrega del
bootloader s’ha seguit manuals penjats a la mateixa web d’Arduino. A l’Annex I hi ha una
imatge que correspon amb el connexionat necessari per a realitzar la càrrega del
bootloader. Es requereix d’un altre microcontrolador amb el bootloader precarregat per
poder realitzar aquesta tasca.
Figura 5.3. Selecció microcontrolador i port (COM).
Disseny del sistema de control d’un vehicle autònom submarí
90
Així doncs, després de revisar el datasheet del ATmega328P, diferents foros i webs s’arriba a una
solució. Aquesta passa per instal·lar un polsador al pin de reset, que permet posar el pin en un estat
“Low” i provocant un flanc de pujada “High” quan es deixa anar alhora que es transmeten les dades
de programació a través del F232RL.
Això permet que es transfereixin les dades del programa al microcontrolador aconseguint una
reprogramació del dispositiu. També s’aconsegueix programar el bootloader en el cas dels
microcontroladors verge.
En la següent figura es pot veure l’esquema amb el polsador de reset ja inclòs, que estarà
normalment obert i amb un led amb la seva corresponent resistència d’aproximadament 200 Ω en
el pin digital 13 (D13).
L’alimentació (Vcc) segueix sent la mateixa que en la Figura 5.1 que passa per un conversor LM7805.
Per carregar el programa cal mantenir el polsador de reset apretat mentre es compila el programa
al microcontrolador a través de la IDE d’Arduino.
Figura 5.4. Esquema ATmega328P-PU amb polsador.
Figura 5.5. Compilació programa.
Disseny del sistema de control d’un vehicle autònom submarí
91
Un cop s’hagi completat la barra de la dreta de la Figura 5.5, es deixa de prémer el polsador.
A continuació ens sortirà un missatge a l’esquerra dient que s’està pujant el programa, seguit d’un
altre missatge que ens diu que el programa ja està pujat.
Finalment, amb el circuit de la Figura 5.4 s’aconsegueix reprogramar el microcontrolador i instal·lar
el bootloader en el cas del microcontrolador verge.
5.1.1. Altres problemes
S’han trobat altres problemes que han endarrerit aquest prototip, i per tant, el disseny final, ja que
per fer el disseny final (prototip II) era requisit el funcionament bàsic del microcontrolador, que es
fa en el prototip I. A continuació s’expliquen aquests problemes:
- Impossiblitat de programar el microcontrolador amb el circuit bàsic mitjançant el
conversor FT232RL sense el polsador de reset al microcontrolador.
El conversor FT232RL compta amb un pin de sortida de reset, si aquest es connecta al
pin de reset del microcontrolador fa la funció que malauradament ha de fer l’usuari
prement el polsador.
Es desconeix el motiu per la qual cosa no funciona correctament el pin de reset.
La solució finalment passa per afegir el polsador (Figura 5.4) de reset al
microcontrolador, cosa que a més, permet reiniciar el microcontrolador en cas que es
quedi bloquejat.
Figura 5.6. Pujada programa.
Figura 5.7. Programa pujat.
Disseny del sistema de control d’un vehicle autònom submarí
92
- La utilització del microcontrolador ATmega328-PU i no el ATmega328P-PU. La diferència
entre ambdós models és que el primer no compta amb la funció de “Picopower” i el
segon sí. Aquesta funció ens permet programar el microcontrolador perquè tingui un
baix consum.
El microcontrolador escollit va ser el ATmega328P-PU precisament per poder comptar
amb aquesta funció ja que és d’utilitat en un disseny d’encesa, que només espera rebre
comandes cada cert temps.
Però, a l’hora de fer la compra de components el fabricant va subministrat el model
equivocat.
Després de fer una cerca intensa es va arribar a la conclusió que per fer anar aquest
microcontrolador era necessari canviar el codi font del arxiu Arduino Uno/Genuino i
posar una nova direcció (la del ATmega328-PU). Aquesta direcció es pot trobar al
datasheet del fabricant. No obstant això, es va decidir descartar aquesta opció ja que
era massa costosa i es va decidir comprar un ATmega328P-PU, que és amb el que es
treballa en aquest projecte.
Si més no, es va trobar la solució al problema però, va requerir de moltes hores i
dedicació ja que també depenia d’altres problemes com el del conversor FT232RL.
5.2. Protip II. Disseny final del circuit d’encesa
Per a la realització d’aquest apartat, s’ha treballat amb les eines gratuïtes següents:
- SImulació de circuits: Orcad Demo.
- Desenvolupament a PCB: Eagle versió gratuïta per estudiant.
- Programació: IDE d’Arduino.
En un principi es va voler utilitzar l’eina Kicad per al desenvolupament en PCB, ja que és una eina
completament Open Source, però degut al temps que es necessitava per dominar aquest programa
es va decidir treballar amb Eagle versió gratuïta d’estudiant, ja que es tenia un coneixement i un
domini previ.
També es volia portar la placa PCB a fabricació però degut a la falta de recursos i facilitats
econòmiques de la UPC no va ser possible. Així doncs, es va fer el prototip II en una PCB de doble
cara de fibra de vidre, on tot el procés de impremta es va dur a terme en el taller de la universitat.
Per fer el disseny d’encesa i emular el dit humà amb el polsador, s’ha pensat en un relé que activarà
la bobina mitjançant unes comandes del microcontrolador, i la placa del relé que actúa com un
interruptor, ponteja l’interruptor de la Intel NUC, BeagleBone Black, Raspberry Pi i Xbee.
No obstant això, la Raspberry Pi no té cap interruptor/polsadores d’encesa, un cop s’alimenta
s’encén automàticament, és per això que es proposa un circuit d’enclavament. Mitjançant un pin
del ATmega328P s’activa un senyal que permet el pas de corrent a un transistor, així, la Raspberry
Disseny del sistema de control d’un vehicle autònom submarí
93
quedaria alimentada. En aquest moment, un pin de l’alimentació de la Raspberry anirà directament
al transistor anterior, i mantendrà un voltatge i intensitat constant, amb la qual cosa, per més
senyals que enviés posteriorment el ATmega328P (a través del seu pin) no actuaria sobre el
transistor. També seria bo posar un diode perquè no circuli el corrent cap al microcontrolador. Això
permet que la Raspberry que actúa com a sistema de seguretat no es pugui apagar a no ser que
l’usuari la desconnecti. Aquesta part no s’ha pogut realitzar ja que era preferible estar més centrat
amb el software i el hardware general. En tot cas, seria una millora futura que s’hauria d’aplicar. A
continuació es mostra una imatge de com hauria de ser aquest petit sistema d’enclavament, tot i
que queda obert a un nou estudi.
Tot el hardware que permet la programació i funcionament del microcontrolador ATmega328P-PU
és el mateix que el del prototip I però amb diferent col·locació.
5.2.1. Descripció de pins
Per a fer el hardware del circuit s’ha tingut en compte els diferents pins del ATmega328P.
En tres dels pins digitals s’hi han posat uns transistors per poder encendre els relés, ja que el propi
microcontrolador no pot entregar una intensitat suficient per poder encendre’ls. Aquests relés van
dedicats a la NUC, Beagle Bone i Xbee, on el del Xbee actúa com un reinici, és a dir, que sempre
estarà activat fins que l’usuari li envi una comanda demanant el contrari.
Hi ha un altre pin digital dedicat al circuit d’enclavament de la Raspberry però, al no desenvolupar
aquesta part de hardware es mostra amb un led.
Figura 5.8. Circuit enclavament Raspberry.
Disseny del sistema de control d’un vehicle autònom submarí
94
En un altres tres pins digitals es dota el sistema d’uns leds (verd, groc, vermell) que permeten saber
l’estat del sistema de comunicacions, o bé si hi ha encès algun relé.
Es deixen lliures els pins analògics per poder dotar el sistema d’un fotoresistor (LDR) i un altre pin
per un sensor (LM35) que permet calcular la temperatura del mateix sistema.
A continuació es mostra la Taula 5.0 de com queden els pins del ATmega328P-PU en relació amb el
hardware. On la inicial D inidica que el pin és digital, i la inicial A indica que el pin és analògic.
El nom del pin és el mateix que el de la Figura 5.0.
Numero pin ATmega328P-
PU
Pins ATmega328P-PU Hardware
2 D0 RX per programar
3 D1 TX per programar
4 D2 RX per comunicació Xbee
5 D3 TX per comunicació Xbee
6 D4 Pin reinici del Xbee
11 D5 Led vermell per estats
12 D6 Led verd per estats
13 D7 Led groc per estats
14 D8 Sensor digital
15 D9 Pin encesa relé Intel NUC
16 D10 Pin encesa relé BeagleBone
17 D11 Pin per encesa Raspberry
18 D12 -
Disseny del sistema de control d’un vehicle autònom submarí
95
19 D13 -
23 A0 Fotoresistència (LDR)
24 A1 -
25 A2 -
26 A3 Sensor de temperatura
27 A4 -
28 A5 -
Taula 5.0. Pins del prototip II. Disseny final del sistema d’encesa.
5.2.2. Control manual i automàtic
La placa compta amb tres interrutors que els hi corresponen dos polsadors. Aquests interruptors
ens permetran encendre de manera automàtica (via software) o bé manual, els diferents relés. El
interruptor canviarà el mode manual/automàtic, i els polsadors permetran encendre els relés.
Els tres interruptors corresponen a:
- Relé del Xbee amb el suport del polsador per reiniciar manualment.
- Relé Intel NUC amb el suport d’un polsador (comú amb la Beagle Bone).
- Relé BeagleBone Black amb el suport d’un polsador (comú amb la Intel NUC).
5.2.3. Sistema d’encesa software
El sistema d’encesa per software requereix d’una robustesa, ja que en el cas d’enviar varies
comandes del ordinador al xbee, no pot ésser que el microcontrolador actui sense tenir un ordre.
O bé que repeteixi comandes. Per exemple:
Si l’usuari envia “ON” mitjançant el ordinador, el submarí fa la seqüència perquè els relés engegin
tots els dispositius. En el cas de que l’usuari torni a enviar un altre “ON”, el microcontrolador no pot
Disseny del sistema de control d’un vehicle autònom submarí
96
fer la mateixa seqüència ja que sinó s’apagarien tots els dispositius. Cal recordar que els relés actuen
com el dit humà quan pulsa el botó d’encesa d’un dispositiu.
Així doncs, la Figura 5.9 mostra el diagrama d’estats creat perquè no succeeixin aquests casos, a
més, s’adjunta el codi del seu funcionament:
- ‘x,y,z,w’: són variables de control.
- function(a), funcion(b) i function(c): són les funcions que realitzarà cada apartat.
- lectura: és la instrucció que s’envia a través del ordinador mitjançant el Xbee.
Inicialment el sistema es troba en “OFF”, per tant, només es poden seleccionar els modes:
“PROGRAM ON” i “PROGRAM OFF”.
La diferència entre els aquests modes són:
- “OFF” : Apagada dels dispositius que estan en funcionament.
Figura 5.9. Diagrama d’estats del sistema d’encesa.
Disseny del sistema de control d’un vehicle autònom submarí
97
- “ON” : Encesa de tots els dispositius del sistema, la Intel NUC, Beagle Bone i la Raspberry,
on aquest últim es recorda que és el sistema de seguretat del vehicle i que un cop
encès ja no es podrà aturar via software.
- “PROGRAM ON” : Només encén els dispositius que es poden reprogramar, un cop està
tota la arquitectura montada, que són la Intel NUC i la Beagle Bone.
El ATmega328P-PU estarà programat perquè estigui en mode “Sleep” i només actui quan reb una
dada a través del Xbee (connectat als pins 2 i 3) o bé a través de la comunicació I2C que es té amb
altres dispositius. Així evitarem un ús innecesari del microcontrolador i podrem evitar el consum
quan estigui apagat el submarí, ja que si es deixa tot connectat, el microcontrolador ATmega328P-
PU tindrà un consum, a l’espera de les comandes del Xbee.
El mode “Sleep” ens permet programar el microcontrolador amb un model de baix consum deixant
al microcontrolador “dormit” a la espera de rebre alguna senyal. Pasa de consumir uns 60 mA a uns
15 mA, i inclús si es programa el propi Xbee amb aquest mode “Sleep”, el circuit passa a consumir
uns 5 mA. També es pot tenir apagat el microcontrolador ATmega328P-PU i que el Xbee
s’encarregui de gestionar les dades rebudes, tot això amb el seu propi mode “Sleep”, amb un
consum d’uns 10 uA. Aquest mode “Sleep” no s’ha pogut implementar ni al microcontrolador
ATmega328P-Pu ni al Xbee per falta de temps.
5.2.4. Comandes registrades
El programa que s’ha creat disposa de les següents comandes:
“ON” = 'i'
“OFF” = 'o'
“PROGRAM ON” = 'p'
“REINICIO XBEE” = 'r'
“TEMPERATURA”= 't'
Les variables de l’esquerra indiquen el nom de la variable dins el programa, i la de dreta és la variable
que envia l’usuari a través del ordinador.
Disseny del sistema de control d’un vehicle autònom submarí
98
5.2.5. Xbee
És un petit dispositiu de la marca Digi [55] que inclou un microcontrolador amb un mòdul de
radiofreqüència.
El model escollit per aquest treball final de grau és el Xbee S2C generació A.
És el model més econòmic, uns 20 €, i disposa de llibreries ja fetes per el microcontrolador
ATmega328P.
El seu mòdul de radiofreqüència (RF) treballa a 2,4 GHz i pot arribar a una distància d’ 1 km. Hi ha
altres models que arriben fins a 10 km de distància.
Xbee fa servir una comunicació en forma d’estrella. A la Figura 5.11 es pot veure un exemple.
La Figura 5.11 mostra el que seria el coordinador principal (“Master”) en vermell i els esclaus
(“Slave”) en taronja i verd.
Figura 5.10. Xbee S2C [56].
Figura 5.11. Xarxa amb forma d’estrella.
Disseny del sistema de control d’un vehicle autònom submarí
99
Aquesta comunicació amb forma d’estrella és típica de xarxes MAN (Metropolitan Area Network) i
WAN (Wide Area Network), per comunicacions vía satèlit.
La plataforma que facilita el fabricant Digi per programar aquests mòduls s’anomena XCTU.
Aquesta plataforma permet decidir quin dels mòduls que es posen en el sistema dissenyat, vol que
sigui el “Master” i els “Slave”.
Per programar aquests dispositius se segueix el manual que facilita Digi en la seva web. En la Figura
5.12 es pot veure una imatge de la plataforma (interfície gràfica) XCTU amb els dos mòduls que es
necessiten.
Per establir la comunicació entre els dos mòduls es monta un amb la placa d’Arduino Uno sense el
microcontrolador i s’afageix la shield que té Arduino model A000021 per a Xbee.
Figura 5.12. XCTU amb els dos Xbee.
Figura 5.13. Mòdul A000021 per adaptar el Xbee a Arduino Uno.
Disseny del sistema de control d’un vehicle autònom submarí
100
Aquesta placa disposa d’un interruptor que s’haurà de posar en mode USB i que permetrà enviar
comandes a través de la XCTU mitjançant el mòdul A000021 i el Xbee, a l’altre mòdul de situat al
prototip II. La comunicació entre el Xbee i el dispositiu, i el Xbee i el ordinador, és per comunicació
sèrie (UART). En la Figura 5.14 i 5.15 es mostra el funcionament de la comunicació amb Xbee S2C
per radiofreqüència (RF).
En el cas de la Figura 5.15 es mostra una imatgeamb una consola d’un xat amb XCTU tipus eco. Els
xats tipus eco simplement envien una comanda i reben la mateixa, ja que el dispositiu al que se l’hi
envia té un pont en els canals de comunicació (RX i TX).
Per aquesta consola s’escriuran les variables per interactuar amb el microcontrolador ATmega328P
amb el seu Xbee incorporat. Aquestes variables es troben a l’apartat: 5.2.4. Comandes registrades,
i són: ‘i’, ’o’ , ’p’ , ’r’ , ’t’ .
Figura 5.14. Esquema per al funcionament de la comunicació RF.
Figura 5.15. Comunicació a través del xat de XCTU. Missatge enviat (vermell) i missatge rebut (blau).
Disseny del sistema de control d’un vehicle autònom submarí
101
Els pins del Xbee S2C es mostren a la Figura 5.16. Pel seu funcionament només es requerirà del pin
1,2,3 i 9.
Pins Xbee S2C Funció Detall
1 Vcc 3,3 V
2 RX Recepció de dades
3 TX Transmissió de dades
10 GND Massa
Taula 5.1. Pins requerits per al funcionament del Xbee.
S’ha decidit utilitzar aquest dispositiu ja que té una gran quantitat d’informació i llibreries per
programar-lo, a més, disposa d’un microcontrolador propi programable (en aquest treball de fi de
grau no es podia abastar). Finalment, el mòdul Xbee s’utilitza com un transmisor i receptor simple
de radiofreqüència.
Figura 5.16. Pins Xbee S2C [57].
Disseny del sistema de control d’un vehicle autònom submarí
102
5.2.6. Esquema placa general
L’esquema del prototip II s’adjunta a l’Annex 1 i el material pel muntatge als PRESSUPOSTOS.
Tot i això, a continuació es detallen les parts més rellevants de l’esquemàtic i de la placa (PCB).
Figura 5.17. Conexionat del ATmega328P-PU amb els pins referenciats.
Figura 5.18. Power system.
Disseny del sistema de control d’un vehicle autònom submarí
103
El sistema compta amb un conversor linial LM7805 (DC7DC) que transforma un voltatge d’entrada
d’entre 12V i 7V a 5V. Entrega una corrent màxima de 1,5 A, que ja és suficient per fer anar la placa
ja que aquesta en els pitjors dels casos consumeix 600 mA.
Per l’alimentació del Xbee a 3,3 V es proposa un conversor linial pero no es trobava a cap tenda de
les consultades, inclús en físiques. Per tant, es fa un divisor de tensió (dreta) amb unes resistències
de 20 Ω i 40 Ω.
Els càlculs que s’han dut a terme es detallen a continuació:
1) S’aplica la fórmula pel divisor de tensió on Vx és el voltatge de 3,3 V que volem obtenir
i Vcc el voltatge amb el que alimentem al divisor de tensió, en aquest cas a 5 V.
𝑉𝑥 = 𝑉𝑐𝑐 ·𝑅13
𝑅13 + 𝑅12 (𝐸𝑞. 1)
3,3 𝑉 = 5 ·𝑅13
𝑅13 + 𝑅12 (𝐸𝑞. 2)
𝑅13 = 1,94 · 𝑅12 (𝐸𝑞. 3)
𝑅13 = 2 · 𝑅12 (𝐸𝑞. 4)
2) Es dimensiona la R12 per una intensitat de 80 mA, ja que s’espera un consum d’uns 50
mA del Xbee.
𝑅12 =1,7 𝑉
0,080 𝐴 (𝐸𝑞. 5)
𝑅12 = 21,25 Ω
Si es busca al mercat la resistència més fàcil de trobar és de 20 Ω, per tant:
𝑹𝟏𝟐 = 𝟐𝟎 Ω
3) Es troba R13.
𝑅13 = 2 · 𝑅12 (𝐸𝑞. 6)
𝑹𝟏𝟑 = 𝟒𝟎 Ω
Disseny del sistema de control d’un vehicle autònom submarí
104
4) Es comprova que amb aquestes resistències dóna un valor de 3,3 V.
𝑉𝑥 = 𝑉𝑐𝑐 ·𝑅13
𝑅13 + 𝑅12 (𝐸𝑞. 7)
𝑉𝑥 = 5 ·40
40 + 20 (𝐸𝑞. 8)
𝑉𝑥 = 3,33 𝑉
Es dóna per vàlid el resultat, tot i que el divisor de tensió és el mètode menys òptim per alimentar
un dispositiu.
En la Figura 5.19 es pot veure els transistors amb els relés corresponents, ja que si es connecten
directament els relés als transistors el microcontrolador no pot entregar suficient intensitat pel pin.
També a sota a l’esquerra s’hi troben els polsadors que permeten emular el polsador del dispositiu
en cas de que els interruptors, situats a la dreta de l’esquema, es posin en mode manual.
Figura 5.19. Sistema de relés i interruptors (manual/automàtic).
Disseny del sistema de control d’un vehicle autònom submarí
105
Els tres interruptors tenen la funció de posar els relés en mode manual o automàtic. Aquests tres
interruptors corresponen a cadascún dels tres relés (Xbee, NUC i BeagleBone).
Figura 5.21. PCB amb la distribució dels components del prototip II.
A la Figura 5.21 s’hi troba la distribució dels components a la PCB. En concret, s’han realitzat tres
dispositius en una sola placa PCB. A l’esquerra de la imatge s’hi troba el prototip II, i a la dreta dos
adaptadors de pins del Xbee (es passa d’uns pins de 2 mm a uns de 2,54 mm) amb dos leds.
Finalment no s’instal·laran ni les resistències ni els leds físicament ja que no són necesàris pel
funcionament.
Les dimensions del prototip II són de 96 mm x 70 mm.
Figura 5.20. Leds indicadors d’estat. Groc, vermell i verd.
Disseny del sistema de control d’un vehicle autònom submarí
106
5.2.7. Problemes del prototip II
A continuació es detallen els problemes que s’han tingut en el desenvolupament del disseny del
prototip II.
- Qualitat placa:
Al utilitzar-se una placa de fibra de vidre de doble cara, feta artesanalment en el taller
de la universitat, els resultats no són els més bons. Tampoc ha ajudat no tenir el tamany
de broques ideal.
- Xbee S2C:
Es va decidir triar aquest mòdul per la seva versalitat i preu, ara bé, la programació dels
dispositius es va allargar fins a tres setmanes.
En concret, el model utilitzat és un Xbee S2C rev A (primera revisió), és a dir, els primers
models que fabriquen.
Inicialment es va decidir comprar dos models. Un d’ells es programava sense problema
i l’altre no es va poder, tot això mitjançant el XCTU (interfície) i el mòdul FT232RL o el
CP2102.
Es va fer una segona compra amb tres mòduls més Xbee S2C, per intentar programar el
mòdul que faltava per fer parella amb el primer.
Arribats els mòduls Xbee S2C (segona compra) es van testejar i es va aconseguir fer anar
correctament dos dels tres. Concient d’aquest fet, es va notificar a RS Components, web
on s’havien comprat aquest dispositius i molt amablement em van facilitar dos nous.
En una de les compres s’havia adquirit el mòdul A000021 (Figura 5.13), així que es va
intentar fer funcionar aquest mòdul mirant el seu datasheet. Doncs bé, després d’una
intensa cerca, la sorpresa va ser que el datasheet d’aquest mòdul no està actualitzat, i
conté les explicacions per al mòdul anterior. Per tant, no eren útils per al mòdul
A000021, que disposa d’un interruptor amb dues posicions (“Xbee/USB”).
Es van fer noves proves (enginyeria inversa) per descobrir el funcionament del mòdul
A000021, i finalment es va arribar a la conclusió de que les posicions del interruptor
indicaven si els pins 0 (RX) i 1 (TX) del Arduino Uno estan connectats directament o no
amb el mòdul.
Així s’arriba a la conclusió de que si l’interrutor està en posició “USB”, permet cargar un
programa al ATmega328P-PU, en canvi si l’interruptor està en posició “Xbee”, permet
tenir el xbee activat.
Disseny del sistema de control d’un vehicle autònom submarí
107
En resum, si s’utilitza el mòdul A000021, primer es programa el ATmega328P-PU amb el
pin situat en la posició “USB”, i després per activar el Xbee, es mou l’interruptor en la
posició “Xbee”.
En aquest moment, es lliguen caps. Si es té en compte l’esquema que té la placa Arduino
Uno (amb el ATmega328P-PU) i el mòdul A000021, s’arriba a la conclusió de que per
poder programar el Xbee S2C a través del mòdul A000021 mitjançant el conversor de
USB a TTL propi del Arduino Uno, s’ha d’extreure el microcontrolador ATmega328P-PU
de la placa (Arduino Uno) i posar l’interruptor en mode “USB”.
Efectivament, un cop extret el microcontrolador ATmega328P i posat el mòdul A000021
amb el Xbee S2C, es detecta el Xbee, mitjançant el XCTU.
Ara bé, per acabar de donar més emoció a aquest apartat, resulta que tots els mòduls
funcionen amb aquesta espècie de “Hackeig”, cosa inexplicable. Arribant a la conclusió
que és un tema de disseny del propi Xbee S2C.
Per finalitzar, es van enviar correus al fabricant (Digi) explicant la situació sense rebre
cap tipus de resposta.
Per tant, amb el mòdul USB a TTL que va inclòs dins del Arduino Uno si que funcionen
tots els mòduls Xbee S2C, en canvi, amb conversors USB a TTL específics no es detecten
tots els Xbee S2C.
- Pic de voltatge de la bobina dels relés:
Durant les proves de test final es va detectar que al canviar de mode manual a automàtic o
viceversa, el microcontrolador es reiniciava. També succeia quan l’interruptor es trobava
amb mode manual i es premia el polsador.
Figura 5.22. Mòdul A000021 amb Xbee, ATmega328P-PU i Arduino Uno.
Disseny del sistema de control d’un vehicle autònom submarí
108
Mitjançant un oscil·loscopi es detecta que es produeix un pic de voltatge que fa reiniciar el
microcontrolador ATmega328P-PU.
Com es pot comprovar a la Figura 5.23, en el moment de prémer el polsador, provoca un
voltatge màxim de 6,5 V i un mínim de 2,5 V. El funcionament del ATmega328P admet un
voltatge entre 5,5 V i 2,8 V, per tant, és normal que es reinici.
Aquest problema és degut a que la bobina del relé provoca una pic de voltatge quan es
canvia de posició l’interruptor, ja que no hi ha cap dispositiu per descarregar la corrent.
Per solucionar aquest problema es decideix implementar un diode zener paral·lel a cada la
bobina dels relés. També es decideix posar un condensador de 47 uF per evitar els rebots
al prémer el polsador i d’altres petites interferències. Per últim, s’introdueix un
condensador de desacoplament al microcontrolador més gran, en concret un de 10 uF
electrolític i un de 100 nF ceràmic (Figura 5.24).
Figura 5.23. Pics voltatge prototip II. V: 1 V/DIV, H: 500 ns/DIV
Disseny del sistema de control d’un vehicle autònom submarí
109
A la Figura 5.27 es poden veure amb vermell aquests elements. Els condensadors, els
polsadors i els relés, així com el diode zener, només estàn aplicats en un dels casos. És a dir,
que només estan aplicats en sistema hardware de la NUC (que inclou un relé, un interruptor
i un polsador), així durant la presentació es poden mostrar els errors comesos i les solucions
adoptades.
- Col·locació dels interruptors:
Es va posar malament els pins dels interruptors. A la Figura 5.26 (dreta), es pot veure
com queden realment.
Per solucionar aquest problema s’han soldat uns cables multifilars en els pins de la PCB.
A la Figura 5.27 en verd es poden veure els interruptors modificats.
- Conversor linial a 3,3 V LM7803
Finalment es troba, ja que durant la realització d’aquest apartat no es disposava del
material, un conversor linial model LM7803 de 3,3 V i 1 A de sortida i se solda a la placa
evitant posar el divisor de tensions calculat anteriorment.
Figura 5.24. Solució pels rebots del polsador. Figura 5.25. Solució pels pics de voltatge.
Figura 5.26. Interruptor erroni (esquerra) i interrutor correcte (dreta).
Disseny del sistema de control d’un vehicle autònom submarí
110
A la Figura 5.27 en blau es pot veure on està situat.
Figura 5.27. Situació de nous components al prototip II.
Figura 5.28. “Bottom” de la PCB.
Disseny del sistema de control d’un vehicle autònom submarí
111
5.3. Resultat final del prototip I i prototip II
La placa del prototip II està llesta per ser tallada on es mostren les dos esquerdes.
5.4. Conclusions
S’han treballat els camps del software i hardware, aportant una solució a un problema com és
l’encesa dels diferents dispositius de la nova arquitectura del Guanay 3.0.
També s’ha arribat a solucionar tots els problemes que han aparegut durant el disseny i tests del
prototip I i II.
Per últim, es voldria aclarar que aquest disseny no és el definitiu del projecte real del Guanay 3.0,
sinó que estudia una possible solució. Caldria fer la PCB a fàbrica, cosa que no s’ha pogut fer en
aquest treball de final de grau degut a les dificultats que s’han trobat per part de la universitat.
D’aquesta manera es poden optimitzar els components i espai, substituïnt components amb un
encapsulat d’inserció per components SMD, així com fer ús d’optoacopladors en comptes de relés,
entre d’altres canvis.
El motiu pel qual s’han utilitzat els components d’aquest disseny és degut a la falta de material al
laboratori, així doncs, s’han utilitzat uns components el més econòmics possibles.
Figura 5.29. Prototip I.
Figura 5.30. Prototip II amb el Xbee.
Disseny del sistema de control d’un vehicle autònom submarí
112
Si més no, aquest disseny d’encesa aporta una idea de com hauria de ser el sistema real per a
l’encesa dels diferents dispositius en el vehicle Guanay 3.0 .
Disseny del sistema de control d’un vehicle autònom submarí
113
CONCLUSIONS FINALS
En el treball de fi de grau d’Enginyeria Electrònica Industrial i Automàtica, s’han complert tots els
objectius que s’exposaven al principi del treball sobre l’estudi i l’adaptació d’una unitat de control.
S’ha treballat en diferets camps de l’electrònica, des de la recerca fins al disseny i implementació
d’un model electrònic, en aquest cas, tant en l’àmbit del software com del hardware.
També s’ha après a utilitzar eines de disseny de PCB, simuladors de circuits, plataformes de
programació i altres elements, que han requerit de esforç, temps i també de frustracions en alguns
moments, però que finalment, amb esforç, temps i paciència s’ha aconseguit solventar els
problemes de manera satisfactòria.
El treball s’ha centrat finalment en els següents aspectes:
- Recerca i tractament veraç de la informació.
- Utilització i recerca d’eines Open Source.
- Adaptació d’una unitat de control d’emergència.
- Aportar solucions a problemes presents o futurs de les unitats de control.
- Introducció a un nou projecte, el Guanay 3.0.
- Dissenyar des de zero un prototip electrònic.
- Verificar el disseny del prototip.
A l’inici del projecte, es plantejava com una adaptació de la Intel NUC5i7RYH al Guanay II, però,
degut a la falta de recanvis del propi vehicle, les missions constants del vehicle i la distància on
estava ubicat, es va decidir canviar el rumb del projecte, donant-li un enfocament diferent.
En aquest punt es va decidir fer una investigació a fons dels diferents sistemes operatius, software
i hardware, per determinar si la opció més correcte passava per fer l’adaptació o no.
A continuació, es va fer l’estudi sobre l’adaptació de la Intel NUC al Guanay II. Aquesta adaptació
s’anomena Guanay 2.1 i, es planteja finalment com una unitat de control d’emergència.
En aquest punt, es va decidir plantejar una renovació completa del sistema de control de
l’electrònica del Guanay II, passant a anomenar-se Guanay 3.0. Bàsicament es focalitza en el disseny
d’una nova arquitectura amb un sistema de seguretat, per evitar que el vehicle es quedi sense cap
mena de control en cas de fallada a la unitat de control principal.
Aquest projecte (Guanay 3.0) plantejava una sèrie de nous requisits, per tant, es decideix fer una
investigació, desenvolupament i innovació d’un dels nous requisits, en aquest cas, un sistema
d’encesa per als diferents dispositius del vehicle.
Disseny del sistema de control d’un vehicle autònom submarí
114
Amb tot això, es completa un cicle que permet treballar en diferents camps de l’electrònica, des de
la cerca d’informació, fins al disseny del prototip i implementació d’aquest.
Cal dir que els nous dispositius i estructures electròniques del Guanay 2.1 i Guanay 3.0 permeten
millorar les funcionalitats actuals del Guanay II.
Finalment, el ventall de conceptes d’electrònica treballats i desenvolupats en aquest projecte han
permès adquirir una diversitat de coneixements molt útils per poder triar l’àmbit més adient en una
propera carrera profesional.
Disseny del sistema de control d’un vehicle autònom submarí
115
PRESSUPOSTOS
Aquest apartat inclou els diferents pressupostos per:
- 1. Guanay 2.1
- 2. Guanay 3.0
- 3. Prototip I
- 4. Prototip II
1. Guanay 2.1
Per fer una valoració de costos s’ha realitzat una taula on es resumeix amb detall els costos del
projecte, des de l’estudi que s’ha fet en aquest capítol i els dos primers, fins a l’adaptació del “codi”
del Guanay II i adaptar-lo a la NUC5i7RYH. També s’ha tingut en compte, tant el personal com el
material.
El sensors que s’han d’adaptar compten com a cost 0, ja que se suposa que seran els que hi ha
actualment al Guanay II, no obstant això, es recomana guardar una part de pressupost per noves
compres de sensors. En la següent taula es datallen els costos.
Material Preu (€)
NUC5i7RYH 450
Disc dur HDD 1TB 100
RAM 4 GB 90
Hubs RS232 50
Hubs USB 20
Llicència Labview Professional 8.000
Llicència Windows 10 Pro 259
Fase I * 7.200
Fase II ** 10.800
Altres 2.000
Disseny del sistema de control d’un vehicle autònom submarí
116
TOTAL 28.969
Taula P.1. Costos Guanay 2.1.
*La Fase I és la fase amb el personal i les hores que s’han necessitat per fer l’estudi i fase pràctica
d’aquest capítol i els dos anteriors. Es desglossa de la següent manera:
Enginyer= 15 €/h
Personal= 1 Enginyer
Hores: 8 h/dia
Mesos: 2
𝑷𝒓𝒆𝒔𝒔𝒖𝒑𝒐𝒔𝒕 𝑭𝒂𝒔𝒆 𝑰 = 𝑬𝒏𝒈𝒊𝒏𝒚𝒆𝒓€
𝒉·
𝑯𝒐𝒓𝒆𝒔
𝒅𝒊𝒂· 𝟑𝟎
𝒅𝒊𝒆𝒔
𝒎𝒆𝒔
𝑷𝒓𝒆𝒔𝒔𝒖𝒑𝒐𝒔𝒕 𝑭𝒂𝒔𝒆 𝑰 = 15€
ℎ· 8
ℎ
𝑑𝑖𝑎· 2 𝑚𝑒𝑠𝑜𝑠 · 30 𝑑𝑖𝑒𝑠 = 𝟕. 𝟐𝟎𝟎 €
**La Fase II és la fase amb el personal que es necessitaria per implementar i adaptar tot el codi del
Guanay II (PC104+) al Guanay 2.1 (Intel NUC5i7RYH). En aquest apartat, es té en compte
adaptacions de nous components com GPS, sensors i d’altres.
Enginyer= 15 €/h
Personal= 1 Enginyer
Hores: 8 h/dia
Mesos: 3
𝑷𝒓𝒆𝒔𝒔𝒖𝒑𝒐𝒔𝒕 𝑭𝒂𝒔𝒆 𝑰𝑰 = 𝑬𝒏𝒈𝒊𝒏𝒚𝒆𝒓€
𝒉·
𝑯𝒐𝒓𝒆𝒔
𝒅𝒊𝒂· 𝟑𝟎
𝒅𝒊𝒆𝒔
𝒎𝒆𝒔
𝑷𝒓𝒆𝒔𝒔𝒖𝒑𝒐𝒔𝒕 𝑭𝒂𝒔𝒆 𝑰𝑰 = 15€
ℎ· 8
ℎ
𝑑𝑖𝑎· 3 𝑚𝑒𝑠𝑜𝑠 · 30 𝑑𝑖𝑒𝑠 = 𝟏𝟎. 𝟖𝟎𝟎 €
Cal remarcar que els costos de personal són orientatius i en bruts. Si es volgués comptar amb
estudiantat o professorat propi, el cost es redueix al material i llicències.
Disseny del sistema de control d’un vehicle autònom submarí
117
2. Guanay 3.0
Per fer una valoració es fa una taula on es resumeix amb detall els costos de tot el projecte, des de
l’estudi que s’ha fet en aquest capítol fins a l’adaptació del “codi” del Guanay II i adaptar-lo a la
NUC5i7RYH, desenvolupar el sistema d’encesa (ATmega+Xbee), el sistema de seguretat (Raspberry
Pi 3+), l’adquisició de dades i establir els protocols de comunicació. També s’ha tingut en compte
tant el personal com el material.
En aquest cas no es té en compte el cost complet dels sensors o altres elements com el pistó i
motors. Per això, es recomana deixar un pressupost aproximadament d’uns 5.000 € extra, inclosos
dins el pressupost.
Material Preu (€)
NUC5i7RYH 450
Disc dur HDD 1TB 100
RAM 4 GB 90
Hubs RS232 100
Hubs USB 20
Cablejat 150
Subjecció unitat de control 200
Raspberry Pi 3 40
Beagle Bone Black 50
Sistema encesa (inclou prototip I i prototip II) 100
Fase I * 7.200
Fase II ** 172.800
Fase III*** 3.600
Altres 5.000
Disseny del sistema de control d’un vehicle autònom submarí
118
Taula P.2. Pressupost final Guanay 3.0 .
*La Fase I és la fase on el personal i hores que s’ha necessitat per fer l’estudi d’aquest capítol i dels
dos primers, i es desglossa de la següent manera:
Enginyer= 15 €/h
Personal= 1
Hores: 8 h/dia
Mesos: 2
𝑷𝒓𝒆𝒔𝒔𝒖𝒑𝒐𝒔𝒕 𝑭𝒂𝒔𝒆 𝑰 = 𝑬𝒏𝒈𝒊𝒏𝒚𝒆𝒓€
𝒉·
𝑯𝒐𝒓𝒆𝒔
𝒅𝒊𝒂· 𝟑𝟎
𝒅𝒊𝒆𝒔
𝒎𝒆𝒔
𝑷𝒓𝒆𝒔𝒔𝒖𝒑𝒐𝒔𝒕 𝑭𝒂𝒔𝒆 𝑰 = 15€
ℎ· 8
ℎ
𝑑𝑖𝑎· 2 𝑚𝑒𝑠𝑜𝑠 · 30 𝑑𝑖𝑒𝑠 = 𝟕. 𝟐𝟎𝟎 €
**La Fase II és la fase on el personal que es necessitaria per implementar i adaptar tot el codi del
Guanay II (PC104+), al Guanay 3.0. (Intel NUC5i7RYH), desenvolupar tot el codi pel sistema de
seguretat (Raspberry Pi3+), l’adquisició de dades (Beagle Bone) i el sistema d’encesa
(ATmega+Xbee). En aquest apartat també es té en compte adaptacions de nous components com
GPS, sensors i d’altres.
Enginyer= 15 €/h
Personal= 3 Enginyers
Hores: 8 h/dia
Mesos: 16
𝑷𝒓𝒆𝒔𝒔𝒖𝒑𝒐𝒔𝒕 𝑭𝒂𝒔𝒆 𝑰𝑰 = 𝑬𝒏𝒈𝒊𝒏𝒚𝒆𝒓€
𝒉·
𝑯𝒐𝒓𝒆𝒔
𝒅𝒊𝒂· 𝟑𝟎
𝒅𝒊𝒆𝒔
𝒎𝒆𝒔
𝑷𝒓𝒆𝒔𝒔𝒖𝒑𝒐𝒔𝒕 𝑭𝒂𝒔𝒆 𝑰𝑰 = 3 ∗ 15€
ℎ· 8
ℎ
𝑑𝑖𝑎· 16 𝑚𝑒𝑠𝑜𝑠 · 30 𝑑𝑖𝑒𝑠 = 𝟏𝟕𝟐. 𝟖𝟎𝟎 €
TOTAL 189.900
Disseny del sistema de control d’un vehicle autònom submarí
119
***La Fase III és la fase on el personal s’encarregarà d’adaptar definitivament tot el material dins
del Guanay 3.0.
Enginyer= 15 €/h
Personal= 1 Enginyer
Hores: 8 h/dia
Mesos: 1
𝑷𝒓𝒆𝒔𝒔𝒖𝒑𝒐𝒔𝒕 𝑭𝒂𝒔𝒆 𝑰𝑰𝑰 = 𝑬𝒏𝒈𝒊𝒏𝒚𝒆𝒓€
𝒉·
𝑯𝒐𝒓𝒆𝒔
𝒅𝒊𝒂· 𝟑𝟎
𝒅𝒊𝒆𝒔
𝒎𝒆𝒔
𝑷𝒓𝒆𝒔𝒔𝒖𝒑𝒐𝒔𝒕 𝑭𝒂𝒔𝒆 𝑰𝑰𝑰 = 15€
ℎ· 8
ℎ
𝑑𝑖𝑎· 1 𝑚𝑒𝑠 · 30 𝑑𝑖𝑒𝑠 = 𝟑. 𝟔𝟎𝟎 €
Cal remarcar que els costos de personal són orientatius i bruts. Si es volgués comptar amb estudiant
o professorat propi, el cost es redueix al material.
Disseny del sistema de control d’un vehicle autònom submarí
120
3. Prototip I
En aquest apartat es tindrà en compte el material i el personal necessari per al muntatge del
prototip I.
Material Unitats Preu unitat (€) Preu final (€)
ATmega328P-PU 1 3 3
Sòcol 28 pins 1 0,50 0,50
Tira de 40 pins 1 2 2
Cristall 16 MHz 1 0,50 0,50
Condensador 22pF 2 0,15 0,30
Condensador 10 uF 2 0,30 0,60
LM7805C 1 1,15 1,15
Resistència 10.000 Ω 1 0,05 0,05
Resistència 220 Ω 1 0,05 0,05
Resistència 330 Ω 1 0,05 0,05
Led verd 2 0,10 0,20
Connector 5mm 2 pos. 2 0,80 1,60
Placa baquelita 1 2,50 2,50
Jumper 1 0,10 0,10
FT232RL 1 5 5
Cablejat 1 5 5
Fase I * - - 1.800
Fase II ** - - 1.800
Disseny del sistema de control d’un vehicle autònom submarí
121
TOTAL AMB PERSONAL 3622,6
TOTAL SENSE PERSONAL 22,6
Taula P.3. Costos prototip I.
*La Fase I és la fase amb el personal i les hores que s’han necessitat per fer l’estudi i fase pràctica
d’aquest prototip I. Es desglossa de la següent manera:
Enginyer= 15 €/h
Personal= 1 Enginyer
Hores: 8 h/dia
Mesos: 1/2
𝑷𝒓𝒆𝒔𝒔𝒖𝒑𝒐𝒔𝒕 𝑭𝒂𝒔𝒆 𝑰 = 𝑬𝒏𝒈𝒊𝒏𝒚𝒆𝒓€
𝒉·
𝑯𝒐𝒓𝒆𝒔
𝒅𝒊𝒂·
𝒅𝒊𝒆𝒔
𝒎𝒆𝒔
𝑷𝒓𝒆𝒔𝒔𝒖𝒑𝒐𝒔𝒕 𝑭𝒂𝒔𝒆 𝑰 = 15€
ℎ· 8
ℎ
𝑑𝑖𝑎· 15 𝑑𝑖𝑒𝑠 = 𝟏. 𝟖𝟎𝟎 €
**La Fase II és la fase que requereix de muntatge i test de la placa.
Enginyer= 15 €/h
Personal= 1 Enginyer
Hores: 8 h/dia
Mesos: 1/2
𝑷𝒓𝒆𝒔𝒔𝒖𝒑𝒐𝒔𝒕 𝑭𝒂𝒔𝒆 𝑰𝑰 = 𝑬𝒏𝒈𝒊𝒏𝒚𝒆𝒓€
𝒉·
𝑯𝒐𝒓𝒆𝒔
𝒅𝒊𝒂·
𝒅𝒊𝒆𝒔
𝒎𝒆𝒔
𝑷𝒓𝒆𝒔𝒔𝒖𝒑𝒐𝒔𝒕 𝑭𝒂𝒔𝒆 𝑰𝑰 = 15€
ℎ· 8
ℎ
𝑑𝑖𝑎· 15 𝑑𝑖𝑒𝑠 = 𝟏. 𝟖𝟎𝟎 €
Disseny del sistema de control d’un vehicle autònom submarí
122
Cal remarcar que els costos de personal són orientatius i en brut. Si es volgués comptar amb
estudiantat o professorat propi, el cost es redueix al material.
Disseny del sistema de control d’un vehicle autònom submarí
123
4. Prototip II
En aquest apartat es tindrà en compte el material i el personal necessari per al muntatge del
prototip II.
Material Unitats Preu unitat (€) Preu final (€)
Components I* - 22,6 22,6
PCB doble cara 1 0,50 8
Tira de 40 pins 1 2 2
Xbee S2C 2 18 36
Interruptors 3 0,50 1,50
Polsadors 2 0,75 1,50
Relé 5V 3 0,50 1,50
Condensador 47 uF 3 0,20 0,60
Diode 12 V 3 0,20 0,60
Resistència 10.000 Ω 5 0,05 0,25
Resistència 1 MΩ 1 0,05 0,05
Resistència 330 Ω 10 0,05 0,50
Resistència 20 Ω 1 0,05 0,05
Resistència 40 Ω 1 0,05 0,05
Led verd 1 0,10 0,10
Led groc 1 0,10 0,10
Led vermell 1 0,10 0,10
Disseny del sistema de control d’un vehicle autònom submarí
124
Jumper 4 0,10 0,40
Cablejat 1 1,5 1,5
Fase I ** - - 1.800
Fase II *** - - 1.800
TOTAL AMB PERSONAL 3677,5
TOTAL SENSE PERSONAL 77,45
Taula P.4. Material pel prototip II.
* Els Components I són els mateixos components que s’utilitzen per al prototip I. Només es tindrà
en compte el cost de material.
**La Fase I és la fase amb el personal i les hores que s’han necessitat per fer l’estudi i fase de disseny
d’aquest prototip I. Es desglossa de la següent manera:
Enginyer= 15 €/h
Personal= 1 Enginyer
Hores: 8 h/dia
Mesos: 1/2
𝑷𝒓𝒆𝒔𝒔𝒖𝒑𝒐𝒔𝒕 𝑭𝒂𝒔𝒆 𝑰 = 𝑬𝒏𝒈𝒊𝒏𝒚𝒆𝒓€
𝒉·
𝑯𝒐𝒓𝒆𝒔
𝒅𝒊𝒂·
𝒅𝒊𝒆𝒔
𝒎𝒆𝒔
𝑷𝒓𝒆𝒔𝒔𝒖𝒑𝒐𝒔𝒕 𝑭𝒂𝒔𝒆 𝑰 = 15€
ℎ· 8
ℎ
𝑑𝑖𝑎· 15 𝑑𝑖𝑒𝑠 = 𝟏. 𝟖𝟎𝟎 €
***La Fase II és la fase que requereix de muntatge i test de la placa.
Enginyer= 15 €/h
Personal= 1 Enginyer
Hores: 8 h/dia
Disseny del sistema de control d’un vehicle autònom submarí
125
Mesos: 1/2
𝑷𝒓𝒆𝒔𝒔𝒖𝒑𝒐𝒔𝒕 𝑭𝒂𝒔𝒆 𝑰𝑰 = 𝑬𝒏𝒈𝒊𝒏𝒚𝒆𝒓€
𝒉·
𝑯𝒐𝒓𝒆𝒔
𝒅𝒊𝒂·
𝒅𝒊𝒆𝒔
𝒎𝒆𝒔
𝑷𝒓𝒆𝒔𝒔𝒖𝒑𝒐𝒔𝒕 𝑭𝒂𝒔𝒆 𝑰𝑰 = 15€
ℎ· 8
ℎ
𝑑𝑖𝑎· 15 𝑑𝑖𝑒𝑠 = 𝟏. 𝟖𝟎𝟎 €
Cal remarcar que els costos de personal són orientatius i en brut. Si es volgués comptar amb
estudiantat o professorat propi, el cost es redueix al material.
Disseny del sistema de control d’un vehicle autònom submarí
126
BIBLIOGRAFIA
CAPÍTOL 1
[1] González Agudelo, J (2015). Contribution to the model and navigation control of an autonomous
underwater vehicle. Universitat Politècnica de Catalunya. Departament d’Enginyeria Electrònica.
Disponible a: https://upcommons.upc.edu/bitstream/handle/2117/95737/TJGA1de1.pdf [últim
accés desembre 2017].
[2] Masmitjà i Rusinyol, I (2013). Tesi final de màster: aportacions realitzades al vehicle Guanay II
AUV [Internet]. Escola Tècnica Superior d’Enginyeria de Telecomunicacions de Barcelona.
Universitat Politècnica de Catalunya. Disponible a:
https://upcommons.upc.edu/bitstream/handle/2099.1/19145/Aportacions_Realitzades_al_Vehicl
e_GuanayII_AUV_(Ivan_Masmitja)R3.pdf [últim accés desembre 2017].
[3] Navaldrones.com. [Internet]. Disponible a: http://www.navaldrones.com/Remus.html [últim
accés octubre 2017].
[4] Nauticexpo.es. [Internet]. Disponible a: http://www.nauticexpo.es/prod/saab-seaeye/product-
25353-182635.html [últim accés octubre 2017].
[5] Offshorewind.biz. AUV [Internet]. Disponible a: https://www.offshorewind.biz/tag/auvs/ [últim
accés octubre 2017].
[6] Auvac.org. AUVAC: Strengthening the AUV community [Internet]. Disponible
a: http://auvac.org/ [últim accés octubre 2017].
[7] Rudnick D, Davis R, Eriksen C, Fratantoni D, Perry MJ (2004). Underwater gliders for Ocean
Research [Internet]. Marine Technology Society Journal. Vol 38 (1). Disponible a:
http://pordlabs.ucsd.edu/rdavis/publications/MTS_Glider.pdf [últim accés octubre 2017].
[8] Claustre H, Beguery L, Pla Patrice. SeaExplorer Glider Breaks Two World Records [Internet]. Sea
Technology Magazine. Disponible a: https://www.sea-technology.com/features/2014/0314/3.php
[últim accés octubre 2017].
[9] Tarabuta O, Ichimoaei G, Clinci CP, Gherghina A (2016). Biomimetic control of autonomous
underwater vehicles: a modelling algorythm for computing the current sway [Internet]. “Mircea cel
Batran” Naval Academy Scientific Bulletin. Vol 19 (2): 103-108. Disponible a:
Disseny del sistema de control d’un vehicle autònom submarí
127
https://www.anmb.ro/buletinstiintific/buletine/2016_Issue2/NMS/103-108.pdf [últim accés
octubre 2017].
[10] Sbir.gov (2011). BIOSwimmer, a Biomimetic, Autonomous, Unmanned Underwater Vehicle
(UUV) [Internet]. SBIR-STTR. Disponible a: https://www.sbir.gov/node/735801 [últim accés octubre
2017].
[11] Lynceans.org (2016). Wave Glider Autonomous Vehicle Harvests Wave and Solar Power to
Deliver Unique Operational Capabilities at Sea. Lynceans group. Disponible a:
http://www.lynceans.org/all-posts/wave-glider-autonomous-vehicle-harvests-wave-and-solar-
power-to-deliver-unique-operational-capabilities-at-sea/ [últim accés octubre 2017].
[11] Otero, M (2014). Submarino S-41 ARA Santa Cruz. [Internet]. Disponible a:
http://www.panoramio.com/photo/108235659 [últim accés desembre 2017].
CAPÍTOL 2
[12] Informatica-hoy.com.ar. Que es el sistema operativo? [Internet]. Disponible a:
https://www.informatica-hoy.com.ar/aprender-informatica/Que-es-el-sistema-
operativo.php [últim accés novembre 2017].
[13] Microsoft.com. (2017). Windows | Sitio oficial del sistema operativo Microsoft Windows 10
Home, S y Pro, portátiles, tabletas y mucho más [Internet]. Disponible
a: https://www.microsoft.com/es-es/windows/ [últim accés desembre 2017].
[14] Apple.com.es. [Internet]. Disponible a: https://www.apple.com/es/ [últim accés novembre
2017].
[15] Elinux.org (2017). Beagleboard: BeagleBoneBlack [Internet]. Disponible a:
https://elinux.org/Beagleboard:BeagleBoneBlack [últim accés novembre 2017].
[16] Freertos.org. The FreeRTOS Kernel: Market Leading, De-facto Standard and Cros Platform RTOS
Kernel [Internet]. Disponible a: https://www.freertos.org/ [últim accés novembre 2017].
[17] Xilinx.com. Xilinx All programmable. [Internet]. Disponible a: https://www.xilinx.com/ [últim
accés desembre 2017].
[18] Es.rs-online.com. RS Components | Componentes Electrónicos y Eléctricos [Internet].
Disponible a: https://es.rs-online.com/web/ [últim accés desembre 2017].
Disseny del sistema de control d’un vehicle autònom submarí
128
[19] Microchip.com. ATmega328p in Production [Internet]. Disponible a:
http://www.microchip.com/wwwproducts/en/ATmega328p [últim accés desembre 2017].
[20] Ti.com. RMS320F28335 (Active): Delfino Microcontroller [Internet]. Disponible a:
http://www.ti.com/product/TMS320F28335 [últim accés novembre 2017].
[21] Ti.com. Stellaris LM4F120 Series MCU [Internet]. Disponible a:
http://www.ti.com/en/graphics/mcu/stellaris-arm-cortex-m4-LM4F120.jpg [últim accés novembre
2017].
[22] Ihs (2015). Top 10 Ranked MCU Suppliers Assuming Microchip’s Acquistion of Atmel. IHS.
Disponible a:
https://m.eet.com/images/eetimes/2016/03/1329187/IHS_pie03_Top_10_MCU_suppliers.png
[últim accés novembre 2017].
[23] Pinterest.es. Von Neumann Architecture: The Reference Model for Computer [Internet].
Pinterest. Disponible a: https://www.pinterest.es/pin/24136547976279563/ [últim accés
novembre 2017].
[24] Raspberrypi.org [Internet]. Disponible a: https://www.raspberrypi.org/ [últim accés desembre
2017].
[25] Debian.org. (2017). Debian: the universal operating system [Internet]. Disponible a:
https://www.debian.org/ [últim accés novembre 2017].
[26] Element14.com (2015). Raspberry Pi 3 Model B Gpio 40 Pin Block Pinout [Internet]. Disponible
a: https://www.element14.com/community/docs/DOC-73950/l/raspberry-pi-3-model-b-gpio-40-
pin-block-pinout [últim accés desembre 2017].
[27] BeagleBoard.org (2017). BeagleBone: open-hardware expandable computer [Internet].
Disponible a: http://beagleboard.org/support/bone101 [últim accés novembre 2017].
[28] Intel.es. Kit Para Intel: NUC NUC5i7RYH [Internet]. Disponible a:
https://www.intel.es/content/www/es/es/products/boards-kits/nuc/kits/nuc5i7ryh.html [últim
accés novembre 2017].
[29] Asus.com (2015). VivoMini UN65: ultra compact PC for exceptional desktop performance
[Internet]. Disponible a: https://www.asus.com/us/Mini-PCs/VivoMini-UN65/ [últim accés
novembre 2017].
Disseny del sistema de control d’un vehicle autònom submarí
129
[30] Amazon.es (2017). Asus UN65 M025 LGA 1356 (Socket B2) 2.5GHz i7-6500U 0.79l tamaño PC
Azul-Barebón (LGA 1356 (Socket B2),6ª generación de procesadores Intel Core i7, 2.5GHz, i7-6500U,
14nm, 3.1GHz) [Internet]. Disponible a: https://www.amazon.es/UN65-M025M-Socket-2-5GHz-i7-
6500U-tama%C3%B1o/dp/B01C3NR4U0/ref=sr_1_3?ie=UTF8&qid=1514478503&sr=8-
3&keywords=mini%2Bpc%2Bintel%2Bi7&th=1 [últim accés novembre 2017].
[31] Microchip.com. Microchip Technology [Internet]. Disponible a: http://www.microchip.com
[últim accés novembre 2017].
[32] Nxp.com. NXP Semiconductors [Internet]. Disponible a: https://www.nxp.com/ [últim accés
novembre 2017].
[33] Kozub, R (2013). FreeMASTER Usage. Serial driver implementation [Internet]. Roznov: Freescale
Semiconductor. Disponible a: https://www.nxp.com/docs/en/application-note/AN4752.pdf [últim
accés novembre 2017].
[34] Freescale Semiconductor Inc (2012). MC9S08PT60 Series [Internet]. Freescale Semiconductor.
Disponible a: http://docs-
europe.electrocomponents.com/webdocs/12b6/0900766b812b6910.pdf [últim accés novembre
2017].
[35] Montañez, E (2004). Using the HCS08 Family On-Chip In-Circuit Emulator (ICE) [Internet].
Austin: Freescale Semiconductor. Disponible a: https://www.nxp.com/docs/en/application-
note/AN2596.pdf [últim accés novembre 2017].
[36] Nordic Semiconductor (2015). nRF8001. Single-chip Bluetooth® low energy solution [Internet].
Disponible a: http://docs-
europe.electrocomponents.com/webdocs/1429/0900766b81429d60.pdf [últim accés novembre
2017].
[37] Electroiq.com (2015). Microcontroller Market Growth tied to IoT applications, IHS [Internet].
Solid State Technology. Disponible a: http://electroiq.com/blog/2015/09/microcontroller-market-
growth-tied-to-iot-applications-ihs/ [últim accés novembre 2017].
[38] Kranz M, Petisco JM (2017). Internet of Things [Internet]. Amazon.es. Disponible a:
https://www.amazon.es/Internet-Things-colecci%C3%B3n-acci%C3%B3n-
empresarial/dp/8416894884/ref=sr_1_1?s=books&ie=UTF8&qid=1515146789&sr=1-
1&keywords=internet+of+things [últim accés novembre 2017].
Disseny del sistema de control d’un vehicle autònom submarí
130
CAPÍTOL 3
[39] Pc104.org. PC Consortium [Internet]. Disponible a: https://pc104.org/ [últim accés desembre
2017].
[40] Rtd.com. PC104 Modules, PC104 Systems, SBCs, Enclosures: RTD [Internet]. Disponible a:
https://www.rtd.com [últim accés octubre 2017].
[41] Pc104.org (2008). PC104 Specification. Version 2.6 [Internet]. Pc104. Disponible a:
https://pc104.org/wp-content/uploads/2015/02/PC104_Spec_v2_6.pdf [últim accés desembre
2017].
[42] Yee A (2016). Intel NUC5i7RYH review: The poster child of mini-PCs still leads the pack.
[Internet]. PCWorld. Disponible a: https://www.pcworld.com/article/3039427/hardware/intel-
nuc5i7ryh-review-the-poster-child-of-mini-pcs-still-leads-the-pack.html [últim accés novembre
2017].
[43] Rfsolutions.com.uk. RF Receiver + Decoder Hybrid [Internet]. Rfsolutions. Disponible a:
https://www.rfsolutions.co.uk/downloads/1456161817DS-HIRK-433AP.pdf [últim accés novembre
2017].
[44] RBR Ltd. XR-420/620 Series. Multichannel Loggers. [Internet]. Ottawa: Rbr Europe Ltd.
Disponible a: http://www.lunus.com.br/wp-content/uploads/2012/10/Registrador-multi-canais-
XR.pdf [últim accés novembre 2017].
[45] Ni.com (2015). National Instruments USB 6008/6009. Bus-powered Multifunctions DAQ USB
Device [Internet]. National Instruments. Disponible a:
http://www.ni.com/pdf/manuals/371303n.pdf [últim accés desembre 2017].
[46] Ni.com. National Instruments: sistemas de Pruebas, Medidas y Embebidos [Internet].
Disponible a: http://www.ni.com [últim accés desembre 2017].
[47] Ti.com. Texas Instruments. LM35 Precision Centrigrate Temperature Sensors. [Internet].
Disponible a: http://www.ti.com/lit/ds/symlink/lm35.pdf [últim accés desembre 2017].
[48] Es.rs-online.com. IPS Series Industrial Pressure Sensor. [Internet]. Disponible a: http://docs-
europe.electrocomponents.com/webdocs/1541/0900766b81541a41.pdf [últim accés desembre
2017].
Disseny del sistema de control d’un vehicle autònom submarí
131
CAPÍTOL 4
[49] Irazabal JM, Blozis S (2003). AN10216-01: I2C Manual [Internet]. Philips Semiconductors
Disponible a: https://www.nxp.com/docs/en/application-note/AN10216.pdf [últim accés
novembre 2017].
CAPÍTOL 5 [50] Arduino.cc. [Internet]. Disponible a: https://www.arduino.cc/ [últim accés novembre 2017]. [51] Orcad.com. Electronic Hardware and PCB Design software [Internet]. Disponible a: http://www.orcad.com/ [últim accés novembre 2017]. [52] Autodesk.com PCB Design and Schematic Software. EAGLE. [Internet]. Disponible a: https://www.autodesk.com/products/eagle/overview [últim accés desembre 2017]. [53] Kicad-pcb.org. KiCad EDA [Internet]. Disponible a: http://kicad-pcb.org/ [últim accés desembre 2017]. [54] Fritzing.org. Fritzing [Internet]. Disponible a: http://fritzing.org/home/ [últim accés desembre 2017]. [55] Digi.com. M2M Communications , Remote Monitoring and Management [Internet]. Digi. Disponible a: https://www.digi.com/ [últim accés desembre 2017]. [56] Digi International Inc (2017). XBee®/XBee-PRO S2C Zigbee®. RF Module [Internet]. Digi. Disponible a: https://www.digi.com/resources/documentation/digidocs/pdfs/90002002.pdf [últim accés desembre 2017].
[57] Public Image (2015). XBee Pinout. [Internet]. Disponible a: https://imagemag.ru/img-ba_xbee-
s2c-pinout.html [Últim accés desembre 2017].
[58] Adafruit.com. Adafruit industries, unique and fun DIY electronics and kits [Internet]. Adafruit. Disponible a: https://www.adafruit.com/ [últim accés novembre 2017].
ALTRES
Draw.io. [Internet]. Disponible a : https://www.draw.io/ [últim accés desembre 2017].
Voxtechnologies.com. Industrial PC and Enterprise Networking Source [Internet]. Disponible a:
http://www.voxtechnologies.com [últim accés novembre 2017].
Wdlsystems.com. WDL Systems. The embedded Products Source [Internet]. Disponible a:
http://www.wdlsystems.com [últim accés novembre 2017]
Disseny del sistema de control d’un vehicle autònom submarí
132
Oceanografialitoral.com. INNOVA Oceanografia Litoral [Internet]. Disponible a:
http://www.oceanografialitoral.com [últim accés desembre 2017].
Martínez E, Toma DM, Del Río J, García O, Bghiel I. ID41-SWE bridge: software interface for pluf and
work instrument integration into marine observation platforms [Internet].
InstrumentationViewpoint. Disponible a:
http://upcommons.upc.edu/bitstream/handle/2117/100192/ID41.pdf;jsessionid=7A205B2AA71D
BFC0B6ECCD9092F0CCF4?sequence=1 [últim accés novembre 2017].
Disseny del sistema de control d’un vehicle autònom submarí
134
ANNEX I. IMATGES
- 1. Pins del ATmega328P-PU
- 2. Càrrega del bootloader
- 3. Comparativa entre models de Raspberry Pi
- 4. Esquema Arduino Uno
- 5. Esquemàtic del prototip II (Disseny final del sistema d’encesa) fet amb Eagle
- 6. PCB del prototip II (Disseny final del sistema d’encesa) fet amb Eagle
1. Pins del ATmega328P-PU
Disseny del sistema de control d’un vehicle autònom submarí
135
2. Càrrega del bootloader
3. Comparativa entre models de Raspberry Pi
Disseny del sistema de control d’un vehicle autònom submarí
137
5. Esquemàtic del prototip II (Disseny final del sistema d’encesa) fet amb Eagle
S’adjunta finalment com a pdf dins el CD. També s’inclouen els arxius amb Eagle.
Disseny del sistema de control d’un vehicle autònom submarí
140
6. PCB del prototip II (Disseny final del sistema d’encesa) fet amb Eagle
Disseny del sistema de control d’un vehicle autònom submarí
142
ANNEX 2. PROGRAMACIÓ
1. Lector voltatge
2. Test encesa
3. Xbee bàsic
4. Lector baromètric RS Components
5. Programa final del sistema d’encesa del Guanay 3.0.
S’inclouen tots els programes a l’interior del cd junt amb el programa fet amb Labview.
1. Lector voltatge
void setup()
Serial.begin(9600);
pinMode(A0,OUTPUT);// Lectura pin analógico 0
void loop()
int a=analogRead(A0); // Variable local 'a'
Serial.println(a); // Mostrar por el puerto serie la variable
delay(1000); // Espera de 1000 ms
// FIN
Disseny del sistema de control d’un vehicle autònom submarí
143
2. Test encesa
//PROTOTIPO I y PROTOTIPO II
void setup()
pinMode(13,OUTPUT);
pinMode(12,OUTPUT);
pinMode(11,OUTPUT);
pinMode(10,OUTPUT);
pinMode(9,OUTPUT);
pinMode(8,OUTPUT);
pinMode(7,OUTPUT);
pinMode(6,OUTPUT);
pinMode(5,OUTPUT);
pinMode(4,OUTPUT);
pinMode(3,OUTPUT);
pinMode(2,OUTPUT);
pinMode(1,OUTPUT);
pinMode(0,OUTPUT);
void loop()
// para ver todos los pines apagados
digitalWrite(13,LOW);
Disseny del sistema de control d’un vehicle autònom submarí
144
digitalWrite(12,LOW);
digitalWrite(11,LOW);
digitalWrite(10,LOW);
digitalWrite(9,LOW);
digitalWrite(8,LOW);
digitalWrite(7,LOW);
digitalWrite(6,LOW);
digitalWrite(5,LOW);
digitalWrite(4,LOW);
digitalWrite(3,LOW);
digitalWrite(2,LOW);
digitalWrite(1,LOW);
digitalWrite(0,LOW);
//o bien para ver todos los pines encendidos.
/*digitalWrite(13,HIGH);
digitalWrite(12,HIGH);
digitalWrite(11,HIGH);
digitalWrite(10,HIGH);
digitalWrite(9,HIGH);
digitalWrite(8,HIGH);
digitalWrite(7,HIGH);
digitalWrite(6,HIGH);
Disseny del sistema de control d’un vehicle autònom submarí
145
digitalWrite(5,HIGH);
digitalWrite(4,HIGH);
digitalWrite(3,HIGH);
digitalWrite(2,HIGH);
digitalWrite(1,HIGH);
digitalWrite(0,HIGH);*/
// FIN
3. Xbee bàsic
#include <SoftwareSerial.h>
SoftwareSerial xbee(0, 1); // o bien SoftwareSerial xbee(2, 3); // RX, TX
char on = 'i'; // Carácter para encender el led
char off = 'o'; // Carácter para apagar el led
int lectura = 0; //Variable lectura
int led = 8; // Led en el pin digital 8
void setup()
Serial.begin(9600); // Baud rate monitor serie
Serial.println( "XBees connected" );
pinMode(led, OUTPUT); // Led como salida
xbee.begin(9600); // Baud rate Xbee
Disseny del sistema de control d’un vehicle autònom submarí
146
void loop()
lectura = xbee.read(); // Lectura del xbee
if( lectura == on)
digitalWrite(led, HIGH); // Encender el led
Serial.println( lectura ); // Imprimir lectura en el monitor serial
Serial.println( "LED ON" ); // Imprimir este mensaje
if(lectura == off)
digitalWrite(led, LOW); // Apagar el led
Serial.println( lectura ); // Imprimir en el monitor serie
Serial.println( "LED OFF" ); // Imprimir este mensaje
delay(100);// Espera 100 ms
// FIN
Disseny del sistema de control d’un vehicle autònom submarí
147
4. Lector baromètric RS Components.
/*
* IPS Series Industrial Pressure Sensor
* 797-5046 RS; https://es.rs-online.com/web/p/sensores-de-presion/7975046/ ; 160,88 €
* Serial No: 403643
* OUTPUT: 0 to 6 Bar G
* OUTPUT: 0 to 5 Vdc
*
* Development by Gerard Bonavida
*
* Wire:
* Red: Vcc=9-32 Vdc (11Vdc in my ideal case)
* Black: GND
* Yellow: Signal - (I use this wire, only add 100000.0)
* Green: Signal +
* As minus voltage, measure have more error.
*
*/
float a;//sensor value to arduino uno
void setup()
Serial.begin(9600);
Disseny del sistema de control d’un vehicle autònom submarí
148
pinMode(0,INPUT);//use Analog 0 as input
void loop()
a=analogRead(0);//read analog0 and save in the variable "a".
float voltage= (5.0*a)/1024.0;//conversion factor to pas as voltage
float pascals= (600000.0*voltage/5.0)+100000;
Serial.print(voltage);
Serial.println(" V");
Serial.print(pascals);
Serial.println(" Pa");
delay(1000);
//FIN
Disseny del sistema de control d’un vehicle autònom submarí
149
5. Programa final del sistema d’encesa del Guanay 3.0
/*
* Designed by Gerard Bonavida Vila
*
* Guanay 3.0 - Boot System
* 3 relay and raspy pin
*/
#include <Wire.h>
#include <Adafruit_BMP085.h>
#include <SoftwareSerial.h>
Adafruit_BMP085 bmp;
SoftwareSerial xbee(2,3); //en la PCB es 2,3!!
//XBEE variables//
char on = 'i';//de encender componentes
char off = 'o';//de cerrar componentes
char progon= 'p';//de program
char progoff= 'e';//de escape// no se utiliza finalmente.
char reinixbee= 'r';//de reinicio comunicacion xbee
char temp= 't';//pedir la temperatura del sensor LM35 en A5
Disseny del sistema de control d’un vehicle autònom submarí
150
int lectura= 0;//variable inicio
bool varxbee=1;//variable on
bool varybee=0;//variable off
bool varzbee=1;//variable program on
bool varwbee=0;//variable for "program off". Only switch on raspy
//y despues si eso se apaga o se enciende la raspy
//LDR variables//
String Str1= "en superficie";//variable global
String Str2= "hundido";//variable global
String salidaprint;//salida global
/*PINS
* Digital:
* 0->rx ; 1->tx ; 2->rx xbee ; 3->tx xbee ; 4-> relexbee; 5-> esti2c(led vermell) ; 6-> estxbee(led verd)
; 7-> esttemp(led amar)
* 8-> sensorx (¿digital?) ; 9-> relenuc ; 10-> releBB; 11->raspyon; 12&13-> - ;
* Analog:
* A0,A1,A2,A4,A5-> - ; A3-> Sensor Temperatura/LDR;
*/
void setup()
Disseny del sistema de control d’un vehicle autònom submarí
151
Serial.begin(9600);//serial port baud rate
Serial.println("System by Gerard Bonavida");
xbee.begin(9600);//xbee baud rate
Serial.println("Xbee on");
//PINES ACTUALES
pinMode(4,OUTPUT);//rele xbee
digitalWrite(4,HIGH);//activvacion rele siempre activo (consume pero es demo)
pinMode(5,OUTPUT);//led rojo: 1)estado I2C. 2)estado rele nuc 3)hundido
pinMode(6,OUTPUT);//led verde: 1)estado xbee. 2)en superficie
pinMode(7,OUTPUT);//led amarillo: 1)estado temperatura 2)estado rele beagle bone
pinMode(8,INPUT);//
pinMode(9,OUTPUT);//rele nuc
pinMode(10,OUTPUT);//rele beagle bone
pinMode(11,OUTPUT);//raspyon (pin para encender raspberry)
pinMode(12,OUTPUT);//led exclusivo para ver si hay transmision raspyon
pinMode(A3,OUTPUT);//sensor temperatura/LDR
//pinMode(7,OUTPUT);//led blanco prueba rele nuc
//pinMode(8,OUTPUT);//led rojo prueba rele beagle bone
//pinMode(9,OUTPUT);//led amarillo prueba rele raspberry
//pinMode(11,OUTPUT);//led hundido
//pinMode(12,OUTPUT);//led en superficie
//pinMode(13,OUTPUT);
Disseny del sistema de control d’un vehicle autònom submarí
152
pinMode(A0,OUTPUT);//lector LDR
pinMode(A5,OUTPUT);//LM35
/*if (!bmp.begin())
Serial.println("sensor BMP085 no encontrado!");
while (1)
*/
void loop()
barometro();
leds();//desactivada
ldr();
LM35();
//trasmisioni2c(); //future transmision with other MCU
delay(100);
lectura=xbee.read();
digitalWrite(6,HIGH);//led verde ON programa run
//delay(100);
//digitalWrite(6,LOW);//led verde OFF program run
if(lectura==on && varxbee==1)//dos opciones, que se encienda desde 0 o desde la programacion
on
systemon();//se puede tambien configurar, lo unico que no se cerrara nunca la raspy
else if(lectura==off && varybee==1)
systemoff();
Disseny del sistema de control d’un vehicle autònom submarí
153
else if(lectura==progon && varzbee==1)//
systemprogramon();
else if(lectura==reinixbee)
systemreinixbee();
else
//start modo encendido
void systemon()
if(varwbee==0)
digitalWrite(11,HIGH);//flanco subida raspy on=ON
digitalWrite(12,HIGH);//led raspyon ON
delay(250);
digitalWrite(11,LOW);//flanco bajada raspy
digitalWrite(12,LOW);//led raspyon OFF
delay(250);
digitalWrite(10,HIGH);//flanco subida rele bb=ON
digitalWrite(7,HIGH);//led rele bb on
delay(250);
digitalWrite(10,LOW);//flanco bajada rele bb
digitalWrite(7,LOW);//led rele bb off
delay(250);
digitalWrite(9,HIGH);//flanco subida rele nuc=ON
Disseny del sistema de control d’un vehicle autònom submarí
154
digitalWrite(5,HIGH);//led rojo estado nuc ON
delay(250);
digitalWrite(9,LOW);//flanco bajada rele nuc
digitalWrite(5,LOW);//led rojo estado nuc OFF
delay(2000);//para evitar que pulses muchas veces o errores
varxbee=0;
varybee=1;
varzbee=0;
varwbee=0;
else//w=1 for ex. Only switch on raspy.
digitalWrite(9,LOW);//nuc rele low
digitalWrite(5,LOW);//led rojo estado nuc OFF
digitalWrite(10,LOW); //bb rele low
digitalWrite(7,LOW);//led amarillo estado bb OFF
digitalWrite(11,HIGH);//flanco subida rele raspy=ON
digitalWrite(12,HIGH);//led raspyon ON
delay(250);
digitalWrite(11,LOW);//flanco bajada rele raspy
digitalWrite(12,LOW);//led raspyon OFF
delay(2000);//para evitar que pulses muchas veces o errores
varxbee=0;
Disseny del sistema de control d’un vehicle autònom submarí
155
varybee=1;
varzbee=0;
varwbee=0;
void systemoff()
if(varwbee==0)
digitalWrite(9,HIGH);//flanco subida rele nuc=ON
digitalWrite(5,HIGH);//led rojo estado nuc ON
delay(250);
digitalWrite(9,LOW);//flanco bajada rele nuc
digitalWrite(5,LOW);//led rojo estado nuc OFF
delay(250);
digitalWrite(10,HIGH);//flanco subida rele bb=ON
digitalWrite(7,HIGH);//led amarillo estado bb ON
delay(250);
digitalWrite(10,LOW);//flanco bajada rele bb
digitalWrite(7,LOW);//led amarillo estado bb OFF
delay(250);
//estas 3 linias no serviran para nada ya que la raspy no se apaga!!! sistema seguridad
//digitalWrite(11,HIGH);//flanco subida rele raspy=ON
//delay(250);
Disseny del sistema de control d’un vehicle autònom submarí
156
//digitalWrite(11,LOW);//flanco bajada rele raspy
varxbee=1;
varybee=0;
varzbee=1;
varwbee=0;
else//varwbee=1
digitalWrite(11,LOW);//flanco bajada rele raspy
digitalWrite(12,LOW);//led raspyon OFF
digitalWrite(9,HIGH);//flanco subida rele nuc=ON
digitalWrite(5,HIGH);//led rojo estado nuc ON
delay(250);
digitalWrite(9,LOW);//flanco bajada rele nuc
digitalWrite(5,LOW);//led rojo estado nuc OFF
delay(250);
digitalWrite(10,HIGH);//flanco subida rele bb=ON
digitalWrite(7,HIGH);//led amarillo estado bb ON
delay(250);
digitalWrite(11,LOW);//flanco bajada rele bb
digitalWrite(7,LOW);//led amarillo estado bb OFF
delay(250);
varxbee=1;
Disseny del sistema de control d’un vehicle autònom submarí
157
varybee=0;
varzbee=1;
varwbee=0;
void systemprogramon()
digitalWrite(11,LOW);//relé para activar raspberry apagado
digitalWrite(12,LOW);//led raspyon OFF
digitalWrite(10,HIGH);//flanco subida rele bb=ON
digitalWrite(7,HIGH);//led amarillo estado bb ON
delay(250);
digitalWrite(10,LOW);//flanco bajada rele bb
digitalWrite(7,LOW);//led amarillo estado bb OFF
delay(250);
digitalWrite(9,HIGH);//flanco subida rele nuc=ON
digitalWrite(5,HIGH);//led rojo estado nuc ON
delay(250);
digitalWrite(9,LOW);//flanco bajada rele nuc
digitalWrite(5,LOW);//led rojo estado nuc OFF
delay(250);
varxbee=1;
varybee=1;
Disseny del sistema de control d’un vehicle autònom submarí
158
varzbee=0;
varwbee=1;
void systemreinixbee()//modo para reiniciar el xbee
delay(500);
digitalWrite(4,LOW);//rele nuc OFF
digitalWrite(6,LOW);//led verde estado xbee OFF
delay(500);
digitalWrite(4,HIGH);//rele nuc ON
digitalWrite(6,HIGH);//led verde estado xbee ON
delay(2000);
//end modo encendido
void barometro()//BMP085 sensor to 3.3V (NOT 5.0V!)
/*Serial.print("Temperature = ");
Serial.print(bmp.readTemperature());
Serial.println(" *C");
//NO VA
if(bmp.readTemperature()>45)//if the temperature is superior to 45 degrees...buzzer on.
digitalWrite(0,HIGH);
//digitalWrite(PINBUZZER,HIGH);
Disseny del sistema de control d’un vehicle autònom submarí
159
Serial.println("ALTA TEMPERATURA!!");
else
//N.V,.;
Serial.print("Pressure = ");
Serial.print(bmp.readPressure());
Serial.println(" Pa");
// Calculate altitude assuming 'standard' barometric
// pressure of 1013.25 millibar = 101325 Pascal
Serial.print("Altitude = ");
Serial.print(bmp.readAltitude());
Serial.println(" meters");
Serial.print("Pressure at sealevel (calculated) = ");
Serial.print(bmp.readSealevelPressure());
Serial.println(" Pa");
// you can get a more precise measurement of altitude
// if you know the current sea level pressure which will
// vary with weather and such. If it is 1015 millibars
// that is equal to 101500 Pascals.
Disseny del sistema de control d’un vehicle autònom submarí
160
Serial.print("Real altitude = ");
Serial.print(bmp.readAltitude(101500));
Serial.println(" meters");
digitalWrite(13,HIGH);//led de comprovacion de I2C
delay(100);
digitalWrite(13,LOW);
//Serial.println();
//delay(500);*/
void leds()//esta desactivada
/*digitalWrite(13,HIGH);
delay(1000);
digitalWrite(13,LOW);
digitalWrite(12,HIGH);
delay(1000);
digitalWrite(12,LOW);
digitalWrite(11,HIGH);
delay(1000);
digitalWrite(11,LOW);*/
void LM35()
Disseny del sistema de control d’un vehicle autònom submarí
161
if(lectura==temp)
int temperatura = analogRead(A5);
float milivolts = (temperatura/ 1023.0) * 5000;
float graus = milivolts / 10;
Serial.print(graus);
xbee.write(graus);
Serial.println(" C");
xbee.write(" C");
delay(1000);
else
void ldr()
//inicio variables
int a;
int amax;
int amin;
int histeresis=10;
int oscuridad=500;//valor de la oscuridad//10k=500 100K=30
bool lastsalida=0;
bool salida;
//String Str1= "en superficie";//variable global
Disseny del sistema de control d’un vehicle autònom submarí
162
//String Str2= "hundido";//variable global
//String salidaprint;//salida global
//inicializa lector
pinMode(A0,INPUT);
a=analogRead(A0);
amax=oscuridad+histeresis;
amin=oscuridad-histeresis;
Serial.println(a);
if(a<amin && a<amax)
salida=0;//en superficie
salidaprint=Str1;
/*Serial.println(salidaprint);
digitalWrite(11,LOW);
digitalWrite(12,HIGH);
digitalWrite(13,LOW);*/
lastsalida=salida;
if(a>=amax && a>amin)
salida=1;
salidaprint=Str2;
Serial.println(Str2);
/*digitalWrite(11,HIGH);
Disseny del sistema de control d’un vehicle autònom submarí
163
digitalWrite(12,LOW);
digitalWrite(13,LOW);*/
lastsalida=salida;
if(a>=amin && a<=amax)
salida=lastsalida;
salidaprint=salidaprint;
Serial.println(salidaprint);
salida=lastsalida;
//delay(2000);
/*digitalWrite(11,LOW);
digitalWrite(12,LOW);
digitalWrite(13,LOW);
delay(2000);*/
// FIN