- Komponen Diperlukan
- Pembinaan Robot Arm
- Diagram Litar dan Penjelasan Kerja:
- Cara Mengendalikan Lengan Robotik:
Dalam tutorial ini, kami akan merancang Robot Arm Arduino Uno dari beberapa kadbod dan motor servo. Seluruh proses pembinaan telah dijelaskan secara terperinci di bawah. Di sini dalam projek ini Arduino Uno diprogramkan untuk mengawal motor servo yang berfungsi sebagai sendi lengan Robotik. Penyediaan ini juga kelihatan sebagai Robotik Kren atau kita dapat mengubahnya menjadi Crane dengan melakukan beberapa tweak mudah. Projek ini akan berguna untuk pemula yang ingin belajar mengembangkan Robot Sederhana dengan kos rendah atau hanya ingin belajar bekerja dengan motor Arduino dan servo.
Ini Arduino Robotic Arm boleh dikawal oleh empat Potentiometer yang melekat padanya, setiap upaya digunakan untuk mengawal setiap servo. Anda boleh memindahkan servo ini dengan memutar periuk untuk memilih beberapa objek, dengan beberapa latihan, anda dapat dengan mudah memilih dan memindahkan objek dari satu tempat ke tempat lain. Kami menggunakan servo tork rendah di sini tetapi anda boleh menggunakan servo yang lebih kuat untuk memilih objek berat. Seluruh proses telah ditunjukkan dengan baik di Video pada akhir. Lihat juga Projek Robotik kami yang lain di sini.
Komponen Diperlukan
- Arduino Uno
- Kapasitor 1000uF (4 keping)
- Kapasitor 100nF (4 keping)
- Servo Motor (SG 90- empat keping)
- Pot 10K- Perintang Berubah (4 keping)
- Bekalan Kuasa (5v - lebih baik dua)
Motor Servo
Mula-mula kita bercakap sedikit mengenai Servo Motors. Servo Motors digunakan terutamanya apabila terdapat keperluan pergerakan atau kedudukan poros yang tepat. Ini tidak dicadangkan untuk aplikasi berkelajuan tinggi. Motor servo dicadangkan untuk aplikasi kelajuan rendah, tork sederhana dan kedudukan tepat. Jadi motor ini adalah yang terbaik untuk merancang lengan robot.
Motor servo boleh didapati dalam pelbagai bentuk dan saiz. Kami akan menggunakan motor servo kecil, di sini kami menggunakan empat servo SG90. Motor servo mempunyai wayar terutamanya, satu untuk voltan positif yang lain untuk tanah dan yang terakhir adalah untuk penetapan kedudukan. Kawat MERAH disambungkan ke kuasa, Kawat hitam disambungkan ke tanah dan wayar KUNING disambungkan ke isyarat. Ikuti tutorial Mengawal Motor Servo ini menggunakan Arduino untuk mengetahui lebih lanjut mengenainya. Di Arduino, kami mempunyai perpustakaan yang telah ditentukan untuk mengawal Servo, jadi sangat mudah untuk mengawal servo, yang akan anda pelajari bersama dengan tutorial ini.
Pembinaan Robot Arm
Ambil permukaan yang rata dan stabil, seperti meja atau papan kad keras. Seterusnya letakkan motor servo di tengah dan lekatkan di tempatnya. Pastikan tahap putaran berada di kawasan yang ditunjukkan dalam gambar. Servo ini berfungsi sebagai pangkal lengan.
Letakkan sekeping kadbod kecil di atas servo pertama dan kemudian letakkan servo kedua di atas papan ini dan lekatkan di tempatnya. Putaran servo mesti sepadan dengan rajah.
Ambil sebilangan kadbod dan potong menjadi kepingan 3cm x 11cm. Pastikan bahagian itu tidak dilembutkan. Potong lubang segi empat di satu hujung (tinggalkan 0,8 cm dari bawah) cukup untuk memasang servo yang lain dan di hujung yang lain pasangkan gear servo dengan ketat dengan skru atau dengan gam. Kemudian pasangkan servo ketiga di lubang pertama.
Sekarang potong sekeping kadbod yang lain dengan panjang seperti dalam gambar di bawah dan tempelkan gear lain di bahagian bawah potongan ini.
Sekarang tempel servo keempat dan terakhir di tepi bahagian kedua seperti yang ditunjukkan dalam gambar.
Dengan ini, dua keping bersama-sama kelihatan.
Apabila kita melampirkan persediaan ini ke pangkal, sepertinya,
Ia hampir selesai. Kita hanya perlu membuat cangkuk untuk menarik dan memilih objek seperti tangan robot. Untuk cangkuk, potong dua keping kad kad lain dengan panjang 1cmx7cm & 4cmx5cm. Lekatkannya bersama seperti yang ditunjukkan dalam gambar dan tempelkan alat akhir di hujungnya.
Pasang bahagian ini di atas dan dengan ini kita telah selesai membina Robotic Arm kita.
Dengan ini, reka bentuk lengan robotik asas kami selesai dan begitulah kami telah membina lengan robot kos rendah kami. Sekarang sambungkan litar di papan roti seperti di rajah litar.
Diagram Litar dan Penjelasan Kerja:
Sambungan litar untuk Arduino Uno Robotic Arm ditunjukkan di bawah.
Voltan merentasi perintang tidak linear sepenuhnya; ia akan menjadi bising. Jadi untuk menyaring kebisingan ini, kapasitor ditempatkan di setiap perintang seperti yang ditunjukkan dalam gambar.
Sekarang kita akan memasukkan voltan yang disediakan oleh perintang pemboleh ubah ini (voltan yang mewakili kawalan kedudukan) ke saluran ADC Arduino. Kami akan menggunakan empat saluran ADC UNO dari A0 hingga A3 untuk ini. Selepas inisialisasi ADC, kami akan mempunyai nilai pot digital yang mewakili kedudukan yang diperlukan oleh pengguna. Kami akan mengambil nilai ini dan memadankannya dengan kedudukan servo.
Arduino mempunyai enam saluran ADC. Kami telah menggunakan empat untuk Robotic Arm kami. UNO ADC mempunyai resolusi 10 bit sehingga nilai bilangan bulat antara 0-1023 (2 ^ 10 = 1024 nilai) Ini bermaksud bahawa ia akan memetakan voltan input antara 0 dan 5 volt menjadi nilai integer antara 0 dan 1023. Jadi untuk setiap (5/1024 = 4.9mV) per unit. Ketahui lebih lanjut mengenai pemetaan tahap voltan menggunakan saluran ADC di Arduino di sini.
Sekarang, untuk UNO menukar isyarat analog menjadi isyarat digital, kita perlu Menggunakan Saluran ADC Arduino Uno, dengan bantuan fungsi di bawah:
1. analogRead (pin); 2. analogReference (); 3. analogReadResolution (bit);
Saluran ADC Arduino mempunyai nilai rujukan lalai 5V. Ini bermakna kita dapat memberikan voltan input maksimum 5V untuk penukaran ADC di mana-mana saluran input. Oleh kerana beberapa sensor memberikan voltan dari 0-2.5V, jadi dengan rujukan 5V, kita mendapat ketepatan yang lebih rendah, jadi kita mempunyai petunjuk yang memungkinkan kita mengubah nilai rujukan ini. Jadi untuk mengubah nilai rujukan kita mempunyai "analogReference ();"
Sebagai lalai, kami mendapat resolusi ADC papan maksimum iaitu 10 bit, resolusi ini dapat diubah dengan menggunakan instruksi ("analogReadResolution (bit);").
Dalam rangkaian tangan Robotik kami, kami telah membiarkan voltan rujukan ini menjadi lalai, jadi kami dapat membaca nilai dari saluran ADC dengan memanggil fungsi secara langsung "analogRead (pin);", di sini "pin" mewakili pin di mana kami menghubungkan isyarat analog, katakanlah kami mahu membaca "A0". Nilai dari ADC dapat disimpan ke dalam bilangan bulat sebagai int SENSORVALUE0 = analogRead (A0); .
Sekarang mari kita bincangkan mengenai SERVO, Arduino Uno mempunyai ciri yang membolehkan kita mengawal kedudukan servo dengan hanya memberikan nilai darjah. Katakanlah jika kita mahu servo berada pada 30, kita secara langsung dapat mewakili nilai dalam program. Fail header SERVO ( Servo.h ) mengurus semua pengiraan nisbah tugas secara dalaman.
#sertakan
Di sini pernyataan pertama mewakili fail header untuk mengendalikan SERVO MOTOR. Pernyataan kedua adalah menamakan servo; kita meninggalkannya sebagai servo0 kerana kita akan menggunakan empat. Pernyataan ketiga menyatakan di mana pin isyarat servo disambungkan; ini mestilah pin PWM. Di sini kita menggunakan PIN3 untuk servo pertama. Pernyataan keempat memberikan arahan untuk meletakkan motor servo dalam darjah. Sekiranya diberi 30, motor servo berputar 30 darjah.
Sekarang, kita mempunyai kedudukan servo SG90 dari 0 hingga 180 dan nilai ADC adalah dari 0-1023. Kami akan menggunakan fungsi khas yang sesuai dengan kedua-dua nilai secara automatik.
sensorvalue0 = peta (sensorvalue0, 0, 1023, 0, 180);
Pernyataan ini memetakan kedua-dua nilai secara automatik dan menyimpan hasilnya dalam 'servovalue0' integer.
Ini adalah bagaimana kami mengawal Servos dalam projek Robotic Arm kami menggunakan Arduino. Lihat kod lengkap di bawah.
Cara Mengendalikan Lengan Robotik:
Terdapat empat periuk yang disediakan untuk pengguna. Dan dengan memutar keempat periuk ini, kami menyediakan voltan berubah pada saluran ADC UNO. Oleh itu, nilai digital Arduino berada di bawah kawalan pengguna. Nilai-nilai digital ini dipetakan untuk menyesuaikan kedudukan motor servo, oleh itu kedudukan servo berada dalam kawalan pengguna dan dengan memutar Pots pengguna ini dapat menggerakkan sendi lengan Robotik dan dapat mengambil atau merebut objek apa pun.