Artikel ini seharusnya disebut "menghasilkan kombinasi gigi gitar bubut Cina untuk memilih nada umpan menggunakan skrip JavaScript," tetapi itu tidak terdengar begitu menarik.
Mesin bubut termurah dengan Aliexpress MX-180V telah mengejutkan saya sejak kemunculannya di bengkel rumah saya selama lebih dari enam bulan. Terlepas dari kenyataan bahwa orang Cina lupa untuk mengencangkannya ke laci, akibatnya panel depan berkerut.


Meskipun ketidakmampuan perangkat ini untuk memotong utas kidal, bertentangan dengan sumpah penjual, itu mungkin. Terlepas dari kenyataan bahwa termasuk obeng, itu tersebar setelah sentuhan pertama.
Meskipun, pada akhirnya, rendahnya kualitas pembuatan perangkat ini, saya menggunakannya, membuat bagian-bagian yang saya butuhkan dan, secara umum, mengumpulkan keterampilan. Bagi saya, pesona alat tenun rumahan adalah Anda tidak perlu membongkar sampah untuk mencari sesuatu yang mirip dengan sesuatu yang diperlukan, tetapi lakukan saja sendiri. Ini adalah cara paling langsung dari ide ke realisasi.
Jadi, secara bertahap, giliran datang ke threading. Saya memutuskan untuk berlatih pada paku dengan diameter 6 mm, sehingga saya tidak menggiling apa pun, ini akan menjadi diameter baut dengan pitch thread 1 mm, yang saya punya mur. Menurut tabel, yang terletak di casing mesin, saya menemukan kombinasi gigi yang diperlukan untuk langkah yang dipilih.
Pada poros ada gigi dengan 80 gigi, kemudian 52, dan antara gigi ini dan gelendong harus ada gigi dengan 50 gigi. Tetapi di antara 10 gigi di set saya dengan 50 gigi tidak.
Kemudian saya mulai kesal lagi, yah, betapa, saudara-saudara Cina! Saya akhirnya dihabisi oleh fakta bahwa di set saya juga tidak ada gigi kedua untuk 80 gigi dan 66, dan gigi 33-gigi. Dengan sedikit pemikiran, saya menyadari bahwa untuk memberi makan 1 mm per revolusi, hanya rasio gigi pada poros dan poros yang penting, dan roda gigi antara bisa apa saja, yang utama adalah mereka pas di sana. Sebagai hasilnya, saya memotong utas M6x1 pertama dalam hidup saya menggunakan pemotong, bukan die!
Satu hal yang hanya dibayangi oleh kegembiraan acara ini, ketidakcocokan meja dengan gigi saya. Ini berarti bahwa sekarang saya tidak bisa mengambilnya, melihat meja dan memotong utas yang diperlukan bila perlu. Setiap kali Anda harus memikirkan cara memasang gigi, setiap kali menghitung ulang. Secara umum, meja jauh lebih nyaman. Jadi, takdir membuat saya mempelajari rincian desain gitar dan seluk beluk menghitung rasio gear dari gearbox.
Perangkat girboks tidak sulit dan secara skematis empat cara untuk memasang gir (terlepas dari diameternya) dapat digambarkan sebagai berikut:
Untuk jelasnya, kami akan menyebutnya skema penautan. Saya perlu mencari tahu kombinasi roda gigi mana yang diizinkan dalam hal kemungkinan memasangnya di rel panduan, yang dapat berputar di sekitar poros poros dan di mana dua sumbu roda gigi tengah diperbaiki.
Sumbu atas tidak boleh menyentuh spindle pulley, dan karenanya gigi yang digerakkan pertama tidak boleh kurang dari 52 gigi. Selain itu, rel pemandu tidak boleh diputar terlalu dekat dengan poros spindel, agar tidak menyentuh magnet takometer.


Upaya fisik untuk memaksa tugas ini menunjukkan bahwa ada banyak kombinasi yang dapat diterima. Di selembar kertas, sudah tidak ada cukup ruang untuk set yang belum diverifikasi, saya mulai bingung. Ada peluang besar untuk melewatkan kombinasi, atau sebaliknya, untuk merekam kombinasi yang sudah diperiksa. Keinginan untuk melakukan enumerasi pilihan secara buta, duduk dalam posisi yang tidak nyaman di depan mesin, menghilang dengan sangat cepat. Berapa banyak dan apa kombinasi dan umpan yang memungkinkan pada mesin ini? Itu perlu untuk memanggil teori untuk bantuan, dan meletakkan pekerjaan pada penghitungan opsi pada komputer sehingga tidak akan sia-sia.

Penting untuk menemukan atau menulis generator penempatan tanpa pengulangan, karena setiap gigi yang saya miliki hanya dalam satu salinan. Ada banyak cara untuk memilih dari 10 opsi untuk 3, 4 dan 5 gigi, tetapi beberapa dari mereka, jelas, harus dibuang karena pertimbangan geometris. Anda akan membutuhkan filter yang hanya memungkinkan set gir yang sesuai untuk melewatinya. Setelah pemfilteran, mungkin akan ada banyak kombinasi yang akan memberikan pitch yang sama, tanpa perbedaan dalam pola persneling dan set gigi, yaitu. akan ada permutasi yang setara. Mereka juga harus dibuang.
Tanpa ragu-ragu, saya memutuskan untuk memprogram di JS, walaupun saya juga bisa menggunakan C ++, tetapi dalam praktik saya belum menemukan tugas yang tidak dapat diselesaikan di JS berbasis browser ketika harus membuang data ke disk. Dalam metode ini, saya tertarik dengan minimalisme dan kecukupan infrastruktur, notepad, dan browser, yang lainnya tidak berguna. Bahasa menyediakan algoritme, browser menyediakan antarmuka grafis, penerjemah, dan debugger. Setiap perpustakaan dapat ditulis sendiri dengan cepat, atau ditemukan dan diunduh. Ketika Anda tidak terlibat dalam pemrograman industri atau komersial, maka, cukup, kalkulator universal sudah cukup.
Saya menemukan dan menyesuaikan generator penempatan dengan cepat. Tujuannya dalam program ini adalah untuk mengatur ulang indeks array di mana instance gear akan disimpan. Di sini, penempatan dihasilkan dalam fungsi pencarian, dan filter sebelumnya dijejalkan ke dalam array hasil dengan fungsi tes. Selain itu, umpan dihitung dalam fungsi terakhir. Untuk kepastian, kami menunjuk semua roda gigi seperti pada gambar.
Kami menuliskan formula untuk menghitung umpan, sebagai fungsi dari pitch poros umpan dan jumlah gigi gear untuk masing-masing skema pertunangan:
Untuk mengembangkan filter, Anda harus memikirkan lebih detail tentang parameter geometris gitar. Sumbu poros, poros, dan gigi antara atas membentuk segitiga.
Sisi L yang diukur secara langsung, dan sisanya dihitung dari jari-jari roda gigi. Jari-jari roda gigi lebih kecil dari jari-jari luarnya dengan jumlah tumpang tindih saat diaktifkan. Karena persneling tidak dibuat dengan sempurna, jumlah tumpang tindih harus ditentukan secara empiris. Tumpang tindih harus sedemikian rupa untuk memastikan keterlibatan, tetapi untuk mencegah terjepitnya roda gigi. Dalam kasus saya, ternyata 1 mm. Pembatasan berikut diterapkan pada sisi S, sumbu gigi perantara atas tidak boleh menyentuh katrol gelendong. Ini diukur secara langsung ketika pemandu dengan sumbu di posisi atas diputar sedekat mungkin dengan spindel, sedangkan poros hampir menyentuh katrol. Jarak V tidak bisa lebih besar dari jarak antara poros poros dan poros tengah atas, didorong sepanjang jalan ke atas alur. Juga perlu untuk memaksakan batasan pada sudut antara L dan V. Mengubah rak tanpa roda gigi dan gandar sedekat mungkin dengan spindel, mengukur atau menghitung jarak S antara sumbu spindel dan titik teratas panduan dan menghitung sudut menggunakan rumus

Di sini V adalah jarak dari poros poros ke titik atas panduan, dan bukan ke titik atas alur (ini bisa menjadi titik sewenang-wenang rel, hal utama adalah bahwa jarak V dan S diukur untuk itu). Dengan menggunakan rumus yang sama, sudut akan dihitung selama pengujian, tetapi jarak S dan V akan tergantung pada jari-jari roda gigi.
Selain itu, gigi B tidak boleh lebih besar dari A, dan C tidak boleh lebih besar dari D. D tidak boleh menyentuh poros, dan C tidak boleh berpegangan pada A saat gearing B dan D.
Setelah daftar kombinasi yang berhasil dibuat, Anda harus menyimpannya dari redundansi menggunakan fungsi eliminasi. Ini dilakukan dengan hanya mencari solusi yang unik dengan cara apa pun. Anda dapat menggunakan keunikan langkah, atau keunikan satu set roda gigi dan sejenisnya.
Dalam kasus saya, ada 751 kombinasi yang berbeda dalam nada, jumlah roda gigi dan setnya. Hanya ada 222 inning unik. Tentu saja, banyak dari mereka yang tidak umum digunakan atau tidak digunakan sama sekali, tetapi ada yang inci.
Saat mengerjakan teks ini, gagasan itu tidak meninggalkan saya bahwa cara untuk menyelesaikan masalah ini adalah pada tingkat kelas 5, yang bahkan memalukan untuk dibicarakan. Hanya saja dalam hal ini, hasilnya (tabel umpan) jauh lebih penting daripada cara diterima. Namun, mesin, gitar, gearbox, gear untuk masing-masing dapat berbeda dan tidak akan buruk untuk diingat setidaknya salah satu pendekatan untuk membangun meja seperti itu.
Sebagai kesimpulan, saya memberikan teks lengkap skrip, yang dilengkapi dengan jumlah komentar yang cukup, mengingat hal di atas.
Teks tersembunyi<!DOCTYPE html> <html> <body> <div> <textarea id="out"></textarea> </div> <div><button onclick="calc()">Calc</button></div> <script> var out = document.getElementById("out"); out.style.width = '600px'; out.style.height = '500px'; </script> </body> </html>