ˇ ´ Cesk e ´ vysoke ˇen´ı uc ´ technicke v Praze Fakulta elektrotechnick´ a Katedra mˇ eˇren´ı
Diplomov´ a pr´ ace
Univers´ aln´ı PLC kontrol´ er s HDMI v´ ystupem Bc. Luk´ aˇs L´ıbal
Kvˇ eten 2015 Vedouc´ı pr´ ace: Ing. Radek Sedl´ aˇcek, Ph.D.
ii
iv
Prohl´ aˇsen´ı Prohlaˇsuji, ˇze jsem pˇredloˇzenou pr´aci vypracoval samostatnˇe a ˇze jsem uvedl veˇsker´e pouˇzit´e informaˇcn´ı zdroje v souladu s Metodick´ ym pokynem o dodrˇzov´an´ı etick´ ych princip˚ u pˇri pˇr´ıpravˇe vysokoˇskolsk´ ych z´avˇereˇcn´ ych prac´ı.
V Praze dne 11. 5. 2015
v
Podˇ ekov´ an´ı Na u ´vod t´eto pr´ace bych chtˇel zejm´ena podˇekovat vedouc´ımu m´e pr´ace Ing. Radku Sedl´aˇckovi, Ph.D. za trpˇeliv´ y a vstˇr´ıcn´ y pˇr´ıstup. vi
Abstrakt Pr´ace se zab´ yv´a n´avrhem a realizac´ı jednoduch´eho programovateln´eho automatu s grafick´ ym v´ ystupem zaloˇzen´ ym na Raspberry Pi. Vlastn´ı programovateln´ y automat je zaloˇzen´ y na mikrokontrol´eru z ˇrady STM32F0. Zaˇr´ızen´ı je navrˇzeno jako zapouzdˇren´ y celek, disponuj´ıc´ı bˇeˇznˇe pouˇz´ıvan´ ymi periferiemi. Vˇcetnˇe vˇsech potˇrebn´ ych nap´ajec´ıch zdroj˚ u. Testov´an´ı funkˇcnosti je provedeno na modelu Thompsonova-Lampardova etalonu kapacity. Ovl´ad´an´ı je realizov´ano pomoc´ı grafick´eho uˇzivatelsk´eho rozhran´ı.
Abstract This thesis deals with the design and implementation of a simple programmable controller with graphical output based on the Raspberry Pi. Own programmable logic controller is based on a microcontroller of STM32F0 family. The device is designed as an encapsulated unit, which has a commonly used peripheries. Including all the necessary power supplies. Functional testing is performed on a model Thompson-Lampardo’s standard capacity. The control is realized by using a graphical user interface.
vii
Obsah 1
´ Uvod
1
2
Pr˚ umyslov´ a ˇreˇsen´ı
2
2.1 PLC MPC223AC . . . . . . . . . . . . . . . . . . . . . . .
3
2.2 Loxone Miniserver . . . . . . . . . . . . . . . . . . . . . .
4
2.3 Vision430 . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
N´ avrh hardware
7
3.1 RaspberryPi . . . . . . . . . . . . . . . . . . . . . . . . .
8
3.1.1 HDMI . . . . . . . . . . . . . . . . . . . . . . . . .
9
3.2 Mikrokontrol´er . . . . . . . . . . . . . . . . . . . . . . . .
10
3.3 RS-485 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
3.4 Analogov´ y v´ ykonov´ y v´ ystup
. . . . . . . . . . . . . . . .
13
3.5 Analogov´e vstupy . . . . . . . . . . . . . . . . . . . . . .
15
3.6 Digit´aln´ı vstupy a v´ ystupy . . . . . . . . . . . . . . . . .
17
3.7 Nap´ajen´ı . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
3.8 Mechanick´a ˇca´st . . . . . . . . . . . . . . . . . . . . . . .
20
3
4
5
Grafick´ y v´ ystup
21
4.1 Inteligentn´ı displeje . . . . . . . . . . . . . . . . . . . . .
21
4.1.1 4D Systems PICASO . . . . . . . . . . . . . . . . .
22
4.1.2 FTDI EVE
. . . . . . . . . . . . . . . . . . . . . .
23
4.2 Raspberry Pi jako zobrazovaˇc . . . . . . . . . . . . . . . .
23
4.2.1 Instalace a konfigurace . . . . . . . . . . . . . . . .
24
Testov´ an´ı
26
5.1 Ovl´adac´ı aplikace . . . . . . . . . . . . . . . . . . . . . . viii
27
6
7
5.1.1 Qt framework . . . . . . . . . . . . . . . . . . . . .
28
5.1.2 Grafick´a podoba . . . . . . . . . . . . . . . . . . . .
28
5.1.3 Logika aplikace . . . . . . . . . . . . . . . . . . . .
29
5.2 Program pro mikrokontrol´er . . . . . . . . . . . . . . . . .
31
5.3 Mˇeˇren´ı . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
N´ avrh univerz´ aln´ı knihovny
37
6.1 Rozˇsiˇruj´ıc´ı deska . . . . . . . . . . . . . . . . . . . . . . .
37
6.2 RaspberryPi . . . . . . . . . . . . . . . . . . . . . . . . .
39
Z´ avˇ er
41
Literatura
43
Seznam pouˇ zit´ ych zkratek
45
Pˇr´ılohy
47
A
V´ ykresy . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
B
Mechanick´e proveden´ı . . . . . . . . . . . . . . . . . . . .
49
C
Sch´emata zapojen´ı . . . . . . . . . . . . . . . . . . . . . .
59
ix
Seznam obr´ azk˚ u 1
PLC (pˇrevzato z [1]) . . . . . . . . . . . . . . . . . . . . .
2
2
MICROPEL PLC MP223AC (pˇrevzato z [2]) . . . . . . . .
4
3
Loxone Miniserver (pˇrevzato z [3]) . . . . . . . . . . . . . .
5
4
Vision430 (pˇrevzato z [4]) . . . . . . . . . . . . . . . . . .
6
5
Blokov´e sch´ema n´avrhu . . . . . . . . . . . . . . . . . . . .
7
6
Raspberry Pi model B (pˇrevzato z [5]) . . . . . . . . . . .
8
7
J´adro ARM Cortex M0 (pˇrevzato z [6]) . . . . . . . . . . .
11
8
Sch´ema ADM2582E (pˇrevzato z [7]) . . . . . . . . . . . . .
12
9
Blokov´e sch´ema L6205 (pˇrevzato z [8]) . . . . . . . . . . .
14
10
Sch´ema zapojen´ı H-m˚ ustku
. . . . . . . . . . . . . . . . .
14
11
Blokov´e sch´ema A/D kan´alu . . . . . . . . . . . . . . . . .
15
12
Sch´ema zapojen´ı vstupn´ıch obvod˚ u A/D kan´alu . . . . . .
16
13
Sch´ema zapojen´ı filtru a pˇrevodn´ıku A/D kan´alu . . . . . .
17
14
Zapojen´ı izolovan´ ych vstup˚ u s v´ ystup˚ u . . . . . . . . . . .
17
15
Sch´ema nap´ajen´ı pro digit´aln´ı ˇca´st . . . . . . . . . . . . . .
19
16
Sch´ema nap´ajen´ı pro analogovou ˇca´st . . . . . . . . . . . .
19
17
4D Systems inteligentn´ı display (pˇrevzato z [9]) . . . . . .
22
18
CooCox IDE . . . . . . . . . . . . . . . . . . . . . . . . . .
26
19
ST discovery kit (pˇrevzato z [10]) . . . . . . . . . . . . . .
27
20
Aplikace v Qt Creatoru . . . . . . . . . . . . . . . . . . . .
29
21
ˇ ızen´ı krokov´eho motorku s poloviˇcn´ım krokem (Pˇrevzato R´ z [11]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
22
Model elektrod etalonu (pˇrevzato z [12]) . . . . . . . . . .
33
23
Testov´an´ı aplikace . . . . . . . . . . . . . . . . . . . . . . .
36
x
Kapitola 1
´ Uvod Programovateln´ y logick´ y automat (PLC) je zaˇr´ızen´ı v sobˇe sdruˇzuj´ıc´ı potˇrebnou logiku k prov´adˇen´ı uˇzivatelsk´ ych funkc´ı. Jedn´a se o jednoduch´ y pr˚ umyslov´ y poˇc´ıtaˇc, kter´ y automatizuje potˇrebn´e procesy. Poskytuje vˇseobecnˇe volnˇe konfigurovatelnou programovou funkˇcnost, kterou je kdykoliv moˇzno jednoduˇse rekonfigurovat dle aktu´aln´ıch potˇreb syst´emu, kter´e vych´azej´ı z m´ısta nasazen´ı. Tedy dnes v r˚ uzn´ ych podob´ach dnes pronik´a od vˇsech m´ıst kolem n´as v kaˇzdodenn´ım ˇzivotˇe. Funkˇcnost je omezena dostupn´ ymi periferiemi, kter´ ymi dan´ y automat disponuje. Tedy existuj´ı r˚ uzn´e konfigurace perif´eri´ı syst´em˚ u do r˚ uzn´ ych oblast´ı nasazen´ı. Nejˇcastˇejˇs´ımi perif´eriemi jsou obyˇcejn´e digit´aln´ı vstupy, v´ ystupy a takt´eˇz v analogov´e formˇe. Jednotky jsou ˇcasto omezeny vlastn´ımi pˇr´ım´ ymi perif´eriemi, ale na konkr´etn´ı pˇr´ıpad nasazen´ı lze ˇreˇsit pomoc´ı dalˇs´ıch rozˇs´ıˇren´ı, pokud PLC disponuje danou konektivitou. C´ılem t´eto pr´ace je navrhnout obdobn´ y jednoduch´ y univerz´aln´ı programovateln´ y logick´ y automat, kter´ y bude disponovat bˇeˇzn´ ymi perif´eriemi pro vˇseobecn´e vyuˇzit´ı. Bude danou konektivitou pro jeho moˇzn´e rozˇs´ıˇren´ı o pˇr´ıpadn´e dalˇs´ı potˇrebn´e moduly. A takt´eˇz pˇr´ım´ ym grafick´ ym v´ ystupem na bˇeˇznˇe uˇz´ıvan´e displeje disponuj´ıc´ı HDMI ˇci DVI kompatibiln´ım rozhran´ım.
1
Kapitola 2
Pr˚ umyslov´ a ˇreˇsen´ı Programovateln´ y logick´ y automat je zmenˇsen´ y pr˚ umyslov´ y poˇc´ıtaˇc specializuj´ıc´ı se na vykon´av´an´ı operac´ı v dan´em ˇcase. Z toho vypl´ yv´a, ˇze se vyuˇz´ıv´a ve vˇsech automatizovan´ ych v´ yrobn´ıch procesech. Setk´av´ame se s nimi ve tak´e vˇsech oblastech, kde je potˇreba prov´adˇet automatick´e akce, tedy principi´alnˇe pˇri mˇeˇren´ı a n´asledn´e regulaci. Vyjma tˇech pˇr´ıpad˚ u, kdy se jedn´a o jedno´ uˇcelov´a zaˇr´ızen´ı, kter´a uˇz neposkytuj´ı moˇznost programov´an´ı. Z´akladem tˇechto automat˚ u je speci´aln´ı podoba mikrokontrol´er˚ u vyuˇz´ıvaj´ıc´ıch programovateln´e pamˇeti k uloˇzen´ı instrukc´ı a implementace funkc´ı napˇr. logick´ ych, sekvenˇcn´ıch, ˇcasov´ ych a dalˇs´ıch k ˇr´ızen´ı stroj˚ u a proces˚ u. Z´akladn´ı model funkˇcnosti je na obr´azku 1.
Obr´azek 1: PLC (pˇrevzato z [1])
PLC m´a velkou v´ yhodu, ˇze jeden shodn´ y z´akladn´ı mikrokontrol´er m˚ uˇze b´ yt pouˇzit´ y pro ˇsirok´e spektrum ˇr´ıdic´ıch syst´em˚ u. Je-li potˇreba mˇenit syst´em a pravidla ˇr´ızen´ı, vˇse co je nutn´e udˇelat je nahr´at jin´e instrukce. Nen´ı potˇreba dˇelat ˇza´dn´ y z´asah do zapojen´ı. V´ ysledkem jsou flexibiln´ı a cenovˇe dostupn´e syst´emy ˇr´ızen´ı, kter´e se dost liˇs´ı v jejich povaze a sloˇzitosti [1]. Samotn´e automaty m˚ uˇzeme rozdˇelit podle jejich vlastn´ı komplexnosti, kter´a je 2
2.1 PLC MPC223AC d´ana funkcionalitou jimi poskytovanou. Tato komplexnost vych´az´ı napˇr. z logick´ ych funkc´ı jak moc sloˇzit´e mohou b´ yt sestavov´any, d´ale jejich ˇcasov´e z´avislosti a podobnˇe. Nejz´asadnˇejˇs´ı je perifern´ı vybavenost a jejich specializace ke konkr´etn´ımu u ´ˇcelu. Nejobecnˇejˇs´ım mˇeˇr´ıtkem m˚ uˇze b´ yt poˇcet vstup˚ u, v´ ystup˚ u a kompaktnost proveden´ı. Dle tˇechto parametr˚ u m˚ uˇzeme rozdˇelit PLC do tˇechto skupin
Kompaktn´ı - Jde o proveden´ı zaˇr´ızen´ı na DIN liˇstu s dan´ ym poˇctem I/O, kter´ y lze rozˇsiˇrovat omezenˇe. Vˇsechny I/O maj´ı pevnˇe danou funkˇcnost, kter´a nelze pˇrekonfigurovat. Obsahuj´ı z´akladn´ı periferie v podobˇe jiˇz zm´ınˇen´ ych I/O v digit´aln´ı a analogov´e podobˇe a nˇejak´e dalˇs´ı komunikaˇcn´ı rozhran´ı typu RS-232 ˇci Ethernetu. V t´eto podobˇe disponuj´ı z´akladn´ı svˇetelnou signalizac´ı nebo jednoduch´ ym znakov´ ych displejem. Nejˇcastˇejˇs´ı uplatnˇen´ı tohoto proveden´ı se nal´ez´a v oblasti Inteligentn´ıch elektroinstalac´ı a vˇseobecnˇe Mˇeˇren´ı a regulace.
Modul´ arn´ı - Toto proveden´e je vlastnˇe variabiln´ı obdobou kompaktn´ıch syst´em˚ u. Jsou zaloˇzeny na z´akladn´ım modulem, kter´ y je moˇzn´e volitelnˇe dle nab´ıdky dalˇs´ıch r˚ uznˇe zamˇeˇren´ ych modul˚ u rozˇsiˇrovat. T´ım je umoˇznˇeno vyv´ıjet r˚ uzn´e specializovan´e moduly samostatnˇe a nasadit je pouze tam kde je tˇreba. Jejich zamˇeˇren´ı je tedy jasnˇe dan´e do automatizovan´ ych provoz˚ u, kde jsou potˇreba speci´aln´ı funkce a tak´e tˇreba poˇzadavky na zv´ yˇsenou bezpeˇcnost z´alohov´an´ım. T´ımto by jsme mˇeli dan´e z´akladn´ı rozdˇelen´ı podle proveden´ı, moˇznosti rozˇsiˇrov´an´ı a zamˇeˇren´ı na oblast vyuˇzit´ı. Nyn´ı se pod´ıv´ame na nˇekter´e vybran´e z´astupce s r˚ uzn´ ym zamˇeˇren´ım.
2.1
PLC MPC223AC
V tomto pˇr´ıpadˇe se jedn´a o z´astupce kompaktn´ıho proveden´ı PLC od firmy MICROPEL. Kompaktn´ı automat s pevnou konfigurac´ı I/O s vlastnosti urˇcen´ ymi zejm´ena v aplikac´ıch mˇeˇren´ı a regulace. Moˇznost pouˇzit´ı tedy nen´ı v´azan´e na jeden konkr´etn´ı typovˇe kompatibiln´ı regulovan´ y syst´em a tento automat je funkˇcnˇe volnˇe konfigurovateln´ y. 3
2.2 LOXONE MINISERVER Mezi jeho konektivitu patˇr´ı n´asleduj´ıc´ı [2]. • 6x univerz´aln´ı vstup digit´aln´ı/analogov´ y – pro mˇeˇren´ı napˇet´ı 0-10 V – pro mˇeˇren´ı odporu 0..2500 R – pro ˇcidla Pt100: -200
◦
..+850 ◦ C
– pro ˇcidla Pt1000: -200
◦
..+400 ◦ C
– pro ˇcidla Ni1000: -150
◦
..+250 ◦ C
• 4x digit´aln´ı v´ ystup, galvanicky oddˇelen´ y • 8x rel´eov´ y v´ ystup • 2x univerz´aln´ı v´ ystup digit´aln´ı/analogov´ y 0-10 V • alfanumerick´ y displej 4x20 znak˚ u • 6x ovl´adac´ı tlaˇc´ıtka
Obr´azek 2: MICROPEL PLC MP223AC (pˇrevzato z [2])
2.2
Loxone Miniserver
Jedn´a se o modul´arn´ı PLC od firmy Loxone Electronics urˇcen´ y pro inteligentn´ı elektroinstalace. Vedle hlavn´ıho ˇr´ıdic´ıho automatu nazvan´eho Miniserver existuj´ı rozˇsiˇruj´ıc´ı 4
2.3 VISION430 moduly, kter´e lze nez´avisle pˇrid´avat. Jejich zamˇeˇren´ı je c´ılen´e do elektroinstalace, multim´edi´ı ale takt´eˇz v sobˇe zahrnuje mˇeˇren´ı a regulaci nebo jen ˇcistˇe digit´aln´ı I/O. Pro zobrazov´an´ı a ˇr´ızen´ı jsou dostupn´e sluˇzby webov´eho serveru a aplikac´ı na chytr´a zaˇr´ızen´ı. Z´akladn´ı vlastnosti miniserveru jsou n´asleduj´ıc´ı [3]. • 8 digit´aln´ıch vstup˚ u a v´ ystup˚ u • 4 analogov´e vstupy a v´ ystupy • Ethernet • KNX/EIB • mnoho rozˇsiˇruj´ıc´ıch modul˚ u
Obr´azek 3: Loxone Miniserver (pˇrevzato z [3])
2.3
Vision430
Vision430 je ˇrada OPLC (PLC + HMI) integrovan´e v jednom pouzdˇre od firmy Unitronics. Jde o ˇradu syst´emu disponuj´ıc´ım dotykov´ ym displejem o velikosti 4,3 palce a rozliˇsen´ım 490 x 272 pixel˚ u. Dle konkr´etn´ıho modelu je dostupn´a konektivita k bˇeˇznˇe uˇz´ıvan´ ym komunikaˇcn´ım rozhran´ım a konfigurace vstup˚ u sn´ımaˇc˚ u. Je zde moˇznost vˇsechny modely rozˇs´ıˇrit o modulov´e prvky. Tvorba ovl´adac´ıho rozhran´ı je prov´adˇena pomoc´ı n´astroje, kter´ y ulehˇcuje jeho tvorbu [4]. 5
2.3 VISION430 Parametry konkr´etn´ıho modelu V430J-RA22 jsou: • 12 digit´aln´ıch vstup˚ u • 2 analogov´e vstupy a v´ ystupy • 1 vysokorychlostn´ı vstup (30KHz) • 2 vstupy ˇcidla Pt100 • 8 digit´aln´ıch rel´eov´ ych v´ ystup˚ u • RS-232/RS-485, USB, CANbus
Obr´azek 4: Vision430 (pˇrevzato z [4])
6
Kapitola 3
N´ avrh hardware Z´akladn´ı poˇzadavky na cel´ y programovateln´ y automat n´am poskytne blokov´e sch´ema, pomoc´ı nˇehoˇz zachyt´ıme jednotliv´e navrhovan´e logick´e bloky. Na tyto abstrahovan´e bloky uplatn´ıme konkr´etn´ı poˇzadavky na jejich vlastnosti, kter´e aplikujeme na konkr´etn´ı obvody a jejich celkov´e zapojen´ı ve sch´ematu. Na obr. [5] jsou vidˇet jednotliv´e funkˇcn´ı ˇca´sti n´ami navrhovan´eho logick´eho programovateln´eho automatu, kter´e si jednotlivˇe pop´ıˇseme v obvodov´e realizaci. Stejnˇe tak jiˇz od poˇca´tku mus´ıme br´at zˇretel na zapouzdˇren´ı cel´eho syst´emu a od toho odv´ıjet konkr´etn´ı n´avrh ploˇsn´eho spoje.
Obr´azek 5: Blokov´e sch´ema n´avrhu
7
3.1 RASPBERRYPI
3.1
RaspberryPi
Pro realizaci jedn´e ˇca´sti naˇseho automatu byla vybr´ana platforma RaspberryPi model B. Jeˇz bude vyuˇzita zejm´ena jako grafick´ y procesor, ovl´adac´ı prvek a poskytne n´am dalˇs´ı konektivitu, kterou disponuje. Z´akladem cel´eho mini-PC o velikosti o nˇeco m´alo vˇetˇs´ı neˇz je platebn´ı karta je syst´em na ˇcipu (SoC) BCM2835. Obsahuj´ıc´ı mikroprocesor na b´azi j´adra osvˇedˇcen´e ARM architektury ARMv6, doplnˇen´ y o grafick´ y procesor VideoCore IV. Cel´ y zm´ınˇen´ y syst´em disponuje sd´ılenou operaˇcn´ı pamˇet´ı o kapacitˇe 512 MB, coˇz je plnˇe dostaˇcuj´ıc´ı pro bˇeh vhodn´eho operaˇcn´ıho syst´emu s grafick´ ym prostˇred´ım. Samotn´ y operaˇcn´ı syst´em mus´ı b´ yt nahran´ y a spouˇstˇen´ y na vyj´ımateln´e SD kartˇe. Model Raspberry Pi B je vidˇet na obr´azku 6.
Obr´azek 6: Raspberry Pi model B (pˇrevzato z [5])
Jak jiˇz bylo ˇreˇceno bude vyuˇz´ıv´ana zejm´ena ve funkci grafick´eho v´ ystupu. Dle zvolen´eho syst´emu bude moˇzn´e volit moˇznost zobrazovan´ı, at’ uˇz na n´ızk´e u ´rovni v OpenGL, nebo vyˇsˇs´ıch aplikaˇcn´ıch framework˚ u vhodn´ ych k tvorbˇe uˇzivatelsk´ ych rozhran´ı. Pomoc´ı nichˇz bude prostˇredn´ıkem v prezentaci jak´ ychkoli stavov´ ych ˇci uˇzivatelsk´ ych dat na jak´emkoliv standardn´ım monitoru. Obrazov´a data jsou pˇren´aˇsena pˇr´ımo po rozhran´ı 8
3.1 RASPBERRYPI HDMI 1.4. Tato platforma je takt´eˇz vybavena i dalˇs´ımi periferiemi, jeˇz jsou urˇceny ke komunikaci s okol´ım. Mezi tato komunikaˇcn´ı rozhran´ı, kter´a vyuˇzijeme, patˇr´ı Ethernet a zejm´ena USB pomoc´ı nˇehoˇz je moˇzn´ı pˇripojit t´eˇz klasick´a ovl´adac´ı zaˇr´ızen´ı jako myˇs ˇci kl´avesnici. V neposledn´ı ˇradˇe disponuje tak´e univerz´aln´ımi vstupy a v´ ystupy (GPIO). Nˇekter´e disponuj´ı tak´e speci´aln´ı funkˇcnost´ı v podobˇe sbˇernic USART, SPI, I2 C apod.. T´eto funkcionality vyuˇzijeme k jejich rozˇs´ıˇren´ı, jelikoˇz GPIO je s ohledem na naˇse poˇzadavky nedostatek a bude potˇreba jich nav´ yˇsit. Tak´e komunikaˇcn´ı rozhran´ı RS-485 je moˇzn´e pˇrevodem u ´rovn´ı vyrobit ze s´eriov´e linky. S touto realizac´ı se v tomto pˇr´ıpadˇe nepoˇc´ıt´a, a to z d˚ uvodu nedefinovan´eho ˇcasu vykon´an´ı programu na bˇeˇz´ıc´ım operaˇcn´ım syst´emu n´as tento fakt omezuje i u univerz´aln´ıch vstup˚ u a v´ ystup˚ u. Probl´emem je u komunikaˇcn´ıch protokol˚ u, kdy je potˇreba odpovˇedˇet ˇci potvrdit pˇr´ıjem do jasnˇe definovan´eho ˇcasu. Z v´ yˇse uveden´ ych d˚ uvod˚ u realizaci komunikaˇcn´ıho rozhran´ı RS-485 a zv´ yˇsen´ı poˇctu GPIO vyˇreˇs´ıme n´avrhem rozˇsiˇruj´ıc´ı desky obsahuj´ıc´ı mikrokontrol´er a dalˇs´ı potˇrebn´e souˇc´asti k realizaci potˇrebn´ ych periferi´ı. Ten bude vˇse ˇr´ıdit, vyuˇz´ıvat RaspberryPi jako grafick´eho v´ ystupu a pˇrij´ımat pˇr´ıkazy k ovl´ad´an´ı periferi´ı, kter´ ymi bude disponovat. Nesm´ıme ale zapomenout na pˇr´ıpadnou komunikaci po Ethernetu, kter´a z˚ ustane um´ıstˇen na t´eto platformˇe. Za pomoci nˇehoˇz budeme m´ıt k dispozici dalˇs´ı zp˚ usob prezentace dat a ˇr´ızen´ı navrhovan´eho automatu.
3.1.1
HDMI
HDMI (High-Definition Multi-media Interface) je rozhran´ı pro pˇren´aˇsen´ı obrazov´eho a zvukov´eho sign´alu v nekomprimovan´e podobˇe. Toto rozhran´ı jak n´azev napov´ıd´a poch´az´ı z multimedi´aln´ı oblasti pr˚ umyslu i pˇres to je jeho sign´al kompatibiln´ı s rozhran´ım DVI. Tato kompatibilita nen´ı stoprocentn´ı, jedno omezen´ı spoˇc´ıv´a v omezen´ı rozliˇsen´ı pˇren´aˇsen´eho obrazu. Dalˇs´ımi jsou neschopnost pˇren´aˇsen´ı zvuku a realizace funkˇcnosti CEC po rozhran´ı DVI. Z toho vypl´ yv´a ˇze v urˇcit´ ych pˇr´ıpadech je moˇzn´e pouˇz´ıt pˇr´ım´eho pasivn´ıho pˇrevodn´ıku HDMI na DVI. A to za pˇredpokladu ˇze zobra9
´ 3.2 MIKROKONTROLER zovac´ı zaˇr´ızen´ı dok´aˇze spr´avnˇe oddˇelit obrazov´a a zvukov´a data, kter´a jsou pˇren´aˇsena shodnou cestou. Za dobu sv´eho v´ yvoje existuje v´ıce verzi, kter´e doplˇ nuj´ı dalˇs´ı funkcionalitu napˇr. doplnˇen´ı o Ethernet ˇci postupn´e zvˇetˇsov´an´ı pˇrenosov´eho p´asma. HDMI rozhran´ı nejˇcastˇeji vyuˇz´ıv´a konektoru typu A, maj´ıc´ı 19 pin˚ u a je pr´avˇe kompatibiln´ı se zm´ınˇen´ ym DVI, sign´aly jsou uvedeny v tabulce [1] Tabulka 1: Sign´aly HDMI ˇ ıslo C´
Funkce
ˇ ıslo C´
Funkce
1
TMDS Data2+
11
TMDS Clock Shield
2
TMDS Data2 Shield
12
TMDS Clock–
3
TMDS Data2–
13
CEC
4
TMDS Data1+
14
Reserved (N.C. on device)
5
TMDS Data1 Shield
15
SCL
6
TMDS Data1–
16
SDA
7
TMDS Data0+
17
DDC/CEC Ground
8
TMDS Data0 Shield
18
+5 V Power (max 50 mA)
9
TMDS Data0–
19
Hot Plug Detect
10
TMDS Clock+
3.2
Mikrokontrol´ er
Z poˇzadavk˚ u na ostatn´ı perif´erie jako jsou vstupy, v´ ystupy, RS-485 a SPI pro komunikaci s A/D pˇrevodn´ıky jsme zvolili mikrokontrol´er STM32F051R8. Je to 32-bitov´ y mikrokontrol´er ARM Cortex M0 7 implementuj´ıc´ı ARMv6-M architekturu. Pro naˇsi aplikaci disponuje dostateˇcn´ ym v´ ykonem a m´a n´asleduj´ıc´ı parametry. • 48 MHz maxim´aln´ı frekvence • 64 KB programov´e pamˇeti • 8 KB SRAM pamˇeti 10
´ 3.2 MIKROKONTROLER • 55 GPIO z toho 36 GPIO 5 V tolerantn´ı • 8 univerz´aln´ıch ˇcasovaˇc˚ u • 2x SPI, 2x I2 C, 2x USART
Obr´azek 7: J´adro ARM Cortex M0 (pˇrevzato z [6]) ˇ Jednotliv´e vyjmenovan´e periferie vyuˇzijeme v naˇsem n´avrhu. Casovaˇ ce pro odmˇeˇrov´an´ı ˇcasu a prov´adˇen´ı cyklick´ ych operac´ı s v´ yhodou m˚ uˇzeme vyuˇz´ıt i pˇr´ım´e hardwarov´e podpory ke generov´an´ı sign´alu PWM. Tento sign´al je vhodn´ y ke sp´ın´an´ı v´ ykonov´eho analogov´eho v´ ystupu. Standardn´ı komunikaˇcn´ı rozhran´ımi jako je s´eriov´a linka j´ıˇz vyuˇzijeme pro realizaci RS-485, kdy mikrokontrol´er umoˇzn ˇuje vyuˇz´ıt i nˇekter´ y ze standardizovan´ ych protokol˚ u. Jedna sbˇernice SPI bude vyuˇzita pro pˇr´ıjem dat z A/D pˇrevodn´ıku, kter´ y m´a operaˇcn´ı napˇet´ı 5 V, tady je nutno poˇc´ıtat s vyuˇzit´ım k tomu pˇrizp˚ usoben´ ych vstup˚ u. Ke komunikaci s Raspberry Pi jsou v n´avrhu vyhrazeny sbˇernice SPI, jako rezerva nav´ıc jeˇstˇe sbˇernice I2 C. Z d˚ uvodu ˇze Raspberry Pi umoˇzn ˇuje provozovat SPI pouze v reˇzimu master, je pˇrid´an jeˇstˇe jeden univerz´aln´ı digit´aln´ı sign´al pro indikaci potˇreby komunikace smˇerem od mikrokontrol´eru. T´ım se vyhneme neust´al´emu dotazov´an´ı smˇerem k slave zaˇr´ızen´ı, zda m´a potˇrebu komunikovat. Veˇsker´e dalˇs´ı souˇca´sti jako vstupy, v´ ystupy, povolen´ı vys´ıl´an´ı apod. budou vyuˇz´ıvat GPIO bez speci´aln´ıch funkc´ı. Programov´an´ı bude nevrˇzeno standardn´ım zp˚ usobem pˇres 11
3.3 RS-485 ST-link v2, pro odladˇen´ı v aplikaci jsou pˇrid´ana tlaˇc´ıtka a signalizaˇcn´ı LED.
3.3
RS-485
Sbˇernice RS-485 je jedna z nejrozˇs´ıˇrenˇejˇs´ım standardizovan´ ych sbˇernic v pr˚ umyslov´e komunikaci. Zejm´ena z d˚ uvod˚ u jednoduch´e implementace a dobr´e odolnosti v˚ uˇci ruˇsen´ı. Pˇredstavuje nejˇcastˇejˇs´ı volbu jakou lze rozˇsiˇrovat modul´arn´ı syst´emy a v tomto pˇr´ıpadˇe pom˚ uˇze pˇr´ıpadn´emu zaˇclenˇen´ı, kde bude potˇreba vyuˇz´ıvat moˇznost´ı navrhovan´eho syst´emu. Ruku v ruce s t´ımto rozhran´ım jdou t´eˇz komunikaˇcn´ı protokoly jako MODBUS ˇci jeho modifikace a dalˇs´ı uzavˇren´e protokoly r˚ uzn´ ych v´ yrobc˚ u zaˇr´ızen´ı.
Obr´azek 8: Sch´ema ADM2582E (pˇrevzato z [7])
Realizace t´eto sbˇernice je provedena napojen´ım na s´eriovou linku mikrokontrol´eru, tedy sign´aly vys´ıl´an´ı a pˇr´ıjmu TxD, RxD. Vedle nich jeˇstˇe ˇr´ıdic´ı sign´aly povoluj´ıc´ı 12
´ VYKONOV ´ ´ VYSTUP ´ 3.4 ANALOGOVY Y pˇr´ıjem a vys´ıl´an´ı RE, DE. Tyto sign´aly by principi´alnˇe nebyly potˇreba, ale pˇrin´aˇsej´ı moˇznost sn´ıˇzen´ı spotˇreby komunikaˇcn´ıho rozhran´ı a takt´eˇz menˇs´ı zatˇeˇzov´an´ı sbˇernice pˇripojen´ ymi posluchaˇci. Pˇrevod u ´rovn´ı mezi mikrokontrol´erem a komunikaˇcn´ım rozhran´ım obstar´av´a integrovan´ y obvod ADM2582E, jehoˇz struktura je na obr´azku 8. Dle vnitˇrn´ı blokov´e struktury integrovan´eho je zˇrejm´e, ˇze se jedn´a o verzi obvodu umoˇzn ˇuj´ıc´ı pˇripojen´ı do plnˇe duplexn´ı konfigurace komunikace s galvanick´ ym oddˇelen´ım obou stran s ochranou do ± 15 kV ESD. Aby toto oddˇelen´ı bylo plnˇe funkˇcn´ı, je t´eˇz potˇreba disponovat izolovan´ ym zdrojem nap´ajen´ı. V´ yhodnou volbou tohoto obvodu je jiˇz integrovan´ y oddˇelovac´ı DC-DC mˇeniˇc pro nap´ajen´ı, tento fakt znaˇcnˇe zjednoduˇsuje n´avrh. Zapojen´ı je doplnˇeno o moˇznost vˇrazen´ı zakonˇcovac´ıho odporu na veden´ı sbˇernice a takt´eˇz umoˇzn ˇuje funkˇcnost pˇri pˇripojen´ı na poloduplexn´ı komunikaci, jednoduchou zmˇenou konfigurace pomoc´ı zkratovac´ıch propojek.
3.4
Analogov´ y v´ ykonov´ y v´ ystup
Pro pos´ılen´ı v´ ystupu, moˇznosti sp´ınat napˇet´ı 48 V a proud 2 A pro ˇr´ızen´ı dvouf´azov´eho krokov´eho motorku, nebo dvou stejnosmˇern´ ych motork˚ u jsou pouˇzity dva pln´e H m˚ ustky realizovan´e v technologii DMOS. Realizovan´e integrovan´ ym obvodem L6205 v pouzdˇre PowerSO 20, vybaven´ ymi bˇeˇzn´ ymi ochranami, kter´e jsou pro jejich poˇzit´ı bˇeˇzn´e. Vnitˇrn´ı blokov´e sch´ema je vidˇet na obr´azku 9. Kaˇzd´ y m˚ ustek je plnˇe oddˇelen´ y a samostatnˇe ˇr´ıditeln´ y. Ovl´ad´an´ı se tedy prov´ad´ı tˇremi vstupn´ımi sign´aly na kaˇzd´ y m˚ ustek, dva sp´ınaj´ı tranzistory a tˇret´ı sign´alem je enable. Enable je sign´al, kter´ y je vhodn´ y pro vyuˇzit´ı pulznˇe ˇs´ıˇrkov´e modulace (PWM). Vhodnˇe je pˇripojen na odpov´ıdaj´ıc´ı v´ ystupy mikrokontrol´eru, kde je pˇr´ısluˇsn´ y sign´al jednoduˇse programovateln´ y a je generovan´ y pomoc´ı ˇcasovaˇce. M˚ ustek ke sv´e funkci potˇrebuje minimum dalˇs´ıch podp˚ urn´ ych souˇc´astek. Jedin´ ym doplnˇen´ım jsou souˇca´stky k realizaci n´abojov´e pumpy k zv´ yˇsen´ı napˇet´ı pro ˇr´ızen´ı tranzistor˚ u horn´ı poloviny m˚ ustku. Sch´ema zapojen´ı samotn´eho m˚ ustku jen na obr´azku 10. Vstupn´ı u ´rovnˇe sign´alu pro ˇr´ızen´ı m˚ ustku jsou vstupn´ı o u ´rovni napˇet´ı 5 V, pˇriˇcemˇz n´ami pouˇz´ıvan´ y mikrokontrol´er pracuje na napˇet´ı o u ´rovni 3,3 V. V tomto pˇr´ıpadnˇe je 13
´ VYKONOV ´ ´ VYSTUP ´ 3.4 ANALOGOVY Y
Obr´azek 9: Blokov´e sch´ema L6205 (pˇrevzato z [8])
Obr´azek 10: Sch´ema zapojen´ı H-m˚ ustku
14
3.5 ANALOGOVE´ VSTUPY vyuˇzito pro zmˇenu u ´rovnˇe galvanick´eho oddˇelen´ı obvod˚ u du´aln´ıch optoˇclen˚ u MOCD217M. Pomoc´ı nichˇz je jednak umoˇznˇeno prov´est potˇrebnou zmˇenu u ´rovnˇe sign´alu na 5 V pro ˇr´ızen´ı m˚ ustku, tak i bezpeˇcn´e oddˇelen´ı v´ ykonov´e ˇca´sti od ostatn´ıch. Konkr´etn´ı zapojen´ı oddˇelen´ı je obdobn´e jako v pˇr´ıpadˇe izolovan´ ych v´ ystup˚ u 14.
3.5
Analogov´ e vstupy
Ke sledov´an´ı hodnot napˇet´ı, kter´e jsou funkˇcnˇe z´avisl´e na vyhodnocovan´e jin´e fyzik´aln´ı veliˇcinˇe n´am poslouˇz´ı dva navrˇzen´e analogov´e vstupy. Ty to vstupy poskytuj´ı dostateˇcn´ y rozsah pro vstupn´ı sign´al a takt´eˇz tedy i odolnost na vstupu. Zpracov´avaj´ı sign´al proch´azej´ıc´ı kan´alem“ operaˇcn´ıch zesilovaˇc˚ u, kter´e jej d´ale upravuj´ı pro n´asledn´ y ” pˇrevod pomoc´ı A/D pˇrevodn´ıku. Pˇrevodn´ık po komunikaˇcn´ı sbˇernic pˇred´a mikrokontrol´eru hodnotu jiˇz v digit´aln´ı podobˇe, kde s n´ı m˚ uˇzeme d´ale pracovat, jak potˇrebujeme. Kaˇzd´ y vstup se skl´ad´a z ˇretˇezce prvk˚ u, kter´e jsou vidˇet na obr´azku 11.
Obr´azek 11: Blokov´e sch´ema A/D kan´alu
Prvn´ım obvodem na vstupu je konkr´etn´ı obvod AD8253, jedn´a se tedy o digit´alnˇe programovateln´ y pˇr´ıstrojov´ y zesilovaˇc. V naˇs´ı aplikaci je nap´ajen´ y zdrojem pro analogovou ˇc´ast ± 12 V, t´ım je zajiˇstˇen velk´ y vstupn´ı a v´ ystupn´ı rozsah sign´al˚ u. Hlavn´ı a n´ami ˇza´danou funkcionalitou tohoto obvodu je programovateln´e zes´ılen´ı a t´ım moˇznost pˇresn´eho mˇeˇren´ı i slab´ ych u ´rovn´ı napˇet´ı na vstupu. Toto zes´ılen´ı je moˇzn´e vyuˇz´ıt jako 1, 10, 100 a 1000 kr´at, jeˇz je jednoduˇse nastaviteln´e pomoc´ı dvou sign´al˚ u A0, A1 a platnost tˇechto sign´al˚ u mus´ı b´ yt potvrzena jeˇstˇe jedn´ım sign´alem oznaˇcen´ ym WR. Ovl´adac´ı sign´aly jsou pˇrivedeny od mikrokontrol´eru, kdy n´am na ˇr´ızen´ı tˇechto dvou obvod˚ u staˇc´ı celkem pouze 4 sign´aln´ı vodiˇce. 15
3.5 ANALOGOVE´ VSTUPY
Obr´azek 12: Sch´ema zapojen´ı vstupn´ıch obvod˚ u A/D kan´alu
Za vstupn´ım zesilovaˇcem, n´asleduje plnˇe diferenci´aln´ı zesilovaˇc AD8475 s integrovan´ ymi precizn´ımi rezistory. U tohoto obvodu vyuˇz´ıv´ame moˇznosti zes´ılit vstupn´ı sign´al 0,4 kr´at a to z d˚ uvodu zeslaben´ı sign´alu kv˚ uli vstupu A/D pˇrevodn´ıku. Takt´eˇz na v´ ystupu pracujeme uˇz jen s unipol´arn´ım sign´alem, kdy vyuˇzijeme posunut´e nuly“ na ” v´ ystupu pomoc´ı referenˇcn´ıho napˇet´ı 2,5 V. Jak jiˇz bylo ˇreˇceno obvod je plnˇe diferenci´aln´ı tedy i v´ ystup. Avˇsak s n´ım jiˇz nepracujeme diferenci´alnˇe v˚ uˇci druh´emu v´ ystupu, ale v˚ uˇci analogov´e zemi, t´ım dojde k dalˇs´ımu c´ılen´emu zeslaben´ı sign´alu na polovinu. Sch´ema vstupu po tento obvod je na obr´azku 12. Ne vˇzdy je pro n´as ˇza´douc´ı mˇeˇrit vyˇsˇs´ı frekvence analogov´eho sign´alu, resp. ve spoustˇe aplikac´ı mohou b´ yt ruˇsiv´ ym elementem. Je tedy potˇreba je odfiltrovat v tomto pˇr´ıpadˇe v n´asleduje n´ızkofrekvenˇcn´ı filtr vytvoˇren´ y z diskr´etn´ıho operaˇcn´ıho zesilovaˇce, zapojen´eho s u ´tlumem 40 db/dek pro frekvence vyˇsˇs´ı neˇz 33 Hz. Obvod je moˇzn´e v pˇr´ıpadˇe potˇreby pˇreklenout a vyˇsˇs´ı frekvence sign´alu ponechat. Posledn´ım prvkem analogov´eho kan´alu je A/D pˇrevodn´ık, tedy pˇrevod z analogov´eho sign´alu na digit´aln´ı, kter´ y je koneˇcn´ ym v´ ystupem z t´eto obvodov´e ˇca´sti. Konkr´etn´ı obvodem realizuj´ıc´ım tento pˇrevod sign´alu realizuje je AD7450. Jde tedy o rychl´ y aˇz 1 MSPS, 12-bitov´ y aproximaˇcn´ı pˇrevodn´ık. Vstup pˇrevodn´ıku je diferenci´aln´ı. My toho vyuˇzijeme pˇriveden´ım napˇet´ı reference 2,5 V na invertuj´ıc´ı vstup. T´ım je zajiˇstˇen pˇrevod spr´avn´e hodnoty napˇet´ı, kdy je posunut´a nula“ pr´avˇe posunuta do hodnoty t´eto re” ference. Pˇrevod je inicializov´an mikrokontrol´erem a to digit´aln´ım sign´alem CS (Chip select). Na hranu tohoto sign´alu je vstup ovzorkov´an a pˇreveden. Samotn´ y pˇrevod a pˇrenos jednotliv´ ych bit˚ u je z´avisl´ y na sign´alu CLK (clock) sbˇernice SPI. Jelikoˇz obvod 16
´ ´I VSTUPY A VYSTUPY ´ 3.6 DIGITALN
Obr´azek 13: Sch´ema zapojen´ı filtru a pˇrevodn´ıku A/D kan´alu je nap´ajen z 5 V zdroje, je k mikrokontrol´eru pˇripojen na vstupy kter´e jsou odoln´e v˚ uˇci takov´e u ´rovni napˇet´ı. Pro omezen´ı proudu je navrˇzena moˇznost zapojit omezuj´ıc´ı rezistor. Sch´ema zapojen´ı filtru a pˇrevodn´ıku je na obr´azku 13.
3.6
Digit´ aln´ı vstupy a v´ ystupy
Jak´ekoliv vstupy a v´ ystupy i v t´e nejz´akladnˇejˇs´ı podobˇe zapnuto a vypnuto se vyuˇzij´ı k signalizaci, ˇci jednoduch´emu sp´ın´an´ı vybran´ ych prvk˚ u. M˚ uˇze se jednat o v´ ystupn´ı povely k nˇejak´ ym akc´ım a zpˇetnˇe mohou vstupovat signalizace hraniˇcn´ıch stav˚ u apod.
Obr´azek 14: Zapojen´ı izolovan´ ych vstup˚ u s v´ ystup˚ u V tomto n´avrhu poˇc´ıt´ame konkr´etnˇe s 10-ti vstupy a 10-ti v´ ystupy. Z d˚ uvodu 17
´ ´I 3.7 NAPAJEN pˇripojov´an´ı r˚ uznorod´ ych zaˇr´ızen´ı se jedn´a o izolovan´e galvanicky oddˇelen´e I/O. Toto ˇreˇsen´ı poˇzaduje dalˇs´ı oddˇelen´ y zdroj k nap´ajen´ı izolovan´eho v´ ystupu. Pouˇzit´ ym oddˇelen´ı jsou v obou pˇr´ıpadech oddˇelovac´ı optrony v du´aln´ım ˇreˇsen´ı MOCD217M s izolaˇcn´ı schopnost´ı 2,5 kV. Vyuˇzit´ı tohoto ˇreˇsen´ı pro oddˇelen´ı vstupu n´am umoˇzn´ı tedy izolovat a ochr´anit elektroniku od vnˇejˇs´ıch vliv˚ u. Jejich v´ yhodou je ˇsirok´ y rozsah proudov´e zatiˇzitelnost emituj´ıc´ı diody, to pˇrin´aˇs´ı moˇznost vˇetˇs´ıho rozsahu napˇet´ı na vstupu. Konkr´etn´ı zapojen´ı jednoho izolovan´eho vstupu a v´ ystupu je zachycen´e na obr´azku 14. Jak je ze zapojen´ı zˇrejm´e na v´ ystupu oddˇelovaˇce jsou pouˇzity pull-down rezistory. To z d˚ uvodu ˇze optron je realizovan´ y pomoc´ı fototranzistoru a v tomto pˇr´ıpadˇe sign´al nebude invertovan´ y.
3.7
Nap´ ajen´ı
Potˇreby kladen´e na nap´ajen´ı vych´azej´ı z jednotliv´ y prvk˚ u obsaˇzen´ ych v n´avrhu a jejich spotˇreby. Nejprve je potˇreba poˇzadavky na nap´ajen´ı oddˇelit od sebe dle toho s jak´ ymi sign´aly pracuj´ı, tedy analogov´e a digit´aln´ı. A d´ale t´eˇz podle napˇet´ı a pˇr´ısluˇsn´eho odbˇeru nˇekter´e m˚ uˇzeme oznaˇcit jako v´ ykonov´e. N´ami zvolen´e zdroje jsou n´asleduj´ıc´ı: • transform´ator 9 V @ 10 VA – zdroj nap´ajen´ı pro digit´aln´ı obvody • transform´ator 2 x 15 V @ 1 VA – nap´ajen´ı pro analogov´e obvody • sp´ınan´ y zdroj 24 V @ 100 W – nap´ajen´ı pro v´ ykonov´e v´ ystupn´ı obvody Jak je vidˇet jedn´a se o r˚ uznorod´e zdroje odpov´ıdaj´ıc´ı sv´ ymi parametry oblasti jejich vyuˇzit´ı v naˇs´ı aplikaci. V´ ystupn´ı napˇet´ı je potˇreba jeˇstˇe stabilizovat a odvodit odpov´ıdaj´ıc´ı u ´rovnˇe napˇet´ı. Pro digit´aln´ı ˇc´ast je nejprve stabilizov´ano napˇet´ı 5 V, kter´e je na v´ ystupu sp´ınan´eho regul´atoru LMZ12001. Toto napˇet´ı je pouˇzito pro Raspberry Pi platformu, kter´a si jej na desce sama d´ale upravuje. V naˇsem n´avrhu je jeˇstˇe sn´ıˇzeno na 3,3 V line´arn´ım regul´atorem LF33. A n´aslednˇe pouˇzito pro nap´ajen´ı vˇsech digit´aln´ıch obvod˚ u, vyjma v´ ystup˚ u. Pro nap´ajen´ı v´ ystup˚ u je pouˇzit jeˇstˇe oddˇeluj´ıc´ı izolovan´ y DC/DC mˇeniˇc MEE1S0303SC. Sch´ema ˇca´sti nap´ajen´ı pro digit´aln´ı ˇca´st je vyobrazeno na 15. Pro analogovou ˇc´ast jsou vyuˇzity dvˇe oddˇelen´a vinut´ı transform´atoru k jednoduch´emu vytvoˇren´ı napˇet´ı ± 12 V. Obˇe vˇetve jsou realizov´any line´arn´ımi regul´atory 18
´ ´I 3.7 NAPAJEN
Obr´azek 15: Sch´ema nap´ajen´ı pro digit´aln´ı ˇc´ast
Obr´azek 16: Sch´ema nap´ajen´ı pro analogovou ˇca´st
19
´C ˇAST ´ 3.8 MECHANICKA LM3480IM3-12, kdy vhodnou kombinac´ı v´ ystup˚ u z´ısk´ame poˇzadovan´ ych ± 12 V. Paralelnˇe od jedn´e vˇetve je t´eˇz odvozeno napˇet´ı 5 V, pro analogov´e obvody, takt´eˇz line´arn´ım regul´atorem LM3480IM3-5.0. Sch´ema ˇca´sti nap´ajen´ı pro analogovou ˇca´st je vyobrazeno na 16. Zb´ yvaj´ıc´ım zdrojem je zdroj pro v´ ykonovou ˇca´st, kter´ y je realizovan´ y pomoc´ı sp´ınan´eho vestavn´eho zdroje MEAN WELL S-100F-24. Oddˇelen´ı v´ ykonov´eho v´ ystupu jeˇstˇe poˇzaduje izolovan´e napˇet´ı 5 V, kter´e je z´ısk´ano z tˇechto 24 V line´arn´ım regul´atorem TPS79850.
3.8
Mechanick´ aˇ c´ ast
K zapouzdˇren´ı ˇreˇsen´ı celistv´eho syst´emu, jak desky navrhovan´eho ploˇsn´eho spoje, tak platformy Raspberry Pi i sp´ınan´eho zdroje byla kovov´a krabiˇcka U-KK09-23251. Tato krabiˇcka je v U“ proveden´ı o rozmˇerech 235 x 257 x 83 mm do n´ıˇz se vˇsechny ˇc´asti ” vejdou. Z volby zapouzdˇren´ı n´am vych´az´ı velikost ploˇsn´eho spoje a to hlavnˇe jeho ˇs´ıˇre v oblasti pˇredn´ıho panelu, kde jsou um´ıstˇeny konektory v pˇr´ım´em proveden´ı na DPS. Veˇsker´e konektory jsou um´ıstˇeny v oblasti nad ploˇsn´ ym spoje a vych´azej´ı z jedn´e ˇrady nasunovac´ıch konektor˚ u PTR ˇrady STL1550 s rozteˇc´ı 3,5 mm. Na zadn´ım panelu zb´ yv´a m´ısto pro konektor s´ıt’ov´eho nap´ajen´ı a dalˇs´ı konektory HDMI, USB a Ethernet, kde jsou v panelov´em proveden´ı. To n´am d´av´a moˇznost volnosti v jejich um´ıstˇen´ı. Podoba pˇredn´ıho panelu, konkr´etnˇe ˇca´sti ve kter´e se nach´azej´ı konektory a kompletn´ı v´ yrobn´ı podklady jsou v pˇr´ıloze A.
20
Kapitola 4
Grafick´ y v´ ystup
Dnes mezi nejˇcastˇeji uˇz´ıvan´e ˇreˇsen´ı vizualizace je vyuˇzit´ı jednoduch´ ych grafick´ ych displej˚ u, kter´e jsou pˇr´ımo pˇripojen´e k mikrokontrol´eru. Tyto displeje poskytuj´ı moˇznosti vyuˇz´ıvat prvk˚ u grafick´ ych primitiv, ˇci pokroˇcil´ ych knihoven, kter´e ne vˇzdy musej´ı b´ yt kompatibiln´ı napˇr´ıˇc mikrokontrol´ery. Druh´ ym moˇzn´ ym uˇz´ıvan´ ym ˇreˇsen´ı v oblasti vizualizace je uˇzit´ı tzv. Inteligentn´ıho displeje. Rozd´ıl od klasick´eho spoˇc´ıv´a ve faktu, ˇze logika vykreslov´an´ı, tedy i dostupn´e grafick´e prvky zahrnut´e v knihovnˇe jsou pˇr´ımo v displeji. Ovl´ad´an´ı prob´ıh´a pomoc´ı zas´ıl´an´ı pˇr´ıkaz˚ u, po bˇeˇznˇe uˇz´ıvan´ ych perifern´ıch sbˇernic´ıch, kter´ ym displej interpretuje. Velmi ˇcasto umoˇzn ˇuj´ı vyuˇz´ıvat dotykov´ ych panel˚ u. Jin´ ym obdobn´ ym moˇzn´ ym ˇreˇsen´ım b´ yv´a odes´ıl´an´ı stavov´ ych dat po sbˇernic´ıch typu RS-485 nebo po s´ıti Ethernet. Kdy jsou pˇren´aˇsena data s identifik´atorem a aˇz v c´ılov´em zaˇr´ızen´ı jsou zpracov´ana, resp. svou grafickou interpretaci z´ısk´avaj´ı aˇz zde.
4.1
Inteligentn´ı displeje
N´aˇs cel´ y syst´em je vlastnˇe myˇslenkou vytvoˇren´ı jednoduch´eho programovateln´eho automatu, doplnˇen´eho o inteligentn´ı displej, kter´ y je prezentovan´ y libovoln´ ym displayem. D´ıky dostupn´e konektivitˇe takt´eˇz z˚ ust´av´a zachov´ana i moˇznost stavov´a data prostˇe nˇekam pos´ılat k dalˇs´ımu zpracov´an´ı. C´ılem je navrhnout univerz´aln´ı grafickou knihovnou, kter´e by byla v pouˇz´ıv´an´ı obdobou inteligentn´ıch displej˚ u. Proto se na ˇreˇsen´ı nˇekter´ ych z´astupc˚ u kr´atce pod´ıv´ame. 21
4.1 INTELIGENTN´I DISPLEJE
4.1.1
4D Systems PICASO
V´ yrobce nab´ızej´ıc´ı celou ˇsk´alu produkt˚ u z oblasti zobrazov´an´ı. V naˇsem z´ajmu jsou moduly inteligentn´ıch displej˚ u a grafick´ ych procesor˚ u. Ve vˇetˇsinˇe pˇr´ıpad˚ u se jedn´a o modulov´e ˇreˇsen´ı displeje napˇr. µLCD-35DT a ˇreˇsen´ı disponuj´ıc´ı VGA napˇr. µVGA-III, zaloˇzen´e na firemn´ım procesoru oznaˇcen´em jako PICASO. Moˇznosti tˇechto produkt˚ u jsou obdobn´e nejv´ıce se odliˇsuj´ı v´ ystupem resp. dostupn´ ym rozliˇsen´ım. Konkr´etn´ı podoba v´ ystupu se vytv´aˇr´ı v grafick´e aplikaci, kdy objekty je moˇzno uˇzivatelsky pˇrizp˚ usobit. Tato pˇrizp˚ usoben´ı se do modul˚ u vkl´adaj´ı uloˇzen´e na mikro SD kartˇe. V´ yhodn´e je ˇze moduly mohou pracovat samy o sobˇe, kdy funguj´ı jako mikrokontrol´ery s pˇr´ısluˇsn´ ymi vstupy a v´ ystupy, dle ˇreˇsen´ı.
Obr´azek 17: 4D Systems inteligentn´ı display (pˇrevzato z [9])
Parametry µVGA-III • VGA rozhran´ı. • Rozliˇsen´ı aˇz 800x480. • Podpora 4DGL grafick´e knihovny. • S´eriov´e rozhran´ı. • I2 C, 13 x GPIO 22
ˇ 4.2 RASPBERRY PI JAKO ZOBRAZOVAC
4.1.2
FTDI EVE
Jedn´a se o ˇreˇsen´ı pro inteligentn´ı displeje, kter´e se snaˇz´ı aplikaci oprostit od n´arok˚ u na grafick´ y v´ ykon. Mezi jeho moˇznosti pouˇzit´ı pˇripad´a t´eˇz moˇznost pˇrehr´av´an´ı zvuku. Je nutn´e naprogramovat objekty se kter´ ymi se bude pracovat, resp. je ovl´adat. Existuj´ı proveden´ı pro dotykov´e displeje na kapacitn´ım i resistivn´ım principu. V´ yhodou je dostupnost ˇreˇsen´ı v proveden´ı modulu a nebo samostatn´eho integrovan´eho obvodu pro n´avrh pˇr´ımo v aplikaci. Nev´ yhodou je omezen´a moˇznost pouˇzit´ı grafick´ ych objekt˚ u. Z n´asleduj´ıc´ıch parametr˚ u je patrn´e ˇze jsou pˇrednˇe urˇcen´e pro mal´e LCD displeje, kter´e jsou omezen´e rozliˇsen´ım a jejich ne pˇr´ıliˇs pˇr´ıvˇetivou cenou. Parametry FT800 • Pro dotykov´e panely. • Rozliˇsen´ı aˇz 512x512 s rozhran´ım RGB-6,6,6. • Komunikace po I2 C, SPI. • Audio PCM.
4.2
Raspberry Pi jako zobrazovaˇ c
Jak jiˇz bylo zm´ınˇeno, v´ ystupn´ı interface, na kter´ y budou generov´ana v´ ystupn´ı obrazov´a data, je um´ıstˇen´ y na Raspberry Pi v podobˇe HDMI/DVI. Tato platforma funguje pod operaˇcn´ım syst´emem linux a dalˇs´ıch jako napˇr. RISC OS. Mezi deriv´aty linuxu je nejv´ıce komunitnˇe podporovan´ y syt´em Raspbian, coˇz je obdoba Debianu sestaven´a pro tuto platformu. Kompletn´ı pˇrehled a z´ıskat je lze na webu 1 . Pro naˇse potˇreby zvol´ıme zˇrejmˇe nejrozˇs´ıˇrenˇejˇs´ı a to Raspbian. Pr´avˇe z d˚ uvodu shodn´eho ovl´ad´an´ı z klasick´e PC platformy. Z uveden´ ych fakt˚ u je zˇrejm´e, ˇze nab´ız´ı obdobn´e funkce, kter´e jsou zn´am´e z klasick´eho poˇc´ıtaˇcov´eho svˇeta. Naˇs´ım c´ılem je vyuˇz´ıt z´akladn´ı grafick´e funkce k vyobrazov´an´ı stavov´ ych informac´ı a takt´eˇz zpracov´avat zpˇetnou interakci od uˇzivatele. Vhodnou moˇznost´ı k zpracov´an´ı ud´alost´ı je vyuˇz´ıt sluˇzeb jednoduch´eho GUI, a m´ıt tak u 1
https://www.raspberrypi.org/downloads/, Platn´e k 8.4.2015
23
ˇ 4.2 RASPBERRY PI JAKO ZOBRAZOVAC vykreslov´an´ı moˇznost volby vyuˇz´ıvat grafick´ ych primitiv, tak pˇripraven´ ych prvk˚ u. V naˇsem pˇr´ıpadˇe budeme at’ aˇz nepˇr´ımo nebo pˇr´ımo k tomuto vyuˇz´ıvat OpenGL ES. Z toho vypl´ yv´a, ˇze budeme vytv´aˇret grafick´e objekty se kter´ ymi bude moˇzn´e pracovat, obdobnˇe jako u inteligentn´ıch displej˚ u. Z´aroveˇ n t´ım ˇze se ke zpracov´an´ı ud´alost´ı a vykreslov´an´ı n´ami nevrˇzen´ ych grafick´ ych objekt˚ u budeme vyuˇz´ıvat GUI. Abychom mohli vyuˇz´ıvat vˇsech dostupn´ ych moˇznost´ı, kter´e zde uvaˇzujeme, je potˇreba danou platformu nejprve nainstalovat a patˇriˇcnˇe nakonfigurovat.
4.2.1
Instalace a konfigurace
Jak je v´ yˇse uvedeno k funkci je potˇreba vyuˇz´ıvat vybran´ y operaˇcn´ı syst´em. V naˇsem pˇr´ıpadˇe ze zm´ınˇen´eho d˚ uvodu je zvolen´eho ˇreˇsen´ı na b´azi linuxu a to Raspbian. Instalace je velmi jednoduch´a, spoˇc´ıv´a v z´ısk´an´ı instalaˇcn´ıho obrazu na v´ yˇse zm´ınˇen´em webu, jeho pˇrenesen´ım na SD kartu a n´asledn´ ym spuˇstˇen´ım. Pˇrenos na SD kartu provedeme pomoc´ı softwarov´eho n´astroje Win32DiskImager. Pˇri prvn´ım spuˇstˇen´ı je potˇreba vyuˇz´ıvat pˇripojen´eho displeje a ovl´adac´ıch periferi´ı, konkr´etnˇe kl´avesnice. Po spuˇstˇen´ı a naˇcten´ı syst´emu probˇehne kr´atk´a konfigurace, kter´e spoˇc´ıv´a v nastaven´ı jazykov´e mutace. D´ale pˇrizp˚ usoben´ı syst´emu velikosti pouˇzit´e SD karty, nastaven´ı velikosti sd´ılen´e pamˇeti pro grafick´ y procesor a povolen´ı n´ızko´ urovˇ nov´ ych periferi´ı. V neposledn´ı ˇradˇe povolen´ı SSH pro vzd´alen´ y pˇr´ıstup a nastaven´e do jak´eho prostˇred´ı se bude bˇeˇznˇe syst´em spouˇstˇet. Tato instalace je obdobn´a i pro dalˇs´ı dostupn´e distribuce, jen z´aleˇz´ı na konfiguraˇcn´ıch specifik´ach dan´eho deriv´atu existuj´ı, ale jsou i v´ yjimky kdy je potˇreba instalovat plnˇe ruˇcnˇe. Pro naˇsi volbu byl pr´avˇe dostupn´ y skript konfigur´atoru, kter´ y dan´ y proces velmi ulehˇcil, avˇsak i ostatn´ı maj´ı podrobnou dokumentaci. D´ıky poˇcetn´e komunitˇe, kter´a stoj´ı za projektem t´eto platformy existuje mnoho knihoven pro pr´aci s n´ızko´ urovˇ nov´ ymi periferiemi. Jednou takovou je knihovna WiringPi, je dostupn´a po programovac´ı jazyk C. Tato knihovna byla vyuˇzita pro otestov´an´ı n´ami uvaˇzovan´ ych perif´eri´ı jako SPI, TWI a GPIO. Nejjednoduˇsˇs´ı otestov´an´ı schopnosti tyto periferie ovl´adat bylo provedeno na odpov´ıdaj´ıc´ıch s´eriov´ ych pamˇetech. Samotn´ y 24
ˇ 4.2 RASPBERRY PI JAKO ZOBRAZOVAC grafick´ y v´ ystup funguje ihned po zapnut´ı a kompatibilita OpenGL ES byla ovˇeˇrena pomoc´ı pˇriloˇzen´ ych demo aplikac´ı v syst´emu. Tedy platforma je takto pˇripravena pro pr´aci.
25
Kapitola 5
Testov´ an´ı Testov´an´ı navrˇzen´eho a sestaven´eho zaˇr´ızen´ı je nejd˚ uleˇzitˇejˇs´ı ˇc´ast´ı, kterou je potˇreba prov´est pro ovˇeˇren´ı pr´avnosti n´avrhu a funkˇcnosti cel´e realizace. Podstata oˇzivov´an´ı a testov´an´ı spoˇc´ıv´a v programov´an´ı samotn´eho mikrokontrol´eru, kter´ y ovl´ad´a jednotliv´e periferie.
Obr´azek 18: CooCox IDE K programov´an´ı bylo vyuˇzito v´ yvojov´eho prostˇred´ı CooCox, na obr´azku 18, kter´e umoˇzn ˇuje tvorbu aplikaˇcn´ıch program˚ u v programovac´ım jazyce C. K dispozici jsou standardn´ı knihovny od STmicroelectronics k ovl´ad´an´ı jednotliv´ ych periferi´ı, tak je v´ yvoj jednoduˇsˇs´ı. V´ yhodou tohoto prostˇred´ı je tak´e, ˇze obsahuje debuger a je tedy moˇzn´e aplikaci odladit pˇr´ımo v mikrokontrol´eru. K programov´an´ı a ladˇen´ı byl vyuˇzit ST-link v2, kter´ ym disponuje ST discovery kit, je vidˇet na obr´azku 19. 26
´ ´I APLIKACE 5.1 OVLADAC
Obr´azek 19: ST discovery kit (pˇrevzato z [10])
Pomoc´ı tˇechto zm´ınˇen´ ych n´astroj˚ u byl otestov´an navrˇzen´ y hardware po jednotliv´ ych d´ılˇc´ıch periferi´ıch, abychom je mohli s jistotou pouˇz´ıvat jako celku v testovac´ı aplikaci. Z tˇechto d´ılˇc´ıch ˇca´st´ı byl vytvoˇren ˇr´ıdic´ı program k ˇr´ızen´ı d´ale zm´ınˇen´emu pˇr´ıpravku Thompsonova-Lampardova etalonu kapacity. Tento program bude ˇr´ıdit mˇeˇren´ı na dan´em pˇr´ıpravu na z´akladˇe pˇr´ıkaz˚ u, kter´e budou pos´ıl´any ovl´adac´ı aplikace vytvoˇren´e na Raspberry Pi.
5.1
Ovl´ adac´ı aplikace
Ovl´ad´an´ı jednotliv´ ych akc´ı automatu je prov´adˇeno pro tyto u ´ˇcely testov´an´ı z platformy ˇ ıdic´ı pˇr´ıkazy jsou pˇren´aˇseny po komunikaˇcn´ı sbˇernici do mikrokonRaspberry Pi. R´ trol´eru. Aplikace je vytvoˇrena a naps´ana v programovac´ım jazyce C++ s vyuˇzit´ım jednoduch´eho grafick´eho prostˇred´ı, kter´e je navrˇzeno pro tento konkr´etn´ı u ´ˇcel. K vytvoˇren´ı ovl´adac´ıho prostˇred´ı je vyuˇzito multiplatformn´ıho Qt frameworku, za pouˇzit´ı QtCreatoru. 27
´ ´I APLIKACE 5.1 OVLADAC
5.1.1
Qt framework
Jde o multiplatformn´ı knihovnou, kter´e je dostupn´a od desktopov´eho prostˇred´ı pˇres embedded aˇz po mobiln´ı zaˇr´ızen´ı. Knihovna je zamˇeˇren´a nejen na uˇzivatelsk´e rozhran´ı, ale i dalˇs´ı multimedi´aln´ı a komunikaˇcn´ı ˇca´sti, kter´e jsou tedy dostupn´e v r´amci jednoho bal´ıku. Licenˇcnˇe je dostupn´ y jak pro komerˇcn´ı vyuˇzit´ı, tak i pro v´ yvoj open source, za pˇredpokladu splnˇen´ı dan´ ych podm´ınek. Tato knihovna je pˇrednˇe vyv´ıjena v jazyce C++, ale je portov´ana i na jin´e programovac´ı jazyky, jako je napˇr´ıklad Prython. Aˇckoliv se jedn´a o programovac´ı jazyk C++, je potˇreba vyuˇz´ıt dan´e kompilaˇcn´ı n´astroje, kter´e jsou bˇeˇznˇe dostupn´e. A to z d˚ uvodu ˇze je m´ırnˇe rozˇs´ıˇren´ y v oblasti ˇs´ıˇren´ı a zpracov´an´ı ud´alost´ı od objekt˚ u. Toto specifikum jsou tzv. sloty a sign´aly. V podstatˇe se jedn´a o bˇeˇznˇe zn´am´e callbacky, v pˇr´ıpadˇe slot˚ u a sign´al˚ u je pˇrid´ana typov´a kontrola, kter´a pˇrin´aˇs´ı jist´e bezpeˇc´ı. Dalˇs´ı v´ yhodami je, ˇze je mohou obsahovat jak´ekoli objekty zdˇedˇen´e od z´akladn´ıho objektu a jejich napojov´an´ı metodou connect. Konkr´etn´ı moˇznosti pouˇzit´ı a specifika je moˇzn´e zhl´ednout na webu 2 .
5.1.2
Grafick´ a podoba
Samotn´a grafick´a podoba aplikace je navrˇzena pomoc´ı jiˇz zm´ınˇen´eho QtCreatoru, kter´ y umoˇzn ˇuje uˇzivatelsky, pˇr´ıvˇetivˇe sestavit jednoduch´e GUI. Tak i sestavit samotn´ y program, vˇcetnˇe napojen´ı v´ yˇse uveden´ ych sign´al˚ u, slot˚ u a tedy zpracov´avat uˇzivatelsk´e ud´alosti. N´avrh aplikace vych´az´ı z potˇrebn´ ych ˇr´ıdic´ıch ud´alost´ı a akc´ı, kter´e jsou potˇreba k mˇren´ı na modelu etalonu. S ohledem na tyto poˇzadavky v n´avrhov´em syst´emu vypad´a n´asledovnˇe 20. Kde je vidˇet n´ami vytvoˇren´ y formul´aˇr, dalˇs´ı prvky, kter´e je moˇzn´e pouˇz´ıt a jejich nastaven´ı. Program zpracov´an´ı ud´alost´ı, mus´ı takt´eˇz spolupracovat s knihovnou wiringPi, kter´a na dan´e platformˇe usnadˇ nuje pˇr´ıstup k periferi´ım, v naˇsem pˇr´ıpadˇe to je vyuˇz´ıv´an´ı SPI ke komunikaci s mikrokontrol´erem. 2
28
http://doc.qt.io/qt-4.8/signalsandslots.html, Platn´e k 7.5.2015
´ ´I APLIKACE 5.1 OVLADAC
Obr´azek 20: Aplikace v Qt Creatoru
5.1.3
Logika aplikace
Tato aplikace, jak je patrn´e je naps´ana v jazyce C++ za vyuˇzit´ı Qt frameworku, bude spouˇstˇena na platformˇe Raspberry Pi, jeˇze je souˇc´ast´ı naˇseho automatu. V podobˇe testovac´ı aplikace mus´ı implementovat komunikaci pomoc´ı periferi´ı, kter´e ji propojuj´ı s naˇs´ı rozˇsiˇruj´ıc´ı deskou. K tomu mus´ı m´ıt definovan´ y zp˚ usob zach´azen´ı s konkr´etn´ımi pˇr´ıkazy a jejich v´ yznamem. Pro pˇr´ıstup k periferi´ım na RaspberryPi byla vyuˇzita zmiˇ novan´a knihovna wiringPi. Knihovna umoˇzn ˇuje pˇr´ıstup k jednotliv´ ym pin˚ um, tak i dostupn´ ym periferi´ım a poskytuje dalˇs´ı funkcionalitu. V r´amci t´eto aplikace budeme vyuˇz´ıvat pˇr´ıstup k pin˚ um a sbˇernici SPI, kter´e je potˇreba pouze jednoduˇse inicializovat. N´asleduj´ıc´ım zp˚ usobem se naˇcte samotn´a knihovna a inicializuje se SPI kan´al 1 s hodinov´ ym sign´alem o frekvenci 3 MHz.
29
´ ´I APLIKACE 5.1 OVLADAC
i f ( w i r i n g P i S e t u p ()==−1) { p r i n t f ( ” N e l z e i n i c i a l i z o v a t knihovnu \n ” ) ; return 1; }
i f ( w i r i n g P i S P I S e t u p ( 1 , 3000000)==−1) { p r i n t f ( ” N e l z e i n i c i a l i z o v a t SPI \n ” ) ; return 1; }
Kompletn´ı komunikace se tedy odehr´av´a po sbˇernici SPI, RaspberryPi m´a v t´eto vˇeci nev´ yhodu, ˇze mus´ı b´ yt pˇri t´eto komunikaci jedinˇe master. V tomto pˇr´ıpadˇe bylo zvoleno ˇreˇsen´ı potˇreby komunikace od rozˇsiˇruj´ıc´ı desky periodick´ ym dotazov´an´ım se zda jsou dostupn´a nˇejak´a data pro pˇrenos. Tento fakt sebou obn´aˇs´ı konfiguraci univerz´aln´ıho ˇcasovaˇce. V tomto pˇr´ıpadˇe je vyuˇzito syst´emov´eho ˇcasovaˇce, kter´ y je dostupn´ y pod Qt frameworkem. To s sebou nese jist´e omezen´ı a to v minim´aln´ım ˇcasov´em u ´seku 1 ms, kter´ y nen´ı nijak garantov´an. Za u ´ˇcelem zobrazov´an´ı stavov´ ych dat nebo zpracov´an´ım uˇzivatelsk´ ych pˇr´ıkaz˚ u, kter´e nejsou ˇcasovˇe kritick´e, je toto ˇreˇsen´ı dostaˇcuj´ıc´ı. Z´ısk´av´an´ı a zpracov´an´ı standardizovan´ ych pˇr´ıkaz˚ u na RaspberryPi je n´asleduj´ıc´ı
30
´ 5.2 PROGRAM PRO MIKROKONTROLER
wiringPiSPIDataRW ( 1 , &cmd , 1 ) ;
i f (cmd == 0 x11 | | cmd == 0 x22 | | cmd == 0 x33 | | cmd == 0 x44 | | cmd == 0 x55 ) { wiringPiSPIDataRW ( 1 , &data0 , 1 ) ; wiringPiSPIDataRW ( 1 , &data1 , 1 ) ; wiringPiSPIDataRW ( 1 , &data2 , 1 ) ;
} else { t h i s −>t i m e r . s t a r t ( 1 0 0 0 ) ; return ; }
Z uveden´eho u ´ryvku k´odu se d´a vyˇc´ıst, ˇze v testovac´ı aplikaci vystaˇc´ıme s minimem pˇr´ıkaz˚ u. Takt´eˇz komunikace po SPI m´a pevnˇe definovan´ y r´amec a to pˇrid´av´a na bezpeˇcnosti komunikace. Kdyˇz se pod´ıv´ame na konkr´etn´ı pˇr´ıkazy, tak maj´ı n´asleduj´ıc´ı v´ yznam: • 0x11 - pˇri pˇr´ıjmu znamen´a potvrzen´ı o inicializaci. • 0x22 - potvrzuje v´ ychoz´ı posuv, n´asleduje poˇcet krok˚ u kter´e byly vykon´any. • 0x33 - po tomto pˇr´ıkazu pˇrijme hodnotu z A/D pˇrevodn´ıku, resp. vyv´aˇzen´ı mostu. • 0x44 - potvrzuje konec mˇeˇren´ı, je n´asledov´an poˇctem vykonan´ ych krok˚ u. • 0x55 - potvrzen´ı, ˇze mikrokontrol´er je ve v´ ychoz´ım stavu. Pomoc´ı v´ yˇse jmenovan´ ych pˇr´ıkaz˚ u je v t´eto aplikaci automat uˇzivatelsky ovl´ad´an. Dˇeje se tomu tak na z´akladˇe uˇzivatelsk´ ych akc´ı z formul´aˇre aplikace. Tedy vybran´e akce zp˚ usob´ı vysl´an´ı pˇr´ıkazu a toto jsou adekv´atn´ı odpovˇedi po jejich zpracov´an´ı a vykon´an´ı.
5.2
Program pro mikrokontrol´ er
Tento program je z´asadn´ı pro funkcionalitu cel´eho programovateln´eho automatu. V toto pˇr´ıpadˇe jde o modifikovanou verzi uvaˇzovanou pro univerz´aln´ı knihovnu. Ve sv´e 31
´ 5.2 PROGRAM PRO MIKROKONTROLER upraven´e funkcionalitˇe odr´aˇz´ı potˇreby, jeˇz jsou potˇrebn´e v testovac´ı aplikaci, kter´e jsou kritick´e. Z´akladem tohoto programu je inicializace vstup˚ u a v´ ystup˚ u, d´ale odpov´ıdaj´ıc´ı konfigurace periferi´ı, jak je dle zapojen´ı rozˇsiˇruj´ıc´ı desky tˇreba. Dalˇs´ı akce na stranˇe mikrokontrol´eru jsou d´any dle pˇrijat´ ych pˇr´ıkaz˚ u a jejich parametr˚ u. Tyto pˇr´ıkazy odpov´ıdaj´ı periferi´ım, kter´ ymi deska disponuje. Implementuje tedy funkˇcnost komunikace po sbˇernici SPI k RaspberryPi, tedy tu po kter´e pˇrij´ım´a pˇr´ıkazy a vrac´ı zpr´avy o proveden´ı ˇci stavu. Jednou funkc´ı je ovl´ad´an´ı h-m˚ ustku k ˇr´ızen´ı krokov´eho motorku. Je realizov´ano posloupnost´ı stav˚ u f´az´ı motorku, kter´e jsou potˇrebn´e k vykon´av´an´ı pohybu krokov´eho motorku, v tomto pˇr´ıpadˇe s poloviˇcn´ım krokem 21. Tyto kroky jsou vykon´av´any tolikr´at, podle pˇrijat´eho poˇctu krok˚ u za pˇr´ıkazem. Mezi kroky je tˇreba vyˇckat, tedy udˇelat nˇejak´e ˇcasov´e zpoˇzdˇen´ı. Tato vlastnost je realizov´ana pomoc´ı ˇcasovaˇce SysTick, kdy se pˇri pˇreruˇsen´ı vol´a pˇr´ısluˇsn´a rutina k vykon´an´ı roku.
ˇ ızen´ı krokov´eho motorku s poloviˇcn´ım krokem (Pˇrevzato z [11]) Obr´azek 21: R´ N´aslednˇe implementuje funkcionalitu A/D pˇrevodn´ıku. Tento pˇrevodn´ık je typu SAR a je pˇripojen´ y na druhou sbˇernici SPI. Podle pˇrijat´eho pˇr´ıkazu je nejprve nastaveno zes´ılen´ı sign´alu na vstupu. N´aslednˇe spuˇstˇen pˇrevod, ten z pohledu mikrokontrol´eru je kompletn´ı po pˇrenosu 16-ti bit˚ u po sbˇernici SPI. Vyuˇzijeme tedy klasick´eho pˇreruˇsen´ı a data zpracujeme. V tomto pˇr´ıpadˇe je s odpov´ıdaj´ıc´ım pˇr´ıkazem poˇsleme k vizualizaci. Zb´ yvaj´ıc´ı funkcionalitou je nastavov´an´ı digit´aln´ı v´ ystup˚ u a ˇcten´ı digit´aln´ıch vstup˚ u. T´eto funkce je vyuˇzito v tomto pˇr´ıpadˇe k hl´ıd´an´ı stavu koncov´ ych sp´ınaˇc˚ u. Pro u ´ˇcel mˇeˇren´ı pomoc´ı testovac´ı aplikace je zde jeˇstˇe realizov´ana komplexn´ı funkce pro toto 32
ˇ ´I 5.3 MEˇREN mˇeˇren´ı. A to v podobˇe pohybu krokov´eho motorku, souvisle s t´ım podm´ınka na ˇcten´ı hodnoty A/D pˇrevodn´ıku a jej´ı porovn´an´ı s dˇr´ıve namˇeˇrenou hodnotou.
5.3
Mˇ eˇren´ı
Koneˇcn´e testov´an´ı jako celku bylo provedeno mˇeˇren´ım na modelu etalonu kapacity pracuj´ıc´ım na principu Thompsonova-Lampardova teoremu [12]. Zjednoduˇsenˇe se jedn´a o zaˇr´ızen´ı, kter´e m´a pˇresnˇe definovanou a st´alou kapacitu. Resp. zmˇenu kapacity, kter´a je polohou st´ın´ıc´ı elektrody, kter´a odstiˇ nuje dvojici na kter´e se mˇeˇr´ı. Poloha je ˇr´ızena pomoc´ı krokov´eho motorku, kter´ ym je realizov´an line´arn´ı posuv a tedy poloha, d´elka vysunut´ı st´ın´ıc´ı elektrody. Na obr´azku 22 je vidˇet model etalonu, resp. elektrod. Kde 1 - je posuvn´a st´ın´ıc´ı elektroda; 2 - pevn´a st´ın´ıc´ı elektroda; 3, 5 a 4, 6 - p´ary aktivn´ıch elektrod; L - ud´av´a aktivn´ı d´elku kapacity.
Obr´azek 22: Model elektrod etalonu (pˇrevzato z [12])
K mˇeˇren´ı kapacity budeme vyuˇz´ıvat mˇeˇric´ıho RLC mostu BM-539. A to tak, ˇze budeme mˇeˇrit hodnotu jeho vyv´aˇzen´ı v podobˇe analogov´e hodnoty napˇet´ı na jeho v´ ystupu. N´aˇs programovateln´ y automat je tedy pˇripojen´ y k zm´ınˇen´emu modelu etalonu kapacity a vyuˇz´ıv´a n´asleduj´ıc´ıch periferi´ı. Analogov´ y v´ ykonov´ y v´ ystup k ˇr´ızen´ı krokov´eho motorku. Digit´aln´ı v´ ystup k nap´ajen´ı“ bezpeˇcnostn´ıch koncov´ ych sp´ınaˇc˚ u a digit´aln´ı ” vstupy k sn´ım´an´ı sign´alu z tˇechto sp´ınaˇc˚ u. Analogov´ y vstup je vyuˇzit pro sn´ım´an´ı hodnoty vyv´aˇzen´ı RLC mostu. 33
ˇ ´I 5.3 MEˇREN Toto zapojen´ı je provedeno dan´ ym zp˚ usobem, kter´ y je pro tuto u ´lohu vyˇzadov´an. V´ yznam jednotliv´ ych konektor˚ u a jejich pin˚ u na naˇsem ˇr´ıdic´ım automatu, je uveden v pˇr´ıloze B. Nap´ajec´ı vodiˇc pro koncov´e sp´ınaˇce mus´ı b´ yt pˇripojen na digit´aln´ı v´ ystup ˇc.9. Sign´al z horn´ıho koncov´eho sp´ınaˇce (b´ıl´ y CINCH), je pˇriveden na digit´aln´ı vstup ˇc.9. a z doln´ıho koncov´eho sp´ınaˇce (ˇzlut´ y CINCH) na digit´aln´ı vstup ˇc.8. Jelikoˇz se jedn´a o izolovan´e vstupy je nutno jeˇstˇe propojit libovoln´ y pin digit´aln´ıch v´ ystup˚ u GND na piny digit´aln´ıch vstup˚ u GND8 a GND9. Takt´eˇz v´ ykonov´ y v´ ystup mus´ı b´ yt patˇriˇcnˇe pˇripojen´ y a to jeden p´ar vinut´ı (ˇcerven´ y CINCH) na lev´ y v´ ykonov´ y v´ ystup B1 - B2. Druh´ y p´ar vinut´ı (ˇcern´ y CINCH) na prav´ y v´ ykonov´ y v´ ystup A1 - A2. Pro mˇeˇren´ı v´ ystupu vyv´aˇzen´ı RLC mostu, kdy zemn´ı vodiˇc je pˇriveden na analogov´ y vstup IN2− a sign´aln´ı vodiˇc na vstup IN2+. Dalˇs´ı periferie jako USB, jsou vyuˇzity pro pˇripojen´ı ovl´adac´ıch zaˇr´ızen´ı. HDMI v´ ystup pˇres pˇrevodn´ık na DVI pˇripojen kde standardn´ımu LCD monitoru, tedy poskytuje n´am informace o stavu a umoˇzn ˇuje n´am interaktivnˇe ovl´adat mˇeˇren´ı. Druhou moˇznost´ı pro ˇr´ızen´ı mˇeˇren´ı bylo vyuˇzit´ı Ethernetu a pˇres nˇej vzd´alen´eho pˇr´ıstupu, tedy moˇznosti vyuˇz´ıt notebooku k ˇr´ızen´ı a vizualizaci stejn´ ym zp˚ usobem jako pˇr´ımo na realizovan´em automatu.
Spuˇ stˇ en´ı a pr˚ ubˇ eh Po zapojen´ı etalonu a automatu v´ yˇse uveden´ ym zp˚ usobem jiˇz zb´ yv´a pˇripojit k automatu ovl´adac´ı zaˇr´ızen´ı jako myˇs, kl´avesnici a bˇeˇzn´ y LCD displej. Jako posledn´ı zb´ yv´a nap´ajec´ı kabel, kdy posledn´ım u ´konem je spuˇstˇen´ı cel´eho automatu sp´ınaˇcem. Ihned po zapnut´ı se na naˇsem displeji okamˇzitˇe zobraz´ı spouˇstˇen´ı operaˇcn´ıho syst´emu Raspbian. Spust´ı se do grafick´eho prostˇred´ı, jak´e bˇeˇznˇe zn´ame z poˇc´ıtaˇcov´eho svˇeta. Kde je potˇreba prov´est pˇred spuˇstˇen´ım mˇeˇren´ı jeˇstˇe jeden u ´kon a to naˇcten´ı modulu ovladaˇc˚ u do j´adra. Provedeme tak zad´an´ım pˇr´ıkazu ”sudo gpio load spi” do termin´alu. N´aslednˇe jiˇz m˚ uˇzeme spustit mˇeˇric´ı aplikaci, kterou jsme si jiˇz k tomuto u ´ˇcelu pˇripravili. Tato aplikace n´as postupnˇe provede cel´ ym mˇeˇric´ım procesem, po jednotliv´ ych d´ılˇc´ıch kroc´ıch, kter´e je potˇreba uˇzivatelsky vykon´avat. Jelikoˇz se jedn´a o mˇeˇren´ı ke stanoven´ı 34
ˇ ´I 5.3 MEˇREN nezn´am´e kapacity, je tˇreba vykon´avat tyto n´asleduj´ıc´ı kroky. 1. Provede inicializaci etalonu - st´ın´ıc´ı elektroda sjede do v´ ychoz´ı polohy, tj. do krajn´ı polohy a n´aslednˇe mal´ yu ´sek ve smˇeru n´asledn´eho pohybu. Tento krok je blokuj´ıc´ı a vyˇzaduje potvrzen´ı o mikrokontrol´eru. 2. Nastaven´ı v´ ychoz´ı polohy - umoˇzn ˇuje uˇzivateli posunout v´ ychoz´ı pozici elektrody, t´ım je umoˇznˇeno prov´adˇet mˇeˇren´ı i v jin´e ˇca´sti etalonu. V tomto pˇr´ıpadˇe se ˇcek´a aˇz se tento u ´kon provede. 3. Pˇripojen´ı pˇr´ısluˇsn´ ych elektrod etalonu - uˇzivatel potvrzuje pˇripojen´ı vyobrazen´eho p´aru elektrod pro toto mˇeˇren´ı k RLC mostu. 4. Nav´az´an´ı kapacity - potvrzuje se, ˇze nezn´am´a kapacita byla paralelnˇe nav´az´ana k mˇeˇric´ımu mostu. 5. Vyv´aˇzen´ı mostu - je tˇreba mˇeˇric´ı most ide´alnˇe vyv´aˇzit. 6. Naˇcten´ı vyv´aˇzen´ı mostu - aplikace odeˇsle poˇzadavek na mˇeˇren´ı v´ ystupn´ı hodnoty vyv´aˇzen´ı mostu, kterou si uloˇz´ı pro toto mˇeˇren´ı. Nelze pokraˇcovat dokud tato hodnota nebude naˇctena. 7. Odpojen´ı kapacity - t´ımto se potvrzuje, ˇze nezn´am´a kapacita byla odpojena a z˚ ustal pˇripojen´ y pouze etalon kapacity. 8. Zaˇca´tek mˇeˇren´ı - vyˇsle sign´al k zapoˇcet´ı mˇeˇren´ı, automat pohybuje elektrodou, do t´e doby dokud se mˇeˇric´ı most opˇet nevyv´aˇz´ı. Kdyˇz k tomu dojde aplikace z poˇctu vykonan´ ych krok˚ u, krokov´eho motorku vypoˇc´ıt´a nezn´amou kapacitu. 9. Kroky 1. - 8. se opakuj´ı s druh´ ym p´arem elektrod. Z obou mˇeˇren´ı se vypoˇc´ıt´a pr˚ umˇer, tato hodnota odpov´ıd´a nezn´am´e mˇeˇren´e kapacitˇe. Z bezpeˇcnostn´ıch d˚ uvod˚ u nebo d˚ uvodu z´avaˇzn´e chyby automatu aplikace obsahuje tlaˇc´ıtko na zastaven´ı mˇeˇren´ı, kter´e takt´eˇz slouˇz´ı k restartov´an´ı aplikace a moˇznosti dalˇs´ıho nov´eho mˇeˇren´ı. 35
ˇ ´I 5.3 MEˇREN T´ımto mˇeˇren´ım jsme otestovali z´akladn´ı funkˇcnost cel´eho automatu, v´ ysledn´ y stav mˇeˇric´ı aplikace je n´asleduj´ıc´ı 23, kde je vidˇet hodnota mˇeˇren´e kapacity.
Obr´azek 23: Testov´an´ı aplikace
36
Kapitola 6
N´ avrh univerz´ aln´ı knihovny Myˇslenka vytvoˇren´ı univerz´aln´ı pro ˇr´ızen´ı n´ami navrˇzen´eho etalonu vznikla za c´ılem vyhnout se klasick´emu programov´an´ı a umoˇznit vytv´aˇret ovl´adac´ı prvky pomoc´ı konfiguraˇcn´ıch soubor˚ u. To si ˇz´ad´a standardizovat pˇristup k jednotliv´ ych periferi´ım na rozˇsiˇruj´ıc´ı desce. A na RaspberryPi poskytnut´ı knihovny, kter´a obstar´a komunikaci a dle konfiguraˇcn´ıch soubor˚ u uˇzivatele bude spravovat akce a pˇrijat´a data.
6.1
Rozˇsiˇruj´ıc´ı deska
Program pro n´ami navrˇzenou desku mus´ı b´ yt dostateˇcnˇe robustn´ı, aby zvl´adl bezpeˇcnˇe zpracov´avat komunikaci mezi n´ı a RaspberryPi. Tato komunikace je po sbˇernici SPI, kdy mikrokontrol´er je v reˇzimu slave. Mˇel by m´ıt dostateˇcnˇe velk´ y buffer pro pˇr´ıjem pˇr´ıkaz˚ u k vykon´av´an´ı. A to z d˚ uvodu, ˇze ne vˇsechny pˇr´ıkazy se daj´ı vykonat okamˇzitˇe, resp. odezva na nˇe, napˇr´ıklad A/D pˇrevod nˇejakou chv´ıli trv´a. Definovan´e pˇr´ıkazy ˇr´ıkaj´ı co se m´a prov´est a mohou b´ yt n´asledov´any dalˇs´ımi konfiguraˇcn´ımi daty.
Digit´ aln´ı vstupy ˇ ı digit´aln´ıch vstup˚ Cten´ u je jeden z nejjednoduˇsˇs´ıch a okamˇzitˇe provediteln´ ych u ´kon˚ u, kter´ y lze automatem vykonat. Mikrokontrol´er naˇcte odpov´ıdaj´ıc´ı hodnoty vstup˚ u, kter´ ymi disponuje, vytvoˇr´ı z nich datagram s pˇr´ısluˇsn´ ym pˇr´ıkazem a ihned jej odeˇsle ovl´adac´ımu zaˇr´ızen´ı.
Digit´ aln´ı v´ ystupy Z´apis digit´aln´ıch v´ ystup˚ u je obdobou jejich ˇcten´ı. Pˇrijat´a data se dek´oduj´ı a zap´ıˇs´ı na odpov´ıdaj´ıc´ı vstupu. V tomto pˇr´ıpadˇe je t´eˇz vyuˇzito masky pro jejich z´apis, aby 37
ˇ RUJ ˇ ´IC´I DESKA 6.1 ROZSI nedoˇslo nedbal´emu ovlivnˇen´ı jin´ ych, kter´e chceme ponechat v p˚ uvodn´ım stavu. Z´apis je potvrzen odesl´an´ım pˇr´ıkazu o splnˇen´ı.
Analogov´ y v´ ystup ˇ ızen´ı analogov´eho v´ R´ ystupu, by mˇelo m´ıt moˇznost pracovat ve v´ıce reˇzimech. Nab´ız´ı se moˇznost ˇr´ızen´ı dvouf´azov´eho krokov´eho motorku a nebo dvou stejnosmˇern´ ych motork˚ u. Toto je nutn´e rozliˇsit odeslan´ ym pˇr´ıkazem. U krokov´eho motorku je tedy definov´ana posloupnost krok˚ u kter´e jsou vykon´av´any. Spoleˇcnˇe s dan´ ym pˇr´ıkazem mus´ı b´ yt pˇrijaty informace o poˇctu krok˚ u, smˇeru jejich prov´adˇen´ı a konfigurovateln´em zpoˇzdˇen´ı mezi nimi. Po proveden´ı pˇr´ısluˇsn´eho poˇctu krok˚ u je odesl´ano potvrzen´ı o jejich vykonan´ı. ˇ ızen´ı stejnosmˇern´eho motorku je jednoduˇsˇs´ı, kdy je ud´an smˇer smyslu proudu a R´ moˇznost regulace ot´aˇcek pomoc´ı PWM. V tomto pˇr´ıpadˇe potvrzen´ı obsahuje informaci pouze o tom ˇze dan´a akce se skuteˇcnˇe prov´ad´ı.
Analogov´ e vstupy Analogov´e vstupy jsou dalˇs´ı periferi´ı, kterou mus´ıme ovl´adat. Jelikoˇz m´ame dostupn´e dva oddˇelen´e kan´aly, i kdyˇz A/D pˇrevodn´ıky sd´ılej´ı jednu komunikaˇcn´ı sbˇernici, pˇr´ıkazem si mus´ıme pˇr´ısluˇsn´ y kan´al vybrat. Dle n´avrhu tak´e mus´ıme zvolit zes´ılen´ı na vstupu a to patˇriˇcn´ ym zp˚ usobem do zesilovaˇce zapsat. Pot´e teprve spustit konkr´etn´ı pˇrevodn´ık. Kdyˇz je pˇrevod dokonˇcen, je vyvol´ano pˇreruˇsen´ı a z´ıskan´a hodnota s patˇriˇcn´ ym identifik´atorem odesl´ana zpˇet, jako reakce na poˇzadavek.
RS-485 Mezi periferiemi, kter´ ymi deska t´eˇz disponuje je sbˇernice RS-485. Pro tuto knihovnu je navrˇzena pro vyuˇzit´ı odes´ıl´an´ı stavov´ ych a lad´ıc´ıch dat. Jelikoˇz je realizov´ana pomoc´ı s´eriov´e linky v mikrokontrol´eru, kter´ y podporuje i nˇekter´e vybran´e protokoly nebude probl´em ji jednoduˇse pˇrizp˚ usobit dan´ ym podm´ınk´am. 38
6.2 RASPBERRYPI
6.2
RaspberryPi
Na tuto platformu mus´ı b´ yt vytvoˇrena t´eˇz odpov´ıdaj´ıc´ı a z pohledu myˇslenky stˇeˇzejn´ı knihovna, resp. cel´a aplikace. Mus´ı se skl´adat z komunikaˇcn´ı a vizualizaˇcn´ı ˇca´sti.
Komunikace Mus´ı umˇet zajiˇst’ovat komunikaci po SPI k rozˇsiˇruj´ıc´ı desce s mikrokontrol´erem a periferiemi. Odr´aˇz´ı v sobˇe veˇskerou funkcionalitu, kterou nab´ız´ı deska a to v podobˇe dostupn´ ych funkc´ı, kter´e jsou j´ı definov´any. Obsahuje v sobˇe ukrytou komunikaci po SPI, kterou spravuje. Vytv´aˇr´ı a dek´oduje jednotliv´e pˇr´ıkazy, kter´e na z´akladˇe konfiguraˇcn´ıho souboru poskytnut´eho uˇzivatelem zpracov´av´a. Jak bylo ˇreˇceno jsou d´any funkce, kter´e jsou zaveden´e v naˇsem pˇr´ıpadˇe k ovl´ad´an´ı periferi´ı. Tedy jako nastaven´ı digit´aln´ıch v´ ystup˚ u naˇcten´ı analogov´e hodnoty a dalˇs´ıch. Jelikoˇz program poˇc´ıt´a s tvorbo za pomoci Qt frameworku, jsou pro jednotliv´e funkce vytvoˇreny sloty pro uˇzivatelsk´e ud´alosti. Kter´e se dle jednoduch´eho textov´eho konfiguraˇcn´ıho souboru vz´ajemnˇe propoj´ı. Tomu se tak dˇeje jak v pˇr´ıpadˇe vysl´an´ı poˇzadavku, tak i pˇri pˇrijet´ı odezvy se dle tohoto souboru odezva m˚ uˇze prom´ıtnout do uˇzivatelsk´eho rozhran´ı. V t´eto ˇc´asti jsou ukryt´e tak´e ˇcasov´e funkce, kter´e jsou bˇeˇznˇe vol´any periodicky. Pˇr´ıkladem m˚ uˇze b´ yt naˇc´ıt´an´ı analogov´e hodnoty v nˇejak´em intervalu. Tato funkcionalita je oddˇelenˇe zaznamen´ana t´eˇz v konfiguraˇcn´ım souboru.
Tvorba prostˇ red´ı Vytvoˇren´ı uˇzivatelsk´eho rozhran´ı je ponech´ano na prostˇred´ı Qt Creatoru. Uˇzivatel si vytvoˇr´ı okenn´ı aplikaci a do t´e si jednoduˇse pomoc´ı myˇsi naklik´a“ dovolen´e prvky, ” typu labelu, input˚ u, button˚ u“. Jednoduˇse si sestav´ı prostˇred´ı dle sv´ ych poˇzadavk˚ u ” a o zpracov´an´ı ud´alost´ı na u ´rovni programovac´ıho jazyka se v˚ ubec nestar´a. Jedinou povinnost´ı z´asahu do k´odu je naˇcten´ı n´ami navrhovan´e knihovny k obstar´an´ı komunikace a propojen´ı ud´alost´ı a prvk˚ u. 39
6.2 RASPBERRYPI Po vytvoˇren´ı formul´aˇre je na uˇzivateli vyuˇzit´ı pˇripraven´eho parseru na XML soubor, kter´ y v sobˇe pr´avˇe obsahuje informace o vytvoˇren´em formul´aˇri. Ten jej zpracuje a uˇzivateli vygeneruje jednoduch´ y textov´ y konfiguraˇcn´ı soubor, ve kter´em nab´ıdne dostupn´e funkce k vyuˇzit´ı. Dalˇs´ı krok uˇz je na uˇzivateli, na jakou akci, kterou funkcionalitu bude poˇzadovat a kam se pˇr´ıpadnˇe projev´ı odezva o proveden´ı. Toto pˇriˇrazen´ı spoˇc´ıv´a v uveden´ı nˇekter´e z funkce do pˇr´ısluˇsn´eho m´ısta v propojovac´ı tabulce konfiguraˇcn´ıho souboru. Vytvoˇrenou aplikaci v Qt Creatoru, bude nutno zkompilovat. Pro jej´ı pouˇzit´ı d´ale uˇz jen spustit s parametrem, kter´ ym bude n´azev pˇr´ısluˇsn´eho konfiguraˇcn´ıho souboru. Aplikace si jej naˇcte, zpracuje a uˇzivateli nab´ıdne prostˇred´ı, kter´e si vytvoˇril a to s chov´an´ım, kter´e si nadefinoval v onom souboru.
40
Kapitola 7
Z´ avˇ er C´ılem t´eto pr´ace bylo navrhnout a vytvoˇrit programovateln´ y logick´ y automat s grafick´ ym v´ ystupem a dan´ ymi parametry. V u ´vodu se pr´ace zab´ yv´a struˇcn´ ym pˇrehledem, moˇznostmi a zamˇeˇren´ım r˚ uzn´ ych programovateln´ ych logick´ ych automat˚ u. S ohledem na naˇse poˇzadavky a existuj´ıc´ı ˇreˇsen´ı, je pr´ace zaloˇzena a realizov´ana na platformˇe RaspberryPi. Na tomto ˇreˇsen´ı je zaloˇzen zejm´ena grafick´ y v´ ystup, doplnˇen´ yo n´ami navrˇzenou rozˇsiˇruj´ıc´ı desku s mikrokontrol´erem, disponuj´ıc´ım dalˇs´ımi potˇrebn´ ymi periferiemi. K oˇziven´ı zhotoven´eho programovateln´eho automatu byly vytvoˇreny ovl´adac´ı programy pro jednotliv´e obsaˇzen´e periferie a jejich ˇr´ızen´ı. Za u ´ˇcelem vizualizace a ovl´ad´an´ı byla realizov´ana komunikace mezi rozˇsiˇruj´ıc´ı deskou a RaspberryPi. Funkˇcnost cel´eho navrˇzen´eho automatu byla ovˇeˇrena u ´lohou mˇeˇren´ı na Thompson-Lampardovˇe etalonu kapacity. Ke kter´emu byla vytvoˇrena u ´ˇcelov´a ˇr´ıdic´ı aplikace k ˇr´ızen´ı tohoto mˇeˇren´ı. Podaˇrilo se tedy v r´amci t´eto pr´ace zhotovit logick´ y programovateln´ y automat, kter´ y pˇr´ımo disponuje grafick´ ym v´ ystupem na bˇeˇznˇe dostupn´ y LCD displej. Kde je moˇzno vytv´aˇret vizualizaˇcn´ı prostˇred´ı pomoc´ı bˇeˇzn´ ych programovac´ıch prostˇred´ı. V´ yhodou je, ˇze RaspberryPi je obdobou PC tak jak je zn´ame a to vˇcetnˇe operaˇcn´ıho syst´emu. D´ıky disponuj´ıc´ı konektivitˇe je moˇzn´e t´eˇz vyuˇz´ıvat vzd´alen´eho pˇr´ıstupu k jeho spr´avˇe. Bˇehem testov´an´ı navrˇzen´eho syst´emu se projevila nev´ yhoda ˇreˇsen´ı a to konkr´etnˇe v pˇr´ıpadˇe galvanick´eho oddˇelen´ı pomoc´ı zvolen´ ych optoˇclen˚ u. Aˇckoliv toto ˇreˇsen´ı zajiˇst’uje robustnost konstrukce, m˚ uˇze v ˇcasovˇe kritick´ ych aplikac´ıch zp˚ usobovat probl´emy ve zpoˇzdˇen´ı. V tˇechto pˇr´ıpadech by bylo vhodnˇejˇs´ı zvolit galvanick´e oddˇelen´ı na napˇr. kapacitn´ım principu. Navrˇzena byla tak´e jednoduch´a univerz´aln´ı knihovna pro vizualizaci stavov´ ych dat a ovl´ad´an´ı. Mˇela by umoˇznit vytvoˇrit ovl´adac´ı a vizualizaˇcn´ı aplikaci i laik˚ um za pomoci 41
´ ER ˇ 7.0 ZAV konfiguraˇcn´ıch soubor˚ u. Avˇsak zpracov´an´ı dat a ud´alost´ı na stranˇe RaspberryPi pro toto zjednoduˇsen´ı se uˇz nestihlo realizovat. I bez t´eto funkce m˚ uˇze automat bez probl´em˚ u fungovat, jen je potˇreba vytv´aˇret aplikace kompletnˇe v programovac´ım jazyce.
42
Literatura [1] William Bolton. Programmable Logic Controllers. Newnes, 2009. [2] http://www.micropel.cz/images/stories/Dokumenty/mpc223_tech.pdf, Platn´e k 4. 5. 2015. [3] http://shop.loxone.com/cscz/miniserver.html, Platn´e k 4. 5. 2015. [4] http://www.unitronics.com/plc-hmi/plc-vision-enhanced/v430-, Platn´e k 4. 5. 2015. [5] http://www.raywenderlich.com/44918/raspberry-pi-airplay-tutorial, Platn´e k 8. 4. 2015. [6] http://archive.linuxgizmos.com/smallest-lowest-power-arm-core-debuts/, Platn´e k 8. 4. 2015. [7] http://www.analog.com/media/en/technical-documentation/data-sheets/ ADM2582E_2587E.pdf, Platn´e k 8. 4. 2015. [8] http://www.st.com/web/en/resource/technical/document/datasheet/ CD00002345.pdf, Platn´e k 8. 4. 2015. [9] http://www.4dsystems.com.au/product/uLCD_35DT/, Platn´e k 4. 5. 2015. [10] http://www.st.com, Platn´e k 4. 5. 2015. [11] http://mujweb.cz/fuksam/navrhy/krokmot/krokmot.htm, Platn´e k 4. 5. 2015. [12] W. K. CLOTHIER. A calculable standard of capacitance. Metrologia, 1(2):36–55, 4 1968.
43
44
Seznam pouˇ zit´ ych zkratek
A/D- Analog-to-digital ARM - Advanced RISC Machines CAN - Controller Area Network CEC - consumer electronic control DDC - Display Data Channel DMOS - Double-diffused metal–oxide–semiconductor DVI - Digital Visual Interface ESD - Electrostatic discharge GPIO - General-purpose input/output GUI - Graphical User Interface HDMI - High-Definition Multi-media Interface HMI - Human Machine Interface I/O - Input/output I2 C - Inter-Integrated Circuit OpenGL - Open Graphics Library OpenGL ES - OpenGL for Embedded Systems OPLC - Operator panel & Programmable Logic Controller PCM - Pulse-code modulation PLC - Programmable Logic Controller PWM - Pulse Width Modulation RISC - Reduced Instruction Set Computing SCL - Srial Clock Line SDA - Serial Data Line SDC - Secure digital card 45
ˇ YCH ´ 7.0 SEZNAM POUZIT ZKRATEK SoC - System on chip SPI - Serial Periphseral Interface SRAM - Static Random Access Memory SSH - Secure Shell TMDS - Transition-minimized differential signaling TWI - Two Wire Interface USART - Universal Synchronous Asynchronous Receiver and Transmitter USB - Universal Serial Bus VGA - Video Graphics Array
46
Pˇr´ılohy
A
V´ ykresy
Pˇ redn´ı panel
Zadn´ı panel
47
´ A VYKRESY
Dno
48
´ PROVEDEN´I B MECHANICKE
B
Mechanick´ e proveden´ı
Vnitˇ rn´ı uspoˇ r´ ad´ an´ı
Pohled zepˇ redu
49
´ PROVEDEN´I B MECHANICKE
Pohled zezadu
Rozm´ıstˇ en´ı konektor˚ u
50
´ PROVEDEN´I B MECHANICKE
Popis konektor˚ u
51
D
C
B
A
COR6 R6
PIR601
PIR801
PIR1401
PIR1601
PIR2301
PIR2501
PIR3101
PIR3301
IN[0..9]
1
OUT[0..9]
PIR4101
680R
PIR4102
COU9 U9 1 AN1 2 CAT1 3 PIU903 AN2 4 PIU904 CAT2
COL1 E1 COL2 E2
COL1 E1 COL2 E2
COL1 E1 COL2 E2
OUT[0..9]
IN[0..9]
8 7 PIU1407 6 PIU1406 5 PIU1405
PIU1408
6 PIU1206 5 PIU1205
8 PIU1208 7 PIU1207
8 COL1 PIU1808 7 E1 PIU1807 6 COL2 PIU1806 5 E2 PIU1805
MOCD217M
1 PIU1801 AN1 2 PIU1802 CAT1 3 PIU1803 AN2 4 PIU1804 CAT2
COU18 U18
8 7 6 PIU906 5 PIU905
PIU907
PIU908
PIR4 02
PIR4 01
PIR3602
PIR3601
PIR2802
PIR2801
PIR20 2
PIR20 1
PIR10 2
PIR10 1
PIR4502
PIR4501
PIR3702
PIR3701
PIR2902
PIR2901
PIR2102
PIR2101
PIR1 02
PIR1 01
4K7
COR45 R45
4K7
R37 COR37
4K7
COR29 R29
4K7
COR21 R21
4K7
COR11 R11
GND_OUT
4K7
COR44 R44
4K7
R36 COR36
4K7
COR28 R28
4K7
COR20 R20
4K7
COR10 R10
VCC_OUT
8 COL1 PIU1608 7 E1 PIU1607 6 COL2 PIU1606 5 PIU1605 E2
MOCD217M
COU16 U16 1 PIU1601 AN1 2 PIU1602 CAT1 3 PIU1603 AN2 4 PIU1604 CAT2
MOCD217M
COU14 U14 1 AN1 2 PIU1402 CAT1 3 PIU1403 AN2 4 PIU1404 CAT2
PIU1401
MOCD217M
AN1 CAT1 3 PIU1203 AN2 4 PIU1204 CAT2
1 PIU1201 2 PIU1202
COU12 U12
MOCD217M
PIU902
PIU901
GND
PIR4001
COR41 R41 680R
PIR4002
R40 COR40
680R
PIR3302
COR33 R33 680R
PIR3102
COR31 R31
680R
PIR2502
COR25 R25 680R
PIR2302
COR23 R23
680R
PIR1602
COR16 R16 680R
PIR1402
COR14 R14
680R
PIR802
COR8 R8 680R
PIR602
I/O POI0O0OUT000090 POI0O0OUT9 POI0O0OUT8 POI0O0OUT7 POI0O0OUT6 POI0O0OUT5 POI0O0OUT4 POI0O0OUT3 POI0O0OUT2 POI0O0OUT1 POI0O0OUT0 POI0O0IN000090 POI0O0IN9 POI0O0IN8 POI0O0IN7 POI0O0IN6 POI0O0IN5 POI0O0IN4 POI0O0IN3 POI0O0IN2 POI0O0IN1 POI0O0IN0 POI0O
I/O
OUT9
OUT8
OUT7
OUT6
OUT5
OUT4
OUT3
OUT2
OUT1
OUT0
1
2
2
1 3 5 7 9 11 13 15 17 19
2 4 6 8 10 12 14 16 18 20 PIP2020
PIP2016 PIP2018
PIP2014
PIP2012
PIP2010
PIP208
PIP206
PIP204
PIP202
GND_OUT
Header 10X2
PIP2019
PIP2015 PIP2017
PIP2013
PIP2011
PIP209
PIP207
PIP205
PIP203
PIP201
COP2 P2
IN9
IN8
IN7
IN6
IN5
IN4
IN3
IN2
IN1
IN0
R34 4K7
COR26 R26 4K7
COR18 R18 4K7
COR12 R12 4K7
PIR2702
PIR2701
PIR1902
PIR1901
PIR1302
PIR1301
R35 4K7
COR27 R27 4K7
COR19 R19 4K7
COR13 R13 4K7
COR42 R42 4K7
GND
PIR4202
PIR4201
PIR3402
PIR4302
PIR4301
PIR3502
COR43 R43 4K7
PIR3401 COR34 PIR3501 COR35
PIR2602
PIR2601
PIR1802
PIR1801
PIR1202
PIR1201
5
COU11 U11
CAT2 AN2 CAT1 AN1
CAT2 AN2 CAT1 AN1
PIU1705 6 PIU1706 7 PIU1707
CAT2 AN2 CAT1 AN1
3
MOCD217M
PIU1708
E2 COL2 E1 COL1
U17 COU17
MOCD217M
COU15 U15 5 E2 6 PIU1506 COL2 7 PIU1507 E1 8 PIU1508 COL1 PIU1505
MOCD217M
COU13 U13 5 E2 6 PIU1306 COL2 7 PIU1307 E1 8 PIU1308 COL1 PIU1305
8
CAT2 AN2 CAT1 AN1
MOCD217M
E2 6 PIU1106 COL2 7 PIU1107 E1 8 PIU1108 COL1
5 PIU1105
5
CAT2 AN2 CAT1 AN1
MOCD217M
8 PIU1008
7 PIU1007
6 PIU1006
E2 COL2 E1 COL1
COU10 U10 PIU1005
VCC3V3
3
4
3 AN2 2 PIU1102 1 AN3 PIU1101
PIR702
COR15 R15 PIR1502
680R
PIR1701
680RR17 COR17
PIR1501
680R
PIR901
680RR9 COR9
PIR701
PIR1702
CAT3
CAT2
CAT1
CAT0 PIR902
4
AN9
1
Date: File:
A4
Size
Title
PIU1701
28.5.2014 C:\Users\..\InOut.SchDoc
Number
680R
CAT9
CAT8 PIU1704 PIR3801 PIR3802 3 AN8 680R PIU1703 R39 COR39 2 PIU1702 PIR3901 PIR3902
R38 COR38
COR30 R30 4 CAT6 PIR3001 PIR3002 3 AN6 680R COR32 R32 2 CAT7 PIU1502 PIR3201 PIR3202 1 AN7 PIU1501 680R PIU1503
PIU1504
PIU1303
COR22 R22 4 CAT4 PIR2201 PIR2202 3 AN4 680R COR24 R24 2 PIU1302 PIR2401 PIR2402 CAT5 1 AN5 PIU1301 680R PIU1304
PIU1103
4 PIU1104
1 AN1 PIU1001
2 PIU1002
3 AN0 PIU1003
PIU1004
COR7 R7
2 4 6 8 10 12 14 16 18 20
CAT0 CAT1 CAT2 PIP106 CAT3 PIP108 CAT4 PIP1010 CAT5 PIP1012 CAT6 PIP1014 CAT7 PIP1016 CAT8 PIP1018 CAT9 PIP1020 PIP104
PIP102
4
Sheet of Drawn By:
Revision
Header 10X2
COP1 P1 AN0 PIP101 1 AN1 PIP103 3 AN2 PIP105 5 AN3 PIP107 7 AN4 PIP109 9 AN5 PIP1011 11 AN6 PIP1013 13 AN7 PIP1015 15 AN8 PIP1017 17 AN9 PIP1019 19
4
D
C
B
A
C Sch´ emata zapojen´ı
D
C
B
A
1
1
POINTERFACES0SWDATA POINTERFACES0SWCLK POINTERFACES0SDA POINTERFACES0SCL POINTERFACES0SCK POINTERFACES0RST# POINTERFACES0MOSI POINTERFACES0MISO POINTERFACES0INT020RPI POINTERFACES0CS# POINTERFACES Interfaces
SWDATA SWCLK RST#
SCL SDA
MISO MOSI SCK CS# INT_2_RPI
Interfaces
SWDATA SWCLK RST#
SCL SDA
MISO MOSI SCK CS# INT_2_RPI
VCC5V
COP3 P3
2
VCC3V3
PIP3010
PIP308
PIP306
PIP304
PIP302
STLINK
PIP405
PIP404
PIP403
PIP402
1 2 3 4 5
COP4 P4 PIP401
GND
2 4 6 8 10
Header 5X2
PIP301
1 MISO PIP303 3 SCK PIP305 5 INT_2_RPIPIP307 7 SDA PIP309 9
2
MOSI CS# SCL
GND
3
3
Date: File:
A4
Size
Title
28.5.2014 C:\Users\..\Interfaces.SchDoc
Number
4
Sheet of Drawn By:
4
Revision
D
C
B
A
D
C
B
A
1
POINTERFACES0SWDATA POINTERFACES0SWCLK POINTERFACES0SDA POINTERFACES0SCL POINTERFACES0SCK POINTERFACES0RST# POINTERFACES0MOSI POINTERFACES0MISO POINTERFACES0INT020RPI POINTERFACES0CS# POINTERFACES Interfaces
POVV0IN20B POVV0IN20A POVV0IN10B POVV0IN10A POVV0EN0B POVV0EN0A POVV VV
POI0O0OUT000090 POI0O0OUT9 POI0O0OUT8 POI0O0OUT7 POI0O0OUT6 POI0O0OUT5 POI0O0OUT4 POI0O0OUT3 POI0O0OUT2 POI0O0OUT1 POI0O0OUT0 POI0O0IN000090 POI0O0IN9 POI0O0IN8 POI0O0IN7 POI0O0IN6 POI0O0IN5 POI0O0IN4 POI0O0IN3 POI0O0IN2 POI0O0IN1 POI0O0IN0 POI0O I/O
PORS04850TXD PORS04850RXD PORS04850RE# PORS04850DE PORS0485 RS-485
POADC0SDATA POADC0SCLK POADC0GAIN0A000010 POADC0GAIN0A1 POADC0GAIN0A0 POADC0CS#0G000010 POADC0CS#0G1 POADC0CS#0G0 POADC0CS#0ADC000010 POADC0CS#0ADC1 POADC0CS#0ADC0 POADC ADC
IN[0..9]
SWDATA SWCLK RST#
SCL SDA
GAIN_A[0..1] CS#_G[0..1] CS#_ADC[0..1] SCLK SDATA
SWDATA SWCLK RST#
SCL SDA
MISO MOSI SCK CS# INT_2_RPI
EN_A EN_B IN1_A IN2_A IN1_B IN2_B
OUT[0..9]
MISO MOSI SCK CS# INT_2_RPI
EN_A EN_B IN1_A IN2_A IN1_B IN2_B
DE RE#
IN[0..9]
DE RE#
TxD RxD
TxD RxD
GAIN_A[0..1] CS#_G[0..1] CS#_ADC[0..1] SCLK SDATA
OUT[0..9]
Interfaces
VV
I/O
RS-485
ADC
COR50 R50 330R
PIR5102
PIR5101 COR51 R51 330R
PIR5202
PIR5201 COR52 R52 330R
D1
2
GND
D2
D3
PID10 PID201 PID301 PID1C02OD1 PID2C0 OD2 PID3C02OD3
PIR50 2
PIR50 1
2
15 16 PIU19016 17 PIU19017 20 PIU19020 21 PIU19021 22 PIU19022 23 PIU19023
8 9 PIU1909 10 PIU19010 11 PIU19011 24 PIU19024 25 PIU19025 37 PIU19037 38 PIU19038
VCC3V3
VSSA
31 63
PF0-OSC_IN(PF0) PF1-OSC_OUT(PF1) PF4 PF5 PF6 PF7
PD2
PB8 PB9 PB10 PB11 PB12 PB13 PB14 PB15
PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7
PIC2102 PIC2101
C21 COC21 100nF
PIC2 02 PIC2 01
100nF
C22 COC22
PIC2302 PIC2301
27 28 PIU19028 55 PIU19055 56 PIU19056 57 PIU19057 58 PIU19058 59 PIU19059 61 62 29 PIU19029 30 PIU19030 33 PIU19033 34 PIU19034 35 PIU19035 36 PIU19036 GAIN_A0
IN8 IN7 OUT0 INT_2_RPI CS# SCK MISO MOSI
OUT3 OUT2 OUT1 SCLK SDATA IN9 SCL SDA
C24 COC24 1uF
3
GND
PIC2401 PIC2402
PIU1907
C23 COC23 100nF
COR48 R48 PIR4801
10K 7 RST#
60
PIU19060
PIR4902 PIC20 2 PIC20 1
PIR4901
PIR4602
COR46 R46 10K
VCC3V3
PIR4601
COC20 C20 100nF
R49 COR49 10K
VCC3V3
Date: File:
A4
Size
Title
GND
PIR4802
5 6 PIU1906 18 IN1_B PIU19018 19 IN2_B PIU19019 47 PIU19047 48 CS#_ADC1 PIU19048 PIU1905
54
PIU19054
PIU19062
PIU19061
PIU19027
26 PIU19026
GND
12
PIU19012
PIU19063
PIU19031
PC8 BOOT0 PC9 PC10 NRST PC11 PC12 PC13 PC14-OSC32_IN(PC14) PC15-OSC32_OUT(PC15)
PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7
PA8 PA9 PA10 PA11 PA12 PA13(SWDAT) PA14(SWCLK) PA15
PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7
STM32F051R6T6
39 40 PIU19040 51 PIU19051 52 PIU19052 53 PIU19053 2 PIU1902 3 PIU1903 4 PIU1904 PIU19039
PIU1908
PIU19042
IN3 IN2 IN1 IN0 OUT5 OUT4
PIU19041
PIU19015
14 PIU19014
COU19A U19A
41 42 43 PIU19043 44 PIU19044 45 PIU19045 46 PIU19046 49 PIU19049 50 PIU19050
BTN0 CS#_G1 CS#_G0 GAIN_A1 IN6 IN5 IN4
VDDA
VSS VSS
STM32F051R6T6
PIU19013
13
32 VDD 64 PIU19064 VDD PIU19032
VBAT
COU19B U19B 1 PIU1901
BTN1 TxD RxD RE# DE SWDATA SWCLK CS#_ADC0
EN_A EN_B IN1_A IN2_A OUT9 OUT8 OUT7 OUT6
VCC3V3
3
PIR4702
28.5.2014 C:\Users\..\Mcu.SchDoc
Number
PIB304 PIB30
B3 1301.9314
PIB302 PIB301 COB3
PIC1902
20pF COC19 C19
PIC1901
PIC1702
4
Sheet of Drawn By:
100nF
PIC1701
1301.9314 COC17 C17
Revision
PIB204
3 4
PIB203
100nF
PIB202
COB2 B2
PIC1601 PIC1602
PIB201
1 2
4 PIB104 1301.9314 COC16 C16
3 PIB103 2 PIB102
COB1 B1
4
1 PIB101
GND
X1 9B-8.000MEEJ-B
PIC1802
20pF COC18 C18
PIC1801
BTN1
BTN0
COR47 R47 10K
PIR4701
PIX102 COX1 PIX10 2
1
1
2 1
4 3
GND
D
C
B
A
D
C
B
A
PIJ1301
PIJ1302
PIJ1303
PIJ1304
PIJ1305
PIJ1306
PIJ1307
PIJ1308
PIJ1309
PIJ13010
1
KON 10
10 9 8 7 6 5 4 3 2 1
COJ13 J13
1
2 4 6 8 10 12 14 16 18 20
PIP5020
PIP5018
PIP5016
PIP5014
PIP5012
PIP5010
PIP508
PIP506
PIP504
PIP502
Header 10X2
PIP5019
PIP5017
PIP5015
PIP5013
PIP5011
PIP509
PIP507
PIP505
PIP503
1 3 5 7 9 11 13 15 17 19
COP5 P5
PIP501
PIJ1201
PIJ1202
PIJ1203
PIJ1204
PIJ1205
PIJ1206
PIJ1207
PIJ1208
PIJ1209
PIJ12010
PIP6020
PIP6018
PIP6016
PIP6014
PIP6012
PIP6010
PIP608
PIP606
PIP604
PIP602
2
KON 10
PIJ1509 PIJ15010
PIJ1508
PIJ1507
PIJ1506
PIJ1505
PIJ1504
Date: File:
A4
Size
Title
28.5.2014 C:\Users\..\Panel.SchDoc
Number
4
4
Sheet of Drawn By:
KON 10
PIJ1409 PIJ14010
PIJ1408
PIJ1404 PIJ1405 PIJ1406 PIJ1407
PIJ1403
PIJ1402
PIJ1401
1 2 3 4 5 6 7 8 9 10
PIJ1503
PIJ1501 PIJ1502
COJ14 J14
3
2 4 6 8 10 12 14 16 18 20
Header 10X2
PIP6019
PIP6017
PIP6015
PIP6013
PIP6011
PIP609
PIP607
PIP605
PIP603
1 3 5 7 9 11 13 15 17 19
COP6 P6 PIP601
1 2 3 4 5 6 7 8 9 10
KON 10
10 9 8 7 6 5 4 3 2 1
COJ12 J12
3
COJ15 J15
2
Revision
D
C
B
A
D
C
B
A
2 1
PIJ402 PIJ401
2 1
PIJ501
PIJ502
VS
VS_GND
100uF/63V
VS
VCC5V
AGND
PIC3602
1
PIC4 02 PIC4 01
10K
PIR7201
COR72 R72
PIU2704
4
GND
COU27 LF33ABDT-TR U27 3 IN OUT PIU2703 PIC4502 GND COC44 COC45 C44 C45 100nF PIC4501 100nF
1
PIU2701
GND
PIR7202
VS_GND
PIC3702
PIC3COC36 6C36 01 PIC3701 +COC37 C37
Svork 2x 5,08
COJ5 J5
Svork 2x 5,08
COJ4 J4
COT1 T1
PIT105
PIT206
COT2 T2
Trans 2
PIT101
230V - 50/60Hz
C43 PIC4301 +COC43 10uF PIC4302
VCC3V3
Trans 1
PIT201
230V - 50/60Hz
VS
PIT2011
2
9V - 10VA
PIT208
PIT1010
15V - 0,5VA
PIT109
PIT107
15V - 0,5VA
PIT106
2
~
PIU2201
PIU2202
+ -
~
PIU2809 PIU2804
100uF/25V
PIC4602 PIC4601
1uF
PIU2103
PIR5602
PIR5601 COR56 R56 47K
PIC4202
PIC4201
PIU2403
1
RON
PIU2602
8
PIU2608
4
PIU2604
6 PIU2606
7
PIU2607
3
VCC3V3
Date: File:
A4
Size
Title
GND
-Vin -Vout
AGND
PIC3901
28.5.2014 C:\Users\..\Power.SchDoc
Number
GND_OUT
PIU2903
PIU2904
COR57 R57 1K07
PIC4101 PIC4102
AVCC5V
COC47 PIC4701+C47 4,7 uF PIC4702
VCC_OUT
VCC5V
4
4
Sheet of Drawn By:
COC40 PIC40 1+C40 10uF PIC40 2
GND
100uF
COC41 C41
AVCC+12V
AVCC-12V
COR55 COC39 R55 C39 5K62 PIC22nF 3902
MEE1S0303SC
PIU2901
PIR5702
PIR5701
PIR5 02
PIR5 01
AGND
COC35 PIC3501 +C35 1uF PIC3502
+Vin +Vout
U29 COU29 PIU2902
COC32 PIC3201 +C32 1uF PIC3202
COC28 PIC2801 +C28 1uF PIC2802
AGND
LMZ12001TZ-ADJ/NOPB COC42 C42 22nF 16V
2
EP
FB GND
SS
5
EN
VOUT
PIU2605
3 PIU2603
VIN
COU26 U26 PIU2601
COC34 PIC3401 C34 PIC100nF 3402
COU24 LM3480IM3-5.0/NOPB U24 1 PIU2401
PIU230
OUT COC33 IN PIC3 01 PIU2402 C33 GND PIC3100nF/25V 02
2
COC31 PIC3101 C31 PIC100nF 3102
COU23 LM3480IM3-12/NOPB U23 1 PIU2301
2 PIU2302
OUT COC30 IN PIC30 1 C30 GND PIC3100nF/25V 02
VS5V
COC46 C46
3
COU21 LM3480IM3-12/NOPB U21 1 IN OUT PIU2101 COC27 PIC2701 C27 GND PIC100nF 2702
COC38 PIC3801 +C38 PIR5301 PIR5401 COR53 R54 COR54 2700uF/16V R53 100K 47K PIC3802 PIR5302 PIR5402
PIC2902
COC29 PIC2901 +C29
2
PIU2102 COC25 COC26 PIC2501 +C25 PIC2601 C26 100uF/25V PIC2502 PIC2100nF/25V 602
2 EN SENSE PIU2802 EP GND TPS79850QDGNRQ1
VS_GND
PIU2805
IN
COU28A U28A PIU2808
1
-
PIU2801
PIU2502
OUT
PIU2501
+
DB101S
PIU2504
~
COU25 U25 PIU2503
5
PIU2002
-
DB101S
PIU2204
~
COU22 U22 PIU2203
8
~
PIU2001
+
DB101S
PIU2004
~
COU20 U20 PIU2003
9
1
4
3
3
3
Revision
D
C
B
A
D
C
B
A
1
1
PORS04850TXD PORS04850RXD PORS04850RE# PORS04850DE PORS0485 RS-485
RS-485
DE RE#
TxD RxD
PIC4802 PIC4801 C48 COC48 10nF 100nF
C49 COC49
GND
PIC4902 PIC4901
VCC3V3
DE RE#
TxD RxD
2
PIC50 2 PIC50 1
2
100nF
C50 COC50
PIC5102 PIC5101 C51 COC51 10uF
PIC5202 PIC5201
VCC3V3
C53 COC53 100nF
GND_2
C52 COC52 10nF
PIC5302 PIC5301
VCC_ISO
GND
PIC5402 PIC5401
A B Z Y
100nF
PIC5 02 PIC5 01
GND2 GND2 GND2 GND2
C54 COC54
ADM2582E
PIU3001
1 GND1 3 PIU3003 GND1 9 PIU3009 GND1 10 PIU30010 GND1
4 RxD 5 PIU3005 RE# 6 PIU3006 DE 7 PIU3007 TxD PIU3004
PIU3002
2 VCC V_ISOOUT 8 PIU3008 VCC V_ISOIN
COU30 U30 VCC_ISO
C55 COC55 10uF
3
GND_2
11 14 PIU30014 16 PIU30016 20 PIU30020 PIU30011
18 17 PIU30017 15 PIU30015 13 PIU30013 PIU30018
12 19 PIU30019 PIU30012
3
PIR5802
PIR5801
COJ8 J8
COJ6 J6 jumper
PIJ601 PIJ60
Date: File:
A4
Size
PIJ901
28.5.2014 C:\Users\..\RS-485.SchDoc
Number
jumper
PIJ900
Title
PIJ801
jumper COJ9 J9
PIJ800
COR58 R58 110R
4
Sheet of Drawn By:
GND_2
Revision
KON 5
PIJ705
PIJ704
PIJ703
PIJ702
1 2 3 4 5
COJ7 J7 PIJ701
4
D
C
B
A
D
C
B
A
VV POVV0IN20B POVV0IN20A POVV0IN10B POVV0IN10A POVV0EN0B POVV0EN0A POVV
1
VV
1
COR59 R59
PIR5901
PIR6001
PIR6402
COR64 R64
680R
PIR6002
PIR6401
COR60 R60 680R
PIR5902
COR68 R68
PIR6802
EN_A EN_B IN1_A IN2_A IN1_B IN2_B
EN_A EN_B IN1_A IN2_A IN1_B IN2_B
680R
COL1 E1 COL2 E2
COL1 E1 COL2 E2
COL1 E1 COL2 E2
MOCD217M
PIU3401
COU34 U34 1 AN1 2 PIU3402 CAT1 3 PIU3403 AN2 4 PIU3404 CAT2
MOCD217M
1 AN1 2 PIU3302 CAT1 3 PIU3303 AN2 4 PIU3304 CAT2
PIU3301
COU33 U33
MOCD217M
COU31 U31 1 AN1 2 PIU3102 CAT1 3 PIU3103 AN2 4 PIU3104 CAT2
PIU3101
GND
PIR6801
COR69 680R IN2_B PIR6902R69 PIR6901
IN1_B
680R
COR65 680R IN2_A PIR6502R65 PIR6501
IN1_A
EN_A
EN_B
8 7 6 PIU3106 5 PIU3105
PIR6 02
PIR6 01
8 7 6 PIU3406 5 PIU3405
2
PIU3407
PIU3408
PIR70 2
PIR70 1
VS5V
8 7 PIU3307 6 PIU3306 5 PIU3305 PIU3308
VS5V
PIR7102
PIR7101
PIR6702
COR71 R71 4K7
COR67 R67 4K7
IN2_B_I
IN1_B_I
IN2_A_I
IN1_A_I
VS_GND
COR70 R70 4K7
COR66 R66 4K7
PIR6701
EN_A_I
EN_B_I
VS_GND
PIU3107
PIU3108
2
VS
COD4 D4
VS5V
COR61 R61 PIR6101
PIR6102
3
COC58 C58 5.6nF
VS_GND
PIC5802 PIC5801
PIR6302
COC56 C56
VS
CAP PIC5602
5 6 7 PIU3207 9 PIU3209 3 PIU3203 8 PIU3208
VS_A EN_A IN1_A IN2_A OUT1_A OUT2_A SENSE_A
VCP VBOOT
Date: File:
A4
Size
Title
VS_GND
PIU32020
1 2
1 2 KON 2
PIJ1101 PIJ1102
COJ11 J11
KON 2
PIJ1002
4
4
COC59 C59 5.6nF
COR62 R62 100K
Revision
VS_GND
PIR6202 PIC5902 PIC5901
PIR6201
VS5V
Sheet of Drawn By:
EN_B_I IN1_B_I IN2_B_I OUT1_B OUT2_B
VS
VS_GND
COJ10 J10 PIJ1001
28.5.2014 C:\Users\..\VV.SchDoc
Number
OUT1_B OUT2_B
OUT1_A OUT2_A
16 14 15 PIU32015 12 PIU32012 18 PIU32018 13 PIU32013 PIU32014
PIU32016
19 PIU32019
20 GND 11 GND PIU32011
VS_B EN_B IN1_B IN2_B OUT1_B OUT2_B SENSE_B
L6205 PowerSO 20
1 GND 10 PIU32010 GND PIU3201
PIU3206
PIU3205
2 PIU3202
4 PIU3204 17 PIU32017
COU32 U32
10nF 50V 0805
EN_A_I IN1_A_I IN2_A_I OUT1_A OUT2_A
COC57 C57 PIC5702 CAP 220nF 50V 0805
100K
PIR6301
COR63 R63
PIC5701
PIC5601
1N4148W-7-F
PID501 PID502
100R 1N4148W-7-F D5 COD5
PID401 PID402
3
D
C
B
A