13. května 2012

Univerzální USB IO s ATTINY2313

Již delší dobu je k dispozici virtuální USB port (V-USB)pro mikrokontrolery AVR. Je to softwarové řešení USB portu přímo na pinech mikrokontroléru včetně ovladačů pro WINDOWS a LINUX. Na tomto řešení jsou dnes postavené levné programátory a spousta další zařízení. Pokusil jsem se vytvořit jednoduchou univerzální desku,  kde by bylo řešeno vše potřebné k USB připojení a všechny zbylé piny MCU byly vyvedeny na pájecí plošky. Na desce je osazen ATTINY2313, který má dostatečný počet portů.

Schéma zapojení
Plošný spoj
První aplikací pro tuto desku je jednoduchý spínač ovládaný přes USB, který může ovládat až 8 relé. Využívá celý port PB MCU.  V paměti EEPROM MCU je uložen poslední stav. Takže i po výpadku napájení se spínač vrátí do původního stavu. SW vychází z demo kódu od V-USB a je mírně upraven.
Připojení relé 
Součástí SW je i ovládací program pro Windows a Linux (na WIN je třeba nainstalovat ovladače). Ovládání spínače je velmi jednoduché, stačí spustit ovládací program powerSwitch se správnými parametry:


Pro sepnutí portu 3 (PB3 na MCU),  zadáte (pozor v linuxu, pouštět pod rootem):

powerSwitch on 3

Pro vypnutí portu  3,  zadáte:

powerSwitch off 0

Pro zapnutí portu 0 na 5 sekund zadáte:

powerSwitch off 3 5

Stav portů zjistíte zadáním:

powerSwitch status

Zde je ukázka blikání LED na portu PB0 z linuxu:



Celý software se zdrojovými kódy i binárkami pro WIN a LINUX si můžete stáhnout zde. Na www.hamshop.cz si můžete zakoupit stavebnici (MCU je dodáván zvlášť). Tento modul nabízí široké uplatnění a jen změnou firmware procesoru lze vytvořit třeba převodník I2C na USB nebo 1-WIRE na USB apod. Momentálně pracuji na ovládání DDS přes USB.

2 komentáře:

Anonymní řekl(a)...

Zdravim, chcem sa podakovat za sikovnu stavebnicu a zaroven sa opytat na moznost prepojenia s "rele doskou" http://hamshop.cz/avr-a-arduino-c16/karta-s-8-rele-raspberry-pi-arduino-i179/. Experimentujem s tym, ale nedari sa mi to rozchodit.
Modul chodi pekne,sw-powerSwitch riadi vystupy bez problemov, led diody na "rele doske" sa zapinaju a vypinaju,ale samotne rele sa nezopne. Na vystupe z "USB dosky" som nameral iba 1.5V medzi PB.X a kostrou. Nie je to malo?

Jiri Peterka řekl(a)...

zdravim, myslim ze nemate pripojene externi napajeni pro releovou kartu, samotny powercwitch nemuze spinat primo rele, je to pouze signal, ktery dokaze rozsvitit akorat tu led a otevrit tranzistor nebo nejaky optoclen apod. ten pak pres externi zdroj napeti muze spinat vykonove narocnejsi prvek ( treba to rele). Jiri