You are on page 1of 44

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
Hưng Yên, ngày…..tháng….năm 2021
Giáo viên hướng dẫn

1
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
Hưng Yên, ngày…..tháng….năm 2021
Giáo viên phản biện

2
LỜI NÓI ĐẦU
Ngày nay máy CNC đang dần thay thế các máy gia công truyền thống và đóng
vai trò không thể thiếu trong hoạt động sản xuất. Với rất nhiều chủng loại, kích thước
khác nhau, máy CNC được ứng dụng trong nhiều lĩnh vực như điêu khắc tranh gỗ, gia
công mạch, gia công cơ khí..v.v. Vì thế chúng em vận dụng kiến thức đã học đã được
đào tạo trong 4 năm tại trường Đại học sư phạm kỹ thuật Hưng Yên, chúng em đã
nghiên cứu và xây dựng đề tài tốt nghiệp “thiết kế mô hình máy phay 2D” , để chúng
em có thêm hiểu biết, có nền tảng kiến thức theo đuổi làm về máy CNC sau này.
Trong đề tài đồ án tốt nghiệp, mục tiêu trước tiên mà chúng em hướng tới là chế
tạo được mô hình máy CNC hoạt động ổn định và hoạt động với sai số nhỏ, sau đó
chúng em hướng tới khắc phục dao động, sai số và sau đó có thể tiếp tục nâng cao
thêm tính tự động của máy như khả năng thay dao tự động, hệ thống cấp phôi tự
động... Tuy nhiên do kinh nghiệm còn hạn chế và thời gian thực hiện có hạn, nên đồ
án của chúng em còn những thiếu xót. Chúng em mong nhận được những ý kiến đóng
góp của các thầy cô để hoàn thiện hơn để tài. Đề tài thiết kế mô hình máy phay 2D của
chúng em dưới sự hướng dẫn của thầy giáo T.S Trần Xuân Tiến bao gồm các nội
dung sau:
Chương 1: Giới thiệu chung về máy CNC.
Chương 2: Thiết kế động học, động lực học máy.
Chương 3: Tính toán, thiết kế mô hình máy phay 2D.
Chương 4: Lập trình điều khiển mô hình máy phay 2D.
Chúng em xin chân thành cảm ơn thầy và các thầy cô trong khoa Điện – Cơ
trường Đại học Hải Phòng đã hướng dẫn, giúp đỡ và tạo điều kiện tốt nhất để chúng
em hoàn thành đồ án tốt nghiệp này.
Hưng Yên, ngày __ tháng 6 năm 2021
Nhóm sinh viên thiết kế:
Nguyễn Mạnh Tùng _ Lớp CĐT K15.1
Nguyễn Công Tráng _ Lớp CĐT K15.1

3
Chương 1: GIỚI THIỆU CHUNG VỀ MÁY CNC
1.1 Khái quát về điều khiển số và lịch sử phát triển của máy CNC
Điều khiển số ( numerical control ) ra đời với mục đích điều khiển các quá trình
công nghệ gia cắt gọt trên các máy công cụ. Về thực chất, đây là một quá trình tự động
điều khiển các hoạt động của máy như ( các máy cắt kim loại, robot, băng tải vận
chuyển phôi liệu hoặc các chi tiết gia công , các kho quản lí phôi và sản phẩm...) trên
cơ sở các dữ liệu được cung cấp dưới dạng ở dạng mã số nhị nguyên bao gồm các chữ
số, số thập phân, số chữ cái và một số kí tự đặc biệt tạo nên một chương trình làm việc
của thiết bị hay hệ thống.
Trước đây, cũng có các quá trình gia công cắt gọt được điều khiển theo chương
trình bằng kĩ thuật chép hình theo mẫu, chép hình bằng hệ thống thủy lực, cam hoặc
điều khiển bằng mạch logic... Ngày nay với việc ứng dụng thành công các thành quả
của khoa học-công nghệ, nhất là trông lĩnh vực điều khiển số và tin học đã cho phép
các nhà chế tạo máy nghiên cứu và đưa vào máy công cụ các hệ thống điều khiển cho
phép thực hiện quá trình gia công một cách linh hoạt hơn, thích ứng với nền sản xuất
hiện đại và mang lại hiệu quả kinh tế cao hơn.
Về mặt khoa học : Trong điều kiện hiện nay, nhờ các tiến bộ khoa học kĩ thuật đã
cho phép chúng ta giải quyết các bài toán phức tạp hơn với độ chính xác cao hơn mà
trước đây chưa đủ điều kiện hoặc quá phức tạp khiến ta phải bỏ qua một số yếu tố dẫn
đến kết quả gần đúng. Chính vì vậy đã cho phép các nhà chế tạo máy thiết kế và chế
tạo các máy cơ cấu có hiệu suất cao, độ chính xác truyền động cao cũng như những
khả năng chuyển động tạo hình phức tạp và chính xác hơn.
Lịch sử phát triển của NC bắt nguồn từ các mục đích vềquân sự và hàng không
vũ trụ khi mà yêu cầu các chỉ tiêu về chất lượng của máy bay tên lửa xe tăng... là cao
nhất ( có độ chính xác và độ tin cậy cao nhất, có độ bền và tính hiệu quả cao khi sử
dụng...) Ngày nay, lịch sử phát triển NC đã trải qua các quá trình phát triển không
ngừng cùng với sự phát triển trong lĩnh vực vi xử lí 4bit, 8bit, 32bit... và đến nay đã
đạt đến 32bit và cho phép thế hệ sau cao hơn thế hệ trước và mạnh hơn về khả năng
lưu trữ và xử lý.
Từ các máy CNC riêng lẻ (CNC Machines - Tools) cho đến sự phát triển cao hơn
là các trung tâm gia công CNC (CNC Engineering-centre) có các ổ chứa dao lên tới
hàng trăm và có thể thực hiện nhiều nguyên công đồng thời hoặc tuần tự trên cùng một
vị trí gá đặt. Cùng với sự phát triển của công nghệ truyền số liệu, các mạng cục bộ và
liên thông phát triển rất nhanh đã tạo điều kiện cho các nhà công nghiệp ứng dụng để
kết nối sự hoạt động của nhiều máy CNC dưới sự quản lí của một máy trung tâm DNC
4
( Directe Numerical Control) với mục đích khai thác một cách có hiệu quả nhất như bố
trí và sắp xếp các công việc trên từng máy, tổ chức sản xuất và quản lí chất lượng sản
phẩm.

Hiện nay, lĩnh vực sản xuất tự động trong chế tạo cơ khí đã phát triển và đạt đến
trình độ rất cao như các phân xưởng tự động sản xuất linh hoạt và tổ hợp CIM
( Computer Intergrated Manufacturing) với việc trang bị thêm các robot cấp phôi liệu
và vận chuyển, các hệ thống đo lường và quản lí chất lượng tiên tiến, các kiểu nhà kho
hiện đại được đưa vào áp dụng mang lại hiệu quả kinh tế rất đáng kể.
1.2 Khái niệm, cấu tạo, phân loại, đặc điểm máy CNC
1.2.1 Khái niệm
CNC là viết tắt của cụm từ tiếng anh Computer Numerical Control nghĩa là máy
tiện kim loại được điều khiển bằng máy tính. Vì thế bộ não của máy CNC là máy tính.
Đây không phải là mausy tính bình thường mà là máy tính với công suất tính toán cực
nhanh. Hệ điều hành mà nó sử dụng là Fanuc, Fargor hoặc mazak chứ không phải là
Windows hay Mac như các máy tính thông thường.

