Professional Documents
Culture Documents
Banmem 1
Banmem 1
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
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.
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....
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.
13
Hình 11: Máy CNC mini 3 trục
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.
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
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
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.
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.
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.
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:
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ồ.
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.
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.
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)
+ 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.
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ị.
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.
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.
43
Hướng dẫn chạy file G-Code.
44