
Isi kandungan:
2025 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2025-01-23 15:00

Setelah memperoleh sebilangan besar pengekod optik putar yang dibuang dari tempat kerja saya, saya akhirnya memutuskan untuk melakukan sesuatu yang menyeronokkan / berguna dengan mereka.
Saya baru-baru ini membeli pencetak 3D baru untuk rumah saya dan apa yang dapat memujinya lebih baik daripada pengimbas 3D! Projek ini juga memberi saya peluang terbaik untuk menggunakan pencetak 3D saya untuk mengeluarkan bahagian yang diperlukan.
Bekalan
Pengekod optik dan sensor optik yang sepadan
Arduino UNO
perisai prototaip pilihan
rel palang keluli
akses ke pencetak 3D
Langkah 1: Pengekod Optik



Hampir mana-mana pengekod putar dapat digunakan untuk projek ini, asalkan ia memberi anda 'klik' per mm yang cukup tinggi. Jelas pengekod yang berbeza memerlukan penyelesaian pemasangan yang sesuai.
Saya menggunakan meter kesinambungan untuk mengesan gambarajah pendawaian untuk sensor foto.
Langkah 2: Bahagian Bercetak 3D


Bahagian ini menempatkan pengekod putar dan menyediakan slaid untuk rel. Perumahan pengekod tunggal mempunyai dua lubang di bahagian belakang agar rel silang dipasang. Perumahan pengekod ganda hanyalah dua rumah tunggal yang disatukan pada sudut yang betul.
Saya merancang pelekap ini di fusion360 agar sesuai dengan pilihan pengekod dan rel saya, batang pengekod mempunyai kepingan pendek sarung getah katapel, untuk membantunya mencengkam batang keluli tahan karat dengan lebih baik.
Anda mahu poros meluncur dengan bebas dan jatuh melalui perumahan apabila dipegang secara menegak, namun ia mesti memberi tekanan yang cukup pada pengekod agar tidak tergelincir. Apa yang berjaya bagi saya ialah membiarkan slaid agar poros bertindih dengan aci pengekod sebanyak 0.5mm. Getah slingshot cukup lembut untuk ubah bentuknya dan memberikan daya tarikan yang baik.
Langkah 3: Diagram Pendawaian

Litarnya sangat mudah. Sensor opto memerlukan sedikit arus untuk diod pemancar IR, ground dan resistor penarik untuk dioda foto.
Saya memutuskan 5mA untuk diod pemancar dalam siri, dalam pengekod khusus ini penurunan voltan merentasi diod adalah 3.65V. Saya menggunakan bekalan 5V dari Arduino, yang meninggalkan 1.35V untuk perintang, pada 5mA ini berfungsi menjadi 270 ohm.
10k ohm dipilih untuk pull-up kerana dioda foto hanya dapat mengalirkan arus kecil, 10k ohm juga digunakan untuk menekan butang. Terdapat butang yang tersedia untuk digunakan pada papan prototaip yang sudah disambungkan ke tanah, cukup sediakan resistor penarik dan pasangkannya ke pin input yang dikehendaki.
Langkah 4: Kod Arduino



Kod ini memerlukan sedikit penjelasan kerana pengoperasiannya mungkin tidak jelas, namun ia harus dioptimumkan dengan cara ini untuk dapat memproses 3 pengekod dengan cukup cepat.
Pertama, kita hanya mahu memproses data arah JIKA ada perubahan pada kedudukan pengekod.
perubahan = nilai_ baru ^ nilai tersimpan;
Untuk mendapatkan lebih banyak resolusi dari pengekod saya, saya harus memproses kedua sisi naik dan turun.
Pada persediaan saya, resolusi saya adalah 24 klik per 1cm.
Ini meninggalkan kita dengan beberapa senario.
S1 adalah pemalar 0 dan S2 bertukar dari 0 hingga 1
S1 adalah pemalar 0 dan S2 bertukar dari 1 hingga 0
S1 adalah pemalar 1 dan S2 beralih dari 0 hingga 1
S1 adalah pemalar 1 dan S2 beralih dari 1 hingga 0
S2 adalah pemalar 0 dan S1 beralih dari 0 hingga 1
S2 adalah pemalar 0 dan S1 bertukar dari 1 hingga 0
S2 adalah pemalar 1 dan S1 beralih dari 0 hingga 1
S2 adalah pemalar 1 dan S1 beralih dari 1 hingga 0
Keadaan ini lebih baik difahami dalam jadual kebenaran di atas, juga setiap keadaan menghasilkan 'arah', dengan sewenang-wenangnya dinamakan 0 atau 1.
Carta memberi kita dua petunjuk penting:
1) satu carta adalah kebalikan lengkap yang lain, jadi jika kita mempunyai satu, kita dapat menghitung yang lain dengan mudah dengan hanya membalikkan output. Kami membalikkan output hanya jika satu pin berubah dan bukan yang lain, kami dapat memilih satu dengan sewenang-wenangnya.
2) carta itu sendiri hanyalah XOR dari isyarat S1 dan S2. (carta yang lain adalah BUKAN dari ini).
Kini memahami kodnya adalah mudah.
// baca dalam PORT secara selari // ingat pasangan bersebelahan tergolong dalam keadaan pengekod yang sama = PINB & 0x3f; // pin apa yang telah berubah jika ada keadaan diff = hold ^; // XOR isyarat S1 dan S2 bersebelahan untuk mendapatkan jadual kebenaran // Cara paling senang adalah dengan membuat salinan keadaan semasa // dan mengalihkannya ke kanan dengan satu bit = keadaan >> 1; // kini bit diselaraskan untuk keadaan XOR dir = look ^ ^; // ingat, jadual perlu dibalikkan jika satu // input tetap, kami tidak memerlukan pernyataan IF // untuk ini. Saat ini bit arah yang diinginkan // adalah bit tangan kanan setiap pasangan dalam pemboleh ubah 'dir' // bit tangan kiri tidak bermakna // pemboleh ubah 'diff' mempunyai bit yang berubah 'set' // jadi kita sama ada '01' atau '10' // XOR ini dengan bait 'dir' akan // membalikkan atau tidak sedikit makna. dir ^ = perbezaan; // sekarang kemas kini terus pemboleh ubah tahan = keadaan; // jika salah satu bit telah berubah untuk pengekod ini jika (diff & 0x03) {// tentukan arah jika (dir & 0x01) {// berdasarkan hadware dan pendawaian anda sama ada ++ atau - --z; } lain {++ z; }} // ditto untuk selebihnya jika (diff & 0x0c) {if (dir & 0x04) {++ y; } lain {--y; }} if (diff & 0x30) {if (dir & 0x10) {--x; } lain {++ x; }}
Apabila butang ditekan, kami menghantar nilai XYZ semasa ke program terminal.
Data bersiri lambat, tetapi semasa operasi normal, kedudukan pengekod tidak akan berubah selama ini.
Data dihantar sebagai jumlah mentah. Anda boleh melakukan matematik dan mengirim data dalam mm atau inci dll. Saya dapati nilai mentah sama baiknya kerana kita dapat menskalakan objek kemudian dalam perisian.
Langkah 5: Imbasan Pertama




Mengumpulkan poin adalah proses yang perlahan, saya meletakkan probe di sudut kiri atas dan menetapkan semula Arduino.
Ini menunjukkan kedudukan sebagai rumah.
Kemudian pindahkan probe ke lokasi pada sasaran, tahan dengan stabil dan tekan butang 'snapshot'.
Untuk kepingan sampel yang agak besar ini saya hanya mengambil ~ 140 mata, jadi perinciannya tidak bagus pada produk akhir.
Simpan data ke dalam fail. PCD, dan tambahkan tajuk
#. PCD v.7 - Format fail Data Awan TitikVERSI.7 BIDANG x y z UKURAN 4 4 4 JENIS F F F COUNT 1 1 1 WIDTH (jumlah titik anda) TINGGI 1 PANDANGAN 0 0 0 1 0 0 0 POIN (jumlah titik anda)
Letakkan kiraan titik anda di tajuk, ini mudah dilakukan pada mana-mana editor yang memberi anda nombor baris.
Di atas titik dapat dilihat di freeCad, mereka kemudian dieksport dari freeCad sebagai file. PLY.
Buka. PLY di MeshLab dan permukaan objek. Selesai !!
Disyorkan:
Titik ke Titik Atari Punk Console Satu dan Separuh: 19 Langkah

Titik ke Titik Atari Punk Console Satu dan Separuh: Apa! ?? Satu lagi Atari Punk Console build? Tunggu tunggu tunggu orang, ini berbeza, janji. Waaay kembali pada tahun 1982, Forrest Mims, penulis buku kecil Radio Shack dan Young Earth Creationist (roll eyes emoji) menerbitkan rancangan untuk Stepped Tone Genera
Kereta Api Model Titik ke Titik Automatik Mudah: 10 Langkah (dengan Gambar)

Kereta Api Model Titik Titik Automatik Sederhana: Pengawal mikro Arduino sangat bagus untuk mengautomasikan susun atur kereta api model. Susun atur automatik berguna untuk banyak tujuan seperti meletakkan susun atur anda pada paparan di mana operasi susun atur dapat diprogram untuk menjalankan kereta api dalam urutan automatik. L
Pengayun Voltan Terkawal Titik ke Titik: 29 Langkah

Oscillator Terkawal Voltan Titik ke Titik: Hai! Anda telah menjumpai projek di mana kami mengambil satu microchip yang sangat murah, CD4069 (bagus), dan menempelkan beberapa bahagian padanya, dan dapatkan pengayun voltan pengawal voltan yang sangat berguna! Versi yang akan kami bangun hanya mempunyai bentuk gelombang gergaji atau landai, yang
Litar Titik ke Titik Eurorack Dual Decay: 12 Langkah

Dual Decay Eurorack Point-to-Point Circuit: Tujuan arahan ini adalah untuk menunjukkan bagaimana anda boleh membuat litar DUAL DECAY untuk synthesizer modular anda. Ini adalah litar point-to-point yang bebas dari sebarang pcb dan menunjukkan cara lain untuk membina litar synthesizer berfungsi dengan bahagian minimum
Kereta Api Model Titik ke Titik Automatik Mudah Mengendalikan Dua Keretapi: 13 Langkah (dengan Gambar)

Railroad Point to Point Model Automatik yang Sederhana Menjalankan Dua Keretapi: Pengawal mikro Arduino adalah kaedah terbaik untuk mengautomasikan susun atur kereta api model kerana ketersediaan kos rendah, perkakasan dan perisian sumber terbuka dan komuniti besar untuk membantu anda. Untuk landasan kereta api model, mikrokontroler Arduino dapat membuktikan