Բովանդակություն:

Servo Squirter - USB ատրճանակ ՝ 5 քայլ
Servo Squirter - USB ատրճանակ ՝ 5 քայլ

Video: Servo Squirter - USB ատրճանակ ՝ 5 քայլ

Video: Servo Squirter - USB ատրճանակ ՝ 5 քայլ
Video: Водяной насос с сервоприводом, управляемый USB своими руками 2024, Նոյեմբեր
Anonim
Servo Squirter - USB ատրճանակ
Servo Squirter - USB ատրճանակ

USB- ով վերահսկվող servo ջրային ատրճանակ: Հիանալի է չկասկածող անցորդների վրա կրակելու կամ անհանգստացնող հարցերով մարդկանց հեռու պահելու համար: Այս նախագիծը մի փոքր ջրի պոմպ է, որը տեղադրված է սերվոյի վրա ՝ ուղղորդված կրակելու համար: Ամբողջը ղեկավարվում է միկրոկառավարիչով և վերահսկվում է ձեր ստեղնաշարից USB- ով: Մեր նախագծերից և անվճար վիդեո ձեռնարկներից ավելին տեսնելու համար այցելեք մեր կայքը

Քայլ 1: Հավաքեք նյութերը

Հավաքեք նյութերը
Հավաքեք նյութերը
Հավաքեք նյութերը
Հավաքեք նյութերը
Հավաքեք նյութերը
Հավաքեք նյութերը

Այս նախագիծը հիմնված է միկրոկառավարիչների վրա: USB NerdKit- ում ներառված ATmega168 միկրոկոնտրոլերից բացի: Այս նախագծի համար մենք օգտագործեցինք հետևյալը. 1 Hobby Servo, Hitec HS-501 voltageածր լարման մխոցային ջրի պոմպ

Քայլ 2: Հավաքեք շրջանը

Հավաքեք շրջանը
Հավաքեք շրջանը
Հավաքեք շրջանը
Հավաքեք շրջանը
Հավաքեք շրջանը
Հավաքեք շրջանը
Հավաքեք շրջանը
Հավաքեք շրջանը

Մեր շրջանի առաջին մասը պարզապես միանում է սերվոյին: Սա այստեղ պարզ է. Մի լար միկրոկոնտրոլերից մինչև սերվո: Կախված արտադրողից, կան մի քանի տարբեր գույնի պիտակներ, այնպես որ ստուգեք դա փորձելուց առաջ: NerdKits տախտակի վրա ServoSquirter սխեմայի սխեմատիկ լուսանկարը Շղթայի երկրորդ հատվածը թույլ է տալիս միկրոկառավարիչին միացնել և անջատել պոմպի շարժիչը: ATmega168 չիպը ինքնին թույլ է տալիս 40mA max ցանկացած պինից կամ դրանից դուրս, բայց մեր պոմպը պահանջում է ավելի մոտ 1000mA: Այսպիսով, այս ավելի մեծ բեռը վերահսկելու համար մենք ընտրել ենք օգտագործել ավելի մեծ տրանզիստոր ՝ 2N7000: Սկզբում մենք բացատրում ենք MOSFET- երի (Մետաղական օքսիդի կիսահաղորդչային դաշտի էֆեկտի տրանզիստորներ) որպես անջատիչների օգտագործման հիմունքները. Բերելով Դարպասի լարումը Աղբյուրից բարձր, մենք կարող ենք թույլ տալ հոսանքը հոսել Դրենից Աղբյուր: 2N7000 տվյալների թերթիկից մենք հանեցինք Նկար 1-ը, որը ցույց է տալիս արտահոսքի հոսանքի և արտահոսքի աղբյուրի լարման միջև կապը դարպասի աղբյուրի լարման տարբեր պարամետրերի համար: Կան մի քանի կարևոր բաներ, որոնք կարող եք սովորել այս գծապատկերից. Սա անջատված վիճակ է, որը նաև կոչվում է «անջատում»: 2. Փոքր VDS- ի դեպքում կորը ծագման միջոցով մոտավորապես գծային տեսք ունի, ինչը նշանակում է, որ այն էլեկտրականորեն «նմանվում է» դիմադրության: Համարժեք դիմադրությունը կորի հակադարձ թեքությունն է: MOSFET- ի գործողության այս շրջանը կոչվում է «տրիոդ»: 3. Ավելի մեծ VDS- ի համար որոշակի հոսանքի առավելագույն մակարդակ է հասնում: Սա կոչվում է «հագեցվածություն»: 4. Քանի որ մենք ավելացնում ենք VGS- ը, ավելի շատ հոսանք է թույլատրվում և՛ եռոդի, և՛ հագեցման ռեժիմներում: Եվ այժմ դուք իրականում իմացել եք MOSFET- ի շահագործման բոլոր երեք եղանակների մասին `անջատում, տրիոդ և հագեցում: Քանի որ մեր դարպասի հսկողությունը թվային է (+5 կամ 0), մեզ մտահոգում է միայն դեղին գույնով ընդգծված կորը, VGS = 5V- ի դեպքում: Սովորաբար, MOSFET- ը որպես անջատիչ օգտագործելը, ընդհանուր առմամբ, ենթադրում է շահագործման եռոդ ռեժիմ, քանի որ MOSFET- ը փոշիացնում է PD = ID*VDS էներգիան, իսկ լավ անջատիչը պետք է ինքնուրույն անջատի փոքր էներգիա: Բայց այս դեպքում մենք գործ ունենք շարժիչի հետ, և շարժիչները հակված են շատ հոսանք պահանջել (լարման փոքր անկմամբ), երբ դրանք առաջին անգամ գործարկվում են: Այսպիսով, առաջին երկրորդ երկուսը MOSFET- ը կաշխատի բարձր VDS- ով և կսահմանափակվի իր առավելագույն հոսանքով `մոտ 800 մԱ կարմիր գծանշված գծից, որը մենք գծել ենք տվյալների թերթում: Մենք պարզեցինք, որ սա բավարար չէ պոմպը գործարկելու համար, ուստի մենք մի փոքր հնարք գործադրեցինք և զուգահեռաբար տեղադրեցինք երկու MOSFET: Այս կերպ նրանք կիսում են հոսանքը և կարող են արդյունավետորեն խորտակվել միասին մոտ 1600 մԱ: Նաև պոմպի բարձր էներգիայի պահանջների պատճառով մենք օգտագործել ենք պատի տրանսֆորմատոր `ավելի բարձր հոսանքով: Եթե ունեք պատի տրանսֆորմատոր `ավելի քան 5 Վ ելքով` գուցե 9 Վ կամ 12 Վ, ապա դուք մոտավորապես

Քայլ 3: Տեղադրեք PWM- ը MCU- ում

Տեղադրեք PWM- ը MCU- ում
Տեղադրեք PWM- ը MCU- ում
Տեղադրեք PWM- ը MCU- ում
Տեղադրեք PWM- ը MCU- ում
Տեղադրեք PWM- ը MCU- ում
Տեղադրեք PWM- ը MCU- ում

PWM գրանցամատյաններ և հաշվարկներ Տեսանյութում մենք խոսում ենք ժամանակաչափի/հաշվիչի մոդուլի կողմից օգտագործվող երկու մակարդակի մասին `վերին արժեքը և համեմատման արժեքը: Այս երկուսն էլ կարևոր են ձեր ուզած PWM ազդանշանը ստեղծելու համար: Բայց ձեր ATmega168- ի PWM ելքն առաջին հերթին ակտիվացնելու համար մենք պետք է մի քանի գրանցամատյան ստեղծենք: Նախ, մենք ընտրում ենք արագ PWM ռեժիմը OCR1A- ով ՝ որպես ամենաբարձր արժեք, ինչը թույլ է տալիս մեզ կամայականորեն սահմանել, թե որքան հաճախ սկսել նոր զարկերակը: Այնուհետև մենք ժամացույցը դնում ենք 8-ի նախաբաժանմամբ աշխատելու վրա, ինչը նշանակում է, որ հաշվիչը կավելանա 1 -ով յուրաքանչյուր 8/(14745600 Հց) = 542 նան վայրկյան: Քանի որ մենք ունենք 16-բիթանոց գրանցիչներ այս ժամաչափի համար, դա նշանակում է, որ մենք կարող ենք ազդանշանի մեր ընդհանուր ժամանակահատվածը սահմանել 65536*542ns = 36 միլիվայրկյան բարձր: Եթե մենք օգտագործեինք ավելի մեծ բաժանման թիվ, մենք կարող էինք մեր իմպուլսներն ավելի հեռու դարձնել (ինչը չի օգնում այս իրավիճակում), և մենք կկորցնեինք լուծումը: Եթե մենք օգտագործեինք ավելի փոքր բաժանման թիվ (օրինակ ՝ 1), մենք չէինք կարողանա մեր իմպուլսները դարձնել առնվազն 16 միլիվայրկյան հեռավորության վրա, ինչպես մեր սերվոն է ակնկալում: Ի վերջո, մենք համեմատելու ելքային ռեժիմը սահմանել ենք «չշրջվող» PWM- ի համար: ելքը, որը նկարագրված է մեր տեսանյութում: Մենք նաև սահմանել ենք PB2 քորոցը որպես ելքային փին, որը ցույց չի տրված այստեղ, բայց այն ծածկագրում է: Կտտացրեք ATmega168 տվյալների թերթի 132-134-րդ էջերից այս կադրերը մեծացնելու համար ՝ մեր գրանցամատյանի արժեքների ընտրությամբ ՝

Քայլ 4: Programրագրավորեք միկրոկառավարիչը

Այժմ ժամանակն է իրականում ծրագրավորել MCU- ն: Ամբողջական սկզբնաղբյուրը տրամադրված է մեր կայքում ՝ https://www.nerdkits.com/videos/servosquirter: Կոդն առաջին հերթին կարգավորում է PWM- ը `սերվո վարելու համար: Այնուհետև կոդը պարզապես նստում է որոշ ժամանակաշրջանում ՝ սպասելով օգտվողի մուտքին: 1 և 0 նիշերը միացնում կամ անջատում են MCU կապը, որը միացված է պոմպի տրանզիստորին: Սա կմիացնի և կջնջի պոմպը, ինչը մեզ հնարավորություն կտա կրակել ըստ ցանկության: Կոդը նաև արձագանքում է «[» և «]» ստեղներին, որոնք այս ստեղները կբարձրացնեն կամ կնվազեցնեն PWM քորոցի համեմատման արժեքը, ինչը կհանգեցնի սերվոյի շարժիչը դիրքը փոխելու համար: Սա ձեզ հնարավորություն է տալիս կրակելուց առաջ նպատակ դնել:

Քայլ 5. Սերիական նավահանգիստային հաղորդակցություններ

Սերիական նավահանգիստային հաղորդակցություններ
Սերիական նավահանգիստային հաղորդակցություններ
Սերիական նավահանգիստային հաղորդակցություններ
Սերիական նավահանգիստային հաղորդակցություններ
Սերիական նավահանգիստային հաղորդակցություններ
Սերիական նավահանգիստային հաղորդակցություններ
Սերիական նավահանգիստային հաղորդակցություններ
Սերիական նավահանգիստային հաղորդակցություններ

Վերջին քայլը համակարգիչը կարգավորելն է, որպեսզի կարողանաք հրամանները ուղարկել Միկրոկոնտրոլերին: NerdKit- ում մենք օգտագործում ենք սերիական մալուխը ՝ հրամաններ և տեղեկատվություն համակարգչին ուղարկելու համար: Հնարավոր է գրել պարզ ծրագրեր ծրագրավորման լեզուների մեծ մասում, որոնք կարող են սերիական նավահանգստով հաղորդակցվել NerdKit- ին: Այնուամենայնիվ, շատ ավելի պարզ է օգտագործել տերմինալային ծրագիրը `մեզ համար սերիական հաղորդակցություն իրականացնելու համար: Այս կերպ կարող եք պարզապես մուտքագրել ստեղնաշարի վրա և տեսնել NerdKit- ի պատասխանը: Windows Եթե դուք օգտագործում եք Windows XP կամ ավելի վաղ տարբերակ, HyperTerminal- ը ներառված է և պետք է լինի ձեր Start ընտրացանկում «Սկսել -> ramsրագրեր -> Աքսեսուարներ -> Հաղորդակցություններ »: Երբ առաջին անգամ բացում եք HyperTerminal- ը, այն խնդրում է ձեզ կապ հաստատել: Չեղարկեք դրանք, քանի դեռ չեք գտնվում հիմնական HyperTerminal sceen- ում: Դուք պետք է կարգավորեք HyperTerminal- ը ՝ ընտրելով COM- ի ճիշտ նավահանգիստը և համապատասխանաբար կարգավորելով նավահանգստի կարգավորումները ՝ NerdKit- ի հետ աշխատելու համար: Հետևեք ստորև ներկայացված սքրինշոթներին ՝ HyperTerm- ի ճիշտ կարգավորումը ստանալու համար: Եթե Windows Vista- ում եք, HyperTerminal- ը այլևս ներառված չէ: Այս դեպքում գնացեք ներբեռնեք PuTTY (Windows տեղադրիչ): Օգտագործեք ստորև բերված կապի կարգավորումները ՝ Putty- ն տեղադրելու համար ՝ օգտագործելով համապատասխան COM նավահանգիստը: Mac OS X Տերմինալ հավելված մուտքագրելուց հետո մուտքագրեք «screen /dev/tty. PL* 115200» ՝ սերիական նավահանգստով հաղորդակցվելու համար: Linux, Linux- ում մենք օգտագործում ենք » minicom »սերիական նավահանգստի հետ խոսելու համար: Սկսելու համար գործարկեք «minicom -s» -ը մխիթարելում ՝ minicom- ի կարգավորումների ընտրացանկ մուտք գործելու համար: Գնացեք «Սերիայի նավահանգստի կարգավորում»: Պարամետրերը սահմանեք հետևյալ կերպ. Minicom- ի կազմաձևում Linux- ում Այնուհետև սեղմեք փախուստը և օգտագործեք «Պահել կարգավորումը որպես dfl» ՝ կարգավորումները որպես կանխադրված պահելու համար: Այժմ դուք պետք է կարողանաք հարվածել «Ելք» և օգտագործել minicom ՝ NerdKit- ի հետ խոսելու համար:

Խորհուրդ ենք տալիս: