Gagasan membuat mesin di rumah dengan tangan Anda bukanlah hal baru. Setiap orang yang berpikir tentang implementasi peralatan seperti itu di rumah harus dibimbing oleh motif penciptaan. Ini penting bagi saya, karena secara alami saya tidak memiliki begitu banyak tangan lurus untuk membuat yang baik, bahkan lebih atau kurang keseluruhan, bagian, dan seringkali tugas muncul untuk membuat bagian rumit yang tepat, yang dapat ditangani oleh mesin dengan baik. Selalu ada cukup ide dan ide baru untuk implementasi, tetapi tidak banyak waktu.
Secara singkat tentang penulis
4- , « », « », « ».
Spoiler
. , . , , , . . , - , .
Ketentuan Referensi atau apa yang diharapkan di pintu keluar
Mesin penggilingan yang dihasilkan harus memenuhi ketentuan berikut:- Memiliki area kerja yang dapat diterima
- Memiliki kecepatan aksial yang dapat diterima
- Untuk mengolah bagian-bagian kayu dengan kekerasan sedang dan tinggi. Idealnya menangani aluminium
Aturan utama mesin adalah kekakuan. Semakin tinggi kekakuan mesin, semakin sedikit getaran, serangan balik, penurunan permukaan tanah, tikungan, dan cacat lainnya yang akan memengaruhi kualitas blanko yang diproses. Karena mesin akan dibuat sepenuhnya di rumah, satu-satunya bahan yang benar-benar dapat diproses dalam jumlah sedemikian di rumah dan dari mana dimungkinkan untuk membuat tempat tidur mesin - pohon. Tentu ada berbagai jenis. Dan karena kurangnya modal besar, bagi siswa , semua yang ditemukan akan digunakan untuk membuat. Dan ini pada dasarnya adalah papan contoh dengan bor dari pohon yang agak lunak. Meski ada juga lembaran triplek kecil. Apa yang kaya, maka akan digunakan.Perlu juga diperhatikan kontrol alat berat apa yang akan diluncurkan. Ada satu komputer yang sangat kuno, pantainya hanya untuk tujuan seperti itu. AMD Duron 1.2 GHz, RAM 768 MB, Mem Video 64 MB, HDD 20 GB. Hanya cocok untuk keperluan ini. Manajemen akan berada di bawah Linux CNC. Untuk Mach3 di bawah Win tidak ingin bekerja dengan cerdas. Dia membutuhkan lebih banyak sumber daya.Pengembangan
Pengembangan mesin akan dibagi menjadi beberapa bagian.- Pengembangan pengendali motor stepper
- Pengembangan driver motor stepper
- Desain isolasi optik
- Pengembangan Rencana Nutrisi
Harus segera dikatakan bahwa pengembangan bagian mekanik seperti itu tidak ada, karena tidak ada begitu banyak pengalaman untuk mengembangkan dan mengantisipasi sesuatu. Oleh karena itu, pengembangan dilakukan segera pada tahap perakitan.Pengembangan pengendali motor stepper
Kontroler motor stepper akan dikembangkan pada mikrokontroler PIC. Mengapa Pertama, perlu akhirnya memahami bagaimana motor stepper bekerja, kedua, itu lebih menarik, ketiga, chip L297 jadi yang sama harganya sedikit mahal untuk beberapa alasan, dan sebagai hasilnya ternyata dirakit pada mikrokontroler sedikit lebih murah.
Sebagai kontrol mikrokontroler diambil PIC16F630. Ia memiliki batas minimal dan jumlah kaki yang cukup untuk dikendalikan. Port C adalah untuk output langsung dari pulsa kontrol. Pin A1, A2 memiliki sinyal input DIR, LANGKAH. Pin A2 diaktifkan dalam mode interupsi eksternal, dan DIR berfungsi seperti pin input biasa. Pengontrol diluncurkan melalui kuarsa pada 20 MHz.Kode ditulis dalam C menggunakan asm insert kecil dan dikompilasi pada kompiler CCS C.#include <16f630.h>
#case
#FUSES NOWDT
#FUSES NOMCLR
#FUSES HS
#FUSES PUT
#FUSES BROWNOUT
#use delay(clock = 20 MHz)
#use fast_io(C)
#opt 9
#define DIR PIN_A1
#define CLK PIN_A2
#define LED PIN_A0
#zero_ram
const int steps[256] =
{
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101,
0b00000100,0b00000110,0b00000010,0b00001010,0b00001000,0b00001001,0b00000001,0b00000101
};
unsigned int8 nowStep = 0;
#INT_TIMER1
void LoadDrop_isr()
{
output_c(0);
}
#INT_EXT
void clk_isr()
{
#asm asis
BTFSC 05.1
INCF nowStep,F
BTFSS 05.1
DECF nowStep,F
#endasm
output_c(steps[nowStep]);
set_timer1(0);
}
void main()
{
output_a(0);
input_a();
set_tris_c(0);
output_c(0);
setup_comparator(NC_NC_NC_NC);
setup_timer_1(T1_INTERNAL | T1_DIV_BY_8);
set_timer1(0);
ext_int_edge(L_TO_H);
enable_interrupts(INT_TIMER1);
enable_interrupts(INT_EXT);
enable_interrupts(GLOBAL);
unsigned int16 blinkCounter = 0;
MAIN_LOOP:
if(!blinkCounter++)
output_toggle(LED);
goto MAIN_LOOP;
}
Untuk menggambarkan kodenya, akan lebih mudah untuk memulai dengan logika controller. Ketika pengontrol dimulai, konfigurasi awal setrika dan dimasukkannya interupsi terjadi. Nomor langkah disimpan dalam variabel 8-bit unsigned nowStep dan pada awalnya angkanya nol. Selanjutnya, siklus program abadi dimulai di MAIN_LOOP di mana hanya ada berkedip LED yang terhubung ke pin A0. Untuk apa? Pertama, jelas bahwa batu itu tidak membeku, dan kedua, efek khusus! Pin A2 dikonfigurasikan untuk interupsi eksternal pada sisi naik. Ketika suatu peristiwa direkam dengan berjalan kaki, interupsi INT_EXT akan diproses di mana langkah selanjutnya diaktifkan. Untuk menampilkan langkah berikutnya, terjadi peningkatan atau penurunan penunjuk langkah nowStep, tergantung pada input DIR.Kemudian, dari berbagai langkah langkah-langkah dari posisi nowStep, kombinasi baru dari beralih gulungan motor ditampilkan di port. Juga, pada awal inisialisasi mikrokontroler, timer 1 diatur dan dimulai.Pengatur waktu ini mengatur ulang sinyal output untuk mencegah motor terlalu panas. Timer mengatur ulang sinyal output sekitar 100 ms setelah mengatur sinyal. Artinya, ini adalah tindakan pencegahan murni.Dalam simulasi, dimungkinkan untuk mencapai periode sinyal CLK 15 μs, yang sesuai dengan frekuensi 66. (6) KHz. Untuk pertama kalinya itu tidak buruk, saya pikir, meskipun demikian, optimasi lebih lanjut dimungkinkan.Pengembangan driver motor stepper
Tidak perlu pergi jauh. Skema khas. Driver dibangun berdasarkan driver L298N yang sudah jadi.
Mengapa resistor R1 - R4? Jujur saja, saya tidak tahu. Awalnya, dokumentasi pergi ke sirkuit bersama dengan L297, semua komunikasi tanpa resistor. Namun, di Internet saya menemukan sirkuit dengan resistor di telepon. Saya melihat diagram blok di lembar data pada L298N. Semua baris INPUT pergi ke input DAN elemen terbalik. Tidak ada yang terjadi tanpa resistor. Tapi saya memutuskan untuk tidak mengambil risiko dan untuk berjaga-jaga, kali ini. Tidak akan jauh lebih buruk, kecuraman depan di pintu masuk akan jatuh.Sisa dari skema mengulangi yang diberikan dalam lembar data.Desain isolasi optik
Papan optocoupler berfungsi untuk melindungi mesin kontrol, dalam hal ini komputer, dari bagian daya mesin. Jadi, jika sesuatu mulai merokok dari sisi mesin, ia hanya akan merokok hingga papan opto-coupler dan meminimalkan kerusakan.Skema ini cukup besar, jadi klik untuk melihat ukuran penuh. Awalnya, 4N25 optocouplers diambil. Karena saya berpikir bahwa optocoupler hari ini akan mencapai 60 kHz. Tetapi pada kenyataannya, tidak, mereka tidak merentangkannya, mereka tidak punya waktu. Karena itu, sebagai hasilnya, saya harus menggantinya dengan 6N135, di mana kinerjanya jauh lebih tinggi (hingga 2MHz dalam hal datasheet). Dengan pin, mereka tidak langsung kompatibel, namun, dimungkinkan untuk memasukkannya tanpa mengubah seluruh papan. Saya tidak membuat skema baru, saya pikir siapa pun yang mau, akan dapat mengisi ulang papan sendiri.
Sebagaimana seharusnya, daya rangkaian dibagi menjadi dua bagian, dari sisi mesin dan sisi komputer. Dari sisi komputer, daya disuplai melalui kabel USB, ini adalah satu-satunya tujuan. Dari sisi mesin sudah ada bundel kabel 5 V.Pengembangan Rencana Nutrisi
Juga, karena semuanya dilakukan bukan dalam monolit, tetapi dalam blok kecil, perlu memisahkan lebih banyak kabel dari biasanya untuk daya dan sinyal. Oleh karena itu, untuk menyederhanakan pengkabelan, saya memutuskan untuk membuat jalur kecil terpisah dengan konektor untuk mendistribusikan daya pada jalur 12 V dan 5 V. Jalur daya
berisi enam konektor untuk jalur 5 V dan 12 V, serta dua konektor terpisah untuk menghubungkan pendingin.Perakitan dan hasil
Karena saya tidak mulai memotret sejak awal, dan tidak ada rencana untuk menulis artikel, banyak langkah perakitan yang hilang, tetapi saya akan menunjukkannya. Semua foto di bagian ini dapat diklik.Membuat driver motor stepper
Pindah gambar dengan LUT: Etched and tinned: Drilled: Sealed: Selanjutnya, perlu untuk mengulang kesuksesan untuk 2 sumbu lagi:





