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

Pengontrol Pintu Rel Otomatis: Rangkaian Arduino & Kode Sumber

Rangkaian Pengontrol Pintu Rel Otomatis Kecepatan Tinggi Menggunakan Arduino dan Sensor Ultrasonik

Dalam tutorial ini, kita akan mempelajari cara merancang sistem pengontrol pintu rel otomatis kecepatan tinggi yang sederhana dan efisien. Pendekatan ini relatif sederhana untuk proyek ini tetapi Anda dapat menganggapnya sebagai blok dasar dasar dan dalam modifikasi selanjutnya kita juga dapat melacak kecepatan kereta api saat melewati dan masih banyak lagi. Namun sebelum kita langsung masuk ke tutorial kita perlu mendapatkan ide tentang apa itu otomasi dan apa yang tepat yang dapat diharapkan darinya.

Otomatisasi pada dasarnya berarti merancang metode untuk mengurangi atau menghilangkan upaya atau intervensi manusia. Dalam tutorial ini kita akan menjelaskan cara mengotomasi pintu rel dengan Arduino menggunakan servo motor bersama dengan perangkat lunak Proteus.

Kompleksitas otomatisasi dapat bervariasi dari kontrol “on/off” dasar hingga algoritma multivariabel yang sangat kompleks. Sistem kontrol untuk tujuan otomatisasi dapat berupa open loop atau closed loop yang berarti dapat bekerja dengan satu parameter input atau dalam respons terhadap output yang diinput kembali seperti pada sistem closed loop. Otomatisasi di industri rel adalah kebutuhan penting karena kita sedang memasuki era canggih dan untuk mengurangi risiko kecelakaan karena kesalahan yang diinduksi manusia sangat penting agar kita biarkan tugas-tugas ini ditangani oleh mesin cerdas ini.

Seperti dalam kasus setiap teknologi, otomatisasi juga memiliki keuntungan dan kerugiannya:

Keuntungan

  1. Peningkatan produktivitas
  2. Kualitas yang dapat diprediksi (Peningkatan Kualitas)
  3. Ketahanan yang meningkat
  4. Konsistensi output yang luar biasa
  5. Pengurangan biaya tenaga kerja manusia
  6. Sangat akurat
  7. Mengurangi upaya manusia dalam pekerjaan monoton

Kerugian

  1. Rentan terhadap ancaman keamanan
  2. Biaya pengembangan mungkin melebihi prediksi
  3. Biaya pemasangan yang tinggi
  4. Penyebab pengangguran di banyak sektor

Keuntungan yang disebutkan jauh lebih banyak daripada kerugian dan itulah sebabnya seluruh dunia sedang memasuki era otomatisasi.

Dalam tutorial ini kita mencoba mengotomasi pintu rel untuk buka dan tutup setiap kali rangkaian mendeteksi kereta api di sepanjang rel dan kita juga akan memulai buzzer atau alarm yang menggambarkan kecepatan kereta api lebih tinggi dari ambang batas tertentu dan untuk mencapai hal itu kita akan menggunakan dua komponen elektronik yang sangat banyak digunakan yaitu Arduino dan servo motor.

Sensor yang akan kita gunakan dalam tutorial ini adalah sensor ultrasonik tetapi tidak wajib untuk menggunakan sensor ini kita juga dapat membuat versi berbeda dari proyek ini menggunakan modul sensor IR dan tergantung pada pilihan kita, apa yang ingin kita gunakan dan apa yang mudah didapatkan bagi kita.

Komponen yang Diperlukan untuk Pengontrol Pintu Rel

  1. Arduino UNO
  2. Buzzer
  3. Sensor Ultrasonik (HC-SR04)
  4. Motor Servo

Perangkat Lunak yang Diperlukan:

  1. Arduino IDE
  2. Proteus

Diagram Rangkaian Pengontrol Pintu Rel

Pengontrol Pintu Rel Otomatis: Rangkaian Arduino & Kode Sumber

Deskripsi Komponen

Arduino UNO

Arduino pada dasarnya adalah papan pengembangan yang open source dan terutama menggunakan mikrokontroler Microchip ATmega328P dan diproduksi oleh Arduino.cc. Papan ini dilengkapi dengan sekelompok pin input/output yang terdiri dari digital dan analog yang dapat diinterfacing dengan papan ekspansi dan rangkaian eksternal yang berbeda.

