Sem vložte zadání Vaší práce.
České vysoké učení technické v Praze Fakulta informačních technologií Katedra číslicového návrhu
Diplomová práce
Řídící systém ovládání posypového vozidla Bc. Petr Čermák
Vedoucí práce: Dr.-Ing. Martin Novotný
8. května 2013
Poděkování Na tomto místě bych chtěl zejména poděkovat svému vedoucímu diplomové práce Dr.-Ing. Martinu Novotnému, za jeho podporu a mnoho cenných rad při vedení této diplomové práce. Dále děkuji své rodině a všem ostatním, kteří mi pomohli ke zdárnému dokončení.
Prohlášení Prohlašuji, že jsem předloženou práci vypracoval samostatně a že jsem uvedl veškeré použité informační zdroje v souladu s Metodickým pokynem o etické přípravě vysokoškolských závěrečných prací. Beru na vědomí, že se na moji práci vztahují práva a povinnosti vyplývající ze zákona č. 121/2000 Sb., autorského zákona, ve znění pozdějších předpisů, zejména skutečnost, že České vysoké učení technické v Praze má právo na uzavření licenční smlouvy o užití této práce jako školního díla podle § 60 odst. 1 autorského zákona.
V Praze dne 8. května 2013
.....................
České vysoké učení technické v Praze Fakulta informačních technologií c 2013 Petr Čermák. Všechna práva vyhrazena.
Tato práce vznikla jako školní dílo na Českém vysokém učení technickém v Praze, Fakultě informačních technologií. Práce je chráněna právními předpisy a mezinárodními úmluvami o právu autorském a právech souvisejících s právem autorským. K jejímu užití, s výjimkou bezúplatných zákonných licencí, je nezbytný souhlas autora.
Odkaz na tuto práci Čermák, Petr. Řídící systém ovládání posypového vozidla. Diplomová práce. Praha: České vysoké učení technické v Praze, Fakulta informačních technologií, 2013.
Abstract The goal of this thesis is the design and implementation of a prototype control system road salting vehicle. According to the specification of system requirements is at work an analysis of possible solutions, from which selected the most appropriate - implementation using a custom control board with a microcontroller. The work explains the hardware parts of the system, the way of their involvement and the responsibility. In the software section are described the methods and libraries used to develop software for this system, not only the control but also a test by which the system was rejuvenated and tested. The result is a functional prototype, which is one of the parts of the system spreadings vehicle. Keywords Control system, Road salting vehicle, Microcontroller, PIC24, C/C++
ix
Abstrakt Cílem této práce je návrh a realizace prototypu řídícího systému posypového vozidla. Dle specifikace požadavků na systém je v práci provedena analýza možných řešení, ze kterých je vybráno to nejvhodnější – implementace pomocí vlastní řídící desky s mikrokontrolérem. Práce se zabývá popisem jednotlivých hardwarových částí systému, způsobem jejich zapojení a jejich vlasnostmi. V softwarové části práce jsou popsány metody a knihovny využívané pro vývoj software pro tento systém a to nejenom řídícího, ale i testovacího, pomocí nichž byl systém oživován a testován. Výsledkem práce je funkční prototyp zařízení, který je jeden z dílů celého systému posypového vozidla. Klíčová slova Řídící systém, Posypové vozidlo, Mikrokontrolér, PIC24, C/C++
x
Obsah Úvod
1
1 Specifikace cíle 1.1 Sypačová nástavba SVS . . . . . . . . . . . . . . . . . . . . 1.2 Požadavky na systém . . . . . . . . . . . . . . . . . . . . .
3 3 4
2 Analýza řešení 2.1 Koncept systému . . . . . . . 2.2 Embedded systém . . . . . . . 2.3 Výběr konkrétních komponent 2.4 Cenové náklady . . . . . . . . 2.5 Harmonogram projektu . . . . 2.6 Analýza rizik . . . . . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
11 11 12 18 23 24 24
3 HW implementace 3.1 Řídící jednotka . . . . 3.2 Rozšiřující moduly . . 3.3 Terminál . . . . . . . . 3.4 Návrh schématu a DPS 3.5 Mechanika zařízení . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
27 27 42 43 49 49
implementace Architektura software . . . . . Použité nástroje a technologie Využité knihovny . . . . . . . Řídící jednotka . . . . . . . . Terminál . . . . . . . . . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
53 53 54 57 62 62
4 SW 4.1 4.2 4.3 4.4 4.5
. . . . .
. . . . .
. . . . .
xi
4.6
Ovládácí PC aplikace . . . . . . . . . . . . . . . . . . . . . .
63
5 Testování 65 5.1 Průběh oživování a testování . . . . . . . . . . . . . . . . . . 65 5.2 Chyby v návrhu . . . . . . . . . . . . . . . . . . . . . . . . . 67 6 Budoucí práce 71 6.1 Možnosti rozšíření systému . . . . . . . . . . . . . . . . . . . 72 Závěr
73
Literatura
75
A Seznam použitých zkratek
79
B Kompletní schéma
81
C Deska plošného spoje
91
D Osazovací schéma
95
E Mechanické připevnění
97
F Seznam použitých součástek
99
G Fotografie řídícího systému
103
H Fotografie terminálu
105
I
107
Návrh vzhledu terminálu
J Obsah přiloženého CD
109
xii
Seznam obrázků 1.1 1.2 1.3
Sypačová nástavba SVS . . . . . . . . . . . . . . . . . . . . . . Regulace prvku systému . . . . . . . . . . . . . . . . . . . . . . Rozmetadlo na nástavbě SVS . . . . . . . . . . . . . . . . . . .
2.1 2.2 2.3 2.4 2.5 2.6
Funkční koncept systému . . . . Platforma embedded systému . Srovnání možností implementací Blokové schéma . . . . . . . . . Vybraný OLED displej . . . . . Ganntův digram . . . . . . . .
3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 3.16 3.17
Blokové schéma řídící desky systému . . . . Schéma zapojení mikroprocesoru . . . . . . Schéma zapojení RS-232 . . . . . . . . . . . Schéma zapojení USB . . . . . . . . . . . . Schéma zapojení SD karty . . . . . . . . . . Schéma zapojení paměti EEPROM . . . . . Schéma zapojení obvodu reálného času . . . Schéma zapojení digitálního teploměru . . . Schéma zapojení digitálního vstupu . . . . . Schéma zapojení pro připojení čidla Ni-1000 Schéma zapojení vstupu od pojezdu . . . . . Čidlo posypu . . . . . . . . . . . . . . . . . Schéma zapojení čidla posypu . . . . . . . . Schéma zapojení vstupu polohy symetrie . . Schéma zapojení digitálního výstupu . . . . Schéma zapojení analogového výstupu . . . Schéma zapojení spínaného zdroje 3,3 V . .
. . . . . . . . . . . . embedded . . . . . . . . . . . . . . . . . .
xiii
. . . . . . . . . . systému . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
4 5 6
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
12 13 17 19 22 25
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
27 28 29 30 30 31 31 32 32 33 34 35 35 36 37 37 38
3.18 3.19 3.20 3.21 3.22 3.23 3.24 3.25 3.26 3.27 3.28 3.29 3.30 3.31 3.32 3.33 3.34 3.35
Schéma zapojení spínaného zdroje 5 V . . . Schéma zapojení lineárního zdroje 12 V . . . Schéma zapojení referenčního napětí . . . . Schéma zapojení rozšiřujících konektorů . . Schéma zapojení signalizačních LED diod . Schéma zapojení obvodu GPS modulu . . . Schéma zapojení napájení GPS modulu . . . Blokové schéma terminálu . . . . . . . . . . Schéma zapojení mikroprocesoru . . . . . . Schéma zapojení USB . . . . . . . . . . . . Schéma zapojení zdroje 5 V . . . . . . . . . Schéma zapojení zdroje 15 V . . . . . . . . Schéma zapojení displeje . . . . . . . . . . . Schéma zapojení klávesnice . . . . . . . . . Konektory pro připojení vodičů . . . . . . . Konektor pro připojení rozšiřujících modulů Hliníková krabička pro terminál . . . . . . . Fóliová klávesnice . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
39 40 40 41 41 42 43 44 45 46 46 46 47 48 50 50 51 51
4.1 4.2 4.3 4.4 4.5 4.6
Architektura software . . . . . . . . . . . Transformace XML → C . . . . . . . . . Diagram knihovny souborového systému Diagram grafické knihovny . . . . . . . . Ukázka stavového automatu . . . . . . . Diagram sw aplikace . . . . . . . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
53 55 57 58 60 63
B.1 B.2 B.3 B.4 B.5 B.6 B.7 B.8 B.9
Schéma Schéma Schéma Schéma Schéma Schéma Schéma Schéma Schéma
řídicího systému - Zdroj . . . . . . . řídícího systému - Mikroprocesor . . řídicího systému - Výstupy . . . . . řídicího systému - Digitální vstupy . řídicího systému - Speciální vstupy . řídicího systému - Ostatní . . . . . . terminálu - Napájení, Mikroprocesor terminálu - Vstupy/Výstupy . . . . modulu GPS . . . . . . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
82 83 84 85 86 87 88 89 90
C.1 Deska plošného spoje - horní vrstva . . . . . . . . . . . . . . . . C.2 Deska plošného spoje - spodní vrstva . . . . . . . . . . . . . . .
92 93
D.1 Osazovací schéma desky řídicího systému . . . . . . . . . . . . .
96
E.1 Mechanické připevnění desky řídicího systému . . . . . . . . . .
98
xiv
. . . . . .
G.1 Fotografie osazené desky řídícího systému
. . . . . . . . . . . . 104
H.1 Fotografie částečně osazené prototypové desky terminálu . . . . 106 I.1
Návrh vzhledu terminálu . . . . . . . . . . . . . . . . . . . . . . 108
xv
Seznam tabulek 1.1 1.2
Typy a požadavky na výstupní signály systému . . . . . . . . . Typy a požadavky na vstupní signály systému . . . . . . . . . .
6 7
2.1 2.2 2.3
Produktové řady mikroprocesorů Microchip . . . . . . . . . . . Přehled typických a maximálních odběrů použitých součástek . Přehled materiálových nákladů na součástky řídícího systému .
20 21 23
F.1 Seznam použitých součástek - Řídící systém . . . . . . . . . . . 99 F.1 Seznam použitých součástek - Řídící systém . . . . . . . . . . . 100 F.1 Seznam použitých součástek - Řídící systém . . . . . . . . . . . 101
xvii
Úvod Inovace je v dnešní době vnímána nejenom jako metoda produkce lepších výrobků a služeb, ale i způsob k lepšímu uspokojování potřeb zákazníků. V prostředí neustále se zrychlujícího vývoje a globální konkurence se stává nutností k zajištění přežití.
Společnost Simed s.r.o., s více než 15 letou působností na trhu, je výrobcem a prodejcem strojů pro údržbu vozovek a další komunální techniky. Mezi její portfolio výrobků patří několik typových řad sypačů vozovek, nástavby pro svoz komunálního odpadu, zametače vozovek a další.
Cílem této diplomové práci je návrh nového řídícího systému pro ovládání a spravování sypačové nástavby SVS (zobrazené na obrázku 1.1), který bude vycházet ze stávajícího, již nevyhovujícího řídícího systému. Nový systém ho dále bude rozšiřovat o nově ovládané periferie, o možnost sledování polohy vozu pomocí GPS přijímače a případně i o online přenos dat pomocí sítě GSM.
Návrh tohoto systému klade požadavky na • spolehlivost • cenu • rozšiřitelnost systému - modulárnost • dostupnost jednotlivých součástí systému 1
Úvod Práce je rozdělena do několika kapitol, které na sebe tématicky navazují. V první kapitole je uveden popis sypačové nástavby SVS (obrázek 1.1), popis vstupních signálů, výstupních periferií a popis požadované funkcionality systému. Následující kapitola se zabývá analýzou různých typů řešení, výběrem konkrétního řešení, které bylo následně použito při tvorbě tohoto systému. Dále jsou v této kapitole vybrány jednotlivé komponenty systému. V třetí kapitole je popsána HW implementace systému, kde jsou uvedena a popsána schémata zapojení jednotlivých součástí. Následující kapitola se věnuje popisu softwarové části systému. V páté kapitole jsou uvedeny informace získané při oživování a testování systému. V poslední kapitole čtenář nalezne informace o pracích, které je nutné vykonat pro zdárné dokončení kompletního systému.
2
Kapitola
Specifikace cíle V této kapitole je uveden popis systému sypačové nástavby SVS, požadavky na vstupní a výstupní signály a požadavky na funkcionalitu systému.
1.1
Sypačová nástavba SVS
Sypačové nástavby SVS (obrázek 1.1) jsou určeny pro posyp vozovek, místních komunikací a chodníků inertním i chemickým materiálem. Ve většině případů jsou sypače opatřeny v zadní části rozmetadly (mohou být i ve středové části pod vozidlem), které slouží k rovnoměrnému a efektivnímu rozmetání posypových materiálů. Technickým řešením je sypač s rotujícím hladkým kotoučem neboli rozmetadlem, který je opatřen žebry. Posypový materiál je dodáván do středu kotouče a odstředivou silou je vrhán k jeho obvodu a dále rozmetán na povrch vozovky. Posypový materiál je k rotujícímu kotouči (rozmetadlu) hrnut jedním nebo dvěma šneky, které jsou uloženy vedle sebe ve spodní části zásobníku posypového materiálu. V případě použití chemického posypu se nevyužívá šneků, ale čerpadla z oddělené nádoby se solankou. Nástavby SVS rovněž umožňují určit směr odhozu materiálu (rovnoměrně na obě strany, více ke krajnici nebo více ke středu vozovky - toto lze plynule nastavovat). Toto se nazývá jako poloha symetrie rozmetadla. Samotný posyp probíhá buď manuálně, nebo zcela automaticky. U manuálního řízení je nastavena dávka materiálu, která se neustále rozmetá. Oproti tomu v automatickém režimu řízení se dávka určuje nejenom zadanou hodnotou, ale i rychlostí, jakou se sypač pohybuje. Nastavení dávky a druhu posypového materiálu se děje z kabiny řidiče pomocí terminálu, který komunikuje s řídící jednotkou. 3
1
1. Specifikace cíle
Obrázek 1.1: Sypačová nástavba SVS (zdroj www.simed.cz)
1.2
Požadavky na systém
Tato práce se zabývá pouze řešením pro automatické řízení procesu posypu. V následující kapitole jsou uvedeny jednotlivé vstupy a výstupy, se kterými systém pracuje. Ke každému z nich je uvedena specifikace signálu, se kterými pracuje. Dále tato kapitola popisuje požadavky na ovládací terminál, speciální funkčnost a rozšiřující moduly systému. Všechny ovládané prvky1 v systému, uvedené v odstavci 1.2.1 jsou řízeny zpětnovazebně. Z čehož vyplývá, že pro každý takto ovládaný výstup musí existovat zpětnovazební vstup, který vstupuje do regulace ovládání daného výstupu. Principielní schéma tohoto způsobu řízení je zobrazeno na obrázku 1.2.
1
4
Prvky, které se přímo podílejí na hlavním procesu řízení – posypu
1.2. Požadavky na systém
Řídící systém
Regulátor
Snímač
Akční člen
Řízená technologie Obrázek 1.2: Regulace prvku systému
1.2.1
Výstupní signály
Jelikož se nejedná o systém monitorovací, ale řídící, musí obsahovat výstupní (akční) členy. Následující seznam popisuje jednotlivé výstupní signály: • Šneky – Analogový signál ovládající rychlost otáčení šnekového pohonu, který dodává posypový materiál. Rychlostí otáčení se reguluje množství dodávaného posypového materiálu. • Rozmetadlo – Analogový signál ovládající rychlost otáčení rozmetadla. Tato rychlost určuje šíři rozhozu posypového materiálu. • Nastavení symetrie – Analogový signál určující polohu symetrie, která ovlivňuje směr odhozu posypového materiálu. • Čerpadlo solanky – Analogový signál ovládající množství čerpané soli z nádrže solanky. • Světlo – Digitální signál umožňující rozsvícení/zhasnutí osvětlení zadní části vozu. • Maják – Digitální signál řídící aktivitu majáku, umístěného na zadní straně vozu. Zjednodušený přehled požadavků je uveden v tabulce 1.1. 5
1. Specifikace cíle Tabulka 1.1: Typy a požadavky na výstupní signály systému Vstup Šneky Rozmetadlo Nastavení symetrie Čerpadlo solanky Světlo Maják
1.2.2
Typ signálu Analogový Analogový Digitální Analogový Digitální Digitální
Rozsah veličiny 0 V až Vcc 0 V až Vcc Doleva/Bez pohybu/Doprava 0 V až Vcc Zapnuto/Vypnuto Zapnuto/Vypnuto
Vstupní signály
Jak již bylo uvedeno v kapitole 1.2, většina vstupů zde uvedených jsou zpětné vazby od ovládaných akčních členů. Následující seznam popisuje jednotlivé vstupy: • Šneky – Jedná se o digitální signál určující rychlost otáčení šneku. Vždy 1 pulz představuje 1 otáčku. • Poloha rozmetadla – Jedná se o koncový snímač, který určuje, zdali je rozmetadlo v poloze připravené pro posyp (není zvednuté v přepravní poloze). Správná poloha je znázorněna na obrázku 1.3.
Obrázek 1.3: Rozmetadlo na nástavbě SVS
6
1.2. Požadavky na systém • Rozmetadlo – Jedná se o digitální signál určující rychlost otáčení rozmetadla. Stejně jako u Šneků odpovídá 1 pulz 1 otáčce. • Průtok solanky – Digitální signál určující množství čerpané soli. Vždy odpovídá 1 pulz určitému množství odčerpané solanky. • Nedostatek solanky – Digitální signál odvozený od plováku v nádrži se solankou, který určuje, zdali je dostatek solanky. • Poloha symetrie – Analogová zpětná vazba informující o aktuální poloze nastavení symetrie rozmetadla. • Pojezd – Digitální signál získávaný z tachografu, reprezentující rychlost pohybu vozidla. Vždy 1 pulz odpovídá 1/4 otáčce kola. • Teplota – Analogový signál z teplotního čidla Ni-1000. Upřesnění konkrétních požadavků na jednotlivé vstupy je uvedeno v tabulce 1.2. Tabulka 1.2: Typy a požadavky na vstupní signály systému Výstup Šneky Poloha rozmetadla Rozmetadlo Průtok solanky Nedostatek solanky Poloha symetrie Pojezd Teplota
1.2.3
Typ signálu Analogový Digitální Analogový Analogový Digitální Analogový Analogový Analogový
Rozsah veličiny Desítky Hz – 0 V až Vcc 0 V až Vcc Desítky Hz – 0 V až Vcc Desítky Hz – 0 V až Vcc 0 V až Vcc 0 V až Uref Stovky Hz – 0 V až Vcc -50 ◦ C až 70 ◦ C
Napájení systému
Sypačovou nástavbu ve svých různých variantách je možné montovat na různé typy nákladních vozidel. U velkých nákladních vozidel je napětí v palubní síti 24 V, u menších a malých 12 V. Proto systém musí umožňovat funkčnost při těchto různých úrovních napájecího napětí.
7
1. Specifikace cíle
1.2.4
Terminál
Terminál řídící jednotky je umístěn v kabině řidiče a umožňuje ovládat a nastavovat proces posypu. Požadavkem na terminál je grafický displej s vysokou úrovní čitelnosti a pozorovatelnosti pod velkým úhlem a dále ovládací tlačítka pro řízení a nastavování • spustit/zastavit posyp • zvýšit/snížit množství posypového materiálu • maximální/standardní množství materiálu • zvětšit/zmenšit šířku rozhozu materiálu • směr rozhozu materiálu • rozsvítit/zhasnout maják • rozsvítit/zhasnout světlo Klávesnice je řešena jako membránová a její výrobu řeší zadavatel práce.
1.2.5
Archivace dat
Pro koncového zákazníka mnohdy není důležitá pouze samotná funkčnost systému, ale především možnost sledovat informace o tom, kolik se jakého materiálu v ten který den/hodinu vysypalo. To je např. důležité pro zákazníka, který se nechává najímat pro posyp komunikací a potřebuje doložit skutečné množství a typ použitého materiálu. Proto je nutné všechna tato relevantní data v jednotce archivovat.
1.2.6
Modulární funkčnost
Systém jako takový umožňuje funkčnost bez jakýchkoliv rozšiřujících modulů. Avšak koncový zákazník může mít specifický požadavek na určitou funkčnost, která není v základním systému obsažena. Proto systém musí být možno doplnit o moduly, které tuto funkčnost rozšíří. V současné době se jedná o modul pro sledování polohy a modul pro online přenos dat. 8
1.2. Požadavky na systém 1.2.6.1
Sledování polohy
Tento modul umožňuje sledování polohy posypového vozu pomocí přijímače signálu GPS. Rozšiřuje archivaci dat o možnost k jednotlivým záznamům doplnit konkrétní polohu. Z těchto údajů je poté možné vyhotovit mapu, která bude obsahovat ujetou trasu s přehledem o množství vysypaného materiálu na jednotlivých úsecích této trasy. 1.2.6.2
Bezdrátový přenos dat
Samotná jednotka je koncipována jako modul, který umožňuje připojení terminálu, případně konfiguračního SW pomocí kabelu (RS-232 příp. USB). Tento modul funkčnost jednotky rozšiřuje o možnost komunikovat bezdrátově pomocí sítě GSM. V kombinaci s modulem pro sledování polohy umožňuje systém online monitoring.
9
Kapitola
Analýza řešení V této kapitole je zvolen principielní koncept fungování systému a jsou v ní diskutovány jednotlivé platformy, pomocí nichž lze systém realizovat. V následujících sekcích je vybrána konkrétní platforma a konkrétní součásti systému, které jsou použity pro realizaci tohoto systému. Tato kapitola rovněž obsahuje odhady délky trvání vývoje systému, náklady na jeho výrobu a nastiňuje možná rizika při jeho realizaci.
2.1
Koncept systému
Základem systému bude řídící jednotka, která bude zpracovávat veškeré vstupní signály ze senzorů, ovládat výstupní signály, na které budou připojeny akční členy. V řídící jednotce budou uloženy veškeré provozní a kalibrační informace pro nastavování těchto vstupních a výstupních signálů. K řídící desce bude možné připojit pomocí komunikační linky terminál, umístěný v kabině řidiče, a rovněž i připojit PC se servisní aplikací. Řídící jednotka bude rovněž obsahovat paměť s dostatečnou kapacitou, ve které budou uchovávány provozní informace (množství vysypaného materiálu, trasu, atd.). Tyto údaje budou opatřeny časovou značkou, proto musí systém obsahovat zálohovaný zdroj hodin. Terminál se bude k řídící jednotce připojovat pomocí sériové linky. Samotné řízení bude probíhat pouze v řídící jednotce. Terminál bude sloužit jako tenký klient pro nastavování provozních parametrů systému, proto bude i případně jednoduše záměnný za jinou verzi terminálu (výhledově uvažováno o velkém dotykovém panelu). 11
2
2. Analýza řešení
GPS sat el i t e
Remot et ermi nal
Cont rol i ng
Onl i ne/Of f l i net racki ng
Obrázek 2.1: Funkční koncept systému
Řídící systém umožní jednoduše doplnit moduly pro rozšíření funkčnosti o sledování polohy pomocí GPS přijímače a online přenosu informací pomocí GSM sítě. Jelikož by se mohlo požadovat v budoucnosti doplnit systém o další rozšiřující modul, bude mít systém navrženo takové rozhraní, které bude svým charakterem vedené jako universální rozšiřující sběrnice. Takto popsaný koncept systému je znázorněn na obrázku 2.1.
2.2
Embedded systém
Zadání a způsob nastiňuje řešení jako embedded systém. Embedded systém je jednoúčelový systém, ve kterém je ovládací počítač zabudován přímo do zařízení, které ovládá. Na rozdíl od univerzálních PC vykonává embedded systém jednu nebo několik předdefinovaných činností. Tím, že embedded systém je určen pro konkrétní použití, se může návrh optimalizovat pro konkrétní použití, čímž lze snížit cenu zařízení [24].
12
2.2. Embedded systém
Jádro embedded systému je možné implementovat pomocí různých hardwarových platforem (zobrazeno na obrázku 2.2).
Obrázek 2.2: Platforma embedded systému (Zdroj [17]) V předchozí sekci je nastíněn obecný koncept fungování tohoto systému. Společně s informacemi z kapitoly 1 jsou známy všechny požadované vlastnosti systému. Na základě těchto informací je možné diskutovat jednotlivé typy platforem embedded systému, jejich možnosti použití, jejich přínosy, výhody a nevýhody při implementaci tohoto systému.
2.2.1
Hardwarové platformy
V úvahu pro implementaci tohoto systému připadá několik různých platforem, jako je implementace vlastní řídící desky s mikrokontrolérem, DSP nebo obvodem FPGA, nebo využití průmyslového počítače případně PLC automatu. Mikrokontrolér Mikrokontrolér je jednočipový mikropočítač vhodný pro využití v řízení. Kromě vstupních a výstupních obvodů jsou v něm integrovány i mnohé další periferie – např. A/D nebo D/A převodník, čítač, časovač, komparátor, synchronní sériový port, USB, PWM, EEPROM a další. Díky tomu, že jsou tyto obvody v mikrokontroléru již integrovány, není potřeba je realizovat externě, a proto mikrokontrolér často disponuje méně výstupy, díky čemuž může být jeho pouzdro menší a levnější. Menší počet vývodů sice znesnadňuje další rozšíření, na druhou stranu je však nabídka mikrokontrolérů v dnešní době natolik široká, že je možné si vybrat typ přesně podle požadavků. 13
2. Analýza řešení FPGA Obvody FPGA oproti mikrokontrolérům maji obecnější strukturu a mnohem více obecnějších logických bloků. FPGA jsou tvořeny velkým množstvím konfigurovatelných bloků obecné logiky CLB2 , které jsou navzájem propojitelné propojovací maticí. Komunikaci s okolím zajišťují vstupněvýstupní bloky. Kromě těchto standardních bloků mohou FPGA obvody např. obsahovat bloky paměti RAM, bloky správy hodinových signálů, aritmetické bloky a další. Díky těmto blokům je možné provést nakonfigurování obvodu FPGA tak, že lze získat téměř jakoukoliv funkčnost. Pro tyto obvody existuje celá řada dostupných implementací různých procesorových jader, případně přídavných periferií (jako např. Microblaze, PowerPC a další). DSP Digitální signálové procesory jsou běžné mikrokontroléry doplněné a optimalizované pro rychlé zpracování signálů v reálném čase. Hlavním cílem je zpravidla měření a filtrování kontinuálního vstupního signálu. PLC Programovatelný logický automat je číslicově pracující elektronický systém konstruovaný pro použití v průmyslovém prostředí, využívající programovatelnou paměť pro interní ukládání uživatelsky orientovaných instrukcí pro provádění specifických funkcí (logických, sekvenčních, časovacích, čítacích, komunikačních a organizačních) za účelem řízení strojů či procesů, a to prostřednictvím digitálních nebo analogových vstupů a výstupů [1]. Průmyslový počítač Průmyslové počítače nabízejí na rozdíl od běžných spotřebitelských počítačů větší spolehlivost, kompatibilitu, možnost rozšíření a dlouhodobou nabídku, jinak se jedná o běžné PC, na kterém je provozován operační systém a řídící aplikace. Jeho hlavní přínos v řízení je vysoký výpočetní výkon.
2.2.2
Srovnání platforem
Výše zmíněné hardwarové platformy se dají rozdělit do dvou základních okruhů. Průmyslový počítač či PLC jsou již hotová kompaktní zařízení, která ve svém nitru obsahují některou z komponent z druhé kategorie (Mikrokontrolér, FPGA, DSP či případně zákaznický ASIC). Tento koncept 2
14
Configurable Logic Blocks
2.2. Embedded systém umožňuje rychlý vývoj požadovaných aplikací, kdy vetšinou výrobce těchto systémů poskytuje návrhový software pro tvorbu aplikací.
Výhody použití PLC • Snadné programování • Zabudované vstupy/výstupy pro přímé připojení senzorů/akčních členů • Nízké prvotní náklady na vývoj Nevýhody použití PLC • Vysoká cena • Obvykle velmi velké rozměry • Chybějící podpora pro připojení některých signálů Pro využití PLC automatu pro řízení tohoto systému by bylo nutné vyvinout rozšiřující desky pro konverzi vstupních signálů, které by nešly přímo připojit ke vstupům PLC automatu, a to buď formou konverzí na signály, které PLC automat dokáže zpracovat nebo formou externího modulu připojeného pomocí některých sběrnic, které PLC systém podporuje (Profibus, Modbus apod.). Z těchto důvodů je využití PLC systému nevhodné, protože jeho hlavní přínosy se tímto smazávají.
Výhody použití průmyslového počítače • Vysoký výpočetní výkon • Efektivnější a rychlejší aplikační program • Nízká pořizovací cena Nevýhody použití průmyslového počítače • Obvykle nutnost použití OS • Nutnost připojení snímačů a ovládacích prvků pomocí externích I/O modulů 15
2. Analýza řešení U průmyslového počítače je situace obdobná jako u PLC. V tomto konceptu je nutné použít externí I/O moduly, které se k průmyslovému počítači připojí pomocí některé z dostupných sběrnic. Z důvodu, že by vedle sebe musely existovat 2 systémy – řídící systém (průmyslové PC, které by svůj výkon zdaleka nevyužilo) a vstupně-výstupní systém (který by obsluhoval připojené periferie) – není tento koncept vhodný.
Výhody použití vlastní řídící desky (Mikrokontrolér, FPGA, DSP) • Přizpůsobení parametrů, vlastností a funkcí požadované aplikace • Minimalizace počtu komponent • Nízké náklady při opakované výrobě Nevýhody použití vlastní řídící desky • Vysoké vstupní náklady na vývoj a testování • Obtížné a nákladné úpravy funkce systému • Závislost na dodávkách konkrétních součástek Využití průmyslového počítače se jeví jako nejméně vhodná varianta způsobu řešení. Důvodem je hlavně nutnost vyvinout samostatnou desku vstupů/výstupů, která by komunikovala s řídícím počítačem. To představuje vlastně dvojí vývoj (vývoj software do průmyslového počítače a vývoj hardware a software do desky vstupů/výstupů). Takto vyvinutá deska by byla realizována z větší části shodně jako deska při vývoji samostatné řídící desky. Jediný přínos řešení pomocí průmyslového počítače je vysoký výpočetní výkon, který není v této aplikaci zapotřebí.
Při srovnání výhod a nevýhod použití PLC automatu a vývoje vlastní řídící desky, vychází vítězně vývoj vlastní řídící desky. Velkou roli v rozhodování představuje cena výsledného zařízení, která je v případě realizace pomocí PLC automatu několikánosobně vyšší než v případě použití vlastní desky. Navíc i u PLC automatu by bylo nutné realizovat hardwarové přípravky pro konverzi některých vstupních signálů, které by PLC automat nedokázal přímo zpracovat. 16
2.2. Embedded systém
Z výše popsaných důvodů vyplývá, že architektury z první kategorie (PLC a průmyslový počítač) nejsou vhodné pro vývoj tohoto řídícího systému. Proto se práce bude nyní zabývat vývojem vlastní řídící desky. Jádrem této desky může být některá z platforem z druhé kategorie (Mikrokontrolér, DSP, FPGA). Obecně hlavní výhodou tohoto konceptu je přesné a cílené řešení dané aplikace, kdy systém neobsahuje žádné zbytečné funkce či periferie. [23]
Volba mezi mikrokontrolérem, DSP či FPGA je provedena dle faktických požadavků na systém a jejich možnost implementace pomocí jednotlivých platforem. Dalším kritériem je cena platformy, rychlost a jednoduchost implementace. Požadovaný systém jako takový nevyžaduje proudové zpracování analogových signálů, proto je rovnou vyřazen DSP jako platforma, jakožto rozšíření běžného mikrokontroléru o toto zpracování. V tabulce 2.3 je zobrazeno srovnání platforem pro implementaci systému.
Obrázek 2.3: Srovnání možností implementací embedded systému (Zdroj [3]) V případě využití mikrokontroléru jsou převážně všechny potřebné periferie 17
2. Analýza řešení již implementovány v čipu. U FPGA lze některé periferie rovněž implementovat v rámci IP jádra, ale některé, převážně analogové, se musí realizovat pomocí externího obvodu, čímž se návrh prodražuje a stává složitějším. Nejenom z důvodu nutnosti realizovat analogové periferie (A/D převodník apod.) externě při použití zapojení pomocí FPGA, ale i z nepotřeby zpracovávat vstupní signály extrémně rychlým způsobem, a dále i celkovým vyšším nákladům a složitějšímu vývoji, je zvolena jako výhodnější platforma pro implementaci tohoto systému pomocí vlastní řídící desky s mikroprocesorem.
2.3
Výběr konkrétních komponent
V této sekci jsou vybrány hlavní součástky a komponenty pro realizaci desky řídícího systému a terminálu.
2.3.1
Řídící systém
Hlavními částmi řídícího systému, které je třeba zvolit je mikroprocesor, typ úložiště dat a patřičně dimenzované zdroje napětí, ale i ostatní součástky systému.
2.3.1.1
Mikroprocesor
Systém, který je zde navržen a zobrazen na diagramu 2.4, obsahuje jako základní stavební kámen řídící mikroprocesor. Výrobců mikroprocesorů je celá řada (Atmel, Freescale, Microchip a další), a proto bylo nutné zvolit jednoho z nich. Všichni výrobci mají ve své nabídce celou škálu mikroprocesorů, které svojí rychlostí, množstvím periferií, obsaženou pamětí a ostatními vlastnostmi, si jsou velmi podobné. Proto byl zvolen mikroprocesor od společnosti Microchip, jelikož s mikroprocesory od tohoto výrobce má již autor dlouholeté zkušenosti a vlastní k nim řadu vývojových kitů, emulátorů a debuggerů. Konkrétní typ mikroprocesoru byl vybrán na základě požadavků na periferie s co největším množstvím paměti dat a programu, protože stará pravda praví: "Paměti není nikdy dost". 18
2.3. Výběr konkrétních komponent
Řídící deska
Terminál
RTC
Displej
Sss
Výstupy Vstupy
USB
Klávesnice
RS-232
RS-232
uP
uP
SD karta EEPROM Rozšiřující konektor
Napájení
Napájení
Rozšiřující konektor
GPS modul Napájení
GPS
GSM modul Napájení
GSM
Obrázek 2.4: Blokové schéma
Produktové řady Microchip vyvíjí mikrokontroléry v různých produktových řadách, počínaje 8 bitových, přes 16 až po 32 bitové. Osmi bitové zde ani nejsou uvedeny, protože ve své podstatě se jedná pouze o velmi jednoduché mikrokontroléry vhodné jako řadiče, které navíc neobsahují příliš periferií (s výjimkou řady PIC18). Přehled jednotlivých řad je znázorněn v tabulce 2.1. V každém řádku je vybrán z dané řady mikroprocesor, který je nejvýkonnější a obsahuje nejvíce periferií. Ačkoliv se z tabulky 2.1 může zdát, že jasný kandidát na použitý mikroprocesor se nachází v produktoré řadě PIC32, není tomu tak. Tabulka pouze zobrazuje množství jednotlivých periferií, nicméně u produktové řady PIC32 (a i dalších) jsou některé periferie připojené na společný pin procesoru. Proto je není možné využít současně. S přihlédnutím k těmto vlastnostem vychází jako nejlepší volba mikroprocesor z řady PIC24F. Ten nabízí, 19
2. Analýza řešení Tabulka 2.1: Produktové řady mikroprocesorů Microchip uP PIC24E PIC24F PIC24H dsPIC30F dsPIC33E dsPIC33F PIC32
Prog 512 512 256 144 512 256 512
RAM 53 98 16 8 53 30 130
MIPS 70 16 40 30 70 40 80
UART 4 4 2 2 4 2 6
SPI 4 3 2 2 4 2 4
I2C 2 3 2 1 2 2 5
PWM 16 9 8 8 16 8 5
IC 16 9 8 8 16 8 5
PPS Ano Ano Ne Ne Ne Ne Ne
kromě dostatku periferií a velké kapacity paměti programu a dat, i Pipheral Pin Select, který umožnuje variabilně připojit jednotlivé periferie na různé piny procesoru3 . 2.3.1.2
Úložiště dat
Pro správnou volbu úložiště dat je nutné znát informace, co vše bude toto úložistě uchovávat. Jedná se především o informace o množství vysypaného materiálu s časovou značkou. V případě využití modulu GPS, jsou doplněny i informace o poloze vozu. Tyto informace mohou zabírat v paměti místo řádově stovky MB (za sezonu), proto je nutné paměť dostatečně dimenzovat. V potaz přichází možnost použití obvodu Flash paměti, SD karty nebo CF karty. Zvolena je SD karta z důvodu malého rozměru (v případě Micro SD karty), vysoké kapacity, nízké ceny v přepočtu na MB a jednoduchého připojení k řídícímu mikroprocesoru pomocí rozhraní SPI. 2.3.1.3
Napájení
Pro volbu součástek napájení desky řídícího systému je nutné znát požadavky na jednotlivé typy napájecích zdrojů. V tabulce 2.2 jsou uvedeny všechny hlavní součástky systému s maximálním a typickým odběrem proudu. Dalším z požadavků na napájecí zdroje je velikost vstupního napětí. Deska řídícího systému musí umožňovat připojení do systému s napájením 12 V, případně 24 V. V okamžiku běhu alternátoru vozidla navíc může docházet k mírnému přepětí. Pro účely těchto dvou zdrojů napětí (5 V a 3,3 V) je plně dostačující velmi malý, kompaktní spínaný zdroj MCP16301 [8], který dokáže trvale dodávat proud 600 mA (což odpovídá 175 % absolutní maximální hodnotě odběru 3
20
Z celkových 84 I/O pinů je možné použít až 44 pinů s funkcí PPS
2.3. Výběr konkrétních komponent Tabulka 2.2: Přehled typických a maximálních odběrů použitých součástek Součástka
Popis
Mn.
PIC24FJ256GB210 MC34072D
Mikroprocesor Operační zesilovač Zdroj ref. napětí Zesilovač Digitální teploměr EEPROM Převodník úrovní Obvod RTC Relé
1 2
MCP1525 LM386 MCP9800
1 1 1
3,3 V Max Typ 210 40
8
0,5
0,4
0,2
5V Max Typ 20
8
8
4
AT24C01 1 3 2 MAX3232 1 1,5 0,3 DS1338 1 3 0,5 SD Karta 1 45 30 JS-5-K 6 50 35 Celkem 270,9 73,5 348 230 Poznámka: Všechny číselné údaje uvedené v tabulce mají jednotku mA. u napětí 3,3 V a 220 % absolutní maximální hodnotě odběru u napětí 5 V), a to při vstupním rozsahu napájení 4–30 V. Napájecí zdroj 12 V je volen jako lineární stabilizovaný zdroj s výstupním proudem 2 A. 2.3.1.4
Ostatní
Ostatní součásti systému jsou běžné a jednoduše vzájemně zaměnitelné komponenty (v rámci stejného typu součástky), takže zde již nebudou rozebírány důkladněji a jejich popis a volba je provedena v kapitole 3.
2.3.2
Terminál
Následující část textu je věnována výběru hlavních komponent pro realizaci terminálu. Jedná se hlavně o výběr mikroprocesoru, displeje a patřičně dimenzovancýh zdrojů napájecích napětí. 2.3.2.1
Mikroprocesor
Stejně jako u desky řídícího systému je rovněž u terminálu vybrán procesor ze stejné produktové řady. Výběr je volen dle potřeby počtu pinů procesoru s přihlédnutím na co nejvyšší možnou kapacitu programu paměti a paměti RAM. Z těchto důvodů byl vybrán mikroprocesor typu 21
2. Analýza řešení PIC24FJ256GA106 [12]. Důvodem proč není použit stejný mikroprocesor jako na desce řídícího systému je několik. Jedním z nich je zbytečná velikost pouzdra součástky, kdy na desce řídícího systému je použito pouzdro TQFP100, na terminálu TQFP64. Tento rozdíl velikosti součástek umožní levnější výrobu desky plošných spojů, protože rozteče pinů jsou již takové, že výroba již spadá do nižší třídy přesnosti, čímž se výroba zlevňuje a zlevňuje se i osazení této součástky. V neposlední řadě je tento mikroprocor levnější než mikroprocesor použitý na desce řídícího systému. 2.3.2.2
Displej
Požadavkem je velký, vysoce svítivý displej s velkým pozorovacím úhlem, který je vhodný do automobilového průmyslu. Byl vybrán displej vyrobený technologií OLED typu UG-5664ASGGF01 [22] o velikosti 5.5"s 16 odstíny zelené. Tento displej je zobrazen na obrázku 2.5.
Obrázek 2.5: Vybraný OLED displej (zdroj http://www.wisechip.com.tw/)
2.3.2.3
Napájení
Z použitých součástek vychází potřeba použití 3 úrovní zdrojů napětí. 3,3 V pro napájení mikroprocesoru a logických bloků displeje, 5 V pro napájení USB a 15 V pro napájení podsvícení displeje. Stejně jako u desky řídícího systému musí terminál umožňovat připojení na palubní síť 12/24 V. Proto je využit spínaný zdroj LM2576 [20] pro generování úrovně 5 V, ze které se dále pomocí zdroje MCP16301 [8] získá uroveň 3,3 V. Dalším zdrojem je LMR26014 [21], který generuje napájecí úroveň 15 V. Všechny 3 zdroje jsou dostatečně dimenzované s ohledem na napájené součásti terminálu. 22
2.4. Cenové náklady
2.4
Cenové náklady
V konkurenčním prostředí hraje svoji roli cena prodávaného zařízení. Tento řídící systém je pouze jedna z částí, které tvoří kompletní produkt. V porovnání ceny celkové sypačové nástavby vůči řídícímu systému se jedná o velmi minoritní cenový podíl. Přehled materiálových nákladů na výrobu jedné desky řídícího systému (při výrobě 1 ks a 100 ks) je znázorněn v tabulce 2.3.
Tabulka 2.3: Přehled materiálových nákladů na součástky řídícího systému Součástka DPS PIC24FJ256GB210 MC34072D MCP1525 LM386 MCP9800 AT24C01 MAX3232 DS1338 SD Karta JS-5-K BDX34C Chladiče Rezistory Kondenzátory Optočleny LED diody Diody Rozšiřující konektory Konektory Pojistky Patice na pojistky Ostatní Celkem
Cena při 1 ks [Kč] 831 121 14 7 8 20 3 15 45 94 34 28 138 20 26 81 18 78 26 425 33 368 60 2493
Cena při 100 ks [Kč] 450 107 11 6 6 19 2 11 32 90 28 21 57 10 14 50 10 47 9 342 22 208 35 1583
23
2. Analýza řešení
2.5
Harmonogram projektu
Protože se jedná o celkově rozsáhlý projekt, je rozdělen do několika fází, které jsou znázorněny na diagramu 2.6. U každé etapy je rovněž zobrazena předpokládaná doba trvání této fáze. Tato doba je odhadnuta na základě dosavadních zkušeností.
2.6
Analýza rizik
Každý projekt, který je definován jako činnost, která je jedinečná a omezená v čase, obsahuje množství různě závažných potenciálních rizik. Je dobré již ve fázi analýzy stanovit možná rizika, která mohou v průběhu řešení projektu nastat. V následujícím přehledu jsou uvedena nejvýznamnější rizika spojena s tímto projektem. Každé riziko je ohodnoceno svojí závažností, pravděpodobností výskytu a dopadem na projekt. 1. Chyba v zadání projektu • Závažnost – Mírná až velmi závažná • Pravděpodobnost výskytu – Velmi malá (5%) • Dopad na projekt – Dle míry závažnosti. V krajním případě až přepracování projektu od začátku 2. Chyba při návrhu schématu • Závažnost – Mírná (ve fázi návrhu) až velmi závažná (ve fázi oživování, vývoji sw) • Pravděpodobnost výskytu – Malá (15%) • Dopad na projekt – Přepracování schématu a DPS, jejich výroba a znovuosazení a oživení 3. Výběr nevhodných součástek • Závažnost – Mírná až velmi závažná • Pravděpodobnost výskytu – Velmi malá (10%) • Dopad na projekt – Od nahrazení nevhodné součátky (pokud má stejné pouzdro apod.) až po přepracování schématu (viz bod 2)
24
2.6. Analýza rizik
Obrázek 2.6: Ganntův digram 25
2. Analýza řešení 4. Neznalost použitých součástek • Závažnost – Střední • Pravděpodobnost výskytu – Na řídící jednotce velmi malá (5%), terminálu malá (20%), GPS modulu malá (20%) a GSM modulu malá (20%) • Dopad na projekt – Prodloužení času na vývoj systému 5. Chyba při osazování DPS • Závažnost – Mírná (např. špatná hodnota odporu) až velmi závažná (zkrat a následné vyhoření součástek) • Pravděpodobnost výskytu – Pravděpodobná (35%) • Dopad na projekt – Od opravy osazení jednotlivých součástek až po znovuosazení celé desky Všechna výše uvedená rizika mají společný rys v podobě prodloužení délky trvání projektu.
26
Kapitola
HW implementace V této kapitole se nachází popisy a schémata zapojení jednotlivých částí systému, popis a návrh DPS a návrh mechanického provedení.
3.1
Řídící jednotka
V následující sekci jsou popsána zapojení bloků řídícího systému, která jsou zobrazena na obrázku 3.1.
Řídícítdeska RTC
Vstupy Digitální
Ni-1000
Čid.,posypu
Pojezd
Symetrie
Dig.,Tepl.
USB RS-232 uP
Digitální
PWM
EEPROM
Rozšiřujícítkonektor
2,5,V 3,3,V
SDtkarta
Výstupy
Napájení
5,V 12,V
Rozšiřujícítkonektor
Obrázek 3.1: Blokové schéma řídící desky systému
27
3
3. HW implementace
3.1.1
Mikroprocesor
Mikroprocesor, zvolený v předchozím odstavci 2.3.1.1, je zapojen dle doporučeného schématu zapojení uvedeným výrobcem v datasheetu [13]. Především se jedná o připojení všech napájecích pinů a jejich osazení blokovacími kondenzátory, dále připojení krystalového oscilátoru, programátoru a další. Navíc jsou všechny napájecí piny osazeny filtračními kondenzátory typu NPO, které poskytují lepší ochranu proti rušivým signálům, kterými se zabývá EMC.
Obrázek 3.2: Schéma zapojení mikroprocesoru 28
3.1. Řídící jednotka Zbývající volné piny jsou použity pro připojení periferií, vstupů a výstupů samotného systému a signalizační LED diody. Piny, které zůstaly nevyužity, byly vyvedeny na přepínač, kterým lze případně v budoucnosti volit např. určitou konfiguraci systému.
3.1.2
RS-232
Rozhraní RS-232 je v systému obsaženo jako hlavní rozhraní pro připojení terminálu. Jelikož většina převodníků sběrnice UART ↔ RS-232 obsahuje 2 páry budičů, je tento druhý pár vyveden na pomocný hřebínek pinů pro možnost budoucího použití, např. pro možnost zasílání ladících výpisů. Schéma zapojení, zobrazené na obrázku 3.3, vychází z doporučeného zapojení dle datasheetu [6].
Obrázek 3.3: Schéma zapojení RS-232
3.1.3
USB
Zvolený mikroprocesor již obsahuje podporu pro USB OTG 2.04 , proto není nutné použít speciální obvod. Zapojení USB je realizováno dle doporučení z datasheetu v režimu Device (slave) a je zobrazeno na obrázku 3.4. Jelikož USB Host (master) poskytuje napájecí napětí 5 V (500 mA), je využito pro napájení logické části systému tak, aby bylo možné provádět konfiguraci, vyčítání uložených hodnot z paměťové karty, apod. bez nutnosti mít aktivovaný celý systém. 4
Technologie OTG rozšiřuje standard USB o podporu komunikace point-to-point. Standardně USB podporuje komunikaci typu Master-Slave.
29
3. HW implementace
Obrázek 3.4: Schéma zapojení USB
3.1.4
SD karta
SD karta je připojena pomocí SPI rozhraní. Na signálový vodič SD_SPI_SELECT je připojena LED dioda signalizující aktivitu úložiště. Ta zobrazuje průběh přístupu k SD kartě. Signály SD_SPI_SDO a SD_SPI_SDI jsou použity pro SPI rozhraní. Na obrázku 3.5 je zobrazeno zapojení SD karty. Odpory R24, R26, R27, R28, R42 a R45 slouží jako Pull-Up rezistory. Odpor R25 nastavuje pracovní proud pro LED diodu D11. Kondenzátory C16 a C40 fungují jako blokovací, kondenzátory C39 a C41 jako filtrační.
Obrázek 3.5: Schéma zapojení SD karty
3.1.5
EEPROM
Paměť EEPROM je připojena na společnou sběrnici I 2 C. Tato sběrnice je společná pro obvod EEPROM, RTC, digitální teploměr. Nastavení adresy 30
3.1. Řídící jednotka obvodu je provedeno tak, (volí se pomocí úrovně na adresových pinech) aby nekolidovalo s ostatními obvody na této sběrnici. Schéma zapojení je uvedeno na obrázku 3.6, které vychází ze zapojení z datesheetu [2].
Obrázek 3.6: Schéma zapojení paměti EEPROM
3.1.6
RTC
Zvolený mikroprocesor obsahuje blok RTC, ale neumožňuje jej jednoduše zálohovat po výpadku napájení. V případě použití vnitřního RTC procesoru by se muselo zálohovat celé napájení mikroprocesoru, které by muselo být oddělené od ostatních periferií, a v případě detekce poklesu napětí by musel mikroprocesor přejít do úsporného režimu. Jednodušší variantou je použití samostatného obvodu RTC, který obsahuje přímo vstup pro zálohované napájení (v tomto případě z baterie). Pro tyto účely byl zvolen obvod DS-1338, který je zapojen (obrázek 3.7) dle doporučení z datasheetu [5]. S mikroprocesorem je spojen pomocí sběrnice I2 C. Kondenzátor C38 funguje jako odrušovací člen.
Obrázek 3.7: Schéma zapojení obvodu reálného času
3.1.7
Digitální teploměr
Digitální teploměr MCP9800 [9] slouží k získání údaje o teplotě v místě umístění desky řídícího systému. Jeho zapojení spočívá v připojení napá31
3. HW implementace jecích pinů obvodu a přivedení sdílené sběrnice I2 C. Schéma zapojení je znázorněno na obrázku 3.8.
Obrázek 3.8: Schéma zapojení digitálního teploměru
3.1.8
Vstupy
Digitální vstupy Protože všechny digitální vstupy jsou zapojeny shodně, bude zde popsán pouze jeden vstup. Z konektoru je vstupní napětí přivedeno přes ochranný odpor R17 a LC filtr, který slouží k odstranění šumů a jiných nežádoucích signálů, na LED diodu optočlenu IC10. Kolektor tranzistoru optočlenu IC10 je připojen pomocí Pull-Up odporu R16 k napájecímu napětí 3,3 V. Volbou hodnoty odporu R17 je možné měnit rozsah vstupního napětí. Současná hodnota 1 kΩ odpovídá rozsahu vstupního napětí 5 V až 18 V. Pro možnost napájení senzoru je na konektor každého vstupu přivedeno napětí 12 V.
Obrázek 3.9: Schéma zapojení digitálního vstupu
Teplotní čidlo Ni-1000 Schéma zapojení teplotního čidla Ni-1000 je znázorněno na obrázku 3.10. Na vstupu využívá rozvažování Wheatstonova můstku, který je složen z odporů R49, R52, R101, R63, R64 a samotného odporového čidla. 32
3.1. Řídící jednotka
Obrázek 3.10: Schéma zapojení pro připojení čidla Ni-1000
Výstupem tohoto můstku je diference napětí, které je ovlivněno aktuální hodnotou odporu teplotního snímače. Toto napětí je dále přivedeno na diferenciální operační zesilovač IC17b, který toto napětí řádově 50x zesílí. Hodnoty odporů v můstku jsou navrženy s ohledem na velikost proudu, který prochází teplotním čidlem. Pokud by teplotním senzorem procházel příliš velký proud, docházelo by k jeho zahřátí a tím pádem ke zkreslení měřené teploty. Proto je procházející proud v tomto zapojení řádově 1 mA. Výstup z operačního zesilovače IC17b je přiveden na vstup dalšího operačního zesilovače IC18a, který pracuje jako neinvertující integrátor. RC článek na vstupu operačního zesilovače, složený z odporu R56 a kondenzátoru C56, je součástí zapojení tohoto integrátoru. Kondenzátor C55 navíc provádí filtraci případných šumů. Výstup z operačního zesilovače IC18a je přiveden na neinvertující vstup operačního zesilovače IC18b, který je zapo33
3. HW implementace jen v režimu neinvertujícího zesilovače. Jeho zesílení je nastaveno tak, aby výstupní napětí odpovídalo požadovanému rozsahu měřené teploty. Toto napětí se pohybuje v rozmezí 0 V až 3 V. Pojezd Snímání fyzikální hodnoty rychlosti pojezdu je přímo připojeno v palubní desce na vstupní signál, poskytující informaci o rychlosti generováním pulzů. Tento signál nejenom že nemá dostatečnou úroveň napětí (pouze 5 V), ale je tažen přes celé vozidlo až do řídícího systému. Proto je ke vstupu pro snímání pojezdu kromě standardního zapojení vstupního digitálního signálu (R21,C12, L12, C35, IC11, R23) navíc připojen ještě napěťový zesilovač. Diody D4 a D10 jsou ochranné proti přepólování, jelikož zesilovací tranzistor by obrácené napětí nevydržel. Odpory R4 a R41 slouží pro stabilizaci pracovního bodu tranzistoru T1. Odpor R38 je zatěžovací odpor, který slouží jako pracovní odpor pro LED v optočlenu IC11. Kompletní schéma zapojení vstupu posypu je znázorněno na obrázku 3.13.
Obrázek 3.11: Schéma zapojení vstupu od pojezdu
Čidlo posypu Jádrem zapojení obvodu, zobrazeném na obrázku 3.13, pro snímání signálu z čidla posypu je audio zesilovač LM386 [16]. Čidlo posypu pracuje jako dotykový senzor pohybu, kdy sonda čidla převádí zvukové signály, vznikající třením pružné sondy o dopravovaný materiál, na elektrický signál. Toto čidlo je zobrazeno na obrázku 3.12. Získaný signál dosahuje úrovně napětí řádově 10 mV o vysokých frekvencích. Tento signál vstupuje do zesilovače, zapojeného dle doporučeného schématu. 34
3.1. Řídící jednotka
Obrázek 3.12: Čidlo posypu
Obrázek 3.13: Schéma zapojení čidla posypu
Výstupem je 50x zesílený vstupní signál. Tento signál má pomocí diody D9 oříznutou zápornou část a jeho kladná část nabíjí kondenzátor C3, na kterém se integruje napětí odpovídající intenzitě dodávaného materiálu. Odpor R35 slouží k vybíjení kondenzátoru C3 tak, aby v případě poklesu množství dodávaného materiálu (při malém výstupním napětí ze zesilovače) došlo i k vybíjení tohoto kondenzátoru na požadovanou úroveň napětí. 35
3. HW implementace Poloha symetrie Měření polohy symetrie představuje měření polohy potenciometru. Při natáčení směru odhozu materiálu dochází souběžně k natáčení potenciometru, který slouží jako čidlo natočení. Proto získání této polohy v tomto případě představuje získání polohy potenciometru, tj. napětí, které se na něm vyskytuje.
Obrázek 3.14: Schéma zapojení vstupu polohy symetrie
Jako vstupní napájení do potenciometru (udávající polohu symetrie) je použito Uref, které je přivedeno na výstupní svorky. Diody D1 a D2 slouží jako ochranné diody proti přepětí (chrání zdroj referenčního napětí) v případě chybného zapojení. Odpor R19 a R20 slouží k omezení proudu. Diody D3 a D7 slouží opět jako ochrana proti přepětí (chrání vstup do mikroprocesoru), protože tento signál je již přímo připojen na analogový vstup mikroprocesoru. Kondenzátor C33 slouží pro jednoduchou filtraci a stabilizaci měřené úrovně napětí.
3.1.9
Výstupy
Digitální výstupy Stejně jako u digitálních vstupů je schéma zapojení všech digitálních výstupů shodné se všemi digitálními výstupy, je zde uveden popis pouze jednoho výstupu. Silový digitální výstup je řešen pomocí relé. Spínací cívka relé RE1 je spínána tranzistorem T2, který je buzen přímo výstupem z mikroprocesoru. Odpor R78 určuje budící proud tranzistorem. Dioda D17 slouží k odstranění napěťových špiček, které vznikají při sepnutí a rozepnutí relé. Každý výstup je opatřen proudovou ochranou zvolenou dle konkrétního spínaného prvku. 36
3.1. Řídící jednotka
Obrázek 3.15: Schéma zapojení digitálního výstupu
Analogové výstupy – PWM Analogové výstupy jsou rovněž všechny shodné, proto je zde popsán opět pouze jeden (znázornění na obrázku 3.16) výstup. Stejně jako digitální výstup je galvanicky oddělen pomocí relé, digitální vstup pomocí optočlenu, tak i analogový výstup je rovněž galvanicky oddělen optočlenem.
Obrázek 3.16: Schéma zapojení analogového výstupu
PWM výstup z mikroprocesoru je připojen přes odpor R68, který určuje budící proud diodou v optočlenu, k optočlenu IC22. Výstup z optočlenu je připojen pomocí odporu R66 k výkonovému PNP tranzistoru T7 v zapojení se společným kolektorem, který spíná proud do zátěže. Stejně jako digitální výstup je i analogový výstup opatřen proudovou ochranou v podobě příslušně osazené pojistky PO1. Dioda D33 slouží k odstranění nežádoucích napěťových špiček, které mohou vznikat při spínání a rozepínání zátěže (všechny připojené ovládané prvky jsou induktivního charakteru). 37
3. HW implementace
3.1.10
Napájení
Pro napájení celého systému je zvolena kombinace 4 zdrojů napětí. Hned za vstupními svorkami je použita pojistka PO13 pro proudovou ochranu napájecích obvodů, která je následována diodou D26, která zaručuje ochranu proti přepólování. Z bodu za diodou D26 se napájecí blok dělí do jednotlivých částí. Zapojení spínaného zdroje IC31 pro získání napěťové úrovně 5 V. Tento spínaný zdroj je zapínán/vypínán signálem POWER_ENABLE, který je přiveden z terminálu. Zapnutí tohoto 5 V spínaného zdroje způsobí sepnutí relé RE6, které přivede vstupní napětí na spínaný zdroj IC30, který generuje napěťovou úroveň 3,3 V, a na lineární regulátor napětí IC29, který dodává napětí 12 V.
Zdroj 3,3 V Zdroj napájecího napětí 3,3 V, který je zobrazen na obrázku 3.17, je použit pro napájení veškeré logiky systému (mikroprocesor, paměťové a komunikační periferie).
Obrázek 3.17: Schéma zapojení spínaného zdroje 3,3 V
Základem je spínaný zdroj MCP16301 [8] – IC30, který je zapojen dle doporučeného schématu z datasheetu. Diody D23 a D24 umožňují, aby byla řídící logika systému napájena buď z hlavního zdroje napájení (baterie/alternátor) nebo z USB. Samotná volba výstupního napájení zdroje je dána odporovým děličem ve zpětné vazbě, složeným z odporů R85 a R86. 38
3.1. Řídící jednotka Zdroj 5 V Napájecí zdroj 5 V je hlavním zdrojem z pohledu spouštění systému. Opět je zde využito obvodu MCP16301 [8].
Obrázek 3.18: Schéma zapojení spínaného zdroje 5 V Tento zdroj IC31 je jako jediný trvale připojen k napájecímu systému vozidla. Pro jeho spuštění je však zapotřebí přivedení vstupního napětí na vstup POWER_ENABLE, které způsobí zapnutí zdroje. Ostatní zapojení zdroje je shodné se zdrojem 3,3 V, pouze s rozdílem hodnot jednotlivých součástek u zpětnovazebního odporového děliče R97, R98 a výstupní indukčnosti L14. Zdroj 12 V Napájecí úroveň 12 V, která je použita pro napájení senzorů připojených jako digitální vstupy systému, je generována pomocí lineárního nenastavitelného zdroje napětí pomocí obvodu L7812CV. Jeho zapojení je znázorněno na obrázku 3.19. Zdroj referenčního napětí 2,5 V Pro účely při použití měření analogových vstupů (teplotní čidlo Ni-1000, poloha symetrie) je v systému použita úroveň referenčního napětí 2.5 V. Zdroj tohoto přesného napětí MCP1525 [7] je ovšem limitován maximálním proudem (cca 2 mA), který je schopný dodat. Z tohoto důvodu je zapojen v kaskádě s operačním zesilovačem IC17a zapojeným jako napěťový sledovač 3.20 Odpor R10 slouží jako omezovač maximálního proudu (cca na 250 mA). 39
3. HW implementace
Obrázek 3.19: Schéma zapojení lineárního zdroje 12 V
Obrázek 3.20: Schéma zapojení referenčního napětí
3.1.11
Rozšiřující konektory
Pro připojení rozšiřujících modulů, např. modulu GPS nebo GSM, jsou vyčleněny 2 konektory (zobrazené na obrázku 3.21), na které jsou přivedeny následující signály: • Napájení 3,3 V • Napájení 12 V • Zem • UART • I 2 C sběrnice • SPI sběrnice • Digitální vstupy/výstupy (u některých i analogový vstup/výstup) Rozmanitost typů těchto vyvedených signálů umožňuje velkou variabilitu rozšiřujících modulů. 40
3.1. Řídící jednotka
Obrázek 3.21: Schéma zapojení rozšiřujících konektorů
3.1.12
Signalizační diody
Pro signalizaci správné funkčnosti systému, jako je například přítomnost napětí na výstupech napájecích zdrojů, běh programu v mikroprocesoru, připojení systému pomocí USB kabelu nebo fungování komunikační sběrnice mezi řídícím systémem a terminálem jsou připraveny signalizační LED diody, které jsou znázorněny na obrázku 3.22.
Obrázek 3.22: Schéma zapojení signalizačních LED diod
41
3. HW implementace
3.2
Rozšiřující moduly
Rozšiřující moduly se k řídicímu systému připojují pomocí speciálně k tomu určených konektorů. Popis těchto konektorů je proveden v odstavci 3.1.11. Návrh těchto konektorů umožňuje k systému připojit velkou škálu nejrůznějších modulů. V současné době existuje požadavek na připojení modulu pro příjem GPS signálu a modulu pro přenos dat pomocí GSM sítě.
3.2.1
GPS
Modul pro příjem GPS řeší připojovací rozšiřující konektor, napájení samotného obvodu, zapojení samotného obvodu a konektor pro připojení antény. Obvod pro příjem GPS signálu SIM18 [19] vyžaduje pro svůj chod osazení pouze blokovacími kondenzátory. Odpory R102 a R103 slouží k možnosti vybrání typu použitého komunikačního rozhraní s nadřazených systémem (UART, I 2 C, SPI).
Obrázek 3.23: Schéma zapojení obvodu GPS modulu Obvod pro svůj chod vyžaduje napájecí napětí 1.8 V, který je zde získán pomocí lineárního stabilizovaného zdroje TC1015 [14], který obsahuje vstup pro řízení spuštění tohoto zdroje. Maximální odběr obvodu pro příjem GPS 42
3.3. Terminál
Obrázek 3.24: Schéma zapojení napájení GPS modulu
signálu je 40 mA, tento zdroj dokáže trvale poskytnout 150 mA, čímž je naddimenzován o 275%.
3.2.2
GSM
Modul komunikace pomocí sítě GSM není v současné době navrhnut, proto zde nebude ani dále popisován.
3.3
Terminál
Schéma a deska terminálu je ve fázi prototypu zapojení, protože není rozhodnuto o jeho finálním vzhledu. V době vzniku následujících schémat a prototypové desky plošných spojů (zobrazena na obrázku H.1), nebyla vybrána ani krabička, rozložení a ani počet kláves na terminálu. Proto schéma nemá konečnou podobu. Nicméně v jeho základních rysech se již nic zásadního měnit nebude.
3.3.1
Mikroprocesor
Jádrem terminálu je mikroprocesor PIC24FJ256GA106 [12], jehož zapojení je znázorněno na obrázku 3.26. Tento mikroprosor je ze stejné produktové řady jako je mikroprocesor použitý u desky řídícího systému. Jeho zapojení spočívá v připojení všech napájecích pinů a jejich osazení blokovacími kondenzátory, připojení země, krystalového oscilátoru, resetovacího obvodu apod. 43
3. HW implementace
Terminál Klávesnice
Napájení
Displej uP USB RS-232
3,3 V 5V 15 V
Obrázek 3.25: Blokové schéma terminálu
3.3.2
Komunikační rozhraní
Terminál obsahuje komunikační linku RS-232, pomocí níž se připojuje k desce řídicího systému. Zapojení převodníku UART ↔ RS-232 je provedeno shodně jako u desky řídicího systému, jehož schéma je znázorněno na obrázku 3.3. Terminál navíc obsahuje konektor pro USB Host, pomocí něhož lze připojit např. flash disk. Zapojení tohoto konektoru je znázorněno společně ve schématu s mikroprocesorem, zobrazeném na obrázku 3.27.
3.3.3
Napájení
Pro napájení terminálu je využita kombinace 3 zdrojů napětí. Svorky X1 a X5 slouží k připojení přívodního napájení od desky řídicího systému. Svorka X4 slouží jako vstup POWER_ENABLE, který spouští spínaný zdroj na desce řídicího systému.
Zdroj 3,3 V Zdroj napětí 3,3 V je použit pro napájení logické části terminálu a dále i logické části displeje. Jeho zapojení vychází ze zapojení zdroje 3,3 V, použitého na desce řídicího systému. Proto je princip a schéma zapojení shodné. 44
3.3. Terminál
Obrázek 3.26: Schéma zapojení mikroprocesoru
Zdroj 5 V Hlavní napětí, ze kterého všechny ostatní zdroje vycházejí, je úroveň 5 V. Jádrem tohoto zapojení je součástka spínanného zdroje LM2576 [20], která je zapojena dle doporučení. Zapojení je znázorněno na obrázku 3.28. Zdroj 5 V je použit jako zdroj pro ostatní napětí a dále pro napájení USB. 45
3. HW implementace
Obrázek 3.27: Schéma zapojení USB
Obrázek 3.28: Schéma zapojení zdroje 5 V
Zdroj 15 V Zdroj úrovně napětí 15 V je použit pro napájení podsvětlení displeje. Pro jeho zapojení je využito spínaného zdroje LMR26014 [21]. Jeho zapojení je dle doporučení a je znázorněno na obrázku 3.29.
Obrázek 3.29: Schéma zapojení zdroje 15 V
46
3.3. Terminál
3.3.4
Displej
Displej je k mikroprocesoru připojen pomocí sběrnice SPI. Ostatní zapojení konektoru pro připojení displeje je provedeno dle doporučení z datasheetu. Celé schéma je znázorněno na obrázku 3.30.
Obrázek 3.30: Schéma zapojení displeje
47
3. HW implementace
3.3.5
Klávesnice
Protože nebyl znám počet využitých kláves a způsob jejich připojení, jsou vstupy, které lze využít pro připojení tlačítek z klávesnice, vyvedeny na hřebínek. Schéma zapojení vstupů je znázorněno na obrázku 3.31. Každý vstup obsahuje Pull-Up rezistor pro stanovení klidové úrovně a sériový rezistor pro omezení maximálního proudu.
Obrázek 3.31: Schéma zapojení klávesnice
48
3.4. Návrh schématu a DPS
3.4
Návrh schématu a DPS
Návrh schématu a DPS byl proveden v programu Rangel XL od společnosti Seetrax [18]. Plošný spoj je proveden jako dvouvrstvý. Spodní vrstva je převážně použita jako podzemění, z důvodu EMC. Veškeré signály jsou vedeny v horní vrstvě, pouze v případě křížení jsou taženy ve vrstvě spodní.
3.5
Mechanika zařízení
Tvorba prototypu zařízení v sobě obnáší nejen zapojení po elektrické stránce, ale i mechanické provedení jednotlivých částí systému. V této sekci je uveden popis a způsob mechanického provedení řídícího systému a terminálu.
3.5.1
Deska řídicího systému
Deska řídicího systému bude umístěna v rozvaděči v zadní části vozu. Tento rozvaděč je opatřen samostatnou deskou z nevodivého materiálu, která je k zadní stěně rozvaděče připevněna pomocí prvků omezujících přenos vibrací. Tvar a velikost desky řídicího systému není víceméně omezen, proto je zvolen jak dle možností rozmístění jednotlivých součástek na desku řídícího systému, tak i logického členění různých typů svorek (vstupy, výstupy, napájení, komunikace apod.). Výsledkem je deska s rozměry 15x20 cm. Pro uchycení této desky do rozvaděče je připraveno 12 montážních otvorů o průměru 2,5 mm pro možnost připevnění pomocí distančních sloupků či podobných úchytových mechanizmů. Rozmístění těchto otvorů je znázorněné na obrázku E.1 a je zvoleno tak, aby u namáhaných částí (kolem svorek) byla deska nejpevnější. Pro připojování vodičů vstupních signálů, vodičů ovládaných prvků, komunikace a napájení je využito jednotného typu konektoru WAGO-256 (znázorněno na obrázku 3.32).
Pro jednotlivé typy signálů je volena barva dle následujících pravidel: • Oranžová – Napájecí napětí (12 V, URef) • Modrá – Zem • Šedá – Signálový vodič, vstup, výstup 49
3. HW implementace
Obrázek 3.32: Konektory pro připojení vodičů (zdroj http://sigma.octopart.com/) Odlišné jsou pouze konektory pro připojení rozšiřujících modulů. Pro ně je použit konektor pro ploché kabely, zobrazený na obrázku 3.33, s aretací proti rozpojení.
Obrázek 3.33: Konektor pro připojení rozšiřujících modulů (zdroj http://www.tme.eu/)
3.5.2
Terminál
V případě terminálu je kladen důraz na mechaniku zařízení z pohledu výsledného vzhledu, funkcionality a odolnosti proti mechanickému poničení. S ohledem na tyto skutečnosti je vybrána hliníková krabička s plastovými bočnicemi Bopla Alu-TopLine 1850-0200, která je znázorněna na obrázku 3.34. Požadavkem od zadavatele je membránová klávesnice. Ukázka tohoto typu klávesnice je zobrazena na obrázku 3.35. Návrh rozložení kláves a displeje na panelu terminálu je znázorněno na obrázku I.1. Konkrétní vzhled terminálu určí zadavatel systému, který rovněž zajistí jeho objednání a výrobu.
50
3.5. Mechanika zařízení
Obrázek 3.34: Hliníková krabička pro terminál (zdroj http://www.rose-bopla.com/)
Obrázek 3.35: Fóliová klávesnice (zdroj http://www.pittjug.org/)
51
Kapitola
SW implementace Obsahem této kapitoly je popis softwarové části vyvíjeného systému, popis vývojové platformy apod. Je nutné zmínit, že součástí této diplomové práce není funkční softwarová část. Protože je tato část realizačně nedokončená, jsou v této kapitole uvedeny i dosud nenaimplementované části tak, aby byl zřetelný koncept celého vyvíjeného software pro tento systém.
4.1
Architektura software
Všechen vyvíjený software se snaží držet konsekvence vícevrstvé architektury software. Jednotlivé vrstvy jsou zobrazeny na obrázku 4.1.
Obrázek 4.1: Architektura software Takto postavená vícevrstvá aplikace umožňuje použití různých vrstev na různých platformách, čímž se software stává přenositelný na různé plat53
4
4. SW implementace formy. Tohoto principu se využívá např. pro ladění aplikace na PC platformě bez nutnosti, aby vývoj probíhal přímo na vývojové desce. Lze namítnout, že lze pro vývoj aplikace použít vnitřní simulátor ve vývojovém prostředí, nicméně při samotném vývoji toto není natolik komfortní řešení. Princip zmíněný výše ovšem přináší několik komplikací. Především je pro každou platformu zapotřebí mít tentýž funkční modul odladěný samostatně, což přináší zvýšenou časovou náročnost – samozřejmě že existují i moduly, které jsou platformě nezávislé a ty postačí pouze jednou. Ačkoliv se každý modul pro danou platformu odladí samostatně, může nastat situace, kdy se moduly napříč různými platformami mohou chovat částečně odlišně, což může být způsobeno architekturou samotné platformy.
4.2
Použité nástroje a technologie
Obslužný software je psán pomocí jazyka C/C++ 5 . Pro jednotlivé platformy byly použity různé vývojové nástroje. Pro vývoj software do řídící jednotky či terminálu byly použity nástroje přímo od výrobce mikroprocesoru. Společnost Microchip poskytuje vlastní vývojové prostředí vycházející z architektury NetBeans IDE, MPLAB X IDE. Rovněž je využito překladače, od téže společnosti, MPLAB XC 16. Kombinace těchto dvou nástrojů poskytuje komfort při vývoji a ladění aplikací. Při vývoji obslužné aplikace pro PC platformu je využito nástroje od společnosti Embardeco - RAD Studio/C++ Builder.
4.2.1
Datová základna
Protože systém jako takový je rozdělen do několika částí, které mezi sebou komunikují, je zapotřebí zajistit integritu, kompatibilitu přenášených dat. Aby se při změně datové základny v řídícím systému nemusely provádět zásadní úpravy v terminálu a aby tyto změny bylo možné jednoduše přenést, je navržen popis datových struktur, specifických datových komunikačních zpráv, popisových textů apod. pomocí zápisu v XML. Tento XML dokument slouží jako podklad pro transformaci v něm popsaných dat do podoby použitelné v projektu (soubory *.c a *.h). Mezi tato data patří především 5
54
C u software řídící jednotky a terminálu, C/C++ u ovládací PC aplikace
4.2. Použité nástroje a technologie
Obrázek 4.2: Transformace XML → C samotné datové struktury, podklady pro knihovnu s komunikačním protokolem, knihovnu pro práci s paměťovým úložistěm datových struktur apod. Současně tento XML dokument slouží pro generování dat pro vizualizační část systému (terminál) v rozsahu kompatibility komunikačních protokolů. Pro Vizualizační část PC aplikace se používá samotný XML soubor, kdy příslušná komunikační knihovna provede konverzi tohoto dokumentu za běhu programu. Tím je možné použít jeden vizualizační nástroj pro více řídicích systémů napříč různou datovou základnou.
4.2.2
Objektové programování v C
Protože jazyk C neumožňuje objektové programování, je ve všech případech, kdy by bylo vhodné použití objektů, využíváno pseoudoobjektové programování. Jako třída je v tomto případě použita obyčejná struktura. Definice členských funkcí je provedena jako definice prototypu ukazatele na funkci. typedef struct Object { int value; int (* GetValue) (const Data * const this); void (* SetValue) (Data * const this, int value); } Object;
V jazyku C++ se u členských funkcí předává skrytý ukazatel na instanci samotného objektu this. U jazyka C tento ukazatel není a proto je nutné ho u každé členské funkce explicitně definovat. static int GetValue(const Object * const this) { return this->value; } 55
4. SW implementace static void SetValue(Object * const this, int value) { this->value = value; }
Samotné přiřazení konkrétních funkcí konkrétnímu objektu je prováděno při inicializaci objektu. void InicializeObject(Object * const this) { memset(this, 0x00, sizeof(Object)); this->GetValue = &GetValue; this->SetValue = &SetValue; }
Volání takto definovaného objektu se již téměř neliší od volání v C++. Object myObject; InicializeObject(&myObject); myObject->SetValue(&myObject, 15);
Jednoduchá dědičnost lze v tomto případě řešit opět velmi elegantně v podobě obsažení děděného objektu na prvním místě v definici struktury nového objektu, nejlépe s názvem parent. Všechny metody definované jako ukazatel na funkci představují ve své podstatě virtuální metody, které může děděný objekt přeinicializovat na vlastní metodu. typedef struct SubObject { Object parent; } Object; static void SetValueSubObject(Object * const this, int value) { this->value = value + 10; } 56
4.3. Využité knihovny
void InicializeSubObject(SubObject * const this) { memset(this, 0x00, sizeof(SubObject)); InicializeObject(this->parent); this->parent.SetValue = &SetValueSubObject; }
Použitím těchto principů se lze přiblížit vyšším programovacím jazykům a tím zpřehlednit a v jistých ohledech zjednodušit vyvíjenou aplikaci.
4.3
Využité knihovny
Software pro řídící jednotku a terminál obsahuje mnoho funkčních bloků, které jsou již mnohdy řešeny v podobě otevřených softwarových knihoven nebo jsou vyvinuty v rámci tohoto či některého z předchozích řešených projektů. V tomto odstavci jsou zmíněny a popsány využité knihovny.
4.3.1
Knihovna souborového systému
MDD File System (Memory Disk Drive File System) je knihovna pro implementaci souborového systému FAT12, FAT16 a FAT32 nad libovolnou použitou fyzickou vrstvou. Pro fyzické vrstvy typu USB, SD karta, CF karta již má připravenou podporu pro většinu produktových řad mikroprocesorů PIC.
Obrázek 4.3: Diagram knihovny souborového systému (zdroj [10]) 57
4. SW implementace Samozřejmostí je podpora pro běžné operace se soubory a adresáři (čtení, zápis, odstranění, přejmenování, vyhledávání apod.).
4.3.2
USB knihovna
Knihovna USB od společnosti Microchip je kompaktní knihovna s podporou 8, 16 a 32 bitových mikroprocesorových řad [15]. Umožňuje USB rozhraní používat jako různý typ zařízení (Host, Device nebo OTG) s různými typy USB tříd (CDC, HID, PID, Mass storage, apod.).
4.3.3
Grafická knihovna
Grafická knihovna od společnosti Microchip je modulární knihovna, optimalizovaná pro 16 a 32 bitové mikroprocesory. Pomocí nástroje GDD X (Graphic Display Designer X), který je distribuován jako rozšiřující modul do MPLAB X, lze velmi snadno vytvářet obsluhu grafických displejů. Knihovna má již v základu podporu pro celou škálu řadičů displeje. V případě použití řadiče displeje, který není podporován, stačí pouze tuto nejnižší vrstvu z této knihovny doimplementovat (s dodržením požadovaného rozhraní) a dále již jsou ostatní vrstvy na této vrstvě nezávislé.
Obrázek 4.4: Diagram grafické knihovny (zdroj [11])
58
4.3. Využité knihovny
4.3.4
Knihovna stavového automatu
Knihovna stavového automatu zapouzdřuje přehlednou a jednoduchou implementaci užití synchronních stavových automatů. Lze s pomocí ní vytvořit rychle a přehledně složité automatové struktury a nad nimi používat nejenom běžné přechodové funkce, ale i funkce zpožděného přechodu, opakovaného volání některého stavu či kombinaci všeho dohromady. Tato knihovna je plně platformě nezávislá, proto lze použít jak programem v mikroprocesoru tak i v PC aplikaci. Ukázka stavového automatu může vypadat následovně: typedef enum { STATE1 = ST_FIRST_USER_STATE, STATE2, STATE3 }STATE; STM_BEGIN(stm) STM_FINISH_STATE() { DoAny(); } STM_RESTART_STATE() { stGoto(STATE1); } STM_STATE(STATE1) { if(stFirstPass) { stCallRepeatTime(STATE3, 5, 500); } if(stReturnPass) { gstGoto(STATE2); 59
4. SW implementace } } STM_STATE(STATE2) { DoAny(); stFinish(); } STM_STATE(STATE3) { DoAny(); stReturn(); } STM_END();
Výše uvedená ukázka stavového automatu zobrazená pomocí diagramu je znázorněna na obrázku 4.5. Restart
Zavolání 5x po sobě každých 500 ms Sta te1
Sta te3 Návrat po skončení volání stavu
Sta te2
Fin ish
Obrázek 4.5: Ukázka stavového automatu
4.3.5
IO knihovna
IO knihovna přináší možnost zapouzdření IO operací tak, aby konfigurace vstupů a výstupů prováděla pouze pomocí této knihovny. Již v základu tato knihovna obsahuje implementaci analogových a digitálních filtrů, kdy lze 60
4.3. Využité knihovny velmi jednoduše nadefinovat, že tento digitální vstup používá digitální filtr s určitými parametry. Totéž platí i u vstupů analogových. Tato knihovna je rovněž plně platformě nezávislá.
IO Board knihovna Knihovna IO Board je nutná k funkčnosti IO knihovny. IO knihovna pouze definuje rozhraní, pomocí něhož lze číst nebo zapisovat digitální či analogové vstupy/výstupy a nastavovat jejich parametry, ale již neřeší samotný přístup na HW piny mikroprocesoru apod. Tuto část zajišťuje knihovna IO Board, která je již závislá na konkrétní platformě. Tato knihovna pouze přiřazuje určitý vstup konkrétnímu pinu mikroprocesoru nebo konkrétní vstup konkrétní komponentě CheckBox na formuláři (při použití na PC aplikaci jako simulátor).
4.3.6
Knihovna komunikačních rozhraní
Knihovna komunikačních rozhraní je dále rozdělena na komunikaci pomocí UARTu, I 2 C nebo SPI. Všechny tyto knihovny mají společné rysy v podobě rozhraní, ze kterého se vychází při použití na různých platformách. Všechna tato komunikační rozhraní jsou platformě závislá.
UART Knihovna obsluhující UART (pro zvolený mikroprocesor na desce řídícího systému) umožňuje použití libovolného rozhraní a volání metod pro odeslání případně přijmutí datového bufferu a informování nadřazené komponenty o dokončení akce v podobě callback metody.
I2C Stejně jako knihovna pro UART obstarává knihovna I 2 C obsluhu tohoto rozhraní. V rámci jednoho rozhraní umožňuje obsluhu až několika libovolných zařízení, kdy ke každému je možné využít buffer posílaných dat. Tohoto se využívá v případě, kdy obsluha jednotlivých připojených zařízení je prováděna v samostatných softwarových modulech, kdy by mohlo dojít k zahlcení tohoto rozhraní a následně by se na ostatní zařízení nedostávalo. Toto již tato knihovna řeší. 61
4. SW implementace SPI Knihovna pro SPI obsahuje stejnou funkcionalitu jako knihovna I 2 C, pouze pro jiné rohraní. Komunikační protokol Pro komunikaci pomocí rozhraní UART je nadefinován komunikační protokol, který nabízí různé typy zasílaných zpráv. Některé z těchto typů zpráv mají přímo návaznost na podklady získané transformací XML souboru s definicí datové základny do souborů C, která je popsána v odstavci 4.2.1.
4.3.7
Knihovny ostatních objektů
Mezi ostatní objekty se řadí především funkční bloky použitých HW komponent (digitální teploměr, paměť EEPROM, obvod RTC apod.) Knihovny těchto objektů vždy vychází ze stejného konceptu. Každá knihovna obsahuje strukturní část, ve které jsou nadefinovány potřebné funkční a parametrické proměnné objektu a dále na inicializační část a část výkonnou. Jednotlivé objekty využívají již knihoven, které byly uvedeny výše.
4.4
Řídící jednotka
V desce řídicího systému se využívá vyjma grafické knihovny všech výše zmíněných knihoven. Knihovna souborového systému obstarává funkcionalitu nad datovým úložištěm na SD kartě. V kombinaci s knihovnou USB rozšiřuje možnost přístupu k tomuto médiu pomocí Mass Storage a dále pomocí protokolu pro CDC6 . Pomocí IO knihoven a knihovny stavového automatu je implementována funkcionální část systému. Pro obsluhu periferií jsou použity knihovny ostatních objektů. Pro komunikaci se využívá knihovna UART s knihovnou komunikačního protokolu. Na obrázku 4.6 je znázorněn sekvenční diagram fungování softwaru řídící jednotky.
4.5
Terminál
Při tvorbě software do terminálu se využívá grafické knihovny, pomocí níž se obsluhuje grafický displej. Dále je využíváno knihovny USB, která zpříztupňuje terminál jako USB Host pro možnost připojení USB Flash disku (pro 6
62
Communication Device Class
4.6. Ovládácí PC aplikace Sta rt
Ini cialia ceR-R SPI
Ini cialia ceR-R I2C
Sta rt
Ini cialia ceR-R EEPROM
Ini cialia ceR-R Pinů Sta rt
InicializaceR-RTimeTicks
Ini cialia ceR-R Dig.R teplo měru InicializaceR-RHWRBoardRLib Ini cializace
Ini cialia ceR-R SDRK arty Ini cializaceR -RIORB oard
Tic kR-Rap lika ce Ko nec Ini cializaceR -RIORL ib Sta rt
TickR-Rlib Ini cializaceR -RLib
Ini cialia ceR-R Pinů
Ko nec
Ini cialia ceR-R ADRp řev o dníku
Ko nec
Obrázek 4.6: Diagram sw aplikace
zkopírování uložených dat z SD karty řídícího systému), případně jako řadič tiskárny pro přímý tisk vybraných údajů.
4.6
Ovládácí PC aplikace
Ovládací PC aplikace komunikuje s řídícím systémem pomocí rozhraní USB (případně RS-232, která je určená pro připojení terminálu). Pomocí programu je možné nastavovat jednotlivé parametry řídícího systému, nastavovat jazykové mutace, stahovat údaje uložené v SD kartě v řídícím systému.
63
Kapitola
Testování 5.1
Průběh oživování a testování
Zařízení bylo osazováno postupně po částech. Vždy došlo k otestování nově přidané části a následně se pokračovalo částmi dalšími. Osazování a oživování probíhalo v následujícím pořadí: 1. Zdroje napětí, u kterých bylo ověřeno, že opravdu poskytují požadované úrovně napětí. 2. Mikroprocesor, u kterého se funkčnost ověřila v podobě nahrání jednoduchého software, který blikal s jednou LED diodou. 3. Budič sběrnice RS-232, kdy se pomocí jednoduchého software v mikroprocesoru otestovalo odesílání znaku a jeho přijetí v připojeném PC a naopak. 4. Digitální vstupy, u kterých se jednak ověřila jejich funkčnost přímo čtením informace z mikroprocesoru, ale i elektrické vlastnosti pomocí voltmetru. Dále byla ověřena schopnost přenášení periodických signálů, kdy na vstup byl připojen generátor signálu a na výstup (za optočlenem) byl připojen osciloskop. Při měření bylo zjištěno, že zapojení vstupních digitálních signálů je schopno přenést signál o frekvenci nejméně 50 kHz 7 . 5. Digitální výstupy, u nichž ověření funkčnosti spočívalo ve spínání a rozpínání výstupu pomocí programu v mikroprocesoru. 7
Nejméně proto, že k dispozici byl pouze generátor signálu o maximální frekvenci 50 kHz
65
5
5. Testování 6. Analogové výstupy, u nichž se pomocí programu v mikroprocesoru generoval PWM signál (různých frekvencí) na příslušné výstupy a poté pomocí voltmetru byla změřena hodnota napětí na výstupu. 7. Obvod RTC, kde ověření funkčnosti bylo provedeno pomocí nastavení a přečtení údaje hodin. Porovnání bylo provedeno oproti času v notebooku, ze kterého byl čas nastavován. A to i s odstupem několika týdnů s ohledem na otestování funkce zálohování a přesnosti. Po několika týdnech byla odchylka času v řádu jednotek sekund. 8. Digitální teploměr, u něhož ověření správné funkce bylo provedeno jeho nastavením a následným přečtením údaje o aktuální teplotě. 9. EEPROM, u kterého došlo k obdobnému ověření, rovněž pomocí zápisu a následného přečtení hodnot 8 . 10. Teplotní čidlo Ni-1000, kde oživení a otestování proběhlo pomocí připojené odporové dekády, na které se nastavovaly tabulkové hodnoty pro čidlo Ni-1000 a na výstupu byla měřena hodnota odpovídajícího napětí. 11. USB, kde funkčnost byla otestována pomocí ukázkové aplikace ze stránek Microchipu. 12. SD karta, u níž se funkčnost ověřila rovněž pomocí softwarové knihovny ze stránek Microchipu, kdy se podařilo na SD kartě vytvořit soubor a zapsat do něj určitá data ve formátu FAT16 a následně byl tento soubor přečten v PC pomocí čtečky karet. 13. Ostatní bylo oživeno a otestováno dle konkrétních požadavků. Jednalo se především o oživení a otestování speciálních typů vstupních signálů, u kterých ověření probíhalo nejdříve po elektrické stránce (pomocí voltmetru/osciloskopu) a následně i pomocí jednoduchého programu v mikroprocesoru. S různě závažnými chybami, které jsou popsány v sekci 5.2, se podařilo kompletně oživit a otestovat celou desku řídicího systému. Na závěr byl proveden ještě zátěžový test na analogových výstupech, kdy na výstup analogového výstupu byl připojen drátový 20 W rezistor o hodnotě odporu 8 Ω. V tomto případě protékal výstupním tranzistorem proud 1,5 A. 8
Čtení a zápis probíhal v různě velkých blocích s různým rozložením adresovaného prostoru.
66
5.2. Chyby v návrhu
5.2
Chyby v návrhu
Stejně jako u prototypování každého jiného systému, tak i v případě tohoto, došlo k několika chybám v návrhu (různé závažnosti), které se v průběhu oživování/testování projevily. Níže uvedené chyby jsou chronologicky seřazeny dle toho, jak byly postupně objevovány. U každé chyby je i krátce popsáno, jak došlo k její opravě.
5.2.1
Velké díry v pinech na svorky
Chyba byla objevena ihned po obdržení tištěného spoje z výroby. Jedná se pouze o designovou chybu, kdy konektory vsazené do těchto děr mají značnou vůli a při pájení mohou být připájeny křivě. Oprava byla provedena změnou velikosti pinů v návrhovém systému.
5.2.2
Malé díry v pinech na rozšiřující konektory
Jedná se o opačnou chybu oproti chybě uvedené v bodě 5.2.1, kdy konektory nejdou vsadit do pozic. Proto na prototypu zařízení nejsou tyto konektory osazeny. Oprava byla provedena opět změnou velikosti pinů v návrhovém systému.
5.2.3
Špatně nakreslené pouzdro spínaného zdroje
Nejzásadnější chyba celého návrhu systému, kdy byly při kreslení pouzdra součástky spínaného zdroje prohozeny piny 4 a 6, čímž došlo při připojení vstupního napájecího napětí do výstupu obvodu spínaného zdroje a tento zdroj se odpálil. Než došlo k objevení této chyby byl již vyměněný obvod zdroje odpálen ještě jednou. Oprava byla provedena proškrábnutím některých spojů a správným propojením pomocí drátků. Rovněž byla chyba opravena v návrhovém systému.
5.2.4
Dioda D6 příliš daleko od zdroje
Při rozmísťování součástek na DPS byla dioda D6, chránící proti zpětnému proudu při rozepnutí relé, omylem umístěna na velmi vzdálené místo (necelých 13 cm dráhy) od relé. To mělo za následek, že zpětné rázy při rozepínání relé nebyly potlačeny a dostávaly se do celé napájecí větve 5V. V této větvi došlo k odpálení obvodu spínaného zdroje. 67
5. Testování Oprava byla provedena přidáním ochranné diody na piny relé a rovněž změnou rozmístěním součástky v návrhovém systému.
5.2.5
Špatně připojený kondenzátor na vstupu VREG
Ačkoliv v kapitole je uvedeno, že zapojení mikroprocesoru je provedeno dle doporučení výrobce, v případě kondenzátoru C42 připojeného k pinu mikroprocesoru ENVREG nebyl zapojen na napájení, ale na zem. To mělo za následek, že po připojení napájecího napětí mikroprocesor zhruba v polovině případů nenastartoval. Oprava byla provedena odletováním příslušného kondenzátoru od země a propojením pomocí drátku s napájecím napětím 3,3 V. Úpravy byly rovněž promítnuty v návrhovém systému.
5.2.6
Výstup ovládající čerpadlo není připojen na PWM výstup
Při kreslení pouzdra mikroprocesoru došlo k chybě označení vstupu na pinu 74, čímž došlo k pomýlení, že se jedná o přemapovatelný pin výstupní. Ve skutečnosti se jedná o přemapovatelný pin vstupní. Tento pin měl sloužit jako výstup pro generování PWM signálu pro řízení čerpadla solanky. Problém nastává pouze při potřebě použít hardwarový PWM blok mikroprocesoru pro řízení. PWM signál lze nicméně generovat softwarově. Opravou je použití rezervního výstupu místo tohoto výstupu.
5.2.7
Špatně zapojený Write Protect u paměti
U paměti EEPROM je chybně zapojen pin Write Protect, který znemožňoval zápis dat do této paměti. Připojením pinu na úroveň napájecího napětí dochází k ochraně paměti před zápisem (čtení není dotčeno), při připojení pinu na zem jsou operace čtení a zápisu povoleny. Oprava byla provedena pomocí drátku připojeného na správnou úroveň signálu.
5.2.8
Chybějící kondenzátor na výstupu napěťové reference
Chybějící kondenzátor C85 v návrhu zdroje referenčního napětí (Obrázek 3.20) způsobil, že tento zdroj nefungoval, protože potřebuje pracovat do zá68
5.2. Chyby v návrhu těže. Následně připojený operační zesilovač tuto zátěž nepředstavuje, protože jeho vstup má velký odpor. Proto zdroj referenčního napětí pracoval "naprázdno"a tudíž nepracoval.
5.2.9
Špatně zapojené vstupy u operačních zesilovačů
Při návrhu schématu zapojení pro připojení teplotního čidla Ni-1000 (Obrázek 3.10) došlo ke špatnému zapojení u vstupů operačních zesilovačů IC17 a IC18b. Oba zesilovače mají být zapojeny jako neinvertující zesilovače, špatným zapojením však fungovaly jako Schmitův klopný obvod.
69
Kapitola
Budoucí práce Tato práce si nekladla za cíl přinést hotové kompletní zařízení. Jelikož se ale jedná o komerční produkt, který po svém dokončení bude nasazován, je zapotřebí, aby byl celý systém dokončen. V rámci této diplomové práce byl vytvořen prototyp řídicího systému posypové nástavby SVS. Během realizace a oživování systému byly nalezeny různě závažné chyby, které se do další verze systému promítly již v podobě upraveného schématu, nikoliv však přepracované desky plošných spojů. Proto je zapotřebí před samotnou produkcí systému provést výrobu ověřovací série řídicího systému. Samotný řídicí systém bez obslužného terminálu nenachází využití. Terminál, který bude umístěn v kabině řidiče, je vyroben jako prototyp zařízení (zařízení obsahuje všechny požadované periferie a konektory, není však připraven po mechanické stránce). Proto je nutné tento terminál dokončit i po mechanické stránce a opět nechat vyrobit ověřovací sérii. V současné chvíli existuje pouze software do desky řídicího systému v podobě jednoduchého programu, pomocí něhož lze otestovat funkčnost jednotlivých periferií systému (vstupy/výstupy, EEPROM, RTC apod.) a další předpřipravené software třetích stran pro ověření funkčnosti USB a SD karty. Proto je nutné připravit jednotný software pro možnost otestování periferií s jednoduchou a přehlednou vizualizací výsledku testování. Toto testování v dalším kroku rozšířit o vytvoření hardwarového přípravku k simulování externích senzorů a ovládaných prvků. Rovněž je zapotřebí vytvořit software pro samotný technologický proces, 71
6
6. Budoucí práce k němuž budou využity již vytvořené knihovny periferií, které se využily při testování. Do terminálu je rovněž nutné vytvořit obslužný software. Moduly GPS a GSM jsou ve fázi návrhu, kdy jsou vybrány klíčové součásti těchto modulů, ale ještě nejsou zrealizovány jednotlivé desky plošných spojů. Po jejich realizaci bude následovat jejich oživení, otestování a následné začlenění do systému (hlavně po softwarové části). Pro jednoduchou možnost konfigurace systému, která je možná pomocí terminálu, bude sloužit obslužná aplikace na PC. Řídicí systém je možné k PC připojit buď pomocí linky RS-232 nebo portu USB. Vývoj této aplikace je součástí dalších prací.
6.1
Možnosti rozšíření systému
Systém jako takový bude po svém dokončení plně funkční a bude plnit funkci, která je naspecifikována. Stále však bude možné systém zdokonalovat a v některých ohledech zjednodušovat. Hlavní myšlenkou je návrh a implementace rozhraní CAN, což by umožňovalo získat informaci o aktuální rychlosti[4] přímo z řídící jednotky vozidla, případně informace o poloze vozidla, pokud by již bylo vozidlo samo o sobě vybaveno GPS modulem.
72
Závěr Cílem této diplomové práce byl návrh a realizace prototypu řídícího systému pro sypačové nástavby SVS (zobrazené na obrázku 1.1). V práci byla zprvu provedena specifikace požadovaných vlastností, které měl systém po dokončení umožňovat. Jednalo se předevšim o technické specifikace připojených vstupních senzorů a výstupních akčních členů, jejich technický a fyzikální popis. Na základě těchto údajů byla provedena analýza koncepce systému, ve které byly postupně vylučovány nevhodné platformy jako je implementace pomocí průmyslového počítače či PLC automatu. Jako nejvhodnější řešení je vybrán vývoj vlastní řídící desky. Jádrem této nově vzniklé desky se stal jednočipový mikroprocesor, který je plně dostačující a převážil vlastnosti dále diskutovaných řešení pomocí DSP či FPGA. Jako konkrétní typ mikroprocesoru byl zvolen 16 bitový PIC24FJ256GB210 od společnosti Microchip. Dále byly vybrány další dílčí části systému, jako např. úložiště dat v podobě SD karty, správně dimenzované zdroje napájecích napětí a další součásky použité při vývoji systému. Po návrhu schématu zapojení, tvorbě desky plošného spoje a jeho vyrobení následovalo postupné osazování této desky součástkami, které byly postupně oživovány a ucelené bloky otestovány. V rámci tohoto procesu se narazilo na několik různě závažných chyb, které vznikly převážně v návrhovém systému pro tvorbu schémat a desky plošných spojů. Před začátkem celé práce byla stanovena rizika, která mohla při návrhu tohoto systému nastat. Jak se ukázalo, tak riziko spojené s chybou v návrhu schémat mělo stanovenou příliš malou pravděpodobnost výskytu oproti skutečnosti. Všechny 73
Závěr chyby se podařilo různými technikami odstranit a jejich opravu zařadit do další verze systému V rámci oživování a testování osazeného systému vznikla řada softwarových knihoven pro využití jednotlivých periferií, které jsou v systému použity a dále vznikl jednoduchý testovací software pro jejich otestování. Samotný software řídícího algoritmu není realizován a nebyl ani součástí zadání této práce. Na počátku práce byl stanoven harmonogram projektu, který oproti původním předpokladům, z důvodu vytíženosti autora práce, nebyl dodržen. Přesto jsou ale všechny cíle, které si tato práce kladla, splněny. V souhrnu lze konstatovat, že výsledkem této práce je hotový prototyp zařízení, který splňuje všechny funkční požadavky. Tento prototyp je po hardwarové stránce oživen a otestován. Cena (za součástky) hotové desky řídícího systému se pohybuje řádově kolem 1600 Kč při nákladu 100 ks. Navíc nad rámec zadání jsou vybrány komponenty pro realizaci terminálu a je vytvořen jeho funkční prototyp. Pro kompletní dokončení celého systému, který bude schopný produkčního nasazení, je dále nutné realizovat software do této desky řídícího systému, dále dokončit realizaci hardwarové a softwarové části terminálu, realizovat rozšiřující modul pro příjem GPS signálu a modul pro komunikaci pomocí sítě GSM a následně doplnit příslušný software o jejich podporu.
74
Literatura [1] PLC Řídicí systémy. [Online, 2013-04-25]. Dostupné z WWW:
[2] Atmel Corporate: AT24C01 (2-Wire Serial EEPROM) Datasheet. [Online, 2013-04-07]. Dostupné z WWW: [3] Dean, A.: Introduction to Embedded Systems. 2008. Dostupné z WWW: [4] LogiCom GmbH: FMS-Standard description. [Online, 2013-0407]. Dostupné z WWW: [5] Maxim Integrated: DS1338 (I2C RTC with 56-Byte NV RAM) Datasheet. [Online, 2013-04-07]. Dostupné z WWW: [6] Maxim Integrated: MAX3232 (3.0V to 5.5V, Low-Power, up to 1Mbps, True RS-232 Transceivers) Datasheet. [Online, 2013-04-07]. Dostupné z WWW: [7] Microchip Technology Inc.: MCP1525 (2.5V Voltage References) Datasheet. [Online, 2013-04-07]. Dostupné z WWW: 75
Literatura [8] Microchip Technology Inc.: MCP16301 (High Voltage Input Integrated Switch Step-Down Regulator) Datasheet. [Online, 2013-0407]. Dostupné z WWW: [9] Microchip Technology Inc.: MCP9800 (2-Wire High-Accuracy Temperature Sensor) Datasheet. [Online, 2013-04-07]. Dostupné z WWW: [10] Microchip Technology Inc.: Memory Disk Drive File System. [Online, 2013-04-14]. Dostupné z WWW: [11] Microchip Technology Inc.: Microchip Graphics Library. [Online, 201304-14]. Dostupné z WWW: [12] Microchip Technology Inc.: PIC24FJ256GA110 Family Data Sheet. [Online, 2013-04-07]. Dostupné z WWW: [13] Microchip Technology Inc.: PIC24FJ256GB210 Family Data Sheet. [Online, 2013-04-07]. Dostupné z WWW: [14] Microchip Technology Inc.: TC1015 (150mA CMOS LDOs with Shutdown and Reference Bypass) Datasheet. [Online, 2013-04-15]. Dostupné z WWW: [15] Microchip Technology Inc.: USB Framework for PIC18, PIC24 & PIC32. [Online, 2013-04-14]. Dostupné z WWW: [16] National Semiconductor: LM386 (Low Voltage Audio Power Amplifier) Datasheet. [Online, 2013-04-07]. Dostupné z WWW: 76
Literatura [17] Salewski, D.-I. F.: Systematic Hardware Platform Selection - Introduction to Embedded Systems. 2007, [Online, 2013-04-16]. Dostupné z WWW: [18] Official web pages. [Online, 2013-04-11]. Dostupné z WWW: [19] Official web pages. [Online, 2013-04-16]. Dostupné z WWW: [20] Texas Instruments: LM2576 (LM2576/LM2576HV Series SIMPLE R 3A Step-Down Voltage Regulator) Datasheet. [OnSWITCHER line, 2013-04-12]. Dostupné z WWW: R [21] Texas Instruments: LMR62014 (LMR62014 SIMPLE SWITCHER 20Vout, 1.4A Step-Up Voltage Regulator in SOT-23) Datasheet. [Online, 2013-04-12]. Dostupné z WWW:
[22] Univision Technology Inc.: OEL Display Module (UG-5664ASGGF01) Product Specification. [23] Vojáček, A.: Čím řídit stroje zařízení - vlastní jednotka, SBC nebo PLC? [Online, 2013-04-12]. Dostupné z WWW: [24] Wikipedia: Embedded system — Wikipedia, The Free Encyclopedia. [Online, 2013-04-15]. Dostupné z WWW:
77
Příloha
Seznam použitých zkratek ADC Analog-to-Digital Converter CAN Controller Area Network CPU Central Processing Unit EMC Electromagnetic Compatibility FAT File Allocation Table FPGA Field Programmable Gate Array ICSP In Circuit Serial Programming IDE Integrated Development Environment I 2 C Inter-Integrated Circuit I/O Input/Output GPRS General Packet Radio Service GPS Global Position System GSM Global System for Mobile Communications HMI Human Machine Interface HW Hardware LED Lighting Emitting Diode MCU Microcontroller Unit 79
A
A. Seznam použitých zkratek OLED Organic Light-Emitting Diode PC Personal Computer PLC Programmable Logic Controller PWM Pulse Width Modulation RAM Random Access Memory RTC Real Time Clock SD card Secure Digital card SPI Serial Pipheral Interface SW Software UART Universal Asynchronous Receiver Transmitter USB Universal Serial Bus USB OTG USB On-To-Go
80
Příloha
Kompletní schéma
81
B
B. Kompletní schéma
Obrázek B.1: Schéma řídicího systému - Zdroj
82
Obrázek B.2: Schéma řídícího systému - Mikroprocesor
83
B. Kompletní schéma
Obrázek B.3: Schéma řídicího systému - Výstupy
84
Obrázek B.4: Schéma řídicího systému - Digitální vstupy
85
B. Kompletní schéma
Obrázek B.5: Schéma řídicího systému - Speciální vstupy
86
Obrázek B.6: Schéma řídicího systému - Ostatní
87
B. Kompletní schéma
Obrázek B.7: Schéma terminálu - Napájení, Mikroprocesor
88
Obrázek B.8: Schéma terminálu - Vstupy/Výstupy
89
B. Kompletní schéma
Obrázek B.9: Schéma modulu GPS
90
Příloha
Deska plošného spoje
91
C
C. Deska plošného spoje
Obrázek C.1: Deska plošného spoje - horní vrstva
92
Obrázek C.2: Deska plošného spoje - spodní vrstva
93
Příloha
Osazovací schéma
95
D
D. Osazovací schéma
Obrázek D.1: Osazovací schéma desky řídicího systému
96
Příloha
Mechanické připevnění
97
E
E. Mechanické připevnění
Obrázek E.1: Mechanické připevnění desky řídicího systému
98
Příloha
Seznam použitých součástek Tabulka F.1: Seznam použitých součástek - Řídící systém Název B1 C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C24, C26, C27, C28, C35, C65, C67 C16, C21, C22, C32, C33, C40, C42, C43, C45, C49, C50, C55, C56, C59, C61, C62, C64, C68, C77, C78, C82, C84 C22, C25, C29, C37, C38, C41, C44, C46, C47, C48, C53, C57, C66, C73 C30, C31, C39, C54, C60, C75, C76, C80, C81 C34, C51, C63 C36 C52, C58, C72 C69, C70, C71, C74 C79, C83 D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D14, D17, D18, D19, D20, D22, D30, D39
Hodnota/Typ CR2032SLF 22 pF
Pouzdro 0805
100 nF
0805
1 nF/NPO
0805
10 µF/6,3 V
0805
10 nF 220 nF 1 µF/6,3 V 0,1 µF/6,3 V 10 µF/50 V 1N4448
0805 0805 0805 0805 CE5D2F D0805
99
F
F. Seznam použitých součástek Tabulka F.1: Seznam použitých součástek - Řídící systém Název D11, D12, D13, D15, D16, D21, D31, D32, D40 D23, D24, D25, D26, D27, D33, D34, D35, D36, D37, D38 D28, D29 CHL1, CHL2, CHL3, CHL3, CHL4, CHL5, CHL6 IC1, IC2, IC3, IC4, IC5, IC6, IC7, IC8, IC9, IC10, IC11, IC13, IC22, IC23, IC24, IC25, IC26, IC27 IC12 IC14 IC15 IC16 IC17, IC18 IC19 IC20 IC21 IC28 IC29 IC30, IC31 K1, K2, K3, K4, K5, K6, K7, K8, K9, K10, K11, K12, K15, K20 K16, K18, K23, K24, K25, K26, K27, K28, K29, K30, K31, K32, K33, K34, K35 K13 K14, K17 K19 K21 K22 L1, L2, L3, L4, L5, L6, L7, L8, L9, L10, L11, L12 L13, L14
100
Hodnota/Typ LED
Pouzdro D0805
SM5408
MELF
10MQ040N HS-135-50
DO-214AC
LTV356
SO4
Micro SD card LM386 MCP9800 PIC24FJ256GB210 MC33078D DS1338 AT24C01 MCP1525 MAX3232 L7812CV MCP16301 WAGO-256-3
SO8 SOT23-5 TQFP100 SO8 SOIC8 SOIC8 SOT23 SO16 TO220V SOT23-6
WAGO-256-2
SIL3 AWP-20P miniUSB-B SIL5 ESD108E
DE0704
Tabulka F.1: Seznam použitých součástek - Řídící systém Název R1, R3, R4, R6, R8, R10, R12, R13, R15, R17, R20, R21, R29, R54, R66, R67, R68, R69, R70, R71, R72, R73, R74, R75, R76, R77 R19, R34, R40, R50, R51, R53, R56, R59, R65, R100 R2, R5, R7, R9, R11, R14, R16, R18, R22, R23, R24, R25, R26, R27, R28, R30, R32, R33, R42, R43, R44, R45, R48, R49, R52, R60, R86, R87, R88, R89, R90, R91, R92, R93, R94, R95, R96, R98, R99 R31, R63, R64 R35 R36, R55 R37, R39 R38 R41 R46, R47, R61, R62, R83, R85 R57 R58 R78, R79, R81, R82, R84 R80 R97 RE1, RE2, RE3, RE4, RE5, RE6 T1 T2, T3, T4, T5, T6 T7, T8, T9, T10, T11, T12 XT1
Hodnota/Typ 1 kΩ
Pouzdro 0805
100 kΩ
0805
10 kΩ
0805
100 Ω 470 kΩ 10 Ω 20 kΩ 2,2kΩ 1 MΩ 3,3kΩ 200 kΩ 33 kΩ 4,7kΩ 1,5kΩ 50 kΩ JS-5-K BSS138 BC817 BDX34C 32,768 kHz
0805 0805 0805 0805 0805 0805 0805 0805 0805 0805 0805 0805
XT2
8 MHz
SOT23 SOT23 TO220 QK032SMD HC33U
101
Příloha
Fotografie řídícího systému
103
G
G. Fotografie řídícího systému
Obrázek G.1: Fotografie osazené desky řídícího systému
104
Příloha
Fotografie terminálu
105
H
H. Fotografie terminálu
Obrázek H.1: Fotografie částečně osazené prototypové desky terminálu
106
Příloha
Návrh vzhledu terminálu
107
I
108
h/-gnastavení šířkygrozhozu
Nastaveníg směru rozhozu +leva/praváN
h/-gnastavení množstvígmat.
Zapnout/vypnout posypginert.gmat. Zapnout/vypnout solanku
Maximální množství materiálu
Displej
Zapnout/vypnout posyp
Zapnout/vypnout maják
Zapnout/vypnout světlo
Logo
Tlačítkagproglistovánígvgmenu +UpšgDownšgMenu-BackšgOKN
I. Návrh vzhledu terminálu
Obrázek I.1: Návrh vzhledu terminálu
Příloha
Obsah přiloženého CD
readme.txt ................................ stručný popis obsahu CD datasheet...............................................datasheety src.....................................zdrojové kódy implementace text.....................................................text práce thesis.pdf...........................text práce ve formátu PDF thesis....................zdrojová forma práce ve formátu LATEX 109
J