Esplora E-book
Categorie
Esplora Audiolibri
Categorie
Esplora Riviste
Categorie
Esplora Documenti
Categorie
Pagina 2
Ringraziamenti
Per la buona riuscita del presente progetto, si ringraziano il tutor accademico Marcello Chiaberge, il Faculty Advisor del Team, nonch tutor aziendale, Andrea Tonoli, il Division Leader Francesco Laviola e tutti i ragazzi del Team, in particolar modo quelli della Control Division.
Pagina 3
Pagina 4
Sommario
Questo documento rappresenta, allo stesso tempo, la descrizione e latto conclusivo dell attivit di tirocinio svolta presso la Squadra Corse del Politecnico di Torino, in qualit di Team Members; essa fa parte del progetto, ben pi imponente, dellautomobile da corsa denominata SCXX, partecipante ad alcuni eventi motoristici appartenenti alla formula SAE, una categoria riservata a vetture realizzate in ambiti universitari. L attivit di progetto stata svolta ricorrendo molto frequentemente ai concetti ed ai metodi studiati nei corsi di Circuiti Elettronici, Elettronica Applicata e Filtri e reti non lineari; ciononostante, la realizzazione effettiva di un sistema reale, unita alla metodologia di lavoro scelta, ovvero in collaborazione con altri laureandi o laureati in ingegneria, specializzati nelle pi disparate discipline, si rivelata essere un percorso formativo molto istruttivo, soprattutto sul piano pratico. Al termine del progetto, una quantit di tempo e lavoro non trascurabile stata dedicata alla realizzazione pratica dello stesso, ai test di funzionamento e di affidabilit, fino alla posa in opera del prodotto finito; questo ha anche consentito di acquisire molte conoscenze riguardo ad aspetti industriali e commerciali della produzione, i quali, spesso, in ambito puramente accademico, non vengono presi assolutamente in considerazione. Il sistema di acquisizione dati realizzato aderente alle specifiche richieste, ed attualmente montato sulla vettura; esso viene utilizzato, unitamente alla centralina di controllo motore fornita dalla ditta Magneti Marelli, come valido strumento di indagine durante i test in pista, ed in seguito verr impiegato durante gli eventi di gara veri e propri, in quanto facente parte del sistema di telemetria, sviluppato dal Team appositamente per queste situazioni.
Pagina 5
Indice
Ringraziamenti ........................................................................................................................... 3 Introduzione .............................................................................................................................. 7 La Formula SAE ....................................................................................................................... 8 SCXX: il progetto del Politecnico di Torino ............................................................................... 8 L elettronica di bordo ............................................................................................................. 9 CAN bus ................................................................................................................................... 10 Sistema di telemetria ............................................................................................................... 13 Progetto dell hardware ........................................................................................................... 15 Alimentazione ...................................................................................................................... 15 Sensori ................................................................................................................................. 16 Breack Press ...................................................................................................................... 16 Speed ................................................................................................................................ 17 Spring................................................................................................................................ 19 Steer Angle........................................................................................................................ 20 Beacon .............................................................................................................................. 21 Collegamento Ethernet ............................................................................................................ 22 Il microcontrollore ................................................................................................................... 25 Progetto del software .............................................................................................................. 26 Appendice A............................................................................................................................. 29
Pagina 6
Introduzione
Con questo capitolo introduttivo si intende presentare il contesto in cui si svolta l attivit di tirocinio, evidenziando le peculiarit dell ambiente di lavoro, le motivazioni che hanno portato alla realizzazione del progetto ed il relativo inserimento nell ottica generale che governa l intero sistema, rappresentato dall automobile nella sua completezza. Lo scopo dellesperienza che ci stata proposta consiste nel progetto e nella realizzazione d i una centralina di bordo dedicata all archiviazione e trasmissione di un certo numero di parametri dinamici della vettura, provenienti da opportuni sensori e trasduttori e dalle altre centraline. La fase di archiviazione avviene attraverso un microcontrollore della serie dsPIC, il quale provvede ad inviare i dati ottenuti sul bus di comunicazione di bordo, per il quale stato adottato lo standard CAN, studiato appositamente per applicazioni di tipo automotive. Inoltre gli stessi dati vengono memorizzati su una scheda di memoria di tipo SD Card ed inviati ai box, grazie all ausilio, oltre che del dsPIC, di un Ethernet Controller della serie ENC. Uno schema illustrativo mostrato in figura.
CAN bus
Local network
Wireless
Memory card
Nella stessa centralina, oltre al datalogger unit, sono presenti un access point ed una radio che permette una comunicazione dai box con il pilota.
Pagina 7
La Formula SAE
Il Politecnico di Torino, da ormai alcuni anni, pu contare su un discreto numero di studenti, i quali, animati dalla propria passione per il mondo delle corse, ma anche da una certa dose di buona volont e spirito di sacrificio, si uniscono a formare il Team Squadra Corse PoliTO, o pi brevemente la Squadra Corse, dedicando a questa attivit gran parte del proprio tempo. Essa ha la finalit di progettare e realizzare interamente una vettura da corsa conforme alle regole della Formula SAE, che una manifestazione motoristica dedicata a Teams composti unicamente da studenti universitari, consistente in una serie di eventi a carattere agonistico, che si svolgono principalmente su circuiti americani ed europei; la partecipazione a queste competizioni molto imponente, e si possono contare centinaia di squadre, rappresentanti degli atenei di tutto il mondo, che solitamente partecipano solamente ad un sottoinsieme di eventi, come nel nostro caso, essenzialmente per problemi logistici. Ogni appuntamento della Formula SAE si tiene nell arco di un week-end, e consta di una serie di prove, statiche e dinamiche, atte a verificare la bont del progetto presentato e le prestazioni effettivamente raggiungibili; in particolare, i criteri di valutazione adottati dalla commissione di giudici di gara sono i seguenti: Costi di produzione Presentazione del progetto Soluzioni ingegneristiche adottate Accelerazione massima su una distanza di 75 m Tenuta in curva su un circuito ad 8, con raggi di curvatura pari a circa 7.6 m Guidabilit Consumo di carburante su un percorso di 22 Km Affidabilit su un percorso di 22 Km
Si pu quindi intuire facilmente come ogni minima parte di progetto debba essere studiata attentamente e debba rispondere a requisiti molto stringenti, nell ottica di costruire un prodotto finito che sia in grado di ottenere una buona valutazione sotto tutti gli aspetti richiesti.
Pagina 8
Le principali innovazioni tecnologiche implementate sulla SCXX, rispetto al modello precedente, riguardano: Riduzione del peso di circa 15 Kg Adozione di nuovi materiali (rivoluzione delle masse non sospese) Telemetria wireless bidirezionale
L elettronica di bordo
Come si pu facilmente intuire, alla base di questo processo evolutivo posto un utilizzo intensivo di apparecchiatura elettronica di bordo; di comune accordo con tutti i responsabili del progetto, stato scelto di realizzare, con un approccio modulare, una serie di unit indipendenti, ognuna dedicata a svolgere una serie di compiti ben definiti. Esse, ad esclusione della centralina di controllo del motore, la quale viene acquistata dalla ditta specializzata Magneti Marelli, sono state studiate completamente dagli studenti che compongono la Control Division del Team.
Pagina 9
CAN bus
Il CAN-bus (Controller Area Network) uno standard seriale per bus di campo di tipo multicast, utilizzato per collegare diverse unit di controllo elettronico (ECU). Data la sua elevata affidabilit dal punto di vista della sicurezza e la sua invulnerabilit ai disturbi causati da onde elettromagnetiche, questo protocollo in particolar modo utilizzato in ambito automotive, come bus per autoveicoli, anche se attualmente applicato in molti sistemi industriali di tipo embedded. Esso pu raggiungere una velocit di 1 Mbit/s per reti non pi lunghe di 40 m (per reti pi lunghe la velocit diminuisce) e presenta un notevole vantaggio economico dal punto di vista del cablaggio, altrimenti richiesto. Il CAN trasmette dati secondo un modello basato su bit dominanti (0 logico) e bit recessivi (1 logico). Se un nodo trasmette un bit dominante e un altro un bit recessivo verr trasmesso il bit dominante. Con questa tecnica, quando viene trasmesso un bit recessivo, e contemporaneamente un altro dispositivo trasmette un bit dominante, si ha una collisione, e solo il bit dominante visibile in rete, mentre tutte le altre collisioni sono invisibili. In questo modo si cos sicuri che ogni volta che si impone una differenza di potenziale, tutta la rete la rileva, e quindi "sa" che si tratta di un bit dominante. La comunicazione via CAN avviene attraverso pacchetti di informazioni (detti anche frames), suddivisi in campi, ognuno dei quali ha una sua funzione precisa. Di seguito vengono presentati un grafico e una tabella che descrivono la composizione del frame:
Pagina 10
Funzione
Start of frame Identificatore Richiesta remota trasmissione Bit aggiuntivo identificazione Bit riservato Codice di lunghezza dati Campo dati
1 11 1 1 1 4 0-8 byte
15 1 1
1 7
Indica lavvio della sequenza di trasmissione Identificatore (unico) dei dati Deve essere un bit dominante Deve essere un bit dominante Riservato Numero di byte per codificare ciascun dato (0-8 byte) Dati da trasmettere (la lunghezza specificata dal campo DLC) Controllo di parit Deve essere un bit recessivo Il trasmettitore invia un bit recessivo e ogni ricevitore pu confermare la ricezione con un bit dominante Deve essere un bit recessivo Devono essere bit recessivi
L istante in cui un messaggio viene considerato valido differente per il trasmettitore e il ricevitore. Per quanto riguarda il trasmettitore il messaggio valido se non vi alcun errore fino alla fine dell End of Frame. Se un messaggio danneggiato avverr automaticamente la ritrasmissione dello stesso, in base alle priorit e non appena il bus inattivo. Invece per il ricevitore il messaggio valido se non vi alcun errore fino al penultimo bit dell End of Frame. Nella tabella sottostante sono riportate le specifiche della SCXX:
Data per frame CAN frame length # packets sent every 10 ms Minimum bitrate SCXX 4 data of 16 bits 360 bit 12 about 440 kbps
Pagina 11
La tabella seguente descrive il database CAN, che riguarda il contenuto in byte di ogni pacchetto e del relativo ID, ovvero il numero che identifica un singolo pacchetto:
CAN ID 110 120 130 210 220 310 320 330 410 420 510 520 530 UDP PORT 46000 46001 46002 46010 46011 46020 46021 46022 46030 46031 46040 46041 46042 Centralina Marelli Marelli Marelli IMU IMU PowerBox PowerBox PowerBox Dashboard Dashboard DLU DLU DLU Byte 1 RPM T_Air P_Fuel X_Axis_Acc X_Axis_Gyro Gear Brake Pressure R Speed RL Clutch Toggle Map Selected Speed FL Brake Pressure F LapTime Byte 2 Byte Byte 3 4 Throttle T_Oil VBatt Y_Axis_Acc Z1_Axis_Gyro Gear Up ELV PWM1 Speed RR AGS Toggle Traction Control Speed FR Steer Angle Byte Byte 5 6 CarSpeed T_Water NiveauEssence (livello benzina) Z_Axis_Acc Y_Axis_Gyro Gear Down ELV PWM2 Spring RL Rain Light AF Ratio Spring FL Log Status Byte Byte 7 8 Barrel (Gear Pos) P_Oil MAP Z2_Axis_Gyro Clutch ELV PWM3 Spring RR Aux Toggle Spring FR -
Pagina 12
Sistema di telemetria
Come si pu vedere dalla figura, la comunicazione con i box avviene attraverso un sistema wireless: il datalogger collegato attraverso un cavo ethernet ad un access point, il quale manda i pacchetti ai box attraverso unantenna. Dopo aver ricevuto i dati il datalogger genera dei pacchetti UDP: ogni pacchetto formato da un identificatore di 4 bit pi un campo opzionale di 8 bit e da 10 timestamp per 4 sensori diversi, per un totale di 132 byte (compreso il campo opzionale, 124 senza). Per ogni timestamp vengono usati 4 byte, mentre per ogni sensore vengono utilizzati 2 byte. Il pacchetto successivo avr altri 10 timestamp di altri quattro sensori diversi e cos via.
Pagina 13
Di seguito viene riportata la tabella che rappresenta un pacchetto UDP creato dal datalogger durante la trasmissione:
Una volta che il pacchetto stato creato viene inviato in broadcast alla rete wireless e ricevuto dal telemetrista ai box che collegato alla stessa LAN dellaccess point. Per la trasmissione wireless si usa il protocollo WiFi 802.11b che raggiunge una velocit di trasmissione di 11 Mb/s. Nella tabella sottostante sono riportate le specifiche della trasmissione dei dati attraverso WiFi:
SCXX 122 byte 164 byte 74% 12 about 158 kbps
Packet payload Packet length Efficiency # packet sent every 100 ms Minimum bitrate
Un importante novit di quest anno il real time telemetry system. Grazie a questo sistema vi la possibilit di salvare ogni sessione di lavoro contenente i relativi dati in un file CSV: se ad esempio si volesse conoscere la temperatura dell olio di qualche minuto fa basta andare a cercare il corrispondente file e caricarlo.
Pagina 14
Alimentazione
Il circuito alimentato dai 12V che arrivano dalla batteria della macchina. Questa tensione deve essere modificata in modo da poter alimentare tutti i componenti presenti nel circuito, che hanno bisogno di alimentazioni differenti: si vogliono avere 3.3V , 5V, 5.6V e 12V. Di seguito viene presentata la parte di circuito relativa allalimentazione :
lo zener allingresso serve per stabilizzare la tensione ed evitare che eventuali picchi all ingresso rovinino i dispositivi collegati in parallelo ad esso. Il condensatore da 100u in parallelo allalimentazione invece ha lo scopo opposto e viene chiamato condensatore di by-pass: viene usato come serbatoio per eventuali buchi di tensione che si possono verificare. Grazie a questi due elementi si pu dire di avere una tensione stabilizzata a 12V. Le tensioni di 3.3V, 5V e 6.5V vengono create utilizzando dei convertitori DC-DC, dotati di efficienti protezioni interne contro sovratensioni e cortocircuiti in uscita. Infine presente un LM2941T, che un regolatore di tensione utilizzato per avere 12V stabili in uscita.
Pagina 15
Sensori
Alla centralina del datalogger arrivano dei sensori che rilevano alcune grandezze fisiche utili per i test e per la messa a punto della macchina. Il datalogger creer poi dei pacchetti da inviare ai box che verranno letti dal software di telemetria e che permetteranno ai componenti della squadra di ottimizzare lo stato della macchina. Qui di seguito vengono descritti questi stessi sensori collegati al datalogger e il loro funzionamento.
Breack Press
Questo sensore della Magneti Marelli permette di determinare il livello di pressione del freno da parte del pilota: viene utilizzato un OPS04, che in grado di misurare pressioni fino a 8.1 MPa. In pratica esso fornisce in uscita una tensione che va dai 0.5V a pressione nulla ai 4.5V per pressioni di 8.1MPa. E alimentato a 5V con una corrente che deve essere minore di 10mA. Il suo tempo di risposta di circa 10ms; si deduce quindi che la frequenza massima di variazione della tensione di uscita non pu superare i 100Hz.
D In questa figura viene presentato il circuito di condizionamento del sensore, composto da un inseguitore di tensione, che ha la funzione di disaccoppiare la sorgente del segnale dal resto del circuito, e da un filtro di secondo ordine di tipo Sallen-Key, utilizzato per non trasmettere eventuali disturbi.
Pagina 16
Speed
Un altro sensore utile quello relativo alla velocit; viene utilizzato un ATS665, costituito da due sonde di Hall che percepiscono i cambiamenti magnetici creati da un elemento ferromagnetico.
Questo dispositivo viene alimentato da una tensione di 3.3V e presenta una corrente di uscita di circa 8mA. composto da due sonde di Hall che misurano il gradiente magnetico creato da un materiale ferromagnetico; questo stesso gradiente viene convertito in un segnale analogico di tensione e infine si avr all uscita un segnale digitale.
Al variare della velocit di una ruota dentata composta da un materiale ferromagnetico viene generato un campo magnetico, la cui intensit varia al variare della velocit del disco. Questo fenomeno produce un onda quadra, il cui periodo appunto determinato dal movimento rotatorio della ruota dentata.
Pagina 17
Dalle figure si vede che il materiale ferromagnetico genera unonda quadra che viene convertita in una sinusoide dal sensore di velocit. Il circuito di condizionamento ha il compito di trasformare questa stessa sinusoide in un segnale digitale. Di seguito viene presentato il circuito di condizionamento del sensore: Visto che il microcontrollore lavora soltanto in un certo range di ampiezza e frequenza, il circuito di condizionamento serve ad attenuare il modulo del segnale inviato dal sensore ed a tagliare le frequenze pi alte.
Pagina 18
Spring
Sulla macchina sono presenti due sensori di spring, ovvero i sensori che rilevano il livello di compressione delle sospensioni. Essi sono presenti negli ammortizzatori anteriori, che sono quelli che subiscono il maggiore sforzo soprattutto in curva. Essi sono composti da un potenziometro che varia la propria impedenza al variare del grado di compressione dellammortizzatore, e sono fatti in una lega di alluminio e acciaio inox, resistente alle alte temperature e al fuoco. Essi lavorano ad una temperatura compresa tra i -30 e 100 gradi centigradi e non possono essere collegati a cavi maggiori di un metro, in modo da non avere troppe interferenze dallesterno.
Pagina 19
Il circuito di condizionamento lo stesso del brake-press, in particolare composto da un inseguitore di tensione che ha la funzione di disaccoppiare la sorgente del segnale dal resto del circuito e da un filtro di secondo ordine di tipo Sallen-Key, che ha la funzione non trasmettere eventuali disturbi.
Steer Angle
Lo steer-angle un potenziometro lineare da 10k e alimentato a 5V, esso viene utilizzato per controllare il grado di sterzo del volante. Anche per questo sensore il circuito di condizionamento composto da un inseguitore di tensione e da una cella Sallen-Key, come si pu vedere dalla figura:
Pagina 20
Beacon
Questo sensore della Magneti Marelli composto da un ricevitore ottico a infrarossi, viene utilizzato per calcolare i tempi di giro nel circuito. Esso invia un impulso da 0 a 5V solo quando riceve il proprio codice dal trasmettitore a infrarossi, che sar posto a bordo pista.
Questo sensore il MT907/D, quando riceve il proprio codice invia limpulso e un indicatore led posto sul sensore viene acceso.
Langolo di ricezione del raggio a infrarossi va da -37 a +37; limpulso che invia da 0V a 5V con una durata di 0.5S se riceve il codice per almeno 5mS. Va alimentato da una tensione che pu andare da 10V a 15V con una corrente di 50mA. La figura seguente descrive le dimensioni del sensore:
Il suo circuito di condizionamento composto da un solo partitore di tensione, in quanto il microcontrollore vuole una tensione di circa 3.3V e luscita del sensore d una tensione da 5V.
Pagina 21
Collegamento Ethernet
Il datalogger si collega allantenna tramite un access-point, che premette il collegamento tra pi dispositivi wireless. Il collegamento con laccess point avviene tramite cavo ethernet di tip o UTP categoria 5 con presa RJ-45. Per comunicare attraverso la rete ethernet viene utilizzato un dispositivo che crea i pacchetti da inviare ai box, di nome enc28j60. Esso permette la comunicazione con la rete ethernet in quanto conosce i protocolli del le reti LAN. Esso riceve segnali attraverso ingressi SPI e crea pacchetti validi per la rete ethernet, collegato al microcontrollore con lingresso SPI.
Ci vuole un oscillatore esterno da 25MHz, il livello di tensione valodo 3.3V circa ma sono tollerati anche 5V. LENC28J60 soddisfa tutte le soddisfa tutte le specifiche del protocollo ethernet IEEE 802.3. La comunicazione con il controllore avviene tramite SPI e interrupt
Pagina 22
Nella figura seguente viene descritto il collegamento del microcontrollore allenc28j60 e alla presa RJ-45:
Ora viene descritto il formato del pacchetto che crea il dispositivo: Un preambolo di 7 bit viene creato automaticamente per ogni pacchetto inviato, indica linizio del pacchetto e viene scartato quando il pacchetto viene ricevuto, come anche il start-of-frame, in quanto non contengono informazioni utili per il controllore. Source e destination address contengono lindirizzo fisico dei dispositivi che stanno comunicando e che si stanno scambiando i pacchetti; attraverso queste due parti del pacchetto possibile sapere dove devono andare i pacchetti.
Pagina 23
Type/lenght indica il protocollo utilizzato nella creazione del pacchetto oppure la sua lunghezza. Data contiene il dato che oggetto della comunicazione tra i dispositivi, la parte principale del pacchetto. Il padding un campo utilizzato per aggiungere dei bit se il pacchetto troppo corto, in modo da soddisfare le regole per i pacchetti nel protocollo di rete. CRC viene utilizzato per il controllo degli errori.
Pagina 24
Il microcontrollore
Il microcontrollore il dispositivo principale del progetto, ogni sensore con il proprio circuito di condizionamento si collega al microcontrollore e il segnale del sensore viene inviato ai box. Tutto questo avviene grazie al firmware che stato scritto dal programmatore. Per questo il microcontrollore viene utilizzato per ogni centralina presente nella macchina e cambiando il codice possibile cambiare le sue funzioni. Il microcontrollore scelto il DSPIC33FJ128GP802, il quale viene utilizzato per tutte le centraline, le sue caratteristiche sono:
il prossimo paragrafo descrive il software che permette al microcontrollore di effettuare le sue operazioni.
Pagina 25
do { m = (offset + offset_max)/2; isEmptySector = MCisEmptySector(m); isEmptyNextSector = MCisEmptySector(m); if (!isEmptySector && !isEmptyNextSector) offset = m + 1; else offset_max = m - 1; } while (offset <= offset_max && !isEmptyNextSector)
Pagina 26
Verranno ora descritte le parti pi importanti del firmware, in quanto molte parti non sono descrittive del funzionamento del controllore ma sono uguali per ogni centralina.
Nel file hosts.h viene definito il database can, dove per ogni pacchetto che il datalogger deve inviare viene definita una porta. Ad ogni pacchetto e quindi ad ogni porta vengono associati quattro sensori, ovvero i segnali dei sensori che verranno inviati nello stesso pacchetto.
I pacchetti devono poi essere inviati alla rete LAN e al CAN, la parte di codice seguente descrive come vengono creati i pacchetti
evidente come il primo dato presente in ogni pacchetto il numero che identifica il pacchetto, in questo modo dai box possibile capire a cosa si riferiscono i dati presenti nel pacchetto ed cos interpretare i diversi dati ricevuti. Ogni pin del controllore deve essere configurato nel modo giusto, in quanto i pin dei microcontrollori non possono essere utilizzati in pi modi diversi secondo le diverse funzioni che deve eseguire, ad esempio una porta pu essere definita come ingresso digitale o analogico, oppure ingresso o uscita.
Pagina 27
Di seguito viene presentato un esempio: In questo caso alcune porte vengono definite come ingressi 0x1, altre come uscite 0x0.
Queste sono le parti principali della programmazione del microcontrollore. Il progetto stato tutto descritto, mentre nella parte finale verranno presentati i circuiti completi.
Pagina 28
Appendice A
Le prossime due figure A.1 e A.2 rappresentano gli schemi progettati con il software Eagle, mentre la figura A.3 rappresenta lo schema utilizzato per svolgere lo stampato. La figura A.4 rappresenta il circuito completo.
Figura A.1
Pagina 29
Figura A.2
Pagina 30
Figura A.3
Pagina 31
Figura A.4
Pagina 32