• Non ci sono risultati.

CAPI TOLO 3 S

N/A
N/A
Protected

Academic year: 2021

Condividi "CAPI TOLO 3 S"

Copied!
54
0
0

Testo completo

(1)

CAPI TOLO 3

S

VILUPPO DEL PROGETTO E

S

OLUZIONI

TECNICHE

Il sist ema da realizzare può essere suddiviso in due sezioni, hardware e

software.

La prima è dedicat a alla conversione dei prot ocolli di t rasmissione dat i dei vari sot t osist emi in un formato st andard adottato per il proget t o. Si t rat t a di una part e hardware in quant o occorre lavorare con opport uni circuit i e supporti di trasmissione dati.

La seconda è invece finalizzat a all acquisizione dei dat i mediant e i canali di trasmissione, decodifica, elaborazione, visualizzazione e archiviazione. Questa fase viene eseguit a via soft ware mediant e un P C e un opport uno linguaggio di programmazione, LabVIEW.

Lo schema a blocchi di Figura 1.3 mostra la soluzione appena descritta:

(2)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

3.1 S

EZIONE

H

ARDWARE

Dat o che si sceglie di far uso di soluzioni quant o più generali si pone come specifica la conversione dei dat i nello st andard

Universal Serial Bus, USB [6].

Quest o è at t ualment e uno degli st andard più diffusi per int erfacciare periferiche a un calcolatore, un Personal Computer.

La massima velocit à di t rasmissione, 480 Mbits/s, è adeguat a per gli strumenti di bordo con cui è int erfacciat a; la lunghezza massima delle connessioni è di circa 5 m, sufficente per quanto riguarda i collegamenti da effettuare.

P er cont ro è doveroso not are che con quest a soluzione si rinuncia ad avere una banda dedicat a per ogni dispositivo. Ad ogni cont roller USB [6] è assegnat a una quant it à fissa di larghezza di banda, che deve essere condivisa da t ut t e le periferiche collegat e. Ciò impone dei limit i sul n° di disposit ivi collegabili e sulla banda stessa, da essi richiest a per la comunicazione.

È possibile collegare diversi disposit ivi ad un singolo gest ore in una struttura ad albero usando un hub.

(3)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

In esso confluiranno i segnali, opport unament e convert it i, provenient i dai vari sot t osist emi; ci sarà poi una sola uscit a da collegare al P C su cui è implementata la parte software del sistema.

P er quant o riguarda la t rasmissione dat i si sceglie di far riferiment o a prot ocolli non propriet ari: quest o significa che si considerano st andard di codifica la cui conoscenza è diffusa liberament e. Il vant aggio st a nel fat t o che le operazioni di decodifica risult ano così più immediat e; del rest o non c è nemmeno la necessit à di rendere le informazioni t rat t at e oscure a t erzi.

Si parla invece di prot ocolli propriet ari quando alcuni o t ut t i i messaggi inviat i sono codificat i in forme not e solt ant o alla casa cost rut t rice. Quest o avviene, ad esempio, quando si t rasmet t ono delle informazioni riservat e, ove non c è il desiderio che vengano diffuse a t erzi.

Dunque per quant o riguarda i mot ori e gli st rument i di navigazione si ut ilizzano dat i t rasmessi in prot ocolli di libero ut ilizzo: in quest o modo risult ano più semplici le operazioni di decodifica e int erpret azione realizzat e dalla sezione soft ware. I prot ocolli di cui viene fat t o uso sono delle soluzioni universali di comunicazione, diffuse a livello mondiale. Si avrà in part icolare lo st esso st andard per ent rambi i t ipi di mot ore ed uno soltanto per tutti gli strumenti di navigazione.

In Tabella 1.3 sono elencat i i segnali, ricevut i dalle diverse sorgent i, da convertire eventualmente in USB con apposito hardware.

I dat i mot ore sono ricevut i su CAN bus e codificat i in un apposit o protocollo descritto in seguito.

I segnali da st rument i di navigazione e angolo t imoneria sono anch essi digit ali e ricevut i sot t o forma di st ringhe opport unament e codificat e e trasmesse su seriale RS-232.

I dat i riguardant i posizione di F lap e T rim sono invece di t ipo analogico. Quest i dovranno essere sogget t i a una conversione analogico-digitale prima dell acquisizione ed elaborazione nella sezione soft ware.

(4)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

Variabile Tipo Prelievo Origine

Dati motore

dx digitale (stringa 16 b) CAN Bus

Motore dx

MAN/MTU

Dati motore

sx digitale (stringa 16 b) CAN Bus Motore sx MAN/MTU

Coordinate geografiche,

UTC digitale (stringa) NMEA 0183 Navigatore

COG, SOG digitale (stringa) NMEA 0183 Navigatore Angolo

timoneria digitale (stringa) SeaTalk Auto-pilot Flap sx analogico (0.6-5.9 V) Indicatore Flap sx potenziometrico Sensore

con molla Flap dx analogico (0.6-5.9 V) Indicatore Flap dx

Sensore potenziometrico

con molla Trim sx analogico (1.5-6.1 V) Indicatore Trim sx potenziometrico Sensore

calettato Trim dx analogico (1.5-6.1 V) Indicatore Trim dx potenziometrico Sensore

calettato Inclinazione

X,Y dello

scafo digitale RS232 to USB

Sensore di inclinazione

Tabella 1. 3: Elenco segnali ricevuti dalle sorgenti da monitorare

P er quant o concerne i dat i di inclinazione, in format o digit ale, prodot t i dall apposit o sensore, si prevede già una conversione, che dia un uscit a USB, sulla board da realizzare.

3.1.1

Dati Motore

I mot ori delle imbarcazioni di int eresse sono prodot t i dalle case costruttrici MAN e MTU. Essi sono dot at i di un grande numero di sensori in grado di rilevare una molt it udine di grandezze. Quest i dat i sono codificati in appositi protocolli e trasmessi su CAN Bus.

(5)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

Il Controller Area Network, CAN [6] [7] [8], è uno standard di trasmissione seriale(ISO11898) nat o per applicazioni di t ipo automotive, ma ormai diffuso in svariat i campi, ove necessario gest ire dat i e sist emi at t raverso una unità di controllo elettronico (Electronic Control Unit, ECU).

Esso descrive principalment e il Data Link Layer e Physical Layer del modello di comunicazione ISO/OSI1 ment re i prot ocolli degli alt ri strati sono di libera scelta del progettista della rete.

Una ECU avrà una singola int erfaccia CAN per comunicare con t ut t i i sottosistemi da controllare(vedi Figura 3.3 [8]).

Quando un nodo della ret e di comunicazione è pront o per t rasmet t ere si effettua un controllo al fine di verificare che il bus non sia occupato.

Se non ci sono problemi viene inviato un messaggio CAN sulla rete; questo viene ricevut o da t ut t i i nodi, ma accet t at o solo da quello cui è dest inat o. Quest ult ima informazione è cont enut a all int erno della st ringa t rasmessa, nel campo Arbitration ID.

P er la t rasmissione messaggi da e verso più disposit ivi si applicano dei meccanismi basati sulla priorità in modo da evitare possibili conflitti.

Figura 3. 3: Collegamento tra ECU e sottosistemi tramite CAN bus

1 Il modello ISO/OSI (Open System Interconnection), divide la gestione di una rete in blocchi

(6)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

In particolare il CAN, per decidere quale nodo deve avere la priorità per la t rasmissione, si basa su un meccanismo di arbit raggio a singolo bit (bitwise).

Sono definit i due st at i del bus, associat i ai livelli logici 1 e 0, t ali che uno dei due sia sempre in grado di sovrascrivere l alt ro, sia logicament e che elettricamente. Il livello logico che può essere sovrascrit t o si dice recessivo, l alt ro è det t o dominante.

Lo stato dominante è associat o al livello logico 0, il recessivo al livello logico 1. Essi sono gest it i con il meccanismo del Wired-AND: quando si ha un conflit t o t ra due nodi, dei quali uno t rasmet t e un bit dominant e e l alt ro recessivo, è il primo a sovrascrivere l alt ro. Dunque solo se t ut t i i nodi della ret e st anno t rasmet t endo un bit recessivo il bus sarà in t ale stato.

