Kategori: Litar mikropengawal
Bilangan pandangan: 16,299
Komen pada artikel: 0

Bagaimana untuk menyambung pengekod tambahan kepada Arduino

 

Selalunya dalam peranti pada mikrokontroler anda perlu mengatur pengurusan item menu atau melaksanakan beberapa pelarasan. Terdapat banyak cara: menggunakan butang, perintang yang berubah-ubah, atau pengekod. Enkoder tambahan membolehkan anda mengawal sesuatu dengan putaran yang tidak berkesudahan pemegangnya. Dalam artikel ini, kita akan melihat cara membuat pengekstrakan tambahan dan kerja Arduino.

Bagaimana untuk menyambung pengekod tambahan kepada Arduino

Ciri-ciri Pengekodkan Tambahan

Pengekod tambahan, seperti jenis encoder lain, adalah peranti pemegang berputar. Dengan jarak yang jauh, ia menyerupai potensiometer. Perbezaan utama dari potensiometer ialah pengendali pengekod berputar 360 derajat. Beliau tidak mempunyai peruntukan melampau.

Encoders datang dalam pelbagai jenis. Peningkatan berlainan dengan itu dengan bantuannya adalah mustahil untuk mengetahui posisi pegangan, tetapi hanya fakta giliran dalam beberapa arah - ke kiri atau ke kanan. Dengan bilangan isyarat denyutan, anda sudah boleh mengira pada sudut mana ia berubah.

Pengekod dan Arduino

Dengan cara itu, anda boleh lulus mikropengawal arahan, mengurus menu, tahap volum, contohnya, dan sebagainya. Dalam kehidupan seharian, anda dapat melihatnya di radio kereta dan peralatan lain. Ia digunakan sebagai organ pelarasan peringkat pelbagai fungsi, penyamaan dan navigasi menu.

Bunyi Tahap Bunyi

Prinsip kerja

Di dalam encoder incremental ada cakera dengan label dan slider yang bersentuhan dengan mereka. Strukturnya mirip dengan potensiometer.

Encoder disassembled

Dalam angka di atas anda melihat cakera dengan tanda, mereka diperlukan untuk mengganggu sambungan elektrik dengan kenalan alih, sebagai hasilnya anda mendapatkan data mengenai arah putaran. Reka bentuk produk tidak begitu penting, mari kita memahami prinsip operasi.

Reka Bentuk Encoder

Pengekod mempunyai tiga output maklumat, satu biasa, dua yang lain biasanya dipanggil "A" dan "B", dalam gambar di atas anda melihat pin encoder dengan butang - anda boleh menerima isyarat apabila anda mengklik pada batangnya.

Apakah isyarat apa yang akan kita terima? Bergantung pada arah putaran, unit logik akan mula muncul pada pin A atau B, jadi kami mendapat isyarat fasa yang beralih, dan pergeseran ini membolehkan kami menentukan arah mana. Isyarat diperoleh dalam bentuk bentuk segi empat tepat, dan mikrokontroler dikawal selepas memproses data arah putaran dan bilangan denyutan.

Prinsip kerja

Angka ini menunjukkan simbol cakera dengan kenalan, di tengahnya adalah graf isyarat output, dan di sebelah kanan adalah jadual status. Peranti ini sering ditarik sebagai dua kekunci, yang logik, kerana sebenarnya kita mendapat isyarat "ke hadapan" atau "kembali", "naik" atau "ke bawah", dan bilangan tindakan.

Litar pengekod

Berikut adalah contoh pinout pengekodan sebenar:

Contoh pinout pengekod sebenar

Menarik:

Pengekod yang salah boleh digantikan dengan dua butang tanpa mengunci, dan sebaliknya: kawalan buatan sendiri di mana dua butang ini boleh dimuktamadkan dengan menetapkan pengekod.

Dalam video di bawah, anda melihat penggantian isyarat di terminal - semasa putaran lancar, LED menyala dalam urutan yang ditunjukkan dalam graf terdahulu.

Tidak kurang jelas digambarkan dalam animasi berikut (klik pada gambar):

Peranti dan prinsip pengendalian pengekod

Pengekod boleh menjadi kedua-dua optik (isyarat dihasilkan oleh pemancar oleh photodetectors, lihat gambar di bawah), dan magnet (ia berfungsi pada kesan Dewan). Dalam kes ini, dia tidak mempunyai hubungan dan hayat perkhidmatan yang lebih lama.

Sensor sudut

Seperti yang telah disebutkan, arah putaran boleh ditentukan dengan mana isyarat output sebelum ini telah berubah, tetapi ini adalah bagaimana ia kelihatan dalam amalan!

Mata penekanan mekanikal

Ketepatan kawalan bergantung kepada resolusi pengekod - bilangan denyutan per revolusi. Bilangan denyutan boleh dari unit hingga ribuan potongan. Oleh kerana pengekod boleh berfungsi sebagai sensor kedudukan, lebih banyak denyutan, lebih tepat penentuan akan berlaku.Parameter ini dirujuk sebagai PPR - denyutan per revolusi.

Tetapi terdapat nuansa kecil, iaitu, penamaan yang sama LPR adalah bilangan label pada cakera.

Dan bilangan pulsa yang diproses. Setiap label pada cakera memberikan 1 nadi segi empat tepat pada setiap dua output. Dorongan mempunyai dua bidang - belakang dan depan. Oleh kerana terdapat dua cara, kami mendapat 4 pulse dari jumlah masing-masing, nilai-nilai yang anda boleh memproses.

PPR = LPRx4


Sambungkan ke Arduino

Kami mengetahui apa yang perlu anda ketahui mengenai encoder incremental, kini mari mengetahui cara menghubungkannya dengan Arduino. Pertimbangkan rajah sambungan:

Gambar rajah sambungan sensor kedudukan ke Arduino

Modul pengekod adalah papan di mana penambahan pengekod dan resistor pull-up terletak. Anda boleh menggunakan mana-mana pin.

Gambarajah pendawaian encoder

Jika anda tidak mempunyai modul, tetapi pengekod berasingan, anda hanya perlu menambah perintang ini, litar tidak akan berbeza pada prinsipnya. Untuk memeriksa arah putaran dan pengoperasiannya bersempena dengan Arduino kita boleh membaca maklumat dari port siri.

Contoh program

Mari analisa kod itu dengan lebih terperinci, supaya. Dalam persediaan tidak sah (), kami mengumumkan bahawa kami akan menggunakan komunikasi melalui port siri, dan kemudian menetapkan pin 2 dan 8 dalam mod input. Pilih nombor pin anda sendiri berdasarkan skema sambungan anda. Pemalar INPUT_PULLUP menetapkan mod input, arduino mempunyai dua pilihan:

  • INPUT - input tanpa perintang tarik;

  • INPUT_PULLUP - sambungan kepada input resistor pull-up. Terdapat resistor di dalam mikrokontroler di mana input disambungkan kepada kuasa plus (pullup).

Jika anda menggunakan perintang untuk mengetatkan kuasa ditambah seperti yang ditunjukkan dalam gambarajah di atas atau gunakan modul encoder - gunakan arahan INPUT, dan jika atas sebab tertentu anda tidak boleh atau tidak mahu menggunakan perintang luar - INPUT_PULLUP.

Logik dari program utama adalah seperti berikut: jika kita mempunyai satu input "2", ia akan mengeluarkan port H ke monitor, jika tidak, L. Oleh itu, apabila anda memutar arah yang sama pada monitor port siri, anda akan mendapat sesuatu seperti ini: LL HL HH LH LL. Dan sebaliknya: LL LH HH HL LL.

Jika anda membaca dengan teliti baris-baris, anda mungkin perasan bahawa dalam satu kes watak pertama memperoleh nilai, dan dalam kes yang lain, watak kedua mula-mula berubah.


Kesimpulannya

Pengekodan tambahan telah menemui aplikasi praktikal yang luas dalam penguat untuk sistem akustik - mereka digunakan sebagai kawalan kelantangan, dalam radio kereta - untuk menyesuaikan parameter bunyi dan navigasi menu, dalam tikus komputer dengannya anda menatal halaman setiap hari (roda dipasang pada batangnya) . Dan juga dalam mengukur alat, mesin CNC, robot, selsyn bukan hanya sebagai kontrol, tetapi juga mengukur nilai-nilai dan menentukan posisi.

Lihat juga di i.electricianexp.com:

  • Kaedah untuk membaca dan mengurus port Arduino I / O
  • Kawalan motor dan servo dengan Arduino
  • Mempunyai menyambungkan peranti ke Arduino
  • Menyambung dan pengaturcaraan Arduino untuk pemula
  • Sensor yang paling popular untuk Arduino

  •