5
Hình 5: Máy CNC
Máy tính này sẽ điều khiển các bộ phận cơ khí để cắt gọt kim loại. Chương trình
được viết sẵn và được tự động thi hành khi bạn bấm nút star. Chương trình này được
dịch ra một thứ ngôn ngữ để máy tính có thể hiểu được. Sau đó, máy tính chuyển lệnh
từ các chương trình qua các mạch điện tử đến điều khiển các bộ phận cơ khí.
Ưu điểm cơ bản của máy CNC:
So với các máy điều khiển công cụ bằng tay, sản phẩm từ máy CNC không phụ
thuộc vào tay nghề của người điều khiển mà phụ thuộc vào nội dung, chương trình
được đưa vào máy. Người điều khiển chỉ chú yếu theo dõi kiểm tra các chức năng hoạt
động của máy.
Độ chính xác lằm việc cao. Thông thường các máy CNC có độ chính xác máy là
0.001mm do đó có thể đạt được độ chính xác cao hơn
Tốc độ cắt cao. Nhờ cấu trúc cơ khí bền chắc của máy, Những vật liệu cắt hiện
đại như kim loại cứng hay gốm oxit có thể sử dụng tốt hơn .
Thời quan gia công ngắn hơn .
Các ưu điểm khác:
Máy CNC có tính linh hoạt cao trong việc lập trình, tiết kiệm thời quan chỉnh
máy, đạt được tính kinh tế cao trong việc gia công hang loại các sản phẩm nhỏ.
Ít phải dừng máy vì kỹ thuật, do đó chi phí dừng máy nhỏ.
Tiêu hao do kiểm tra ít, giá thành đo kiểm tra giảm.
Thời gian hiệu chỉnh máy nhỏ
Có thể gia công hàng loạt.

6
Nhược điểm:
Giá thành chế tạo máy cao hơn
Giá thành bảo dưỡng, sữa chữa máy cũng cao hơn.
Vận hành và thay đổi người đứng máy khó khan hơn
Trình độ hiện tại của máy CNC
Các chức năng tính toán trong hệ thống CNC ngày càng hoàn thiện và đạt
tốc độ xử lý cao do tiếp tục ứng dụng nhừng thành tựu phát triển của các bộ vi xử
lý up. Các hệ thống CNC được chế tạo hàng loạt lớn theo công thức xử lý đa chức
năng, dùng cho nhiều mục đích điều khiển khác nhau. Vật mang tin từ bang đục lỗ,
bang từ, đĩa từ và tiến tới sử dụng đĩa CD có dung lượng ngày càng lớn, độ tin cậy và
tuổi thọ cao.
Việc cài đặt các cụm vi tính trực tiếp vài hệ NC để trờ thành hệ thống CNC đã
tạo điều kiện ứng dụng máy công cụ CNC ngay cả trong xí nghiệp nhỏ, không có
phòng lập trình riêng, nghĩa là người điều khiển máy có thể lập trình trực tiếp ngay
trên máy . Dữ liệu nhập và , nội dung lưu trữ, thông báo về tình trạng hoạt động của
máy cùng các chỉ dẫn cần thiết khác cho người điều khiển đều được hiển thị trên màn
hình.
Màn hình ban đầu chỉ là đen trắng với các ký tự chữ cái và các con số nay đã
dung màn hình màu đồ họa, độ phân giải cao (có thchúng em toán đồ và hình vẽ mô
phỏng tĩnh hay động), biên dạng của chi tiết gia công, chuyển động của dao cụ đều
được hiển thị trên màng hình
Các hệ CNC riêng lẻ có thể ghép mạng cục bộ hay mạng mở rộng để quản lý
điều hành một cách tổng thể hệ thống sản xuất của một xí nghiệp hay một tập đoàn
công nghiệp.
1.2.2 Cấu tạo

7
Hình 6: Máy CNC trong công nghiệp
Gồm hai phần: phần thân và Auto Bar
+ Phần autobar dùng để chứa phôi và đấy phôi lên bằng hệ thống khí
Phôi có thể được cấp tự động hoawfc do người công nhận gá vào bàn máy
+ Phần thân: Có công dụng để đỡ các bộ phận của máy cnc
Nắp đậy: Khi làm việc, dầu cắt phun vào nơi tiếp xúc giữa phôi và công cụ và
bay tung tóe khắp buồn làm việc. Nếu bạn không đậy nắp này lại, dầu có thể dính vào
người bạn. Vì lí do an toàn, phải đảm bảo nắp đậy trước khi xả dầu cắt.
Bảng cảnh báo: Hình ảnh trên bảng cảnh báo trong trường hợp này nhắc bạn rằng
nếu bạn không đóng nắp đậy, có thể có những vật bay từ buồn làm việc ra và trúng vào
người bạn.
Ống phun dầu: phun dầu cắt giữa nơi tiếp xúc giữa phôi và lưỡi dao để quá trình
gia công có thể diễn ra. Dầu cắt có 2 tác dụng: Giảm độ mài mòn của lưỡi dao, và làm
mát.
Các ụ dao: chứa các holder.
Ống đỡ phôi: ngậm phôi thông qua bush.
Bàn phím nhập dữ liệu: Nơi bạn nhập các câu lệnh dưới dạng mã G và mã M.
Bảng điều khiển: Gồm các nút bấm để điều khiển máy.
Băng truyền: khi băng truyền chạy, nó nhặt chip dụng rơi xuống và vận chuyển
ra ngoài. Chip là những mảnh dụng rơi ra khi dao gia công trên thanh phôi.
Nơi châm dầu làm mát: dầu này để làm mát các chi tiết cơ khí trong máy. Dầu
này khác với dầu cắt. Dầu cắt được đưa vào máy trực tiếp qua buồng làm việc. - Chức
năng của máy CNC là cắt gọt kim loại, nghĩa là bạn đưa thanh thép hình trụ (phôi) vào
máy CNC, máy sẽ gia công để tạo hình sản phẩm.
Máy CNC cắt phôi bằng các lưỡi dao. Các lưỡi dao này phải có bộ phận để giữ
nó. Những bộ phần này gọi là holder. Holder được gắn trên các ụ dao.

Hình 4: Dao tiện


8
Các máy CNC, nhất là các máy thế hệ mới, có thể có thêm những dạng chuyển
động khác nữa, 3 dạng chuyển động trên là phổ biến nhất và về nguyên tắc, đủ để lập
trình gia công bất cứ biên dạng hình học nào (nhiều phần mềm CAM thậm chí chỉ
dùng 2 chuyển động: nội suy tuyến tính và cung tròn để sinh tất cả các chương trình
gia công)
Chúng ta cần lưu ý hai điểm chung cho các lệnh chuyển động. Thứ nhất, chúng
làm việc theo chế độ lưu, có nghĩa lệnh chỉ cần viết 1 lần và sẽ có hiệu lực cho tất cả
các dữ liệu tọa độ tiếp theo, cho tới khi nó bị thay (một lệnh khác xuất hiện). Thứ hai,
chỉ cần đưa vào lệnh tọa độ điểm cuối, còn tọa độ điểm đầu chính là vị trí hiện thời của
máy (tức là điểm cuối của lệnh trước nó). + Chạy nhanh (hay còn gọi là định vị)
Hầu như tất cả các máy CNC đều dùng lệnh G00 (hoặc G0) để thực hiện chạy
nhanh. Trong lệnh phải có các tọa độ đích. Với lệnh này chuyển động tuyến tính của
bàn (hoặc đầu dao) sẽ đạt giá trị tối đa có thể có của máy. Chúng được dùng để giảm
thiểu thời gian chạy không tải (không cắt) trong quá trình gia công. Các ví dụ của
chuyển động nhanh như định vị dao vào và ra khỏi vị trí cắt, chạy tránh đồ kẹp và các
chướng ngại khác hay nói chung. Các máy CNC hiện đại có thể đạt tốc độ chạy nhanh
rất cao, ví dụ có máy tới 250m/ph. Vì vậy khi vận hành máy cần hết sức cẩn trọng và
kiểm tra kỹ lưỡng các lệnh nhanh. Nếu không sự cố cũng chẳng khác gì bạn lái xe đâm
vào xe khác vậy. Rất may là các bộ điều khiển CNC đều có chức năng giành kiểm soát
lệnh này (làm chậm lại) giúp chúng ta kiểm tra chương trình dễ dàng hơn.
+ Chuyển động thẳng
Lệnh G01 (hoặc G1) được dùng để xác định tốc độ cắt (ăn dao hay chạy bàn)
theo đường thẳng (feed rate). Trên trung tâm gia công tốc độ cắt (lưu ý phân biệt với
vận tốc cắt là vận tốc dài của mũi dao so với phôi) được đo bằng mm/phút (mm/min)
hoặc inch/phút (in/min, IPM). Với trung tâm tiện, tốc độ cắt còn được đo bằng
mm/vòng hay inch/vòng (mm/rev, in/rev)
+ Chuyển động tròn
Hai lệnh G được dùng cho chuyển động tròn. G02 chỉ chuyển động tròn thuận
chiều kim đồng hồ (TCKĐH) và G03 thực hiện chuyển động tròn ngược chiệu kim
đồng hồ (NCKĐH). Trong dòng lệnh này, giá trị đi sau R chỉ bán kính cung tròn Thay
vì dùng ký hiệu bán kính R, trên một số bộ điều khiển CNC cũ, các véc tơ hướng (ký
hiệu bới I, J, K) cho biết vị trí tâm của cung tròn. Bởi vậy bạn cũng cần kiểm tra các
tài liệu hướng dẫn đi cùng máy để biết mình làm việc với hệ thống nào.

9
1.2.2.1 Phân loại
Phát triển nhanh chóng với những tiến bộ trong máy tính, ta có thế bắt gặp CNC
dưới dạng
Máy tiện cnc
Máy phay cnc
Máy khoan cnc
Máy cắt tia nước có hạt mài
Máy cắt khắc cnc
Máy đột dập
Máy điêu khắc 3D và nhiều loại máy công cụ công nghiệp khác
Máy CNC phân ra nhiều loại : 3 trục, 4 trục, 5trujc, phay 5 trục, tiện 5 trục... có
ba trục cơ bản XYZ, các trục còn lại được hiểu là quay quanh trục Z, trục X, trục Y....

Hình ảnh : Máy phay gỗ


Các máy điều khiển điểm tới điểm.
Ví dụ như máy khoan, khoét, máy hàn điểm, máy đột, dập…
Các máy điều khiển đoạn thẳng : đó là các máy có khả năng gia công trong qua
trình thực hiện dịch chuyển theo các trục.
Máy 2D
Máy 3D
Điều khiển 2D1/2
Điều khiển 4D , 5D
10
1.2.3 Đặc điểm
Tính năng tự động cao
Máy CNC có năng suất cắt gọt cao và giảm được tối đa thời gian phụ, do mức độ
tự động được nâng cao vượt bậc. Tuỳ từng mức độ tự động, máy CNC có thể thực hiện
cùng một lúc nhiều chuyển động khác nhau, có thể tự động thay dao, hiệu chỉnh sai số
dao cụ, tự động kiểm tra kích thước chi tiết và qua đó tự động hiệu chỉnh sai lệch vị trí
tương đối giữa dao và chi tiết, tự động tưới nguội, tự động hút phoi ra khỏi khu vực
cắt.
Tính năng linh hoạt cao
Chương trình có thể thay đổi dễ dàng và nhanh chóng, thích ứng với các loại chi
tiết khác nhau. Do đó rút ngắn được thời gian phụ và thời gian chuẩn bị sản xuất, tạo
điều kiện thuận lơi cho việc tự động hóa sản xuất hàng loạt nhỏ.
Bất cứ lúc nào cũng có thể sản xuất nhanh chóng những chi tiết đã có chương
trình. Vì thế, không cần phải sản xuất chi tiết dự trữ, mà chỉ giữ lấy chương trình của
chi tiết đó. Máy CNC gia công được những chi tiết nhỏ, vừa, phản ứng một cách linh
hoạt khi nhiệm vụ công nghệ thay đổi và điều quan trọng nhất là việc lập trình gia
công có thể thực hiện ngoài máy, trong các văn phòng có sự hỗ trợ của kỹ thuật tin học
thông qua các thiết bị vi tính, vi sử lý …
Tính năng tập trung nguyên công
Đa số các máy CNC có thể thực hiện số lượng lớn các nguyên công khác nhau
mà không cần thay đổi vị trí gá đặt của chi tiết. Từ khả năng tập trung các nguyên
công, các máy CNC đã được phát triển thành các trung tâm gia công CNC.
Tính năng chính xác, đảm bảo chất lượng cao
Giảm được hư hỏng do sai sót của con người.Đồng thời cũng giảm được cường
độ chú ý của con người khi làm việc.Có khả năng gia công chính xác hàng loạt.Độ
chính xác lặp lại, đặc trưng cho mức độ ổn định trong suốt quá trình gia công là điểm
ưu việt tuyệt đối của máy CNC.Máy CNC với hệ thống điều khiển khép kín có khả
năng gia công được những chi tiết chính xác cả về hình dáng đến kích thước. Những
đặc điểm này thuận tiện cho việclắp lẫn, giảm khả năng tổn thất phôi liệu ở mức thấp
nhất.
Gia công biên dạng phức tạp

11
Máy CNC là máy duy nhất có thể gia công chính xác và nhanh các chi tiết có
hình dáng phức tạp như các bề mặt 3 chiều. Tính năng hiệu quả kinh tế và kỹ thuật
cao
Cải thiện tuổi bền dao nhờ điều kiện cắt tối ưu. Tiết kiệm dụng cụ cắt gọt, đồ gá
và các phụ tùng khác.
Giảm phế phẩm.
Tiết kiệm tiền thuê mướn lao động do không cần yêu cầu kỹ năng nghề nghiệp
nhưng năng suất gia công cao hơn.
Sử dụng lại chương trình gia công.
Giảm thời gian sản xuất.
Thời gian sử dụng máy nhiều hơn nhờ vào giảm thời gian dừng máy.
Giảm thời gian kiểm tra vì máy CNC sản xuất chi tiết chất lượng đồng nhất. -
CNC có thể thay đổi nhanh chóng từ việc gia công loại chi tiết này sang loại khác với
thời gian chuẩn bị thấp nhất.
Tuy nhiên máy CNC không phải không có những hạn chế. Dưới đây là một số
hạn chế:
Sự đầu tư ban đầu cao: Nhược điểm lớn nhất trong việc sử dụng máy CNC là tiền
vốn đầu tư ban đầu cao cùng với chi phí lắp đặt.
Yêu cầu bảo dưỡng cao: Máy CNC là thiết bị kỹ thuật cao và hệ thống cơ khí,
điện của nó rất phức tạp. Để máy gia công được chính xác cần thường xuyên bảo
dưỡng. Người bảo dưỡng phải tinh thông cả về cơ và điện.
Hiệu quả thấp với những chi tiết đơn giản.
1.3 Các sản phẩn từ CNC
Từ các ứng dụng của máy CNC rất rộng nên sản phẩm từ CNC cũng rất đa
dạng, ví dụ như đồ nội thất, các chi tiết gia công cơ khí, tranh đá, chữ điêu khắc
nghệ thuật.....
Các sản phẩm đồ gỗ từ máy CNC :

12
Hình ảnh : Đồ HandMade từ máy phay CNC.

Các sản phẩm chi tiết máy móc từ các vật liệu thép, nhôm và các loại vật liệu
khác.

Hình 10: Phay CNC cánh tuabin


