Isi kandungan:

Measurino: Roda Pengukur Bukti Konsep: 9 Langkah
Measurino: Roda Pengukur Bukti Konsep: 9 Langkah

Video: Measurino: Roda Pengukur Bukti Konsep: 9 Langkah

Video: Measurino: Roda Pengukur Bukti Konsep: 9 Langkah
Video: CARA CEPAT MEMBACA MIKROMETER SEKRUP DAN KALIBRASI NYA❗️ 2024, November
Anonim
Measurino: Roda Pengukur Prinsip Konsep
Measurino: Roda Pengukur Prinsip Konsep

Measurino hanya mengira jumlah putaran roda dan jarak yang dilalui berkadar terus dengan jari-jari roda itu sendiri. Ini adalah prinsip asas Odometer dan saya telah memulakan projek ini terutamanya untuk mengkaji bagaimana menjaga litar (dikendalikan oleh mikrokontroler Arduino), sesuai dengan beberapa jarak, dari milimeter hingga kilometer, dan untuk menilai kemungkinan masalah atau peningkatan.

Langkah 1: Bahagian dan Komponen

  • Arduino Nano rev.3
  • Mainan OLED 128 × 64 (SSD1306)
  • Encoder Putar Fotolistrik Tambahan (400P / R)
  • Roda Getah untuk pesawat model (51mm dia)
  • 2 butang tekan
  • Bateri 9v

Langkah 2: Pengekod

Pengekod
Pengekod
Pengekod
Pengekod

Untuk projek ini, saya telah menguji beberapa pengekod putar yang murah, tetapi saya segera membuangnya kerana masalah ketepatan / kepekaan. Oleh itu, saya pergi ke DFRobot's Incremental Photoelectric Rotary Encoder - 400P / R SKU: SEN0230. Ini adalah pengekod putar fotolistrik tambahan industri dengan bahan aluminium, shell logam dan batang keluli tahan karat. Ia menghasilkan isyarat denyut ortogonal dua fasa AB melalui putaran cakera parut dan optocoupler. 400 denyutan / pusingan untuk setiap fasa, dan 1600 denyutan / pusingan untuk output dua fasa 4 kali. Pengekod putar ini menyokong kelajuan maksimum 5000 r / min. Dan ia dapat digunakan untuk kecepatan, sudut, halaju sudut dan pengukuran data lain.

Pengekod putar fotolistrik mempunyai output pemungut terbuka NPN, jadi anda perlu menggunakan perintang penarik atau mengaktifkan penarikan Arduino dalaman. Ia menggunakan cip pengatur voltan 750L05, yang mempunyai input kuasa pelbagai DC4.8V-24V.

Langkah 3: Kepekaan

Kepekaan
Kepekaan

Encoder Rotary Optoelektrik ini benar-benar mempunyai kepekaan yang hebat, yang menjadikannya sempurna untuk aplikasi pengendalian poros dan kedudukan. Tetapi untuk tujuan saya itu terlalu masuk akal. Dengan roda 51mm, pengekod ini mempunyai sensitiviti 0.4mm, yang bermaksud bahawa jika tangan anda mempunyai getaran minimum, ia akan direkodkan. Oleh itu, saya menurunkan kepekaan dengan menambahkan histeresis dalam rutin gangguan:

batal mengganggu ()

{char i; i = digitalRead (B_PHASE); jika (i == 1) hitung + = 1; kiraan lain - = 1; jika (abs (kiraan)> = histeresis) {flag_A = flag_A + hitungan; kiraan = 0; }}

Silap mata ini cukup untuk memberikan kestabilan yang baik terhadap ukuran tersebut.

Langkah 4: Pengukuran

Pilih Unit Ukuran anda (Perpuluhan atau Imperial) dan kemudian letakkan roda dengan titik hubungannya pada permulaan ukuran anda, tekan butang Reset dan teruskan berputar hingga akhir. Dari kiri ke kanan ukuran meningkat dan dijumlahkan, untuk kanan ke kiri penurunan dan tolak. Anda boleh mengukur objek lengkung (bentuk kereta anda, pegangan tangga spiral, panjang lengan anda dari bahu hingga pergelangan tangan dengan siku bengkok, dll.).

