Progettazione di una stazione Anemometrica

UNIVERSITÀ DEGLI STUDI DI SIENA
FACOLTÀ DI INGEGNERIA
Corso di Laurea di 1° livello in Ingegneria dell’Automazione
Tesi di Laurea
Relatore
Prof. Ing. Massimo Alioto
Candidato
Duccio Picinotti
A.A. 2005/2006
Introduzione
 Aspetti software
 Scrittura codice VHDL per descrizione hardware
logica digitale:
1.
2.
3.
4.
acquisizione segnali dai sensori
elaborazione statistica dati
generazione codici controllo correttezza
generazione toni trasmissione
 Scrittura codice Visual Basic per ricezione:
1. decodifica toni audio in ricezione
2. controllo, memorizzazione e visualizzazione dati
 Scrittura codice ASP per pubblicazione dati su
Internet
Logiche digitali programmabili
 FPGA
 CPLD
1.
2.
3.
4.
1.
2.
3.
4.
numero macrocelle alto
veloci
consumi elevati
memoria volatile
CPLD
numero macrocelle basso
meno veloci
bassi consumi
memoria non-volatile
Scheda CPLD: GFEC Max II Starter Kit
Altera Max II EPM1270T144C5
display
Alimentazione
5V
clock
16 MHz
JTAG
8 led
RS 232
8 switch
4 pulsanti
pins
Linguaggio VHDL
 Linguaggio di descrizione HW per logiche digitali
 Vantaggi programmazione VHDL
1.
2.
3.
4.
indipendenza dalla tecnologia
caratteristiche di alto livello
progettazione gerarchica
modularità
 Approccio sincrono: segnali I/O sincronizzati con il
clock di riferimento
 Programma usato: Quartus II 6.0 SP1
temp
dir
vel
DEBOUNCE
Programma VHDL in trasmissione
FREQ
TEMP
WIND
CALC
WIND
DIR
WIND
CHOOSE
FREQ
VEL
WIND
CONST
radio_tx
WIND
TX
WIND
ENABLE
portante_V
WIND
CLOCK
portante
WIND
BIT_P
CLOCK
DIV 1
CLOCK
DIV 16
Esempio di codice VHDL: wind_enable
Statistiche utilizzo CPLD
Risorsa
Total logic elements
 Combinational with no register
 Register only
 Combinational with a register
Logic elements by mode
 normal mode
 synchronous clear/load mode
 asynchronous clear/load mode
Total LABs (Logic Array Blocks)
I/O pins
 Clock pins
Maximum fan-out
Average fan-out
Utilizzo
1.122 / 1.270 (88%)
592
32
498
547
157
245
118 / 127 (93%)
18 / 116 (16%)
1
384
3,88
Programma “Anemometro 1.0” in ricezione
 Uso di Visual Basic 6.0 SP6
 File di inizializzazione


sensibilità decodifica
protocollo di trasmissione
 Analisi codice Visual Basic:
1.
2.
3.
4.
acquisizione e campionatura segnale audio
processamento real-time con 2 buffer acquisizione
decodifica con FFT a spettro mobile
controllo correttezza messaggio con bit di parità di
riga e colonna, “Codici di ridondanza di blocco”
5. immissione dati in un database
6. visualizzazione storico nei grafici
 Applicativo in funzione nella dimostrazione pratica
Pubblicazione opzionale dati su Internet
 Scopo: aumentare bacino d’utenza del servizio
 Uso del linguaggio di programmazione ASP



Webserver IIS
ADSL flat
servizio di redirect (indirizzo web fisso con IP dinamico)
 Analisi codice ASP:
1. ricerca dati mediante query SQL nel database
condiviso col programma Visual Basic
2. visualizzazione dati giornalieri, ultimi 2 giorni, mensile,
annuo
3. query SQL per test diagnostici
4. visualizzazione velocità giornaliera max
5. visualizzazione tabella con i dati
6. visualizzazione grafici con gli storici
Test e risultati ottenuti sul campo
 Test in laboratorio con scheda FLEX10K
1. prove blocco per blocco
2. prove con generatori da banco
3. prove con simulatore simwind su porta parallela
 Test sul campo in loc. Gorello: errore di TX 0,1%
Atterraggio Gorello
Lat: N 43°23’55.5”
Long: E 11°51’17.8”
Alt: 297 m s. l. m.
Decollo Monte Lignano
Lat: N 43°24’17.6”
Long: E 11°52’58.2”
Alt: 838 m s. l. m.
Caratteristiche e requisiti tecnici
Tempo fase acquisiz. dati
60 s
Tempo fase trasmissione
3s
Numero max di invii per ora
Velocità max del vento
Risoluzione velocità vento
Risoluzione direzione
57 invii / ora
63,5 Km/h
0,5 Km/h
±45 °
Temperatura max
55,5 °C
Temperatura min
- 8 °C
Requisiti PC
Requisiti opzionali
Pentium III o superiore
Scheda audio (line-in o mic)
O.S. Windows 98 o superiore
ADSL flat
Servizio di redirect (no-ip)
Conclusioni
 Progetto hobbistico open-source non commerciale
 Fasi del lavoro:
1. scrittura codice VHDL per la trasmissione
2. scrittura codice VB per la ricezione
3. scrittura codice ASP per la pubblicazione su Internet
 Risultati sul campo soddisfano e superano le
specifiche iniziali
 Ringraziamenti: Franco Languasco per programma
open-source Decotoni in Visual Basic