1.4 Giới thiệu về máy CNC mini
Máy CNC mini là dòng máy cnc cỡ nhỏ. Chuyên dùng khắc những vật kích
thước nhỏ như đồ trang sức. Máy làm việc tốt trên rất nhiều vật liệu như Gỗ, mica,
nhựa, mạch in...
Máy phay cnc mini có thể được chia làm 2 loại là máy phay và máy tiện cnc
mini.
Một máy CNC với một số tính năng độc đáo, chẳng hạn như đơn giản và độ tin
cậy, là được phát triển để nghiên cứu điều khiển số bằng máy tính và phần mềm liên
quan của nó.
Các máy đặc biệt hữu ích cho mục đích giáo dục và nghiên cứu, và nó rất dễ tích
hợp với các hệ thống sản xuất khác. Nó cũng có thể được sử dụng để giới thiệu khía
cạnh CNC của các hệ thống CAM mà không có quá nhiều phức tạp hiện diện trong
thương mại hệ thống. Một số loại máy CNC mini:

13
Hình 11: Máy CNC mini 3 trục

Hình 12: Máy phay CNC 4 trục


1.5 Ứng dụng của máy CNC
Tính năng ưu việt của máy CNC cho phép gia công nhiều loại, an toàn, tiếng ồn
nhỏ, năng suất cao và vận hành dễ dàng hơn. Máy CNC có độ chính xác cao nên sản
phẩm có giá trị cao và giá trị cao, sản phẩm có chất lượng đồng đều. Đây là yếu tố
quan trọng và cần thiết nhất trong sản xuất. Kĩ thuật tự động của máy CNC giảm thiểu
tối đa sai sót cho sản phẩm, cho nên có ưng đụng rất đa dạng trong mọi hoạt động sản
xuất...
Ứng dụng sản xuất bàn ghế , tủ gỗ, cửa gỗ các thiết bị nội thất khắc bằng gỗ, với
máy CNC những khó khăn khi xử lý các đường cong hay gấp khúc, các mô hình 3D
giờ đây đã trở nên dễ dàng. Việc khắc trên gỗ, inox, mika, nhôm hay đá, thủy tinh...
cũng trở nên đơn giản nhanh chóng chính xác và tiện lợi mang lại hiệu quả kinh tế
cao. Các sản phẩm từ máy CNC mang tính thẩm mỹ cao, săc xảo và bắt mắt.
14
Khắc cắt hoạ tiết, hoa văn, hình ảnh 3D, làm bảng hiệu, quảng cáo.
Khắc và cắt trên các loại gỗ, trên mica, làm mô hình.
Khắc trên pha lê, thủy tinh, kiếng, đá.
Khắc họa tiết, hoa văn trên các sản phẩm qùa tặng, kỷ niệm chương - Cắt giấy
làm thiệp không bị cháy, đẹp mỹ thuật và hiệu qủa.
Khắc logo thương hiệu, cắt vải không bị tưa…
Ứng dụng của máy CNC trong việc cắt vi mạch điện tử không còn mới, song để
áp dụng thành công đòi hỏi phải có được lập trình chính xác tuyệt đối. - Ứng dụng
trên board mạch của máy tính, máy tính bảng và các thiết bị điện thoại thông minh
(smartphone); cụ thể là board mạch của máy tính Apple, iPad và iphone.
Phương pháp sửa chữa mainboard của máy tính và điện thoại được áp dụng phổ
biến hiện nay là máy khò và máy hàn. Nói một cách đơn giản đó là việc dùng nhiệt độ
từ máy khò để tác động lên chip.
Với xu thế thiết kế ngày càng mỏng và nhẹ của các thiết bị, đòi hỏi cấu trúc của
mainboard ngày càng mỏng manh. Việc gia nhiệt với một nhiệt độ rất cao (trung bình
là 300 độ C) trên thân mainboard là một việc ngày càng nguy hiểm đối với tất cả các
linh kiện khác trên mainboard mà KTV không thể kiểm soát được.
Đúc kết từ quá trình sửa chữa các thiết bị của Apple, chúng tôi nhận thấy rằng,
hầu hết các thiết bị có lỗi của chip A4, A5, A6, A6X, A7, lỗi ổ cứng … khi sử dụng
máy khò truyền thống đều không hiệu quả, tỷ lệ thành công không cao, di chứng để lại
nhiều do bị lan nhiệt sang các con chip gần chip bị khò ra.
Vậy vấn đề mấu chốt ở đây là kiểm soát nhiệt độ. Sử dụng máy CNC để cắt và
mài toàn bộ con chip lỗi mà không cần phải gia nhiệt lên thân mainboard; sau đó hàn
chip mới vào main, nhiệt độ mainboard phải chịu không đáng kể.
Việc lập trình tự động cho máy CNC chạy trên chip của thiết bị điện tử đòi hỏi sự
chính xác tuyệt đối, lập trình như thế nào để máy gọt hở chân IC mà không cần phải
dọn keo, chỉ việc đóng IC mới đã thách thức chúng tôi trong một khoảng thời gian dài.
Hiện tại, Handheld Care Centre đã ứng dụng thành công máy CNC trong công
việc của mình trên tất cả các chip lớn trên mainboard của MacBook, ipad và iphone.
Từ đây mở ra được một hướng giải quyết một cách an toàn nhất cho việc sửa chữa và
thay thế linh kiện trên mạch.
Sản xuất, chế tạo các chi tiết cơ khí chính xác, bền đẹp, hiệu quả sử dụng cao, cả
với nhưng chi tiết phức tạp, đơn chiếc...
15
Các chi tiết cơ khí loại đủ loại lớn,vừa, nhỏ.... nhiều chủng loại, phù hợp sản xuất
hàng loạt hàng khối, tính công nghiệp cao.

 Từ việc phân tích và với những kiến thức đã được học chúng chúng em lựa
chọn đề tài tốt nghiệp là “thiết kế mô hình máy phay 2D” phay trên các loại vật liệu
như gỗ và mica.

Chương 2: Thiết kế động học và động lực học.

Chương 3: Tính toán, thiết kế mô hình máy phay 2D.

Chương 4: Lập trình điều khiển máy phay 2D.


4.1 SƠ ĐỒ KHỐI

Phân tích sơ đồ khối phần điều khiển:


4.1.1 Phần mềm:
Mã nguồn mở GRBL:

16
Để điều khiển các động cơ bước của máy CNC thì phải cần phải nạp cho Arduino
mã nguồn mở đó là GRBL. Mã nguồn mở GRBL là dịch mã G-Code thành chuyển
động của động cơ.
G-code:
Mã G-code là một trong những ngôn ngữ lập trình được sử dụng rộng rãi nhất
được sử dụng để điều khiển các máy cơ khí tự động. Hầu hết các máy CNC xuất hiện
trên thị trường thường sử dụng mã lệnh G-code để lập trình.
4.1.2 Phần cứng:
Arduino Uno R3 - Như chúng ta đã nói, chúng ta cần Arduino để cài đặt chương
trình GRBL. Cụ thể, chúng ta cần một bảng Arduino dựa trên Atmega 328, nghĩa là
chúng ta có thể sử dụng Arduino UNO hoặc Nano.
Động cơ bước - cung cấp chuyển động của máy.
Driver A4988 - Để điều khiển động cơ bước chúng ta cần 1 Driver để điều khiển
và lựa chọn phổ biến nhất là 2 loại driver A4988 hoặc driver DRV8825.
Modul CNC Shield V3 - Để kết nối động cơ bước thông qua driver với Arduino,
cách dễ nhất là sử dụng Arduino CNC Shield. Nó sử dụng tất cả các chân Arduino và
cung cấp một cách dễ dàng để kết nối mọi thứ, động cơ bước, Motor phay(775).
4.2 Thiết bị điều khiển.
4.2.1 Arduino Uno R3.
Nhắc tới dòng mạch Arduino dùng để lập trình, cái đầu tiên mà người ta thường
nói tới chính là dòng Arduino UNO. Hiện dòng mạch này đã phát triển tới thế hệ thứ 3
(R3). Bạn sẽ bắt đầu đến với Arduino qua thứ này. Bạn có thể dùng Arduino Nano
cũng được nhưng mình khuyên bạn nên dùng cái này.

