Kazalo:

Servo brizgalna - USB vodna pištola: 5 korakov
Servo brizgalna - USB vodna pištola: 5 korakov

Video: Servo brizgalna - USB vodna pištola: 5 korakov

Video: Servo brizgalna - USB vodna pištola: 5 korakov
Video: Исследование JavaScript и API веб-аудио Сэма Грина и Хью Забриски 2024, November
Anonim
Servo brizgalna - USB vodna pištola
Servo brizgalna - USB vodna pištola

Servo vodna pištola z USB krmiljenjem. Odlično za streljanje na nič hudega sluteče mimoidoče ali za zadrževanje ljudi z nadležnimi vprašanji. Ta projekt je majhna vodna črpalka, nameščena na vrhu servo za usmerjeno streljanje. Vse skupaj poganja mikrokrmilnik in ga upravljate s tipkovnice prek USB -ja. Če si želite ogledati več naših projektov in brezplačne video vaje, si oglejte našo spletno stran

1. korak: Zberite materiale

Zberite materiale
Zberite materiale
Zberite materiale
Zberite materiale
Zberite materiale
Zberite materiale

Ta projekt temelji na mikrokrmilniku. Razen mikrokrmilnika ATmega168, vključenega v USB NerdKit. Za ta projekt smo uporabili naslednje: 1 Hobby Servo, Hitec HS-501 Nizkonapetostna batna vodna črpalka 1 Majhen n-kanalni MOSFET, 2N7000

2. korak: Sestavite vezje

Sestavite vezje
Sestavite vezje
Sestavite vezje
Sestavite vezje
Sestavite vezje
Sestavite vezje
Sestavite vezje
Sestavite vezje

Prvi del našega vezja se samo poveže s servo. Tukaj je preprosto: ena žica od mikrokrmilnika do servo. Odvisno od proizvajalca obstaja nekaj različnih barvnih oznak, zato preverite, preden poskusite s tem. Sam čip ATmega168 dovoljuje le 40mA max v ali iz katerega koli zatiča, vendar naša črpalka potrebuje bližje 1000mA! Zato smo za nadzor te večje obremenitve izbrali večji tranzistor, 2N7000. Najprej razložimo osnove uporabe MOSFET -ov (polprevodniški tranzistorji s polprevodniškimi učinki iz kovinskega oksida) kot stikala: z napetostjo vrat na izhodu lahko pustimo tok, ki teče od odtoka do vira. Iz podatkovnega lista 2N7000 smo izvlekli sliko 1, ki prikazuje razmerje med odtočnim tokom in napetostjo odvodnega vira za različne nastavitve napetosti vrat-vir. Iz tega grafa se lahko naučite nekaj pomembnih stvari: 1. Za VGS pod približno 3,0 volti tok ne sme teči. To je stanje izklopa, imenovano tudi "mejna vrednost". 2. Za majhne VDS je krivulja približno linearna skozi izvor - kar pomeni, da je električno "videti" kot upor. Ekvivalentni upor je obraten nagib krivulje. To področje delovanja MOSFET -a imenujemo "trioda". 3. Pri večjih VDS je dosežena neka največja raven toka. To se imenuje "nasičenost". 4. Ko povečujemo VGS, lahko v triodnem in nasičenem načinu teče več toka. Zdaj pa ste dejansko spoznali vse tri načine delovanja MOSFET: mejno, triodno in nasičeno. Ker je naše upravljanje vrat digitalno (+5 ali 0), skrbi nas le krivulja, označena z rumeno, za VGS = 5V. Običajno uporaba MOSFET kot stikala običajno vključuje triodni način delovanja, ker MOSFET odvaja moč PD = ID*VDS in dobro stikalo bi moralo razpršiti malo energije v samem stikalu. Toda v tem primeru imamo opravka z motorjem, motorji pa ob prvem zagonu običajno potrebujejo veliko toka (z majhnim padcem napetosti). Tako bo prvo sekundo ali dve MOSFET deloval z visokim VDS in bo omejen z največjim tokom - približno 800 mA od rdeče črtkane črte, ki smo jo narisali na podatkovnem listu. Ugotovili smo, da to ni dovolj za zagon črpalke, zato smo uporabili majhen trik in vzporedno postavili dva MOSFET -a. Na ta način si delijo tok in skupaj lahko učinkovito potonejo približno 1600 mA. Zaradi visokih zahtev po moči črpalke smo uporabili tudi stenski transformator z večjo izhodno močjo. Če imate stenski transformator z več kot 5V izhodom - morda 9V ali 12V - potem imate ca

3. korak: Nastavite PWM na MCU

Nastavite PWM na MCU
Nastavite PWM na MCU
Nastavite PWM na MCU
Nastavite PWM na MCU
Nastavite PWM na MCU
Nastavite PWM na MCU

Registri in izračuni PWM V videoposnetku govorimo o dveh ravneh, ki jih uporablja modul časovnik/števec: najvišja vrednost in primerjava. Oboje je pomembno pri ustvarjanju želenega PWM signala, toda če želite aktivirati PWM izhod vašega ATmega168, moramo nastaviti nekaj registrov. Najprej izberemo način hitrega PWM z OCR1A kot najvišjo vrednostjo, ki nam omogoča poljubno nastavitev, kako pogosto naj se začne nov impulz, nato pa nastavimo, da ura teče z delitvijo 8, kar pomeni, da se bo števec povečal za 1 vsakih 8/(14745600 Hz) = 542 nanosekund. Ker imamo za ta časovnik 16-bitne registre, to pomeni, da lahko nastavimo celotno signalno obdobje na 65536*542ns = 36 milisekund. Če bi uporabili večje število oddelkov, bi lahko utripali bolj narazen (kar v tej situaciji ne pomaga) in izgubili bi ločljivost. Če bi uporabili manjšo številko deljenja (na primer 1), ne bi mogli narediti impulzov na razdalji najmanj 16 milisekund, kot pričakuje naš servo. izhod, ki je opisan v našem videu. Pin PB2 smo nastavili tudi kot izhodni pin-ni prikazan tukaj, vendar je v kodi. Kliknite, če želite povečati te posnetke na straneh 132-134 podatkovnega lista ATmega168, pri čemer so označene naše izbire vrednosti registra:

4. korak: Programirajte mikrokrmilnik

Zdaj je čas, da MCU dejansko programirate. Celotna izvorna koda je na voljo na naši spletni strani https://www.nerdkits.com/videos/servosquirter Koda najprej nastavi PWM za pogon servo. Koda nato samo sedi v zanki in čaka na vnos uporabnika. Znaka 1 in 0 vklopita ali izklopita zatič MCU, ki je priključen na tranzistor črpalke. To bo vklopilo in izklopilo črpalko, kar nam bo omogočilo, da se sprožijo po volji. Koda se odziva tudi na tipki '[' in ']', s katerimi bodo te tipke povečale ali zmanjšale primerjalno vrednost na zatiču PWM, kar bo povzročilo servo motor za spremembo položaja. To vam daje možnost ciljati pred strelom.

5. korak: Komunikacija prek serijskih vrat

Komunikacija prek serijskih vrat
Komunikacija prek serijskih vrat
Komunikacija prek serijskih vrat
Komunikacija prek serijskih vrat
Komunikacija prek serijskih vrat
Komunikacija prek serijskih vrat
Komunikacija prek serijskih vrat
Komunikacija prek serijskih vrat

Zadnji korak je nastavitev računalnika, tako da lahko ukaze pošljete mikrokrmilniku. V NerdKitu uporabljamo serijski kabel za pošiljanje ukazov in informacij v računalnik. V večini programskih jezikov je mogoče pisati preproste programe, ki lahko prek serijskih vrat komunicirajo z NerdKitom. Vendar je veliko lažje uporabiti terminalski program za serijsko komunikacijo namesto nas. Na ta način lahko preprosto tipkate na tipkovnici in si ogledate odziv NerdKit. Windows Če uporabljate Windows XP ali starejši, je vključen HyperTerminal in bi moral biti v vašem meniju Start pod "Start -> Programi -> Pripomočki -> Komunikacije ". Ko prvič odprete HyperTerminal, vas prosi, da vzpostavite povezavo. Prekličite jih, dokler niste na glavnem prizorišču HyperTerminal. Za delovanje z NerdKitom boste morali nastaviti HyperTerminal, izbrati ustrezna vrata COM in ustrezno nastaviti nastavitve vrat. Za pravilno nastavitev HyperTerm sledite spodnjim posnetkom zaslona. Če uporabljate sistem Windows Vista, HyperTerminal ni več vključen. V tem primeru prenesite PuTTY (namestitveni program Windows). S spodnjimi nastavitvami povezave nastavite Putty z uporabo ustreznih vrat COM. Mac OS X Po vstopu v terminalsko aplikacijo vnesite "screen /dev/tty. PL* 115200", da začnete komunicirati prek serijskih vrat. Linux V Linuxu uporabljamo " minicom "za pogovor s serijskim pristaniščem. Za začetek zaženite "minicom -s" na konzoli, da odprete nastavitveni meni minicom. Pojdite na "Nastavitev serijskih vrat". Nastavite parametre na naslednji način: Konfiguracija Minicom v Linuxu Nato pritisnite Escape in uporabite "Shrani nastavitev kot dfl", da shranite nastavitve kot privzete. Zdaj bi morali pritisniti "Izhod" in uporabiti minicom za pogovor z NerdKitom.

Priporočena: