Daftar Isi:
- Langkah 1: Kumpulkan Bahan
- Langkah 2: Merakit Sirkuit
- Langkah 3: Atur PWM di MCU
- Langkah 4: Program Mikrokontroler
- Langkah 5: Komunikasi Port Serial
Video: Servo Squirter - Pistol Air USB: 5 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:59
Pistol air servo yang dikendalikan USB. Bagus untuk menembaki orang yang lewat, atau menjaga orang dengan pertanyaan yang mengganggu. Proyek ini adalah pompa air kecil yang dipasang di atas servo untuk penembakan terarah. Semuanya digerakkan oleh mikrokontroler, dan dikendalikan dari keyboard Anda melalui USB. Untuk melihat lebih banyak proyek kami dan tutorial video gratis, lihat situs web kami
Langkah 1: Kumpulkan Bahan
Proyek ini berbasis mikrokontroler. Selain mikrokontroler ATmega168 yang disertakan dalam USB NerdKit. Untuk proyek ini kami menggunakan yang berikut: Servo Hobby, Hitec HS-501 Pompa air piston tegangan rendah1 MOSFET n-channel kecil, 2N7000
Langkah 2: Merakit Sirkuit
Bagian pertama dari sirkuit kami hanya terhubung ke servo. Ini sederhana di sini: satu kabel dari mikrokontroler ke servo. Ada beberapa pelabelan warna yang berbeda tergantung pada pabrikannya, jadi periksalah sebelum mencoba ini. Foto Skema rangkaian ServoSquirter pada papan tempat memotong roti NerdKitsBagian kedua dari rangkaian memungkinkan mikrokontroler untuk menghidupkan dan mematikan motor pompa. Chip ATmega168 itu sendiri hanya memungkinkan 40mA max masuk atau keluar dari pin apa pun, tetapi pompa kami membutuhkan lebih dekat ke 1000mA! Jadi untuk mengontrol beban yang lebih besar ini, kami memilih untuk menggunakan transistor yang lebih besar, 2N7000. Pertama kami menjelaskan dasar-dasar penggunaan MOSFET (Transistor Efek Medan Semikonduktor Logam Oksida) sebagai sakelar: membawa tegangan Gerbang di atas Sumber, kami dapat mengizinkan arus mengalir dari Tiriskan ke Sumber. Dari lembar data 2N7000, kami telah mengekstrak Gambar 1, yang menunjukkan hubungan antara arus saluran dan tegangan sumber saluran untuk pengaturan tegangan sumber gerbang yang berbeda. Ada beberapa hal penting yang dapat Anda pelajari dari grafik ini: 1. Untuk VGS di bawah sekitar 3,0 volt, arus tidak diperbolehkan mengalir. Ini adalah keadaan off, juga disebut "cutoff". 2. Untuk VDS kecil, kurva terlihat secara kasar linier melalui titik asal -- yang berarti secara elektrik "terlihat" seperti resistor. Resistansi ekivalen adalah kebalikan kemiringan kurva. Wilayah operasi MOSFET ini disebut "triode". 3. Untuk VDS yang lebih besar, beberapa tingkat arus maksimum tercapai. Ini disebut "kejenuhan". 4. Saat kita meningkatkan VGS, lebih banyak arus diperbolehkan mengalir baik dalam mode triode dan saturasi. Dan sekarang Anda telah benar-benar belajar tentang ketiga mode operasi MOSFET: cutoff, triode, dan saturation. Karena kontrol gerbang kita adalah digital (+5 atau 0), kami hanya memperhatikan kurva yang disorot dengan warna kuning, untuk VGS=5V. Biasanya, menggunakan MOSFET sebagai sakelar umumnya melibatkan mode operasi triode, karena MOSFET menghilangkan daya PD=ID*VDS, dan sakelar yang baik harus membuang sedikit daya di sakelar itu sendiri. Tetapi dalam kasus ini, kita berurusan dengan motor, dan motor cenderung membutuhkan banyak arus (dengan sedikit penurunan tegangan) saat pertama kali dihidupkan. Jadi untuk satu atau dua detik pertama, MOSFET akan beroperasi dengan VDS tinggi, dan akan dibatasi oleh arus maksimumnya -- sekitar 800mA dari garis putus-putus merah yang telah kita gambar di lembar data. Kami menemukan bahwa ini tidak cukup untuk memulai pompa, jadi kami menggunakan sedikit trik dan menempatkan dua MOSFET secara paralel. Dengan cara ini, mereka berbagi arus, dan dapat secara efektif menenggelamkan sekitar 1600mA bersama-sama. Juga karena kebutuhan daya pompa yang tinggi, kami menggunakan transformator dinding dengan keluaran arus yang lebih tinggi. Jika Anda memiliki trafo dinding dengan keluaran lebih besar dari 5V -- mungkin 9V atau 12V -- maka Anda dapat
Langkah 3: Atur PWM di MCU
Register dan Perhitungan PWM Dalam video, kita berbicara tentang dua level yang digunakan oleh modul timer/counter: nilai teratas, dan nilai perbandingan. Kedua hal ini penting dalam membangkitkan sinyal PWM yang Anda inginkan. Tetapi untuk mengaktifkan output PWM ATmega168 Anda terlebih dahulu, kita harus menyiapkan beberapa register. Pertama, kami memilih mode Fast PWM dengan OCR1A sebagai nilai teratas, yang memungkinkan kami secara sewenang-wenang mengatur seberapa sering memulai pulsa baru. Kemudian, kami mengatur jam untuk berjalan dengan pra-pembagian 8, yang berarti penghitung akan meningkat dengan 1 setiap 8/(14745600 Hz) = 542 nanodetik. Karena kami memiliki register 16-bit untuk pengatur waktu ini, ini berarti kami dapat mengatur periode sinyal keseluruhan kami setinggi 65536*542ns = 36 milidetik. Jika kami menggunakan nomor pembagian yang lebih besar, kami dapat membuat pulsa kami lebih jauh (yang tidak membantu dalam situasi ini), dan kami akan kehilangan resolusi. Jika kita menggunakan nomor pembagian yang lebih kecil (seperti 1), kita tidak akan dapat membuat pulsa kita terpisah setidaknya 16 milidetik, seperti yang diharapkan servo kita. Akhirnya, kita mengatur mode Bandingkan Output untuk PWM "non-inverting". output, yang dijelaskan dalam video kami. Kami juga menyetel pin PB2 menjadi pin keluaran -- tidak ditampilkan di sini, tetapi ada di dalam kode. Klik untuk memperbesar bidikan ini dari halaman 132-134 lembar data ATmega168, dengan pilihan nilai register kami disorot:
Langkah 4: Program Mikrokontroler
Sekarang saatnya untuk benar-benar memprogram MCU. Kode sumber lengkap disediakan di situs web kami https://www.nerdkits.com/videos/servosquirterKode pertama-tama mengatur PWM untuk menggerakkan servo. Kode kemudian hanya duduk di loop sementara menunggu input pengguna. Karakter 1 dan 0 menghidupkan atau mematikan pin MCU yang terhubung ke transistor pompa. Ini akan menghidupkan dan mematikan pompa sehingga memberi kita kemampuan untuk menembak sesuka hati. Kode juga merespons tombol '[' dan ']'. Tombol ini akan menambah atau mengurangi nilai perbandingan pada pin PWM, yang akan menyebabkan servo motor untuk mengubah posisi. Ini memberi Anda kemampuan untuk membidik sebelum menembak.
Langkah 5: Komunikasi Port Serial
Langkah terakhir adalah mengatur komputer sehingga Anda dapat mengirim perintah ke Mikrokontroler. Di NerdKit, kami menggunakan kabel serial untuk mengirim perintah, dan informasi ke komputer. Dimungkinkan untuk menulis program sederhana dalam sebagian besar bahasa pemrograman yang dapat berkomunikasi melalui port serial ke NerdKit. Namun jauh lebih mudah menggunakan program terminal untuk melakukan komunikasi serial untuk kita. Dengan cara ini Anda cukup mengetik di keyboard, dan melihat respons dari NerdKit. WindowsJika Anda menggunakan Windows XP atau sebelumnya, HyperTerminal disertakan, dan seharusnya ada di Start Menu Anda di bawah "Start -> Programs -> Accessories -> Komunikasi". Saat pertama kali membuka HyperTerminal, ia meminta Anda untuk mengatur koneksi. Batalkan dari itu, sampai Anda berada di layar HyperTerminal utama. Anda harus mengatur HyperTerminal, memilih port COM yang benar, dan mengatur pengaturan port dengan tepat untuk bekerja dengan NerdKit. Ikuti screenshot di bawah ini untuk mendapatkan pengaturan HyperTerm yang benar. Jika Anda menggunakan Windows Vista, HyperTerminal tidak lagi disertakan. Dalam hal ini, unduh Putty (penginstal Windows). Gunakan pengaturan koneksi di bawah ini untuk mengatur Putty, menggunakan port COM yang tepat. Mac OS XSetelah memasuki aplikasi Terminal, ketik "screen /dev/tty. PL* 115200" untuk mulai berkomunikasi melalui port serial. LinuxDi Linux, kami menggunakan " minicom" untuk berbicara dengan port serial. Untuk memulai, jalankan "minicom -s" di konsol untuk masuk ke menu pengaturan minicom. Pergi ke "Pengaturan Port Serial". Atur parameternya sebagai berikut: Konfigurasi minicom di Linux Kemudian, tekan escape dan gunakan "Save setup as dfl" untuk menyimpan pengaturan sebagai default. Anda sekarang dapat menekan "Keluar" dan menggunakan minicom untuk berbicara dengan NerdKit.
Direkomendasikan:
Air - True Mobile Air Guitar (Prototipe): 7 Langkah (dengan Gambar)
Air - True Mobile Air Guitar (Prototipe): Oke jadi, Ini akan menjadi instruksi yang sangat singkat tentang bagian pertama dari akhirnya semakin dekat dengan impian masa kecil saya. Ketika saya masih kecil, saya selalu melihat artis dan band favorit saya bermain gitar dengan rapi. Ketika saya tumbuh dewasa, saya
Tempat Botol Air Pengingat Air: 16 Langkah
Tempat Botol Air Pengingat Air: Apakah Anda pernah lupa minum air? Aku tahu aku tahu! Itu sebabnya saya datang dengan ide untuk membuat tempat botol air yang mengingatkan Anda untuk minum air Anda. Tempat botol air memiliki fitur di mana suara akan terdengar setiap jam untuk
Sistem Alarm Minum Air / Monitor Asupan Air: 6 Langkah
Sistem Alarm Minum Air / Monitor Asupan Air: Kita Harus minum Air dalam Jumlah yang cukup Setiap Hari untuk menjaga kesehatan diri kita sendiri. Juga ada banyak pasien yang diresepkan untuk minum air dalam jumlah tertentu setiap hari. Namun sayangnya kami hampir melewatkan jadwal tersebut setiap hari. Jadi saya desain
Hemat Air & Uang Dengan Pancuran Air Monitor: 15 Langkah (dengan Gambar)
Hemat Air & Uang Dengan Pancuran Air Monitor: Mana yang menggunakan lebih banyak air - mandi atau pancuran? Saya baru-baru ini memikirkan pertanyaan ini, dan saya menyadari bahwa saya sebenarnya tidak tahu berapa banyak air yang digunakan ketika saya mandi. Saya tahu ketika saya di kamar mandi kadang-kadang pikiran saya mengembara, memikirkan sesuatu yang keren
HRV (Home Air Exchanger) Arduino Controller Dengan Air Economizer: 7 Langkah (dengan Gambar)
HRV (Home Air Exchanger) Arduino Controller Dengan Air Economizer: HRV Arduino Controller dengan Air EconomizerJadi sejarah saya dengan proyek ini adalah saya tinggal di Minnesota dan papan sirkuit saya digoreng di LifeBreath 155Max HRV saya. Saya tidak ingin membayar $200 untuk yang baru. Saya selalu menginginkan sesuatu dengan penghemat udara dosa