Si supponga, ad esempio che un nodo, nella t rasmissione dell ID, invii un bit recessivo, ma legga che il bus è in stato dominante. Ciò significa che un alt ro nodo st a t rasmet t endo un messaggio a priorit à maggiore, quindi il primo arrest a la comunicazione, che viene affidat a al secondo. Il nodo che ha perso l arbit raggio proverà di nuovo a t rasmet t ere non appena il bus sarà di nuovo libero, inattivo.

Il CAN può implement are diversi t ipi di Physical Layer; quello usat o per la comunicazione dei paramet ri da part e dei mot ori è l High Speed CAN (ISO 11898-2), che può raggiungere velocit à di trasmissione di 1 Mbit/s per reti di lunghezza inferiore a 40 m.

Le stringhe inviate nella comunicazione su CAN bus sono dette frame. Ogni frame è costituito nel modo seguente:

S O F 11- BIT ARBITRATION ID S R R I D E 18- BIT ARBITRATION ID R T R

DLC 0 8 BYTES DATA CRC A C K E O F Figura 4. 3:Composizione di un frame CAN

(7)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

Arbitration ID: identifica il tipo di messaggio e indica la sua priorità (priorit à crescent e per valori minori di ID). P uò essere in due formati, standard (11 bit ) ed esteso (11+18 = 29 bit). In quest o ultimo caso si possono rappresentare fino a 229 diversi messaggi.

SRR(Substitutive Remote Request) bit : si ha una richiest a remot a sostitutiva se a 1( bit recessivo)

IDE(Identifier Ext ension) bit : permet t e di dist inguere t ra frame di tipo standard ed esteso.

RTR(Remote Transmission Request) bit: distingue un remote frame (se a 1) da un data frame (se a 0).

DLC(Data Lenght Code): indica il numero di byt e contenuti nel campo dati.

Data Field: è il campo dat i ove sono cont enut e le informazioni da trasmettere. Può avere una lunghezza massima di 8 byte.

CRC(Cyclic Redundancy Check): cont iene informazioni ut ili per rilevare errori di trasmissione.

ACK(ACKnowledgement ): se il CAN cont roller di un nodo riceve corret t ament e il messaggio invia sul bus un bit di ACK; se il nodo t rasmit t ent e non lo rileva ent ro un cert o int ervallo t emporale provvede a rinviare l informazione.

EOF(End Of Frame) bit: segnala la terminazione del frame.

Vi possono essere 4 tipi di frame CAN:

1) Data Frame: cont iene i dat i, le informazioni che il nodo deve trasmettere;

(8)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

2) Remote Frame: serve per richiedere la t rasmissione di un det erminat o ID; è ident ico al dat a frame, cambiano solo il bit RT R e il campo dati, che adesso contiene il numero di frame richiesti. 3) Error Fram e: usat o per t rasmet t ere informazioni su errori che si

sono verificati;

4) Overload Fram e: nel caso di un eccesso di dat i t rasmessi si introduce un ritardo tra data frame e/o remote frame.

Lo st andard ISO 11898-2 ut ilizza per la t rasmissione una linea bilanciat a a due fili. Il connet t ore usat o (9-pin D-Sub) è most rat o in

Figura 5.3 b), la sua piedinatura è descritta in Tabella 2.3 [9].

Figura 5. 3: a) sezione del cavo utilizzato; b) connettori per CAN bus

Tabella 2. 3: Piedinatura dei connettori CAN

Pin Signal Description

1 - Reserved

2 CAN_L CAN_L bus line (dominant low) 3 CAN_GND CAN Ground

4 - Reserved

5 (CAN_SHLD) Optional CAN Shield 6 (GND) Optional Ground

7 CAN_H CAN_H bus line (dominant high)

8 - Reserved

(9)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

Il prot ocollo di t rasmissione dei dat i dei due mot ori è il

J1939-71 Vehicle Application Layer [7] [10] [11], ideato dalla SAE 2.

Esso è st at o sviluppat o per la comunicazione t ra sist emi elet t ronici in veicoli pesanti, in particolare nel settore della motoristica.

T ale prot ocollo cont iene un set di profili dat i per comunicazione su ret e CAN nello st andard ISO 11898, con bus realizzat o da una coppia di fili intrecciati. La velocità di trasmissione prevista è di 250 kbits/s.

Questo è un protocollo di pubblico dominio, le informazioni trasmesse sono libere e rese note in apposite documentazioni dello standard [11].

In Figura 6.3 sono mostrate alcune stringhe inviate dai motori.

Figura 6. 3: Alcune stringhe trasmesse da un motore MAN

Se si considera ad esempio la st ringa evidenziat a, essa si conforma al protocollo J1939, ed è così composta:

ID n°byte B1 B2 B3 B4 B5 B6 B7 B8

T0C F00400 8 FF 7D 82 D0 12 D1 FF FF

I primi 3 carat t eri sono ident ificat ivi della sorgent e che t rasmet t e, quindi cambieranno a seconda del tipo di motore, MAN o MTU.

ID cost it uisce l ident ificat ore della st ringa: in base a esso si avranno opportune informazioni contenute nel campo dati degli 8 byte B1÷ B8.

2 SAE: Society of Automotive Engineers Heavy Truck and Bus Division.

T18FF68008080000001E00FFFF T18FF860080000000000000000 T0CF004008FF7D82D012D1FFFF T18FF690080000000000000000 T18FEF80080000001CB9230000 T18FF48008012118FCFFFFFFFF

(10)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

N°byte dà un informazione sullo spazio riservat o ai dat i nella st ringa, in questo caso 8 byte.

Le informazioni rappresent abili con quest o prot ocollo sono raggruppat e nei Parameter Group, che combinano segnali simili o associati.

Ogni P aramet er Group è ident ificat o da un numero a 16 bit chiamat o Parameter Group Num ber, PGN e t rasmesso nella st ringa in esadecimale nei primi 4 caratteri del campo ID.

Ogni P GN indica un gruppo di paramet ri: quest i saranno rappresent at i sui byt e riservat i ai dat i: posso avere ad esempio 8 grandezze, ognuna codificata nei campi da B1 a B8. Così B1 conterrà il dato x, B2 il dato y e via di seguito.

Ogni singola grandezza è rappresent at a da un codice indicat ivo, il Suspect Parameter Number, SPN.

F acendo riferiment o ancora alla st ringa considerat a il PGN è ident ificat o dal numero esadecimale

F004

H

Operando la conversione in decimale si risale al PGN

F004

H

61444

10

Il pgn61444 corrisponde al gruppo di paramet ri

Electronic Engine Controller 1 (EEC1), che present a le seguent i caratteristiche [11].

(11)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

Tabella 3. 3: Caratteristiche del gruppo di parametri EEC1

In Tabella 4.3 sono descritte le grandezze appartenenti al gruppo EEC1

Posizione bit/byte

Lunghezza Descrizione Grandezza SPN

1.1 4 bits Engine Torque Mode 899

2 1 byte Driver's Demand Engine - Percent Torque 512

3 1 byte Actual Engine - Percent Torque 513

4-5 2 bytes Engine Speed 190

6 1 byte Source Address of Controlling Device for Engine Control

1483

7.1 4 bits Engine Starter Mode 1675

8 1 byte Engine Demand - Percent Torque 2432

Tabella 4. 3: Grandezze appartenenti al Parameter Group EEC1

Si consideri, ad esempio, la grandezza cont enut a nel byt e B2, Driver s Demand Engine - Percent Torque.

Tabella 5. 3: Caratteristiche del dato Driver's Demand Engine -Percent Torque Parameter Group Number : 61444 ( 00F004H )

Transmission Repetition Rate: engine speed dependent

Data Length: 8 bytes

Data Page: 0

PDU Format: 240

PDU Specific: 4

Default Priority: 3

Data Length: 1 byte

Resolution: 1 %/bit , -125% offset

Data Range: -125 to 125 %

Operating Range: 0 to 125%

Type: Measured

Suspect Parameter Number: 512

(12)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

Il dato d int eresse è codificato nel valore esadecimale 7DH.

P er risalire al valore rappresent at o è necessario convert ire il numero in decimale, sottrarre 125 e dividere per 1003.

7D

H

125

10

(125-125)/100 = 0 %

Si ottiene Driver s Demand Engine - Percent Torque = 0%.

Quello appena vist o è il caso di una grandezza codificat a su di un solo byt e; nel caso di dat i cost it uit i da più di 1 byt e si t enga present e che la trasmissione è di tipo LSB First 4.

Sia i mot ori MAN che MTU t rasmet t ono dat i in quest o format o; cambieranno alcune grandezze di int eresse per i due. In Appendice A sono elencati i dat i di int eresse per i due casi, con gli SPN e i corrispondent i PGN.

I segnali acquisit i dai mot ori sono disponibili sui connet t ori most rat i in

Figura 5.3 b).

P er acquisire i dat i con il sist ema da proget t are è necessario operare una conversione in USB. Ciò viene effet t uat o mediant e un apposit o convertitore CAN-USB già esistente in commercio.

In quest o modo i segnali ricevut i su USB appaiono come codificat i in CAN: è come avere il protocollo anziché sul proprio connet t ore, sull USB. Quindi, per quant o riguarda l int erfaccia verso i mot ori, la sezione hardware si limit a all uso di t ali moduli ed è perciò molto immediata.

3 Si faccia riferimento alla risoluzione (resolution) della grandezza in Tabella 6.

4 LSB (Least Significant Byte) First: il primo byte che arriva è il meno significativo del dato.

Ad esempio nel caso si abbia il dato su B1 e B2, rispettivamente come FFH e F5H , il numero

(13)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

Il convertitore utilizzato è il CANUSB prodotto dalla LAWICEL [12]. Esso è dot at o di una apposit a circuit eria a microcont rollore e permet t e, t ramit e l invio di semplici comandi a livello soft ware, di impost are la t rasmissione (apert ura-chiusura canale, set t aggio della bit rat e, ecc.). Assieme al disposit ivo viene anche fornit o l apposit o driver che gest isce il collegamento USB al PC.

Il CANUSB è di est rema facilit à d uso, in quant o l aliment azione è fornit a direttamente dal connettore USB.

I due led, verde e rosso, su di esso indicano rispet t ivament e una corret t a trasmissione della stringa e la presenza di un errore.

Figura 7. 3: a) il convertitore CANUSB; b) circuito interno

P er il funzionament o del sist ema sono necessari due CANUSB, uno per ciascun motore

La part e consist ent e del lavoro si riduce quindi alla sezione soft ware, ove sarà necessario gest ire la comunicazione at t raverso l invio di apposit i comandi e la decodifica del protocollo.

(14)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

3.1.2

Dati da Strumenti di Navigazione

Navigat ore Sat ellit are GP S e T imoneria forniscono dat i digit ali in format o di st ringhe codificat e mediant e opport uni prot ocolli di comunicazione.

Il prot ocollo di t rasmissione per i dat i da st rument i di navigazione è l NMEA 0183 [13] [14]. Quest o è uno st andard di t rasmissione sviluppat o dalla National Marine Elecrtronics Association, NMEA5.

I dat i vengono codificat i in frasi, det t e sentences, t rasmesse in carat t eri ASCII su apposite connessioni6

a una bit rate di 4800 bit/s. Una frase NMEA è composta nel modo seguente:

$<address field>[,<data field>][,<data field>][

*

<checksum field>]<CR><LF>

Il carattere $ delimit a l inizio di ogni sentence.

Il campo address field è compost o da 5 carat t eri: i primi due indicano la tipologia del t rasmet t it ore; i rest ant i forniscono un informazione sul t ipo di dati contenuti nella stringa.

Data field costituisce il campo dati della sentence: a seconda della sorgente

e delle grandezze rappresent at e si avranno uno o più dat a field. Ciascuno sarà separato dagli altri da una virgola.

Checksum field è un campo opzionale ut ile per pot er individuare errori di

t rasmissione durant e la comunicazione. Si ot t iene facendo l OR-esclusivo a 8 bit (senza quelli di st art e st op) di t ut t i i carat t eri della frase, inclusi le virgole ed esclusi $ e

*

. È introdotto dal carattere

*

.

I carat t eri <CR>7

e <LF>8

, rispet t ivament e 0DH e 0AH in esadecimale, delimitano la fine della frase.

5 Associazione composta da produttori, distributori, rivenditori, scuole e altro che si occupa

dell elettronica in campo nautico.

6

Solitamente si usano linee seriali RS-232 o RS-422

(15)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

In Figura 8.3 sono mostrate alcune sentence del protocollo NMEA 0183.

Figura 8. 3: Alcune sentence NMEA 0183

Ad esempio la stringa evidenziata è così composta:

9 10

A seconda del t ipo di sentence il cont enut o informat ivo cambia; in

Tabella 6.3 sono elencat e le grandezze monit orat e ment re in Appendice B

8 Line Feed (LF): indica che il cursore salta una linea 9

Geographic Position Latitude/Longitude, GLL

10 Electronic Chart Display & Information System

$ECGLL,4351.937,N,01300.869,E,140136.57,A,A*70 $ECVTG,028.0,T,026.0,M,9.9,N,18.3,K,A*06 $ECZDA,140136.82,06,11,2006,,*7E $SDDBT,24.5,f,7.4,M,4.1,F*33 $SDDPT,7.4,0.0*54 $VWMTW,-117.64,C*3A $ECGLL,4351.917,N,01300.854,E,140128.58,A,A*7C $VWVHW,024.0,T,022.0,M,0.00,N,0.0,K*62 $IIRSA,-1,A,,V*4B $VWVLW,0.0,N,0.00,N*7C $GPGLL,4347.80024,N,01306.67740,E,085945.4,A*39

(16)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

è riport at a la sint assi dei vari t ipi di frase NMEA decodificat e dal sist ema progettato.

Tabella 6. 3: Elenco delle grandezze monitorate dagli strumenti di navigazione

I dat i riguardant i l angolo t imoneria sono in format o SeaTalk [15], che è un prot ocollo propriet ario, ma sull imbarcazione si at t ua una conversione in NMEA 0183 t ramit e apposit i disposit ivi. Quindi in sost anza il segnale da acquisire è ancora di tipo NMEA 0183.

Poiché la sorgent e è diversa il sist ema dovrà disporre di due port e per acquisizione dat i NMEA: una per il navigat ore sat ellit are, l alt ra per i messaggi riguardant i l angolo t imoneria.

I segnali NMEA sono fornit i su port a seriale RS-232 o RS-422 [6]. Prima dell acquisizione sarà necessario attuare una conversione in USB.

P er quant o riguarda la part e hardware del sist ema occorre realizzare un disposit ivo di conversione. Quest o è st at o sviluppat o dal Dipart iment o di Ingegneria dell Informazione dell Universit à di P isa ed è in grado di ricevere dat i in format o RS-232 e RS-422 e fornirli in uscit a, opport unament e convert it i, su connet t ore USB. Lo schema circuit ale è mostrato in Figura 9.3.

La board present a un connet t ore, J2, su cui sono ricevut i i segnali in RS-232 e/o RS-422.

Latitude , N/S: coordinata Latitudinale Longitude , E/W: coordinata Longitudinale

Course Over Ground, COG: direzione effettiva della traiettoria seguita dall imbarcazione rispetto alla terra ferma

Speed Over Ground, SOG: velocità dell imbracazione, lungo la traiettoria percorsa, rispetto alla terra ferma

Depth Below Transducer, DBT: profondità dell acqua riferita al sensore posto sullo

scafo dello yacht

(17)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

Figura 9.3: Schema circuitale della board di conversione RS-232, RS-422 USB

Il circuit o int egrat o LT C490, della Linear Technology[16] è un t ransceiver per il bus RS-422; riceve il segnale sul linee differenziali e lo fornisce in uscita su di una sola linea. Att raverso il chip MAX232 della MAXIM [17] si effettua la traslazione dei livelli per i segnali RS-232. Le uscite dei due chip sono inviat e ad un jumper per un connet t ore USB. Le resist enze R1, R2, R3, R4 sono ut ilizzat e come t erminazioni per le linee di comunicazione seriali. In Figura 10.3 è mostrato il PCB del circuito e la vista esterna.

(18)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

Il dispositivo è destinato al funzionamento con solo una alla volta delle due sorgent i in ingresso, RS-232 o RS-422. L uscit a del convert it ore sarà connessa al P C su cui girerà l applicazione soft ware del sist ema sulla port a USB.

3.1.3

Dati da I ndicatori di Flap e Trim

Le informazioni sulla posizione dei Flap e dei Trim sx e dx sono rilevate da sensori potenziometrici, come indicato in Tabella 1.3.

Gli angoli rilevati sono rappresentati perciò da livelli analogici.

Il grado di precisione richiest o per quest o t ipo di informazione non è molt o elevat o in quant o l int eresse del collaudat ore è rivolto soltanto a un dato di t ipo indicat ivo. P er quant o riguarda le prove non c è la necessit à di conoscere in ogni ist ant e con esat t ezza la posizione del F lap o del T rim; quello che cont a è sapere indicat ivament e come era posizionat o l element o in un dat o moment o in cui si sono ot t enut i certi risult at i dagli alt ri strumenti.

È necessario disporre di opport une procedure di t arat ura e azzerament o della let t ura dat i: il pot enziomet ro indica un cert o livello di t ensione che sarà associat o a una posizione dei flap ad esempio. Ma non è det t o che lo zero del pot enziomet ro coincida con l element o in posizione orizzont ale. Quindi sarà doveroso poter eseguire delle operazioni in grado di associare a dei livelli di t ensione dei valori di riferiment o per l ut ent e.

P er quant o concerne l acquisizione dei segnali occorre un disposit ivo in grado di operare una conversione analogico-digit ale per permettere l elaborazione con l int erfaccia soft ware su P C. Anche in quest o caso l at t enzione è rivolt a verso una soluzione preconfezionat a, al fine di ridurre i t empi di proget t o e semplificare le cose. Dat o che l applicazione soft ware del sist ema è realizzat a in LabVIEW si sceglie un component e prodot t o dalla stessa casa, la National Instruments.

(19)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

Il dispositivo scelto è il DAQ11

USB-6008 [18], mostrato in Figura 11.3. Quest o è in grado di acquisire fino a 8 segnali analogici single ended con dinamica ± 10V e convert irli in digit ale su 11 bit , fornendo un uscit a su porta USB. La max frequenza di campionamento ottenibile è di 10 kS/s.

Figura 11. 3: Il DAQ USB-6008 della National Instruments

Il soft ware LabVIEW è dot at o di un modulo di int erfaccia dedicat o che permette di gestire tutte le operazioni del dispositivo direttamente da PC e di utilizzare i segnali acquisiti per le più svariate applicazioni.

Anche questa soluzione privilegia i tempi di sviluppo del sistema in quanto l hardware richiest o viene acquist at o ed è subit o pront o per l ut ilizzo. Il costo12 del disposit ivo è accet t abile e convenient e se si pensa ad una alternativa soluzione con circuito custom.

3.1.4

Dati di Inclinazione

Sulla st rument azione di bordo delle imbarcazioni a cui è rivolt o il sistema da progettare non sono presenti dati di inclinazione dello yacht. Si rende perciò necessaria la realizzazione di un disposit ivo in grado di rilevare t ali informazioni e di fornirle, opport unament e codificat e, su USB

11

Data Acquisition Device, DAQ.

(20)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

al P C su cui è implement at a l applicazione soft ware dell int erfaccia di acquisizione dat i. L idea è quella di realizzare un piccolo sist ema elettronico cust om da posizionare sullo yacht al cent ro degli assi x,y (vedi Figura 4.2).

Come prima cosa è necessario scegliere il sensore di inclinazione migliore per questa applicazione.

A t al fine si not a che sulle imbarcazioni di quest o t ipo la massima frequenza di variazione dat i di inclinazione appurat a è di circa 3 Hz: ciò significa che gli angoli di rollio e beccheggio dello yacht non variano in media più di 3 volt e al secondo. P ert ant o si sceglie di acquisire t ali dat i con frequenza 10 Hz, dieci valori al secondo, in modo da essere sicuri di non perdere informazioni.

In commercio esist ono component i elet tronici, di dimensioni alquant o ridotte, cont enent i sensori realizzat i con t ecniche miniat urizzat e di lavorazione del silicio. In seguit o ad un analisi comparat iva t ra vari dispositivi la scelt a è ricadut a sul circuit o int egrat o ADIS16201 prodot t o dalla Analog Devices [19]. Quest o è un chip per la misura di inclinazione e accelerazione sui due assi x,y. Il sensore può essere calibrat o e configurat o attraverso comandi su bus SP I13 [6][20]

. L uscit a è anch essa fornit a in format o digit ale a 12 bit su tale port a di comunicazione. Gli angoli di inclinazione misurabili sono compresi t ra ± 90°, l accelerazione rilevabile è nel range di ± 1,7 g. Le principali carat t erist iche del component e sono riportate in Tabella 7.3 [19].

Il funzionament o del sensore è basat o sulla misura dell accelerazione at t raverso una st rut t ura in polisilicio a capacit à variabile. L inclinazione è ricavat a in maniera indiret t a dall accelerazione at t raverso una opport una relazione. Viene effet t uat o il calcolo dell angolo rispet t o al piano ideale ortogonale all accelerazione gravit azionale t errest re.

(21)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

Input Range dell inclinom et ro: ± 90°14 I nput Range dell accelerom et ro: ± 1,7 g

Risoluzione DAC in uscita: 12 bit

Range Tensione alimentazione VDD: 3.0 ÷ 3.6 V

Corrente di alimentazione (typ): 11 ma

Range di Temperatura di lavoro: -40 °C ÷ +115 °C Banda del sensore di accelerazione: 2250 Hz

Dimensioni, Package: 9,2 mm x 9,2 mm x 3,9 mm,

laminate-based land grid array (LGA)

Tabella 7. 3: Caratteristiche principali del chip ADIS16201

P oiché il legame t ra le due grandezze è non lineare l errore commesso sulla misura di inclinazione è t ant o maggiore quant o esso è vicino al valore limite di 90° (vedi Figura 12.3).

Figura 12. 3: Relazione tra accelerazione misurata e inclinazione

In Figura 13.3 è riportata la piedinatura del componente.

14 Operando nel range ± 30° si ottiene un accuratezza di 0,5°, che è un valore adatto

(22)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

Figura 13. 3: Piedinatura dell'ADIS16201

I risult at i di accelerazione sono campionat i da un ADC int erno e memorizzat i, assieme ai valori calcolat i di inclinazione, in regist ri int erni, accessibili mediante interfaccia SPI.

I dat i di inclinazione e di accelerazione vengono accedut i leggendo dai registri in cui sono memorizzati.

Ogni operazione di let t ura richiede due cicli clock di 16 bit : nel primo viene t rasmesso l indirizzo del regist ro da accedere, nel secondo vengono letti i dati. La trasmissione è di tipo MSB first 15.

Le accelerazioni lungo gli assi x e y sono memorizzat e, con codifica in complement o a due, rispet t ivament e nei regist ri XACCL_OUT e YACCL_OUT, entrambi a 14 bit.

I dat i di inclinazione sono cont enut i, in format o binario complement o a due, in XINCL_OUT e YINCL_OUT, registri a 12 bit.

In Figura 14.3 è most rat o un esempio di sequenza comandi di let t ura registri con interfacciamento SPI.

Il comando di let t ura inviat o sul pin DIN consist e in 8 bit , di cui il più significat ivo è quello che at t iva l operazione di let t ura, W/ R post o a 0 logico.