Pembuatan papan isolasi optik
Memindahkan LUTom dan dikoreksi dengan spidol:
Etched:
Stained: Rakitan
semua elektronik:


Perakitan mesin
Mesin itu dirakit dari kayu lapis tebal 10 mm dan papan 18 mm. Ketika perakitan, panduan furnitur digunakan, itu lebih baik untuk pertama kalinya saya tidak menemukan apa pun, dan secara psikologis saya tidak siap untuk memproses setidaknya sudut logam yang sama.Pada awalnya ada konstruksi seperti itu:
Versi pertama dari sumbu Z:
Tapi seperti yang saya mengerti sekarang, itu tidak baik sama sekali, semuanya berputar, terhuyung-huyung. Secara umum, tidak ada pembicaraan tentang kekakuan.Upaya lain mengikuti: Di
mana sumbu X dan Y dipindahkan ke platform yang terpisah dan berubah menjadi meja bergerak:
Itu sudah lebih baik, tetapi masih sangat jauh dari sesuatu yang tidak terhuyung. Akibatnya, saya sampai pada opsi ini:
Namun, sumbu Z masih berkedut dan menekuk terlalu banyak. Kali ini saya duduk dan berpikir dengan baik dan sudah terlibat dalam beberapa desain. Hasilnya adalah desain ini:
Sudut sama dengan aluminium dengan rak 25 mm dan ketebalan 2 mm digunakan sebagai panduan. Saya tidak dapat menemukan baja. Mereka akan berkali-kali lebih baik. Pedoman untuk industri manufaktur, tentu saja, masih belum bisa dibandingkan.Pindahan kereta:
Rakitan sumbu Z baru:
Hasil. Anda dapat melihat bahwa sumbu yang dirakit, dan desain secara keseluruhan, masih berbeda bahkan dari yang dirancang. Namun demikian, meluruskan dan memusatkan poros saat Anda hanya membutuhkan vernier caliper dan bor tangan adalah tugas yang agak sulit. Jadi saya harus mengubah pikiran dan bereksperimen saat bepergian:
Sampel untuk menggiling sesuatu:Bahkan dengan begitu banyak jika, bahkan dengan desain yang tidak sempurna, saya berhasil membuat sesuatu bekerja dan hasilnya saya terkesan.Kontrol komputer
Perangkat lunak kontrol untuk mesin CNC harus bekerja pada sistem waktu nyata untuk menghasilkan sinyal yang disinkronkan secara tepat. Karena itu, Windows tidak cocok untuk ini. Tentu saja, untuk operasi yang benar, ditulis driver yang memecahkan masalah ini, tetapi biasanya membutuhkan lebih banyak sumber daya, dan stabilitas sistem seperti itu lebih rendah daripada sistem waktu nyata.Pemrosesan dilakukan di bawah kendali LinuxCNC. Instalasi dan konfigurasi seharusnya tidak menyebabkan banyak kesulitan. Situs web program sudah memiliki bahan bangunan dan sumber makanan siap pakai. Ada beberapa metode instalasi: pada sistem yang sudah diinstal atau dari awal bersama dengan OS yang dikonfigurasi. Saya memilih opsi kedua, karena saya tidak begitu berpengalaman dengan Linux, dan tidak ada cukup waktu untuk menangani proses penambalan. Opsi kedua adalah distribusi Debian reguler dengan kernel RTC dan LinuxCNC sudah diinstal.Setelah instalasi, perlu untuk menyesuaikan sumbu mesin: pemetaan sinyal, kecepatan, akselerasi, dan sebagainya. Hasilnya adalah file output untuk memulai, yang, ketika diluncurkan, akan menampilkan program kontrol mesin itu sendiri dengan parameter yang ditentukan.Kesimpulan
Sebagai hasil dari pekerjaan yang dilakukan, ada banyak tayangan yang tersisa, serta pertanyaan dan tugas untuk meningkatkan mesin yang dihasilkan.- Untuk meningkatkan tegangan motor dari 12 V ke kerja mereka 24 V
- Perkuat desain, dan secara ideal siapkan desain alat berat baru dengan desain awal penuh
- Tambahkan sakelar batas dan tombol berhenti darurat
- Untuk mengoptimalkan pengoperasian pengendali motor
- Pasang kembali elektronik mesin pada satu papan, kecuali papan opto-isolasi
- Ganti spindle mesin dengan yang cocok dengan tujuannya. Itu adalah mesin yang sangat revving dan lebih kuat daripada pengukir Cina saat ini.
- Ganti mesin pada sumbu Z, karena mesin saat ini kurang kuat dan paling banyak dimuat
Mesin yang dihasilkan memiliki area kerja lebih dari 270 mm di sepanjang sumbu X dan Y, dan sekitar 150 mm di sepanjang Z. Kecepatan gerakan di sepanjang sumbu X dan Y lebih dari 500 mm / s, dan di sepanjang Z 300 mm / s. Ini pada tegangan operasi 12 V. Itu adalah setengah dari kinerja mereka. Ada ruang untuk tumbuh.Apa yang bisa dikatakan dengan pasti - itu sangat berharga. Setidaknya satu tugas yang akan dilakukan mesin dengan baik sekarang: memotong papan. Anda bisa melupakan etsa dan LUT. Tentu saja, talenan memiliki kelemahan, tetapi lebih baik memiliki alternatif daripada satu-satunya pilihan. Dalam video tersebut, terlihat bagaimana pemotong pabrik 3 mm menggiling huruf M, mungkin dengan laju umpan rendah dan 0,1 mm, tetapi ini juga hasilnya.Sebarkan beberapa sumber atau papan PCB tidak melihat banyak titik sejauh ini. Mesin tidak berhasil cocok untuk beban serius atau cukup stabil dan unik. Namun, ini bukan upaya terakhir untuk melakukan apa pun dan iterasi pembangunan berikutnya sedang dipersiapkan, saya harap, yang lebih baik.