Sadržaj:

Servo razvodnik - USB pištolj za vodu: 5 koraka
Servo razvodnik - USB pištolj za vodu: 5 koraka

Video: Servo razvodnik - USB pištolj za vodu: 5 koraka

Video: Servo razvodnik - USB pištolj za vodu: 5 koraka
Video: ФИНАЛ БАБКА-ПАУК #6 Прохождение DOOM 2016 2024, Studeni
Anonim
Servo razvodnik - USB pištolj za vodu
Servo razvodnik - USB pištolj za vodu

Servo vodeni pištolj s USB upravljanjem. Izvrsno za pucanje na nesuđene prolaznike ili za držanje ljudi s dosadnim pitanjima. Ovaj projekt je mala vodena pumpa postavljena na vrh servo pogona za usmjereno paljenje. Cijelom stvari upravlja mikrokontroler i upravlja se s vaše tipkovnice putem USB -a. Da biste vidjeli više naših projekata i besplatne video vodiče, posjetite našu web stranicu

Korak 1: Prikupite materijale

Prikupite materijale
Prikupite materijale
Prikupite materijale
Prikupite materijale
Prikupite materijale
Prikupite materijale

Ovaj projekt temelji se na mikrokontrolerima. Osim mikrokontrolera ATmega168 uključenog u USB NerdKit. Za ovaj projekt koristili smo sljedeće: 1 Hobby Servo, Hitec HS-501 Niskonaponska klipna vodena pumpa1 Mali n-kanalni MOSFET, 2N7000

Korak 2: Sastavite krug

Sastavite krug
Sastavite krug
Sastavite krug
Sastavite krug
Sastavite krug
Sastavite krug
Sastavite krug
Sastavite krug

Prvi dio našeg kruga samo se spaja na servo. Ovdje je jednostavno: jedna žica od mikrokontrolera do serva. Ovisno o proizvođaču, postoji nekoliko oznaka različitih boja, pa prije nego što pokušate ovo provjerite. Shematska fotografija kruga ServoSquirtera na ploči NerdKits Drugi dio kruga omogućuje mikrokontroleru uključivanje i isključivanje motora pumpe. Sam čip ATmega168 dopušta samo 40mA max u ili iz bilo kojeg pina, ali našoj pumpi je potrebno bliže 1000mA! Dakle, kako bismo kontrolirali ovo veće opterećenje, odabrali smo koristiti veći tranzistor, 2N7000. Prvo objašnjavamo osnove korištenja MOSFET -a (poluvodički tranzistori s efektom polja s metalnim oksidom) kao sklopke: dovodeći napon vrata iznad izvora, možemo dopustiti protok struje od odvoda do izvora. Iz podatkovnog lista 2N7000 izdvojili smo sliku 1 koja prikazuje odnos između struje odvoda i napona odvod-izvor za različite postavke napona vrata-izlaz. Nekoliko je važnih stvari koje možete naučiti iz ovog grafikona: 1. Za VGS ispod 3,0 volti, struja ne smije teći. Ovo je stanje isključeno, koje se naziva i "graničenje". 2. Za male VDS krivulja izgleda otprilike linearno kroz ishodište - što znači da električno "izgleda" poput otpornika. Ekvivalentni otpor je obrnuti nagib krivulje. Ovo područje rada MOSFET -a naziva se "trioda". 3. Za veće VDS postiže se neka maksimalna razina struje. To se naziva "zasićenje". 4. Kako povećavamo VGS, više struje će dopuštati protok i u triodnom i u zasićenim načinima. A sada ste zapravo naučili o sva tri načina rada MOSFET -a: granični, triodni i zasićeni. Budući da je naša kontrola vrata digitalna (+5 ili 0), brine nas samo krivulja označena žutom bojom, za VGS = 5V. Normalno, korištenje MOSFET -a kao prekidača općenito uključuje triodni način rada, jer MOSFET raspršuje snagu PD = ID*VDS, a dobar prekidač trebao bi rasipati malu snagu u samoj sklopci. No, u ovom slučaju imamo posla s motorom, a motorima je obično potrebno puno struje (s malim padom napona) pri prvom pokretanju. Tako će prve ili dvije sekunde MOSFET raditi s visokim VDS -om i bit će ograničen maksimalnom strujom - oko 800 mA od crvene isprekidane linije koju smo nacrtali na podatkovnom listu. Utvrdili smo da to nije dovoljno za pokretanje pumpe, pa smo upotrijebili mali trik i paralelno stavili dva MOSFET -a. Na taj način dijele struju i mogu zajedno učinkovito potopiti oko 1600 mA. Također, zbog visokih zahtjeva snage pumpe, koristili smo zidni transformator s većom izlaznom strujom. Ako imate zidni transformator s izlazom većim od 5V - možda 9V ili 12V - tada imate ca

Korak 3: Postavite PWM na MCU

Postavite PWM na MCU
Postavite PWM na MCU
Postavite PWM na MCU
Postavite PWM na MCU
Postavite PWM na MCU
Postavite PWM na MCU

PWM registri i proračuni U videu govorimo o dvije razine koje koristi modul mjerač vremena/brojač: najveća vrijednost i vrijednost usporedbe. Oboje je važno za generiranje PWM signala koji želite. No da bismo aktivirali PWM izlaz ATmega168, moramo postaviti nekoliko registara. Prvo odabiremo način brzog PWM-a s OCR1A kao najvećom vrijednošću, što nam omogućuje proizvoljno postavljanje učestalosti pokretanja novog pulsa. Zatim smo postavili sat da radi s preddijeljenjem 8, što znači da će se brojač povećati za 1 svakih 8/(14745600 Hz) = 542 nanosekunde. Budući da imamo 16-bitne registre za ovaj mjerač vremena, to znači da možemo postaviti naše ukupno razdoblje signala na čak 65536*542ns = 36 milisekundi. Kad bismo koristili veći broj podjele, mogli bismo udaljiti pulse (što u ovoj situaciji ne pomaže) i izgubili bismo razlučivost. Kad bismo koristili manji broj podjele (kao što je 1), ne bismo mogli napraviti impulse razmaknute najmanje 16 milisekundi, kako naš servo očekuje. Na kraju smo postavili način Usporedi izlaz za "neinvertirajuću" PWM izlaz, koji je opisan u našem videu. Također smo postavili pin PB2 kao izlazni pin-nije prikazan ovdje, ali nalazi se u kodu. Kliknite da biste povećali ove snimke sa stranica 132-134 u podatkovnom listu ATmega168, s istaknutim odabirom vrijednosti registra:

Korak 4: Programirajte mikrokontroler

Sada je vrijeme da programirate MCU. Cjeloviti izvorni kôd nalazi se na našoj web stranici https://www.nerdkits.com/videos/servosquirter Kod prvo postavlja PWM za pogon servo pogona. Kôd tada samo sjedi u petlji i čeka na unos korisnika. Znakovi 1 i 0 uključuju ili isključuju MCU pin koji je spojen na tranzistor crpke. Ovo će uključiti i isključiti crpku dajući nam mogućnost paljenja po volji. Kod također reagira na tipke '[' i ']' te tipke će povećati ili smanjiti vrijednost usporedbe na PWM pinu, što će uzrokovati servo motor za promjenu položaja. To vam daje mogućnost ciljanja prije pucanja.

Korak 5: Komunikacija serijskim portom

Komunikacija putem serijskog porta
Komunikacija putem serijskog porta
Komunikacija putem serijskog porta
Komunikacija putem serijskog porta
Komunikacija putem serijskog porta
Komunikacija putem serijskog porta
Komunikacija putem serijskog porta
Komunikacija putem serijskog porta

Posljednji korak je postavljanje računala tako da možete slati naredbe mikrokontroleru. U NerdKitu koristimo serijski kabel za slanje naredbi i informacija na računalo. Moguće je pisati jednostavne programe na većini programskih jezika koji mogu komunicirati preko serijskog porta na NerdKit. Međutim, mnogo je jednostavnije koristiti terminal program za obavljanje serijske komunikacije umjesto nas. Na ovaj način možete samo upisati tipkovnicu i vidjeti odgovor iz programa NerdKit. WindowsAko koristite Windows XP ili starije verzije, uključen je HyperTerminal koji bi trebao biti u vašem izborniku Start pod "Start -> Programi -> Pribor -> Komunikacije ". Kada prvi put otvorite HyperTerminal, od vas se traži da postavite vezu. Otkažite ih sve dok niste na glavnoj sceni HyperTerminala. Morat ćete postaviti HyperTerminal, izabrati ispravan COM port i odgovarajuće postaviti postavke porta za rad s NerdKitom. Slijedite donje snimke zaslona da biste dobili ispravno postavljanje HyperTerma. Ako ste na sustavu Windows Vista, HyperTerminal više nije uključen. U tom slučaju idite na preuzimanje PuTTY (Windows instalacijski program). Upotrijebite dolje navedene postavke veze za postavljanje Putty -a, koristeći odgovarajući COM port. Mac OS X Nakon ulaska u aplikaciju Terminal, upišite "screen /dev/tty. PL* 115200" da biste započeli komunikaciju putem serijskog porta. Linux U Linuxu koristimo " minicom "za razgovor sa serijskim portom. Za početak, pokrenite "minicom -s" na konzoli za ulazak u izbornik za postavljanje minicom. Idite na "Postavljanje serijskog porta". Postavite parametre na sljedeći način: Minicom konfiguracija na Linuxu Zatim pritisnite escape i upotrijebite "Spremi postavke kao dfl" za spremanje postavki kao zadanih. Sada biste trebali moći pritisnuti "Izlaz" i koristiti minicom za razgovor s NerdKitom.

Preporučeni: