. : New eShop! - Mobilní verze - Pandatron.cz - Pandatron.sk - Diskuzní fórum - Zakázkový vývoj : .
 
Sběr dat s obvodem AVR
2. unora 2015 - 3:00 | Pandatron | Sběr dat s obvodem AVR | Komentářů: 14  

Sběr dat s obvodem AVR

Konstrukce zařízení pro sběr dat s obvodem řady AVR. Zařízení je určeno pro sběr analogových dat z až osmi kanálů a zobrazení průběhů na připojeném počítači.

V poslední době jsou počítače PC stále častěji využívány k zobrazení, správě či dalšímu následnému zpracování dat, naměřených připojeným hardwarem. To je především z důvodu velkých možností dostupného GUI a snadného programování v celé řadě dostupných jazyků. Jediným problémem bývá nutnost použití dalšího hardwaru, pro možnost připojení analogových senzorů, teplotních čidel a podobně. K tomuto účelu je určena následující konstrukce s obvodem řady AVR, tvořící jednoduchý datový převodník s více vstupy.

Základem konstrukce je mikrokontrolér ATmega 8, obsahující 10-bitový ADC převodník s analogovým multiplexerem. Teplotní čidla, nebo jiné zdroje analogového signálu, tak mohou využít až 6 analogových vstupů. Případně až osm při použití obvodu ATmega 8 v provedení TQFP. Analogové signály jsou poté obvodem v pravidelných intervalech snímány a pomocí sériového nebo USB portu odesílány do počítače. Zde jsou hodnoty převáděny do grafické podoby a mohou být samozřejmě ukládány i do databáze.

Hardware:
Kompletní schéma zapojení obvodu pro sběr dat je uvedeno na následujícím obrázku.


Obr. 1: Schéma zapojení

Zapojení je možné rozdělit do tří částí: řídicí mikrokontrolér ATmega 8, teplotní čidla (LM 335) a sériové rozhraní. Vše ostatní zařizuje program - firmware mikrokontroléru, tedy pravidelné měření analogových hodnot, příjem povelů z PC a odesílání naměřených hodnot zpět do PC. Obvod je taktován krystalem 8 MHz, případně je možné využít i interní oscilátor a externí krystal vynechat. V tom případě si však z technické dokumentace obvodu ověřte dostatečnou stabilitu pro celý vámi požadovaný provozní teplotní rozsah.

Obvod ATmega8 v DIP verzi nabízí celkem šest analogových kanálů (interně multiplexovaných). Pokud by to bylo málo, je možné použít obvod ATmega 8 v provedení TQFN, kde je k dispozici analogových kanálů až osm, případně použít zcela jiný mikrokontrolér.

Je-li analogovými vstupy potřeba měřit teplotu, je k tomu možné s výhodou využít teplotní čidla LM335, umožňující měření teploty i na větší vzdálenost. Výstupem obvodu je analogový signál, téměř lineárně závislý na teplotě jeho pouzdra v Celsiových stupních. Odporový trimr, uvedený na obr. 1 u čidla, je určen ke kalibraci a správnému nastavení výstupního napětí, například 2,98 V při 25 °C.

Software:
Autor konstrukce uvolnil i příslušný obslužný software, zobrazující vstupní napětí v podobě teplotního grafu. Software má následující vlastnosti:

  • Nastavitelný vzorkovací interval
  • Zobrazení naměřených hodnot v reálném čase pomocí jednoho nebo více samostatných grafů
  • Záznam hodnot do databáze s možností pozdějšího otevření a zobrazení
  • Možnost získání statistických dat pro tisk a záznam grafu (a nebo exportování jako metasoubor, JPG)
  • Sériové kontrolní okno pro sledování a ruční přenos dat

Kromě základní verze pro osm kanálů je možné získat i rozšířenou verzi, podporující až šestnáct kanálů, jak je uvedeno na následujícím obrázku.


Obr. 2: Hlavní obrazovka programu pro šestnáct vstupů

Pro přenos hodnot mezi ADC vstupy a počítačem je využíván následující protokol:

- Po otevření nastaveného sériového portu se software pokusí připojit k desce. PC v tuto dobu odešle znak ´>´ (0x3E) a deska musí odpovědět funkcí echo.
- Jakmile došlo k úspěšnému potvrzení, je možné zaslat desce příkaz pro čtení ADC. Pro čtení zašle PC do desky povel ´r´ (0x72), načež deska odpoví spolu s hodnotou všech analogových vstupů: ´\rD´ + 2 byte (ADC0) + 2 byte (ADC1) + ... + + 2 byte (ADC7). Celkem tedy 18 bytů. Analogová hodnota je odesílána v 16-bitovém tvaru (10-bit rozlišení) s vyšším prvním bytem.

Program pro mikrokontrolér:
Program pro AVR byl napsán v jazyce symbolických instrukcí. Hlavní kód je složen ze smyčky, která čeká na povely z PC. Rychlost komunikace je přitom pevně nastavena na formát 19200 8N1. Pokud přijme znak ´>´, musí zpět odpovědět znakem ´>´. Tato funkce je určena pro kontrolu, zda je hardware připojen a je funkční. Další podporovanou instrukcí je znak ´r´, sloužící jako povel k zahájení měření a odeslání analogových hodnota do počítače.


Obr. 3: Ukázku kódu obvodu AVR

Závěr:
Uvedená konstrukce je samozřejmě určena především jako příklad možného provedení. Před praktickým použitím je vhodné doplnit analogové vstupy operačními zesilovači, případně alespoň základní, diodovou ochranou. Pro možnost připojení k počítači prostřednictvím USB portu je možné obvod MAX232 vynechat a místo něho v zapojení použít například FT232R - USB/RS232 (TTL) převodník.

Odkazy & Download:
Domovská stránka autora
Data Acquisition System using ATmega8
Software pro PC - DOWNLOAD
Program pro mikrokontrolér - DOWNLOAD







GooglePlus1 FaceBook Twitter del.icio.us DiGG Google StumbleUpon Google Buzz Email RSS PDF Tisk

Komentáře (14):

Zobrazit starší 30 dnů (14)...

host
14. Dne 08. 11. 2011 v 14:37 zaslal host
BT
Pěkný zapojení. Myslíte že by šlo s bluetooth?
Radim


Název příspěvku: Vaše jméno: host
                 
  Zakázat formátování [Zakáže kódování a nahrazování smajlíky.]
Připojit soubory
reklama:
Anténa 2J020 - 900/1800/2400MHz
Anténa 900/1800/2400MHz, přímá s konektorem SMA.
Skladem od 83 Kč

Informace uvedené v článcích jsou platné v době jejich vydání a samotné články jsou určeny pouze jako zdroj informací. Autor článku ani správce webu nenesou žádnou zodpovědnost za případné újmy na majetku a zdraví. Názvy společností a výrobků, loga a další multimediální materiál mohou být ochrannými známkami příslušných společností.
RSS kanály: | |
+420 723 846 377
info@pandatron.cz
Všechna práva vyhrazena | mobilní verze | © Copyright 2000 - 2016 ISSN 1803-6007