Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Proyek Motor Servo Interaktif dengan Arduino dan Sensor HC-SR04

Komponen dan Perlengkapan

Arduino UNO1
Adafruit 16 Channel PWM Servo Motor Controller3
Motor servo mikro SG9036
Sumber daya switching 5 volt 30 watt1
Perpanjang kabel motor servo1
Papan papan gigi 24 inci x 48 inci1
Batang es, dipotong hingga 3 1/4 inci36
Sensor ultrasonik HC-SR04 (opsional)5

Alat dan Mesin yang Diperlukan

Pemancah solder (umum)
Pistol lem panas (umum)

Aplikasi dan Layanan Online

Arduino IDE

Tentang Proyek Ini

Video di bawah ini menunjukkan 36 motor servo menciptakan seni elektronik. Sebuah Arduino Uno dan tiga pengontrol servo PWM 16 saluran bekerja di latar belakang. Inspirasi asli dari proyek ini adalah versi yang jauh lebih besar dengan 450 servo yang saya lihat di museum seni modern. Namun, versi kecil ini dengan hanya 36 servo juga menghasilkan efek menarik.

Ada fitur opsional yang belum saya tampilkan dalam video, tetapi dapat ditambahkan untuk membuat tampilan interaktif. Fitur ini sepenuhnya opsional, dan perangkat lunak akan berfungsi dengan baik padahal. Untuk opsi ini, lima sensor jarak ultrasonik dipasang di sisi belakang tepi atas tampilan. Ketika Anda menaruh tangan di atas sensor tengah, Uno akan masuk ke mode interaktif, dan semua servo mencoba mengikuti gerakan tangan Anda saat Anda memindahkannya di atas sensor jarak. Setelah Anda mencabut tangan selama beberapa detik, program akan kembali ke tampilan pameran. Anda dapat menambahkan opsi ini jika diinginkan. Jika tidak, perangkat lunak akan tetap berfungsi dengan baik tanpa fitur ini.

Perangkat Keras

Seperti yang Anda lihat, proyek ini dibangun pada papan papan gigi berukuran 24 inci x 48 inci. Lebarnya dipotong menjadi 32 inci. Servo dipasang dengan jarak 4 inci dan dikunci ke bagian belakang papan papan gigi menggunakan lem panas. Batang es yang dipotong hingga 3 1/4 inci dipasang pada poros servo, lagi menggunakan lem panas.

Motor servo SG90 adalah satu-satunya item mahal dalam proyek ini. Anda bisa mendapatkan sekelompok 8 servo dengan harga $20 di Amazon. Meskipun demikian, Anda perlu menginvestasikan sekitar $100 untuk servo. SG90 seharusnya semua servo 180º, tetapi sebagian besar tidak sepenuhnya mencapai sudut itu. Beberapa sangat jauh dari target dan harus dibuang. Jika Anda membeli 5 sekelompok 8, Anda seharusnya dapat menemukan 36 servo yang baik yang bergerak setidaknya 160º.

Servo perlu diatur ke posisi minimumnya (posisi pada PWM 150), dan batang es dipasang menunjuk ke kanan dan horizontal pada posisi minimum ini, seperti dilihat dari depan. Saya telah menyediakan program kecil yang dapat Anda gunakan untuk memastikan servo berada pada posisi minimum ini: SetServosToMinimum.

Proyek Motor Servo Interaktif dengan Arduino dan Sensor HC-SR04

Foto di atas menunjukkan tata letak bagian belakang. Tiga pengontrol PWM dipasang di sisi kiri servo. Sumber daya 30 watt 5 volt ada di sisi kanan paling jauh. Arduino diberi daya terpisah melalui adaptor daya USB. Saya melakukannya hanya agar dapat mencabut kabel USB dan, melalui kabel ekstensi USB, menyambungkannya ke komputer untuk perubahan program. Tampilan agak aneh, tetapi saya merasa nyaman.

Anda juga dapat melihat sensor jarak ultrasonik opsional dipasang di bagian atas tampilan. Lem panas dan batang es tambahan digunakan untuk memasangnya. Papan prototipe kecil yang Anda lihat di bawah Uno ada hanya untuk memudahkan mendapatkan daya dan ground ke semua sensor ultrasonik.

Perangkat Lunak

Saya menggunakan library PWM Servo Driver milik Adafruit untuk menangani pengontrol servo 16 saluran, jadi Anda perlu mendapatkan dari Adafruit dan menginstal ke library Arduino. Perangkat lunak saya dapat digunakan apa adanya dengan atau tanpa sensor ultrasonik opsional. Ini menampilkan berbagai efek dalam pameran yang berlangsung sedikit lebih dari tiga menit sebelum diulang. Jika sensor opsional dipasang, akan masuk ke mode interaktif setiap kali tangan diletakkan di atas sensor tengah.

Ada banyak hal dalam perangkat lunak. Saya tidak akan mencoba menjelaskan seluruhnya di sini, tetapi saya akan memberikan informasi singkat tentang cara kerjanya. Saya memiliki dua tabel. Tabel curPos menyimpan posisi saat ini setiap servo dibagi tiga. Tabel tarPos menyimpan posisi yang diinginkan setiap servo dibagi tiga. Mereka dibagi 3 karena dua alasan. Pertama, memungkinkan disimpan dalam byte, dan kedua, saya selalu menggerakkan servo dengan increment 3 langkah.

Uno tidak mengetahui posisi setiap servo pada awalnya, jadi rutinitas setup mengatur semua servo ke posisi vertikal, dan mengatur semua variabel curPos dan tarPos agar cocok dengan posisi vertikal tersebut. Kemudian kita dapat menggerakkan servo dari sana ke posisi lain dengan mengubah posisi yang diinginkan di tarPos.

Subroutine bernama goToTargets() adalah cara utama servo digerakkan. Kami mengontrol ke mana servo pergi dengan menetapkan target di tarPos, lalu kita dapat mengontrol seberapa cepat mereka pergi dengan rutinitas goToTargets. Ini memiliki dua cara untuk mengontrol kecepatan. Ini menggerakkan servo menuju target mereka dengan increment 15 langkah, di mana input reps ke subroutine memberikan Anda kelipatan 15 langkah. Input lainnya adalah mydelay, yang hanya menambahkan jeda dalam milidetik pada setiap pemanggilan goToTargets.

Ada banyak hal lainnya, tetapi pada dasarnya segalanya hanya berbagai setup dan implementasi dari berbagai efek yang disajikan.

Fungsi interaktif opsional ditangani oleh subroutine bernama trackRoutine. Ini dipanggil ketika rutinitas goToTarget melihat objek (tangan Anda) di mana saja di atas sensor ultrasonik tengah. Ini mencoba membuat semua servo mengikuti gerakan tangan Anda saat bergerak di atas sensor. Setelah tidak merasakan tangan selama beberapa detik, subroutine kembali dan program reguler dilanjutkan.

Kode

ServosArt Software for Arduino UnoArduino
No preview (download only).

Skematik

Menunjukkan cara Uno dan servo terhubung melalui tiga pengontrol 16 saluranProyek Motor Servo Interaktif dengan Arduino dan Sensor HC-SR04Menghubungkan 5 sensor jarak ultrasonik ke Uno untuk mengaktifkan servo melacak gerakan tangan.Proyek Motor Servo Interaktif dengan Arduino dan Sensor HC-SR04

Proses manufaktur

  1. Raspoulette: Prototipe Sistem Pintu Kandang Otonom Berdaya Surya
  2. Simple Pi Robot – Membangun Rover Otonom 2‑WD dengan Raspberry Pi
  3. Layanan Perbaikan Motor Servo Fanuc Profesional
  4. Perbaikan Servo Motor Siemens Profesional – Layanan Cepat & Terpercaya
  5. Panduan Ahli: Perbaikan & Tips Troubleshooting Motor Servo
  6. Kit Proyek MOSMusic: MOSFET, Arduino, dan Lainnya
  7. Memahami Motor Linier: Dari Energi Listrik hingga Gerak Linier Presisi
  8. Mengapa Gearbox Planetarium Meningkatkan Performa Servo Motor
  9. Dasar-Dasar Servo Press: Daya, Presisi, dan Efisiensi Dijelaskan
  10. Motor Servo: Cara Kerja dan Mengapa Penting