Papan ini dilengkapi dengan 14 pin digital bersama dengan 6 pin analog yang digunakan atau dibuat dapat diprogram dengan bantuan IDE (Integrated Development Environment) yang menyertainya yaitu Arduino IDE. Programnya dibakar melalui kabel USB tipe B. Metode pemasangan daya untuk papan dapat melalui kabel USB atau dengan menghubungkan pasokan daya 9 volt DC. Rentang tegangan yang dapat diterima bervariasi dari 7 hingga 20 volt. Dari segi desain dan cara kerja tidak terlalu berbeda dari anggota keluarganya lainnya yaitu Arduino Nano dan Arduino Leonardo.

STK500 masih merupakan protokol asli untuk Uno untuk berkomunikasi. Perbedaan utama dari pendahulunya adalah tidak menggunakan chip driver FTDI USB-to-serial. Sebaliknya menggunakan ATmega 16U2 (Atmega8U2 hingga versi R2) yang diprogram seperti konverter USB-to-serial.

Pengontrol Pintu Rel Otomatis: Rangkaian Arduino & Kode Sumber

Sensor Ultrasonik (HC-SR04)

Sensor ultrasonik adalah sensor dasar yang kita gunakan untuk menentukan jarak sebuah benda. Dengan cara lain kita dapat mengatakan bahwa digunakan untuk mengukur seberapa jauh benda terletak dari titik referensi tertentu. Ini pada dasarnya memiliki 4 pin;

Bagaimana cara kerja ultrasonik? Transmiter (trig) mengirimkan sinyal suara berfrekuensi tinggi yang kemudian dipantulkan oleh benda dan kemudian sinyal yang dipantulkan diterima oleh penerima (echo). Maka kecepatan suara di udara diketahui kita dapat menghitung jarak. Sensor ini sangat populer di antara para pengrajin Arduino yang menggunakan ini dalam proyek mereka setiap hari dan untuk memicu sensor ini kita memerlukan pulsa tinggi 10 mikrodetik atau lebih.

Fitur sensor ultrasonik:-

Postingan Terkait: Sistem Penyiraman Tanaman & Irigasi Otomatis – Rangkaian, Kode & Laporan Proyek

Pengontrol Pintu Rel Otomatis: Rangkaian Arduino & Kode Sumber

Motor Servo

Ini adalah jenis motor khusus yang digunakan untuk gerakan yang sangat spesifik pada sudut tertentu. Ini adalah aktuator rotary atau linear yang memungkinkan kontrol yang presisi pada posisi sudut atau linear tertentu. Motor servo bukan satu entitas tetapi kombinasi dari motor yang sesuai bersama dengan sensor yang memberikan umpan balik posisi saat ini dari motor.

Untuk menggunakan motor servo ini beberapa modul canggih lain harus digunakan karena tidak sama dalam hal kemudahan penggunaan motor DC. Motor-motor ini pada dasarnya digunakan dalam robotika dan industri manufaktur skala besar.

Motor-motor ini memiliki sedikit persamaan dengan stepper motor yang mewakili kontrol open-loop. Stepper motor memiliki langkah bawaan di mana mereka berputar tetapi dengan kurangnya sistem umpan balik penggunaannya terbatas pada satu aplikasi spesifik untuk yang mereka dirancang dan diproduksi.

Kurangnya umpan balik ini yang membedakan motor servo dari stepper motor ini dan memberi mereka keunggulan karena mereka dinamis dan dapat disesuaikan sesuai dengan tugas yang sedang dihadapi dengan sedikit perubahan dalam pemrograman. Modul pengontrol khusus biasanya disediakan dengan motor servo oleh produsen.

Mekanisme– Pada dasarnya adalah servomekanisme closed-loop yang menggunakan sistem umpan balik untuk memperbarui gerakan dan posisi akhir rotor. Input ke kontrol motor dapat berupa analog atau digital.

Sebuah enkoder dari beberapa jenis dipasangkan dengan motor untuk memberikan umpan balik posisi dan kecepatan ke kontrol yang menghasilkan sinyal error sampai output yang diinginkan tercapai. Dan untuk mengurangi sinyal error ini motor mungkin bergerak ke arah mana pun untuk akhirnya mengurangi sinyal error menjadi nol. Ketika kondisi ini tercapai output yang diinginkan tercapai. Motor servo yang ditingkatkan dan canggih memiliki enkoder rotary optik pada poros output untuk mengukur kecepatannya.

Pengontrol Pintu Rel Otomatis: Rangkaian Arduino & Kode Sumber

Buzzer

Buzzer dapat bersifat mekanik, elektronik, elektromekanik dan piezoelektrik dalam sifatnya. Biasanya kita menggunakan yang elektronik dalam oven, acara kuis dan peralatan rumah tangga dll. Buzzer ini memiliki sirkuit internal. Suara yang dihasilkan adalah karena gerakan sebuah cakram. Cakram tersebut bersifat feromagnetik. Ini adalah perangkat yang didorong arus yang memiliki sumber tegangan sebagai inputnya.

Pengontrol Pintu Rel Otomatis: Rangkaian Arduino & Kode Sumber

Kerja Pengontrol Pintu Rel Otomatis

Dalam rangkaian ini kita telah menggunakan sensor ultrasonik dan motor servo untuk mereplikasi kerja pintu silang kereta api. Kedua sensor diicu dengan bantuan pin trigger yang terpasang pada papan Arduino dan jarak dihitung. Selanjutnya kerja rangkaian sepenuhnya bergantung pada jarak yang diukur.

Jika rel kosong maka motor servo tidak akan melakukan apa-apa tetapi jika kereta api tiba di salah satu sisi rel maka jarak yang diukur oleh salah satu sensor akan bervariasi dari jarak sebelumnya. Dengan cara ini kita akan mendapatkan informasi tentang kedatangan kereta api dan dalam waktu singkat Arduino akan mengatur pin digital 7 dan 8 menjadi HIGH.

Pin-pin ini terhubung dengan dua motor servo dan kemudian servo akan mencakup jarak sudut 90o dan dengan demikian pintu akan tertutup untuk memblokir jalur untuk kendaraan. Ketika kereta api pergi dari sensor lainnya itu akan memberitahu Arduino tentang keberangkatan kereta api dan motor servo akan kembali mencapai posisi sebelumnya untuk membuka pintu.

Dengan mempertimbangkan keselamatan orang kita telah menambahkan satu fitur lagi pada rangkaian ini dan ini tentang memperingatkan mereka dalam hal kereta api kecepatan tinggi. Ini dicapai dengan menghitung waktu antara transisi dari dua sensor dalam satu siklus. Jika waktu ditemukan kurang dari nilai tertentu maka buzzer akan mengeluarkan suara berdenging untuk memperingatkan orang di sekitar pintu silang.

Kode Sumber Proyek & Penjelasan

Dalam sketsa ini, kita telah menentukan lima variabel tipe integer dan empat tipe long. Variabel tr1, tr2, eh1 dan eh2 digunakan untuk mengirim pulsa dan menerima nilai waktu dalam mikrodetik sementara variabel val1, val2, dis1 dan dis2 digunakan untuk menyimpan nilai waktu dalam mikrodetik dan jarak dalam cm. Baud rate diatur ke 9600 bit/sec dan bertanggung jawab untuk komunikasi antara papan dan serial monitor.

const int tr1 = 13, eh1 = 12, tr2 = 3, eh2 = 2;; int bz = 11; unsigned long val1, dis1, val2, dis2; #include Servo myservo1; Servo myservo2; int pos=-1; 

Fungsi yang termasuk dalam void setup () akan berjalan hanya sekali selama eksekusi dan tugasnya adalah menentukan baud rate dan mode pin sebagai input atau output.

void setup() { // put your setup code here, to run once: pinMode(tr1, OUTPUT); pinMode(tr2, OUTPUT); pinMode(bz, OUTPUT); pinMode(eh1, INPUT); pinMode(eh2, INPUT); myservo1.attach(8); myservo2.attach(7); Serial.begin(9600); } 

Sesuai dengan fungsi yang diperlukan, kita terus-menerus mengukur jarak dengan memicu sensor ultrasonik dan jarak yang dihitung ditetapkan sebagai parameter dari pernyataan bersyarat. Jika kondisi ditemukan benar maka variabel “pos” menambah nilainya untuk menjalankan motor servo dan ketika kondisi ditemukan salah maka variabel “pos” mengurangi nilainya untuk membawa kembali motor servo ke posisi sebelumnya.

Ada satu pernyataan bersyarat lagi yang memeriksa apakah dua sensor merasakan benda dengan cepat maka itu akan mengatur pin 11 menjadi tinggi untuk memberi daya pada buzzer untuk memperingatkan orang. Semua proses ini mencakup void loop () dan diulang-ulang sampai Arduino direset atau pasokan daya dihentikan.

void loop() { // put your main code here, to run repeatedly: digitalWrite(tr1, LOW); delayMicroseconds(2); digitalWrite(tr1, HIGH); delayMicroseconds(10); digitalWrite(tr1, LOW); val1 = pulseIn(eh1, HIGH); dis1 = (val1 * 0.0343) / 2; digitalWrite(tr2, LOW); delayMicroseconds(2); digitalWrite(tr2, HIGH); delayMicroseconds(10); digitalWrite(tr2, LOW); val2 = pulseIn(eh2, HIGH); dis2 = (val2 * 0.0343) / 2; Serial.println("distance is "); Serial.println(dis1); Serial.println(dis2); if(dis1 < 100 || dis2 < 100) { if(pos==-1){ for (pos = 0; pos <= 90; pos += 1) { myservo1.write(pos); myservo2.write(pos); delay(15);} } delay(1000); digitalWrite(tr1, LOW); delayMicroseconds(2); digitalWrite(tr1, HIGH); delayMicroseconds(10); digitalWrite(tr1, LOW); val1 = pulseIn(eh1, HIGH); dis1 = (val1 * 0.0343) / 2; digitalWrite(tr2, LOW); delayMicroseconds(2); digitalWrite(tr2, HIGH); delayMicroseconds(10); digitalWrite(tr2, LOW); val2 = pulseIn(eh2, HIGH); dis2 = (val2 * 0.0343) / 2; if(dis1 < 100 || dis2 < 100) {digitalWrite(bz, HIGH); Serial.println("distance2 is "); Serial.println(dis1); Serial.println(dis2);} } else if(dis1 >= 100 && dis2 >= 100) { if(pos==91){ for (pos = 90; pos >= 0; pos -= 1) { myservo1.write(pos); myservo2.write(pos); delay(15); } } digitalWrite(bz, LOW); delay(200); } } 

Interfacing File Hex dengan Proteus untuk simulasi: Di Arduino IDE klik File>Preferences dan kemudian di “Show verbose output” centang kedua opsi kompilasi dan upload. Dan, setelah kompilasi kode di jendela di bawah pilih dan salin lokasi file hex dan di Proteus double klik pada Arduino dan tempel lokasi file dalam opsi Program file dan klik OK. Sekarang rangkaian Anda siap untuk simulasi ke dalam Proteus.

Proyek Terkait:


Teknologi Industri

  1. Latch SR Gate NOR: Membangun dan Memahami Memori Digital
  2. Mode Kegagalan Umum dalam Sistem Listrik Teruji
  3. Memahami Gerbang TTL NOR dan OR: Analisis Rangkaian dan Konversi
  4. Rangkaian Kontrol Motor Lanjutan: Teknik Latching, Stop, dan Tunda Waktu
  5. Sistem Pintu Otomatis Berbasis Sensor PIR: Rangkaian, Kerja & Aplikasi
  6. M-TECH: Sistem Kontrol CNC Canggih untuk Router Apollo
  7. Kontrol Kereta Otomatis Arduino DIY – Sederhana, Andal, dan Dapat Disesuaikan
  8. SERENA: Sistem Alarm Kustom Arduino Mega 2560 dengan Layar Sentuh TFT LCD
  9. Pusat Kontrol Daya Arduino: Kit N-FET, P-FET, Relay & RTC
  10. Pemantauan Cloud: Sistem Kontrol Jarak Jauh untuk Manajemen Aset Real-Time