. : New eShop! - Mobilní verze - Pandatron.cz - Pandatron.sk - Diskuzní fórum - Zakázkový vývoj : .
 
USB I/O
5. ledna 2010 - 8:00 | Pandatron | USB I/O | Komentářů: 15  

USB I/O

Konstrukce USB I/O rozšiřujícího zařízení s digitálními a analogovými piny včetně ovládacího software a zdrojových kódů.

Konstrukce USB I/O zařízení umožňuje jednoduchým způsobem rozšířit možnosti libovolného počítače o digitální vstupní a výstupní + analogové vstupní piny. Jejich prostřednictvím je možné využitím jediného USB portu ovládat a monitorovat až 19 libovolných prvků například z domácí automatizace či zvoleného zařízení.

Základem USB I/O je již dříve představený obvod expandIO firmy Firmware Factory Ltd. Prakticky se jedná o mikrokontrolér PIC firmy Microchip, výrobcem předprogramovaný zvoleným kódem. Po připojení obvodu k libovolnému PC prostřednictvím USB portu je k dispozici až 32 digitálních, vstupně/výstupních pinů (záleží na zvoleném typu pouzdra), sériové komunikační sběrnice typu UART, SPI, I2C, UNI/O a samozřejmě i většina z funkcí hostitelského mikrokontroléru. Jako jsou například čítače/časovače, komparátory, 10-bitové ADC, funkce přerušení atd. Obvody navíc v systému využívají ovladače skupiny HID (Human Interface Device), dostupné v každém dnes běžně používaném operačním systému, což eliminuje potřebu programování a instalace speciálních driverů a přináší možnost konstrukce zařízení typu plug-and-play.


Obr. 1: Blokové schéma použití expandIO

Pro ovládání USB I/O je k dispozici jednoduchý software s dostupnými zdrojovými kódy i vývojovým prostředím. Zájemcům je tak dáno k dispozici kompletní zázemí pro případnou modifikaci a vlastní použití USB I/O.

Schéma zapojení:
Na následujícím obrázku je schéma zapojení USB I/O.


Obr. 2: Schéma zapojení

Základem konstrukce je již zmíněný obvod expandIO (IO1) v provedení DIL-28, napájený přímo z USB portu počítače prostřednictvím konektoru typu USB B (J1). Obvod je taktován krystalem X1 na frekvenci 12 MHz a dále obsahuje pouze řadu blokovacích kondenzátorů. Čtyři kondenzátory, umístěné pod sebou s označením C5 až C8 slouží k blokování analogových vstupů interního ADC a vycházejí z doporučení výrobce obvodu. V případě potřeby je však možné nahradit je zdrojem signálu s nízkým výstupním odporem a docílit tak vyšší reakční rychlosti.

Na konektorech J2 až J6 typu jednořadých lišt jsou následně k dispozici dostupné I/O porty a analogové piny. Konektor J2 obsahuje čtyři analogové vstupy AD0 až AD3. Konektory J3, J4 a J6 zpřístupňují celkem sedm digitálních TTL/CMOS vstupů schopných zpracování napěťových signálů s 3,3V a 5V úrovněmi. Rozdělení vstupů na několik konektorů bylo provedeno z důvodu zjednodušení jednostranné desky s plošnými spoji. Konečně osm výstupních pinů s 5V úrovněmi je k dispozici na konektoru J5.

Konstrukce:
Na následujících obrázcích je uveden možný motiv jednostranné desky s plošnými spoji.


Obr. 3: Rozmístění součástek - TOP
 
Obr. 4: Rozmístění součástek - BOTTOM


Obr. 5: Plošný spoj (pro originál 600dpi klikněte)

Deska je navržena pro použití s obvodem v pouzdře DIL-28 a USB konektorem typu B. Veškeré blokovací kondenzátory jsou velikosti SMD 0805, osazené ze strany spojů.

Seznam součástek
C1,C2              22p  0805
C3,C4,C5,C6,C7,C8  100n 0805
IO1                EXPANDIO-USB-FS-DIL-28
X1                 12 MHz
J1                 USB1X90B PCB

Po pečlivém sestavení a kontrole pájených spojů není potřeba obvod nijak oživovat, ani programovat. Obvody EXPANDIO jsou dodávány již naprogramované a otestované, zapojení tak musí pracovat na první zapnutí. Pouze je při práci potřeba dbát opatrnosti při používání často ne příliš omezeného napájení z počítače, případně použít Praktický zdroj z USB portu či jiné proudové omezení.

Software:
Pro základní použití USB I/O konstrukce byl vytvořen jednoduchý program, dostupný včetně zdrojových kódů pod licencí GNU/GPL v.3 ke stažení na konci článku.


Obr. 6: Jednoduchý ovládací program pro USB I/O

Program je napsán v moderním jazyce C# s použitím volně dostupného vývojového prostředí Microsoft Visual C# 2010. Pro svou činnost vyžaduje .NET Framework, který je již součástí většiny moderních operačních systémů.

Prostřednictvím zaškrtávacích políček je k dispozici celkem osm výstupních pinů a to celý port B. Dále je k dispozici sedm vstupních pinů, indikovaných opět zaškrtávacími políčky a čtyři analogové vstupy, zobrazující naměřené napětí přímo ve V.

Pro komunikaci prostřednictvím USB portu je v programu použita volně dostupná knihovna HID USB Driver / Library německého autora Florian Leitner-Fischer. Samotná funkce programu je následně řízena především časovačem Timer1, který volá funkci private void timer1_Tick(object sender, EventArgs e);, starající se o odesílání dotazů do obvodu na aktuální stav vstupních pinů a vstupů ADC. Každá příchozí zpráva je následně zpracována a ihned vyhodnocena ve funkci private void myUsbCacher(object sender, EventArgs e);. Poslední větší funkcí programu je private void outputChanged(object sender, EventArgs e);, která je volána vždy při požadavku na změnu stavu některého z výstupních pinů.

Závěr:
Uvedená konstrukce představuje kompletní zařízení, připravené pro vestavění do vhodné aplikace a okamžité použití. Přesto že se v případě software jedná o co možná nejjednodušší řešení se zaškrtávacími políčky, není v případě zájmů vyloučena případná další aktualizace a doplnění o praktické funkce.

Celá dostupná řada obvodů expandIO-USB je dostupná skladem prostřednictvím našeho eShopu. Více informací o vlastním použití obvodů je k dispozici například v prakticky zaměřeném článku Použití obvodů expandIO.

Odkazy & Download:
Domovská stránka výrobce expandIO
Informace o produktech expandIO-USB
expandIO-USB Data Sheet
expandIO-USB v našem eShopu

Microsoft Visual C# 2010
Ovládací software včetně zdrojových kódů - DOWNLOAD







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

Komentáře (15):

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



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:
SDR-5+ HF receiver - All Mode Softwarový přijímač
Digitální softwarový přijímače SDR-5+ je již pátou generací špičkových produktů naší společnosti. Jedná se o All Mode Receiver s integrovaným generátorem, dvěma anténními vstupy a VCO vstupem s frekvenčním rozsahem 0 až 100 MHz.
Skladem od 2550 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