17
4.2.1.1 Một vài thông số của Arduino UNO R3
Vi điều khiển ATmega328 họ 8bit

Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB)

Tần số hoạt động 16 MHz

Dòng tiêu thụ khoảng 30mA

Điện áp vào khuyên dùng 7-12V DC

Điện áp vào giới hạn 6-20V DC

Số chân Digital I/O 14 (6 chân hardware PWM)

Số chân Analog 6 (độ phân giải 10bit)

Dòng tối đa trên mỗi chân I/O 30 mA

Dòng ra tối đa (5V) 500 mA

Dòng ra tối đa (3.3V) 50 mA

Bộ nhớ flash 32 KB (ATmega328) với 0.5KB


dùng bởi bootloader

SRAM 2 KB (ATmega328)

EEPROM 1 KB (ATmega328)

4.2.1.2 Vi điều khiển

Arduino UNO có thể sử dụng 3 vi điều khiển họ 8bit AVR là ATmega8,


ATmega168, ATmega328. Bộ não này có thể xử lí những tác vụ đơn giản như điều
khiển đèn LED nhấp nháy, xử lí tín hiệu cho xe điều khiển từ xa, làm một trạm đo
nhiệt độ - độ ẩm và hiển thị lên màn hình LCD,…
18
4.2.1.3 Nguồn cấp:
Arduino UNO có thể được cấp nguồn 5V thông qua cổng USB hoặc cấp nguồn
ngoài với điện áp khuyên dùng là 7-12V DC và giới hạn là 6-20V. Thường thì cấp
nguồn bằng pin vuông 9V là hợp lí nhất nếu bạn không có sẵn nguồn từ cổng USB.
Nếu cấp nguồn vượt quá ngưỡng giới hạn trên, bạn sẽ làm hỏng Arduino UNO.
4.2.1.4 Các chân cấp nguồn:
GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO. Khi bạn dùng
các thiết bị sử dụng những nguồn điện riêng biệt thì những chân này phải được nối với
nhau.
5V: cấp điện áp 5V đầu ra. Dòng tối đa cho phép ở chân này là 500mA.
3.3V: cấp điện áp 3.3V đầu ra. Dòng tối đa cho phép ở chân này là 50mA.
Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, bạn nối cực dương
của nguồn với chân này và cực âm của nguồn với chân GND.
IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có thể được đo ở
chân này. Và dĩ nhiên nó luôn là 5V. Mặc dù vậy bạn không được lấy nguồn 5V từ
chân này để sử dụng bởi chức năng của nó không phải là cấp nguồn.
RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương với
việc chân RESET được nối với GND qua 1 điện trở 10KΩ.
4.2.1.5 Bộ nhớ
Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng:
32KB bộ nhớ Flash: những đoạn lệnh bạn lập trình sẽ được lưu trữ trong bộ nhớ
Flash của vi điều khiển. Thường thì sẽ có khoảng vài KB trong số này sẽ được dùng
cho bootloader nhưng đừng lo, bạn hiếm khi nào cần quá 20KB bộ nhớ này đâu.
2KB cho SRAM (Static Random Access Memory): giá trị các biến bạn khai báo
khi lập trình sẽ lưu ở đây. Bạn khai báo càng nhiều biến thì càng cần nhiều bộ nhớ
RAM. Tuy vậy, thực sự thì cũng hiếm khi nào bộ nhớ RAM lại trở thành thứ mà bạn
phải bận tâm. Khi mất điện, dữ liệu trên SRAM sẽ bị mất.
1KB cho EEPROM (Electrically Eraseble Programmable Read Only Memory):
đây giống như một chiếc ổ cứng mini – nơi bạn có thể đọc và ghi dữ liệu của mình vào
đây mà không phải lo bị mất khi cúp điện giống như dữ liệu trên SRAM.
4.2.1.6 Các cổng vào/ra

19
Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu. Chúng chỉ có 2
mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA. Ở mỗi chân
đều có các điện trở pull-up từ được cài đặt ngay trong vi điều khiển ATmega328 (mặc
định thì các điện trở này không được kết nối).

4.2.1.7 Một số chân digital có các chức năng đặc biệt như sau:
2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận (receive –
RX) dữ liệu TTL Serial. Arduino Uno có thể giao tiếp với thiết bị khác thông qua 2
chân này. Kết nối bluetooth thường thấy nói nôm na chính là kết nối Serial không dây.
Nếu không cần giao tiếp Serial, bạn không nên sử dụng 2 chân này nếu không cần thiết
Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWM với độ
phân giải 8bit (giá trị từ 0 → 2 8-1 tương ứng với 0V → 5V) bằng hàm analogWrite().
Nói một cách đơn giản, bạn có thể điều chỉnh được điện áp ra ở chân này từ mức 0V
đến 5V thay vì chỉ cố định ở mức 0V và 5V như những chân khác.
Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Ngoài các chức
năng thông thường, 4 chân này còn dùng để truyền phát dữ liệu bằng giao thức SPI với
các thiết bị khác.
LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L). Khi bấm nút
Reset, bạn sẽ thấy đèn này nhấp nháy để báo hiệu. Nó được nối với chân số 13. Khi
chân này được người dùng sử dụng, LED sẽ sáng.
Arduino UNO có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu 10bit
(0 → 210-1) để đọc giá trị điện áp trong khoảng 0V → 5V. Với chân AREF trên board,
bạn có thể để đưa vào điện áp tham chiếu khi sử dụng các chân analog. Tức là nếu bạn
cấp điện áp 2.5V vào chân này thì bạn có thể dùng các chân analog để đo điện áp trong
khoảng từ 0V → 2.5V với độ phân giải vẫn là 10bit.

20
Đặc biệt, Arduino UNO có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp
I2C/TWI với các thiết bị khác.
4.2.1.8 Lập trình cho Arduino
Các thiết bị dựa trên nền tảng Arduino được lập trình bằng ngôn riêng. Ngôn ngữ
này dựa trên ngôn ngữ Wiring được viết cho phần cứng nói chung. Và Wiring lại là
một biến thể của C/C++. Một số người gọi nó là Wiring, một số khác thì gọi là C hay
C/C++. Riêng mình thì gọi nó là “ngôn ngữ Arduino”, và đội ngũ phát triển Arduino
cũng gọi như vậy. Ngôn ngữ Arduino bắt nguồn từ C/C++ phổ biến hiện nay do đó rất
dễ học, dễ hiểu.

4.2.2 Điều khiển động cơ bước với Arduino và driver A4988


4.2.2.1 Tổng quan Driver A4988
A4988 là một trình điều khiển vi bước để điều khiển động cơ bước lưỡng cực có
bộ dịch tích hợp để vận hành dễ dàng. Điều này có nghĩa là chúng ta có thể điều khiển
động cơ bước chỉ với 2 chân từ bộ điều khiển của chúng ta hoặc một chân để điều
khiển hướng quay và chân kia để điều khiển các bước.

A4988-Trình điều khiển bước


Driver cung cấp năm độ phân giải bước khác nhau: bước đủ, ½ bước, ¼ bước,
1/8 bước và 1/16 bước. Ngoài ra, nó có một biến trở để điều chỉnh đầu ra hiện tại, tắt
khi nhiệt độ quá cao và bảo vệ dòng điện chéo.

21
Nguồn vào của nó là từ 3 đến 5,5 V và dòng điện tối đa trên mỗi pha là 2A nếu
được làm mát bổ sung tốt hoặc dòng điện liên tục 1A mỗi pha mà không cần tản nhiệt
hoặc làm mát.

A4988-Thông số kỹ thuật.

4.2.2.2 Sơ đồ chân của trình điều khiển động cơ A4988


Driver A4988 có tổng cộng 16 chân giao tiếp với thiết bị bên ngoài. Các chân kết
nối như sau:

Chân kết nối nguồn


Driver A4988 có 2 phần kết nối nguồn điện khác nhau:

