Računalni upravljački uređaj za razne uređaje, dijagram koji je prikazan na sl. 1 priključuje se na USB priključak računala, koji danas postoji u svakom od njih. Jedini čip uređaja je uobičajeni mikrokontroler ATmega8. Neophodan je za organizaciju komunikacije u autobusu USB. Iako nema specijalizirani hardverski modul, ovu funkciju obavlja softver.
Slika 1
Otpornik R1, spojen između pozitivnog izlaza napajanja i USB D-bus linije, stavlja ga u LS mod niske brzine s brzinom razmjene od 1,5 Mbps, što vam omogućuje programsko dešifriranje računalnih poruka. Otpornici R4 i R5 eliminiraju prijelazne pojave koje nastaju tijekom razmjene informacija, što povećava stabilnost rada. Kondenzator C1 blokira impulsni šum u strujnom krugu, što također poboljšava stabilnost uređaja. Diode VD1 i VD2 služe za snižavanje napona napajanja mikrokontrolera na približno 3,6 V - to je potrebno za usklađivanje razina s USB sabirnicom.
Upravljački signali uređaja generiraju se na izlazima PB0-PB5 i PC0, PC1 mikrokontrolera. Visoka logička razina - napon je oko 3,4 V. Napon niske razine je blizu nule. Izlazi se mogu spojiti na uređaje koji troše struju ne veću od 10 mA (iz svakog izlaza). Ako su potrebne velike vrijednosti struje ili napona, tada se trebaju koristiti odgovarajući čvorovi.
Uređaj je sastavljen na prototipnoj ploči, tiskana pločica nije razvijena Korišteni su MLT otpornici, kondenzatori C2 i C3 - visokofrekventni keramički kondenzatori, C1 - K50-35 ili slični uvozni. Silicijske diode s padom napona na spoju od oko 0,7 V.
Program za mikrokontroler razvijen je u okruženju Bascom AVR verzije 1.12.0.0. Knjižnica je radila s USB sabirnicom swusb.LBX, koji izvodi softversko dekodiranje USB signala u stvarnom vremenu. Programski kod dobiven kao rezultat kompilacije iz datoteke s ekstenzijom HEX treba učitati u FLASH memoriju mikrokontrolera. Stanje konfiguracijskih bitova mikrokontrolera mora odgovarati onom prikazanom na sl. 2.
Slika 2
Kada prvi put povežete uređaj s računalom, operativni sustav će otkriti novi USB HID kompatibilan uređaj pod nazivom " uniUSB" i instalirajte potrebne upravljačke programe. U nekoliko sekundi uređaj je konfiguriran i spreman za upotrebu. Program UniUSB stvoren je za rad s njim. Predstavljen je u dvije verzije: za 32-bitni (x86) i 64-bitni ( x64) operativni sustavi obitelji Windows 32-bitna verzija je testirana na Windows 98, Windows XP, Windows 7, a 64-bitna verzija je testirana samo na Windows XP x64.
Program UniUSB napisano jezikom PureBasic(verzija 4.31) koristeći knjižnicu korisnički definiranih funkcija HID_Lib podržavajući rad sa USB HID uređaja. Izgled prozora programa prikazan je na sl. 3.
Slika 3
U istoj mapi u kojoj je njegova izvršna datoteka, trebala bi se nalaziti datoteka pod nazivom UniUSB_KOfl.txt. Ova datoteka pohranjuje skriptu za kontrolu vanjskih uređaja. Kada se program pokrene, podaci iz datoteke se učitavaju u tablicu koja se nalazi u glavnom prozoru, a po završetku rada pohranjuju se u datoteku. Klikom lijevog gumba miša na ćelije tablice možete promijeniti njihovo stanje: 1 - visoka logička razina, 0 ili prazno - niska logička razina.
Da biste dodali ili uklonili stupac tablice, desnom tipkom miša kliknite na njega i odaberite potrebnu radnju iz izbornika koji se pojavi. Kada spojite uređaj na USB priključak, program će ga detektirati i aktivirati gumb "Start" koji se nalazi na vrhu prozora na alatnoj traci. Pritiskom na ovaj gumb pokreće se proces iteracije kroz stupce tablice i postavljanja stanja izlaza naznačenih u njima. Radi veće jasnoće, brojevi izlaza koji su trenutno postavljeni na visoku logičku razinu istaknuti su lijevo od tablice. Brzina pretraživanja (vrijeme u milisekundama između prijelaza iz stupca u stupac) postavljena je u polju "Brzina, ms".
Imajte na umu da je operativni sustav Windows multitasking! To znači da se procesorsko vrijeme dijeli na mnoge procese, ponekad skrivene od korisnika, koji se redom izvršavaju, uzimajući u obzir prioritete postavljene u sustavu. Stoga ne treba očekivati veliku točnost u održavanju vremenskih intervala manjih od 100 ms.
Da biste nakratko zaustavili ponavljanje kroz stupce, koristite gumb "Pauza". Ponovnim pritiskom iteracija će se nastaviti od mjesta gdje je stala. Gumb "Zaustavi" potpuno zaustavlja ponavljanje po stupcima tablice. Ako komunikacija između računala i uređaja ne uspije ili se uređaj odvoji od USB konektora računala, program će prijaviti pogrešku prikazivanjem odgovarajuće poruke u statusnoj traci.
Izvor: Radio broj 2, 2011
13-01-2014
Zakharov Denis, Ukrajina
Kao što znate, postoji dovoljan broj sučelja preko kojih mikrokontroler (MC) može komunicirati s vanjskim uređajima. Ako trebate spojiti MK na osobno računalo ili prijenosno računalo, tada možemo s pouzdanjem reći da je najbolje koristiti RS-232 COM port sučelje.
Razlog za ovaj izbor je očit - gotovo svi kontroleri imaju UART hardverske module, s kojima možete prenositi informacije uz minimalnu potrošnju MK resursa. Osim toga, postoji mnogo dobro uspostavljenih programa dizajniranih za rad s COM priključkom. Budući da MK signali imaju TTL razine, potreban je pretvarač razine koji odgovara RS-232 sučelju. Često se izvodi na temelju pristupačnog i popularnog MAX232 čipa.
Slika 1. |
Predstavljeni uređaj (slika 1) dizajniran je za upravljanje uređajima pomoću bilo kojeg osobnog računala s USB priključkom. Moderna računala i prijenosna računala imaju nekoliko ovih priključaka. Uz pomoć ovog kompleksa možete kontrolirati svjetlo, TV i druge uređaje. Izvršni uređaji ne moraju biti u neposrednoj blizini računala.
Uređaj se sastoji od prilično pristupačnih i uobičajenih elemenata. Oba mikrosklopa su ATtiny2313 mikrokontroleri . Prvi kontroler spojen je na USB priključak računala i funkcionira kao pretvarač USB-COM formata. Drugi se povezuje s prvim i skenira sve vremenske naredbe koje se šalju s računala preko terminalskog programa Terminal v1.9b.
Otpornik R4 spojen na USB pin 2 stavlja uređaj u LS način rada niske brzine, što omogućuje dekodiranje poruka s računala prilikom razmjene podataka brzinom od 1,5 Mbps pomoću programa.
Uz pomoć otpornika R2 i R3 eliminiraju se prijelazni pojavi. Kondenzator C5 blokira impulsni šum u strujnom krugu. Zener diode D1 i D2 potrebne su za usklađivanje logičkih razina MK i USB ulaza računala. Za besprijekoran prijenos podataka između kontrolera, frekvencije kvarcnih rezonatora moraju biti jednake 12 i 4 MHz.
Pull-up otpornike treba spojiti na /RESET pinove kako bi se izbjeglo proizvoljno resetiranje MK u budućnosti zbog utjecaja smetnji i statičkih napona. U ovoj se shemi sve naredbe prikazuju na LED diodama spojenim na priključak B. Za upravljanje bilo kojim uređajem potrebno je spojiti izlaze kontrolera na relej (slika 2).
Uređaj možete sastaviti na matičnoj ploči, iako je bolje, ipak, na punopravnoj tiskanoj ploči. Elementi se mogu postaviti, na primjer, kao što je prikazano na slici 3.
Program za mikrokontroler U1 razvio je GetChiper u okruženju Bascom-AVR. Knjižnica je radila s USB sabirnicom swusb.LBX. Uz njegovu pomoć, softversko dekodiranje USB protokola izvodi se u stvarnom vremenu. Da bi uređaj radio s računalom, morate instalirati odgovarajuće upravljačke programe tako da ih kopirate na tvrdi disk. Kada se prvi put povežete, uređaj će biti prepoznat i zatražit će upravljački program. Zatim morate navesti put do mape s datotekama i sve će raditi.
Program za mikrokontroler U2 sam napisao u okruženju AVRStudio u asemblerskom jeziku. Blok dijagram algoritma rada MC prikazan je na slici 4. UART hardverski modul bi trebao biti konfiguriran za prekid kada se primi podatak. Sam MK neće obavljati nikakvu funkciju dok se ne dogodi prekid. Da biste smanjili potrošnju energije, možete koristiti način mirovanja, ali u ovom dizajnu to nije bilo potrebno učiniti. Čim uslijede naredbe s PC terminala, MK će odmah prijeći na njihovo skeniranje. Kontroler trenutno podržava sljedeći sustav naredbi:
-na1, na2, na3, na4, na5, na6, na7, na8- naredbe za postavljanje portova u "log. jedan";
-isključeno1, isključeno2, isključeno3, isključeno4, isključeno5, isključeno6, isključeno7, isključeno8- naredbe za postavljanje portova u "log. 0";
-ser - postavlja sve portove u aktivno stanje "log. jedan";
-clr- resetirati sve portove u stanje "log.0".
Nakon što završite s unosom svake naredbe, pritisnite Enter. Tako će MK moći odrediti kraj naredbe i početi je skenirati. Za svaku ispravnu naredbu, kontroler će odgovoriti s "ok". Ako unesete netočne podatke, tada će se "greška" vratiti na liniju terminala. Primjer izvođenja naredbe prikazan je na slici 5.
Verzija firmvera 1.0. Osigurače je potrebno namjestiti prema slici 6. U tijeku je izrada sljedeće verzije firmware-a gdje će se odvijati samoučenje MC-a i mijenjanje komandnih sustava u terminalu.
MK softver, Proteus virtualni model i PC driver -
Protokol prijenosa podataka između MK i računala - preuzimanje