Isi kandungan:

Servo Squirter - Pistol Air USB: 5 Langkah
Servo Squirter - Pistol Air USB: 5 Langkah

Video: Servo Squirter - Pistol Air USB: 5 Langkah

Video: Servo Squirter - Pistol Air USB: 5 Langkah
Video: This summer, you need this electric water gun 2024, November
Anonim
Servo Squirter - Pistol Air USB
Servo Squirter - Pistol Air USB

Pistol air servo terkawal USB. Bagus untuk menembak orang yang tidak curiga oleh orang yang tidak curiga, atau membuat orang-orang dengan pertanyaan yang mengganggu. Projek ini adalah pam air kecil yang dipasang di atas servo untuk menembak arah. Semuanya dipacu oleh mikrokontroler, dan dikendalikan dari papan kekunci anda melalui USB. Untuk melihat lebih banyak projek kami dan tutorial video percuma, lihat laman web kami

Langkah 1: Kumpulkan Bahan

Kumpulkan Bahan
Kumpulkan Bahan
Kumpulkan Bahan
Kumpulkan Bahan
Kumpulkan Bahan
Kumpulkan Bahan

Projek ini berasaskan mikrokontroler. Selain mikrokontroler ATmega168 yang termasuk dalam USB NerdKit. Untuk projek ini kami menggunakan yang berikut: 1 Hobby Servo, Hitec HS-501 Pam air omboh voltan rendah1 M-NF saluran kecil, 2N7000

Langkah 2: Pasang Litar

Pasang Litar
Pasang Litar
Pasang Litar
Pasang Litar
Pasang Litar
Pasang Litar
Pasang Litar
Pasang Litar

Bahagian pertama litar kami hanya menghubungkan ke servo. Ini mudah di sini: satu wayar dari mikrokontroler ke servo. Terdapat beberapa label warna yang berbeza bergantung pada pengeluarnya, jadi periksa sebelum mencubanya. Foto Skematik litar ServoSquirter pada papan roti NerdKits Bahagian kedua litar membolehkan pengawal mikro menghidupkan dan mematikan motor pam. Cip ATmega168 itu sendiri hanya membenarkan maksimum 40mA masuk atau keluar dari mana-mana pin, tetapi pam kami memerlukan hampir 1000mA! Oleh itu, untuk mengawal beban yang lebih besar ini, kami telah memilih untuk menggunakan transistor yang lebih besar, iaitu 2N7000. Mula-mula kita menerangkan asas penggunaan MOSFET (Transistor Kesan Medan Semikonduktor Oksida Logam) sebagai suis: membawa voltan Gerbang di atas Sumber, kita boleh membiarkan arus mengalir dari Saliran ke Sumber. Dari lembaran data 2N7000, kami telah mengekstrak Gambar 1, yang menunjukkan hubungan antara arus longkang dan voltan sumber saliran untuk tetapan voltan sumber gerbang yang berbeza. Terdapat beberapa perkara penting yang dapat anda pelajari dari grafik ini: 1. Untuk VGS di bawah sekitar 3.0 volt, arus tidak dibenarkan mengalir. Ini adalah keadaan mati, juga disebut "cutoff". 2. Untuk VDS kecil, lengkung kelihatan kira-kira linier melalui asal - yang bermaksud elektrik "kelihatan" seperti perintang. Rintangan setara adalah cerun lengkung terbalik. Kawasan operasi MOSFET ini disebut "triode". 3. Untuk VDS yang lebih besar, beberapa tahap arus maksimum dicapai. Ini dipanggil "ketepuan". 4. Semasa kita meningkatkan VGS, arus lebih banyak dibenarkan mengalir dalam kedua-dua mod triod dan tepu. Dan sekarang anda sebenarnya telah mengetahui tentang ketiga-tiga mod operasi MOSFET: cutoff, triode, dan saturation. Kerana kawalan pintu kami adalah digital (+5 atau 0), kami hanya mementingkan keluk yang diserlahkan dengan warna kuning, untuk VGS = 5V. Biasanya, menggunakan MOSFET sebagai suis secara amnya melibatkan modus triode, kerana MOSFET menghilangkan daya PD = ID * VDS, dan suis yang baik harus menghilangkan sedikit daya pada suis itu sendiri. Tetapi dalam kes ini, kita berhadapan dengan motor, dan motor cenderung memerlukan banyak arus (dengan sedikit penurunan voltan) ketika mereka pertama kali memulakan. Jadi untuk detik atau dua pertama, MOSFET akan beroperasi dengan VDS tinggi, dan akan dibatasi oleh arus maksimumnya - kira-kira 800mA dari garis putus-putus merah yang telah kami lukis di lembaran data. Kami mendapati bahawa ini tidak mencukupi untuk memulakan pam, jadi kami menggunakan sedikit muslihat dan meletakkan dua MOSFET secara selari. Dengan cara ini, mereka berkongsi arus, dan dapat menenggelamkan sekitar 1600mA secara berkesan. Juga kerana keperluan kuasa pam yang tinggi, kami menggunakan pengubah dinding dengan output arus yang lebih tinggi. Sekiranya anda mempunyai pengubah dinding dengan output lebih besar daripada 5V - mungkin 9V atau 12V - maka anda kira

Langkah 3: Sediakan PWM pada MCU

Sediakan PWM pada MCU
Sediakan PWM pada MCU
Sediakan PWM pada MCU
Sediakan PWM pada MCU
Sediakan PWM pada MCU
Sediakan PWM pada MCU

Daftar dan Pengiraan PWMDalam video, kita membincangkan dua tahap yang digunakan oleh modul pemasa / pembilang: nilai teratas, dan nilai perbandingan. Kedua-duanya penting dalam menghasilkan isyarat PWM yang anda mahukan. Tetapi untuk mengaktifkan output PWM ATmega168 anda di tempat pertama, kita harus menyediakan beberapa daftar. Pertama, kita memilih mod PWM Cepat dengan OCR1A sebagai nilai teratas, yang membolehkan kita sewenang-wenangnya menetapkan berapa kerap untuk memulakan denyutan baru. Kemudian, kita menetapkan jam untuk berjalan dengan pra-pembahagian 8, yang bermaksud bahawa kaunter akan meningkat sebanyak 1 setiap 8 / (14745600 Hz) = 542 nanodetik. Oleh kerana kami mempunyai register 16-bit untuk pemasa ini, ini bermakna kami dapat menetapkan keseluruhan tempoh isyarat kami setinggi 65536 * 542ns = 36 milisaat. Sekiranya kita menggunakan nombor pembahagian yang lebih besar, kita dapat membuat denyutan kita semakin jauh (yang tidak membantu dalam keadaan ini), dan kita akan kehilangan resolusi. Sekiranya kita menggunakan nombor pembahagian yang lebih kecil (seperti 1), kita tidak akan dapat membuat denyutan kita sekurang-kurangnya 16 milisaat, seperti yang diharapkan oleh servo kita. Akhirnya, kita menetapkan mod Perbandingan Output untuk PWM "tidak berbalik" output, yang dijelaskan dalam video kami. Kami juga menetapkan pin PB2 menjadi pin output - tidak ditunjukkan di sini, tetapi ada dalam kodnya. Klik untuk memperbesar tangkapan ini dari halaman 132-134 lembaran data ATmega168, dengan pilihan nilai daftar kami diserlahkan:

Langkah 4: Programkan Pengawal Mikro

Kini tiba masanya untuk memprogram MCU. Kod sumber lengkap disediakan di laman web kami https://www.nerdkits.com/videos/servosquirterKod pertama menetapkan PWM untuk menggerakkan servo. Kod kemudian hanya duduk dalam gelung sementara menunggu input pengguna. Aksara 1 dan 0 menghidupkan atau mematikan pin MCU yang disambungkan ke transistor pam. Ini akan menghidupkan dan mematikan pam memberi kita kemampuan untuk menembak sesuka hati. Kod ini juga bertindak balas terhadap kekunci '[' dan ']' kekunci ini akan meningkatkan atau menurunkan nilai perbandingan pada pin PWM, yang akan menyebabkan servo motor untuk menukar kedudukan. Ini memberi anda kemampuan untuk membidik sebelum melepaskan tembakan.

Langkah 5: Komunikasi Pelabuhan Bersiri

Komunikasi Pelabuhan Bersiri
Komunikasi Pelabuhan Bersiri
Komunikasi Pelabuhan Bersiri
Komunikasi Pelabuhan Bersiri
Komunikasi Pelabuhan Bersiri
Komunikasi Pelabuhan Bersiri
Komunikasi Pelabuhan Bersiri
Komunikasi Pelabuhan Bersiri

Langkah terakhir adalah menyiapkan komputer supaya anda dapat menghantar perintah ke Mikrokontroler. Di NerdKit, kami menggunakan kabel bersiri untuk menghantar arahan, dan maklumat ke komputer. Adalah mungkin untuk menulis program sederhana dalam kebanyakan bahasa pengaturcaraan yang dapat berkomunikasi melalui port bersiri ke NerdKit. Walau bagaimanapun, lebih mudah menggunakan program terminal untuk melakukan komunikasi bersiri untuk kita. Dengan cara ini anda hanya boleh menaip papan kekunci, dan melihat tindak balas dari NerdKit. WindowsJika anda menggunakan Windows XP atau lebih awal, HyperTerminal disertakan, dan semestinya ada di Menu Mula anda di bawah "Mula -> Program -> Aksesori -> Komunikasi ". Semasa anda pertama kali membuka HyperTerminal, ia meminta anda membuat sambungan. Batalkan semuanya, sehingga anda berada di HyperTerminal utama. Anda harus menyediakan HyperTerminal, memilih port COM yang betul, dan menetapkan tetapan port dengan betul agar dapat berfungsi dengan NerdKit. Ikuti tangkapan skrin di bawah untuk mendapatkan persediaan HyperTerm yang betul. Sekiranya anda menggunakan Windows Vista, HyperTerminal tidak lagi disertakan. Dalam kes ini, muat turun PuTTY (pemasang Windows). Gunakan tetapan sambungan di bawah ini untuk mengatur Putty, menggunakan port COM yang tepat. Mac OS XSetelah memasuki aplikasi Terminal, ketik "screen /dev/tty. PL* 115200" untuk mula berkomunikasi melalui port bersiri. LinuxOn Linux, kami menggunakan " minicom "untuk bercakap dengan port bersiri. Untuk memulakan, jalankan "minicom -s" di konsol untuk memasuki menu persediaan minicom. Pergi ke "Penyediaan Port Bersiri". Tetapkan parameter seperti berikut: Konfigurasi Minicom di LinuxKemudian, tekan escape dan gunakan "Save setup as dfl" untuk menyimpan tetapan sebagai lalai. Anda sekarang harus dapat menekan "Exit" dan menggunakan minicom untuk bercakap dengan NerdKit.

Disyorkan: