HMI pre ručné ovládanie strojov

22. Jún, 2009, Autor článku: Pobuda Matúš, Elektrotechnika, Študentské práce
Ročník 2, číslo 6 This page as PDF Pridať príspevok

Tento článok sa zaoberá témou návrhu hardwaru pre ovládanie grafického displeja so zabudovaným touchscreenom. Táto aplikácia sa má začať využívať vo firme MicroStep, s.r.o. ako Human Maschine Intreface pre ovládanie strojov. Článok opisuje výsledky mojej doterajšej práce na tomto projekte, ako aj návrhy ďalšieho rozvoja tohto projektu.

Problematika Human Maschine Interface (rozhranie človek stroj) je už dostatočne popísaná. Existuje veľké množstvo hotových aplikácií, pomocou ktorých dokážeme ovládať stroje. Väčšina z nich však komunikuje cez USB rozhranie a pripája sa na PC. Firma MicroStep, s.r.o. však potrebovala aplikáciu, ktorá by sa dokázala pripojiť na ich vlastný riadiaci systém MSNC750. RO6 je inováciou doteraz používaného systému RO3. RO3 je veľká tlačidlová technologická klávesnica, ktorá obsahuje 47 kláves. RO6 je systém zložený z grafického displeja s integrovaným touchscreenom a klávesnicou, ktorá obsahuje 22 funkčných kláves a joystick na riadenie pohybu. Ovládací panel RO6 vychádza zo staršieho vývojového stupňa z názvom RO5. RO5 je systém, ktorý sa nikdy nepoužil a ostal len vo fáze vývoja. Obsahoval 4,3” monochromatický grafický displej s rozlíšením 320 x 240 pixlov ale mal binárny dotykový panel 10 x 6 a bol pripravený na starší riadiaci systém. Mojou úlohou bolo navrhnúť riadiacu dosku RO6, otestovať ju a urobiť testovací software pre riadiacu dosku, displej a odporový touch screen.

Grafický displej a dotykový panel

Ako najvhodnejší pre túto aplikáciu bol vybraný grafický displej typu PG320240WRM od firmy Powertip. Ide o 5.4” monochromatický grafický displej s rozlíšením 320 x 240 pixlov a zabudovaným odporovým dotykovým panelom. Tento displej má zobrazovaciu plochu 120 x 92 mm a váhu 290 g. Disponuje LED podsvietením a radičom SED1335. Dotykový panel má 4 vodičové zapojenie a dokáže prepúšťať viac ako 78% svetla.


Obr.1 Bloková schéma grafického displeja

Odporový dotykový panel


Obr.2 Konštrukcia 4 –vodičového dotykového panela

4 – vodičový touch screen pozostáva z dvoch priehľadných odporových vrstiev. Pracuje na princípe privedenia napätia do vertikálnej a horizontálnej odporovej siete. A/D prevodník konvertuje napätie zmerané v bode dotyku. Meranie Y pozície panelu sa vykoná pripojením vstupu X+ ku A/D prevodníku a zapnutím radičov pre Y+ a Y- a následným digitalizovaním napätia na vstupe X+. Potom je napätie privedené na druhú os a A/D prevodník konvertuje napätie reprezentujúce pozíciu X cez vstup Y+. Takto sa do procesora dostanú súradnice X a Y.


Obr.3 Obvod 4 – vodičového dotykového panela

Riadiaca doska RO6

Tento modul slúži na riadenie grafického displeja s dotykovým panelom a zároveň na komunikáciu s nadradeným systémom MSNC 750 cez 2 linky RS485. Ro6 je postavený na báze 16b procesora FUJITSU MB90F334 s taktom 24MHz s externou zbernicou, ktorý má internú pamäť FLASH 384kB a RWM 24kB. Na externú zbernicu tohto procesora je pripojená 8b pamäť RWM 512kB s rýchlym prístupom, pamäť NAND FLASH 128MB a hradlové pole FPGA typu Xilinx SPARTAN XC2S15. Na analógové vstupy procesora je pripojený joystick na proporcionálne ovládanie pohybov stroja. V FPGA je vytvorený hardvér na podporu dvoch komunikačných liniek RS485 s blokmi DPRWM, rozhranie SPI a PWM modulátor na riadenie podsvietenia LCD displeja. LCD Displej je vybavený odporovým dotykovým panelom a jeho signály spracúva obvod ADS7846, ktorý je pripojený zbernicou SPI k hradlovému poľu FPGA. Na zbernici SPI je tiež sériová FLASH 2MB ako alternatíva k veľkokapacitnej NAND FLASH. Doska je napájaná z 24V a na doske sa nachádzajú zdroje 2,5V, 3,3V, 5V.


Obr.4 Bloková schéma RO6

SpRo6 a SPI rozhranie

Rozhranie SPI je určené predovšetkým na pripojenie vonkajších pamätí, A/D prevodníkov a ďalších zariadení k mikroprocesoru.


Obr.5 Celková koncepcia systému na SPI zbernici

V systéme môžu byť zapojené dva alebo viacej obvodov. Jeden z obvodov, obvykle procesor, je typu MASTER, ostatné sú typu SLAVE. Jednotlivé obvody sú prepojené 4 vodičmi:

  • Dátový výstup MOSI (Master Out Slave In) obvodu Master je pripojený na vstupy MOSI všetkých obvodov Slave.
  • Dátový vstup MISO (Master In Slave Out) obvodu Master je pripojený na výstupy MISO všetkých obvodov Slave.
  • Výstup hodinového signálu SCK je pripojený na vstupy SCK všetkých obvodov Slave
  • Každý obvod Slave má vstup SS (Slave Select) pre výber obvodu. Ak je SS v neaktívnej úrovni, je rozhranie SPI daného obvodu neaktívne a jeho výstup MISO je v stave vysokej impedancie. Vstupy SS jednotlivých obvodov sú samostatnými vodičmi pripojené k obvodom Master. Ak je obvodom Master mikroprocesor, bývajú tieto vodiče pripojené ku niektorým z jeho portov. Tak sa dá ľahko vybrať obvod, s ktorým má byť v danom okamihu vedená komunikácia.

V mojom prípade je na SPI rozhraní pripojený expandér SpRo6, ktorý zbiera dáta z klávesnice a posiela ich do mikroprocesora. Ďalej je na túto zbernicu pripojený obvod ADS7846. Tento obvod je A/D prevodník, ktorý konvertuje údaje získané z dotykového panela. K SPI zbernici je pripojená aj sériová FLASH pamäť 2MB.

Klávesnica

Klávesnica s mechanickou odozvou tlačidiel dopĺňa užívateľské rozhranie o možnosť ďalšieho ovládania. Obsahuje 22 funkčných kláves, ktoré majú v technologickom procese dopomôcť k jednoduchšiemu ovládaniu stroja. Klávesnica je prepojená s doskou Ro6 cez modul SpRo6. Do klávesnice sú zabudované aj 4 informačné LED diódy.


Obr.6 Klávesnica systému Ro6

Radič displeja SED1335

Na Obr.7. je zobrazené použitie radiča SED1335 v typickom systéme. Mikroprocesor posiela inštrukcie do radiča a ten riadi LCD panel a môže mať až 64 kB pamäte displeja. Keďže všetky obvody na ovládanie displeja sú už zabudované v radiči, stačí už len málo externých komponentov na konštrukciu kompletného LCD.


Obr.7 Bloková schéma systému so SED1335

SED1335 podporuje mnoho funkcií displeja a znižuje zaťaženie mikroprocesora pri zobrazovaní podčiarknutia, invertovaní displeja, prekrývaní grafiky textom alebo pri jednoduchých animáciách. Tieto možnosti sú podporované schopnosťou radiča SED1335 rozdeliť pamäť displeja na 4 rôzne bloky.

  • Tabuľka kódov znakov
    • Obsahuje kódy znakov pre zobrazenie textu
    • Každý znak je zložený z 8 bitov
    • Mapovanie tabuľky môže byť zmenené použitím funkcie scroll start
  • Tabuľka grafických dát
    • Obsahuje grafické bitmapy
    • Dĺžka slova je 8 bitov
    • Mapovanie tabuľky môže byť zmenené
  • Tabuľka CG RAM
    • Pamäť generátora znakov môže byť zmenená externým mikroprocesorom
    • Veľkosť znakov až 8 x 16 pixlov
    • Maximálne 64 znakov
    • Mapovanie tabuľky môže byť zmenené
  • Tabuľka CG ROM
    • Používa sa keď nepostačuje interný generátor znakov
    • Môže byť použitý v kombinácií z interným aj externý generátorom znakov
    • Veľkosť znakov až 8 x 16 pixlov
    • Maximálne 256 znakov
    • Fixné mapovanie od F000H do FFFFH

Organizácia VIDEO RAM

Rozmery displeja sú 320×240 bodov. Bajty vo video RAM (VRAM) postupne od začiatku do konca 16kb video stránky zodpovedajú dátam na displeji počínajúc ľavým horným rohom idúc postupne po riadkoch bodov zhora nadol vždy zľava doprava. Jeden bajt definuje farbu 8 za sebou idúcich bodov v riadku. Každý bit bajtu zodpovedá jednému bodu na displeji s významom

  • bit = 0 – bod je modrý (pozadie displeja)
  • bit = 1 – bod je žltý (text/grafika)

pričom v rámci jedného bajtu najvyšší bit (MSB) je bod vľavo. Šírka 320 bodov zodpovedá 40 bajtom na riadok.Z rozmerov a uvedenej organizácie vyplýva celková veľkosť stránky viditeľnej časti displeja: 320×240/8 = 9600 bajtov = niečo vyše 9kb. Tomu najbližšia vyššia mocnina 2 je 16kb na stránku. Nevyužitá kapacita cca 7kb vo video stránke umožňuje použitie zjednodušenej internej organizácie VRAM, v ktorej je v skutočnosti 64 bajtov na riadok. Legálne hodnoty registra COLUMN sú teda 0 až 63, pričom stĺpce 0 až 39 sa zobrazujú a zvyšné stĺpce sú neviditeľné za pravým okrajom. Hodnota riadka a stĺpca sa bitovo zloží do jednej hodnoty, ktorá tvorí adresu do VRAM, jednoduchým zložením

  • adresa VRAM = [ riadok | stĺpec ]
  • riadok = bity 6-13 (hodnoty 0-255)
  • stĺpec = bity 0-5 (hodnota 0-63)


Obr.8 Organizácia video ram

Testovanie

V tejto časti sa budem venovať jednotlivým testom, ktoré som vymyslel a naprogramoval počas vývoja tohto systému. Testujú sa všetky pamäte a to tak, že sa do nich zapíše príslušný text, ktorý sa neskôr z tejto pamäte prečíta a zapíše na displej. Ďalej je vymyslený jednoduchý test dotykovej obrazovky, ktorý po stlačení tlačidla prepne zobrazenie do nového okna a pomocou iného tlačidla sa zase prepne späť. V rámci testovania som do CG RAM zapísal znaky slovenskej abecedy, ktoré sa tiež vypisujú na obrazovku. Testuje sa aj funkcia čítanie z displeja, kde sa prečíta z displeja určitá časť a zobrazí sa v inej časti obrazovky. Tieto testy zatiaľ prebiehajú po každom resete systému.

Zhodnotenie

V tomto článku som chcel prezentovať zaujímavou formou výsledky mojej práce. Mojou úlohou bolo vytvoriť a otestovať všetky súčasti systému RO6. Zatiaľ sa ešte nepodarilo dostať tento projekt do finálnej fázy. V rámci testovania bude ešte nutné otestovať správnu funkciu klávesnice a súčinnosť celého systému. Potom prejde projekt do fázy, v ktorej bude naprogramované užívateľské rozhranie a komunikácia s nadradeným systémom. Do budúcna sa počíta s použitím 7,5“ RGB displeja.

  1. POWERTIP TECH. CORP.: SPECIFICATION for PG320240WRM-DE9IZ8(Ver.0), [online] Publikované 13.09.2005, [citované 18.4.2009],
    Dostupné z http://www.subory.sk/download/288124/PG320240WRM-DE9IZ8.pdf
  2. SEIKO EPSON CORPORATION: TECHNICAL MANUAL for SED1335 Series, [online] Publikované Marec 1999, [citované 18.4.2009],
    Dostupné z http://lcd-module.de/eng/pdf/zubehoer/sed1335.pdf
  3. DUDÁČEK K.: Sériová rozhraní SPI, Microwire, I2C a CAN, [online] Publikované 2002, [citované 18.4.2009],
    Dostupné z http://home.zcu.cz/~dudacek/NMS/Seriova_rozhrani.pdf
  4. TEXAS INSTRUMENTS INCORPORATED: Touch screen controller tips, [online] Publikované 2000, [citované 18.4.2009],
    Dostupné z http://focus.ti.com/docs/prod/folders/print/ads7843.html

Článok vznikol pod vedením Ing. Jozefa Dúbravského na Fakulte elektrotechniky a informatiky STU, Ilkovičova 3, 812 19 Bratislava.

Napísať príspevok