Isi kandungan:
- Langkah 1: Kumpulkan Bahan
- Langkah 2: Pasang Litar
- Langkah 3: Sediakan PWM pada MCU
- Langkah 4: Programkan Pengawal Mikro
- Langkah 5: Komunikasi Pelabuhan Bersiri
Video: Servo Squirter - Pistol Air USB: 5 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:13
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
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
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
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
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:
Pemegang Botol Air Peringatan Air: 16 Langkah
Pemegang Botol Air Peringatan Air: Adakah anda pernah lupa minum air anda? Saya tahu saya buat! Itulah sebabnya saya mengemukakan idea untuk membuat pemegang botol air yang mengingatkan anda untuk minum air anda. Pemegang botol air mempunyai ciri di mana bunyi akan berbunyi setiap jam untuk mengingatkan anda
Sistem Penggera Minum Air / Monitor Pengambilan Air: 6 Langkah
Sistem Penggera Minum Air / Monitor Pengambilan Air: Kita Harus minum Kuantiti Air yang mencukupi Setiap Hari untuk menjaga kesihatan diri. Juga terdapat banyak pesakit yang diresepkan untuk minum sejumlah air tertentu setiap hari. Tetapi sayangnya kami melewatkan jadual hampir setiap hari. Jadi saya merancang
Sensor WIFI Air Banjir / Air MQTT / Google Dengan Langkah ESP-01: 7
Sensor WIFI Air Banjir / Air MQTT / Google Dengan ESP-01: Dalam arahan ini, saya akan menunjukkan kepada anda bagaimana membina sensor banjir / air wifi dengan kos minimum. Keseluruhan projek berharga saya kurang dari $ 8 untuk bahagian yang saya perolehi dari ebay dan alat ganti yang ada. Dalam projek ini, kami akan menggunakan ESP-01 untuk menyediakan Wif
Jimat Air & Wang Dengan Monitor Air Mandi: 15 Langkah (dengan Gambar)
Jimat Air & Wang Dengan Monitor Air Mandi: Mana yang menggunakan lebih banyak air - mandi atau mandi? Saya baru-baru ini memikirkan soalan ini, dan saya menyedari bahawa saya sebenarnya tidak tahu berapa banyak air yang digunakan semasa saya mandi. Saya tahu ketika saya mandi kadang-kadang fikiran saya berkeliaran, memikirkan perasaan
HRV (Home Air Exchanger) Arduino Controller With Air Economizer: 7 Langkah (dengan Gambar)
HRV (Home Air Exchanger) Arduino Controller With Air Economizer: HRV Arduino Controller with Air EconomizerJadi sejarah saya dengan projek ini ialah saya tinggal di Minnesota dan papan litar saya digoreng di LifeBreath 155Max HRV saya. Saya tidak mahu membayar $ 200 untuk yang baru. Saya selalu mahukan sesuatu dengan dosa pengukur udara