Umpan balik dari Sensor Efek Hall Dengan Video

Sensor Efek Hall

Sensor efek Hall dapat mendeteksi keberadaan medan magnet dan menghasilkan tegangan output ketika seseorang terdeteksi. Sensor efek aula, saat digunakan denganaktuator linier, biasanya diposisikan di dalam gearbox aktuator bersama dengan cakram magnetik. Saat aktuator linier memanjang atau menarik kembali, cakram ini berputar melewati sensor efek aula yang menyebabkan sensor menghasilkan output digital dalam bentuk pulsa tegangan. Pulsa ini dapat dihitung dan digunakan untuk menentukan seberapa jauh aktuator telah bergerak.

Cara membaca umpan balik dari aktuator linier

Umpan balik posisi dari sensor efek aula

Kelemahan dari menggunakan sensor efek aula untuk umpan balik posisi adalah bahwa mereka tidak mengukur posisi absolut. Sebaliknya mereka menghasilkan pulsa yang dapat dihitung untuk menentukan seberapa jauh aktuator telah bergerak. Untuk memanfaatkan pulsa ini untuk umpan balik posisi, Anda harus menggunakan a Mikro-Pengontrol untuk menghitung pulsa yang dihasilkan. Untuk melakukannya, Anda harus menggunakan pin interupsi eksternal dari pengontrol mikro Anda untuk menghitung pulsa ini saat terjadi. Interupsi eksternal adalah pin yang mendeteksi perubahan tegangan dan dalam kasus kami dapat digunakan untuk mendeteksi pulsa tegangan dari sensor efek aula. Anda perlu berkonsultasi dengan lembar data pengontrol mikro Anda untuk memastikan pin apa yang dapat digunakan oleh pin pengontrol mikro Anda sebagai pin interupsi. Menggunakan Arduino uno Misalnya, pin 2 dan 3 dapat digunakan untuk interupsi eksternal. Setelah Anda memilih pin interupsi yang sesuai, Anda dapat menghubungkan kawat output sensor efek Hall ke pin itu serta menghubungkan tegangan input ke 5V dan ground ke pin ground.

Menghubungkan Sensor Efek Hall ke Arduino 

Contoh kode di bawah ini menunjukkan cara mengatur interupsi di IDE Arduino di mana interupsi akan dipicu pada tepi naik pulsa tegangan. Anda dapat mengatur interupsi Anda untuk dipicu pada titik yang berbeda dalam perubahan tegangan dan harus berkonsultasi dengan lembar data pengontrol mikro Anda untuk menentukan opsi yang tersedia. Aspek terakhir yang perlu Anda lakukan untuk mengatur interupsi Anda adalah menulis rutinitas layanan interupsi Anda, yang merupakan fungsi yang akan dijalankan kode setiap kali interupsi dipicu. Fungsi ini harus pendek dan hanya melakukan tugas -tugas sederhana seperti menghitung jumlah pulsa dari sensor efek aula kami. Fungsi CountSteps () dalam contoh kode di bawah ini digunakan untuk menghitung jumlah pulsa dari sensor efek Hall.

Untuk memanfaatkan pulsa ini untuk menentukan nilai posisi, Anda harus mengetahui posisi sebelumnya dari aktuator linier dan arah yang dilalui aktuator linier. Jadi, Anda cukup mengatur variabel untuk melacak arah aktuator dalam kode Anda yang akan digunakan untuk menentukan apakah Anda menambahkan atau mengurangi pulsa dari posisi Anda sebelumnya. Setelah Anda memperbarui posisi Anda, Anda harus mengatur ulang pulsa yang dihitung ke nol. Contoh kode di bawah ini menunjukkan fungsi yang memperbarui posisi berdasarkan jumlah pulsa yang dihitung. Setelah Anda memiliki posisi dalam hal pulsa, Anda dapat dikonversi menjadi inci menggunakan spesifikasi pulsa per inci dari aktuator linier Anda. Dalam sampel kode di bawah ini, pulsa per inci perjalanan adalah 3500.

Menganut aktuator linier Anda

Untuk secara akurat memanfaatkan umpan balik posisi dari sensor efek aula, Anda harus selalu mengetahui posisi awal aktuator linier Anda. Meskipun ketika Anda pertama kali menghidupkan sistem Anda, pengontrol mikro Anda tidak akan dapat mengetahui apakah aktuator diperpanjang atau tidak. Ini akan mengharuskan Anda untuk pulang dengan aktuator linier Anda ke posisi yang diketahui. Untuk rumah aktuator linier Anda, Anda perlu mengantarnya ke posisi yang diketahui, seperti ditarik sepenuhnya. Anda juga bisa memanfaatkan sakelar batas eksternal Untuk mengatur posisi Anda yang diketahui ke suatu tempat selain diperpanjang atau ditarik sepenuhnya. Menggunakan kode Arduino di bawah ini sebagai contoh, kami akan ingin mengatur loop sementara yang akan mendorong aktuator linier kami ke posisi Anda yang diketahui, dalam hal ini sepenuhnya ditarik kembali. Kami tahu bahwa Anda berada di posisi kami yang diketahui karena interupsi sensor efek Hall tidak akan memicu. Dalam hal ini, kami memeriksa apakah variabel langkah telah berubah atau tidak untuk menentukan apakah interupsi telah dipicu. Kita juga perlu memastikan bahwa waktu yang cukup telah berlalu untuk mengharapkan interupsi akan dipicu, karena ini kita memanfaatkan fungsi millis () yang menghasilkan waktu dalam milidetik sejak kode telah dimulai dan kita membandingkannya dengan perangko waktu sebelumnya sebelumnya . Setelah kami menentukan bahwa aktuator linier berada di posisi rumah kami, kami berhenti mengendarai aktuator, mengatur ulang variabel langkah, dan keluar dari loop sementara.

Berurusan dengan pemicu palsu

Sementara sensor efek Hall tidak sensitif terhadap kebisingan listrik seperti potensiometer, noise listrik masih dapat memengaruhi sinyal output. Switch Bouncing juga bisa menjadi masalah dengan sensor efek Hall yang dapat memicu pulsa palsu untuk dihitung, yang akan mempengaruhi seberapa jauh pengontrol mikro Anda menganggap aktuator linier Anda telah bergerak. Beberapa pulsa tambahan tidak akan mempengaruhi posisi karena ada 1000 pulsa per inci, tetapi seiring waktu mungkin masalah yang lebih besar. Anda dapat memerangi masalah ini dengan memanfaatkan timer internal untuk menyaring pemicu palsu. Karena Anda dapat menentukan seberapa sering Anda mengharapkan pulsa baru terdeteksi, Anda dapat menyaring ketika interupsi dipicu oleh kebisingan. Dalam sampel kode di bawah ini, trig-delay adalah penundaan waktu antara setiap pulsa. Jika interupsi dipicu sebelum penundaan ini, maka 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 akan kehilangan pulsa aktual dari aktuator linier. Kecepatan aktuator linier juga akan memengaruhi penundaan ini dan jika Anda ingin menyesuaikan kecepatan, variabel ini mungkin perlu diubah untuk menyesuaikan dengan frekuensi baru pulsa yang diharapkan. Untuk secara akurat menentukan penundaan yang tepat antara setiap pulsa, Anda dapat menggunakan penganalisa logika untuk melihat sinyal aktual dari sensor efek Hall. Meskipun ini tidak diperlukan di sebagian besar aplikasi, jika Anda memerlukan penentuan posisi yang sangat tepat, Anda mungkin ingin menentukan penundaan yang tepat.

Cara lain untuk memerangi pemicu palsu adalah dengan memperbaiki nilai posisi setiap kali aktuator mencapai posisi yang diketahui. Seperti menganut aktuator linier, jika Anda telah mengarahkan aktuator linier ke posisi yang sepenuhnya ditarik atau diperpanjang atau jika Anda memanfaatkan sakelar batas eksternal, Anda akan tahu seberapa jauh aktuator telah bergerak. Seperti yang Anda ketahui berapa banyak langkah sensor efek aula yang harus dikirim untuk mencapai posisi yang diketahui, Anda dapat dengan mudah memperbaiki nilainya ketika kami mencapainya. Dalam sampel kode di bawah ini, ini dilakukan untuk posisi yang sepenuhnya diperluas dan sepenuhnya ditarik sepenuhnya. Karena aktuator tidak akan bergerak begitu mencapai salah satu posisi itu, jika kami mencoba mendorong aktuator dan nilai posisi tidak berubah, kami tahu kami berada di batas. Metode ini memberikan solusi praktis untuk memastikan nilai posisi Anda tetap akurat, terutama jika Anda sepenuhnya menarik atau sepenuhnya memperluas aktuator Anda di beberapa titik selama operasi. Anda dapat menggunakan metode ini bersama dengan metode yang dijelaskan di atas yang seharusnya membantu mempertahankan keakuratan nilai posisi Anda.

Ringkasan

Memanfaatkan sensor efek aula untuk umpan balik posisi memberikan resolusi yang jauh lebih besar dibandingkan dengan umpan balik dari potensiometer. Karena mungkin ada 1000 -an pulsa per inci gerakan, sensor efek Hall memberikan presisi dan keandalan dalam memposisikan aktuator linier Anda. Sensor efek Hall juga memberikan kemampuan yang lebih besar untuk memastikan beberapa aktuator linier bergerak bersama secara bersamaan karena jumlah pulsa lebih akurat daripada tegangan potensiometer yang berubah. Memanfaatkan kami Fa-sync-x Actuator Controller, Anda bahkan dapat memastikan aktuator bergerak secara serempak terlepas dari beban. Untuk DIYers, Anda dapat memeriksa bagaimana memastikan aktuator Anda bergerak serempak menggunakan Arduino Di Sini.

Di bawah ini adalah kode sampel lengkap yang digunakan di blog ini dan dibangun untuk mengontrol panjang stroke 14 ” Seri Bullet 36 Cal. Aktuator linier. Aktuator linier digerakkan menggunakan a pengemudi motor, yang bisa Anda pelajari cara mengatur Di Sini

[1] Monari, G. (Juni, 2013) Memahami resolusi dalam encoder optik dan magnetik. Diterima dari: https://www.electronicdesign.com/technologies/components/article/21798142/understanding-resolution-in-optical-and-magnetic-encoders

Share This Article
Tags: