1. SVEU ˇCILIŠTE U ZAGREBU
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.
2.
3. Veliku zahvalu dugujem mentoru 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
6. 1. Uvod
Kako bi se 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 sustava za 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 i podruˇ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: Primjer modula 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 primjeni koristi 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
Arhitektura sustava 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: Izvedba podnož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: Prikaz rada 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 tako da 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
ESP8266 je 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: Shema spajanja 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
TFT zaslon 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 i bež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 poljem dobivenim 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: Okvir NMEA 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, ergonomija i 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: Primjer jednostavnog oˇcitavanja na osobnom raˇcunalu
Prikaz zaslona mobilne aplikacije za Android mobilne ure ¯daje.
20
26. 6. Zakljuˇcak
Prikupljanje, prikaz i 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 protocol documentation, 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
44. Izvedba i implementacija sustava 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