Putaran penuh roda dengan diameter = D akan mengukur panjang D * π. Dalam kes saya, dengan roda 51mm, ini adalah 16.02cm dan setiap kutu berukuran 0.4mm (lihat perenggan Sensitiviti).

Langkah 5: Berkumpul

PoC telah dibuat di papan roti untuk menunjukkan litar. Setiap komponen telah terpasang di papan dan pengekod putar disambungkan ke Blok Terminal Skru Tiang 2x2. Bateri adalah bateri standard 9v dan penggunaan kuasa litar sekitar 60mA.

Langkah 6: Kod

Untuk paparan, saya menggunakan U8g2lib yang sangat fleksibel dan hebat untuk paparan OLED seperti ini, yang membolehkan pilihan fon dan fungsi kedudukan yang baik. Saya tidak membuang banyak masa untuk mengisi paparan dengan maklumat, kerana ini hanya Poc.

Untuk membaca pengekod, saya menggunakan gangguan yang dihasilkan oleh salah satu daripada 2 fasa: setiap kali aci pengekod bergerak, ia menghasilkan gangguan kepada Arduino yang terikat pada kenaikan dorongan.

attachInterrupt (digitalPinToInterrupt (A_PHASE), mengganggu, RISING);

Paparan secara automatik beralih dari milimeter, ke meter, ke kilometer dan (jika dipilih dari tombol tekan) dari inci, ke meter, hingga batu, sementara butang RST menetapkan semula ukuran ke sifar.

Langkah 7: Skematik

Skematik
Skematik

Langkah 8: Dari PoC ke Pengeluaran

Mengapa ini merupakan Bukti Konsep? Kerana banyak penambahbaikan yang boleh / harus dilakukan sebelum membina peralatan yang berfungsi sepenuhnya. Mari lihat semua kemungkinan penambahbaikan secara terperinci:

  • Roda. Kepekaan / ketepatan Measurino bergantung pada roda. Roda yang lebih kecil dapat memberi anda ketepatan yang lebih baik dalam mengukur panjang kecil (dalam urutan milimeter hingga sentimeter). Roda yang jauh lebih besar dengan boom pemanjangan akan memungkinkan untuk berjalan di jalan dan mengukur kilometer. Untuk roda kecil, bahan harus dipertimbangkan: roda getah penuh sedikit berubah bentuk dan mempengaruhi ketepatan, jadi dalam hal ini saya akan mencadangkan roda aluminium / keluli dengan hanya pita nipis untuk mengelakkan tergelincir. Dengan pengeditan perisian sepele (pilih diameter roda yang betul dengan suis), anda boleh mempertimbangkan roda yang boleh ditukar untuk menyesuaikan diri dengan ukuran apa pun, dengan menggunakan penyambung 4-pin (iaitu: port usb).
  • Perisian. Dengan menambahkan tombol tekan lain, perisian juga dapat mengurus mengukur luas segiempat tepat atau amplitud sudut. Saya juga menasihatkan untuk menambahkan butang tekan "Tahan" untuk membekukan ukuran di hujungnya, mengelakkan pergerakan roda secara tidak sengaja sebelum membaca nilai pada paparan.
  • Ganti roda dengan kili. Untuk ukuran pendek (dalam jarak beberapa meter) roda dapat diganti dengan kumparan pegas yang berisi benang atau pita. Dengan cara ini anda hanya perlu menarik benang (membuat poros pengekod berputar), mengambil ukuran anda dan menonton di paparan.
  • Tambahkan paparan keadaan bateri. Pin rujukan 3.3v Arduino (tepat dalam 1%) boleh digunakan sebagai asas untuk penukar ADC. Oleh itu, dengan melakukan penukaran analog ke digital pada pin 3.3V (dengan menghubungkannya ke A1) dan kemudian membandingkan bacaan ini dengan bacaan dari sensor, kita dapat memperkirakan bacaan yang benar-benar hidup, tidak kira apa itu VIN (selagi berada di atas 3.4V). Contoh kerja boleh didapati dalam projek saya yang lain.

Langkah 9: Galeri Gambar

Disyorkan: