česky english Vítejte, dnes je čtvrtek 28. březen 2024

Univerzálny vývojový kit AVR-BOARD s 8-bitovými procesormi

Táto stavebnica vývojového kitu vznikla na základe požiadaviek z odborných technických škôl na dodávku zariadenia, na ktorom sa dá prakticky overiť činnosť napísaného programu pre procesory.

V súčasnosti existuje na trhu celá rada vývojových prostriedkov pre rôzne druhy procesorov. Sú však určené väčšinou len pre úzky okruh aplikácii podľa toho aké podporné obvody obsahujú. Preto vznikla konštrukcia vývojového prostredia, v ktorom sú integrované všetky bežné prvky pre ovládanie a zadávanie povelov, štandardné prvky pre zobrazovanie informácii a rozhrania bežne používané v dátovom prenose a v komunikácii s perifériami. Tak vznikol pomerne silný a univerzálny nástroj vhodný nielen na praktickú výučbu programovania riadiacich systémov pre študentov stredných a vysokých škôl, ale aj ako prostrie-dok na odlaďovanie riadiacich systémov rôznych technologických zariadení pre vývojárov.

Poďme sa pozrieť na možnosti tohto vývojového kitu.

Na doske kitu sú osadené celkom 3 osembitové mikrokontroléry AVR. Prvý procesor ATmega 16 má pevnú funkciu J-TAG programátora. Slúži na programovanie a ladenie ďalších dvoch mikrokontrolérov ATmega 128 a ATmega 32, takže nie je potrebný externý programátor ako u väčšiny vývojových dosiek. Procesory na doske medzi sebou komunikujú prostredníctvom zberníc I2C a USART. Obsluhujú ovládacie, zobrazovacie a ďalšie periféria cez vstupno-výstupné porty. Priame ovládanie kitu je možné cez 12 tlačidlovú klávesnicu. Ako otočný ovládací prvok je na doske použitý inkrementálny enkóder s fázovo posunutými výstupmi, pomocou ktorých je možné rozlíšiť smer otáčania. V osi otočného ovládacieho prvku je integrované tlačidlo, ktorým sa môže potvrdzovať nastavená hodnota funkcie. Na dotykové ovládanie slúži Touch panel, na aké sme zvyknutí napr. na mobilných telefónoch, kamerách, atď. Ako zobrazovacie prvky sú použité 4-miestny sedem segmentový LED displej, dvojriadkový alfanumerický LCD displej, maticový displej s 8 × 56 LED diodami a monochromatický podsvietený grafický LCD displej 128 × 64 bodov s integrovaným panelom pre dotykové ovládanie.

Kit je napájaný z nestabilizovaného adaptéra 9V AC/1A. Po usmernení a vyfiltrovaní je k dispozícii cca 12 V na napájanie relé. Pre získanie +5 V na napájenie logiky je použitý spínaný PWM stabilizátor s MC34063. Aj keď je možné pre niektoré aplikácie napájať kit priamo z PC pomocou USB kábla, nedoporučujem to, pretože pri niektorých aplikaciach nemusí stačiť prúd 200 mA/500 mA.

Univerzálny vývojový kit AVR-BOARD s 8-bitovými procesormi 1.jpg

Obr. 1 Popis kitu

Popis kitu podľa obr. 1

4 miestny 7 segmentový LED displej

4 miestny 7 segmentový displej so spoločnou anódou slúži na zobrazovanie číslicových informácii. Je ovládaný dekodérom BCD/7 segmentov (4543). Displej je pripojený na port D a na porte A je pripojená bodka. Displej sa ovláda časovým multiplexom štyroch spoločných anód (PD0 až PD3) a odoslaním desiatkovej hodnoty do dekodéra (PD4 až PD7). Dekodér 4543 zobrazuje čísla od 0 do 9. Po odoslaní väčšej hodnoty sa neaktivuje žiadny segment.

Alfanumerický LCD displej 2 × 16 znakov

Alfanumerický LCD displej umožňuje zobrazenie číslicových a textových znakov. Použil som podsvietený dvojriadkový displej so 16-timi znakmi v každom riadku. Prakticky všetky alfanumerické displeje sú riadené obvodom HD44780 od firmy Hitachi, prípadne kompatibilným typom. LCD modul dovoľuje využívať na komunikáciu s nadradeným systémom 4-bitovú, alebo 8-bitovú dátovú zbernicu. Na doske je zvolená 4-bitová komunikácia aby sa ušetrili výstupy mikrokontroléra. Displej je pripojený na port A, signál R/W je pripojený priamo na GND.

Maticový LED displej

Maticové LED displeje sa v praxi najčastejšie využívajú na zobrazenie bežiaceho textu a jednoduchých grafických symbolov. V tejto vývojovej doske je vytvorený zo siedmich maticových 8 × 8 LED displejov uložených vedľa seba. Celkový počet zobrazovacích bodov je tak 8 × 56. Jednotlivé matice displeja sú budené cez posuvné registre z portu A a multiplexované cez port D. Displej umožňuje zobrazenie bežiaceho alebo statického textu a grafiky.

Grafický LCD displej 128 × 64

Najväčšiu skupinu zobrazovacích jednotiek tvoria displeje LCD. Majú nízku spotrebu, vysokú spoľahlivosť a životnosť. Na doske je použitý monochromatický grafický LCD displej EA dogl128. Pochádza od firmy Electronic Assembly, je pripojený na port B, kde sa nachádza aj SPI zbernica.

Základné vlastnosti:

  • rozlíšenie 128 × 64 pixelov
  • obsahuje kontrolér ST7565R s SPI (4-vodičovým) rozhraním – SPI (20 MHz max. speed)
  • napájanie 3 V–3.3 V pri zapojení s jedným napájaním
  • odber typicky 320 μA
  • voliteľné podsvietenie – 7 druhov
  • možnosť pripojenia dotykového panelu.

Dotykový panel

Výstup z analógového dotykového panela je možné spracovať pomocou AD prevodníka, alebo pomocou Touch Screen Controlleru, s ktorého sa posielajú spracované dáta do procesora. Touch Screen Controller poskytuje množstvo výhod, ako sú nastavenia, konfiguračné registre, vlastná EEPROM pamäť. Na doske je použitý Touch Screen Controller AR1020-I od firmy Microchip Technology. Poskytuje možnosť pripojenia rôznych typov touch panelov, 4-vodičový, 5-vodičový a 8-vodičový. Komunikácia prebieha cez zbernicu I2C.

RGB LED

Pre praktické vyskúšanie pulzne šírkovej modulácie PWM je možné použiť RGB LED. Zmenou šírky plnenia sa znižuje alebo zvyšuje intenzita svetla jednotlivých kanálov a pri správnej kombinácii troch PWM kanálov dostaneme z LED celú paletu farieb. RGB LEDka je ovládaná z výkonovej zbernice (port E), aby zbytočne nezaťažovala port mikrokontroléru.

Hodiny reálneho času

Na doske kitu je obvod hodín reálneho času RTC s DS1307 s nízkou spotrebou. Údaje sú k dispozícii v BCD kóde, ktoré sa obojsmerne prenášajú sériovo cez I2C zbernicu. Z DS1307 môžeme prečítať sekundy, minúty, hodiny, deň, dátum, mesiac, rok. Obvod podľa mesiaca automaticky upravuje počet dní a má aj korekciu priestupného roku. Dokáže pracovať 24-hodinovom, alebo 12-hodinovom režime. Obvod hodín reálneho času má zálohované napájanie z primárneho článku a preto po vypnutí kitu a jeho následného zapnutia netreba obnovovať nastavený dátum a čas.

8/10/12 bitový D/A prevodník (1 kanál)

Na doske sa tak tiež nachádza D/A prevodník MCP 4921 12 bitový, ktorý je ovládaný pomocou zbernice SPI. D/A má voliteľný zisk (G) 1 alebo 2. Ako napäťová referencia je použitá TL431. Trimrom sa dá dostaviť referenčné napätie. Napätie na Uout sa počíta pomocou vzorca

Univerzálny vývojový kit AVR-BOARD s 8-bitovými procesormi - rovnice

kde N je odoslané číslo.

Pamäť EEPROM

AT24C32C je 32 Kb EEPROM pamäť, ktorá komunikuje prostredníctvom zbernice I2C. Na zbernici I2C je možné zdieľať až 8 rovnakých pamätí, pretože pinmi A0 A1 A2 môže byť upravená adresa potrebná k zápisu alebo čítaniu. Na doske sú piny A0 A1 A2 pripojené na zem (GND), takže adresa je pevná a to: pre zápis je A0 a pre čítanie je A1.

Programovacie konektory

Na doske je osadený JTAG konektor. JTAG konektor môže byť použitý ako sériové rozhranie pre programovanie, alebo On-Chip ladenie. JTAG rozhranie nám umožní nahliadnuť do procesora a vidieť, čo sa tam deje – prečítať si registre, vidieť aktuálny stav a meniť niektoré hodnoty. Zapojenie jednotlivých pinov je kompatibilné s nástrojmi od ATMELU (JTAG ICE mkll). Na doske je osadený tak tiež ISP6 konektor. Túto variantu môžete nájsť na programátore od ATMELU (AVRISP mkll) alebo tak tiež na AVR Dragon.

Posilnená výkonová zbernica (port E)

