Mündəricat:

Servo Squirter - USB Su Tabancası: 5 addım
Servo Squirter - USB Su Tabancası: 5 addım

Video: Servo Squirter - USB Su Tabancası: 5 addım

Video: Servo Squirter - USB Su Tabancası: 5 addım
Video: PIC18F2455: Controlador Servo 8 USB 2024, Noyabr
Anonim
Servo Squirter - USB Su Tabancası
Servo Squirter - USB Su Tabancası

USB ilə idarə olunan servo su tabancası. Yoldan keçənlərə atəş açmaq və ya narahatlıq doğuran sualları olan insanları körfəzdə saxlamaq üçün əladır. Bu layihə istiqamətləndirmə üçün servonun üstünə quraşdırılmış kiçik bir su nasosudur. Hər şey bir mikro nəzarətçi tərəfindən idarə olunur və USB üzərindən klaviaturanızdan idarə olunur. Daha çox layihələrimizi və pulsuz video dərslərimizi görmək üçün https://www.nerdkits.com veb saytımıza baxın.

Addım 1: Materialları toplayın

Materialları toplayın
Materialları toplayın
Materialları toplayın
Materialları toplayın
Materialları toplayın
Materialları toplayın

Bu layihə mikrokontrolör əsaslıdır. USB NerdKit daxil ATmega168 mikro nəzarətçi başqa. Bu layihə üçün aşağıdakılardan istifadə etdik: 1 Hobby Servo, Hitec HS-501 Aşağı gərginlikli pistonlu su nasosu1 Kiçik n-kanallı MOSFET, 2N7000

Addım 2: Dövrə yığın

Dövrə yığın
Dövrə yığın
Dövrə yığın
Dövrə yığın
Dövrə yığın
Dövrə yığın
Dövrə yığın
Dövrə yığın

Dövrümüzün ilk hissəsi sadəcə servoya bağlanır. Burada sadədir: mikrokontrolördən servoya bir tel. İstehsalçıdan asılı olaraq bir neçə fərqli rəngli etiket var, buna görə sınamadan əvvəl yoxlayın. NerdKits çörək lövhəsindəki ServoSquirter sxeminin sxematik fotoşəkili Dövrün ikinci hissəsi mikrokontrolörün nasos motorunu açıb söndürməsinə imkan verir. ATmega168 çipinin özü, hər hansı bir pin daxilində və ya xaricində yalnız 40mA maksimuma icazə verir, lakin nasosumuz 1000mA -ya yaxın olmalıdır! Bu böyük yükü idarə etmək üçün daha böyük bir tranzistor olan 2N7000 istifadə etməyi seçdik. Əvvəlcə MOSFET -lərin (Metal Oksid Yarımkeçirici Sahə Təsiri Transistorları) açar kimi istifadə edilməsinin əsaslarını izah edirik: Qapı gərginliyini Mənbənin üstünə gətirərək, axının Drenajdan Mənbəyə keçməsinə icazə verə bilərik. 2N7000 məlumat cədvəlindən, fərqli qapı mənbəyi gərginlik parametrləri üçün drenaj cərəyanı ilə drenaj mənbəyi gərginliyi arasındakı əlaqəni göstərən Şəkil 1 çıxardıq. Bu qrafikdən öyrənə biləcəyiniz bir neçə vacib şey var: 1. Təxminən 3.0 voltdan aşağı olan VGS üçün heç bir cərəyanın axmasına icazə verilmir. Bu, "kəsilmə" olaraq da adlandırılan off vəziyyətidir. 2. Kiçik VDS üçün əyri, mənşəyi boyunca təxminən xətti görünür - yəni elektrik olaraq bir rezistora bənzəyir. Ekvivalent müqavimət əyrinin tərs yamacıdır. MOSFET əməliyyatının bu bölgəsinə "triod" deyilir. 3. Daha böyük VDS üçün bəzi maksimum cərəyan səviyyəsinə çatılır. Buna "doyma" deyilir. 4. VGS -ni artırdıqca həm triodda, həm də doyma rejimində daha çox cərəyana icazə verilir. İndi MOSFET əməliyyatının hər üç rejimi haqqında məlumat əldə etdiniz: kəsmə, triod və doyma. +5 və ya 0), yalnız VGS = 5V üçün sarı rənglə vurğulanmış əyridən narahatıq. Normal olaraq, bir MOSFET -in bir keçid olaraq istifadəsi ümumiyyətlə triod iş rejimini əhatə edir, çünki MOSFET PD = ID*VDS gücünü dağıdır və yaxşı bir keçid açarın özündə az güc sərf etməlidir. Ancaq bu vəziyyətdə bir motorla məşğul oluruq və mühərriklər ilk dəfə işə düşəndə çoxlu cərəyan tələb edir (az gerilim düşməsi ilə). İlk və ya iki saniyə ərzində MOSFET yüksək VDS ilə işləyəcək və maksimum cərəyanı ilə məhdudlaşacaq - məlumat cədvəlinə çəkdiyimiz qırmızı kəsikli xətdən təxminən 800mA. Bunun nasosun işə salınması üçün kifayət etmədiyini gördük, buna görə də bir az hiylə işlədərək paralel olaraq iki MOSFET qoyduq. Bu yolla, cərəyanı paylaşırlar və təxminən 1600mA -nı birlikdə effektiv şəkildə batıra bilirlər. Pompanın yüksək güc tələbləri səbəbindən daha yüksək cərəyan çıxışı olan bir divar transformatorundan istifadə etdik. 5V -dən çox bir güc transformatorunuz varsa - bəlkə də 9V və ya 12V - o zaman

Addım 3: MCU -da PWM qurun

MCU -da PWM qurun
MCU -da PWM qurun
MCU -da PWM qurun
MCU -da PWM qurun
MCU -da PWM qurun
MCU -da PWM qurun

PWM Qeydləri və Hesablamaları Videoda, taymer/sayğac modulunun istifadə etdiyi iki səviyyədən bəhs edirik: üst dəyər və müqayisə dəyəri. İstənilən PWM siqnalını yaratmaq üçün bunların hər ikisi vacibdir, amma ATmega168 -in PWM çıxışını ilk növbədə aktivləşdirmək üçün bir neçə qeyd qurmalıyıq. Birincisi, OCR1A ilə ən yüksək dəyər olaraq Fast PWM rejimini seçirik ki, bu da yeni bir nəbzin nə qədər tez-tez işə salınacağını özbaşına təyin etməyə imkan verir. hər 8/(14745600 Hz) = 542 nanosaniyədə 1. Bu taymer üçün 16 bitlik qeydlərimiz olduğundan, bu, ümumi siqnal müddətimizi 65536*542ns = 36 milisaniyə qədər təyin edə biləcəyimiz deməkdir. Daha böyük bir bölmə nömrəsi istifadə etsəydik, nəbzlərimizi bir -birindən uzaqlaşdıra bilərdik (bu vəziyyətdə bu kömək etmir) və həllini itirərdik. Daha kiçik bir bölmə nömrəsi (məsələn, 1) istifadə etsəydik, nəbzlərimizi servomuzun gözlədiyi kimi ən azı 16 milisaniyə ayıra bilmərik. Videomuzda təsvir olunan çıxış. PB2 pinini də çıxış pin olaraq təyin edirik-burada göstərilmir, ancaq koddadır. Bu kadrları ATmega168 məlumat cədvəlinin 132-134-cü səhifələrindən genişləndirmək üçün qeyd qeyd seçimlərimiz vurgulanır:

Addım 4: Mikro nəzarətçini proqramlaşdırın

İndi MCU -nu həqiqətən proqramlaşdırmağın vaxtı gəldi. Tam mənbə kodu https://www.nerdkits.com/videos/servosquirter veb saytımızda verilmişdirKod əvvəlcə servo idarə etmək üçün PWM qurur. Kod bir müddət sonra istifadəçi girişini gözləyir. 1 və 0 simvolları, nasos tranzistoruna qoşulmuş MCU pinini açır və ya söndürür. Bu, nasosu açaraq söndürəcək və bizə istədiyi vaxt atəş açma imkanı verəcək. Kod həmçinin '[' və ']' düymələrinə cavab verir, bu düymələr PWM pinindəki müqayisə dəyərini artıracaq və ya azaldacaq, bu da servoya səbəb olacaq. mövqeyi dəyişdirmək üçün motor. Bu, atəş etməzdən əvvəl nişan alma qabiliyyəti verir.

Addım 5: Serial Port Əlaqələri

Serial Liman Rabitəsi
Serial Liman Rabitəsi
Serial Liman Rabitəsi
Serial Liman Rabitəsi
Serial Liman Rabitəsi
Serial Liman Rabitəsi
Serial Liman Rabitəsi
Serial Liman Rabitəsi

Son addım, əmrləri Mikrokontrolöre göndərə biləcəyiniz kompüteri qurmaqdır. NerdKit -də, əmrləri və məlumatları kompüterə göndərmək üçün serial kabelindən istifadə edirik. NerdKit ilə ardıcıl port üzərindən əlaqə qura bilən əksər proqramlaşdırma dillərində sadə proqramlar yazmaq mümkündür. Ancaq bizim üçün serial ünsiyyət qurmaq üçün bir terminal proqramından istifadə etmək daha asandır. Bu yolla klaviaturada yazıb NerdKit. Windows -un cavabını görə bilərsiniz Windows XP və ya daha əvvəl istifadə edirsinizsə, HyperTerminal daxil edilir və Başlat Menyusunda "Başlat -> Proqramlar -> Aksesuarlar -> Ünsiyyət ". HyperTerminal -ı ilk açdığınız zaman bir əlaqə qurmağınızı xahiş edir. Əsas HyperTerminal sceenində olana qədər bunları ləğv edin. Doğru COM portunu seçərək və NerdKit ilə işləmək üçün liman parametrlərini uyğun şəkildə quraraq HyperTerminal qurmalısınız. Doğru HyperTerm qurulmasını əldə etmək üçün aşağıdakı ekran görüntülərini izləyin. Windows Vista'dasınızsa, HyperTerminal artıq daxil deyil. Bu vəziyyətdə, PuTTY (Windows yükləyicisi) yükləyin. Uyğun COM portundan istifadə edərək Putty qurmaq üçün aşağıdakı bağlantı parametrlərindən istifadə edin. Mac OS X Terminal tətbiqinə daxil olduqdan sonra seriyalı port üzərindən ünsiyyətə başlamaq üçün "screen /dev/tty. PL* 115200" yazın. Linux, Linux istifadə edirik ". minicom "serial portu ilə danışmaq. Başlamaq üçün, minicomun quraşdırma menyusuna daxil olmaq üçün konsolda "minicom -s" düyməsini basın. "Serial Port Setup" a gedin. Parametrləri aşağıdakı kimi qurun: Linux -da Minicom konfiqurasiyası Sonra, escape düyməsini vurun və parametrləri standart olaraq saxlamaq üçün "Quraşdırmanı dfl olaraq saxla" düyməsini istifadə edin. İndi "Çıx" düyməsini vurub NerdKit ilə danışmaq üçün minicomdan istifadə etməlisiniz.

Tövsiyə: