26
Paolo Ferrara [email protected] Sistema di telemetria per drone marino www.lasitecma.it

Telemetria dei parametri dinamici di un drone marino paolo ferrara

Embed Size (px)

Citation preview

Page 1: Telemetria dei parametri dinamici di un drone marino paolo ferrara

Paolo Ferrara

[email protected]

Sistema di telemetria per drone marino

www.lasitecma.it

Page 2: Telemetria dei parametri dinamici di un drone marino paolo ferrara

Sistema di telemetria per drone marino

Misure da effettuare:

Misura di tensioni e correnti in sottosistemi con alimentazione indipendente

Misura di temperatura in più punti

Misura barometrica

Page 3: Telemetria dei parametri dinamici di un drone marino paolo ferrara

Convertitore ADC MCP3428

Velocità e Risoluzione:

- 15 SPS (16 bits)

- 60 SPS (14 bits)

- 240 SPS (12 bits)

Guadagno programmabile:

X1, x2, x4, x8

Vref: 2.048V

Page 4: Telemetria dei parametri dinamici di un drone marino paolo ferrara

Sensore tensione

Misura di tensione tramite convertitore AD collegato con partitore resistivo.

Vmax ADC=2.048V

Page 5: Telemetria dei parametri dinamici di un drone marino paolo ferrara

Sensore corrente

Misura di corrente tramite sensore di Hall per corrente continua ad anello.

Page 6: Telemetria dei parametri dinamici di un drone marino paolo ferrara

IsolatoreDigitale

Schema circuito ADCI2

C B

US

ADC 4 canali16 bit

Alimentazionedal Raspberry 3.3V

Regolatore5.5V

AlimentazionedispositivoAlimentazionedispositivo

Massa riferimento

4 Canali di misura}2 Bit di selezione indirizzo I2C

Page 7: Telemetria dei parametri dinamici di un drone marino paolo ferrara

Sensore temperatura

Sensore di temperatura one-wire Dallas DS18B20

Standard: 16 KbpsOverdrive: 140 Kbps

Page 8: Telemetria dei parametri dinamici di un drone marino paolo ferrara

Sensore temperatura

Collegamento

DS18B20 sul

Raspberry

64-bit serial code-55°C to +125°C±0.5°C -10°C to +85°C9-bit to 12-bit0.5°C, 0.25°C, 0.125°C, 0.0625°C

Page 9: Telemetria dei parametri dinamici di un drone marino paolo ferrara

Sensore barometrico BMP085 su bus I2CI2

C B

US

MisuratorePressione Digitale

BMP085+

Termometro

Alimentazionedal Raspberry 3.3V

● Logic: 3 to 5V compliant● Pressure sensing range: 300-1100 hPa

(9000m to -500m above sea level)● Up to 0.03hPa / 0.25m resolution● -40 to +85°C operational range, +-2°C

temperature accuracy

Page 10: Telemetria dei parametri dinamici di un drone marino paolo ferrara

Circuito realizzato

Regolatore 3.3V

Isolatore Digitale

Convertitore A.D.

Partitori di tensione

Selettori indirizzo I2C

Page 11: Telemetria dei parametri dinamici di un drone marino paolo ferrara

Raspberry web server

TORNADO WEB SERVER

web application framework scritto in Python

Page 12: Telemetria dei parametri dinamici di un drone marino paolo ferrara

Raspberry web server

PaginaHTML

sulbrowserremoto

Client

TORNADO

Server

Connessione client

ThreadTermometro

N°1

ThreadTermometro

N°2

ADC

Pressione etemperatura

SensoreTemp.

N°1

SensoreTemp.

N°2

LogDati

Connessione di un client

Page 13: Telemetria dei parametri dinamici di un drone marino paolo ferrara

Raspberry web server

ClientServer

Connessione client

Index.htmlPaginaHTML

sulbrowserremoto

TORNADO

ThreadTermometro

N°1

ThreadTermometro

N°2

Pressione etemperatura

SensoreTemp.

N°1

SensoreTemp.

N°2

LogDati

ADC

Risposta del server con la pagina index.html

Page 14: Telemetria dei parametri dinamici di un drone marino paolo ferrara

Raspberry web server

ClientServer

Connessione client

Richiesta dati

Index.htmlPaginaHTML

sulbrowserremoto

TORNADO

ThreadTermometro

N°1

ThreadTermometro

N°2

Pressione etemperatura

SensoreTemp.

N°1

SensoreTemp.

N°2

LogDati

ADC

Richiesta dati dalla pagina index.html al server

Page 15: Telemetria dei parametri dinamici di un drone marino paolo ferrara

Raspberry web server

ClientServer

Connessione client

Richiesta dati

Index.html

Dati formato JSON

PaginaHTML

sulbrowserremoto

TORNADO

ThreadTermometro

N°1

ThreadTermometro

N°2

Pressione etemperatura

SensoreTemp.

N°1

SensoreTemp.

N°2

LogDati

ADC

Risposta del server con dati in formato json

Page 16: Telemetria dei parametri dinamici di un drone marino paolo ferrara

Raspberry web server

ClientServer

Connessione client

Richiesta dati

Index.html

Dati formato JSON

Comando

PaginaHTML

sulbrowserremoto

TORNADO

ThreadTermometro

N°1

ThreadTermometro

N°2

Pressione etemperatura

SensoreTemp.

N°1

SensoreTemp.

N°2

LogDati

ADC

Comando inviato dal client al server

Page 17: Telemetria dei parametri dinamici di un drone marino paolo ferrara

Raspberry web server

ClientServer

Connessione client

Richiesta dati

Index.html

Dati formato JSON

Comando

PaginaHTML

sulbrowserremoto

TORNADO

ThreadTermometro

N°1

ThreadTermometro

N°2

Pressione etemperatura

SensoreTemp.

N°1

SensoreTemp.

N°2

LogDati

ADC

Richiesta dai thread ai sensori

Page 18: Telemetria dei parametri dinamici di un drone marino paolo ferrara

Raspberry web server

ClientServer

Connessione client

Richiesta dati

Index.html

Dati formato JSON

Comando

PaginaHTML

sulbrowserremoto

TORNADO

ThreadTermometro

N°1

ThreadTermometro

N°2

Pressione etemperatura

SensoreTemp.

N°1

SensoreTemp.

N°2

LogDati

ADC

Risposta dai sensori ai thread

Page 19: Telemetria dei parametri dinamici di un drone marino paolo ferrara

Raspberry web server

ClientServer

Connessione client

Richiesta dati

Index.html

Dati formato JSON

Comando

PaginaHTML

sulbrowserremoto

TORNADO

ThreadTermometro

N°1

ThreadTermometro

N°2

Pressione etemperatura

SensoreTemp.

N°1

SensoreTemp.

N°2

LogDati

ADC

In seguito alla richiesta da parte del client, il server chiede le variabili ai sensori

Page 20: Telemetria dei parametri dinamici di un drone marino paolo ferrara

Raspberry web server

ClientServer

Connessione client

Richiesta dati

Index.html

Dati formato JSON

Comando

PaginaHTML

sulbrowserremoto

TORNADO

ThreadTermometro

N°1

ThreadTermometro

N°2

Pressione etemperatura

SensoreTemp.

N°1

SensoreTemp.

N°2

LogDati

ADC

Il server legge le variabili, le memorizza nel file di log e le ritorna al client in formato json

Page 21: Telemetria dei parametri dinamici di un drone marino paolo ferrara

Visualizzazione e richiesta dati al server

Libreria JustGage

<div id="gauge1" style="width:180px; height:200px"></div>

.

.

.

.

var g2 = new JustGage({ id: "gauge2", value: 0, min: 80000, max: 120000, title: "Pressione Atmosferica", label: "Pascal", levelColorsGradient: true, decimals: 0 });

Page 22: Telemetria dei parametri dinamici di un drone marino paolo ferrara

Visualizzazione e richiesta dati al server

setInterval(function() { if (window.XMLHttpRequest) { xmlhttp = new XMLHttpRequest(); xmlhttp.open("GET","getvalues.php",false); xmlhttp.send(null);

parametri = (xmlhttp.responseText).split(';');

g1.refresh( parametri[0] ); g2.refresh( parametri[1] ); g3.refresh( parametri[2] ); g4.refresh( parametri[3] );

gADC1A.refresh( parametri[4] ); gADC1B.refresh( parametri[5] ); gADC1C.refresh( parametri[6] ); gADC1D.refresh( parametri[7] ); gADC2A.refresh( parametri[8] ); gADC2B.refresh( parametri[9] ); gADC2C.refresh( parametri[10] ); gADC2D.refresh( parametri[11] );

Page 23: Telemetria dei parametri dinamici di un drone marino paolo ferrara

Visualizzazione e richiesta dati al server

document.getElementById("sessione").innerHTML = parametri[12]; if (parametri[13]=="True") { document.getElementById("stato").innerHTML = "Log attivo"; document.getElementById("Bt_Start").disabled = true; document.getElementById("Bt_Stop").disabled = false; document.getElementById("Bt_View").disabled = true; document.getElementById("Bt_Erase").disabled = true; document.getElementById("Bt_Shutdown").disabled = true; } else { document.getElementById("stato").innerHTML = "Log NON attivo"; document.getElementById("Bt_Start").disabled = false; document.getElementById("Bt_Stop").disabled = true; if (parametri[14]=="True") { document.getElementById("Bt_View").disabled = false; document.getElementById("Bt_Erase").disabled = false; } else { document.getElementById("Bt_View").disabled = true; document.getElementById("Bt_Erase").disabled = true; } document.getElementById("Bt_Shutdown").disabled = false; } } }, 500);

Page 24: Telemetria dei parametri dinamici di un drone marino paolo ferrara

Comandi inviati al server

● Start Log

● Stop Log

● View Log

● Erase Log

● Shutdown

Page 25: Telemetria dei parametri dinamici di un drone marino paolo ferrara

Comandi inviati al server

function DoShutdown() { if(confirm("Procedo allo spegnimento definitivo del Raspberry?")) { if (window.XMLHttpRequest) { xmlhttp = new XMLHttpRequest(); xmlhttp.open("get","?shutdown=now",true); xmlhttp.send(null); } } };

Page 26: Telemetria dei parametri dinamici di un drone marino paolo ferrara

Contatti

Soluzioni Digitali di Paolo Ferrara

[email protected]