Isi kandungan:
- Langkah 1: Bahan, Alat, Peranti yang Digunakan untuk Menjalankan Projek
- Langkah 2: Bahan Perkakasan Yang Perlu Dilakukan
- Langkah 3: Pengekodan Arduino
- Langkah 4: Perisian Visual Studio C #
- Langkah 5: Hasil
Video: Alat Pengukur Kadar Suapan CNC Dibuat Dari Sekerap: 5 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:11
Adakah ada yang ingin mengukur kadar suapan sebenar pada mesin CNC? Mungkin tidak, sehingga bit penggilingan utuh setelah pekerjaan CNC … tetapi ketika mereka mulai pecah secara berkala, mungkin sudah waktunya untuk menyelidiki. Dalam arahan ini, anda dapat mengikuti pencarian dalam menentukan kadar umpan sebenar mesin CNC. Ia akan merangkumi bahagian kejuruteraan terbalik dari pencetak, firmware arduino, perisian PC, dan hasil yang saya dapat dengan bantuan rakan sekerja, dan tong sampah menjadi harta karun.
Langkah 1: Bahan, Alat, Peranti yang Digunakan untuk Menjalankan Projek
Semasa saya mula mengusahakannya, saya memikirkan senarai pendek perkara yang kita perlukan:
- mekanisme pengangkutan printer yang dibongkar
- alatan tangan untuk mengubahnya
- besi pematerian, pateri, wayar
- multimeter
- osiloskop atau penganalisis logik - ini tidak semestinya diperlukan
- bekalan kuasa
- mikroskop
- Arduino nano + pinout
- PC dengan alat Arduino IDE, Visual Studio 2008 Express + MS Charting dipasang
- (MPU6050 - Saya akhirnya tidak menggunakan ini)
- bersedia melayari semua perkara yang anda tidak tahu bagaimana melakukannya
Pada awalnya, saya berpendapat bahawa papan MPU6050 akan membolehkan saya mengukur kadar suapan pada ketiga paksi sekaligus. Memiliki accelerometer di dalamnya, saya yakin bahawa menjumlahkan data accelerometer akan memberi saya nilai yang diinginkan - kelajuan pada setiap paksi. Setelah memuat turun dan mengubah coretan Arduino yang memaparkan data mentah pada monitor bersiri, saya menulis program PC kecil di Visual Studio yang memproses data, dan memplotnya pada carta untuk penafsiran lebih mudah. Saya terpaksa memuat turun Visual Studio C # Express 2008 dan alat grafik untuk ini.
Setelah membuat pengekodan sebentar dan mencari semua perkara yang saya perlukan untuk komunikasi bersiri, saya akhirnya mempunyai nilai yang digambarkan, tetapi tidak kira apa yang saya lakukan, ia tidak dapat digunakan. Pergerakan yang kecil tetapi mendadak akan menghasilkan lonjakan yang besar, sementara perjalanan yang lebih lama tidak akan muncul di carta. Setelah dua hari memalu MPU6050, saya akhirnya menyerah dan beralih kepada yang lain - mekanisme maklum balas kedudukan pencetak yang dibongkar.
Langkah 2: Bahan Perkakasan Yang Perlu Dilakukan
Kejuruteraan Terbalik
Sudah tentu, mekanisme pencetak tidak mempunyai nombor komponen yang dapat saya gunakan untuk menentukan sifatnya yang tepat, ada keperluan untuk sedikit teknik terbalik untuk sampai ke tempat yang kita mahukan. Setelah memeriksa mekanisme dan elektronik dengan teliti, saya memutuskan bahawa perkara pertama adalah pengenalan pin sensor optik. Ini harus dilakukan untuk menghubungkan semua perkara dengan Arduino. Saya membongkar bahagian plastik hitam, mengeluarkan PCB, dan memeriksa sensor: tertulis ROHM RPI-2150 di atasnya. Itu menggembirakan saya, harapan tinggi bahawa saya akan mencari lembar data. Sayangnya ini adalah bahagian lama, atau bahagian tersuai - tidak ada lembar data yang dapat dijumpai di mana sahaja di web. Ini bermaksud bahawa saya harus mengambil masalah dengan tangan sendiri: mengetahui bahawa sensor ini biasanya mempunyai LED inframerah dan dua transistor foto di dalamnya, saya meraih multimeter, mengaturnya ke mod pengukuran dioda, dan mula mengukur antara pin.
Pin kuasa biasanya mudah dicari - mereka akan mempunyai kapasitor di seberang, dan biasanya dihubungkan dengan jejak lebar pada PCB-s. Jejak tanah sering dihubungkan ke beberapa pad untuk penolakan bunyi yang lebih baik.
Walau bagaimanapun, pin input dan output tidak sepele. Semasa mengukur merentasi diod, meter akan menunjukkan voltan hadapannya dalam satu arah, dan kelebihan (tak terbatas) di arah yang lain. Saya dapat mengenal pasti empat diod antara pin, saya menyimpulkan bahawa diod keempat mestilah semacam zener atau diod TVS, kerana ia betul antara pin kuasa komponen. Mencari pemancar inframerah itu mudah, terdapat perintang 89R bersiri dengannya. Saya tinggal dengan dua ukuran diod pada baki dua pin, yang harus menjadi dua penerima.
Catatan: Sensor ini mempunyai dua penerima untuk dapat menentukan arah pergerakan selain menentukan kedudukan dengan mengira denyutan. Kedua-dua bentuk gelombang keluaran ini berada 90 ° di luar fasa, ini digunakan untuk menghasilkan denyut hitung atau hitung ke bawah. Dengan mengikuti jumlah denyutan ini, kedudukan tepat kepala pencetakan dapat ditentukan.
Ketika pemancar dan dua penerima berada, saya menyolder wayar pada pin mereka, jadi saya dapat menghubungkan sensor dengan Arduino. Sebelum melakukan itu, saya membekalkan sensor dengan 3.3V, menarik jalur antara sensor beberapa kali, dan memerhatikan gelombang persegi pada output. Kekerapan gelombang persegi bervariasi dengan kelajuan pergerakan, dan saya menyimpulkan bahawa sistem pengukuran kini siap untuk disambungkan ke Arduino.
Menghubungkan Arduino
Menyambungkan 'sensor' baru ini sangat mudah. Cukup sambungkan output sensor ke D2 dan D3 (pin mampu mengganggu!), Dan talian bekalan kuasa, dan pengekodan boleh bermula.
Langkah 3: Pengekodan Arduino
Kod Arduino agak mudah. Saya menetapkan fungsi yang dijalankan setiap kali D2 melihat kelebihan yang meningkat, ini adalah fungsi luput dari kod Arduino yang saya lampirkan. Sekiranya anda melihat isyarat pengekod kuadratik, anda akan melihatnya:
- dalam satu arah fasa A adalah logik tinggi pada setiap fasa kenaikan B
- pada fasa arah yang lain A adalah rendah logik pada setiap fasa kenaikan B
Ini adalah sifat pengekod yang saya manfaatkan: kerana fungsi luput dijalankan setiap kali D2 mempunyai kelebihan yang meningkat, saya hanya menulis jika itu menambah pembilang ketika D3 tinggi, dan mengurangkannya ketika D3 rendah. Ini berfungsi pada percubaan pertama, saya mengirim nilai penghitung ke monitor bersiri, dan menyaksikan kenaikan / penurunan ketika saya menggerakkan kepala pencetak pada batang.
Singkat cerita, firmware melakukan perkara berikut dalam fungsi gelung:
- memeriksa penyangga penerimaan siri untuk sebarang data masuk
- jika ada data masuk, periksa apakah itu '1' atau tidak
- jika ia adalah '1', ini bermaksud bahawa perisian PC meminta nilai kaunter
- hantar nilai kaunter ke PC melalui siri
- bermula pada pukul 1.
Dengan ini, bola berada di gelanggang perisian PC sekarang. Mari masuk ke dalamnya!
Langkah 4: Perisian Visual Studio C #
Tujuan program VS C # adalah untuk mengalihkan beban komputasi dari Arduino ke PC. Perisian ini menerima data yang disediakan oleh Arduino, menghitung dan menampilkan kelajuan dalam bentuk grafik.
Yang pertama saya buat ialah google bagaimana melakukan komunikasi bersiri di C #. Saya menjumpai banyak maklumat baik di MSDN.com bersama dengan contoh yang baik, kemudian saya membuang apa yang saya tidak perlukan - pada dasarnya semuanya kecuali bahagian membaca. Saya menyiapkan port COM dan kelajuan yang sesuai dengan Arduino, kemudian hanya mencubanya dan membuang semua yang ada di port bersiri ke dalam kotak teks berbilang baris.
Setelah nilai dibaca, saya hanya dapat menggunakan fungsi readto & split untuk mengasingkan satu ukuran antara satu sama lain, dan dari watak pembatas. Ini digambarkan pada kontrol Chart, dan nilainya mulai muncul di layar.
Sekiranya anda tidak dapat melihat kawalan Carta di kotak alat VS anda, anda boleh google masalahnya dan cari jalan penyelesaiannya di sini (cari jawapan # 1): pautan
Prinsip pengukuran
Untuk mengetahui hubungan antara jumlah kiraan dan jarak yang dilalui kepala, kami memusatkan nilai kiraan, menggerakkan kepala pencetak 100mm dengan tangan, dan memerhatikan perubahan jumlah. Kami akhirnya mendapat perkadaran berikut: 1 kiraan = 0.17094mm.
Oleh kerana kita dapat menanyakan jarak dan kita dapat mengukur masa antara sampel, kita dapat mengira kadar di mana pergeseran kedudukan berlaku - kita dapat mengira kelajuan!
Terdapat masa perisian kasar 50ms berkat TMR0, tetapi kami melihat bahawa masa ini tidak terlalu tepat. Sebenarnya, setelah beberapa pengukuran kelajuan perisian, kami mendapati bahawa 50ms waktunya sama sekali tidak 50ms. Ini bermaksud bahawa sampel tidak diambil pada selang waktu tetap, jadi pengiraan laju tidak dapat menggunakan basis waktu tetap. Sebaik sahaja kami menemui masalah ini, mudah untuk meneruskan: kami mengambil perbezaan jarak dan perbezaan masa dan mengira kelajuan sebagai D_distance / D_time (bukannya D-jarak / 50ms).
Juga, kerana persamaan kita akan mengembalikan kepantasan dalam unit mm / 50ms, kita perlu mengalikannya dengan 1200 untuk mendapatkan jarak yang dilalui kepala dalam satu minit, dalam [mm / minit].
Catatan: perisian kawalan kilang Mach 3 CNC menentukan kadar suapan dalam unit [mm / minit]
Penapisan
Sejak saat ini, pengukuran nampaknya cukup tepat, tetapi terdapat sedikit bunyi pada isyarat yang diukur. Kami mengesyaki bahawa ini disebabkan oleh ketidakkonsistenan mekanikal pada poros, poros kopling, dan lain-lain, jadi memutuskan untuk menyaringnya, untuk mendapatkan nilai min yang baik dari apa yang diukur.
Penyesuaian yang baik terhadap perisian
Untuk mengubah kadar sampel dan kadar penapis semasa waktu berjalan, bar tatal ditambahkan - satu untuk setiap. Juga, kemampuan untuk menyembunyikan plot juga diperkenalkan.
Langkah 5: Hasil
Setelah bahagian perkakasan dan perisian siap, kami menjalankan tiga set pengukuran dengan perisian mach 3 + saya, anda dapat melihat hasilnya pada gambar yang dilampirkan. Eksperimen kemudian menunjukkan ketepatan yang lebih baik, dengan kadar penapis dan sampel meningkat. Petak menunjukkan kelajuan yang diukur dengan warna merah padat, dan rata-rata dengan biru putus-putus.
Yang dikatakan, nampaknya Mach 3 mengendalikan tetapan kelajuan ini dengan tepat, tetapi sekarang kita pasti tahu:)
Saya harap anda menikmati pengajaran ringkas ini mengenai teknik terbalik dan mengubah air menjadi wain!
Ceria!
Disyorkan:
Pengawal Suapan CCTV - Raspberry Pi: 3 Langkah
Pengawal Suapan CCTV - Raspberry Pi: Hai semua, selamat datang di Instructable by Scientify Inc. yang lain! Projek ini mengoptimumkan apa yang dirakam oleh kamera CCTV dengan menggunakan penginderaan gerakan dalam menggunakan perbezaan kuadrat akar (RMS) antara dua gambar berturut-turut. Ini membantu dalam membuat suapan CCTV
Suapan Indeks UV EPA / IOT: 4 Langkah (dengan Gambar)
Feed / IOT Indeks UV EPA: Peranti kecil ini menarik indeks UV tempatan anda dari EPA dan memaparkan tahap UV dalam 5 warna yang berbeza dan juga memaparkan perincian mengenai OLED. UV 1-2 berwarna hijau, 3-5 berwarna kuning, 6-7 berwarna jingga, 8-10 berwarna merah, 11+ berwarna ungu
Pembesar suara kadbod dari sekerap !: 5 Langkah (dengan Gambar)
Pembesar suara kadbod dari sekerap !: Instruksinya ini adalah panduan kecil bagaimana membuat pembesar suara mudah alih yang kukuh dan kuat yang dikitar semula dari kadbod lama. Apabila kita mendengar perkataan kadbod, kita biasanya memikirkan kotak kadbod, dan pada pendapat semua orang, kotak ardboard adalah tidak begitu kuat
Pembesar suara Bluetooth mudah alih yang diperbuat daripada kayu sekerap: 9 Langkah (dengan Gambar)
Pembesar suara Bluetooth mudah alih yang diperbuat daripada kayu sekerap: Halo semua, sudah lama saya membuat catatan terakhir di sini jadi saya fikir saya akan menerbitkan projek saya sekarang. Pada masa lalu saya membuat beberapa pembesar suara mudah alih tetapi kebanyakannya diperbuat daripada plastik / akrilik kerana senang digunakan dan tidak memerlukan
Pengukur Pita Pengukur: 7 Langkah
Mengukur Pembesar suara pita: Baiklah, ini adalah arahan pertama saya jadi sila komen. Saya berasa bosan dan saya mempunyai ukuran pita yang rosak dan memutuskan untuk membuat kotak pembesar suara. Ini adalah projek yang menyeronokkan dan sederhana. Ini juga sangat bagus jika anda yang baru dijual