Përmbajtje:

Servo Squirter - Armë uji USB: 5 hapa
Servo Squirter - Armë uji USB: 5 hapa

Video: Servo Squirter - Armë uji USB: 5 hapa

Video: Servo Squirter - Armë uji USB: 5 hapa
Video: Abandoned 1700s Fairy Tale Castle ~ Owner Died in a Car Crash! 2024, Nëntor
Anonim
Servo Squirter - Armë Uji USB
Servo Squirter - Armë Uji USB

Një armë servo uji e kontrolluar nga USB. E shkëlqyeshme për të qëlluar mbi kalimtarët që nuk dyshojnë, ose për të mbajtur njerëzit me pyetje të bezdisshme. Ky projekt është një pompë e vogël uji e montuar në majë të një servo për qitje drejtuese. E gjithë kjo drejtohet nga një mikrokontrollues dhe kontrollohet nga tastiera juaj përmes USB. Për të parë më shumë nga projektet tona dhe video mësime falas shikoni faqen tonë në internet

Hapi 1: Mblidhni materialet

Mblidhni materialet
Mblidhni materialet
Mblidhni materialet
Mblidhni materialet
Mblidhni materialet
Mblidhni materialet

Ky projekt bazohet në mikrokontrollues. Përveç mikrokontrolluesit ATmega168 të përfshirë në USB NerdKit. Për këtë projekt ne përdorëm sa vijon: 1 Hobby Servo, Hitec HS-501 Pompë uji pistoni me tension të ulët 1 MOSFET të vogël n-kanal, 2N7000

Hapi 2: Mblidhni qarkun

Mblidhni qarkun
Mblidhni qarkun
Mblidhni qarkun
Mblidhni qarkun
Mblidhni qarkun
Mblidhni qarkun
Mblidhni qarkun
Mblidhni qarkun

Pjesa e parë e qarkut tonë lidhet vetëm me servo. Kjo është e thjeshtë këtu: një tel nga mikrokontrolluesi në servo. Ekzistojnë disa etiketime të ngjyrave të ndryshme në varësi të prodhuesit, kështu që kontrolloni para se ta provoni këtë. Foto skematike e qarkut ServoSquirter në pjatën e NerdKits Pjesa e dytë e qarkut lejon që mikrokontrolluesi të ndezë dhe fikë motorin e pompës. Vetë çipi ATmega168 lejon vetëm 40mA max brenda ose jashtë çdo kunji, por pompës sonë i duhen më afër 1000mA! Pra, për të kontrolluar këtë ngarkesë më të madhe, ne kemi zgjedhur të përdorim një transistor më të madh, 2N7000. Së pari ne shpjegojmë bazat e përdorimit të MOSFETs (Transistorët e Efektit Fusha Gjysëmpërçues të Oksidit Metal) si ndërprerës: duke sjellë tensionin e Portës mbi Burimin, ne mund të lejojmë që rryma të rrjedhë nga Drain në Burim. Nga fleta e të dhënave 2N7000, ne kemi nxjerrë Figurën 1, e cila tregon lidhjen midis rrymës së kullimit dhe tensionit të burimit të kullimit për cilësime të ndryshme të tensionit të burimit të portës. Ka disa gjëra të rëndësishme që mund të mësoni nga ky grafik: 1. Për VGS nën 3.0 volt, asnjë rrymë nuk lejohet të rrjedhë. Kjo është gjendja jashtë, e quajtur edhe "ndërprerje". 2. Për VDS të vogla, kurba duket përafërsisht lineare përmes origjinës - që do të thotë se elektrikisht "duket" si një rezistencë. Rezistenca ekuivalente është pjerrësia e anasjelltë e kurbës. Ky rajon i operacionit MOSFET quhet "triode". 3. Për VDS më të mëdha, arrihet një nivel maksimal i rrymës. Kjo quhet "ngopje". 4. Ndërsa rrisim VGS, më shumë rrymë lejohet të rrjedhë si në mënyrat e triodës ashtu edhe në atë të ngopjes. Dhe tani ju në të vërtetë keni mësuar për të tre mënyrat e funksionimit të MOSFET: ndërprerja, triodi dhe ngopja. Për shkak se kontrolli i portës sonë është dixhital (+5 ose 0), ne jemi të shqetësuar vetëm për kurbën e theksuar me të verdhë, për VGS = 5V. Normalisht, përdorimi i një MOSFET si ndërprerës në përgjithësi përfshin mënyrën e funksionimit të triodës, sepse MOSFET shpërndan fuqinë PD = ID*VDS, dhe një ndërprerës i mirë duhet të shpërndajë pak energji në vetë ndërprerësin. Por në këtë rast, ne kemi të bëjmë me një motor, dhe motorët kanë tendencë të kërkojnë shumë rrymë (me pak rënie të tensionit) kur ata fillojnë së pari. Pra, për sekondën e parë ose dy, MOSFET do të funksionojë me VDS të lartë dhe do të kufizohet nga rryma e tij maksimale - rreth 800mA nga vija e kuqe e ndërprerë që kemi tërhequr në fletën e të dhënave. Ne zbuluam se kjo nuk ishte e mjaftueshme për të filluar pompën, kështu që ne përdorëm një truk të vogël dhe vendosëm dy MOSFET paralelisht. Në këtë mënyrë, ata ndajnë rrymën dhe mund të fundosen në mënyrë efektive rreth 1600mA së bashku. Gjithashtu për shkak të kërkesave të larta të fuqisë së pompës, ne përdorëm një transformator muri me dalje më të lartë të rrymës. Nëse keni një transformator muri me dalje më të madhe se 5V - ndoshta 9V ose 12V - atëherë ju ca

Hapi 3: Vendosni PWM në MCU

Vendosni PWM në MCU
Vendosni PWM në MCU
Vendosni PWM në MCU
Vendosni PWM në MCU
Vendosni PWM në MCU
Vendosni PWM në MCU

Në video, ne flasim për dy nivele të përdorura nga moduli i kohëmatësit/numëruesit: vlera e lartë dhe vlera e krahasimit. Të dyja këto janë të rëndësishme në gjenerimin e sinjalit PWM që dëshironi. Por për të aktivizuar daljen PWM të ATmega168 tuaj në radhë të parë, duhet të krijojmë disa regjistra. Së pari, ne zgjedhim modalitetin Fast PWM me OCR1A si vlerën kryesore, e cila na lejon të vendosim në mënyrë arbitrare sa shpesh të fillojmë një puls të ri. Pastaj, vendosim që ora të funksionojë me një ndarje paraprake prej 8, që do të thotë se numëruesi do të rritet me 1 çdo 8/(14745600 Hz) = 542 nanosekonda. Meqenëse kemi regjistra 16-bit për këtë kohëmatës, kjo do të thotë që ne mund të vendosim që periudha jonë e përgjithshme e sinjalit të jetë aq e lartë sa 65536*542ns = 36 milisekonda. Nëse do të përdornim një numër më të madh të ndarjes, mund t’i bënim pulset tona më larg (gjë që nuk ndihmon në këtë situatë), dhe do të humbnim rezolucionin. Nëse do të përdornim një numër më të vogël të ndarjes (si 1), nuk do të ishim në gjendje t'i bënim pulset tona të paktën 16 milisekonda larg, siç pret servo-ja jonë. Së fundi, ne vendosim modalitetin e Krahasimit të Daljes për një PWM "jo-përmbysëse" dalje, e cila përshkruhet në videon tonë. Ne gjithashtu vendosëm që kunja PB2 të jetë një pin dalës-nuk tregohet këtu, por është në kod. Klikoni për t'i zmadhuar këto fotografi nga faqet 132-134 të fletës së të dhënave ATmega168, me zgjedhjet tona të vlerës së regjistrit të theksuar:

Hapi 4: Programoni Mikrokontrolluesin

Tani është koha për të programuar në të vërtetë MCU. Kodi i plotë burimor ofrohet në faqen tonë të internetit https://www.nerdkits.com/videos/servosquirterKodi së pari krijon PWM për të drejtuar servo. Kodi pastaj ulet vetëm në një lak duke pritur për futjen e përdoruesit. Karakteret 1 dhe 0 aktivizojnë ose fikin kunjin MCU që është i lidhur me transistorin e pompës. Kjo do të ndezë dhe fiket pompën duke na dhënë aftësinë për të ndezur sipas dëshirës. Kodi gjithashtu i përgjigjet çelësave '[' dhe ']' këto çelësa do të rrisin ose ulin vlerën e krahasimit në kunjin PWM, i cili do të shkaktojë servo motor për të ndryshuar pozicionin. Kjo ju jep aftësinë për të synuar para se të qëlloni.

Hapi 5: Komunikimet Seriale të Portit

Komunikimi Portual Serial
Komunikimi Portual Serial
Komunikimi Portual Serial
Komunikimi Portual Serial
Komunikimi Portual Serial
Komunikimi Portual Serial
Komunikimi Portual Serial
Komunikimi Portual Serial

Hapi i fundit është të vendosni kompjuterin në mënyrë që të dërgoni komandat te Mikrokontrolluesi. Në NerdKit, ne përdorim kabllon serik për të dërguar komanda dhe informacione në kompjuter. Mostshtë e mundur të shkruhen programe të thjeshta në shumicën e gjuhëve programuese që mund të komunikojnë përmes portit serik në NerdKit. Sidoqoftë, është shumë më e thjeshtë të përdorësh një program terminal për të bërë komunikimin serik për ne. Në këtë mënyrë ju thjesht mund të shkruani në tastierë dhe të shihni përgjigjen nga NerdKit. WindowsNëse jeni duke përdorur Windows XP ose më herët, HyperTerminal përfshihet dhe duhet të jetë në menunë tuaj Start nën "Start -> Programs -> Accessories -> Komunikimet ". Kur hapni për herë të parë HyperTerminal, ju kërkon të krijoni një lidhje. Anuloni ato, derisa të jeni në fshikëzën kryesore HyperTerminal. Ju do të duhet të vendosni HyperTerminal, duke zgjedhur portën e duhur COM dhe duke vendosur cilësimet e portës në mënyrë të përshtatshme për të punuar me NerdKit. Ndiqni pamjet e mëposhtme për të marrë konfigurimin e duhur të HyperTerm. Nëse jeni në Windows Vista, HyperTerminal nuk përfshihet më. Në këtë rast, shkoni te shkarkoni PuTTY (instaluesi i Windows). Përdorni cilësimet e lidhjes më poshtë për të konfiguruar Putty, duke përdorur portën e duhur COM. Mac OS X Pasi të keni hyrë në aplikacionin Terminal, shkruani "screen /dev/tty. PL* 115200" për të filluar komunikimin mbi portin serik. LinuxUn Linux, ne përdorim " minicom "për të folur me portin serik. Për të filluar, ekzekutoni "minicom -s" në tastierë për të hyrë në menunë e konfigurimit të minicom. Shkoni te "Konfigurimi i Portit Serial". Vendosni parametrat si më poshtë: Konfigurimi i Minicom në LinuxPastaj, goditni escape dhe përdorni "Ruaj konfigurimin si dfl" për të ruajtur cilësimet si parazgjedhje. Tani duhet të jeni në gjendje të godisni "Exit" dhe të përdorni minicom për të folur me NerdKit.

Recommended: