Cara Membaca Umpan Balik dari Sensor Optik

Sensor Optik

Sensor Optik, bila digunakan dengan aktuator linier,berfungsi sangat mirip dengan sensor efek hall, kecuali mereka mendeteksi cahaya, bukan medan magnet [1]. Sensor Optik beroperasi dengan menggunakan cahaya dari LED atau sumber cahaya lain yang dilewatkan melalui disk encoder. Disk encoder ini ditempatkan untuk memungkinkan cahaya melewatinya secara berkala. Di sisi lain dari disk terdapat sebuah photodetector, yang mendeteksi cahaya saat melewati slot di disk dan menciptakan sinyal keluaran [1]. Saat aktuator bergerak, disk encoder berputar dan cahaya dideteksi oleh photodetector yang menghasilkan gelombang pulsa persegi tegangan. Pulsa ini dapat digunakan serupa dengan pulsa sensor efek hall untuk menentukan seberapa jauh aktuator telah bergerak.

Sensor Optik

Umpan Balik Posisi dari Sensor Optik

Karena fungsi sensor optik sangat mirip dengan sensor efek hall dalam hal keluarannya, postingan blog ini akan membahas secara singkat cara membaca keluarannya untuk umpan balik posisi. Jika Anda mencari detail lebih lanjut, lihat posting kami tentang cara membaca umpan balik posisi dari sensor efek hall karena banyak yang akan serupa.

Seperti sensor efek hall, sensor optik akan memiliki 3 pin untuk dihubungkan; satu adalah tegangan input, satu lagi adalah ground, dan terakhir, satu adalah sinyal output. Untuk memanfaatkan pulsa pada sinyal keluaran untuk umpan balik posisi, Anda perlu menggunakan mikrokontroler untuk menghitung pulsa yang dihasilkan. Anda sebaiknya menggunakan pin interupsi eksternal mikrokontroler untuk menghitung pulsa ini secara akurat. Karena interupsi eksternal dipicu oleh perubahan tegangan, interupsi eksternal dapat digunakan untuk mendeteksi setiap pulsa saat terjadi. Setelah Anda menyiapkan interupsi di kode mikrokontroler, Anda perlu menyiapkan layanan rutin interupsi yang menghitung pulsa saat terjadi. Fungsi countSteps () pada contoh kode di bawah ini digunakan untuk menghitung jumlah pulsa dari sensor optik.

Untuk menggunakan pulsa ini untuk menentukan nilai posisi, Anda harus mengetahui posisi sebelumnya dari aktuator linier dan arah pergerakan aktuator linier. Saat Anda mengontrol ke arah mana aktuator linier Anda bergerak, Anda cukup menyiapkan variabel untuk melacak arah aktuator dalam kode Anda. Variabel ini dapat digunakan untuk menentukan apakah Anda perlu menambah atau mengurangi pulsa dari posisi sebelumnya. Setelah Anda memperbarui posisi, Anda perlu menyetel ulang pulsa yang dihitung menjadi nol. Contoh kode di bawah ini menunjukkan kepada Anda fungsi yang memperbarui posisi berdasarkan jumlah pulsa yang dihitung. Setelah Anda memiliki posisi dalam bentuk pulsa, Anda dapat mengubahnya menjadi inci menggunakan spesifikasi pulsa per inci dari aktuator linier Anda.

Homing Aktuator Linear Anda

Untuk memanfaatkan umpan balik posisi secara akurat dari sensor optik, Anda harus selalu mengetahui posisi awal aktuator linier Anda. Meskipun ketika Anda pertama kali menyalakan sistem Anda, mikrokontroler Anda tidak akan dapat mengetahui apakah aktuator diperpanjang atau tidak. Ini akan meminta Anda untuk memasukkan aktuator linier ke posisi yang diketahui. Ke rumah Anda aktuator linier, Anda harus mengendarainya ke posisi yang diketahui, seperti ditarik sepenuhnya. Menggunakan kode Arduino di bawah ini sebagai contoh, kami telah menyiapkan loop WHILE yang akan mengarahkan aktuator linier kami ke posisi yang diketahui. Dalam contoh ini, kita akan tahu bahwa kita berada pada posisi kita yang diketahui dengan memeriksa apakah interupsi telah dipicu atau tidak dengan memeriksa apakah variabel langkah telah berubah. Kita juga perlu memastikan bahwa cukup waktu telah berlalu untuk mengharapkan interupsi dipicu, untuk ini kita menggunakan fungsi millis () dan membandingkannya dengan stempel waktu sebelumnya. Setelah kami menentukan bahwa aktuator linier berada di posisi awal kami, kami berhenti menggerakkan aktuator, mengatur ulang variabel langkah, dan keluar dari loop WHILE.

Menangani Pemicu Salah

Meskipun sensor optik tidak peka terhadap gangguan listrik seperti potensiometer, gangguan listrik dan pemantulan sakelar masih dapat memengaruhi sinyal keluaran dan dapat memicu penghitungan pulsa palsu. Beberapa pulsa tambahan tidak akan terlalu memengaruhi pemosisian, tetapi seiring waktu, ini mungkin menjadi masalah yang lebih besar. Anda dapat mengatasi masalah ini dengan memanfaatkan timer internal untuk menyaring pemicu palsu. Karena Anda dapat menentukan seberapa sering Anda mengharapkan pulsa baru terdeteksi, Anda dapat memfilter ketika interupsi dipicu oleh kebisingan. Dalam contoh kode di bawah ini, trigDelay adalah jeda waktu antara setiap pulsa. Jika interupsi dipicu sebelum penundaan ini, denyut nadi tidak akan dihitung. Lamanya waktu penundaan ini akan bervariasi berdasarkan aplikasi Anda, tetapi jika terlalu pendek itu tidak akan menyaring kebisingan dengan benar dan jika terlalu lama itu akan kehilangan pulsa sebenarnya dari sensor optik.

Cara lain untuk memerangi pemicu palsu adalah mengoreksi nilai posisi setiap kali aktuator mencapai posisi yang diketahui. Seperti menggerakkan aktuator linier, jika Anda telah mendorong aktuator linier ke posisi ditarik atau diperpanjang sepenuhnya atau jika Anda menggunakan sakelar batas eksternal, Anda akan mengetahui berapa banyak pulsa yang diperlukan untuk mencapai posisi itu. Anda kemudian dapat memperbaiki nilai posisi menggunakan nilai itu ketika Anda mencapai posisi yang diketahui itu. Pada contoh kode di bawah ini, ini dilakukan untuk posisi yang sepenuhnya diperpanjang dan ditarik sepenuhnya. Metode ini memberikan solusi praktis untuk memastikan nilai posisi Anda tetap akurat.

Ringkasan

Sensor optik yang digunakan untuk umpan balik posisi memberikan akurasi dan resolusi yang lebih besar dibandingkan dengan sensor dan potensiometer efek hall, sekaligus memiliki kekuatan dan kekurangan yang serupa dengan sensor efek hall. Meskipun mereka tidak mengukur posisi absolut dan membutuhkan posisi awal yang diketahui untuk memberikan nilai posisi, sejumlah besar pulsa per inci memungkinkan keandalan dalam pemosisian dan memastikan beberapa aktuator linier bergerak secara bersamaan. Memanfaatkan FA-SYNC-X pengontrol aktuator atau tmelalui kode tambahan, Anda bahkan dapat memastikan aktuator bergerak serempak terlepas dari bebannya.

Untuk contoh kode lengkap, lihat blog kami di cara membaca umpan balik posisi dari sensor efek hall sebanyak akan serupa. Nilai seperti denyut per inci dan jeda waktu antar denyut adalah beberapa perubahan yang perlu Anda lakukan untuk menggunakan kode tersebut guna memanfaatkan sensor optik Anda secara akurat.

 

[1] Paschotta, R. Artikel tentang Sensor Optik. Diterima dari:https://www.rp-photonics.com/optical_sensors.html

Tags:

Share this article

Produk Unggulan

12v Linear Actuator
Aktuator Linear Batang Klasik In Stock
From $119.99USD
Premium Linear Actuators
Aktuator Linear Premium In Stock
$135.95USD
TVL-170 Pemasangan Belakang TV Pop-Up Lift
TVL-170 Pemasangan Belakang TV Pop-Up Lift In Stock
On Sale From $590.00USD
12v  Linear Actuators
Seri Peluru 50 Cal. Aktuator Linear In Stock
From $279.99USD

Butuh Bantuan Menemukan Aktuator yang Tepat?

Kami melakukan rekayasa presisi dan memproduksi produk kami sehingga Anda mendapatkan harga produsen langsung. Kami menawarkan pengiriman di hari yang sama dan dukungan pelanggan yang berpengetahuan luas. Coba gunakan Kalkulator Aktuator kami untuk mendapatkan bantuan memilih aktuator yang tepat untuk aplikasi Anda.