22
VDD & GND được sử dụng để điều khiển mạch logic bên trong có thể là 3V đến
5,5 V.
Trong khi, VMOT & GND cung cấp điện cho động cơ có thể là 8V đến 35 V.

- 1: Động cơ 2 pha thì thường là 1,8 độ/xung suy ra 1 vòng sẽ cần: 360/1,8 = 200 xung.

- 2: Set vi bước 1:8 tức là 1 xung bị chia nhỏ thành 8. Suy ra để quay 1 vòng cần: 200*8 = 1600
xung.

- 3: Vitme bước 5 suy ra 1 vòng di chuyển được: 5mm. Vậy để di chuyển được 1mm cần: 1600/5=
320 xung.

=> Steps Per : 320

Các chân lựa chọn vi bước (Microstep Selection Pins)


Driver A4988 cho phép lựa chọn vi bước bằng cách điều khiển các vị trí bước
trung gian. Điều này đạt được bằng cách cung cấp điện áp cho các cuộn dây với một
mức dòng điện trung gian.

23
Driver A4988 có ba đầu vào lựa chọn độ lớn(độ phân giải) bước. Bằng cách đặt
mức logic thích hợp cho các chân này, chúng ta có thể đặt động cơ thành một trong
năm độ phân giải bước sau:

MS1 MS2 MS3 Độ phân giải microstep

Thấp Thấp Thấp Bước đầy đủ

Cao Thấp Thấp 1/2 bước

Thấp Cao Thấp ¼ Bước

Cao Cao Thấp 1/8 Bước

Cao Cao Cao 1/16 Bước

Các chân đầu vào


A4988 có hai chân đầu vào điều khiển: STEP và DIR.

STEP(bước): Chân đầu vào điều khiển các bước đi của động cơ. Mỗi xung CAO
được gửi đến chân này sẽ kích hoạt động cơ theo số vi bước được đặt bởi Chân chọn
Microstep. Các xung càng nhanh, động cơ sẽ quay càng nhanh.

24
DIR(điều hướng) : Chân đầu vào điều khiển hướng quay của động cơ. Khi ở mức
CAO(Nối trực tiếp Vcc) sẽ điều khiển động cơ theo chiều kim đồng hồ và khi ở mức
THẤP(Nối trực tiếp GND) sẽ làm động cơ quay ngược chiều kim đồng hồ.

Các chân để kiểm soát trạng thái:

EN là đầu vào hoạt động ở mức thấp, khi kéo mức Thấp (logic 0), driver A4988
được kích hoạt. Theo mặc định, chân này ở trạng thái mức thấp để trình điều khiển
luôn được bật.
SLP đang hoạt động đầu vào thấp. Có nghĩa là, kéo chân LOW này sẽ đặt trình
điều khiển ở chế độ ngủ, giảm thiểu điện năng tiêu thụ.
Các chân đầu ra

Các chân 1A và 1B sẽ được kết nối với một cuộn dây của động cơ và chân 2A và
2B với cuộn dây khác của động cơ.

25
Mỗi chân đầu ra trên mô-đun có thể cung cấp mức dòng tới 2A cho động cơ. Tuy
nhiên, lượng dòng điện cung cấp cho động cơ phụ thuộc vào nguồn điện của hệ thống,
hệ thống làm mát và cài đặt giới hạn dòng điện.
Các chân 1A và 1B, 2A và 2B có thể kết nối bất kỳ động cơ bước lưỡng cực nào
có điện áp từ 8V đến 35 V vào các chân này.

Hệ thống tản nhiệt


Để đạt được nhiều hơn 1A trên mỗi cuộn dây, cần phải có tản nhiệt hoặc phương
pháp làm mát.

Giới hạn lưu lượng dòng điện.


Trước khi sử dụng động cơ, có một điều chỉnh nhỏ mà chúng ta cần thực hiện.
Chúng ta cần giới hạn lượng dòng điện tối đa chạy qua các cuộn dây bước và ngăn nó
vượt quá dòng điện định mức của động cơ.

26
Có một chiết áp nhỏ trên trình điều khiển A4988 có thể được sử dụng để đặt giới
hạn hiện tại. Bạn nên đặt giới hạn hiện tại bằng hoặc thấp hơn định mức hiện tại của
động cơ.
4.2.2.3 Điều khiển động cơ bước với Arduino Uno R3 và Driver A4988.

Các linh kiện cần thiết:


- Động cơ bước
- Trình điều khiển A4988 Stepper Driver
- Bộ chuyển đổi 12V/2A
- Board Arduino Breadboard và dây dẫn
-
Sơ đồ đấu nối Driver A4988

A4988-Sơ đồ nối dây

27
Bây giờ, hãy nhìn kỹ vào sơ đồ chân của trình điều khiển và nối nó với động cơ
bước và bộ điều khiển. Vì vậy, chúng tôi sẽ bắt đầu với 2 chân ở nút bên phải để cấp
nguồn cho trình điều khiển, chân VDD và Ground mà chúng tôi cần kết nối chúng với
nguồn điện từ 3 đến 5,5 V và trong trường hợp của chúng tôi sẽ là bộ điều khiển của
chúng tôi, Arduino Board sẽ cung cấp 5 V. 4 chân sau đây để kết nối động cơ. Các
chân 1A và 1B sẽ được kết nối với một cuộn dây của động cơ và chân 2A và 2B với
cuộn dây khác của động cơ. Để cung cấp điện áp cho động cơ, chúng tôi sử dụng 2
chân tiếp theo, Ground và VMOT mà chúng tôi cần kết nối chúng với Nguồn cung cấp
từ 8 đến 35 V và chúng tôi cũng cần sử dụng tụ tách rời với ít nhất 47 PhaF để bảo vệ
board điều khiển khỏi các xung điện áp.
Hai chân tiếp theo, Step và Direction là các chân mà chúng ta thực sự sử dụng để
điều khiển chuyển động của động cơ. Chân Direction điều khiển hướng quay của động
cơ và chúng ta cần kết nối nó với một trong các chân kỹ thuật số trên vi điều khiển,
hoặc trong trường hợp của tôi, tôi sẽ kết nối nó với chân số 4 của Board Arduino.
Với chân Step, chúng ta điều khiển mirosteps của động cơ và với mỗi xung được
gửi tới chân này, động cơ sẽ di chuyển một bước. Vì vậy, điều đó có nghĩa là không
cần bất kỳ chương trình phức tạp, board chuyển pha, dòng điều khiển tần số, v.v., vì
trình dịch tích hợp của Driver A4988 đảm nhiệm mọi thứ. Ở đây chúng ta không nên
nối chúng trong chương trình của mình.
Tiếp theo là chân SLEEP và mức logic thấp đặt board ở chế độ nghỉ để giảm
thiểu mức tiêu thụ điện khi động cơ không được sử dụng.
Tiếp theo, chân RESET đặt trình dịch sang trạng thái Home được xác định trước.
Trạng thái Home hoặc Vị trí Microstep Home này có thể được nhìn thấy từ Board dữ
liệu A4988. Vì vậy, đây là vị trí ban đầu từ nơi động cơ khởi động và chúng khác nhau
tùy thuộc vào độ phân giải microstep. Nếu trạng thái đầu vào của chân này ở mức
logic thấp, tất cả các đầu vào STEP sẽ bị bỏ qua. Chân Reset là một chân nổi, vì vậy
nếu chúng ta không có ý định điều khiển nó trong chương trình của mình, chúng ta cần
kết nối nó với chân SLEEP để đưa nó lên mức cao và bật board.

28
3 chân tiếp theo (MS1, MS2 và MS3) là để chọn một trong năm độ phân giải
theo board ở trên. Các chân này có điện trở bên trong, vì vậy nếu chúng ta ngắt kết nối,
board sẽ hoạt động ở chế độ bước đủ.
Cuối cùng, chân ENABLE được sử dụng để bật hoặc tắt các đầu ra FET. Vì vậy,
mức cao sẽ giữ cho đầu ra bị vô hiệu hóa.
Code điều khiển động cơ bước với Arduino và driver A4988
Các chân STEP và DIRECTION chân 3 và 4 trên Board Arduino và đặt tên là
stepPin và dirPin.
// Define pin connections & motor's steps per revolution
const int dirPin = 2;
const int stepPin = 3;
const int stepsPerRevolution = 200;

void setup()
{
// Declare pins as Outputs
pinMode(stepPin, OUTPUT);
pinMode(dirPin, OUTPUT);
}
void loop()
{
// Set motor direction clockwise
29
digitalWrite(dirPin, HIGH);
// Spin motor slowly
for(int x = 0; x < stepsPerRevolution; x++)
{
digitalWrite(stepPin, HIGH);
delayMicroseconds(2000);
digitalWrite(stepPin, LOW);
delayMicroseconds(2000);
}
delay(1000); // Wait a second
// Set motor direction counterclockwise
digitalWrite(dirPin, LOW);
// Spin motor quickly
for(int x = 0; x < stepsPerRevolution; x++)
{
digitalWrite(stepPin, HIGH);
delayMicroseconds(1000);
digitalWrite(stepPin, LOW);
delayMicroseconds(1000);
}
delay(1000); // Wait a second
}
Phân tích chương trình
Các chân Arduino mà các chân STEP & DIR của A4988 được kết nối. Chúng tôi
cũng xác định stepsPerRevolution. Đặt điều này để phù hợp với thông số kỹ thuật
động cơ bước của bạn.
const int dirPin = 2;
const int stepPin = 3;

30
const int stepsPerRevolution = 200;
Trong phần thiết lập của mã, tất cả các chân điều khiển động cơ được khai báo là
ĐẦU RA kỹ thuật số.
pinMode(stepPin, OUTPUT);
pinMode(dirPin, OUTPUT);
Trong phần vòng lặp, chúng tôi quay động cơ từ từ theo chiều kim đồng hồ và
sau đó quay nhanh ngược chiều kim đồng hồ trong khoảng thời gian một giây.
Điều khiển hướng quay : Để điều khiển hướng quay của động cơ, chúng tôi đặt
chốt DIR CAO hoặc THẤP. Đầu vào CAO quay động cơ theo chiều kim đồng hồ và
đầu vào THẤP sẽ quay động cơ ngược chiều kim đồng hồ.
digitalWrite(dirPin, HIGH);
Tốc độ điều khiển : Tốc độ của động cơ được xác định bởi tần số của xung mà
chúng tôi gửi đến chân STEP. Các xung càng cao, động cơ chạy càng nhanh. Một
xung không là gì ngoài việc kéo đầu ra CAO, chờ một chút rồi kéo nó THẤP và chờ
lại. Bằng cách thay đổi độ trễ giữa hai xung, bạn thay đổi tần số của các xung đó và do
đó là tốc độ của động cơ.
for(int x = 0; x < stepsPerRevolution; x++) {
digitalWrite(stepPin, HIGH);
delayMicroseconds(1000);
digitalWrite(stepPin, LOW);
delayMicroseconds(1000);
}
4.2.3 Arduino CNC Shield V3

31
Arduino CNC Shield V3 là board mở rộng của Arduino UNO R3 dùng để điều
khiển các máy CNC mini. Board có 4 chân mở rộng dùng để cắm các module điều
khiển động cơ bước A4988. Khi đó board sẽ điều khiển được 3 trục X, Y, Z và thêm
một trục thứ 4 để điều khiển trên các máy CNC.
Ứng dụng: Board được sử dụng phổ biến trong các máy CNC đa năng 3 trục,
máy in - khắc laser, máy in 3D, robot cân bằng,...và nhiều ứng dụng tự động hóa khác.
Thông số kĩ thuật:
- Điện áp cấp nguồn từ 12V đến 36V
- Tương thích với module A4988 và DRV8825
- Tương thích với Arduino Uno R3
- Tương thích GRBL (mã nguồn mở chạy trên Arduino UNO R3 để điều khiển CNC
mini).
- Hỗ trợ lên tới 4 trục (trục X, Y, Z và một trục thứ tư tùy chọn)
- Hỗ trợ tới 2 Endstop (cảm biến đầu cuối) cho mỗi trục
- Tính năng điều khiển spindle.
- Tính năng điều khiển dung dịch làm mát khi máy hoạt động.
- Sử dụng các mô đun điều khiển động cơ bước, giúp tiết kiệm chi phí khi thay thế,
nâng cấp.
- Thiết lập độ phân giải bước động cơ bằng jump đơn giản.
- Thiết kế nhỏ gọn, các đầu nối tiêu chuẩn thông dụng.
4.2.4 Chân ra của Arduino kết nối CNC Shield V3

32
4.2.5 Chân ra của CNC Shield v3
4.2.5.1 Tổng quan
Khối điều khiển trục ngoài bằng phím cứng.

33
Hình ảnh:
Vùng khoanh vàng trên hình là cụm điều khiển trục bên ngoài. Để điều khiển ta
cần 3 bộ phận cấu tạo lên mạch điều khiển gồm: 1 mạch tạo xung NE555 và khối phím
nhấn gồm 6 nút ( tưng ứng X+ X- Y+ Y- Z+ Z-) và cuối cùng là công tắc bật tắt chế độ
điều khiển ngoài.
4.2.5.2 Tín hiệu điều khiển trục tứ 4 (trục A)

Hình ảnh : ………..

+ Clone trục X.

34
Hình ảnh:
Khi cắm hàng X bằng jumper nối thì trục A sẽ chạy theo tín hiệu trục X.
+ Clone trục Y.

Hình ảnh
Khi cắm hàng Y bằng jumper nối thì trục A sẽ chạy theo tín hiệu trục Y.
+ Clone trục Z.

Hình ảnh:
Khi cắm hàng Y bằng jumper nối thì trục A sẽ chạy theo tín hiệu trục Y.
+ Hoạt động độc lập tín hiệu điều khiển sẽ nhận từ chân D12 và D13 trên mạch
Uno.

35
4.2.5.3 Cài đặt Micro Stepping.
Ở giữa 2 hàng chân cắm cho Module Step Motor sẽ có các cặp chân để cài đặt
thông số maximum micro step cho động cơ bước tùy theo mục đích sử dụng.

Các tùy chỉnh cho Module A4988.

36
4.2.5.4 Khối điều khiển động cơ trục chính (Spindle).

Với firmware GRBL v0.9j hiện tại dùng phổ biến, họ đã thay chân 11 là chân cấp
xung tín hiệu tới động cơ trục chính. Lúc này chân Z+ và Z- sẽ nối thông nhau (các
chân hàng bên tay phải là chân GND) ta lấy 1 trong 2 chân này để điều khiển động cơ
trục chính. Nếu muốn điều khiển tốc độ thì sử dụng mosfet chẳng hạn, hoặc đơn giản
hơn dùng relay 5V.
4.2.5.5 Khối Endstop.

Với firmware GRBL họ hỗ trợ 3 endstop cho cả 3 trục, ta có thể dùng 6 endstop
cho 3 trục nhưng điều đó k cần thiết.
Y+ Y- là Endstop Y.
X+ X- là Endstop X.
SpnEn là Enstop Z.

37
Đế gắn Endstop các bạn cần phải xác định giá trị thiết đặt tại $5. Nếu $5=0
endstop sẽ nhận ở mức 0V. Nếu $5=1 endstop sẽ nhận ở mức 5V. nhưng thường ta nên
để $5=0 vì mỗi chân endstop trên board đều đã có 1 chân GND đi kèm bên cạnh.
4.2.5.6 Làm mát hoặc tưới nguội.

Ta kết nối nó với 1 relay 5V để bật tắt thiết bị làm mát hoặc tưới nguội hay hút
bụi gì đó.
Lệnh bật chân CoolEn là M8 lệnh tắt là M9.
Khi bắt đầu chạy máy các bạn nhập lệnh M8 tại thanh command, sau khi phay
khắc xong nó tự động tắt cho ta.
4.2.5.7 Các nút khẩn bên ngoài.

Các chân này sẽ thực hiện lệnh nếu nối thông với chân GND (chân bên cạnh).
38
+) Abort: hủy bỏ lệnh.
+) Hold: giữ vị trí.
+) Resume: tạm dừng, nhấn lần nữa tiếp tục chạy.
+) E-STOP: dừng máy khẩn cấp.
4.2.6 Sơ đồ kết nối các thiết bị.

Nguyên lý mạch điều khiển:

39
4.3 Chương trình và các phần mềm cần thiết điều khiển mô hình máy phay 2D:
4.3.1 Sơ đồ khối chương trình điều khiển.

4.3.2 Chương trình điều khiển.


4.3.2.1 GRBL là gì ?
GRBL là một phần mềm mã nguồn mở hoặc chương trình có thể kích hoạt điều
khiển các chuyển động của máy CNC. Chúng ta có thể cài đặt dễ dàng cài đặt chương
trình GRBL cho Arduino và vì thế chúng ta có thể có ngay một bộ điều khiển CNC với
giá thành rẻ và hiệu suất cao. GRBL sử dụng G-code làm tín hiệu vào, và tín hiệu ra
dùng để điều khiển chuyển động thông qua Arduino.
4.3.2.2 Cách nạp thư viện GRBL code vào bộ điều khiển Arduino Uno R3.
Mở Arduino IDE, chọn Sketch > Include Library > Add .ZIP Library…

Chọn thư mục đã giải nén grbl, chọn thư mục grbl và mở thư mục. Bây giờ chúng
ta đã có GRBL trong thư viện Arduino.

40
Kế tiếp, chọn File > Examples > grbl > grblUpload . Một bảng mới sẽ mở ra và
chúng ta cần nạp chương trình đó cho Arduino.
4.3.3 Giới thiệu các mã lệnh và phần mềm cần thiết điều khiển mô hình máy phay
2D.
4.3.3.1 Giới thiệu mã lệnh G-Code.
G-Code là gì?
G-Code được hiểu đơn giản là ngôn ngữ lập trình cho máy tính điều khiển số
(Computer Numerical Control). G-Code thường được sử dụng trong tự động hóa, tự
động với sự trợ giúp của máy tính (còn gọi là CAE hay Computer Aided
Engineering).Sử dụng mã G-code để chỉ thị vị trí cho máy CNC đi đến đâu và cách
thức di chuyển.Đôi khi G-Code còn được gọi là ngôn ngữ lập trình G
Cơ bản, G-Code là một ngôn ngữ lập trình mà thông qua các công cụ, thiết bị nó
có thể thông báo và ra lệnh cho các thiết bị (ở đây là máy CNC của chúng ta) biết phải
di chuyển thế nào, với tốc độ bao nhiêu, tắt/mở thiết bị gì, quỹ đạo di chuyển thế nào
v.v… Phổ biến nhất ở đây ứng dụng trong CNC của chúng ta là điều khiển sự di
chuyển trục chính hoặc phôi hoặc cả hai với mục đích cắt đi những phần dư thừa nhằm
mục đích tạo ra một sản phẩm có hình thể như yêu cầu.

41
Ban đầu, ta sẽ lập trình trên chi tiết theo yêu cầu và sẽ được nạp vào máy. Sau
đó, làm theo các hướng dẫn được cung cấp bởi mã G-code, công cụ cắt sẽ tiến hành cắt
gọt nguyên liệu ra khỏi khối để tạo ra sản phẩm hoàn chỉnh.
Mã G-code là một trong những ngôn ngữ lập trình được sử dụng rộng rãi nhất
được sử dụng để điều khiển các máy cơ khí tự động. Hầu hết các máy CNC xuất hiện
trên thị trường thường sử dụng mã lệnh G-code để lập trình, mặc dù còn có sự xuất
hiện của các ngôn ngữ CNC khác, chẳng hạn như Heidenhain, Mazak và các định dạng
độc quyền khác.
Các thợ máy CNC có thể viết mã G-code từ đầu bằng tay, chỉnh sửa mã G-code
hiện có trên bộ nhớ của máy CNC hoặc tạo đoạn mã G-code bằng các phần mềm lập
trình gia công CAM như MasterCAM, Siemens NX, vv. Các phần mềm CAM có thể
tạo mã G-code từ hình ảnh hoặc tệp CAD. Trong ngành công nghiệp CAD rộng lớn
ngày nay, cũng có các chương trình chỉnh sửa CAD tự động chuyển đổi các tệp CAD
thành mã G-code.
Các lệnh G-Code cơ bản trong mô hình máy phay 2D.
G-Code có 02 nhóm lệnh chính là nhóm lệnh G & lệnh M.
Nhóm lệnh G:
– Là lệnh quy định sự dịnh chuyển (Geometric Function).
– Là lệnh quy định chế độ làm việc của máy
– Lệnh G được mã hóa từ G00 cho đến G99, mỗi lệnh có các chức năng và yêu
cầu riêng.
Nhóm lệnh M:
– Là lệnh quy định các chức năng phụ như bắt đầu, dừng, kết thúc, tắt mở một
vài chức năng khác như bơm nước, trục chính v.v…
– Lệnh M được mã hóa từ M00 cho đến M99, mỗi lệnh có các chức năng và yêu
cầu riêng.
Các lệnh G-code cơ bản sử dụng trong mô hình máy phay 2D:
G00: Lệnh chạy dao nhanh không cắt gọt
Cú pháp: G00X_Y_Z_; (X, Y ,Z là tọa độ điểm cần di chuyển đến)
Khi đã sử dụng G00 trong chương trình, thì nó luôn có hiệu lực cho đến khi một
mã G khác trong nhóm 01 (G00, G01, G02, G03) được sử dụng.
VD:
42
G90G00X20.Y14.;
G90G00X-23.Y-42; G91G00X-30Y23.;
G01: dùng để điều khiển dao dịch chuyển theo đường thằng, có cắt gọt.
Cú pháp: G01 X_Y_Z_F;
Trong đó: G01 là mã lệnh. X, Y, Z là tọa độ điểm đến. F là lượng tiến dao
(mm/phút)
Ví dụ: G90G01X25.Y40.5F300;
X15.Y40.5; X15.Y30.;
G91G01X30.Y40.F200;
X4.Y3.;
X-10.Y8 ;
G02: điều khiển dụng cụ di chuyển theo cung tròn cùng chiều kim đồng hồ.
G03: điều khiển dụng cụ di chuyển theo cung tròn ngược chiều kim đồng hồ.
4.3.3.2 Giới thiệu và cách sử dụng phần mềm tạo mã lệnh G-Code.
Giới thiệu phần mềm Aspire tạo mã lệnh G-Code.
Cách thiết lập và xuất file mã lệnh G-Code
4.3.3.3 Giới thiệu và cách sử dụng phần mềm GRBL Controller.
Giới thiệu phần mềm GRBL Controller.
Khi chúng ta đã cài đặt chương trình GRBL, bây giờ Arduino của chúng ta đã có
thể đọc mã G-code và cách điều khiển máy CNC theo nó. Tuy nhiên, để gửi mã G-
Code đến Arduino, chúng ta sẽ cần một phần mềm điều khiển sẽ cho Arduino biết và
sẽ phải làm nhiệm vụ gì. Vì vậy 1 phầm mềm với mã nguồn mở phổ biến hiện nay đó
chính là GRBL Controller.
Grbl Controller được thiết kế để gửi GCode đến các máy CNC, như các mô hình
máy phay 2D.

Các thanh công cụ trong phần mềm GRBL Controller.

43
Hướng dẫn chạy file G-Code.

44

You might also like