SVEU ˇCILIŠTE UZAGREBU
FAKULTET ELEKTROTEHNIKE I RA ˇCUNARSTVA
ZAVRŠNI RAD br. 3841
Izvedba i implementacija sustava
za prikaz i dijeljenje podataka u
mobilnom okruženju
Bruno Vunderl
Zagreb, sijeˇcanj 2015.
3.
Veliku zahvalu dugujemmentoru prof.dr.sc. Danku Baschu te dr. sc. Martinu
Žagaru koji me svojim struˇcnim savjetima vodio kroz izradu seminarskog i završnog
rada. Tako ¯der se zahvaljujem i dragom prijatelju mag. ing. comp. Davoru Cihlaru
koji je svojim radom pomogao drugim studentima i meni da se odvažimo samostalno
upustiti u izradu digitalnih elektroniˇckih ure ¯daja. Upu´cujem i zahvalu svim trenutnim i
alumni ˇclanovima FSB Racing Team-a s kojima sam sura ¯duju´ci stekao puno praktiˇcnih
iskustva o projektiranju i primjeni elektroniˇckih ure ¯daja.
iii
1. Uvod
Kako bise opisao i struˇcno prouˇcio rad strojeva, elektriˇcnih i elektroniˇckih ure ¯daja ili
sustava, oˇcitavaju se informacije s ve´ceg broja digitalnih i analognih senzora koji prate
njegov rad. Podatci koji se oˇcitavaju najˇceš´ce su usko vezani uz podruˇcje primjene.
Samo osnovni podatci su potrebni za jednostavno korištenje stroja dok su razvojnim
inženjerima i naprednim korisnicima potrebni detaljni podatci kako bi otkrili nepravil-
nosti u radu i mogu´cnosti za unaprje ¯denje te kako bi u svakom trenu bili detaljno in-
formirani o radu stroja. Za prikaz podataka potrebno je suˇcelje pomo´cu kojega ˇcovjek
može u stvarnom vremenu pratiti rad i upravljati pojedinim funkcionalnostima stroja.
Navedena komponenta sustava naziva se suˇcelje ˇcovjeka i stroja1
.
Postupak interakcije izme ¯du ˇcovjeka i stroja zapoˇcinje opservacijom trenutnog
stanja. Stanje je definirano svim ili samo odre ¯denim podatcima koji opisuju mehaniˇcke,
elektriˇcne i raˇcunalne parametre promatranog stroja. Iste je potrebno obraditi, pripremiti
za prikaz i prikazati na suˇcelju. Potom ˇcovjek u funkciji operatera kroz interakciju sa
suˇceljem može utjecati na parametre rada stroja. Kroz daljnju interakciju ostvaruje se
povratna veza, a samim time i kontrola ˇcovjeka nad strojem. U sluˇcaju potrebe da stroj
bude pra´cen kroz duži period vremena potrebno je prikupljati podatke, a u sluˇcaju da
više osoba istovremeno prati rad stroja potrebno je i raspodijeljeno suˇcelje.
Predmet ovog rada je izvedba i implementacija ugradbenog raˇcunalnog sustava s
mogu´cnoš´cu prikupljanja senzorskih podataka s vozila u pokretu, prikazom osnovnih
podataka vozaˇcu i distribucijom detaljnih podataka udaljenim klijentima. Konkretna
implementacija namijenjena je upotrebi u bolidu projektiranom i izra ¯denom od strane
FSB Racing Teama2
na natjecanjima Formula Student. Formula Student bolid je vozilo
s elektriˇcnim motorom ili motorom na unutarnje izgaranje koje zadovoljava strogim
regulacijama natjecanja (Society of Automotive Engineers, 2014). Poznavanje trenut-
nih parametara rada vozila omogu´cavaju vozaˇcu bolju kontrolu nad vozilom, a razvo-
jnim inženjerima mogu´cnost pra´cenja rada vozila.
1
engl. Human-machine interface, abbr. HMI
2
FSB Racing Team, URL: www.fsb-racing.com
1
7.
2. Projektiranje sustavaza prikaz i
dijeljenje podataka
Ovo poglavlje navodi potrebne funkcionalnosti koje sustav treba implementirati, is-
tražuje okolinu i podruˇcje primjene te donosi prijedlog tehniˇckog rješenja. Detaljno
se obra ¯duje arhitektura sustava i elektroniˇcka implementacija uz pregled mogu´cnosti
razvijenog rješenja.
2.1. Funkcionalnosti sustava
Sustav za prikaz i dijeljenje podataka u bolidu za natjecanje Formula Student ima dvije
osnovne zada´ce. Prikazati vozaˇcu trenutno stanje vozila te prenijeti informacije o
stanju bolida razvojnim inženjerima udaljenima od bolida. Sustav je potrebno mo´ci
dodatno podesiti bez preprogramiranja uz visoku razinu sigurnosti.
Prikaz podataka vozaˇcu sadrži prikaz trenutne brzine, stupnja prijenosa, broja okre-
taja, trenutka preporuˇcene promjene brzine, stanja temperature rashladne teku´cine i
tlaka ulja u motoru. Ostali prikupljeni podatci obuhva´caju napon baterijskog paketa,
tlak na usisu, oˇcitanje lambda sonde, poziciju leptirastog vratila, trenutnu lokaciju i
oˇcitanja s akcelerometra i žiroskopa.
Dijeljenje podataka zahtjeva bežiˇcni prijenos detaljnog stanja vozila. Zahtjev je da
udaljenost bude dovoljna da bi bilo mogu´ce pratiti bolid tijekom testiranja izdržljivosti
na kružnoj trka´coj automobilskoj stazi. Tako ¯der, podatci moraju biti osvježavani ˇceš´ce
od 3 puta u sekundi te kasniti manje od 500 ms. Podatke je potrebno mo´ci prihvatiti
na ve´cem broju pametnih mobilnih telefona, tableta i prijenosnih raˇcunala korištenjem
standardnih bežiˇcnih tehnologija.
2
8.
2.2. Okolina ipodruˇcje primjene
Projektiranje ugradbenog sustava za prikupljanje, obradu, prikaz i distribuciju po-
dataka o radu vozila zapoˇcinje definiranjem okoline u kojoj ´ce se isti nalaziti. U suk-
ladnosti s istom je mogu´ce projektirati i izvesti sustav s odgovaraju´cim znaˇcajkama.
Neke od bitnih znaˇcajka okoline su: pozicija i oblik modula, napajanje i ožiˇcenje,
naˇcin prikupljanja podataka, mogu´cnosti i svojstva vozila te ergonomija.
2.2.1. Fiziˇcka izvedba
Sustav za prikaz podataka u svakom trenu mora biti u vidnom polju vozaˇca. Samim
time su jedina mogu´ca mjesta za postavljanje istog u razini prednjeg obruˇca (engl. front
hoop) i unutar volana. Mana ugradnje sustava za prikaz u volan je to što se isti rotira
te ga je tijekom vožnje i prilikom rotacije volana teže oˇcitati od sustava ugra ¯denog
u razini prednjeg obruˇca. Sukladno s iskustvima prethodnih godina odabrano je da
modul bude ugra ¯den iza volana, u ku´cište priˇcvrš´ceno na prednji obruˇc.
Slika 2.1: Primjer ugradnje u volan s prethodnog bolida
Jedan od uvjeta u kojima ´ce se sustav za prikaz nalaziti je visoka svjetlina oko-
line. Tada je teže je oˇcitavati vrijednosti s grafiˇckih zaslona niske svjetline i kontrasta.
Iz tog razloga ranije navedene podatke najjasnije je prikazati korištenjem svjetle´cih
dioda. Kako je pomo´cu ograniˇcenog broja svjetle´cih dioda mogu´ce prikazati samo
grube vrijednosti, detaljni prikaz informacija o vozilu mogu´ce je dobiti korištenjem
kontrastnog i svijetlog TFT zaslona s jednostavnim grafiˇckim suˇceljem.
2.2.2. Elektriˇcno napajanje
Ve´cina vozila kao izvore elektriˇcnog napajanja koriste povezani sustav reguliranoga
alternatora i baterijskog sustava s više ´celija. Elektriˇcni ure ¯daji napajaju se istosmjer-
nom strujom s uobiˇcajenim vrijednostima napona 6V i 12V. Sve unutarnje komponente
3
9.
Slika 2.2: Primjermodula za prikaz ugra ¯denog u razini prednjeg obruˇca na bolidu TU Delft 14
sustava za prikaz, obradu i distribuciju zahtijevaju 5V ili 3.3V te je stoga potrebno reg-
ulirati i prilagoditi napon. S obzirom da je sustav digitalan i nije osjetljiv na elektriˇcni
šum, preporuˇcljivo je koristiti prekidaˇcki regulator napajanja (engl. switching regula-
tor) radi ve´ce efikasnosti. Prilikom projektiranja napajanja potrebno je obratiti pažnju
na pravilno spajanje mase kako ne bi došlo do izboja prilikom paljenja i gašenja vozila.
Masa treba biti spojena na šasiju u blizini toˇcke gdje je spojena masa ostalih elektriˇcnih
ure ¯daja i senzora. S obzirom da neki senzori koriste i 5V naponsku razinu, a osjetljivi
su na šum, preporuˇca se i dodatna ugradnja linearnog 5V regulatora iz kojeg ´ce biti
napajani iskljuˇcivo senzori.
Slika 2.3: Izvedba sheme regulacije napona
2.2.3. Prikupljanje podataka
Sve trenutne tehniˇcke podatke o vozilu prikuplja i obra ¯duje ure ¯daj za upravljanje mo-
torom1
. Kako bi se podatci mogli istovremeno prikazati vozaˇcu i razvojnim inženjer-
ima potrebno je podatke u stvarnom vremenu oˇcitavati s ECU-a. Ve´cina automobila
1
engl. Engine control unit, abbr. ECU
4
10.
u široj primjenikoristi OBDII2
protokol implementiran na CAN3
sabirnici. Specifiˇcni
ECU koji se nalazi na bolidu je VEMS V3 (VEMS, 2014), a predvi ¯deni naˇcin povezi-
vanja s istim je putem serijske sabirnice.
Osim prikupljanja ve´c djelomiˇcno obra ¯denih podataka s ECU-a ponekad je potrebno
prikupljati podatke i s drugih ure ¯daja u vozilu. Primjer takvih ure ¯daja su sustav za up-
ravljanje baterijskim paketom4
, sustav za stabilnost vozila5
i sustav upravljanje vozilom.
Najˇceš´ce je komunikacija izme ¯du svih ure ¯daja unutar vozila ostvarena CAN sabir-
nicom i protokolom izvedenim od strane proizvo ¯daˇca. Radi mogu´cnosti budu´ceg
proširenja sustava na modulu je izvedeno i suˇcelje za CAN sabirnicu.
2.2.4. Dijeljenje podataka
Podatke o vozilu mogu´ce je dijeliti s drugim ure ¯dajima u vozilu CAN sabirnicom.
Bežiˇcno dijeljenje podataka ostvaruje se integracijom modula s radijskim primopreda-
jnikom. Neke od najˇceš´ce korištenih tehnologija u bežiˇcnom prijenosu podataka su
WiFi, Bluetooth, ZigBee, NRF24 te direktna radijska komunikacija na odre ¯denoj slo-
bodnoj ili registriranoj frekvenciji. Od navedenih tehnologija najˇceš´ce korištene su
WiFi i Bluetooth zbog izrazito velike prisutnosti u mobilnim raˇcunalnim sustavima
poput prijenosnih raˇcunala, pametnih mobilnih telefona i tableta. Upravo iz tog ra-
zloga odabrane tehnologije su WiFi i Bluetooth.
WiFi komunikacija služi za prikaz podataka na udaljenosti do par stotina metara.
Omogu´cava prikaz podataka na ve´cem broju klijentskih aplikacija i ure ¯daja. To je
ostvareno korištenjem IP multicast tehnologije. Osim velikog broja klijenata i relativno
velike udaljenosti, WiFi podržava i prijenos velikih koliˇcina informacija uz razmjerno
kratko vrijeme propagacije. Nedostatak WiFi-a je potreba za postavljanjem pristupne
toˇcke s usmjerivaˇcem (engl. router) na koju ´ce se sustav za prikaz i dijeljenje podataka
spajati te potreba za zaštitom upravljaˇckih rijeˇci i povjerljivih informacija.
Bluetooth je za razliku od WiFi tehnologije namijenjen komunikaciji izme ¯du jednog
klijenta i jednog servera te je puno kra´cega dometa i manjeg kapaciteta prijenosa po-
dataka. Time je pogodniji za upravljanje modulom i sustavom te sigurniji za prijenos
povjerljivih podataka. Uz korištenje Bluetooth Low Energy mogu´ce je ostvariti i izraz-
ito nisku potrošnju elektriˇcne energije.
2
On-Board Diagnostics
3
Controler Area Network
4
engl. Battery Managment System, abbr. BMS
5
engl. Electronic Stability Control, abbr. ESC
5
11.
3. Arhitektura sustava
Arhitekturasustava zapoˇcinje odabirom ure ¯daja koji ´ce zadovoljiti uvijete okoline i po-
druˇcja primjene. Konkretni sustav je izveden korištenjem mikroprocesora radi visoke
fleksibilnosti uz mogu´cnost budu´ce nadogradnje FPGA tehnologijom. Periferni ˇcipovi
i ure ¯daji koriste I2C1
, SPI2
i UART3
sabirnice.
3.1. Mikroprocesor
Odabir mikroprocesora zapoˇcinje razmatranjem tehnologija i potrebnih zahtjeva sus-
tava. Od na tržištu trenutno prisutnih, najˇceš´ce su u vozilima korištene su RISCSPI4
set computing arhitekture širine sabirnice 8, 16 ili 32 bita. Najˇceš´ce implementacije su
AVR, PIC i ARMv7 serije A i M. x86 i x64 arhitekture koriste se gotovo iskljuˇcivo u
sustavima za informiranje i zabavu te sustavima za obradu slike i podataka sa senzora
visoke rezolucije kao što su radar i lidar. Kako su ure ¯daji u vozilu kritiˇcni za sig-
urnost, proizvo ¯daˇci ˇcesto nude i posebne "automotive" varijante procesora. S obzirom
da prikupljanje, prikaz i distribucija podataka ne zahtijevaju visoku procesorsku mo´c,
predvi ¯deno je da se sustav koristi mikroprocesorima AVR, PIC i ARMv7 M arhitektura
uz mogu´cnost budu´ce nadogradnje FPGA sklopom.
Kako bi se omogu´cila jednostavna nadogradnja i platformska neovisnost, mikro-
procesor se nalazi na odvojivoj tiskanoj ploˇcici s jedinstveno definiranim prikljuˇccima.
Ovisno o potrebi ili želji mogu´ce je prema specifikaciji prikazanoj u dodatku A pro-
jektirati tiskanu ploˇcicu s drugim mikroprocesorom ili arhitekturom. Prikljuˇcno suˇcelje
sadrži 8 prikljuˇcka sa po 5 prikljuˇcaka na standardnom 100mil razmaku. Dva prikljuˇcka
namijenjena su za spajanje dodatnih ulaznih ili izlaznih ure ¯daja kao što su npr. dodatni
prekidaˇci ili LED prikaznici.
1
Inter-Integrated Circuit
2
Serial Peripheral Interface
3
Universal Asynchronous Receiver/Transmitter
4
Reduced instruction
6
12.
Slika 3.1: Izvedbapodnožja mikrokontrolera
U sklopu ovog rada razvijena su dva modula. Prvi modul koristi STM32F103
mikroprocesor ARM-M3 32 bitnu arhitekturu. Drugi modul je iz AVR serije te ko-
risti 8 bitnu arhitekturu te se radi o ATMEGA2560 mikroprocesoru. Isti su odabrani
radi podjednake koliˇcine programske memorije (64 KB) te raširenosti na tržištu. 32-
bitni ARM mikroprocesor radi na maksimalnoj frekvenciji od 72MHz uz maksimalnih
90DMIPS-a. 8-bitni AVR radi na 16MHz uz maksimalnih 16DMIPS-a. Osim boljih
performansi, ARM ima implementiranu jednu CAN i dvije SPI sabirnice.
3.2. Podatkovne sabirnice
Na sustavu su izvedene slijede´ce sabirnice: UART, SPI, I2C i CAN. Putem UART
sabirnice spojena su ˇcetiri ure ¯daja kao i putem SPI sabirnice. I2C sabirnica koristi se
iskljuˇcivo za komunikaciju sa žiroskopom/akcelerometrom.
NA UART sabirnicu povezani su WiFi, GPS, Bluetooth i RS232 prikljuˇcak s pretvornikom
razina. Postavke UART sabirnice su frekvencija prijenosa od 115200 B/s, 8 podatkovnih
i 1 stop bit te onemogu´cena provjera pariteta. Kako serijskom sabirnicom mogu dvos-
mjerno komunicirati samo dva ure ¯daja, implementirano je vremensko multipleksiranje
sabirnice kojim upravlja mikroprocesor. Za potrebe toga koristi se sklop 74HC4052.
To je 4 kanalni multipleksor sa dvije podatkovne linije ˇciji je rad detaljnije opisan
tablicom 2.1.
SPI sabirnicom spojeni su vanjski CAN modul, MAX7219 upravljaˇc LED dio-
7
13.
Tablica 3.1: Prikazrada multipleksora serijske sabirnice
B0 B1 Ure ¯daj
0 0 RS232
0 1 WiFi
1 0 GPS
1 1 Bluetooth
dama, grafiˇcki TFT zaslon te SD kartica. Odabir ure ¯daja s kojim u odre ¯denom trenutku
mikroprocesor komunicira ostvaruje se postavljanjem visoke vrijednosti na "chip se-
lect" pin željenog ure ¯daja.
Tablica 3.2: Prikaz odabira SPI sabirnice
Signal Ure ¯daj
C0 LED upravljaˇc
C1 TFT zaslon
C2 SD kartica
C3 CAN
I2C sabirnica koristi se za komunikaciju sa žiroskopom i akcelerometrom integri-
ranim u jedan ure ¯daj. Mikroprocesor oˇcitava podatke s I2C adrese 0x68, i ˇcita ukupno
14 registara poˇcevši s registrom 0x3B.
3.3. Dodatni ure ¯daji i sklopovi
Kako bi sve funkcionalnosti sustava bile ostvarene, osim mikroprocesora su potrebni
dodatni ure ¯daji i sklopovi. Me ¯du navedenima se nalaze komponente za komunikaciju
WiFi, GPS, Bluetooth, RS232 i CAN sklopovi, komponente za prikaz i pohranu po-
dataka LED upravljaˇc, TFT zaslon, sklop SD kartice, senzor zakreta i momenta (žiroskop
i akcelerometar) te posmaˇcni registar za upravljanje dodatnim svjetle´cim diodama.
3.3.1. Prekidaˇcki regulatori napajanja
Prekidaˇcki regulator napajanja služi za DC-DC prilagodbu razina napajanja uz vi-
soku efikasnost. U ovom sustavu koriste se dva MC34063 višenamjenska DC-DC
regulatora. Jedan regulator napaja sustav s 3.3V, a drugi s 5V. Prekidaˇcki regulatori
8
14.
postavljeni su takoda rade s frekvencijom prekidanja 10KHz i maksimalnim talasan-
jem napona od 10mV. Vrijednosti su postavljene korištenjem odgovaraju´cih param-
etara izlaznog LC kruga.
3.3.2. Linearni regulator napajanja
Linearni regulator napajanja koristi se za napajanje senzora. Jedan od najˇceš´ce ko-
rištenih integriranih regulatora napajanja za 5V razinu je LM7805 koji se koristi i u
ovom projektu. Na ulazu i izlazu regulatora postavljeni su 100uF elektrolitski konden-
zatori. Ovisno o uvjetima u kojima ´ce bolid biti korišten odnosno o temperaturama na
kojima ´ce se kondenzatori nalaziti mogu´ce je da elektrolitski kondenzatori zakažu. U
tom sluˇcaju, preporuˇca se zamjena istih tantalskim kondenzatorima.
3.3.3. Sklopovi za pretvorbu logiˇckih razina
U ovom projektu komunikacija se odvija na tri logiˇcke razine: 3.3, 5 i 12 volti. Razlog
tome su razliˇcite razine napona napajanja dijelova sustava. Ve´cina senzora bolida te
ECU koriste 12V razinu dok se pojedini senzori napajaju s 5V, a ve´cina sklopova sus-
tava za prikaz i dijeljenje podataka 3.3V. Kako bi se sprijeˇcila mogu´ca ošte´cenja proiza-
šla iz korištenja krivih naponskih razina prilikom komunikacije potrebno je prilago ¯da-
vanje razina. Radi prilagodbe izme ¯du 5V i 3.3V razina implementiran je 74HC4050
buffer. Ovisno o naponu kojim se navedeni sklop napaja, na tu ´ce razinu prilagoditi
ulazni signal. Za prilagodbu izme ¯du 12V komunikacije pomo´cu koje se prikupljaju
podatci s ECU-a koristi se MAX3232 integrirani krug.
Slika 3.2: Primjer spajanja sklopa za pretvorbu logiˇckih razina
9
15.
3.3.4. WiFi sklop
ESP8266je jednostavni WiFi integrirani sklop izrazito malih dimenzija, niske potrošnje
i cijene. U ovom projektu koristi se gotova izvedba tiskane ploˇcice s UFL prikljuˇckom
za vanjsku antenu. S njime se komunicira UART protokolom uz na multiplekseru
postavljenu vrijednost 01. Sklop zahtjeva 3.3V napajanje i odgovaraju´ce naponske
razine za komunikaciju te je potrebno prilagoditi razine ako se s njime komunicira
pomo´cu mikroprocesora koji radi na 5V.
3.3.5. Bluetooth sklop
Bleuetooth sklop korišten u ovom projektu je ˇcesto korišten HC-05 modul. Antena
modula je izvedena kao dio tiskane ploˇcice. Modul ima pinove za serijsku UART
komunikaciju na 3.3V kao i dodatni pin za ulazak u upravljaˇcki naˇcin rada.
3.3.6. GPS sklop
GPS sklop koji se koristi u ovom projektu je MTK3339 integrirani sustav na prilagod-
noj ploˇcici. Na ploˇcici je izvedena keramiˇcka antena, ali i UFL prikljuˇcak za vanjsku
antenu na kojega ´ce biti spojena antena te postavljena izvan oklopa bolida radi bolje
recepcije. Ploˇcica se napaja s 3.3V te komunicira UART-om na istoj naponskoj razini.
Iz tog razloga je potrebno koristiti prilago ¯dene razine. Integrirani sustav se sastoji od
mikroprocesora i GPS integriranog kruga. Osjetljivost je -165dBm, a modul osluškuje
na 66 kanala, radi s 22 kanala te izlazne vrijednosti osvježuje frekvencijom od 10Hz.
Radi jednostavnijeg rada sa sklopom izveden je i iz sklopa izlazni pin koji signalizira
da je GPS odredio poziciju.
3.3.7. CAN prilagodnik
Kako bi se ostvarila CAN komunikacija mikrokontrolerima koji nemaju ugra ¯denu
funkcionalnost potrebna su dva integrirana kruga. MCP2515 SPI sabirnicom kon-
troliran CAN upravljaˇc i MCP2551 primopredajnik. Kako ne bi bilo potrebno cijelo
vrijeme osluškivati SPI sabirnicu (jer to nije niti mogu´ce), sklop sadrži prekidni pin
kojime procesor obavještava o dolasku paketa u me ¯duspremnik.
10
16.
Slika 3.3: Shemaspajanja CAN prilagodnika
3.3.8. Upravljaˇc svjetle´cim diodama
Za prikaz vozaˇcu najbitnijih podataka u vozilu koriste se svjetlje´ce diode. To su u
sluˇcaju Formula Student bolida broj okretaja motora te brzina vozila. U ovom projektu
koristi se 32 svjetle´ce diode. Kako mikrokontroler nema mogu´cnost uz ostatak per-
iferije direktno upravljati tim brojem izlaza s ne zanemarivom potrošnjom, potrebno je
implementirati dodatni sklop koji ´ce upravljati svjetlje´cim diodama. U ovom projektu
se koristi MAX7219 s kojim se komunicira putem SPI sabirnice.
U projektu se koriste dodatne svjetle´ce diode za prikaz tlaka ulja, temperature rash-
ladne teku´cine te trenutka preporuˇcenog prebacivanja stupnja prijenosa. Za to se koristi
posmaˇcni registar s preklopnikom 74HC595.
Slika 3.4: Shema spajanja sklopa za upravljanje svjetle´cim diodama
11
17.
3.3.9. TFT zaslon
TFTzaslon koristi se za prikaz vozaˇcu manje bitnih informacija i upravljanjem postavkama
sustava za prikaz i dijeljenje podataka. Korišteni zaslon rezolucije je 240 toˇcaka širine
i 320 visine. Sadržajem zaslona se upravlja SPI sabirnicom dok je svjetlinu mogu´ce
promijeniti korištenjem dodatnog pina. S obzirom da se zaslon nalazi u svjetlom
okruženju uz ˇceste direktne refleksije, isti ´ce radi bolje ˇcitkosti cijelo vrijeme raditi
maksimalnom snagom.
3.3.10. SD kartica
ˇCitaˇc SD kartice nalazi se na štampanoj ploˇcici s TFT zaslonom. Na SD karticu se
zapisuju svi podatci o bolidu, oˇcitanja s GPS-a i dodatni doga ¯daji. Sadržaju kartice
pristupa se SPI suˇceljem s 3.3V naponskim razinama. Preporuˇca se korištenje kartice
ve´ce od 4 GB radi mogu´cnosti zapisa ve´ceg broja utrka i testiranja bez potrebe za
brisanjem iste.
Slika 3.5: Shema spajanja TFT zaslona i SD kartice
3.3.11. Žiroskop i akcelerometar
Žiroskop i akcelerometar integrirani su u jedan sustav u sklopu. Konkretno korišten
model je temeljen na MPU-6050 integriranom krugu. Radi stabilnosti preporuˇca se
korištenje 5V napajanja. Sa sklopom se komunicira I2C sabirnicom.
12
18.
4. Žiˇcna ibežiˇcna komunikacija
4.1. Serijska sabirnica
Na sabirnici je implementiran AIM (AIM, 2014) protokol ponad RS232 komunikaci-
jskog protokola. UART razine mikroprocesora niže su od logiˇckih naponskih razina
RS232 protokola te ih je potrebno prilagoditi kako bi komunikacija mogla biti usp-
ješno ostvarena. Korištenjem MAX3232 ˇcipa mogu´ce je prilagoditi naponske razine
mikroprocesorima koji rade na 3.3V ili 5V. Kako bi bilo mogu´ce odabrati naponske
razine u skladu s mikroprocesorom, implementiran je prespojnik (engl. jumper). Svaki
podatak osvježava se specifikacijom definiranom frekvencijom, a poruke se sastoje od
zaglavlja, identifikatora, dva bajta podataka te kontrolnog zbroja.
Slika 4.1: Prikaz paketa AIM protokola
4.2. CAN sabirnica
CAN sabirnicom komunicira se s dodatnim ure ¯dajima na bolidu. Svi podatci priku-
pljeni s ECU-a oblikuju se u pakete te propuštaju na CAN sabirnicu. Okvir koji
definira pojedini paket sastoji se od 5 glavnih dijelova. To su: arbitracijski, upravl-
jaˇcki, podatkovni i zaštitni dio te dio fiziˇckog sloja. Arbitracijski dio se sastoji od 11
bitnog identifikatora te RTR1
bita. Upravljaˇcki dio paketa sastoji se od 4 bitnog polja
u kojem je pohranjena duljina podatkovnog polja, rezerviranog bita i bita kojim se
oznaˇcuje da li je ID paketa 11 ili 29 bitni. Podatkovni dio ovisno o vrijednosti upravl-
jaˇckih bitova može duljinom varirati izme ¯du 1 i 64 bajta. Potom slijedi zaštitni dio s
1
abbr. Remote Transmission Request
13
19.
15 bitnim poljemdobivenim kružnim zaštitnim kodiranjem(engl. Cyclic Redundancy
Check abbr. CRC).
Slika 4.2: Prikaz okvira CAN poruke
Kako bi se slijedila dobra praksa i omogu´cila proširivost, programski je imple-
mentirano numeriranje i identificiranje poruka prema OBD22
standardu. Isti se od
2005 koristi na gotovo svim cestovnim vozilima te je time omogu´cena jednostavnija
provedba dijagnostiˇckih pregleda i utvr ¯divanje kvarova i problema na vozilu. Set iden-
tifikatora poruka definiran je dokumentom izdanim od strane Europskog parlamenta i
Europske komisije (European Parliament, 1998).
4.3. WiFi komunikacija
Sklopom se upravlja i komunicira pomo´cu AT komandi definiranih u službenom priruˇcniku
(Espressif Systems, 2014). Osmišljeno je da sustav za prikaz i dijeljenje podataka bude
klijent na vanjskom bežiˇcnom razdjelniku. U programskom kodu potrebno je definirati
naziv pristupne toˇcke (SSID) i lozinku koje mikroprocesor prilikom uspostavljanja
veze prenosi modulu za bežiˇcnu WiFi komunikaciju. Kao potvrdu o uspješno ost-
varenoj komunikaciji modul mikroprocesoru šalje OK te nakon toga mikroprocesor
može krenuti s izvršavanjem dijela koda za raspodjelu podataka udaljenim klijentima.
Slijede´ci primjer raˇcunalnog koda za uspostavu komunikacije napisan je u C program-
skom jeziku uz korištenje vanjskih biblioteka 4.3.
Nakon što je veza uspostavljena slijedi dvosmjerna komunikacija izme ¯du modula
za prikaz i dijeljenje informacija u funkciji programskog poslužitelja i klijentskih ure-
¯daja. Komunikacija je bazirana na User datagram protocol3
protokolu radi mogu´cnosti
ˇcestog pucanja i ponovnog uspostavljanja veze. Sa strane klijentske aplikacije koristi
se AT naredba CIPSEND za slanje podataka i +IPD za primanje podataka. Sa kli-
jentske strane potrebna je aplikacija koja zadovoljava implementirano komunikacijsko
suˇcelje.
2
(engl. OnBoard Diagnostics)
3
abbr. UDP
14
20.
boolean connectWiFi () {
S e r i a l . p r i n t l n ( "AT+CWMODE=1" ) ;
delay ( 1 0 0 0 ) ;
S t r i n g cmd="AT+CWJAP=" " ;
cmd+=SSID ;
cmd+=" " , " " ;
cmd+=PASS ;
cmd+=" " " ;
S e r i a l . p r i n t l n ( cmd ) ;
delay ( 1 0 0 0 ) ;
i f ( S e r i a l . f i n d ( "OK" ) )
return t r u e ;
e l s e
return f a l s e ;
}
Slika 4.3: Primjer uspostavljanja WiFi komunikacije
4.4. Bluetooth komunikacija
Bluetooth modulom se kao i WiFi modulom upravlja korištenjem AT naredbi. Naj-
važnije postavke su brzina prijenosa, naziv ure ¯daja i lozinka za uparivanje s ure ¯dajem.
Njih je mogu´ce promijeniti, a za potrebe ovog rada korištena je brzina prijenosa od
115200B/s, naziv FSBRT i zadana lozinka. Uparivanje mobilnog ure ¯daja i modula
ostvaruje se odabirom imena me ¯du vidljivim ure ¯dajima te upisivanjem lozinke nakon
odabira. Nakon toga ostvaruje se jednostavna jedan na jedan veza modula i mobilnog
ure ¯daja. Na strani mikroprocesora svi podatci poslani na serijsku sabirnicu biti ´ce
preneseni na mobilni ure ¯daj na kojem je tako ¯der otvoren serijski port.
Komunikacijsko suˇcelje je potrebno implementirati s obje strane komunikacijskog
kanala. Sustav za prikaz i dijeljenje podataka nakon uspješnog uspostavljanja veze s
klijentom zapoˇcinje sa sinkronim slanjem podataka klijentu. Nakon primitka i obrade
paketa poslanog od strane ECU-a, podatak se proslje ¯duje klijentu. Prilikom toga koristi
se 1 oktet za zapis identifikatora poruke i 4 okteta za podatak. U tablici 4.1 je prikazan
skup svih mogu´cih poruka s pripadaju´cim identifikatorom.
15
21.
void setBaud (unsigned long baud ) {
i n t r e c e i v e d = 0;
d i g i t a l W r i t e ( _cmdPin , 1 ) ;
delay ( 2 0 0 ) ;
_ b t S e r i a l . w r i t e ( "AT+UART=" ) ;
_ b t S e r i a l . p r i n t ( baud ) ;
_ b t S e r i a l . w r i t e ( " , 0 , 0 r n" ) ;
r e c e i v e d = _ b t S e r i a l . readBytes ( _buffer , _ b u f s i z e ) ;
d i g i t a l W r i t e ( _cmdPin , 0 ) ;
delay ( 1 0 0 ) ;
cmd ( "AT+RESET" ) ;
_ b t S e r i a l . begin ( baud ) ;
delay ( 5 0 0 ) ; }
Slika 4.4: Primjer postavljanja brzine prijenosa Bluetooth kanalom
Tablica 4.1: Popis kodova korištenih u Bluetooth komunikacijskom suˇcelju
RPM Wheel speed Oil pressure Coolant temperature
1 5 9 17
Battery voltage Throttle angle Manifold pressure Air intake temperature
33 45 69 97
Exhaust temperature Lambda Gear Error code
101 105 113 125
4.5. Globalni pozicijski sustav
S mikroprocesorom GPS modul komunicira definiranim NMEA paketima. Isti se
sastoje od preambule, identifikacijskog skupa okteta, identifikatora tipa paketa, po-
datkovnog dijela, oznake kraja podatkovnog dijela, kontrolnog zbroja te oznake kraja
paketa. Podatkovni dio paketa proizvoljne je duljine, a maksimalna mogu´ca duljina
paketa limitirana je na 255 okteta. Primjer dobro strukturiranog paketa je $PMTK000∗
32 < CR >< LF >. $ oznaˇcava poˇcetak paketa, PMTK je identifikacijski skup od
4 okteta specifiˇcnih za korišteni GPS sklop, 0000 oznaˇcava poruku PMTKT EST na
koju sklop odgovara statusom o radu, ∗ je oznaka kraja paketa, a 32 kontrolni zbroj.
Po završetku je potrebno umetnuti znakove < CR >< LF > kako bi se oznaˇcio kraj
retka.
16
22.
Slika 4.5: OkvirNMEA paketa
Upravljaˇcke rijeˇci propisane su službenom dokumentacijom (GlobalTop Tech Inc.,
2014.). Njome su propisani i formati upita i odgovora prilikom komunikacije sa
sklopom.
17
23.
5. Suˇcelje, ergonomijai interakcija
5.1. Prikaz svjetle´cim diodama
Svjetle´cim diodama upravlja se sklopom MAX7219 s kojim mikroprocesor komuni-
cira putem SPI sabirnice. Za odabir diode koja ´ce u odre ¯denom trenutku svijetliti
potrebno je postaviti signal segmenta SEG na visoku razinu te signal DIG postaviti
na nisku razinu. Primjer funkcioniranja matrice LED dioda vidljiv je na 5.1
Slika 5.1: Okvir NMEA paketa
Kako bi MAX7219 sklop mogao prikazati stanje potrebno je poslati potpunu ma-
tricu dimenzija 8 redaka i 8 stupaca. S obzirom da se koristi samo dio izlaza, 32 izlaza
ostaju neiskorištena, a 32 se koriste za prikaz brzine i broja okretaja. Radi jednostavni-
jeg korištenja izvedena je funkcija koja posebno adresira svaki poseban bit.
5.2. Prikaz na TFT zaslonu
Dizajn zaslona u vozilu mora biti jednostavan i iznimno pregledan. Iz tog razloga
tijekom vožnje na njemu se prikazuju samo ikone o statusu vozila te velika oznaka u
kojoj je vozaˇc brzini. Osim ovog naˇcina rada, mogu´ce je pomo´cu sklopke odabrati
naˇcin rada dijagnostike vozila kada se na ekranu prikazuju detaljne informacije što
18
24.
posljediˇcno unanjuje preglednost,ali omogu´cava pra´cenje detaljnih podataka samom
vozaˇcu. Za prikaz na zaslonu koriste se ve´c gotove grafiˇcke biblioteke koje podržavaju
rezoluciju zaslona od 320 toˇcaka visine i 240 širine.
5.3. Interakcija s vozaˇcem
Kako bi se omogu´cila interakcija vozaˇca i sustava za prikaz, preostali pinovi mikro-
procesora iskorišteni su za programibilne ulazi ili izlaze. Na njihovim krajevima
postavljeni su zatezni prikljuˇcci koji omogu´cavaju jednostavno spajanje dodatne per-
iferije. Ista ukljuˇcuje prekidaˇce koji se mogu koristiti za navigaciju kroz meni na
zaslonu, spajanje sklopki kojima se prebacuje izme ¯du stupnjeva prijenosa, sklopki
kojima se aktiviraju odre ¯deni naˇcini dodatni rada ECU-a kao što su npr. pomo´c pri
naglom startu(engl. traction control), odabir profila rada vozila itd. Time se tako ¯der
omogu´cava jednostavna nadogradnja sustava koji može tijekom vremena izrade i pro-
jektiranja bolida biti unaprije ¯divan iz godine u godinu.
5.4. Klijentske aplikacije
Za potrebe sustava za prikaz i dijeljenje podataka razvijene su dvije klijentske ap-
likacije. Raˇcunalna aplikacija izra ¯dena je u Python programskom jeziku uz korištenje
Kivy razvojne okoline za grafiˇcka suˇcelja. Komunikacija se ostvaruje bežiˇcnim putem
korištenjem UDP protokola i multicast naˇcina slanja. Slika 5.2 prikazuje grafiˇcko
suˇcelje razvijene klijentske aplikacije.
Kako bi podatke bilo mogu´ce oˇcitati i na pametni mobilnim ure ¯dajima izra ¯dena
je mobilna aplikacija za operacijski sustav Android. Komunikacija je ostvarena Blue-
tooth tehnologijom. Aplikacija osim prikaza podataka omogu´cava i prijenos podataka
na udaljeni server mobilnom mrežom kako bi se ostvarilo pra´cenje bolida te pohranji-
vanje podataka u bazu. Isti kasnije mogu biti korišteni za analizu dinamiˇckih svojstva
bolida te dijagnostiku. Za potrebe konstantnog pra´cenja podataka aplikacija koristi
pozadinski servis o aktivnosti kojeg korisnika obavještava ikonom u statusnoj traci.
Servis može biti iskljuˇcen u postavkama aplikacije.
19
25.
Slika 5.2: Primjerjednostavnog oˇcitavanja na osobnom raˇcunalu
Prikaz zaslona mobilne aplikacije za Android mobilne ure ¯daje.
20
26.
6. Zakljuˇcak
Prikupljanje, prikazi dijeljenje informacija o vozilu su tri razliˇcite cjeline potrebne za
upravljanje motornim vozilom. Kontinuirano pra´cenje podataka naknadno omogu´cava
analizu postoje´cih te razvoj novih rješenja u automobilskoj industriji. Zajedniˇcka os-
nova navedenih cjelina su informacije o vozilu kojima ti sustavi raspolažu. Temeljem
toga zakljuˇcuje se da je mogu´ce objediniti cjeline u jedinstveni raˇcunalni sustav sa
svrhom upravljanja svim podacima o vozilu.
U ovom radu prikazan je prijedlog konkretne izvedbe sustava u specifiˇcnoj i vrlo
zahtjevnoj okolini. Utvr ¯deno je da složenost sustava raste s brojem razliˇcitih modula
koje je potrebno izvesti. Komunikacijski kanali odnosno njihov broj i kapacitet su
ograniˇcavaju´ci ˇcimbenici prilikom projektiranja takvog sustava. Predloženo rješenje
koristi vremensku raspodjelu komunikacijskih resursa, ali rješenje je mogu´ce ostvariti
i uvo ¯denjem dodatnih komunikacijskih kanala i pove´canjem procesorske mo´ci.
Prikaz podataka o vozilu je kritiˇcan dio sustava vozila te je bitna pouzdanost istoga
u radu. Sadržaj koji se predstavlja vozaˇcu mora biti pregledan i ne dvosmislen. Za
potrebe razvoja potrebno je omogu´civanje udaljenog pristupa podacima o vozilu. Tako
prikupljeni podatci služe za analizu podataka tijekom i nakon testiranja.
Uvo ¯denjem predloženog objedinjenog sustava mogu´ce je ostvariti nadogradnju bez
promjene i prilagodljivost. Time se ostvaruje ušteda prilikom proizvodnje i jednos-
tavnija daljnja gra ¯da elektroniˇckog i elektriˇcnog sustava vozila.
21
27.
LITERATURA
AIM. AIM protocoldocumentation, 2014. URL http://www.aim-sportline.
com/download/ecu/ECU-AIM_Logger_145_eng.pdf.
Espressif Systems. AT Instruction Set, 2014. URL http://bbs.espressif.
com/download/file.php?id=84.
European Parliament. DIRECTIVE 98/69/EC OF THE EUROPEAN PARLIA-
MENT AND OF THE COUNCIL, 1998. URL http://eur-lex.europa.
eu/LexUriServ/LexUriServ.do?uri=CONSLEG:1998L0069:
19981228:EN:PDF.
GlobalTop Tech Inc. PMTK command packet, 2014. URL http://www.
adafruit.com/datasheets/PMTK_A11.pdf.
Ratko Magjarevi´c, Zoran Stare, Mario Cifrek, Hrvoje Džapo, Matko Ivanˇci´c, i Igor
Lackovi´c. Projektiranje tiskanih veza. 2009.
David A Patterson i John L Hennessy. Computer organization and design: the hard-
ware/software interface. Newnes, 2013.
Davor Petrinovi´c i Mladen Vuˇci´c. Osnove projektiranja raˇcunalnih sustava. 2007.
Slobodan Ribari´c. Gra ¯da raˇcunala, arhitektura i organizacija raˇcunarskih sustava.
2011.
Society of Automotive Engineers. 2014 Formula SAE Rules, 2014. URL students.
sae.org/cds/formulaseries/rules/2014_fsae_rules.pdf.
VEMS. VEMS v3.3 installation instructions, 2014. URL http://www.vems.hu/
wiki/index.php?page=MembersPage%2FPhatBob%2FUserGuide.
Mladen Vuˇci´c. Upotreba mikrokontrolera u ugra ¯denim raˇcunalnim sustavima. 2007.
22
Izvedba i implementacijasustava za prikaz i dijeljenje podataka u mobilnom
okruženju
Sažetak
Potrebno je definirati sustav za prikaz i obradu podataka te potom dizajnirati i
izvesti predloženo rješenje za rad u stvarnom vremenu. Ostvariti komunikaciju izme ¯du
sustava za prikupljanje podataka i modula za prikaz podataka. Prilagoditi sustav za rad
s podatcima u mobilnom okruženju i udaljeno dijeljenje podataka. Omogu´citi podršku
za rad na više razliˇcitih razvojnih platformi.
Kljuˇcne rijeˇci: prikaz podataka, udaljeno dijeljenje podataka, motorna vozila, bežiˇcna
komunikacija, suˇcelje ˇcovjeka i stroja
Design and Implementation of Data Visualization and Distribution System in
Mobile Environment
Abstract
The aim of this thesis is to define a module for data processing and visualization.
Module is to be designed and implemented to support real time operation. Communi-
cation between data collection and visualization units is to be established. System is
configured in such a way that it operates in mobile environment and supports remote
data distribution. System supports multiple development platforms and architectures.
Keywords: data visualization, remote data distribution, motor vehicles, wireless com-
munication, human-machine interface