Thứ Hai, 11 tháng 12, 2017

CNC Đam Mê Bắt Nguồn Từ Đâu

  Rảnh ngồi viết vài dòng blog chơi hi. Là người rất thích và đam mê điện tử sáng tạo nói chung, tuy đi làm rất bận rộn nhưng vẫn cố gắng tối về lao đầu vào mạch mẽo và máy móc, chính vì vậy mới FA đến giờ kaka.
   Khi nhìn trên Youtube cái máy CNC mini làm từ ổ đĩa CD rất mê, ngay lập tức mua đồ và làm. Thành công luôn, khi làm xong thì cảm giác khá đơn giản và lại ngay lập tức bắt tay làm kit to hơn và sử dụng đầu khắc Laser 1000mw.


Chiếc CNC từ đầu đĩa đầu tiên ra đời


      Bạn nào thực sự đam mê có thể liên hệ mình, mình sẽ cố gắng hướng dẫn chi tiết cho các bạn làm thành công thì thôi. 
      Máy chạy phần mềm Benbox rất đơn giản cho người mới tiếp cận CNC, quan trọng là bước căn chỉnh máy cho hoạt động đúng ý mình, hình vẽ sản phẩm ra đúng kích thước chuẩn như bản vẽ mềm. Kinh nghiệm của mình cho những bạn chưa từng tiếp xúc và lần đầu làm thì hãy nên tham khảo hoặc ma 1 chiếc về tự điều khiển, nghiên cứu cho hiểu, nếu chưa có nền tảng điện tử hay chưa từng tiếp xúc thì bắt tay vào làm sẽ khá khó thành công. Tuy đơn giản nhưng khi chúng ta gặp vấn đề về Code hay về điện tử mà không có nền tảng thì trất khó để xử lý.
Linh kiện càn những gì: 
1. 1 Bo Arduino UNO R3
2. 1 bo CNC Sheild V3
3. 2 Driver A4988 điều khiển 1 motor trục X và Y
4. Bộ trục X và Y từ ổ đĩa CD
5. Nguồn 12V
 Trên Internet có rất nhiều tài liêu video tham khảo, chúng ta sẽ cần tìm hiểu và nghiên cứu, làm một cách làm vẹt sẽ ko thể khắc phục được khi có sự cố sảy ra.

Link Dowload Benbox và Firmware nạp cho bo mạch Arduino:

http://www.mediafire.com/file/hb22rv2rcyn7vc7/file-CNC.rar

Ngày nay CNC đã phát triển rất mạnh, tuy những chiếc CNC mini này lạc hậu nhưng đó vẫn là tiền đề đam mê của mình, chúng ta sẽ làm nó làm tiền đề để phát triển những máy lớn sau này, phần lớn là do mình tự nghiên cứu tìm hiểu trên Internet, đặc biệt là các trang mạng nước ngoài nguồn tài liệu cho các bạn sẽ nhiều hơn, cố thể Translate để dịch cũng được kaka. Nhiều điều hay bổ ích mình có thể học tập từ các trang mạng DIY nước ngoài.

Thank for all!!!!!

                                                                                               

Thứ Năm, 2 tháng 11, 2017

Cấu hình GRBL cho Arduino Uno để chạy máy CNC mini

Thiết lập GRBL cho máy CNC mini


Mình chia sẻ cách cấu hình GRBL khi các bạn chạy CNC mini bằng phần mềm Universal hoặc LaserGRBL...cấu hình này rất quan trọng, khi chúng ta hiểu rõ câu lệnh thì sẽ điều chỉnh được máy chạy sao cho chuẩn nhất.

Vào Settings -> Firmware Settings -> GRBL( ví dụ cho phần mềm Universal)
Hoặc các bạn gõ lệnh $$ khi đó thông số setup mặc định sẽ hiện ra.

Bảng thiết lập thông số hiện ra: thứ tự các thông số để cấu hình sẽ bắt đầu bằng $, chúng ta sẽ nhập giá trị lựa chọn vào Value, phần Description là phần diễn giải
Các thông số trong Description là bool là nhập vào 0 hoặc 1, còn giá trị nhập vào kiểu mask là kiểu nhị phân 0b00000[thong so 3][thong so 2][thong so 1] (nhớ chuyển giá trị nhị phân này qua số thập phân rồi nhập vô), [thong so 1/2/3]  tương ứng là của trục X/Y/Z
Ví dụ: lựa chọn có sự tác động lên X và Z: 0b00000101, vậy giá trị nhập vào là 5
Các thông số bôi đen là các thông số rất quan trọng

$0           Thời gian mỗi xung cấp cho driver để chạy động cơ, mặc định là 10uS
$1           Thời gian giữ động cơ sau mỗi loạt chuyển động, muốn động cơ luôn được giữ cho thông số bằng 255, giá trị mặc định 25mS
$2           Chọn mức tín hiệu xung ra cho driver điều khiển, chỉ chỉnh khi sử dụng driver có opto cho phép ngõ vào cao hoặc thấp (như driver TB6560/6600..)
$3           Chọn hướng chuyển động cho động cơ mỗi trục.Ví dụ sau khi ráp ta thấy trục Z chạy ngược với mong muốn (nhấn Z+ nó đi xuống và Z- nó đi lên), ta thiết lập lại: $3=4 (0b00000100), hoặc đổi trục X và Z: $3=5 (0b00000101)
$4           Chọn đảo mức tín hiệu cho cho phép chạy động cơ (tương tự $2 và $3)
$5           Chọn đảo mức tín hiệu cho Endstop (công tắc hành trình – các chân Limit), mặc định $5=0, endstop sẽ bị kích hoạt khi chân endstop tương ứng bị tác động mức thấp (0V), nếu chọn $5=1, endstop sẽ bị kích hoạt khi chân endstop tương ứng bị tác động mức cao (5V)
$6           Chọn đảo mức tín hiệu cho cảm biến dò bề mặt phôi
$10         Chọn chế độ phản hồi thông tin khi máy chạy, mặc đinh: $10=3 (chỉ phản hồi vị trí máy và vị trí gia công)
$11         Chọn gia tốc của dao khi gia công, thông số càng lớn dao đi càng nhanh nhưng dễ bị sai số, giá trị mặc định 0.01mm
$12         Chọn sai số khi đi cung tròn, số càng nhỏ đi càng mịn, giá trị mặc định 0.002mm
$13         Chọn chế độ thông báo trạng thái làm việc theo đơn vị Inch, giá trị mặc định là 0 (không chọn Inch, máy sẽ báo về đơn vị mm)
$20         Chọn chế độ giới hạn hành trình bằng phần mềm, sau khi chọn hành trình gia công (thiết lập hành trình gia công này ở $130, $131, $132), máy chỉ cho phép dao chạy trong hành trình này tính từ gốc tọa độ, do đó để chức năng này hoạt động được phải bật cho phép về gốc tọa độ ở $22 (đương nhiên máy phải có endstop)
$21         Chọn chế độ giới hạn hành trình bằng bằng công tắc endstop, bất kỳ công tắc endstop nào bị tác động máy sẽ dừng lại, để máy tiếp tục di chuyển bạn vào Tab Machine Control yêu cầu trục đó di chuyển ra khỏi endstop, khi di chuyển ra khỏi endstop sẽ gặp hiện tượng nhả endstop thì máy lại dừng, bạn làm thêm lần nữa thì nó sẽ ra được.
$22         Chọn cho phép về gốc tọa độ nếu $22=1, sau khi chọn chức năng này, máy sẽ báo Alarm mỗi lần Open, bạn phải nhấn vào nút $H và $X để tiếp tục (trước khi nhấn nhớ kiểm tra dao có bị vướn phôi không, vì sau khi nhấn máy sẽ tự động di chuyển về gốc tọa độ)
$23         Chọn hướng di chuyển về gốc tọa độ (giống như $3)
$24         Chọn tốc độ di chuyển trước khi chạm endstop lần 2, giá trị mặc định 20mm/min
$25         Chọn tốc độ di chuyển trước khi chạm endstop lần 1, giá trị mặc định 100mm/min
$26         Chọn thời gian chờ endstop, giá trị mặc định 250mS
$27         Chọn khoảng di chuyển ngược endstop để chạm lần 2, giá trị mặc định 5mm
Các thông số $20..$27 này khá khó cho các bạn mới làm quen với CNC hoặc gắn endstop chưa phù hợp, do đó không nên thiết lập các thông số này khi chưa quen (dù các thông số này rất hay)
Kinh nghiệp như sau:
Trước hết chọn $21=1 và kiểm tra thử, nếu điều khiển từ Tab Machine Control, trục nào đó đang di chuyển và cố ý chạm công tắc hành trình, nếu trục dừng lại tức là gắn công tắc endstop đã đúng, làm tương tự với các trục còn lại
Sau khi giới hạn hành trình bằng bằng công tắc endstop ở $21 đã được rồi, thử chọn $22=1 và nhấn $H $X, máy tự chạy về gốc tọa độ (nếu hướng chạy về gốc ngược với mong muốn thì chỉnh lại $23)
Các giá trị $24, $25, $26, $27 là nhằm đảm bảo xác định gốc tọa độ chính xác.Giá trị $25 nhỏ sẽ rất tốn thời gian về gốc tọa độ, nhưng nếu giá trị cao sẽ nhanh làm hỏng endstop (và nếu không coi kỹ sẽ bị gãy dao khi dao bị vướn), giá trị $26 là đảm bảo tránh hiện tượng endstop bị nhiễu (giá trị càng cao càng tốt nhưng tốn thời gian), sau khi chạm endstop nó sẽ không gọi ngay điểm đó là gốc mà nó sẽ di chuyển ngược lại 1 đoạn như đã chọn ở $27, sau đó lại chạy vào gốc với tốc độ của $24 (coi như nó chỉ gọi điểm đó là gốc nếu 2 lần chạm giống nhau, điều này giúp tránh hiện tượng endstop tự nhảy do rung động hoặc nhiễu)
$100, $101, $102: chọn số xung cấp cho động cơ tương ứng với di chuyển thẳng 1mm
Do động cơ bước chuyển động xoay (mỗi xung cấp cho động cơ sẽ xoay 1 góc – gọi là 1 bước), chúng ta sẽ dùng các cơ cấu như chuyển động đai kéo, vít-me..để chuyển đổi chuyển động xoay này thành chuyển động thẳng, các thông số này là trung gian cho các chuyển đổi đó.
Cách tính thông số:
Số xung = [(số vi bước) x (số xung động cơ xoay 1 vòng) / (kiểu chuyển động)] x bộ giảm tốc (nếu có)
Trong đó:
Số vi bước: là khả năng chạy vi bước của động cơ mà bạn thiết lập (với DRV8825 cao nhất là vi bước 32, với A4988 và TB6560 cao nhất là 16)
Số xung động cơ xoay 1 vòng: với động cơ có bước là 1.8 độ thì để xoay được 1 vòng (360 độ) nó cần số xung là: 3600/1.80 = 200 xung
Kiểu chuyển động:
Với chuyển động sử dụng bánh đai – dây đai GT2 = số răng trên Puli x 2
Với chuyển động sử dụng vít-me = bước vít-me
Bộ giảm tốc: nếu động cơ gắn trực tiếp vào cơ cấu chuyển động thằng thì giá trị này không cần quan tâm (bằng 1), nếu bạn sử dụng bộ giảm tốc với độ giảm bao nhiêu lần thì số xung sẽ phải nhân lên bấy nhiêu lần.
Ví dụ:
- Máy sử dụng động cơ bước 1.8 độ, driver DRV8825, chọn vi bước 32, và không sử dụng giảm tốc
Chuyển động gắn với puli 16 răng và đai GT2 độ rộng răng 2mm: số xung = 32 x 200 / (16 x 2) = 200
Chuyển động gắn với vít-me T8: số xung = 32 x 200 / 8  = 800
- Ví dụ khi bạn dùng Driver A4988:
vi bước lớn nhất 16, động cơ 1,8 độ, puly 20 răng, dây đai GT2 răng 2mm khi đó ta có số bước như sau:

Bước=(200*16)/(2*20)=80 bước/cm.
Các bạn cài đặt 80 bước thì máy sẽ di chuyển được 1cm, đảm bảo độ chính xác của phần mềm so với sản phẩm thực đúng kích thước khi làm việc
$110, $111, $112: chọn tốc độ di chuyển lớn nhất cho các trục X, Y, Z tương ứng.Nên chọn sao cho động cơ chạy mượt (riêng trục Z không nên chọn chạy quá nhanh)
$120, $121, $122: chọn gia tốc di chuyển lớn nhất cho các trục X, Y, Z tương ứng.Nếu chọn gia tốc nhỏ sẽ khó đạt tốc độ tối đa, nhưng chọn cao quá khi chạy động cơ dễ bị sốc hoặc trượt bước
$130, $131, $132: chọn hành trình gia công (vùng không gian cho phép làm việc)
Sau khi thiết lập xong nhấn vào Save để lưu lại.Mở Tab Machine Control lên, nhập vài Step size khoảng cách cần đi thử (ví dụ như 10mm) nhấn vào X+, X-, Y+, Y-, Z+, Z- để xem kết quả, nếu sai kiểm tra lại các thông số $100, $101, $102