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, Juli
Anonim
Servo razvodnik - USB pištolj za vodu
Servo razvodnik - USB pištolj za vodu

Servo pištolj za vodu sa USB kontrolom. Odličan za pucanje na nesuđene prolaznike ili za držanje ljudi sa dosadnim pitanjima. Ovaj projekt je mala pumpa za vodu montirana na servo za pucanje u smjeru. 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 projekat je zasnovan 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 kolo
Sastavite kolo
Sastavite kolo
Sastavite kolo
Sastavite kolo
Sastavite kolo
Sastavite kolo
Sastavite kolo

Prvi dio našeg kola 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. Šematski prikaz kruga ServoSquirtera na ploči NerdKits Drugi dio kruga omogućava mikrokontroleru da uključuje i isključuje motor 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, odlučili smo se za upotrebu većeg tranzistora, 2N7000. Prvo ćemo objasniti osnove korištenja MOSFET -a (poluprovodnički tranzistori s efektom polja s metalnim oksidom) kao prekidači: dovodeći napon kapije iznad izvora, možemo dopustiti protok struje od odvoda do izvora. Iz lista sa podacima 2N7000 izdvojili smo sliku 1, koja prikazuje odnos između struje odvoda i napona odvod-izvor za različite postavke napona kapije-izvora. Postoji nekoliko važnih stvari koje možete naučiti iz ovog grafikona: 1. Za VGS ispod oko 3,0 volti, struja ne smije teći. Ovo je isključeno stanje, koje se naziva i "graničenje". 2. Za male VDS krivulje izgledaju približno linearno kroz ishodište - što znači da električno "izgleda" kao otpornik. Ekvivalentni otpor je inverzni nagib krivulje. Ovo područje rada MOSFET -a naziva se "trioda". 3. Za veći VDS postignut je neki maksimalni nivo struje. To se naziva "zasićenje". 4. Kako povećavamo VGS, više struje je dopušteno teći i u triodnom i u zasićenim načinima. A sada ste zapravo naučili o sva tri načina rada MOSFET -a: graničnom, triodnom i zasićenju. Budući da je naša kontrola kapije digitalna (+5 ili 0), brine nas samo krivulja označena žutom bojom, za VGS = 5V. Uobičajeno, 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č bi trebao rasipati malo energije u samom prekidaču. Ali 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 ovaj način dijele struju i mogu zajedno efikasno 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 dva nivoa koja koristi modul tajmer/brojač: najveća vrijednost i vrijednost za usporedbu. Oboje je važno za generiranje PWM signala koji želite. Ali da bismo aktivirali PWM izlaz vašeg ATmega168, moramo postaviti nekoliko registara. Prvo odabiremo Brzi PWM način rada s OCR1A kao najvećom vrijednošću, što nam omogućava da proizvoljno postavimo koliko često treba pokrenuti novi impuls. 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 taj timer, to znači da možemo postaviti naš ukupni period signala na čak 65536*542ns = 36 milisekundi. Kad bismo koristili veći broj podjele, mogli bismo udaljiti pulse (što ne pomaže u ovoj situaciji) i izgubili bismo rezoluciju. Ako bismo koristili manji broj podjele (kao što je 1), ne bismo mogli napraviti impulse udaljene 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 lista podataka ATmega168, s istaknutim odabirom vrijednosti registra:

Korak 4: Programirajte mikrokontroler

Sada je vrijeme da programirate MCU. Cjeloviti izvorni kod nalazi se na našoj web stranici https://www.nerdkits.com/videos/servosquirter. Kôd prvo postavlja PWM za pogon servo pogona. Kod 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 pumpe. Ovo će uključiti i isključiti pumpu dajući nam mogućnost paljenja po volji. Kôd također reagira na tipke '[' i ']' Ovi ključevi će povećati ili smanjiti vrijednost usporedbe na PWM pinu, što će uzrokovati servo motor za promenu položaja. To vam daje mogućnost da ciljate prije pucanja.

Korak 5: Komunikacija 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
Komunikacija putem serijskog porta

Zadnji korak je postavljanje računara 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 tipkati na tipkovnici i vidjeti odgovor od NerdKit. WindowsAko koristite Windows XP ili stariji, HyperTerminal je uključen i trebao bi biti u vašem izborniku Start pod "Start -> Programi -> Pribor -> Komunikacije ". Kada prvi put otvorite HyperTerminal, od vas će se tražiti da uspostavite vezu. Otkažite ih sve dok niste na glavnoj sceni HyperTerminala. Morat ćete postaviti HyperTerminal, izabrati ispravan COM port i postaviti odgovarajuće postavke porta za rad s NerdKitom. Slijedite donje snimke zaslona da biste dobili ispravno podešavanje HyperTerma. Ako koristite Windows Vista, HyperTerminal više nije uključen. U tom slučaju idite na preuzimanje PuTTY (Windows instalacijski program). Koristite donje 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 preko serijskog porta. LinuxU Linuxu koristimo " minicom "za razgovor sa serijskim portom. Za početak, pokrenite "minicom -s" na konzoli da biste ušli u meni za postavljanje minicom -a. Idite na "Postavljanje serijskog porta". Postavite parametre na sljedeći način: Minicom konfiguracija na Linuxu Zatim pritisnite escape i upotrijebite "Save setup as dfl" za spremanje postavki kao zadanih. Sada biste trebali moći pritisnuti "Exit" i koristiti minicom za razgovor s NerdKitom.

Preporučuje se: