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

Lengan Robot Solder Otomatis

Komponen dan persediaan

Motor Stepper 28BYJ-48 Dengan Modul Driver ULN2003
× 1
Arduino UNO
× 1
Motor servo TowerPro MG955
× 1
MODUL LCD SERIAL I2C 1602
× 1
Modul Stepdown
× 1
OpenBuilds NEMA 17 Motor Stepper
× 1

Alat dan mesin yang diperlukan

Pemotong laser (generik)
Set Kit Bit Pemotong Alat Rotary untuk Dremel

Aplikasi dan layanan online

Arduino IDE
Microsoft Visual Studio 2015

Tentang proyek ini

Pendahuluan

Ide proyek ini muncul di benak saya secara tidak sengaja ketika saya sedang mencari berbagai kemampuan lengan robot, kemudian saya menemukan bahwa ada beberapa yang mencakup area penggunaan ini (Lengan Robot Pengelasan &Solder Otomatis).

Sebenarnya saya punya pengalaman sebelumnya untuk membangun proyek serupa, namun kali ini proyek tersebut sangat bermanfaat dan efektif.

Sebelum memutuskan bentuknya, saya melihat banyak aplikasi dan proyek lainnya terutama di bidang industri, proyek Open source banyak membantu saya untuk mengetahui bentuk yang tepat dan cocok.

Itu karena ilmu di balik makanan visual untuk otak kita.

Langkah 1:Desain

Awalnya saya melihat banyak proyek profesional yang tidak bisa diimplementasikan karena rumitnya.

Kemudian saya memutuskan untuk membuat produk saya sendiri yang terinspirasi oleh proyek lain, jadi saya menggunakan Google Sketch up 2017 pro. Setiap bagian dirancang untuk dirakit di samping satu sama lain dalam urutan tertentu seperti yang ditunjukkan pada gambar berikutnya.

Dan sebelum merakitnya saya harus menguji bagian-bagiannya dan memilih besi solder yang sesuai, ini terjadi dengan menggambar proyek finishing virtual sebagai panduan untuk saya.

Gambar-gambar ini menunjukkan bentuk ukuran umur penyelesaian aktual dan dimensi yang benar dari setiap bagian untuk memilih besi solder yang tepat.

Langkah 2:Pengoperasian dan Pemasangan

Selama bekerja, saya menghadapi beberapa kendala yang harus kami umumkan.

1. Lengannya terlalu berat untuk dipegang oleh motor stepper kecil, dan kami memperbaikinya di versi berikutnya atau cetakan potong laser.

2. Karena modelnya terbuat dari bahan plastik, gesekan alas putarnya tinggi dan gerakannya tidak mulus.

Solusi pertama adalah membeli motor stepper yang lebih besar yang mampu menahan beban dan gesekan, dan kami mendesain ulang dasarnya agar sesuai dengan motor stepper yang lebih besar.

Sebenarnya masalahnya tetap dan motor yang lebih besar tidak memperbaikinya, dan itu karena gesekan antara dua permukaan plastik di samping kita tidak dapat mengatur pot dengan persen. Posisi putaran maksimum bukanlah arus maksimum yang dapat diberikan oleh pengemudi. Anda harus menggunakan teknik yang ditunjukkan oleh pabrikan, di mana Anda mengukur tegangan sambil memutar panci.

Kemudian saya terpaksa mengubah desain dasar sepenuhnya dan menempatkan motor servo dengan roda gigi logam terpasang mekanisme roda gigi.

3. tegangan

Papan Arduino dapat disuplai dengan daya baik dari colokan listrik DC (7 - 12V), konektor USB (5V), atau pin VIN papan (7-12V). Mensuplai tegangan melalui pin 5V atau 3.3V melewati regulator, dan kami memutuskan untuk membeli kabel USB khusus yang mendukung 5 volt dari PC atau catu daya apa pun.

sehingga motor stepper dan komponen lainnya bekerja dengan baik hanya dengan 5 volt dan untuk mengamankan bagian dari masalah apa pun kami memperbaiki modul step down.

Modul step down adalah pengubah buck (step-down converter) adalah konverter daya DC-ke-DC yang menurunkan tegangan (sambil menaikkan arus) dari input (supply) ke outputnya (beban) dan juga menjaga kestabilannya. atau tegangan.

Langkah 3:Modifikasi

Setelah beberapa modifikasi, kami mengubah desain model dengan memperkecil ukuran lengan dan membuat lubang yang sesuai untuk roda gigi motor servo seperti yang ditunjukkan.

Dan saat pengujian motor servo berhasil memutar beban 180 derajat dengan benar karena torsinya yang tinggi berarti suatu mekanisme mampu menangani beban yang lebih berat. Berapa banyak gaya putar yang dapat dihasilkan servomekanisme bergantung pada faktor desain—tegangan suplai, kecepatan poros, dll.

Juga menggunakan I2c bagus karena hanya menggunakan dua pin, dan Anda dapat menempatkan beberapa perangkat i2c pada dua pin yang sama. Jadi misalnya, Anda dapat memiliki hingga 8 ransel LCD+LCD semuanya dalam dua pin! Kabar buruknya adalah Anda harus menggunakan pin i2c 'hardware'.

Langkah 4:Dudukan atau Gripper Besi Solder

Gripper dipasang dengan menggunakan motor servo roda gigi logam untuk menahan beban besi solder.

servo.attach(9, 1000, 2000);servo.write (constrain (sudut, 10, 160)); 

Pada awalnya kami mengalami kendala yaitu motor goyang dan bergetar sampai kami menemukan kode rumit yang memberikan malaikat kendala.

Karena tidak semua servo memiliki putaran 180 derajat penuh. Banyak yang tidak.

Jadi kami menulis tes untuk menentukan di mana batas mekanisnya. Gunakan servo.write Microseconds daripada servo.write Saya lebih suka ini karena memungkinkan Anda menggunakan 1000-2000 sebagai rentang dasar. Dan banyak servos akan mendukung di luar kisaran itu, dari 600 hingga 2400.

Jadi, kami mencoba nilai yang berbeda dan melihat di mana Anda mendapatkan buzz yang memberi tahu Anda telah mencapai batas. Maka hanya tinggal dalam batas-batas itu ketika Anda menulis. Anda dapat mengatur batas tersebut saat menggunakan servo.attach(pin, min, max)

Temukan rentang gerakan yang sebenarnya dan pastikan kode tidak mencoba mendorongnya melewati titik akhir, fungsi Arduino constrain () berguna untuk ini.

Langkah 5:Pengodean

Arduino menggunakan lingkungan perpustakaan dapat diperluas melalui penggunaan perpustakaan, seperti kebanyakan platform pemrograman. Perpustakaan menyediakan fungsionalitas tambahan untuk digunakan dalam sketsa, mis. bekerja dengan perangkat keras atau memanipulasi data. Untuk menggunakan perpustakaan dalam sketsa.

#include AccelStepper.h#include MultiStepper.h#include Servo.h#include Wire.h #include LiquidCrystal_I2C.h 

Kode

  • Kode Steppers X Y Z
Kode Steppers X Y ZArduino
#include "AccelStepper.h" // Pengaturan AccelStepperAccelStepper stepperX(1, 2, 3); // 1 =Antarmuka Easy Driver // UNO Pin 2 terhubung ke pin STEP Easy Driver // UNO Pin 3 terhubung ke pin DIR Easy Driver AccelStepper stepperZ(1, 5, 6); // 1 =Antarmuka Easy Driver // UNO Pin 5 terhubung ke pin LANGKAH Easy Driver // UNO Pin 6 terhubung ke pin DIR dari Easy DriverAccelStepper stepperY(7, 8, 9); // 1 =Antarmuka Easy Driver // UNO Pin 5 terhubung ke pin STEP Easy Driver // UNO Pin 6 terhubung ke pin DIR Easy Driver // Variabel Perjalanan Stepperlong TravelX; // Digunakan untuk menyimpan nilai X yang dimasukkan dalam Serial Monitorlong TravelZ; // Digunakan untuk menyimpan nilai Z yang dimasukkan dalam Serial Monitorlong TravelY; // Digunakan untuk menyimpan nilai Y yang dimasukkan dalam Serial Monitorint move_finished=1; // Digunakan untuk memeriksa apakah pemindahan telah selesaivoid setup() { Serial.begin(9600); // Jalankan Serial monitor dengan kecepatan 9600 Bauds // Cetak Instruksi pada Serial Monitor saat Start Serial.println("Masukkan jarak tempuh dipisahkan dengan koma:X,Z "); Serial.print("Masukkan Nilai Pindah Sekarang:");// Tetapkan Kecepatan Maks dan Percepatan setiap Stepper stepperX.setMaxSpeed(500.0); // Tetapkan Kecepatan Maks dari sumbu X stepperX.setAcceleration(500.0); // Percepatan sumbu X stepperZ.setMaxSpeed(250.0); // Atur Kecepatan Maks dari sumbu Z lebih lambat untuk rotasi stepperZ.setAcceleration(250.0); // Percepatan sumbu Z stepperY.setMaxSpeed(250.0); // Atur Kecepatan Maks dari sumbu Y lebih lambat untuk rotasi stepperY.setAcceleration(250.0); // Percepatan sumbu Y}void loop() {sementara (Serial.available()>0) { // Periksa apakah nilai tersedia di Serial Buffer move_finished=0; // Setel variabel untuk memeriksa langkah Steppers TravelX=Serial.parseInt(); // Masukkan nilai numerik pertama dari buffer di variabel TravelX Serial.print(TravelX); Serial.print("X Perjalanan, "); TravelZ=Serial.parseInt(); // Masukkan nilai numerik kedua dari buffer di variabel TravelZ Serial.print(TravelZ); Serial.print("Z Perjalanan , "); TravelY=Serial.parseInt(); // Masukkan nilai numerik kedua dari buffer ke variabel TravelY Serial.print(TravelY); Serial.println("Y Perjalanan "); stepperX.moveTo(TravelX); // Atur posisi gerakan baru untuk X Stepper stepperZ.moveTo(TravelZ); // Atur posisi gerakan baru untuk Z Stepper stepperY.moveTo(TravelY); // Atur posisi gerakan baru untuk Z Stepper delay(1000); // Tunggu 1 detik sebelum memindahkan Steppers Serial.print("Memindahkan Steppers ke posisi..."); }// Periksa apakah Stepper telah mencapai posisi yang diinginkan if ((stepperX.distanceToGo() !=0) || (stepperZ.distanceToGo() !=0) || (stepperY.distanceToGo() !=0)) { stepperX .Lari(); // Pindahkan Stepper X ke posisi stepperZ.run(); // Pindahkan Stepper Z ke posisi stepperY.run(); // Pindahkan Stepper y ke posisi }// Jika pemindahan selesai, tampilkan pesan di Serial Monitor if ((move_finished ==0) &&(stepperX.distanceToGo() ==0) &&(stepperZ.distanceToGo() ==0) &&(stepperY.distanceToGo() ==0)) { Serial.println("SELESAI!"); Serial.println(""); Serial.println("Masukkan Nilai Pemindahan Selanjutnya (0,0,0 untuk reset):"); // Bersiaplah untuk nilai monitor Serial baru move_finished=1; // Setel ulang variabel pindah }}

Skema


Proses manufaktur

  1. Makerarm:Lengan robot yang sangat keren untuk pembuat
  2. Merancang kontrol motor untuk sistem robot
  3. Pengontrol motor mengintegrasikan inti Arm Cortex-M0
  4. Desain referensi menyederhanakan kontrol motor robot industri
  5. Lengan Robot:Bagaimana Cara Pembuatannya?
  6. Senjata Robot dalam Pembuatan dan Manfaatnya
  7. Motor Servo untuk Lengan Robot:Apa yang Akan Terjadi?
  8. Sel Robot Mengaktifkan Perawatan Suku Cadang Secara Otomatis
  9. Pasar lengan robot akan tumbuh menjadi US$14,78 miliar pada tahun 2026
  10. Lengan Robot Industri - Ledakan Manufaktur