RAZVOJ ZUNANJEGA PRIKAZOVALNIKA LED - core.ac.uk · Tabela 2.1: Primer pretvorbe ... SMD -...
-
Upload
vuongthuan -
Category
Documents
-
view
223 -
download
0
Transcript of RAZVOJ ZUNANJEGA PRIKAZOVALNIKA LED - core.ac.uk · Tabela 2.1: Primer pretvorbe ... SMD -...
Andrej Murn
RAZVOJ ZUNANJEGA
PRIKAZOVALNIKA LED
Diplomsko delo
Maribor, junij 2016
Diplomsko delo univerzitetnega študijskega programa
RAZVOJ ZUNANJEGA
PRIKAZOVALNIKA LED
Diplomsko delo
Študent: Andrej Murn
Študijski program: UN ŠP Elektrotehnika
Smer: Elektronika
Mentor: doc. dr. Boštjan Vlaovič
Lektorica: Zarja Lednik, PRU slovenskega jezika
2
ZAHVALA Zahvaljujem se vsem, ki so kakorkoli pripomogli k uspešni izvedbi diplomskega dela. Posebej bi se zahvalil mentorju doc. dr. Boštjanu Vlaoviču. Prav tako se zahvaljujem podjetju Etra, d. o. o. za pomoč in dovoljenje za uporabo te tematike v diplomskem delu.
IV
RAZVOJ ZUNANJEGA PRIKAZOVALNIKA LED
Klju čne besede: svetleča dioda, prikazovalnik, dsPIC, načrtovanje tiskanih vezij,
programski jezik C.
UDK : 004.312.466(043.2)
Povzetek
Diplomsko delo opisuje razvoj zunanjega prikazovalnika LED. Namen uporabe
prikazovalnika je prikaz aktualnih informacij prodajnih centrov s premikajočim besedilom.
Besedilo je prikazano v dveh vrsticah, kjer je velikost celotnega zaslona v širino 1320 mm
in višino 720 mm.
Razvoj prikazovalnika vključuje vse od idejne zasnove, izbire sestavnih komponent,
načrtovanja dvoslojne tiskanine, sestavljanje komponent prikazovalnika, izdelave
programske aplikacije v jeziku C in komunikacije z zunanjo napravo. Cilj diplomske
naloge je zagotoviti robusten in zanesljiv sistem za prikazovanje reklamnega besedila.
V
DEVELOPMENT OF THE OUTDOOR LED DISPLAY
Key words: led diode, display, dsPIC, PCB design, C language.
UDK : 004.312.466 (043.2)
Abstract
Thesis describes the development of outdoor LED display. The intended use of display
is to show current information on activities in shopping centres with moving text. The text
itself is diplayed in two rows where the size of the complete display is 1320 mm in width
and 720 mm in height.
The development of the display contains everything from the conceptual idea, selection
of main components, designing of two-layer PCB, components assembly, creating of
software application in C language and communication with an external device. The aim
of thesis is to provide a robust and reliable system for displaying advertising text.
VI
KAZALO
Povzetek ................................................................................................................................. IV
Abstract .................................................................................................................................. V
KAZALO SLIK ..................................................................................................................... VIII
KAZALO TABEL ................................................................................................................. X
UPORABLJENI SIMBOLI ................................................................................................... XI
UPORABLJENE KRATICE ................................................................................................. XII
1 UVOD .................................................................................................................................. 1
2 ZASNOVA PRIKAZOVALNIKA LED ........................ ................................................... 2
2.1 Razvojna enota ............................................................................................................ 3
2.2 Izdelava in testiranje testne 4 x 4 matrike led ............................................................. 5
2.3 Meritve testne led matrike 4 x 4 ................................................................................. 11
3 NAČRTOVANJE TISKANINE ...................................................................................... 16
3.1 Izbira ustreznih elektronskih komponent tiskanine .................................................... 16
3.2 Načrtovanje led matrike 16 x 16 ................................................................................. 16
4 PROGRAMSKA OPREMA ............................................................................................ 20
4.1 Opis razvoja programske opreme ............................................................................... 22
4.2 Priprava knjižnice alfanumeričnih znakov.................................................................. 28
4.3 Optimizacija delovanja ............................................................................................... 30
5 SESTAVLJANJE PRIKAZOVALNIKA ....................... ................................................ 37
5.1 Izdelava aluminijaste konstrukcije ohišja ................................................................... 37
VII
5.2 Določitev ventilacije prikazovalnika .......................................................................... 38
5.3 Povezava signalnih linij med komponentami ............................................................. 39
5.4 Komunikacija med terminalom in prikazovalnikom .................................................. 41
5.5 Meritve ........................................................................................................................ 43
6 TESTIRANJE IN ZAKLJU ČEVANJE DELOVANJA................................................ 44
7 REZULTATI ..................................................................................................................... 46
8 SKLEP ............................................................................................................................... 49
9 LITERATURA ................................................................................................................. 50
10 DODATKI ......................................................................................................................... 51
10.1 Naslov študenta ........................................................................................................... 51
10.2 Kratek življenjepis ...................................................................................................... 51
VIII
KAZALO SLIK
Slika 2.1: Prikazovalnik s komponentami ............................................................................................ 2
Slika 2.2: Razvojna enota ETKM V7 ................................................................................................... 4
Slika 2.3: Testno vezje led matrike 4 x 4 ............................................................................................. 6
Slika 2.4: Led dioda PTS630 - 70 ........................................................................................................ 6
Slika 2.5: Časovni diagram 16-bitnega pomikalnega registra .............................................................. 7
Slika 2.6: Pomikalni register STP16CP05PTR .................................................................................... 7
Slika 2.7: Vezava matrike 4 x 4 ........................................................................................................... 8
Slika 2.8: Testni program v jeziku C za led matriko 4x4 ..................................................................... 9
Slika 2.9: Zaporedje povezav led diod na tiskanini ........................................................................... 10
Slika 2.10: Praktični primer prikaza znaka na led matriki 4 x 4 ......................................................... 10
Slika 2.11: Izhodni signal SDO pomikalnega registra ........................................................................ 11
Slika 2.12: Prikaz signala SDO in CLK pomikalnega registra ........................................................... 12
Slika 2.13: Prikaz signala SDO in OE pomikalnega registra ............................................................... 12
Slika 2.14: Napajalni pretvornik 230 V /3,3 V.................................................................................... 13
Slika 2.15: Prisotnost motenj med testiranjem .................................................................................... 13
Slika 2.16: Motnje na izhodnih signalih krmilnika ............................................................................. 14
Slika 2.17: Logično vezje za stabilni napetostni nivo 3,3 V ............................................................... 14
Slika 2.18: Ojačani signali z logičnimi registri ................................................................................... 15
Slika 2.19: Ojačani signali SDO ......................................................................................................... 15
Slika 3.1: Del elektrosheme matrike 16 x 16 .................................................................................... 17
Slika 3.2: PCB sklop z enim pomikalnim registrom ......................................................................... 18
Slika 3.3: Celotna slika PCB matrike 16x16 ..................................................................................... 18
Slika 3.4: Prikaz zgornje površine tiskanine matrike 16 x 16 ............................................................ 18
Slika 3.5: Prikaz spodnje površine tiskanine matrike 16 x 16 ............................................................ 18
Slika 3.6: Končni izdelek matrike 16 x 16 ......................................................................................... 19
Slika 3.7: Testiranje led matrike 16 x 16 ........................................................................................... 19
Slika 4.1: Določitev bitov na matriki 16 x 16 .................................................................................... 20
Slika 4.2: Celotni prikazovalnik, sestavljen iz modulov matrik 16 x 16 ............................................ 21
Slika 4.3: Osnovna rutina delovanja programa za prikazovalnik ....................................................... 23
Slika 4.4: Algoritem za določitev bitov celotnega prikazovalnika..................................................... 24
Slika 4.5: Branje bitov s polja ............................................................................................................ 25
IX
Slika 4.6: Branje bitov iz knjižnice znakov ........................................................................................ 25
Slika 4.7: Knjižnica kodiranih znakov za prikaz na prikazovalniku .................................................. 26
Slika 4.8: Pogojna zanka za zapolnitev matrike 48 x 96 z biti ........................................................... 27
Slika 4.9: Algoritem pomikanja led stolpcev na prikazovalniku ....................................................... 27
Slika 4.10: Shranjevanje znakov s terminala v trenutno polje ............................................................ 28
Slika 4.11: Shranjevanje znakov v bliskovni pomnilnik ...................................................................... 28
Slika 4.12: Primer priprave knjižnice znakov za prikazovalnik ........................................................... 29
Slika 4.13: Primer ustvarjanja znakov za prikazovalnik ...................................................................... 29
Slika 4.14: Knjižnica znakov v šestnajstiški obliki .............................................................................. 30
Slika 4.15: Xport modul ....................................................................................................................... 31
Slika 4.16: Preverjanje sprejetih bitov s terminala ............................................................................... 32
Slika 4.17: Prenos znakov s terminala v razvojno enoto ...................................................................... 32
Slika 4.18: Komunikacija med enotami ............................................................................................... 33
Slika 4.19: Posnetek bitov z osciloskopom vodila RS232 ................................................................... 33
Slika 4.20: Preverjanje pravilnosti delovanja s pomočjo terminala ..................................................... 34
Slika 4.21: Izpis števca modulov na terminal....................................................................................... 34
Slika 4.22: Preverjanje vrednosti matrike 48x96 ................................................................................. 35
Slika 4.23: Izpis vrednosti matrike 48 x 96 .......................................................................................... 35
Slika 4.24: Vezje z uro realnega časa ................................................................................................... 36
Slika 4.25: Integrirano vezje DS1820 .................................................................................................. 36
Slika 5.1: Nosilna konstrukcija sestave matrike 16 x 16 .................................................................... 37
Slika 5.2: Sestava šestih matrik 16 x 16 ............................................................................................. 38
Slika 5.3: Zunanja oblika ohišja prikazovalnika z ventilacijo ............................................................ 38
Slika 5.4: Sestavljanje celotnega prikazovalnika z moduli ................................................................ 39
Slika 5.5: Vgradnja in povezava komponent na prikazovalniku ........................................................ 39
Slika 5.6: Sprednja stran celotnega prikazovalnika ............................................................................ 40
Slika 5.7: Razvojna enota ETKM V7 ................................................................................................. 40
Slika 5.8: Celotni prikazovalnik v končni obliki ................................................................................. 42
Slika 5.9: Notranjost prikazovalnika .................................................................................................. 43
Slika 7.1: Grafični prikaz meritev temperature komponent v odprtem prostoru ................................ 47
Slika 7.2: Grafični prikaz meritev temperature komponent v zaprtem prostor .................................. 48
X
KAZALO TABEL
Tabela 2.1: Primer pretvorbe šestnajstiškega v binarni zapis................................................................. 9
Tabela 2.2: Prikaz izhodne napetosti pomikalnega registra za posamezno diodo ............................... 12
Tabela 7.1: Meritve temperature komponent v odprtem prostoru ........................................................ 46
Tabela 7.2: Meritve temperature komponent v zaprtem prostoru ........................................................ 47
Tabela 7.3: Podatki prikazovalnika ...................................................................................................... 48
XI
UPORABLJENI SIMBOLI
m - Meter (enota za dolžino) V - Volt (enota za električno napetost) Hz - Hertz (enota za frekvenco) min - Minuta (enota za čas) sec - Sekunda (enota za čas) W - Vat (enota za električno moč) A - Amper (enota za električni tok) Ω - Ohm (enota za električno upornost) °C - Stopinj Celzija (enota za temperaturo) bit/s - Bitov na sekundo (enota za merjenje prometa v računalniških
omrežjih in telekomunikacijah
XII
UPORABLJENE KRATICE
SPI - zaporedno periferno vodilo (Serial Peripheral Interface) - zaporedno vodilo C (Inter-Integrated Circuit)
ICSP - serijsko programiranje v vezje (In-circuit serial programming) PWM - pulzno širinska modulacija (Pulse-width modulation) LED - svetleča dioda (Light Emitting Diode) A/D - analogno/digitalno (Analog/Digital) SMD - površinski elementi (Surface-mounted device) UART - univerzalni asinhronski sprejemnik/oddajnik (Universal Asynchronous
Receiver/Transmitter) Byte - zlog MIPS - milijonov inštrukcij v sekundi (Millions of instructions per second) SDO - serijski podatki iz pomikalnega registra (Serial data out terminal) OE - omogočitveni izhod registra (Input terminal of output enable) SMPS - stikalni napajalnik (Switch Mode Power Supply) LAN - lokalno omrežje (Local Area Network) EEPROM - električno izbrisljiv in programirljiv bralni pomnilnik (Electrically Erasable
Programmable Read-Only Memory) FLASH - bliskovni pomnilnik (Flash Memory) RAM - bralno/pisalni pomnilnik (Random Access Memory) RS232 - standard za serijsko komunikacijo med napravami (Recommended Standard
232) CAN - krmilniško področno vodilo (Controller Area Network)
Razvoj zunanjega prikazovalnika LED
1
1 UVOD
V diplomski nalogi je predstavljen razvoj prototipnega prikazovalnika iz svetlečih diod.
Diplomsko delo smo izdelali v podjetju Etra, d. o. o. v okviru razvojnega projekta.
Cilj izdelave reklamnega prikazovalnika LED je razvoj z zadovoljivo kvaliteto
prikazovanja. Prikazovalnik uporablja sistem indikacije prikaza s pomočjo rdečih led diod
s kapaciteto 4608, kjer je velikost aktivnega prikaza (120 cm v dolžino in 60 cm v višino).
Osnovna zasnova sestave prikazovalnika temelji z uporabo razvojne enote ETKM,
izdelave tiskanine, strojne konstrukcije ohišja, izdelave programske aplikacije v jeziku C
ter uporabniškim vmesnikom za vnos besedila. Pri uporabi prikazovalnika je možen vnos
besedila za prikaz s pomočjo terminala računalniške enote.
Diplomsko delo opisuje celotni potek, od idejne zasnove prikazovalnika do končnega
testiranja. Idejna zasnova temelji na izdelavi prikazovalnika s želenimi komponentami,
katere bodo iztočnica za razvoj in nadgrajevanje nadaljnjih prikazovalnikov. Naša želja je
predstaviti uporabniku prikazovalnik, kateri bo omogočal prijazno in zanesljivo uporabo.
Delo je razdeljeno na osem poglavij. V uvodnem poglavju bralca seznanimo s temo
diplomskega dela. V drugem poglavju predstavimo idejno zasnovo od izbire komponent do
testiranja na testnih vezjih z razvojno enoto ETKM V7. V tretjem poglavju predstavimo
električno shemo in načrtovanje tiskanine. Razvoj programske izvorne kode v jeziku C je
opisan v četrtem poglavju, kjer predstavimo izbrane dele programa. V petem poglavju
podrobno opišemo sestavljanje prikazovalnika po posameznih komponentah. Zunanje
ohišje prikazovalnika je iz aluminija velikosti 1320 mm x 720 mm x 200 mm (širina x
višina x globina). V šestem poglavju opišemo povezavo prikazovalnika s terminalom
računalniške enote. Podrobno je predstavljen protokol za komunikacijo po vodilu RS232,
ki je nadalje povezan na mrežno vodilo. V sedmem poglavju je opisano testiranje
prikazovalnika. V osmem poglavju so predstavljeni rezultati meritev. V sklepu
povzamemo opravljeno delo.
Razvoj zunanjega prikazovalnika LED
2
2 ZASNOVA PRIKAZOVALNIKA LED
Najprej smo naredili idejno zasnovo zunanjega prikazovalnika LED, ki bo omogočal
oddaljen dostop. Zaradi nadaljnje prodaje razvojnega prikazovalnika je potrebno uporabiti
komponente z minimalnimi stroški in želeno kvaliteto. Prikazovalnik bo namenjen
oglaševanju aktualnih oglaševalnih informacij. Sistem prikazovanja besedil bo deloval s
pomočjo visoko svetlečih rdečih diod. Uporabljena bo glavna razvojna enota ETKM V7
za krmiljenje. Prikazovalnik bo omogočal prikaz reklamnih sporočil za večnamenske
prodajne trgovine, ki bodo sporočala javnosti aktualne novice, cene izdelkov in trenutna
sporočila.
Sestavni deli slike 2.1 so:
• napajalnik za led diode izhodne napetosti 3,3 V,
• razvojna enota ETKM V7,
• tiskana vezja označena na sliki 2.1 od SD0 do SD17,
• močnostni vhodni del, ki predstavlja varovalni del in
• ojačevalnik signala, ki omogoča ojačitev digitalnih izhodnih signalov.
Slika 2.1: Prikazovalnik s komponentami
Razvoj zunanjega prikazovalnika LED
3
Izbira komponent prikazovalnika bo namenjena za robustno delovanje različnih zunanjih
vplivov. Izbrano krmiljenje prikazovalnika je razvojna enota, ki vsebuje 16-bitni PIC
mikrokrmilnik.
Razvoj prototipa se bo omejil na glavno krmilno enoto in njene posodobitve ter sistem
krmiljenja svetlečih diod s pomočjo pomikalnih registrov. Glede na velikost
prikazovalnika in veliko število posameznih komponent imata velik vpliv na uporabo
pravilna izbira in cena komponent.
Pri izbiri komponent se je izvedel povdarek na naslednjih komponentah, zaradi cene,
delovanja in velikega števila elementov.
Izbira naslednjih komponent:
• 4.608 led diod,
• 288 pomikalnih registrov,
• 4 napajalniki za led diode,
• 18 tiskanin velikosti 20 cm x 20 cm in
• konstrukcija prikazovalnika.
Izbirali smo med led diodo PTS630 s različnimi koti svetilnosti in pomikalne registre med
STP16CP05PTR in 74HC595. Želeni postopek dela bo izbira razvojne enote za krmiljenje
prikazovalnika s svetlečimi diodami, določitev ključnih komponent za načrtovanje
tiskanine in izbire močnostnih komponent. Sestavni deli konstrukcije prikazovalnika bodo
iz aluminjastega ohišja.
2.1 Razvojna enota
Razvojna enota je podjetja Etra, d. o. o. V začetni fazi testiranja prikazovalnika smo
uporabljali razvojno enoto z mikrokrmilnikom PIC 18F7822. Z dodajanjem posameznih
zahtevnih komponent, hitrejšega delovanja in shranjevanja smo izbrali zahtevnejšo
različico mikrokrmilnika dsPIC33FJ128GP708. Razvojna enota je načrtovana za široke
potrebe v industrijskih sistemih, saj omogoča enostavno posodabljanje tudi po nadgradnji
komponent na tiskanem vezju. Uporabili smo zmogljivejši mikrokrmilnik
dsPIC33FJ128GP708 proizvajalca Microchip, ki nam bo omogočal visoke potrebe po
Razvoj zunanjega prikazovalnika LED
4
hitrosti in shranjevanju. Razvojna enota je glavna enota prototipnega razvojnega
prikazovalnika.
Razvojna enota ETKM V7 vsebuje:
• 24 V enosmerno napajanje,
• mikrokrmilnik PIC dsPIC33FJ128GP708,
• 2 x komunikacijski vmesnik RS232,
• zaporedno periferno vodilo (SPI, Serial Peripheral Interface),
• zaporedno vodilo IC,( Inter-Integrated Circuit),
• konektor ICSP za ICD2,
• 24 vhodnih digitalnih priključkov,
• 16 izhodnih digitalnih priključkov,
• 3 analogne vhodne priključkov,
• 2 izhoda s pulzno-širinsko modulacijo PWM, (Pulse-Width Modulation) in
• števce.
Slika 2.2: Razvojna enota ETKM V7
Razvojna enota za krmiljenje vsebuje mikrokrmilnik serije dsPIC33 proizvajalca
Microchip [7]. Uporabljeno je DSP jedro za digitalne signalne procesorje s 16-bitnim
podatkovnim vodilom. Uporabljena centralna procesna enota zmore 40 MIPS. Uporablja se
Razvoj zunanjega prikazovalnika LED
5
enosmerna napetost 3 V in 3,6 V. Na mikrokrmilniku smo uporabili digitalne izhode,
komunikacijski vmesnik RS232 [5] in bliskovni pomnilnik za shranjevanje podatkov.
Tehnični podatki dsPIC33:
• 80-pinsko ohišje,
• 16-bitna arhitektura,
• hitrost procesorja 40 MIPS,
• 128 KB programskega bliskovnega pomnilnika (FLASH, Flash Memory),
• 16 KB podatkovnega delovnega pomnilnika (RAM, Random Access Memory),
• temperaturno delovanje -40 do 125 °C,
• napetostni nivo delovanja 3 do 3,6 V,
• 69 vhodno/izhodnih priključkov,
• notranja oscilatorja: 7,37 MHz, 32,768 MHz in
• devet 16-bitnih števcev in štirje 32-bitni števci.
• 2 x univerzalni asinhronski sprejemnik - oddajnik (UART, Universal Asynchronous
Receiver/Transmitter),
• 2 x SPI,
• 2 x I2C,
• priključni del za programiranje ICD2 in
• 2 x krmilniško področno vodilo (CAN, Controller Area Network).
2.2 Izdelava in testiranje testne 4 x 4 matrike led
Najprej smo se osredotočili na razvoj led matrike 4 x 4 za ustrezno razporeditev svetlečih
diod. Uporabili smo diode s štirimi nožicami za pravilno postavitev na tiskano vezje, kot je
prikazano na sliki 2.3. Za celotni prikazovalnik smo potrebovali 4608 svetlečih diod. Za
takšno število smo morali ustrezno razporediti razmik med diodami, da smo lahko
vključili še pomikalne registre in upore. Vzporedno sestavo testnega vezja smo pripravili
testni program za prikaz določenih znakov izbranih časovnih intervalih. Uporabili smo
visoko svetleče diode PTS630 - 70, ki svetijo pod kotom 70°. V primeru testiranja led
diod, ki svetijo pod kotom 90°, se je na oddaljenosti 30 m svetilnost izkazala kot
Razvoj zunanjega prikazovalnika LED
6
neustrezna zaradi nepravilnega odboja svetlobe. Bistvenega pomena je bil razmik med
diodami. Po končanem testiranju smo izbrali razmik med diodami v vseh smereh 5,5 mm.
Za sprednjo ploščo, ki bo nameščena pred svetlečimi diodami, smo uporabili rdeče akrilno
steklo debeline 5 mm.
Slika 2.3: Testno vezje led matrike 4 x 4
Na testnem vezju matrike 4 x 4 smo uporabili predupore za vsako svetlečo diodo.
Ugotovili smo, da bomo v tem primeru zasedli veliko prostora na tiskanini za ostale
komponente. Odločili smo se za 16-bitne pomikalne registre, ki že vsebujejo integrirane
predupore za posamezno svetlečo diodo, in prihranili pri prostoru tiskanine.
Svetleča dioda PTS630 na sliki 2.4 vsebuje štiri nožice za postavitev na tiskano vezje.
Rdeča svetleča dioda deluje na osnovi galijevega arzenida (GaAs) s svetlobnim spektrom
630 nm ter svetilnost 2100 mcd.
Slika 2.4: Led dioda PTS630 - 70
Razvoj zunanjega prikazovalnika LED
7
Pomikalni register se loči po načinu vnosa in branja podatkov. Podatke pišemo v register
ali iz njega beremo. Uporabita se lahko zaporedni ali vzporedni prenos podatkov. V
našem primeru bomo uporabili zaporedni prenos podatkov, kjer se posamezni biti podatka
zvrstijo eden za drugim po eni sami povezavi. Takšen primer imenujemo serial-in,
parallel-out, kot je prikazano na sliki 2.5.
Slika 2.5: Časovni diagram 16-bitnega pomikalnega registra
Za pravilno krmiljenje pomikalnega registra uporabimo štiri vhodne signale. Celoten
podatek na vhod registra SDI vnesemo naenkrat ob ciklu urinega signala. Izpis je
omogočen le, če je vhod LE (load enable) na visokem nivoju. V nasprotnem primeru se
izvede pomik podatka zgolj v registru. Za testni primer smo uporabili dva zaporedno
vezana 8-bitna pomikalna registra 74HC595 s ohišjem DIP. Za uporabo 4608 svetlečih
diod bomo potrebovali 288 pomikalnih 16-bitih registrov. Uporabili smo površinsko
namestitev elementov (SMD, Surface-Mounted Device) pomikalnih registrov
STP16CP05PTR [6]. Slika 2.6 prikazuje pomikalni register.
Slika 2.6: Pomikalni register STP16CP05PTR
Razvoj zunanjega prikazovalnika LED
8
Za krmiljenje testne matrike smo uporabili podatkovne signale iz pomikalnega registra. Za
testiranje 16-bitnega registra smo razvili testno tiskanino, kot je prikazano na sliki 2.7. S
tiskanino smo izvajali različne meritve porabe svetlečih diod, pomikalnih registrov in
celotnega vezja. Med drugim smo izvajali testiranje ustreznega vidnega polja znakov in
določitev jakosti svetilnosti na želeni razdalji. Napajanje vezja je 5 V konstantne napetosti.
Pomikalni register uporablja notranji regulator napetosti, ki omogoča ponavljanje
delovanja. Zaradi pomanjkanja prostora na celotni tiskanini smo iskali rešitev po
komponentah, ki so namenjene za krmiljenje svetlečih diod. Na sliki 2.7 je prikazanih 16
svetlečih diod in en pomikalni register.
Slika 2.7: Vezava matrike 4 x 4
Za pravilni prikaz znaka na tiskanem vezju smo določili želen potek povezave na tiskanini
med izhodi pomikalnega registra in svetlečih diod. Slika 2.8 predstavlja osnovni program
za krmiljenje 4 x 4 matrike 16-bitnega pomikalnega registra. Kot prikazuje slika 2.8, je iz
pomikalnega registra povezava do diod v naslednjem vrstnem redu: na sliki 2.8, v vrstici 6,
je primer kodiranje znaka z uporabo šestnajstiškega zapisa 0x9BBF.
Razvoj zunanjega prikazovalnika LED
9
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Slika 2.8: Testni program v jeziku C za led matriko 4x4
V tabeli 2.1 je prikazana pretvorba šestnajstiškega zapisa znaka E v binarni zapis, ki se
uporabi za krmiljenje zaslona. Slika 2.9 ponazarja zaporedje povezav na tiskanini od 1 do
16 in prikaz želenega znaka E. Tabela prikazuje zaporedje vnesenih bitov v pomikalni
register. Zaporedje svetlečih diod na tiskanem vezju je bilo potrebno upoštevati, saj so
posamezni biti potekali v zaporedju, v katerem je bil pomikalni register povezan.
Tabela 2.1: Primer pretvorbe šestnajstiškega v binarni zapis
Zaporedje bitov 15 8 7 0
BIN zapis (hex:9BBF) 1 0 0 1 1 0 1 1 1 0 1 1 1 1 1 1
Zaporedje led diod 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Slika 2.9 ponazarja matriko 4 x 4 svetlečih diod. Oranžno obarvani kvadrati predstavljajo
aktivne bite ali aktivne svetleče diode. Določitev aktivnih svetlečih diod je določena v
tabeli 2.1. Iz tabele je razviden 16-bitni zapis. S pomočjo tabele 2.1 je uporabljen primer
prikaza znaka E v bitni obliki. Na sliki 2.9 posamezni kvadrati določajo zaporedje, ki na
tiskanini predstavlja povezavo med pomikalnimi registri in svetlečimi diodami. Posamezni
kvadrati so med seboj povezani v želenem zaporedju. Prvi prispeli bit v pomikalnem
registru predstavlja zadnji bit v tiskanem vezju.
void main () output_low(OE); output_high(MR); while (1) long podatek2 = 0x9BBF; //E for (stevec = 0; stevec <16; stevec++) if (podatek2 & 0x01) //bit = 1, vnos bit –a data(); else clock(); podatek2 >> = 1; latch();
Razvoj zunanjega prikazovalnika LED
10
Slika 2.9: Zaporedje povezav led diod na tiskanini
Matrika 4 x 4 iz svetlečih diod predstavlja osnovno matriko za izdelavo celotne matrike 96
x 48. Celotna matrika prikazovalnika je v tem primeru sestavljena iz 288 matrik 4 x 4, ki
so med seboj povezane. Celotni prikazovalnik določamo kot eno celoto, vendar izhajamo
iz posameznih točk, ki jih med seboj pravilno definiramo po posameznih bitih. V končni
obliki prikazovalnika je potrebno določiti posamezen bit matrike 96 x 48. Slika 2.10
prikazuje praktični primer prikaza znaka E na led matriki 4 x 4.
Slika 2.10: Praktični primer prikaza znaka na led matriki 4 x 4
Uporaba znakov večjih matrik 16 x 16 je opisana v poglavju 4. Po testiranju smo določili
komponente, ki bodo sestavljale želeni prikazovalnik:
• razvojno enoto ETKM V7 s mikrokrmilnikom dsPIC33FJ128GP708,
• rdeča svetleča dioda: PTS630 – 70,
• 16-bitni pomikalni register STP16CP05PTR v SMD ohišju in
• rdeče akrilno steklo debeline 5 mm.
Razvoj zunanjega prikazovalnika LED
11
2.3 Meritve testne led matrike 4 x 4
Pri testiranju led matrike 4 x 4 smo izvajali različne meritve. Meritve so predstavljale
pomembno vlogo za pravilno določitev delovanja in odkrivajna možnih nepravilnosti. Pri
testiranju svetlečih diod s tokom 20 mA smo ugotovili preveliko svetilnost, zato smo
uporabili tok 10 mA. Pomikalni register potrebuje 2,5 mA za lastno delovanje krmiljenje
16 svetlečih diod. Celotni prikazovalnik potrebuje 288 pomikalnih registrov, kar znaša 720
mA. Na sliki 2.11 je prikazana meritev pomikalnega registra z osciloskopom za izhodno
napetost serijskega izhodnega signala iz pomikalnega registra (SDO, serial data out
terminal).
Slika 2.11: Izhodni signal SDO pomikalnega registra
Težavo smo imeli z različnimi napetostnimi nivoji posameznih komponent, ki smo jih
želeli prilagoditi na enak napetostni nivo. Uporabljali smo napetostne nivoje
mikrokrmilnika 3,3 V, svetlečih diod 3,3 V ter pomikalnih registrov 5 V. Opravili smo
predhodno testiranje in meritve, kako se odzivajo v skupnem delovanju. Hkrati smo izvedli
meritve delovanja 16-bitnega pomikalnega registra, tako da smo primerjali vhodno in
izhodno napetost na registru, ter zaznali nihanja napetosti na izhodu. Na sliki 2.12 smo
prikazali signale SDO in CLK, na sliki 2.13 pa signale SDO in OE pomikalnega registra.
Razvoj zunanjega prikazovalnika LED
12
Slika 2.12: Prikaz signala SDO in CLK Slika 2.13: Prikaz signala SDO in
pomikalnega registra OE pomikalnega registra
Izvedli smo meritve pri napajanju pomikalnega registra v povezavi s svetlečimi diodami
pri različnih napetostnih nivojih, kar prikazuje tabela 2.2. S testiranjem smo preverjali,
notranji generator pomikalnega registra, ki regulira izhodno napetost podatkovnega
signala. Merili smo rezultate napetostnih izhodov pomikalnega registra z uporabo ene,
dveh in treh svetlečih diod s posameznimi signali. Tabela 2.2 prikazuje posamezne izhodne
signale pomikalnega registra, povezanega na posamezno diodo.
Tabela 2.2: Prikaz izhodne napetosti pomikalnega registra za posamezno diodo
Ena led dioda Dve led diodi Tri led diode
IvH [mA] Vdd [V] Uizh [V] IvH [mA] Vdd [V] Uizh [V] IvH [mA] Vdd [V] Uizh [V]
10 4.5 3.8 20 4.5 2.9 30 4.5 2.9
10 4 3.55 20 4 2.9 30 4 2.9
10 3.5 3.41 20 3.5 2.9 30 3.5 2.9
10 3 2.8 20 3 2.9 30 3 2.9
10 2.5 1.95 20 2.5 1.85 30 2.5 1.85
10 2 1.95 20 2 1.85 30 2 1.85
Za napajanje pomikalnih registrov in razvojne enote smo izvedli samostojno napajalno
enoto, ki pretvarja nivo izmenične napetosti 230 V na enosmerno napetost 3,3 V.
Razvoj zunanjega prikazovalnika LED
13
Slika 2.14: Napajalni pretvornik 230 V /3,3 V
Med izvajanjem meritev smo ugotovili, da napetost na izhodnih priključkih pomikalnih
registrov niha. Povzročanje nihanja napetosti na izhodnih signalih je nastalo zaradi daljših
povezav med digitalnimi izhodi krmilne enote in pomikalnih registrov. Motnje oziroma
nihanje nivoja napetosti so se kazale na prikazovalniku v obliki nekontroliranega utripanja
svetlečih diod, kot prikazuje slika 2.15.
Slika 2.15: Prisotnost motenj med testiranjem
Na sliki 2.16 je prikazana meritev opazovanja signalov SDI in SDO z osciloskopom.
Prikazani so oslabljeni signali, kar je kot posledico povzročalo motnje med delovanjem.
Razvoj zunanjega prikazovalnika LED
14
Slika 2.16: Motnje na izhodnih signalih krmilnika
Vezje za okrepitev signala je sestavljeno iz logičnih vrat in uporablja samostojno
napajanje 3,3 V. Okrepljeno vezje je sestavljeno iz logičnih vrat IN z integriranim vezjem
74HC08, kot je prikazano na sliki 2.17. Za stabilni napetostni nivo signala je logično vezje
povezano med krmilno enoto in pomikalnimi registri. Za celotni prikazovalnik smo
uporabljali štiri logična vezja. Nihanje smo odpravili z logičnih registrov IN, kot je
prikazano na sliki 2.17.
Slika 2.17: Logično vezje za stabilni napetostni nivo 3,3 V
Razvoj zunanjega prikazovalnika LED
15
Dodatno izvedeno logično vezje smo vgradili v sistem celotnega prikazovalnika. Na sliki
2.18 je prikazan ojačan signal s pomočjo logičnega vezja.
Slika 2.18: Ojačani signali z logičnimi registri
Od omogočitvenega signala na krmilni enoti se pošlje 4608 bitov na pomikalne registre. Slika 2.19 prikazuje ojačan signal SDO v trenutku prenosa bitov v pomikalne registre.
Slika 2.19: Ojačani signali SDO
V drugem poglavju smo opisali od idejne zasnove prikazovalnika do želene izbire vključenih komponent. Ugotovili smo, da je bistvenega pomena določitev komponent za nadaljnje nadgrajevanje in delovanje sistema. V tretjem poglavju sledi načrtovanje tiskanine na podlagi testiranj in izbranih komponent.
Razvoj zunanjega prikazovalnika LED
16
3 NAČRTOVANJE TISKANINE
3.1 Izbira ustreznih elektronskih komponent tiskanine
Kot orodje za načrtovanje električne vezave in tiskanin smo uporabili demo Protel.
Program smo uporabili za načrtovanje do končnega izdelka tiskanin z vmesnim
preverjanjem pravilnosti vezave za ustvarjanje tiskanine v velikosti 200 x 200 mm.
Načrtovana tiskanina vsebuje 256 svetlečih diod, 16 pomikalnih registrov, napajalne in
signalne priključke. Pri načrtovanju je bilo potrebno določiti zaporedje povezav svetlečih
diod in pomikalnih registrov. Celotni prikazovalnik bo sestavljal osemnajst modulov
velikosti 200 x 200 mm.
3.2 Načrtovanje led matrike 16 x 16
Pri načrtovanju električne sheme smo naredili vezalno shemo enega modula. Komponente
modula 16 x 16:
• 256 kosov svetlečih diod in
• 16 kosov 16-bitnih pomikalnih registrov.
Na sliki 3.1 je predstavljen del enega sklopa načrtovane električne sheme led matrike 16 x
16 z enim pomikalnim registrom. Pri načrtovanju smo uporabljali dvoslojno ploščo.
Zgornja stran tiskanine se uporabi za namestitev 256 svetlečih diod, spodnja stran tiskanine
pa za 16 pomikalnih registrov, priključkov za podatkovne signale in upore. Pri
načrtovanju in postavitvi diod ter pomikalnih registrov smo izvedli postavitev v naprej
določenem zaporedju. Določili smo horizontalno in vertikalno zaporedje povezav med
diodami za pripravo pri programiranju. Krmilni signali 16 pomikalnih registrov LE, OE,
CLK se prožijo istočasno.
Razvoj zunanjega prikazovalnika LED
17
Slika 3.1: Del elektrosheme matrike 16 x 16
Svetleče diode vsebujejo štiri nožice, dve anodi in dve katodi. V tem primeru smo
odstranili eno nožico na vsaki diodi v bližini pomikalnega registra in sprostili prostor za
povezovalne linije na tiskanini.
En modul ali matrika 16 x 16 vsebuje 16 pomikalnih registrov, kar znaša 256 bitov.
Celotni modul matrike 16 x 16 predstavlja 256-bitni pomikalni register. Celotni
prikazovalnik je sestavljen iz 18 modulov 16 x 16.
Na sliki 3.2 je prikazan del matrike 16 x 16 z enim pomikalnim registrom in 16
diodami na tiskanini. Ponovno zaradi optimizacije prostora smo na svetlečih diodah
odstranili nožice A6, A7, A10 in A11. Napajalne linije diod so debeline 1 mm, medtem ko
so ostale povezave 0,3 mm. Diode so povezane v vrstnem redu od A1 do A16.
Razvoj zunanjega prikazovalnika LED
18
Slika 3.2: PCB sklop z enim Slika 3.3: Celotna slika PCB matrike 16x16
pomikalnim registrom
Sliki 3.4 in 3.5 prikazujeta spodnjo in zgornjo stran tiskanine v končni izvedbi. Na testni tiskanini smo opravljali meritve porabe toka in segrevanja pri polni obremenitvi. Modul 16 x 16 vsebuje tri 3,3 V priključke za napajanje, podatkovne signale in negativni potencial. Tiskanina vsebuje šest utorov za pritrditev na nosilno konstrukcijo celotnega prikazovalnika. Razmik med diodami znaša 5,5 mm. Na modulu so svetleče diode razvrščene v vertikalni in horizontalni smeri po 16 diod. Pri načrtovanju in določanju lokacij komponent na tiskanini smo si prizadevali za enakomerno razporeditev in kratke povezave med komponentami. S kratkimi povezavami smo dosegli predvsem najbolj ustrezne poti povezave med komponentami. Za določitev lastnosti povezovalnih napajalnih linij na tiskanini smo izračunali tok in iz predhodnih meritev določili pravilno vrednost celotne tokovne obremenitve tiskanine in porabe posameznih komponent. Na osnovi tokovne porabe posameznega modula, smo določili debelino napajalnih povezav in vmesnih povezav do posameznih komponent.
Slika 3.4: Prikaz zgornje površine Slika 3.5: Prikaz spodnje površine tiskanine matrike 16 x 16 tiskanine matrike 16 x 16
Razvoj zunanjega prikazovalnika LED
19
Slika 3.6 prikazuje zaključeno matriko 16 x 16. Velikost matrike znaša 200 x 200 mm.
Priključitev napajanja in podatkovnega signala je v sredini tiskanine na letvice. Za sestavo
celotnega prikazovalnika smo izdelali 18 enakih matrik 16 x 16, kot prikazuje slika 3.6.
Slika 3.6: Končni izdelek matrike 16 x 16
Preverili smo pravilnost jedkanja komponent na tiskanem vezju, ter odpravili morebitne
nepravilnosti. Med drugim smo preverjali porabo in segrevanje komponent. Za matriko 16
x 16 smo v testni izvedbi uporabili napajalno napetost 5 V. V tem primeru je 256 svetlečih
diod potrebovalo 3,3 A, kar je za posamezno diodo znašalo 13 mA.
Slika 3.7: Testiranje led matrike 16 x 16
Razvoj zunanjega prikazovalnika LED
20
4 PROGRAMSKA OPREMA
Za izdelavo aplikacije ali programa smo uporabili demo prevajalnik CCS. Pred začetkom
pisanja programske kode je bilo potrebno spoznati mikrokrmilnik in delo z njim. Za zapis
programa v mikrokrmilnik smo uporabili programator MPLAB ICD2. Pri izdelovanju
programske aplikacije je bilo potrebno upoštevati povezave med komponentami na
tiskanini, saj je bilo le tako mogoče pravilno izdelati algoritem za vnos bitov. Celotno
tiskano vezje prikazovalnika vsebuje 18 modulov z 288 zaporedno vezanimi 16-bitnimi
pomikalnimi registri.
Slika 4.1 prikazuje zasnovo programiranja cele plošče. Podatkovni signali pomikalnih
registrov SDI in SDO so med seboj vezani zaporedno. Za lažjo izdelavo programske
aplikacije je plošča razdeljena na 16 celic. Vsaka celica predstavlja en pomikalni register
za polje posamezne celice svetlečih diod.
Slika 4.1: Določitev bitov na matriki 16 x 16
Prikazovalnik vključuje 18 modulov s 16 celicami z uporabo pomikalnih registrov. Za
nadzor vseh diod potrebujemo algoritem za krmiljenje 4608-bitnega registra.
Razvoj zunanjega prikazovalnika LED
21
Sestavne komponente celotnega prikazovalnika:
• razvojna enota ETKM V7,
• 18 modulov ali matrik 16 x 16,
• 4608 rdečih svetlečih diod,
• 288 pomikalnih registrov in
• 288 SMD uporov 1 kΩ.
Slika 4.2 prikazuje osemnajst modulov, ki sestavljajo celotni prikazovalnik. Moduli so
med seboj identični. Modul 0 predstavlja matriko 16 x 16.
V programskem delu je vključeno 4608 bitov, ki predstavljajo svetlečo diodo. Celotni del
prikazovalnika sestavlja matrika v višino 48 svetlečih diod in v širino 96 svetlečih diod,
kjer skupna velikost aktivnega prikaza znaša v višino 60 cm in širino 120 cm.
Slika 4.2: Celotni prikazovalnik, sestavljen iz modulov matrik 16 x 16
Razvoj zunanjega prikazovalnika LED
22
4.1 Opis razvoja programske opreme
Razvijanje programa se je začelo pri sestavi modulov in s testiranimi posameznimi
komponentami. Vseh 18 matrik 16 x 16 je med seboj identičnih. Ob prikazu vsebine je
potrebno krmiliti vsako diodo posebej, zato smo posamezne bite razvrstili v matrike. Prvi
korak razvijanja programa je testiranje in prikaz želenih znakov. Za dopolnitev
samostojnega delovanja prikazovalnika smo dodali komponenti za določanje trenutnega
časa in tipalo za merjenje zunanje temperature, kar je koristno z vidika testnega algoritma
za prikaz besedila.
Diagram poteka na sliki 4.3 predstavlja opis delovanja programa. Program se uporablja v
zanki, če v vseh poljih ni znakov za izpis besedila. Program je zasnovan tako, da bere tri
polja znakov pri različnih časovnih terminih. V primeru, da vnesemo znake samo v eno
polje, prikazuje besedilo na prikazovalniku 24 ur. Preko komunikacijskega terminala se
vnaša besedilo po mrežni komunikaciji v bliskovni pomnilnik mikrokrmilnika. Med
sprejemom besedila programska koda omogoča zajem znakov v posameznih intervalih.
Znaki se zapišejo v pomožna pomnilna polja, saj tako omogočajo neprekinjeni sprejem
znakov. Ko imamo polja zasedena, preverimo trenutni čas, na podlagi katerega se izbere
časovni termin, ki vsebuje izbrano polje znakov. Programska koda vsebuje tri polja za
predvajanje želenega besedila ob določenem časovnem terminu. Predvideni termini so
razdeljeni na dopoldanski, popoldanski in večerni čas. Vnešen časovni termin preko
terminala določa časovno, kdaj se bo besedilo predvajalo za pomnilno polje besedila.
Termini predvajanja se nastavljajo do minute natančno. V naslednjem koraku sledi
določitev začetne pozicije prikazovanja besedila na matriki bitov 96 x 48. Ko imamo
začetno točko določeno, je potrebno poiskati bit določenega znaka ali črke. Iz polja znakov
preberemo zaporedni znak, ga pretvorimo in definiramo v knjižnici znakov. Ko najdemo v
knjižnici želen znak, ga zapišemo v glavno matriko. Ko se besedilo znakov iz polja
zaključi, se na koncu začneta izpisovati temperatura in trenutni čas. Prikazovalnik
omogoča neodvisen prikaz besedila med zgornjo in spodnjo vrstico prikaza. Ves postopek
se nato ponovi za določen časovni termin.
Program celotnega prikazovalnika se izvaja tako, da v prvem ciklu pošlje posamezen bit za
vsak modul v začetno pozicijo. Vsak bit je poslan za posamezni modul s posameznim
Razvoj zunanjega prikazovalnika LED
23
izhodnim signalom SDO. V 256 ciklih se zapolni celotna bitna slika prikazovalnika z 18
moduli. Program je izdelan tako, da v vseh 256 ciklih polni pomikalne registre. Ko pride
do 256. cikla, omogoči na vseh 288 pomikalnih registrih signal LE, kjer se signali iz
pomikalnih registrov prenesejo na diode.
Slika 4.3: Osnovna rutina delovanja programa za prikazovalnik
Na sliki 4.4 je prikazana zanka, v kateri se določa pozicija posameznega bita na matriki
48 x 96. Za določanje pozicij v matriki si pomagamo s sliko 4.2, ki prikazuje koordinate.
Razvoj zunanjega prikazovalnika LED
24
Na sliki 4.4 predstavljata vrstici 8 in 9 pozicije po x osi in y osi. S pomočjo teh vrstic
dobimo točko za določanje bita v matriki.
Začetni poziciji algoritma sta npr:
X = 95 – 0 – 0, Y= 47 – 0 – 0.
Koordinate matrike začnemo uporabljati na spodnji strani matrike. V tretji vrstici slike 4.4
programa se tako odšteva spremenljivka za 16 in ko pride s 95 na 15, se znova nastavi na
vrednost 111, kot je prikazano v vrstici 17. Zanka v enem ciklu vnese en bit v 18
modulov. V vrstici 10 določi funkcija vrednost bita v matriki, ki je lahko 1 ali 0.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Slika 4.4: Algoritem za določitev bitov celotnega prikazovalnika
Slika 4.5 opisuje funkcijo za iskanje vrednosti bita iz matrike 48 x 96. V funkciji imamo
ločeno iskanje do vrednosti 24 in nad 25 do 48. S pogoji tako definiramo spodnjo in
zgornjo polovico prikazovalnika po y osi. Razdelitvi bitov bi se izognili, če bi imeli 64-
bitne vrednosti spremenljivk. V tem primeru bi celotno y os matrike z 48 biti zajeli v 64-
bitni spremenljivki. Sedaj smo ju ločili na dve 32-bitni spremenljivki, s katerima smo brali
while (modul <= 17) xn -= 16; ide++; //algoritem za izračun pozicije v matriki 48 x 96 horizontala = xn - x2n- x3n; vertikala = yn - y2n- y3n; save = beri_matrika32(vertikala, horizontala); //postavitev izhodnega signala SD0, za izbran bit IzpisPIN(save, modul); if ((xn == 15)&& (yn == 15)) yn = 63; if (xn == 15) xn = 111; yn -=16; modul++;
Razvoj zunanjega prikazovalnika LED
25
samo 24-bitov. Ostali biti med 24 in 32 se ne uporabljajo. V funkciji beri_matrika32
beremo bite s polja matrika32 v vrstici 6 in 9.
1 2 3 4 5 6 7 8 9 10 11 12
Slika 4.5: Branje bitov s polja
V vrstici 1 in 4 slike 4.6 uporabimo funkciji za določitev znaka iz knjižnice znakov.
Knjižnica vsebuje bazo alfanumeričnih znakov polja, označena z1. Izbrani znaki, ki so
sestavljeni iz bitov, se tako prenesejo v polje matrika 32. Polje z1 vsebuje 32-bitno
vrednost, ki predstavlja eno od enajstih polj posameznega znaka. Zapis binarnega števila v
polje z1 iz knjižnice je bilo potrebno določiti v pravilnem vrstnem redu, saj je v
nasprotnem primeru prikazovanje znakov v zrcalni obliki. .
Funkciji FRONT_V(IskanjeZnaka) in FRONT_V(IskanjeZnakaSP) omogočata branje
znakov iz knjižnice za zgornjo in spodnjo vrstico prikazovalnika. Obe vrstici vsebujeta
svoje pomnilno polje in sta ločeni med seboj. Spremenjivki IskanjeZnaka in
IskanjeZnakaSP predstavljata alfanumerični znak iz knjižnice. V primeru iskanja znaka, ki
ga knjižnica ne vsebuje, se zapolni prazno polje in izpiše na komunikacijski terminal
opozorilo.
1 2 3 4 5
Slika 4.6: Branje bitov iz knjižnice znakov
int1 beri_matrika32(int8 vert, int8 horiz) int1 retv1=0; if (vert < 24) //vnos pozicije za spodnjo polovico prikazovalnika retv1 = bit_test(matrika32[0][horiz ],vert); else //vnos za zgornjo polovico prikazovalnika retv1 = bit_test(matrika32[1][horiz], vert - 24); return (retv1);
FONT_V(IskanjeZnaka); matrika32[0][95] = z1[stevecBUF]; FONT_V(IskanjeZnakaSP); matrika32[1][95] = z1[stevecBUF];
Razvoj zunanjega prikazovalnika LED
26
Slika 4.7 prikazuje del knjižnice znakov, ki so kodirani v šestnajstiškem številu. Vsak znak
je sestavljen iz 11 polj z1. Vsako polje je tako razdeljeno na 11 stolpcev enega znaka. V
poglavju 4.2 bomo spoznali, kako se znak pretvori iz binarnega v šestnajstiško število.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Slika 4.7: Knjižnica kodiranih znakov za prikaz na prikazovalniku
Za pomikanje stolpcev na prikazovalniku uporabimo pomikanje celotnih stolpcev z leve
proti desni.
Ko vrednost števca doseže 256 cikel se izvede pomik stolpca v levo. Ob tem pogoju se
pojavi izpis signalnih podatkov na prikazovalnik in se izvede pomik celotnega stolpca v
levo. Funkcija latch(), slika 4.8 vrstica 2, izvede prenos podatkov iz pomnilnika v 16-bitne
registre. S pomočjo funkcije shift() omogočimo pomik stolpcev v levo. Ta funkcija je
predstavljena na sliki 4.8.
void FONT_V (char znak) int8 _zt; for (_zt = 0; _zt <=11; _zt++) z1[_zt] = 0; switch (znak) case 'A' : z1[0] = 0x00000000, z1[1] = 0x00000000, z1[2] = 0x000FF000, z1[3] = 0x0007FE00, z1[4] = 0x00018FC0, z1[5] = 0x000181F0, z1[6] = 0x00018030, z1[7] = 0x000181F0, z1[8] = 0x00018FC0, z1[9] = 0x0007FE00, z1[10]= 0x000FF000; break; case 'B' : z1[0] = 0x00000000, z1[1] = 0x0007FFF0, z1[2] = 0x0007FFF0, z1[3] = 0x000C0C30, z1[4] = 0x000C0C30, z1[5] = 0x000C0C30, z1[6] = 0x000C0E70, z1[7] = 0x00061BE0, z1[8] = 0x0007F1C0, z1[9] = 0x0001C000, z1[10] = 0x00000000; break; case 'C' : z1[0] = 0x00000000, z1[1] = 0x00000000; z1[2] = 0x0000FE00; z1[3] = 0x0003FF80; z1[4] = 0x000781E0; z1[5] = 0x00060060; z1[6] = 0x000E0070; z1[7] = 0x000C0030; z1[8] = 0x000C0030; z1[9] = 0x000E0070; z1[10]= 0x000700E0; break;
Razvoj zunanjega prikazovalnika LED
27
1 2 3
Slika 4.8: Pogojna zanka za zapolnitev matrike 48 x 96 z biti
Za pomikanje v levo imamo ločeni polji za zgornji in spodnji del prikazovalnika. Pogoj, da
se pomikanje izvede, je, da ni v polju zapisanih znakov & in $, ki v programu določata
ločitev znakov od prikaza datuma in temperature. Na sliki 4.9 vrstice 3 in 4, se uporabi
pomik stolpcev z desne proti levi, stolpec za stolpcem, skupno 96 pomikov.
1 2 3 4 5 6 7 8 9 10
Slika 4.9: Algoritem pomikanja led stolpcev na prikazovalniku
Celotno besedilo za prikazovanje se vnese v bliskovni pomnilnik. Branje znakov iz
pomnilnika se avtomatsko izvede ob ponovnem vklopu. Za preverjanje statusa pomnilnika
uporabljamo ukaz preko terminala, ki omogoča celotno branje vsebine pomnilnika ali
celotnega izpisa besedil. Pisanje sprejetih podatkov s terminala se shranjuje v dve polji.
Mikrokrmilnik ne vsebuje EEPROM-a, zato smo uporabili bliskovni pomnilnik, saj nam bi
ob izpadu napajalnega omrežja izbrisalo vrednosti. Slika 4.10 prikazuje prenos znakov
polja sprejetega iz terminala v začasno polje. Polje znakov znak predstavlja glavno polje
zajema podatkov s terminala. Polji znakov znak in znakSP sta uporabljeni za shranjevanje
znakov za spodnji in zgornji del prikazovanja vrstic na prikazovalniku.
if (cikel == 256) latch(); shift();
for (levoShift = 1; levoShift <=95; levoShift ++) if (IskanjeZnaka != '$') mat_tmp = matrika32[0][levoShift]; matrika32[0][levoShift-1] = mat_tmp; if (IskanjeZnakaSP != '&') mat_tmp = matrika32[1][levoShift]; matrika32[1][levoShift-1] = mat_tmp;
Razvoj zunanjega prikazovalnika LED
28
1 2 3
Slika 4.10: Shranjevanje znakov s terminala v trenutno polje
Slika 4.11 prikazuje vnos znakov v bliskovni pomnilnik. V vrstici 5 in 6 so uporabljene
spremenljivke FLSH_ADR_ZG in FLASH_ADR_SP za določitev začetne lokacije
shranjevanja v registru pomnilnika, ki so definirane od naslova 2000 dalje.
1 2 3 4 5 6
Slika 4.11: Shranjevanje znakov v bliskovni pomnilnik
4.2 Priprava knjižnice alfanumeri čnih znakov
Besedilo na prikazovalniku se prikazuje v dveh vrsticah, kot je prikazano na sliki 4.12. Ker
je prikazovalnik prototip in ni bilo mogoče dobiti že ustvarjene knjižnice znakov, smo
knjižnico znakov ustvarili posebej za ta prikazovalnik. Posamezno črko je potrebno
prikazati v dveh vrsticah, znak za zgornjo in spodnjo vrstico pa je treba razdeliti
enakomerno. Pri izdelavi znakov smo morali biti pozorni na pravilno postavitev znakov, na
simetrijo, razmik in vidno polje na večji oddaljenosti od prikazovalnika. Izbrali smo obliko
pisave, ki je najbolj sorodna pisavi Times New Roman. Pri ustvarjanju znakov je bilo
potrebno paziti na šumnike, saj so znaki na večji razdaliji bili na pogled nepravilni,
medtem, ko na manjši razdaliji pravilni. Med izdelovanjem znakov smo težili k enostavnim
oblikam znaka in vidnim oblikam med znaki.
Pri izdelavi znakov je bilo potrebno paziti na:
• velikost (višino in širino znaka),
• razmik med znakoma,
//kopiranje podatkov v vmesno polje if (zg_sp == 0) tbuff[j] = znak[i]; if (zg_sp == 1) tbuff[j] = znakSP[i];
//pisanje ure v flash if (zg_sp == 0) buffCAS[0] = CASA; write_program_memory (FLAH_ADR_URA,
buffCAS, 4); //prenos znakov v flash na določene lokacije glede na izbrano vrstico if (zg_sp == 0) write_program_memory (FLASH_ADR_ZG, tbuff, j); if (zg_sp == 1) write_program_memory (FLASH_ADR_SP, tbuff, j);
Razvoj zunanjega prikazovalnika LED
29
• enakomerno razporeditev med malimi in velikimi črkami, šumniki, številkami,
simboli in
• vidno praznino na robovih prikazovalnika.
Slika 4.12: Primer priprave knjižnice znakov za prikazovalnik
Izdelovanje knjižnice je potekalo s sprotnim izrisom v prirejeni tabeli. Določili smo tabelo
v obliki prikazovalnika s pravilno razvrščenimi razmiki znakov.
Pri izdelavi znakov je bilo potrebno paziti na branje šestnajstiškega števila. Branje
znaka v programu smo lahko uporabili na dva načina, in sicer 0xF01C0400 ali
0x00041CF0. Obe števili predstavljata želen znak, vendar slednja predstavlja zrcaljeno
obliko. Vse skupaj je izdelanih 103 znakov z enakim načinom izdelovanja, kot je
prikazano na sliki 4.13.
V programskem jeziku so znaki, ki so prikazani na sliki 4.13, obdelani v šestnajstiški
obliki in so vnešeni v polje z1. En znak je sestavljen iz 11 polj z1, iz 32-bitnih
spremenljivk. V celoti znak predstavlja matriko 24 x 11.
Slika 4.13: Primer ustvarjanja znakov za prikazovalnik
Razvoj zunanjega prikazovalnika LED
30
Slika 4.14 prikazuje znake, kodirane z uporabo šestnajstiškega zapisa. Polje z1[0]…z1[10]
predstavlja 32-bitne stolpce, iz katerih preberemo v funkciji zaporedje bitnih števil 1 ali 0.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Slika 4.14: Knjižnica znakov v šestnajstiški obliki
4.3 Optimizacija delovanja
Izvorna koda je v trenutku testiranja in posodabljanja vsebovala statične alfanumerične
znake v pomnilniku, ki so se na prikazovalniku prikazovali vedno enako. Ker naložitev
besedila za prikazovanje brez oddaljenega dostopa ni koristno, smo izvedli algoritem za
sprejemanje in pošiljanje znakov preko vodila RS232. Hitrost prenosa podatkov je bila
56.700 baud/s. Vodilo RS232 nam je na razpolago na razvojni enoti, vendar smo med
krmilno enoto in računalnikom vgradili integrirano vezje XPORT [8]. Na sliki 4.15 je
prikazana naprava XPORT, ki je samostojna enota in pretvarja iz serijske komunikacije na
UDP ali TCP/IP protokol. Konfiguracija modula poteka preko internetnega brskalnika.
Tako smo se odločili zaradi omejitev prenosa podatkov, dolžine prenosa in dostopnosti.
case 'š' :z1[0] = 0x00000000; z1[1] = 0x000F3C20; z1[2] = 0x00067660; z1[3] = 0x000C62C0; z1[4] = 0x0008C2C0; z1[5] = 0x0005CC60; z1[6] = 0x00039E20; z1[7] = 0x00000000; z1[8] = 0x00000000; z1[9] = 0x00000000; z1[10]= 0x00000000; break; case 'Š' :z1[0] = 0x00000000; z1[1] = 0x001F01C1; z1[2] = 0x000603E3; z1[3] = 0x00040636; z1[4] = 0x00080C14; z1[5] = 0x00081814; z1[6] = 0x00083826; z1[7] = 0x000C7063; z1[8] = 0x0007E1F1; z1[9] = 0x0003C000; z1[10]= 0x00000000; break; case '8': z1[0] = 0x00000000; z1[1] = 0x000381C0; z1[2] = 0x0007E3E0; //11 z1[3] = 0x000C3730; z1[4] = 0x00081C10; z1[5] = 0x00081810; z1[6] = 0x00083C10 ;z1[7] = 0x000C7630; z1[8] = 0x0007E3E0; z1[9] = 0x0003C1C0; z1[10]= 0x00000000; break; case '@':z1[0] = 0x0001FF00; z1[1] = 0x000300C0; z1[2] = 0x00047C60; //11 z1[3] = 0x00048330; z1[4] = 0x00084190; z1[5] = 0x0008F090; z1[6] = 0x0004FF90; z1[7] = 0x00048090; z1[8] = 0x00024020; z1[9] = 0x00011840; z1[10]= 0x00018780; break;
Razvoj zunanjega prikazovalnika LED
31
Slika 4.15: Xport modul
Izvorna koda prikazovalnika vsebuje tri časovne termine prikazovanja različnega
besedila, zato potrebuje tri rezervirana polja za shranjevanje prenesenih podatkov iz
računalnika. Za naložitev podatkov so trije termini, ki se jim lahko ura predvajanja
dinamično spremeni.
Termini z rezerviranim prostorom polja znakov:
1. termin: npr: 8.00 h – 13.00 h : Zgornja + spodnja vrstica prikazovalnika 4000 znakov.
2. termin: npr: 13.00 h – 20.00 h: Zgornja + spodnja vrstica prikazovalnika 4000 znakov.
3. termin: npr: 20.00 h – 8.00 h: Zgornja + spodnja vrstica prikazovalnika 4000 znakov.
Za komuniciranje med razvojno enoto ETKM in terminalom smo določili protokol med
napravama. Za prenos podatkov smo uporabili osnovni protokol za zajem najosnovnejših
podatkov.jZa prenos podatkov je zasnovan protokol, ki je sestavljen iz okvira začetnih
parametrov in besedila. Sestavni deli protokola:
• < začetni okvir podatka,
• 1 naslov zaporednega prikazovalnika,
• m leteče besedilo (definira vsebino podatka),
• A časovni termin (A prvi, B drugi, C tretji termin),
• Besedilo 1 vsebina besedila za zgornji del prikazovalnika,
• # loči vsebino besedila med zgornjo in spodnjo vrstico,
• Besedilo 2 vsebina besedila za spodnji del prikazovalnika in
• > zaključek okvirja.
Primer protokola prenosa podatkov: <1mABesedilo1#Besedilo2>.
Na sliki 4.16 je prikazano pravilno branje sprejetih podatkov s terminala. Branje podatkov
se začne s začetnim zankom v vrstici 4, nato se bere naslov prikazovalnika v vrstici 7,
Razvoj zunanjega prikazovalnika LED
32
namen prikazovanega besedila in določanje prikazanega besedila v zgornji in spodnji
vrstici. V primeru, da začetni okvir podatka ni zaznan se ostali podatki ne pišejo v polje.
1 2 3 4 5 6 7 8 9 10 11 12 13
Slika 4.16: Preverjanje sprejetih bitov s terminala
Slika 4.17 prikazuje izbiro časovnega termina za prikazovanje besedila. Prikazan je primer
začetnega časovnega termina prikazovanja besedila na prikazovalniku. V vrstici 3 se izbere
časovni termin A, ki je bil določen v okvirju podatka. V vrstici 4 se izvaja prenos sprejetih
znakov v polje. Nalaganje znakov v polje se izvaja ločeno za zgornjo in spodnjo vrstico
prikazovalnika.
1 2 3 4 5 6 7 8
Slika 4.17: Prenos znakov s terminala v razvojno enoto
Za komunikacijo med prikazovalnikom in razvojno enoto je uporabljeno vodilo RS232. Za
prenos podatkov se uporablja komunikacijski terminal Hercules. Zaradi omejene hitrosti
prenosa podatkov po vodilu so se podatki časovno sprejemali in shranjevali v krmilno
enoto s terminala. Za prenos podatkov s terminala smo uporabili hitrost 57600 baud/s. V
programski kodi smo uporabili krožni proces shranjevanja podatkov, ker je v primeru
sbi = getc(); if ((!gate) if(sbi == ZACETEK_TEL) _ startFRAME = 1; return (0); if(_startFRAME && sbi == MOJ_NASLOV) _startADRESS = 1; _startFRAME = 0; return (0); if(_startADRESS && sbi == KONEC_TEL) _startADRESS = 0; _endFRAME = 0; gate = 1; return (0);
if (!izbiraMENI) meni = sbi; return (0); switch (meni) case 'A': if ((sbi != '#') && (not ==1)) stetje++; znak[stetje] = sbi; if (stetje == 2000) stetje = 0; return (0); else if (_startADRESS) not = 0; stetjeSP++; znakSP[stetjeSP] = sbi; if (stetjeSP == 2000) stetjeSP =0; return(0); break;
Razvoj zunanjega prikazovalnika LED
33
velikega števila prenesenih podatkov na komunikacijski kanal mikrokrmilnika prišlo do
napake ali blokade zajemanja podatkov.
Slika 4.18: Komunikacija med enotami
Testiranje pravilnosti zapisovanja in izvajanja programa smo preverjali s terminalom. Na terminal smo pošiljali začasne vrednosti v časovnih intervalih, ki so imele tudi vlogo števca.
Slika 4.19: Posnetek bitov z osciloskopom vodila RS232
Naslednji primer prikazuje, kako smo preverjali pravilnost števca za določanje modula od
0 do 17 na sliki 4.20. Števec modul je določal zaporedno število posameznega modula.
Zaporedje posameznih točk iz programskega dela matrike je določalo zapis bitov v
izhodno polje. Programski števec je štel od 0 do 17, brez vmesnih vrednosti. V
programskem jeziku je zgled primera naveden v vrstici 15 s slike 4.20.
Razvoj zunanjega prikazovalnika LED
34
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Slika 4.20: Preverjanje pravilnosti delovanja s pomočjo terminala
Primer preverjanja podatkov je prikazan na sliki 4.21. Rezultati preverjanja so pravilni v
primeru, da je na koncu bila vrednost cikel1 enaka 255.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Slika 4.21: Izpis števca modulov na terminal
printf("cikel -> %u\n\r", cikel); while(modul <= 17) xn -= 16; ide++; horizontala = xn - x2n- x3n; vertikala = yn - y2n- y3n; save = beri_matrika32(vertikala, horizontala); //postavitev izhodnega signala SD0, za izbran bit IzpisPIN(save, modul); if ((xn == 15)&& (yn == 15)) yn = 63; if (xn == 15) xn = 111; yn -=16; modul++; printf("modul %u\n\r", modul);
cikel -> 52 modul 0 modul 1 modul 2 modul 3 modul 4 modul 5 modul 6 modul 7 modul 8 modul 9 modul 10 modul 11 modul 12 modul 13 modul 14 modul 16 modul 17 cikel -> 53
Razvoj zunanjega prikazovalnika LED
35
Preverjanje delovanja programa je potekalo z opazovanjem vrednosti bitov v poljih 48 x
96 za izpis v pomikalne registre. Funkcijo za izpis na terminal prikazuje slika 4.22 v vrstici
15. Testiranje delovanja je sledilo ob vsaki spremembi programske kode. Kontrolo
delovanja smo izvajali s 4608 posameznimi biti, ki so predstavljali utripanje svetleče
diode. Nepravilno določitev bita je predstavljalo na prikazovalniku nepravilno utripanje
svetleče diode.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Slika 4.22: Preverjanje vrednosti matrike 48x96
Prikaz testiranja s terminala, kjer smo preverjali vnos vrednosti v polja matrike 48 x 96 na
sliki 4.23.
1 2 3 4 5 6 7 8 9 10 11
Slika 4.23: Izpis vrednosti matrike 48 x 96
ide++; //algoritem za izračun pozicije v matriki 48 x 96 horizontala = xn - x2n- x3n; vertikala = yn - y2n- y3n; save = beri_matrika32(vertikala, horizontala); printf("[%u][%u] = %u, \n\r", vertikala, horizontala, save); //postavitev izhodnega signala SD0, za izbran bit IzpisPIN(save, modul); if ((xn == 15)&& (yn == 15)) yn = 63; if (xn == 15) xn = 111; yn -=16; modul++; printf("modul %u\n\r", modul);
[45][64] = 0, [45][63] = 0, [45][62] = 0, [45][61] = 1, [45][60] = 0, [45][59] = 1, [45][58] = 1, [45][57] = 0, [45][56] = 0, [45][55] = 0, [45][54] = 1,
Razvoj zunanjega prikazovalnika LED
36
Prikazovalnik je namenjen za oglaševanje in k temu je dodano obveščanje trenutnega časa.
Razvojna enota ni vsebovala mikrokrmilnika za določanje trenutnega časa, zato smo
uporabili integrirano vezje PCF8583, tako imenovano uro realnega časa (real time clock).
Integrirano vezje z razvojno enoto komunicira preko vodila . Trenutni datum in ura se
prikazuje v zgornji vrstici prikazovalnika. Podatki za datum in čas se preberejo in vnesejo
v določeno polje, kjer se nato prenesejo v polje za prikazovanje besedila. To smo uredili
tako, da se je trenutni čas začel prikazovat takrat, ko se je polje besedila prebralo do konca.
Slika 4.24: Vezje z uro realnega časa
Za merjenje temperature smo uporabili integrirano vezje DS1820. Komunikacija med
enotama poteka preko ene žice. Vrednost temperature se prikazuje v spodnji vrstici
prikazovalnika. Vrednost temperature se vnaša v polja po enakem delovanju kot čas v
zgornji vrstici. Temperatura iz merilne sonde se bere vsakih 30 s. Slika 4.25 prikazuje
integrirano vezje za merjenje temperature. Integrirano vezje DS1820 smo vgradili v
ustrezno ohišje, ter namestili na ohišje prikazovalnika, ki je meril zunanjo temperatuo.
Slika 4.25: Integrirano vezje DS1820
Razvoj zunanjega prikazovalnika LED
37
5 SESTAVLJANJE PRIKAZOVALNIKA
Prikazovalnik je namenjen za zunanjo uporabo. Idejna zasnova konstrukcije je bila
aluminijast material, ker je lahka za prenašanje celotnega prikazovalnika in hkrati odporna
na zunanje vplive. Za ustrezno določitev konstrukcije prikazovalnika je bilo potrebno
paziti na pravilno odpiranje vrat. Predvidena uporaba prikazovalnika je na določeni višini,
ki ni lahko dostopna. Za poseganje do prikazovalnika je bilo potrebno izdelati pravilno
odpiranje in hkrati pravilno ventilacijo komponent. Zunanje velikosti ohišja prikazovalnika
so 1320 mm v širino in 720 mm v višino. Na ohišje smo namestili uporabniške priključke
za napajanje in komunikacijo.
5.1 Izdelava aluminijaste konstrukcije ohišja
Na prikazovalniku so izdelani stranski nosilci, na katere smo pritrdili module in
medsebojne povezave. Ločili so se posamezni signali in močnostni del, saj bi ob nepravilni
razporeditvi prihajalo do motenj. Slika 5.1 prikazuje sestavo modulov z notranje strani,
kjer kroži zrak med moduli.
Slika 5.1: Nosilna konstrukcija sestave matrike 16 x 16
Razvoj zunanjega prikazovalnika LED
38
Slika 5.2 prikazuje zunanji del prikazovalnika. S konstrukcijo smo zagotovili enakomerni
razmak med moduli.
Slika 5.2: Sestava šestih matrik 16 x 16
5.2 Določitev ventilacije prikazovalnika
Zaradi segrevanja komponent je zasnova ventilacije velikega pomena, saj z njo določamo
življenjsko dobo komponent. Na ohišju panela je ventilacija zasnovana pod diagonalo, kjer
je na eni strani dovod zraka, na drugi strani diagonalno pa odvod le-tega. Panel vsebuje
grelce za hladne razmere, ki so nameščeni na spodnji strani ohišja. Za ohišje smo namestili
tri grelce 50 W. Za odvajanje toplote smo namestili dva ventilatorja. Ohišje prikazovalnika
vsebuje temperaturno sondo, ki meri zunanjo temperaturo. Merjenje zunanje temperature je
namenjeno za prikaz temperature na prikazovalniku. Slika 5.3 prikazuje prostor na ohišju
prikazovalnika, kjer je nameščena temperaturna sonda, ki je nameščena v notranjosti ohišja
in je izolirana z notranje strani.
Slika 5.3: Zunanja oblika ohišja prikazovalnika z ventilacijo
Razvoj zunanjega prikazovalnika LED
39
5.3 Povezava signalnih linij med komponentami
Vsak modul ima posamezni del močnostne in podatkovne povezave. Podatkovni signali so
med seboj povezani.
Slika 5.4: Sestavljanje celotnega prikazovalnika z moduli
Naslednji korak je bil pravilno razporediti krmilni in napajalni del. Za pravilno
razporeditev napajanja svetlečih diod smo uporabili štiri napajalnike z izhodno napetostjo
3,3 V. Prikaz prikazovalnika z notranje strani je na sliki 5.5.
Slika 5.5: Vgradnja in povezava komponent na prikazovalniku
Razvoj zunanjega prikazovalnika LED
40
S sprednje strani vsebuje prikazovalnik 5 mm rdeče pleksi akrilno steklo, kot je prikazano
na sliki 5.6.
Slika 5.6: Sprednja stran celotnega prikazovalnika
Vseh 18 modulov ima posamezno napajanje in povezavo s krmilnimi signali. Napajalniki,
nameščeni v notranjosti prikazovalnika, napajajo štiri ali pet modulov. Signalne povezave
od SD0 do SD17 na sliki 5.7 predstavljajo podatkovne povezave, ki so povezani iz
razvojne enote. Časovni cikli delovanja in omogočanje prenosa za pomikalne registre so iz
razvojne enote povezani zaporedno od enega do drugega modula.
Slika 5.7: Razvojna enota ETKM V7
Razvoj zunanjega prikazovalnika LED
41
5.4 Komunikacija med terminalom in prikazovalnikom
Za komunikacijo s prikazovalnikom smo uporabili terminal Hercules. S terminalom smo
opravljali komunikacijo s prikazovalnikom preko mrežne povezave. Preko terminala se
opravlja popolni nadzor nad prikazovalnikom. Spremljamo morebitne napake delovanja,
velikost zasedenosti pomnilnika, nastavitev ure, časovni termin predvajanja in opazovanje
temperature.
Prikazovalnik je namenjen za predstavitev aktualnih podatkov in želenega oglaševanja.
V ta namen je programsko pripravljena aplikacija na razvojni enoti, ki omogoča vnos
želenega oglaševanja ob različnih časovnih terminih. Za nastavitev terminov preko
terminala se vnese ukaz za določitev želenih terminov. V primeru, če želimo nastaviti
termine predvajanja različnega besedila od 7. do 12. ure in od 12. do 19. ure, vnesemo
ukaz <1n0#071219>. Trije različni termini predstavljajo tri različna besedila predvajanja
na prikazovalniku. Za vnos besedila obstaja opcija, da se posamezni znaki vnašajo samo za
en termin in ostali ostanejo nespremenjeni.
Naložitev besedila preko terminala v programsko aplikacijo:
<1mA# Zgornja vrstica # Spodnja vrstica > 1. Meni (7.00-12.00),
<1mB# . ............ # ............... > 2. Meni (12.00-19.00),
<1mC# ............... # ............... > 3. Meni (19.00-7.00).
Posamezne termine, ki so namenjeni za različna predvajanja ob različnih urah, je možno
predvajati v treh terminih za tri različna besedila ali predvajanje enega besedila v enem
terminu. V tem primeru bi se besedilo predvajalo cel dan. Izvorna koda na razvojni enoti
omogoča različna branja statusov delovanja prikazovalnika.
Pri pošiljanju ukazov s terminala lahko opazujemo naslednje lastnosti prikazovalnika:
• omogočimo vklop vseh svetlečih diod na prikazovalniku in preverjamo morebitno
nepravilno delovanje diod,
• uporabljamo testni režim delovanja in preverjamo vse znake in hitrost pomikanja
besedila na prikazovalniku,
Razvoj zunanjega prikazovalnika LED
42
• nastavitev ure in datuma,
• branje ure in datuma,
• brisanje celotnega pomnilnika s podatki in trenutnih polj v programu,
• pisanje in branje bliskovnega pomnilnika,
• osvežitev celotnega mikrokrmilnika,
• opazovanje statusov delovanja mikrokrmilnika in
• predvajanje statičnega besedila v primeru okvare.
Izvorna koda uporablja predvideno varno predvajanje. Predvajanje se izvede v primeru
napake delovanja prikazovalnika. Napaka je lahko na primer, če se razvojna enota
nepričakovano izklopi in se pri ponovnem delovanju ne izvede popolna inicializacija.
Takrat se program preklopi v varni način delovanja, kar pomeni, da začne predvajati že
vnešeno besedilo v statičnem pomnilniku. Besedilo je lahko določeno po želji uporabnika,
kjer se predvaja splošni del.
Slika 5.8: Celotni prikazovalnik v končni obliki
Razvoj zunanjega prikazovalnika LED
43
5.5 Meritve
Meritve na prikazovalniku smo izvajali v vsakem koraku. Merjenje temperature je bilo
namenjeno testu, ki nam pove, kako se obnaša vezje pri povečanju temperature in
stabilnosti delovanja. Vseh 18 modulov bo zaprtih v ohišju in izoliranih od zunanjega
okolja. Predvidene temperature gibanja bodo od -15 °C do 50 °C. Ohišje prikazovalnika je
zasnovano za preprečevanje vlage v notranjosti ohišja. Slika 5.9 prikazuje testiranje pri
polni obremenjenosti z vklopom vseh svetlečih diod z notranje strani prikazovalnika.
Slika 5.9: Notranjost prikazovalnika
V zaključnem delu testiranja so se pokazale določene motnje, kot so motnje podatkovnega
signala. Le-te so se pokazale v obliki nepravilnega utripanja svetlečih diod. Odstranitev
utripanja smo odpravili s filtri vhodnega glavnega napajanja in vmesnimi filtri na
posameznem izvoru napetosti prikazovalnika.
Razvoj zunanjega prikazovalnika LED
44
6 TESTIRANJE IN ZAKLJU ČEVANJE DELOVANJA
Testiranje opreme smo izvajali od začetka do zaključevanja projekta. V začetnem delu
testiranja smo odkrivali morebitne napake v postavitvi koncepta sestavljanja in izdelovanja
prikazovalnika. Med drugim smo ugotavljali pravilno izbiro komponent in njihov strošek.
Pri testiranju prikazovalnika je prihajalo do odkrivanja različnih napak in težnji po
izboljševanju. V zaključnem delu testiranja je bilo pomembno določiti jakost svetilnosti
svetlečih diod s pravilno mejo porabe toka.
Motnje med delovanjem so se pojavljale zaradi različnih napetostnih nivojev.
Uporabljali smo napajanje razvojne enote 5 V in napajanje pomikalnih registrov 3,3 V.
Razliko napetosti smo uredili s spremembo komponent, kjer se je napetost spremenila s 5
V na 3 V. Naslednji vzrok pojavljanja motenj so bile daljše povezave med
mikrokrmilnikom in pomikalnimi registri. Pojavili so se oslabljeni podatkovni signali, kar
je za posledico povzročalo nestabilno delovanje. V tem primeru smo dodali logično vezje,
ki je okrepilo signal napetosti na 3,3 V. Z nastavitvijo internih registrov je bilo omogočeno
hitrejše delovanje mikrokrmilnika in s tem pomikanje besedila na prikazovalniku. Pri
izvajanju testov smo iz prvotnega dela komunikacije med terminalom uporabljali vodilo
RS232. Vendar se je s testiranjem in delom na daljavo izkazalo, da je bolj priročno delo z
mrežnim modulom XPORT. Mrežni modul je pretvornik iz vodila RS232 na mrežno
vodilo in vsebuje lasten konfigurator.
Testiranje celotnega prikazovalnika z vso opremo je potekalo pet dni. Prva težava se je
pojavila z motnjami na prikazovalniku, ki so se pojavljale med delovanjem, in sicer v
obliki nekontroliranega utripanja diod. Vzrok motenj so bila različna napajanja naprav z
različnimi frekvencami delovanja. V tem primeru smo dali med napajalno enoto sito za
signale.
Naslednja težava se nam je pojavljala z zamrznitvijo ali ustavitvijo pomikanja besedila.
Ustavitev delovanja prikazovalnika se je pojavljala nekontrolirano po nekaj urah
delovanja. Težava se je pojavljala zaradi zasedenosti delovnega podatkovnega pomnilnika
Razvoj zunanjega prikazovalnika LED
45
na mikrokrmilniku. Ugotovili smo, da se med delovanjem ni izvajalo brisanje trenutnih
polj. Tako se je zasedenost pomnilnika seštevala in je v polni zasedenosti pripeljala do
ustavitve delovanja.
Med opazovanjem predvajanja besedila smo ugotovili, da prikazovalnik uporablja
močno svetilnost svetlečih diod, kar je imelo za posledico pri dolgotrajnem opazovanju na
prikazovalnik neprijeten učinek ob gledanju vanj. Da smo zmanjšali jakost svetilnosti, smo
znižali napajalno napetost diod s 3,3 V na 2,5 V. Tako se je hkrati zmanjšala poraba
celotnega prikazovalnika kot tudi jakost svetilnosti.
Razvoj zunanjega prikazovalnika LED
46
7 REZULTATI
Zanimala nas je predvsem stabilnost delovanja prikazovalnika in njegova poraba.
Stabilnost delovanja smo preverjali s spreminjanjem temperature v notranjosti ohišja
prikazovalnika in mikrokrmilnika. Preverjanje je potekalo na porabi električnega toka.
Prikazovalnik vsebuje 4608 svetlečih diod, kar znaša za posamezno diodo 13 mA.
Napajanje posameznih modulov je razdeljeno med štiri stikalne napajalnike tipa SMPS
(Switch Mode Power Supply). Izhodna poraba do omrežne znaša 9 A.
Tabela 7.1: Meritve temperature komponent v odprtem prostoru
Čas [min]
temperatura
integriranega vezja
[°C]
temperatura
tiskanine [°C]
temperatura
konektorjev [°C]
temperatura
kablov [°C]
0 28 28 28 24
5 37 40 42 25
10 38 40 44 26
15 39 40 45 27
20 41 40 45 27
25 42 43 45 27
30 44 44 45 27
40 44 45 45 27
60 45 45 45 27
120.5 45 45 45 27
Razvoj zunanjega prikazovalnika LED
47
Slika 7.1: Grafični prikaz meritev temperature komponent v odprtem prostoru
Tabela 7.2: Meritve temperature komponent v zaprtem prostoru
Čas [min]
Temperatura
integriranega vezja
[°C]
temperatura
tiskanine [°C]
temperatura
konektorjev [°C]
temperatura
kablov [°C]
0 28 27 28 27
5 30 34 30 27
10 33 38 31 28
15 38 40 34 29
20 43 41 37 30
25 46 46 41 31
30 51 48 45 31
40 54 52 49 31
60 54 52 51 31
120.5 54 52 51 31
0
5
10
15
20
25
30
35
40
45
50
0 5 10 15 20 25 30 40 60 120.5
temperatura
integriranega vezja [°C]
temperatura
tiskanine[°C]
temperatura
konektorjev[°C]
temperatura
kablov[°C]
Razvoj zunanjega prikazovalnika LED
48
Slika 7.2: Grafični prikaz meritev temperature komponent v zaprtem prostor
Tabela 7.3: Podatki prikazovalnika
Tehnični podatki prikazovalnika
Zunanje dimenzije prikazovalnika [mm] (š x v x g) 1320 x 720 x 200
Površina prikazovalnika 0.72m2
Aktivno območje prikaza (š x v) 1200 x 600
Število led diod 4608
Število barv 1 (rdeča)
Obratovalna temperatura -20 °C do 50 °C
Napajanje 230 V AC 50 Hz
Komunikacijski vmesnik LAN, RS232
Teža 15 kg
Moč 2070 W
0
10
20
30
40
50
60
0 5 10 15 20 25 30 40 60 120.5
temperatura
integriranega vezja[°C]
temperatura
tiskanine[°C]
temperatura
konektorjev[°C]
temperatura
kablov[°C]
Razvoj zunanjega prikazovalnika LED
49
8 SKLEP
V okviru diplomskega dela smo od idejne zasnove do izdelave prototipa razvili zunanji
prikazovalnik LED. Tekom razvoja in na osnovi opravljenega testiranja smo
neprestano nadgrajevali strojno in programsko opremo, ter iskali nove pristope pri
montaži komponent. Nadgradili smo tudi mikrokrmilnik v okviru razvojne enote, saj se je
izkazalo, da izvajanje zahteva visoko hitrost procesiranja podatkov. Ob izbiri gradnikov
prototipa smo bili še posebno skrbni, saj so morali biti primerno kvalitetni in cenovno
dostopni. Pri izbiri pomikalnih registrov smo želeli izbrati registre, ki bodo omogočali
obdelavo večjega števila bitov na enem integriranem vezju. Uporabili smo 16-bitne
registre, ki nam ustrezajo pri obdelavi bitov in so cenovno primerni. .
Prototip deluje zanesljivo in zadostuje vsem podanim zahtevam, zato ocenjujemo, da
smo dosegli cilj diplomskega dela. Na osnovi pridobljenih izkušenj ob odpravljaju težav, bi
predlagali spremembe pri izvedbi napajalnih in signalnih povezav. Izbrane povezave bi
izvedli na tiskanini, nove komponente pa bi dodali z uporabo priključnih letvic. Tako bi v
večji meri odpravili motnje, ki so posledica prepletanja povezav z različnimi napetostnimi
nivoji in rezultirajo v nepravilnem utripanju svetlečih diod. .
Prikazovalnik predstavlja dobro osnovo za nadaljnji razvoj. Ideje, ki so se pridobile pri
izdelavi prikazovalnika se bodo uporabile pri naslednji izdelavi prikazovalnika. Ena izmed
sprememb bo, izdelava terminala za vnos besedila. Terminal se bo uporabil na oddaljenem
računalniku za prikaz statusa delovanja krmilne enote, analize delovanja in vnosa besedila.
Naslednja sprememba se bo vršila pri nadgradnji razvojne enote, kjer se bodo integrirale na
razvojno enoto komponente za prikazovanje trenutnega časa, modul za internetno
povezavo in pretvornik napetosti 5 V na 3,3 V.
Razvoj zunanjega prikazovalnika LED
50
9 LITERATURA
[1] Viljam Žumer, J.Brest Strukturirano programiranje in programski jezik C++, 2002
[2] Microchip, PIC microcontroller [Spletni vir], naslov: http://www.microchip.com/
[Dostopano: 16. 7. 2014]
[3] Wikipedia, Dot-matrix display [Spletni vir].
Naslov: http://en.wikipedia.org/wiki/Dot_matrix_display, [Dostopano: 14. 7. 2014]
[4] Microchip, PIC microcontroller Forums [Spletni vir].
Naslov: http://www.microchip.com/forums/f178.aspx , [Dostopano: 14. 7. 2014]
[5] ARC Electronics, [Spletni vir], naslov: http://www.arcelect.com/rs232.htm
[Dostopano: 15. 7. 2014]
[6] Pomikalni register [Spletni vir] Naslov: http://www.datasheets360.com
[Dostopano: 21. 7. 2014]
[7] Mikrokrmilnik dsPIC Naslov: http://www.alldatasheet.com/; [Dostopano: 24. 7. 2014]
[8] XPORT; Naslov: http://www.lantronix.com/ ; [Dostopano: 13. 8. 2014]
Razvoj zunanjega prikazovalnika LED
51
10 DODATKI
10.1 Naslov študenta
Ime in priimek: Andrej Murn Naslov: Tratna pri Grobelnem 33 Pošta: 3231 Grobelno E-pošta: [email protected]
10.2 Kratek življenjepis
Rojen: Celje, 10. 9. 1984
Šolanje: 1991 – 1999 Osnovna šola Rogatec
1999 – 2003 Poklicna in tehniška elektro in kemijska šola v Celju
2003 – 2008 Visokošolski študij
Fakulteta za elektrotehniko, računalništvo in informatiko, Univerza v Mariboru, visoki študijski program elektrotehnika, smer elektronika
2008 – 2016 Univerzitetni študij
Fakulteta za elektrotehniko, računalništvo in informatiko, Univerza v Mariboru, univerzitetni študijski program elektrotehnika, smer elektronika
Zaposlitev: od 2011 Etra d.o.o.
Razvoj zunanjega prikazovalnika LED
52
Razvoj zunanjega prikazovalnika LED
53
Razvoj zunanjega prikazovalnika LED
54