V prípade potreby ovládať zariadenie s väčším odberom prúdu nemusí stačiť prúd dodávaný z portu procesora. Preto je port E posilnený MOSFET-N tranzistormi, ktoré sú zapojené s otvorenými „kolektormi“. Takto je možné spínať prúd až 2A. Logický stav jednotlivých bitov na tejto zbernici indikujú LED dio-dy. K tomuto portu je cez jumpre pripojená aj vyššie spomenutá RGB LED.

Piezo menič

Na spodnej strane dosky vývojového kitu je umiestnený piezo menič, ktorý sa dá budiť z portu C. Slúži na akustickú signalizáciu a generovanie jednoduchých tónov.

Meranie elektrických a neelektrických veličín pomocou AVR BOARD

AVR BOARD umožňuje vytvoriť jednoduchý merací prístroj, ktorý môže merať elektrický odpor, kapacitu, teplotu, napätie, alebo aj inú elektrickú, alebo neelektrickú veličinu po prevode na napätie.

Meranie elektrického odporu a kapacity

Meranie je postavené na analógovom komparátore, ktorým disponujú mikroprocesory ATmega. Na invertujúci vstup komparátoru je privedené napätie z odporového deliča. Na neinvertujúci vstup komparátoru je pripojený RC obvod. Pri meraní odporu je použitý referenčný kondenzátor známej hodnoty, ktorý sa pomaly nabíja cez meraný rezistor. Čas, za ktorý sa nabije, je meraný pomocou čítača časovača. Výsledná hodnota času nabitia je priamo úmerná súčinu Rx a C. Pri meraní kondenzátoru je to obrátené, čiže je použitý referenčný rezistor a neznáma (meraná) kapacita.

Meranie elektrického napätia

Mikroprocesory ATmega sú vybavené zabudovaným 10 bitovým A/D prevodníkom z 10-timi vstupmi. Prevodník pracuje s algoritmom postupnej aproximácie. A/D prevodník má pre zvýšenie presnosti oddelené napájanie (AUcc a AGND). Čas prevodu je 65 až 260 µs a rýchlosť prevodu je 15 kSPS. To dáva možnosť merať rôzne fyzikálne veličiny, ktorých hodnoty sa prevedú najskôr na napätie. Na doske je možné merať dve napätia, ktoré sa dajú regulovať v rozsahu 0 – 5 V. Ďalej je možné merať výstupné napätie z teplotného snímača LM35, ktoré je priamo úmerné teplote.

Meranie teploty

Teplota môže byť meraná tromi spôsobmi:

  • Prvý spôsob je použitie analógového snímača LM35D, z ktorého sa získava napätie priamo úmerne teplote, ktoré následne spracuje A/D prevodník. Rozsah meraných teplôt je 0 až 100ºC.
  • Druhá možnosť je použiť digitálny snímač teploty DS1820, ktorého rozsah je – 55 až 125 ºC. Informácia o teplote je prenášaná 1-wire zbernicou z rozlíšením teploty 9 bitou. Pretože každý snímač DS1820 obsahuje unikátne sériové číslo, môže byť na rovnakej 1-Wire zbernici aj viac snímačov toho istého typu. Obidva teplotné snímače LM35 aj DS1820 sú súčasťou vývojového kitu.
  • Tretia možnosť je pripojenie externého snímača cez konektor na vývojovej doske, môže to byť LM35D alebo DS1820 a merať tak teplotu so vzdialeného miesta.

Pretože sa na doske kitu nachádza relé, je možné spolu so snímačom teploty vytvoriť funkčný termostat napríklad na riadenie teploty v miestnosti. Ďalej je možné priebeh teploty a iné namerané veličiny dlhodobo zaznamenávať na pamäť EEPROM alebo SD kartu. Z nameraných hodnôt sa dá po exportovaní do PC zostaviť graf časového priebehu teploty.

Vývojový kit AVR-BOARD_V03 poskytuje oveľa viac možností, ktorých popísanie presahuje rámec tohto článku. Podrobnejší popis je uvedený v užívateľskom manuáli, ktorý tvorí súčasť dodávky zariadenia. Vývojový kit sa dodáva so základným demonštračným softvérom, ktorý je určený na oboznámenie sa z jeho jednotlivými funkciami.

10 ks vývojového kitu sa používa na praktickú výučbu programovania mikroprocesorov v Súkromnej strednej odbornej škole technickej, Dr. Janského 10, v Žiari nad Hronom. S prvou verziou tejto vývojovej dosky som vyhral prvé miesto v celoštátnom kole v súťaži Stredoškolská odborná činnosť SOČ v odbore: Mikroprocesorová, výpočtová a telekomunikačná technika. V čase písania tohto článku mám 18 rokov a som študentom 4. ročníka tejto školy.

www.hhes.sk