I bit A0 ÷ A5 cont engono l indirizzo del regist ro da accedere.

(23)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

a)

b)

Figura 14. 3: a) sequenza comandi per lettura dati; b) struttura dei comandi di lettura

Sul t erminale DOUT vengono inviat i in sequenza i bit most rat i in

Figura 14.3 b). ND= 1 indica la presenza di nuovi dat i disponibili ; EA=1

segnala uno stato particolare del funzionamento del dispositivo. I bit D0 ÷ D13 contengono il dato letto dal registro acceduto16.

Durant e il secondo ciclo di clock, quando è at t iva l uscit a dat i, la linea in ingresso è usata per leggere il comando successivo.

Il chip ADIS16201 contiene inoltre una serie di registri attraverso la cui configurazione è possibile settare part icolari modalit à di funzionament o e impostazioni.

Agendo sul regist ro COMMAND è possibile operare sul chip un azzerament o dei dat i in uscit a (a scopo di calibrazione); oppure inviare un comando di R eset Software, che reset t a il disposit ivo at t raverso l int erfaccia SP I; o ancora eseguire una Factory Reset, che riporta i registri dati ai valori che corrispondono alla calibrazione effettuata dal costruttore. È possibile attivare un filt raggio passa-basso sui dat i effettuando un operazione di media sui risult at i. L ent it à dell operazione, che

16

(24)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

corrisponde al numero di campioni su cui si effet t ua la media, si impost a scrivendo un valore da 00H a 08H nel registro AVG_CNT

17

.

Sono previst e anche delle funzioni di allarme per segnalare part icolari condizioni di funzionamento ed eventuali problemi.

Il funzionament o del sensore è gest it o at t raverso un microcont rollore. Questo dovrà ricevere opportuni comandi dall int erfaccia soft ware su P C e, in base a essi, eseguire varie operazioni sul chip definit e nel firmware sviluppato.

Il microcont rollore scelt o è l ATtiny2313/V della ATMEL , che present a caratteristiche adatte per gli scopi prefissati di progetto [21].

Figura 15. 3: ATtiny2313/V nel package SOIC

L int erfacciament o con il sensore ADIS16201 è effet t uat o t ramit e la porta B del µC, come indicat o in Tabella 8.3 e nello schema circuit ale di

Figura 18.3.

Pin ATtiny2313/V Pin ADIS16201

PB0 /CS

PB1 DIO0 (Data Ready)

PB2 /RST (Sensor Reset)

PB5 DOUT (MOSI)

PB6 DIN (MISO)

PB7 SCLK

Tabella 8. 3: Connessioni tra microcontrollore e sensore

17

(25)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

In Appendice C è riportato il firmware eseguito dal microcontrollore.

At t raverso l int erfaccia soft ware LabVIEW vengono inviat i dei carat t eri su USB, ognuno dei quali corrisponde all esecuzione di part icolari funzioni per il sensore. I caratteri sono ricevuti dal

µ

C su seriale RS-232.

Il main (file main.c), dopo opport une funzioni di configurazione della t rasmissione dat i, esegue un ciclo infinit o in cui si effet t ua un cont rollo continuo sul dato contenuto nel buffer di ricezione seriale UDR.

A seconda del valore di esso si eseguono varie funzioni, come riport at o in

Tabella 9.3.

T ali funzioni sono dichiarat e nel file sensor.c ment re i regist ri int erni del sensore sono definiti in SensorDef.h.

La comunicazione seriale UART è gest it a nel file uart_driver.c, quella SP I è effet t uat a dai file spi_via_usi_driver.c e

spi_via_usi_driver.h.

In Figura 16.3 è most rat o il diagramma di flusso rappresent ant e l operat o del main.

Il microcont rollore riceve comandi e t rasmet t e dat i su seriale UART , format o RS-232. Al fine dell int erfacciament o con il sist ema soft ware è necessaria una conversione USB RS-232. Quest a viene operat a dal circuito integrato FT232BM della FTDI Chip ( Figura 17.3 a) )[22].

(26)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

(27)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

Carattere

ASCII HEX

Funzione Descrizione

0 30 Factory Settings

Si attiva il Factory Reset e il filtraggio dati, si disattivano gli allarmi e le funzioni di

self- test e data- ready[19]

1 31 Software Reset Si attiva il Reset Software

2 32 Calibrazione

Si esegue la calibrazione del sensore. Si azzerano i valori di inclinazione in uscita, così da far corrispondere alla posizione in questione l angolo 0°.

3 33 Abilitazione

filtraggio Si rende attivo il filtraggio sui dati, con media su 256 campioni (AVG_CNT=08H)

4 34 Lettura

inclinazioni x,y Si leggono i dati di inclinazione

5 35 Lettura

accelerazioni x,y Si leggono i dati di accelerazione 6 36 Lettura dati

alimentazione in uscita

Si legge dal registro SUPPLY_OUT

7 37 Lettura

Temperatura Si dell ADIS16201 dal registro legge la temperatura TEMP_OUT interna

8 38 Lettura Stato Si legge il contenuto del registro di stato

STATUS

Tabella 9. 3: Funzioni eseguite dal firmware per il controllo del sensore di inclinazione

(28)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

La configurazione circuit ale è quella consigliat a dal cost rut t ore sul data sheet del component e (vedi schema elet t rico della board in

Figura 18.3). L aliment azione del chip è di 5 V.

La t ensione che alimenta la scheda è 5 V. Con l aggiunt a del regolat ore di tensione MAX604 della MAXIM [23] si ot t engono 3.3 V st abilizzat i per i circuit i int egrat i present i, quali l ADIS16201, l AT t iny2313, l F T 232BM. Le connessioni at t uat e seguono quant o indicat o sul dat a sheet del componente.

In part icolare si not a la presenza dei crist alli Y1 e Y2 rispet t ivament e per gli oscillatori per i clock dei chip FT232BM e del microcontrollore.

U13 è un connet t ore dal quale è possibile prelevare i segnali del bus SP I, anche a scopo di test per lo sviluppo del firmware.

La board realizzat a è doppia faccia a mont aggio superficiale con dimensioni 50 mm x 57 mm. In Figura 19.3 è mostrato il PCB della scheda e la disposizione dei component i. Il mont aggio del sensore di inclinazione ADIS16201 è piuttosto complicato date le dimensioni molto ridotte; in fase di prot ot ipazione in laborat orio è st at o necessario adot t are soluzioni alt ernat ive, quali la predispozione di uno zoccolo per il component e sui cui sono stati effettuati connessioni filari.

La scheda viene inserit a in un cont enit ore plast ico su cui è fissat a con vit i ai lat i; l aliment azione è prelevat a dalla port a USB del P C con cui sarà int erfacciat a la board, percui l unico collegament o con l est erno è il connettore di Figura 17.3 b) [24].

Si ot t iene così un disposit ivo da posizionare sull imbarcazione e in grado di fornire in uscit a su USB dat i di inclinazione e accelerazione18

sui due assi x,y.

18

L accelerazione non è un dato richiesto da specifiche, ma visto che il sensore scelto lo offre è stato integrato nel sistema.

(29)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

(30)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

Figura 19. 3: a) PCB della scheda inclinometro; b) dispozione componenti

(31)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

3.2 S

EZIONE

S

OFTWARE

È la part e più complessa e laboriosa del proget t o. In quest a fase si provvede all acquisizione dei segnali dai vari sot t osist emi present i a bordo, che vengono int egrat i assieme, decodificat i, elaborat i e infine archiviat i in modo opportuno.

Il t ut t o è gest it o con il soft ware di programmazione LabVIEW, che consent e di eseguire t ut t e le operazioni pianificat e dando al sist ema una veste grafica utile e allo stesso tempo funzionale, al fine di rendere il lavoro dell ut ent e il più semplice possibile.

In Figura 21.3 sono riassunt i i segnali che l int erfaccia deve acquisire dalle varie sorgenti e le operazioni da effettuare.

Figura 21. 3: Interfacciamento delle sorgenti dati con la sezione software

Uno dei fat t ori più import ant i del sist ema è la present azione dei dat i real time. Ciò è possibile dat a la frequenza di acquisizione non elevatissima19. Bisogna comunque t enere cont o che, operando con un sist ema operat ivo mult it asking come Microsoft Windows, c è un limit e al grado di real time che il sistema può sostenere.

At t raverso il soft ware LabVIEW si realizza un applicazione con ottima veste grafica e in grado di svolgere tutte le funzioni richieste.

(32)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

Le operazioni che il soft ware deve eseguire possono essere riassunt e nel diagramma di Figura 22.3.

Figura 22. 3: Schematizzazione delle funzioni svolte dalla sezione software del sistema

I segnali devono essere acquisit i dalle varie int erfacce hardware implementate; perciò è necessario st abilire la connessione con i disposit ivi sorgent i dat i. Dopodichè occorrerà decodificare le grandezze ricevut e nei vari prot ocolli di comunicazione; present are i dat i all ut ent e in adeguat a vest e grafica e allo st esso t empo memorizzarli organizzandoli in maniera opportuna.

3.2.1

Acquisizione dati

La prima import ant e funzionalit à dell int erfaccia soft ware è l acquisizione di segnali provenient i dai vari sist emi codificat i nei prot ocolli di comunicazione esposti in precedenza.

Inizialmente è necessario dist inguere t ra le sorgent i dat i analogiche da quelle digit ali; per le prime infat t i l acquisizione è più semplice dat a la presenza di un modulo LabVIEW già pront o per l uso assieme al DAQ USB-6008.

P er quant o riguarda i segnali digit ali, per ognuno sarà necessaria una serie di operazioni al fine di una corret t a acquisizione. Infat t i ogni dat o è ricevuto su USB, ma nel prot ocollo di t rasmissione appropriat o. Le int erfacce hardware elencat e nel paragrafo

3.1

non fanno alt ro che riportare sulla port a seriale USB i dat i nel format o in cui sono

(33)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

originariamente trasmessi. Ecco che, ad esempio, su USB saranno ricevuti i dati come se fossero in CAN bus.

Tipo di segnale Nome porta Prelievo Frequenza di

acquisizione

Dati motore sx Left Engine Port CANUSB 100 Hz

Dati motore dx Right Engine Port CANUSB 100 Hz

Dati da navigatore

satellitare Navigator Port 1 RS-232 USB 10 Hz

Dati Angolo

timoneria Navigator Port 2 RS-232 USB 10 Hz

Dati da porta

ausiliaria seriale AUX Port RS-232 USB 100 Hz

Dati di Inclinazione Inclinometer Port USB 10 Hz

Dati Flap e Trim - DAQ USB-6008 -

Dati da porta

ausiliaria analogica - DAQ USB-6008 -

Tabella 10. 3: Caratteristiche dei segnali acquisiti dall'interfaccia software

Per ogni tipo di dato sarà analizzato in dettaglio il processo di acquisizione mediante LabVIEW.

Dati Motori

Si hanno due sezioni ident iche di acquisizione dat i mot ore, una per il destro, una per il sinistro.

Con l ausilio di opport une subVI si gest isce la t rasmissione dat i dai CANUSB inviando i comandi previst i per la comunicazione [12]. La prima VI ut ilizzat a è la CAN init, che effet t ua la configurazione della porta seriale di acquisizione dat i, set t ando, fra gli alt ri paramet ri, la frequenza di trasmissione simboli ad una baud rate di 115200 bit/s20

.

(34)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

Quest o modulo riceve in ingresso il nome della port a impost at o dall ut ent e e dà in uscit a i dat i di t rasmissione e ricezione CAN organizzati in apposite code.

La VI CAN baud rate prepara il comando riguardant e l informazione sulla frequenza di t rasmissione da inviare al convert it ore CANUSB. Quest o è dat o da una st ringa cont enent e il valore della baud rat e, 250 kbit/s, precedut o dal carat t ere S .

Seguono CAN create channel, che crea il canale di trasmissione, e CAN Open Channel, che invia al CANUSB il carat t ere O per l apert ura

del canale CAN.

Con CAN Read Channel si est raggono dalla coda di dat i t rasmessi su CAN bus i campi riguardant i i messaggi ricevut i, al fine di una successiva decodifica.

Dopodichè si invia al CANUSB il carat t ere C con il modulo CAN Close Channel e si reset t ano t ut t e le variabili riguardant i la trasmissione attraverso la VI CAN Destroy Channel.

Infine, mediant e CAN Close viene chiusa la port a di comunicazione seriale utilizzata da LabVIEW.

T ut t e quest e VI, opport unament e connesse t ra di loro sono eseguit e in un ciclo infinit o con un periodo di ripet izione di 10 ms, sufficient e per non avere perdita di dati.

Un punt o import ant e è la gest ione di errori nella t rasmissione dat i: at t raverso opport uni moduli LabVIEW si t rat t ano i diversi casi che possono present arsi, agendo di conseguenza nei confront i della trasmissione CAN; ad esempio con una sospensione della comunicazione o addirittura una chiusura preventiva del canale.

È st at a rivolt a part icolare at t enzione alle operazioni di inserzione e rimozione delle connessioni, con operazioni di chiusura aut omat ica in questo ultimo caso.

At t raverso degli indicat ori luminosi post i sul pannello principale dell int erfaccia grafica è segnalat a la presenza degli errori di cui sopra.

(35)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

La ricezione dei dat i è ident ica per i mot ori MAN e MTU, cambia invece la decodifica dati, che sarà analizzata in seguito.

Dati da Navigatore Satellitare e Angolo Timoneria

Questa sezione prevede la ricezione dei dat i in format o NMEA da due sorgent i dist int e, quindi sono dispost e due port e di comunicazione dedicate. I moduli in quest ione sono NMEA_0183_read1 e NMEA_0183_read2, che operano rispet t ivament e sulle port e denominate Navigator Port 1 e Navigator Port 2. Dat o che ent rambi i segnali sono codificati in NMEA 0183 le due VI sono identiche.

Inizialment e si ha la configurazione della port a seriale di ricezione, secondo i dati di Tabella 11.3. Segue la lettura dei messaggi inviati, per una lunghezza massima ciascuno di 1000 byte.

Dopodichè si effet t ua il parsing del messaggio: at t raverso la VI NMEA_0183_parser vengono separat i i campi della sentence NMEA. In uscit a si hanno perciò due st ringhe, address e checksum, e l array data contenente i dat i (facilment e riconosciut i perché separat i da virgole). Contestualmente alla lettura di ogni sentence si ha la chiusura della porta di comunicazione.

Tabella 11. 3: Caratteristiche delle porte di acquisizione per dati NMEA

Baud Rate : 4800 bit/s

Data Bits: 8

Parità per i frame: Nessuna

Bit di stop ( finedel frame): 10 (1.0)

Tipo di controllo per il trasferimento: con caratteri XON, XOFF

Carattere termine operazione di lettura: /n , line feed

(36)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

Le VI di let t ura dat i NMEA sono eseguit e all int erno di cicli con periodo di ripet izione di 100 ms; all int erno di essi è previst a anche decodifica delle stringhe, descritta più avanti.

Dati da Porta ausiliaria seriale

Quest a sezione permet t e di acquisire un ult eriore segnale su seriale, provenient e da una sorgent e ausiliaria. P uò, ad esempio, t rat t arsi di un altro segnale NMEA, ma non è detto.

Il processo di ricezione dat i è effet t uat o allo st esso modo di quello per Navigat ore Sat ellit are e Angolo T imoneria salvo rendere le impost azioni per la port a di t rasmissione configurabili dall ut ent e. È possibile anche scegliere il periodo di acquisizione, a part ire da un minimo di 10 ms.

Non è present e la decodifica dei dat i, dat a la possibilit à di connet t ervi più t ipi di sorgent i; il processo è limit at o solt ant o alla ricezione delle stringhe. Il modulo LabVIEW usato è la VI AUX_read.

Dati di Inclinazione

Quest a sezione effet t ua la comunicazione con la board cont enent e il sensore di inclinazione. Il soft ware provvederà a inviare i comandi di

Tabella 9.3 al microcont rollore, che, a seconda di essi, eseguirà le varie

operazioni sul chip ADIS16201.

Con la VI InclinometroInit viene inizializzata la porta di comunicazione seriale, sui cui ricevere i dat i e at t raverso cui inviare i comandi, con una baud rate di 115200 bit/s.

Segue il modulo InclinometroReset, che in seguit o a un comando dall ut ent e esegue un reset di t ipo Soft ware o Hardware( F act ory

(37)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

Set t ings ) sul disposit ivo, inviando rispet t ivament e al µC i carat t eri

1 o 0 .

Dopodichè si ha l esecuzione di InclinometroCalbrate, che permet t e di inviare sulla seriale i carat t eri 3 e 2 al fine di abilitare il filtraggio

sui dati da parte del sensore e di attivare la calibrazione.

La VI InclinometroRead, al cont rario dei due precedent i moduli, è sempre at t iva ad ogni ripet izione del ciclo est erno. Quest a invia su seriale il carat t ere 4 per la let t ura del dat o di inclinazione e riceve

una st ringa di 4 byt e. P oi di seguit o invia il carat t ere 5 per leggere

l accelerazione e riceve ancora un dat o di 4 byt e.

I valori let t i sono format o binario complement o a 2, perciò sono soggetti a delle operazioni di conversione al fine di ot t enere i valori effettivamente misurati.

In uscita al modulo si hanno 4 dati: X incl, Y incl, X acc, Y acc.

Quest i sono poi elaborat i con delle operazioni di media su finest ra di campioni di ampiezza impost at a dall ut ent e, al fine ot t enere un andamento più stabile dei dati per studi successivi.

Si esegue un ult eriore filt raggio al fine della visualizzazione sul pannello front ale dell applicazione (vedi paragrafo 3.2.4).

Con la VI InclinometroErrorHandler si invia il carat t ere 8 sulla

seriale verso il microcont rollore per la let t ura del regist ro di st at o. Si ricevono i 2 byt e di dat i e si separano i bit , da monit orare, rappresentanti ciascuno particolari situazioni di funzionamento.

Il ciclo di esecuzione che racchiude quest i moduli ripet e con un periodo di 100 ms, quindi l acquisizione è effet t uat a ad una frequenza di 10 Hz (10 dati al secondo) come da specifiche.

Come per gli alt ri disposit ivi si ha una gest ione degli errori e per la chiusura delle porte.

(38)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

Dati da Flap, Trim e Porta analogica anusiliaria

P er la ricezione dei dat i analogici dal DAQ USB-6008 è usat o il DAQ A ssistant Express V I, modulo che permette di gest ire in maniera semplice e aut omat ica i segnali prelevat i, inolt re consente una monit orizzazione grafica di essi all int erno della VI.

Figura 23. 3: Il DAQ Assistant Express VI usato per l'acquisizione dei segnali analogici

La configurazione del DAQ Assistant consist e semplicement e nell assegnare ai vari canali del DAQ USB-6008 gli opport uni segnali, specificando il range, la scala e se la t erminazione è di t ipo differenziale o single-ended.

Si specificano così i 5 canali dat i da acquisire: Left Flap, Left T rim , R ight Flap, R ight T rim , AUX. Quest i giungeranno al soft ware sot t o forma di livelli rappresentanti tensioni campionate.

3.2.2

Decodifica dati

Quest a è la sezione rivolt a alla decodifica dei segnali ricevut i nei prot ocolli di t rasmissione al fine di est rarre le informazioni richiest e da specifiche per la visualizzazione e archiviazione dei dat i. Non rient rano in quest o caso perciò i dat i ricevut i dal DAQ USB-6008 in analogico e convert it i da esso in digitale.

(39)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

I prot ocolli da interpretare sono il J1939-71 t rasmesso su CAN BUS per i mot ori e l NMEA 0183 per le informazioni riguardanti la navigazione.

Dati motore (J1939-71)

P er la decodifica dei dat i mot ore sono st at e sviluppat e le VI Engine Decode, una per il dest ro e una per il sinist ro. Quest e ricevono le stringhe lette dal modulo CAN Read Channel , separano il campo ID da quello DAT I e frazionano quest ult imo negli 8 byte di cui è formato. Si ha una st rut t ura case che a seconda dell ident ificat ore del messaggio esegue le operazioni di decodifica mostrate nel paragrafo 3.3.1.

Come riport at o in Appendice A i dat i di int eresse variano a seconda del t ipo di mot ore considerat o, MAN o MT U. Occorrerà quindi una VI per ognuno di essi con operazioni int erne diverse l uno dall alt ro.

È st at o inserit o perciò un cont rollo per l ut ent e che consent e di scegliere la mot orizzazione: a seconda di essa verrà eseguit o il modulo Engine Decode relativo al motore selezionato.

Ogni VI produce in uscit a le variabili richiest e nelle loro unit à di misura pront e per la visualizzazione o per l archiviazione. Come convenzione è stato scelto di riportare le pressioni in Bar.

Quant o appena descritto viene eseguit o all int erno del ciclo di acquisizione dati motore approfondito nel paragrafo 3.2.1.

Dati da strumenti di navigazione (NMEA 0183)

I dat i in format o NMEA 0183 acquisit i dalle port e Navigator Port 1 e Navigator Port 2 sono processat i da opport uni moduli, all int erno dei quali vengono separat i in maniera opport una i byt e del campo Data della sentence, come indicato in Appendice B.

La VI NMEA_0183_GLL riconosce le frasi di tipo Geographic Position ed est rae i dat i riguardant i le coordinat e di lat it udine e longit udine.

(40)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

Il modulo NMEA_0183_VTG seleziona le sent ence T rack Made Good and Ground Speed e preleva i dat i di SOG e COG. In modo analogo operano le VI NMEA_0183_DBT per la grandezza Depth Below Transducer e NMEA_0183_RSA per l informazione sull angolo t imone (Rudder Sensor Angle).

3.2.3

Memorizzazione dati

La memorizzazione dei dat i in apposit i archivi è un alt ro import ant e obiet t ivo per il sist ema. Quest o permet t erà al collaudat ore di confront are i dati nello stesso istante o di studiare quelli di prove diverse tra loro.

Sono previsti più tipi di logging, a seconda del tipo di informazioni.

Essenzialment e si ha un log totale di t ut t i i dat i: quest o si at t iva/ disat t iva con un opport uno int errut t ore sul pannello principale e prevede la memorizzazione su opport uni file di t ut t e le grandezze rilevat e dall int erfaccia. Esse saranno ordinat e in gruppi, in riferiment o alle sorgent i da cui sono prelevat i. I dat i sono rilevat i alla frequenza di 1 Hz, 1 al secondo.

Il file creato da questa operazione è denominato nel seguente modo:

<Cantiere>< Modello>_<n°Scafo>_<n°Prova>_<Data>.txt

Dove i campi sono impost at i dall ut ent e fuorché la dat a, che viene inserit a automaticamente. Il cantiere può essere denominat o con sigle PE o IT , corrispondent i rispet t ivament e a Pershing S.p.A. e ITAMA S.p.A.21.

È inoltre previsto un log dei dati per caratterizzare alcuni tipi di prova. Alcune fasi del collaudo prevedono di t est are il comport amento

(41)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

dell imbarcazione quando il mot ore st a funzionando con un dat o numero di giri. P erciò può risult are ut ile per il t ecnico collaudat ore avere a disposizione dei file denominat i con un et ichet t a indicant e il regime di funzionament o mot ori. In fase di analisi così sarà più facile individuare certi istanti della prova per effettuare tutti gli studi dovuti.

Dunque il sist ema viene dot at o di una funzione di RPM log 22: grazie alla pressione di opportuni pulsanti post i sul pannello principale dell int erfaccia grafica si avvia una memorizzazione di dat i per una durat a t emporale impost at a dall ut ent e e dove i file sono denominat i con un indicazione riferita anche al numero di giri motore.

Il file creat o riport a lo st esso cont enut o della prova di log t ot ale, l unica differenza st a nel fat t o che l acquisizione, invece di essere cont inua, ha una durat a prest abilit a in fase di configurazione, quindi si arresta non appena si è raggiunto tale limite temporale.

La denominazione del file è la seguente:

<Cantiere>< Modello>_<n°Scafo>_<n°Prova>_<Data>_<n°Giri>.txt

Alcuni esempio di nomi di file creati sono:

In Figura 24.3 è mostrata una parte di un file di R PM log.

22RPM :Revolutions per minute, giri al minuto

IT4038_34_1_Mon, Jun 11, 2007_1400.txt IT4038_34_3_Mon, Jun 11, 2007_1800.txt PE56_15_5_Tue, Jun 12, 2007_900.txt PE56_15_6_Tue, Jun 12, 2007_1200.txt

(42)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

Figura 24. 3: Esempio di file RPM log per prova con motori a 1800 giri/min

In aggiunta al file appena citato si ha anche la creazione di un file dedicato alla memorizzazione dei dat i dall inclinomet ro a 10 Hz. Infat t i nei file cont enent i t ut t i i dat i si ha il log a 1 Hz; ma può essere ut ile conoscere anche i valori di inclinazione e accelerazione alla frequenza st abilit a da specifiche.

Viene prodot t o perciò per ogni prova un file denominat o nel modo seguente

<Cant><Mod>_<n°Scafo>_<n°Pr>_<Data>_inclinationreport_<n°Giri>.txt

P er quant o riguarda i file elencat i la memorizzazione avviene in append: se i nomi rimangono gli st essi per ogni at t ivazione del log i dat i vengono aggiunti in coda a quelli già presenti.

Al fine di facilit are l analisi con soft ware dat abase sono creat i anche dei file in cui è omessa l int est azione e i dat i vengono memorizzat i t ut t i in append nello st esso document o, anche per prove con diverso n° di giri. Ecco che sono prodot t i, ancora in relazione all RPM log, due file così denominati:

<Cant><Mod>_<n°Scafo>_<n°Prova>_<Data>_inclination database.txt <Cantiere><Modello>_<n°Scafo>_<n°Prova>_<Data>_RPM database.txt

In Figura 25.3 è most rat o un esempio di file con dat i di inclinazione per elaborazione con database.

(43)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

Figura 25. 3: File RPM log contenente dati di inclinazione per elaborazioni con database

P er l ut ent e è spesso ut ile disporre di un quadro di raccolt a dat i riguardant i le impost azioni e le condizioni dell imbarcazione durant e l esecuzione delle prove. È st at a perciò dispost a la creazione di un file apposito configurabile dal collaudatore dal pannello principale.

(44)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

T ale document o rispecchia in gran part e la prima part e di un R apporto di Prova a Mare come quella mostrata in Figura 3.1.

I dat i acquisit i da port e ausiliarie seriale e analogica vengono anch essi memorizzati in appositi file. Per quanto riguarda i primi viene creato il file

SerialAUX.txt che riport a su una colonna gli ist ant i di rilevament o e sull alt ra le stringhe ricevute in particolari protocolli.

Il periodo di log è impost abile dall int erfaccia grafica a part ire da un minimo di 0,01 sec.

P er la port a ausiliaria con dat i analogici è dispost o il file

AnalogAUX.txt, che raccoglie, ordinat i per i vari ist ant i, i valori acquisit i e convert it i dal DAQ USB-6008. La frequenza con cui sono memorizzat i i dat i è anche in quest o caso configurabile dall ut ent e.

Figura 27. 3: a) il file SerialAUX.txt; b) il file AnalogAUX.txt

T ut t i i file di memorizzazione prodot t i sono organizzat i in un sist ema di cart elle con denominazione relat iva al t ipo di acquisizione. La st rut t ura è mostrata in Figura 28.3.

(45)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

La dest inazione della cart ella principale Yacht Supervisor viene scelt a dall ut ent e da pannello di configurazione; essa cont iene anche il file

TestDescription.txt.

Auxiliary Input Data racchiude i due file di log dat i da port e ausiliarie

analogica e seriale. I document i riguardant i il log totale sono salvat i nella

Continuous Acquisition Data, ment re quelli per l RPM log sono memorizzat i nella RPM Acquisition Data. Infine i file riguardant i la memorizzazione a 10 Hz dei dat i dal sensore di inclinazione sono cont enut i nella Inclination Data.

3.2.4

Interfaccia grafica

L int erfaccia grafica è molt o import ant e per il sist ema in quant o consent e di present are nel modo più appropriat o t ut t e le grandezze di int eresse durant e la fase di collaudo. Il soft ware LabVIEW usat o consent e di ottenere ciò con buoni risultati.

In fase di sviluppo è st at o post o come vincolo di mant enere per l applicazione una risoluzione grafica 800 × 600. Quest o perché c è il proposito, al fine di ot t imizzare l int erat t ivit à con l ut ent e, di far uso di monitor di visualizzazione di tipo touch screen aventi tali proporzioni.

L int erfaccia è organizzat a su due livelli. Il primo è cost it uit o dal pannello principale, la finestra visualizzat a ogni volt a che viene avviat a l applicazione. Su di essa saranno riport at i i dat i essenziali, sempre visibili per l ut ent e, allo scopo di rendere il t ut t o molt o semplice e chiaro. Sono inolt re present i cont rolli per impost azioni principali e per l apert ura di sottofinestre.

Il secondo livello ha lo scopo di approfondire maggiorment e le grandezze acquisit e: sono present at i in opport une t abelle e con l ausilio di indicat ori grafici t ut t i i dat i acquisit i. In quest o modo l ut ent e può usare lo strumento nel modo più adatto al suo operare.

(46)

CAPITOLO 3 SVILUPPO DEL PROGETTO E SOLUZIONI TECNICHE

Pannello principale

La finest ra principale riport a le informazioni più import ant i per le operazioni di collaudo, quelle che devono essere sempre sot t occhio al fine di un controllo veloce e immediato.

In Figura 29.3 è most rat o il pannello che si present a all ut ent e all avvio dell applicazione.

Figura 29. 3: Il pannello principale del Pershing Yacht Supervisor

Nella finest ra è assegnat o ad ogni sorgent e dat i un cert o spazio che rispecchia le esigenze dell esecuzione delle prove.

In alt o al cent ro sono post i gli indicat ori di errore di comunicazione sulle port e di acquisizione dei segnali (POR T ER R OR S). Quest i sono off per un normale funzionament o, ment re si illuminano quando sopraggiunge una font e di errore. È quest o il caso ad esempio di una porta scollegata o di una trasmissione non corretta dei dati.

Figura

Figura 1. 3: Schema a blocchi della soluzione da adottare per il sistema
Tabella 5. 3: Caratteristiche del dato Driver's Demand Engine -Percent Torque Parameter Group Number : 61444 ( 00F004H )
Figura 7. 3: a) il convertitore CANUSB; b) circuito interno
Figura 8. 3: Alcune sentence NMEA 0183
+7

Riferimenti

Documenti correlati

Tracciare la curva della potenza meccanica disponibile all’albero in funzione della velocità di rotore;. Indicare coppia nominale:

- La presenza di un asintoto verticale destro in x = log 3 (concavità verso l’alto in un intorno destro di x = log 3) e di una cuspide rivolta verso il basso (concavità verso il

[r]

Non i sono punti di non derivabilità.. (d) f sempre de res ente nel

ISTITUZIONI DI MATEMATICHE Cognome e Nome Matricola Appello del 21 febbraio

In particolare questo dimostra che la successione è ben definita... Soluzioni della prova parziale n.2

Sugg.: studiare la monotonia della funzione senx / x nell’intervallo di integrazione... Sugg.: studiare la monotonia della funzione senx / x nell’intervallo

Il dominio della funzione è D = R in quanto il denominatore del secondo tratto si annulla in x=1, punto che appartiene al