You are on page 1of 55

Đồ án Kỹ Thuật Điều Khiển Tự Động  GVHD: TS Trịnh Xuân Thắng


MỤC LỤC

LỜI NÓI ĐẦU............................................................................................................... 3


NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN...........................................................4
TỔNG QUAN VỀ ĐỀ TÀI...........................................................................................5
1.1. Giới thiệu sơ lược về ý tưởng – lý do chọn đề tài...............................................5
1.2 Khái niệm máy CNC và giới thiệu về máy CNC vẽ mạch in...............................5
1.2.1 Tổng quan về máy CNC, đặt vấn đề................................................................5
1.2.2 Khái niệm máy CNC......................................................................................6
1.3 Tổng quan về máy CNC trong và ngoài nước......................................................7
1.3.1 Tình hình nghiên cứu trong và ngoài nước.......................................................7
1.3.2 Các máy móc và sản phẩm tương tự................................................................8
1.3.3 Mục đích nghiên cứu.......................................................................................8
1.3.4 Mô tả đề tài: Thiết kế mô hình máy CNC vẽ mạch in......................................8
1.3.5 Phân loại mô hình máy CNC...........................................................................9
1.3.6 Các đặc trưng của máy CNC vẽ mạch in.......................................................10
1.3.7 Ứng dụng......................................................................................................10
1.3.8 Hướng giải quyết..........................................................................................10
1.3.9 Những yêu cầu chung của mô hình máy CNC...............................................10
PHÂN TÍCH XÁC ĐỊNH MÁY THIẾT KẾ MÁY.....................................................11
2.1. Yêu cầu thiết kế hệ thống..................................................................................11
2.1 Tổng quan về kỹ thuật điều khiển số..................................................................11
2.1.1 Các định nghĩa cơ bản về điều khiển số.........................................................11
2.1.2 Phương pháp truyền thông tin đầu vào...........................................................13
2.1.3 Ưu nhược điểm của máy điều khiển số...........................................................13
2.2.4 Phân loại theo cấu trúc điều khiển.................................................................13
2.2.5 Phân loại kiểu điều khiển..............................................................................13
2.2 Nhiệm vụ của máy thiết kế.................................................................................15
2.3 Nguyên lý hoạt động của máy............................................................................15
2.4 Các thành phần chính của máy..........................................................................16
2.4.1 Phần điều khiển.............................................................................................16
2.4.2 Phần chấp hành............................................................................................16
TÍNH TOÁN THIẾT KẾ MÔ HÌNH CỦA MÁY.......................................................18
3.1 Phân tích, chọn phương án, kích thước và quy mô của mô................................18
3.1.1 Phân tích chọn phương án.............................................................................18

SVTH: Đỗ Quang Sơn Lớp:CĐTK15.4 Trang 1


.4 15CĐTk1
3.1.2.Kích thước và quy mô của mô hình...............................................................18
3.2 Tính toán thiết kế các thành phần của máy........................................................19
3.2.1 Cơ cấu dẫn hướng.........................................................................................19
3.2.2 Cơ cấu truyền động.......................................................................................20
3.2.3 Các loại động cơ sử dụng..............................................................................21
3.2.3. Tính toán động cơ cho cơ cấu xoay phôi......................................................29
3.2.4 Một số linh kiện khác cần sử dụng trong chế tạo máy cnc vẽ mạch in...........30
3.3 Bản vẽ tổng thể và mô hình thực tế....................................................................31
THIẾT KẾ PHẦN ĐIỀU KHIỂN................................................................................32
4.1 Yêu cầu hoạt động tự động của máy..................................................................32
4.2 Các thành phần của hệ thống.............................................................................32
4.3 Phân tích chọn lựa phương án điều khiển..........................................................33
4.4 Thiết kế điều khiển và kết nối máy tính............................................................34
4.5 Giới thiệu về phần điều khiển............................................................................34
4.5.1 Giới thiệu về Arduino....................................................................................34
4.4.4 Module điều khiển CNC Shield V3...............................................................40
4.4.5. Driver điều khiển động cơ bước A4988........................................................40
4.5 Xác định, sơ đồ nối dây.....................................................................................41
4.6 Các phần mềm cần dùng....................................................................................42
4.6.1 Phần mềm tạo file mạch in............................................................................42
4.6.2 Phần mềm tạo G-code...................................................................................42
4.6.3 Chương trình điều khiển máy CNC ( Universal Gcode Sender 1.0.8)..............42
4.7 Chương trình điều khiển:...................................................................................43
4.7.1. Đoạn chương trình điều khiển giao tiếp giữa máy vi tính và máy CNC........43
4.7.2. Chương trình điều khiển chuyển động bàn xoay phôi...................................51
LỜI NÓI ĐẦU

Hiện nay, khoa học công nghệ ngày càng phát triển, vì vậy việc ứng dụng các kỹ
thuật tiên tiến vào sản xuất nhằm tạo ra những sản phẩm có năng suất, chất lượng cao,
mà giá thành chấp nhận được ngày càng trở nên cần thiết, đặc biệt đối với những nước
đang phát triển như Việt nam. Đóng góp vào sự phát triển nhanh chóng của khoa học
công nghệ trong thời gian gần đây, tự động hoá sản xuất có vai trò rất quan trọng.
Nhận thức được điều này, trong chiến lược công nghiệp hoá và hiện đại hoá nền kinh
tế, công nghệ tự động được ưu tiên đầu tư phát triển.
Ở các nước có nền công nghiệp phát triển, tự động hoá các ngành kinh tế kỹ thuật
trong đó có cơ-điện tử đã được thực hiện từ những năm trước đây. Một trong những
vấn đề quyết định của tự động hoá ngành cơ khí chế tạo là kĩ thuật điều khiển số và
công nghệ trên các máy điều khiển số.
Các máy công cụ điều khiển số được dùng phổ biến ở nước phát triển như NC và
CNC trong những năm gần đây đã được nhập vào Việt nam và được sử dụng rộng rãi
tại các viện nghiên cứu và các công ty liên doanh. Máy công cụ điều khiển số hiện đại
(máy CNC) là các thiết bị điển hình cho sản xuất tự động, đặc trưng cho ngành cơ khí
tự động.Vậy để làm chủ được công nghê cần làm chủ được các thiết bị quan trọng và
điển hình.
Trong đề tài đồ án tổng hợp Cơ Điện Tử, mục tiêu trước tiên mà em hướng tới là chế
tạo được mô hình máy CNC tạo hình, viết chữ hoạt động ổn định với sai số nhỏ, sau
đó chúng em hướng tới khắc phục dao động, sai số và nâng cao 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 em còn những thiếu
xót, và mục tiêu ổn định dao động và thiết kế modun thay dao tự động và hệ thống cấp
phôi tự động chúng em chưa thể hoàn thiện. 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.
Chúng em xin chân thành cảm ơn! Đặc biệt, cảm ơn thầy Nguyễn Thế Tranh đã tận
tình hướng dẫn giúp đỡ em hoàn thành đồ án này!
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................

Hưng Yên , ngày tháng năm 2020


Giáo viên hướng dẫn

Thầy Trịnh Xuân Thắng


CHƯƠNG 1
TỔNG QUAN VỀ ĐỀ TÀI
1.1. Giới thiệu sơ lược về ý tưởng – lý do chọn đề tài :
Với thời đại phát triển ngày nay , đứng trước thời kì công nghiệp hóa , hiện đại
hóa đang diễn ra khắp mọi nơi trên thế giới , từ châu lục nay sang chậu lục kia , từ
nước kém phát triển cho đến nước phát triển , hiện đại .
Với sự phát triển tốc độ đó , thì máy móc ngày càng được sử dụng nhiều trong
sản xuất , đặc biệt trong lĩnh vực tự động hóa , đang diễn ra với tốc độ mạnh mẽ , cùng
với đó là sự xuất hiện của các máy CNC đã nhanh chóng thay đổi việc sản xuất công
nghiệp.
Với máy CNC thì các đường cong được thực hiện dễ dàng như đường thẳng,
các cấu trúc phức tạp 3 chiều cũng dễ dàng thực hiện, và một lượng lớn các thao tác
do con người thực hiện được giảm thiểu.
Việc gia tăng tự động hóa trong quá trình sản xuất với máy CNC tạo nên sự
phát triển đáng kể về chính xác và chất lượng. Kỹ thuật tự động của CNC giảm thiểu
các sai sót và giúp người thao tác có thời gian cho các công việc khác. Ngoài ra còn
cho phép linh hoạt trong thao tác các sản phẩm và thời gian cần thiết cho thay đổi máy
móc để sản xuất các linh kiện khác.
Trong môi trường sản xuất, một loạt các máy CNC kết hợp thành một tổ hợp,
gọi là cell, để có thể làm nhiều thao tác trên một bộ phận. Máy CNC ngày nay được
điều khiển trực tiếp từ các bản vẽ do phần mềm CAM, vì thế một bộ phận hay lắp ráp
có thể trực tiếp từ thiết kế sang sản xuất mà không cần các bản vẽ in của từng chi tiết.
Có thể nói CNC là các phân đoạn của các hệ thống robot công nghiệp, tức là chúng
được thiết kế để thực hiện nhiều thao tác sản xuất (trong tầm giới hạn).
Dựa trên các ưu điểm của máy CNC cùng với sự phát trển của ngành công
nghiệp chế tạo, chúng em quyết định nguyên cứu thiết kế và chế tạo mô hình máy
phay CNC loại nhỏ với các chức năng cơ bản của một máy CNC dựa trên những kiến
thức đã được học và nghiên cứu tại trường.
1.2 Khái niệm máy CNC và giới thiệu về máy phay CNC 2D
1.2.1 Tổng quan về máy CNC, đặt vấn đề
Tự động hóa quá trình sản xuất là một trong những yêu cầu bức xúc hiện nay
đối với các doanh nghiệp sản xuất trong và ngoài nước ở hầu hết các lĩnh vực.
Đối với lĩnh vực sản xuất cơ khí thì đây cũng là một trong những yêu cầu cấp
thiết nhằm tiến đến “tăng năng suất, nâng cao chất lượng, hạ giá thành sản
phẩm”.
Nhiều doanh nghiệp đã và đang đầu tư để đổi mới công nghệ, ứng dụng công nghệ
cao, công nghệ tiên tiến trong sản xuất. Tuy nhiên, do hạn chế về khả năng tự nghiên
cứu công nghệ mới, năng lực vốn đầu tư gặp có nhiều khó khăn… dẫn đến chậm đổi
mới công nghệ.
Hiện nay nhu cầu về máy CNC phục vụ công nghiệp và các ngành sản xuất
khác là rất lớn, doanh nghiệp thiết kế máy trong nước chỉ đáp ứng một phần nhỏ. Chủ
yếu là nhập khẩu máy CNC mới từ nước ngoài về hay nhập máy cũ (seconhand) về.
Đối với quá trình khắc CNC thì việc tiếp xúc trực tiếp tại chỗ làm việc là cực kỳ
tốn thời gian mất an toàn và ảnh hưởng tới sức khỏe: môi trường bị ô nhiễm nặng (bột
gỗ, …) nguy hiểm cho mắt, da, phổi…Tai nạn lao động nhiều, tốn thời gian rất nhiều
để hoàn thành xong một sản phẩm …Nên điều khiển gián tiếp là biện pháp hiệu quả
nhất. Máy sẽ được đặt trong môi trường kín sẽ đảm bảo an toàn lao động cho công
nhân.
Trong tình hình hội nhập với nền kinh tế thế giới cùng với sự cạnh tranh gắt gao
từ các nhà sản xuất nước ngoài. Điều này đòi hỏi các nhà sản xuất trong nước cần phải
nâng cao năng lực cạnh tranh của sản phẩm hơn nữa bằng cách cải tiến và đầu tư máy
móc, trang thiết bị an toàn, bảo vệ sức khỏe công nhân để phục vụ sản xuất. Đặc biệt là
trong tình hình lao động hiện nay, nguồn lao động có tay nghề trong ngành cơ khí
đang thiếu hụt trầm trọng. Chính vì điều này mà hiện nay vấn đề đặt ra là: để phát triển
ngành sản suất cơ khí trong nước thì việc trang bị các máy móc tự động phục vụ một
phần cho công việc trong quá trình sản xuất là vô cùng quan trọng.
Ngoài các lý do như trên thì việc thiết kế, chế tạo và sử dụng thiết bị CNC còn
là tiền đề cho việc phát triển lĩnh vức cơ khí tự động hóa trong sản xuất. Hưởng ứng
phong trào thiết kế máy CNC phục vụ trong nước của nước ta.
1.2.2 Khái niệm máy CNC
CNC (Computer Numerical Control) xuất hiện vào khoảng đầu thập niên 1970
khi máy tính bắt đầu được dùng ở các hệ điều khiển máy công cụ thay cho NC,
Numerical Control (Điều khiển số ). CNC đề cập đến việc điều khiển bằng máy tính
các máy móc với mục đích sản xuất( có tính lặp lại) các bộ phận kim khí( hay các vật
liệu khác) phức tạp, bằng cách sử dụng các chương trình viết bằng ký hiệu chuyên biệt
theo tiêu chuẩn EIA-274-D, thường gọi mã G. CNC được phát triển cuối thập niên
1940 đầu thập niên 1950 ở trong phòng thí nghiệm Servomechanism của trường MIT.
Trước khoảng thời gian này, các chương trình NC thường phải được mã hoá và xử lý
trên các băng đục lỗ, hệ điều khiển các trục máy chuyển động. Cách này đã cho thâý
nhiều bất tiện, chẳng hạn khi sửa chữa, hiệu chỉnh chương trình, băng chóng mòn, khó
lưu trữ, truyền tải, dung lượng bé...Hệ điều khiển CNC khắc phục các nhược điểm trên
nhờ khả năng điều khiển máy bằng cách đọc hàng loạt ngàn bit thông tin được lưu trữ
trong bộ nhớ, cho phép giao tiếp, truyền tải và xử lý, điều khiển các quá trình một cách
nhanh chóng, chính xác.
Hình 1.1 Máy CNC dùng trong công nghiệp
Sự xuất hiện của các máy CNC đã nhanh chóng thay đổi việc sản xuất công
nghiệp. Các đường cong được thực hiện dễ dàng như đường thẳng, các cấu trúc phức
tạp 3 chiều cũng dễ dàng thực hiện, và một lượng lớn các thao tác do con người thực
hiện được giảm thiểu. Việc gia tăng tự động hóa trong quá trình sản xuất với máy
CNC tạo nên sự phát triển đáng kể về chính xác và chất lượng. Kĩ thuật tự động của
CNC giảm thiểu các sai sót và giúp người thao tác có thời gian cho các công việc
khác. Ngoài ra còn cho phép linh hoạt trong thao tác các sản phẩm và thời gian cần
thiết cho thay đổi máy móc để sản xuất các linh kiện khác. Trong môi trường sản xuất,
với nhiều loại máy CNC được ra đời nhầm đáp ứng nhu cầu của thị trường và trong đó
có máy khắc gỗ CNC, nhầm đáp ứng về việc gia công gỗ một cách hiệu quả và chính
xác.
1.3 Tổng quan về máy CNC trong và ngoài nước
1.3.1 Tình hình nghiên cứu trong và ngoài nước
Có thể phân loại các máy CNC như sau:
- Các máy CNC dùng để cắt gọt kim loại bằng dụng cụ cắt (theo công nghệ truyền
thống): máy vẽ CNC, máy tiện CNC, các trung tâm tiện và vẽ CNC, máy mài CNC.
- Các máy CNC dùng để gia công theo công nghệ phi truyền thống: máy xung tia lửa
điện, máy cắt dây tia lửa điện, máy cắt bằng Plasma, cắt bằng Laser, máy tạo mẫu
nhanh RP. - Các máy CNC dùng để gia công biến dạng bằng áp lực: máy đột tự động
theo chương trình, máy cán, máy ép, máy dập điều khiển số.

- Các máy CNC chuyên dụng phục vụ cho các ngành công nghiệp sản xuất hàng loạt
hoặc đặc biệt: sản xuất phụ tùng ô tô, đồ tiêu dùng, sản xuất vũ khí, hoá chất độc
hại,…
- Các máy CNC chuyên dụng phục vụ cho các ngành công nghiệp sản xuất hàng loạt
hoặc đặc biệt: sản xuất phụ tùng ô tô, đồ tiêu dùng, sản xuất vũ khí, hoá chất độc
hại,…
- Các lĩnh vực ứng dụng của máy CNC và các sản phẩm do máy CNC tạo ra: - Máy
CNC dùng để chế tạo ra các máy móc, thiết bị và dây chuyền sản xuất phục vụ toàn bộ
các ngành kinh tế khác như: công nghiệp nặng (đóng tàu, khai thác mỏ, điện, dầu khí,
thiết bị vận chuyển như ô tô, tàu hoả,…), công nghiệp nhẹ (dệt may, đóng giày, thực
phẩm,…), công nghiệp quốc phòng (dây chuyền sản xuất vũ khí, thuốc nổ,…)
1.3.2 Các máy móc và sản phẩm tương tự
Máy vẽ, máy tiện trong công nghiệp
Máy điêu khắc gỗ CNC 3 trục, 4 trục, 5 trục, máy tiện.
Máy khắc laser, máy in 3D.
1.3.3 Mục đích nghiên cứu
Với đề tài “Thiết kế, chế tạo mô hình máy phay 2D” người nghiên cứu thể
hiện với các mục đích sau:
Đổi mới công nghệ, nâng cao năng suất và chất lượng sản phẩm trong việc gia
công tạo hình, viết chữ trong ngành cơ điện tử chúng ta.
Nghiên cứu tính toán , thiết kế và chế tạo theo hướng đơn giản hóa các kết cấu,
thu nhỏ các kích thước của những máy để tạo thành một máy mới có có giá thành hạ,
kết cấu đơn giản, dễ vận hành, dễ thao tác và di chuyển từ nơi làm việc này đến nơi
làm việc khác. Loại máy tạo hình, khắc chữ này có kết cấu tương tự như thiết bị cắt tự
hành nhưng có thể di chuyển bút vẽ đến tọa độ bất kì trên board đồng để tạo thành các
đường mạch với kích thước khác nhau.
Hệ thống điều có giao diện đẹp mắt, hoạt động rất đơn giản và thuận tiện. Bộ
nhớ xử lý ổn định có thể tạo ra các dạng sản phẩm đơn giản. Đồng thời cũng góp phần
phát triển ngành công nghệ tự động của nước nhà.
1.3.4 Mô tả đề tài: Thiết kế mô hình máy phay 2D

Hình 1.2 Mô hình máy CNC mini


Trước đây việc tạo ra một mạch in phải trải qua nhiều bước mới có thể có được
một mạch in hoàn chỉnh,vừa tốn thời gian, công sức mà hiệu quả lại thấp. Còn những
mạch in phức tạp thì hiệu quả đạt được lại rất thấp. Với những đòi hỏi của công nghệ,
để đáp ứng được nhu cầu của thị trường, máy CNC vẽ mạch in là bước tiến mới để giải
quyết những vấn đề đó.
Với máy CNC vẽ mạch in không chỉ giải quyết được những khó khăn đó, mà nó
còn là lựa chọn tối ưu nhất trong ngành cơ điện tử chúng ta và các ngành khác. Đặc
biệt là CNC vẽ mạch in luôn đạt được độ chính xác cao. Nên được mọi người biết đến
như một cổ máy giải quyết khó khăn trong việc tạo ra những mạch in cả về số lượng
lẫn chất lượng. Thấy được tầm quan trọng đó, nên chúng em đã ra sức tìm hiểu và cố
gắng “Thiết kế chế tạo mô hình máy CNC vẽ mạch in” được nhóm thực hiện để đáp
ứng một phần nào đó của công nghệ hiện nay.
Ưu điểm của máy CNC vẽ mạch in:
- Vẽ được những mạch in một cách chính xác.
- Quy hoạch thời gian sản xuất tốt hơn.
- Tính linh hoạt cao hơn.
- Tiết kiệm chi phí, giảm thời gian gia công mạch in.
- Nâng cao năng suất.
- So với các máy công cụ điều khiển 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 là theo dõi kiểm tra các chức năng
hoạt động của máy
- Ít phải dừng máy vì kỹ thuật, do đó chi phí do dừng máy nhỏ
- Tiêu hao do kiểm tra ít, giá thành đo kiểm giảm.
- Thời gian hiệu chỉnh máy nhỏ.
Nhược điểm:
- Không thể vẽ được những mạch in quá phức tạp
- Giá thành, chi phí bảo dưỡng sửa chữa cao; yêu cầu trình độ hiểu biết sâu để
vận hành và bảo quản máy.
1.3.5 Phân loại mô hình máy CNC
Các loại máy CNC được phân loại theo hai tiêu chí:
Phân loại theo mục đích:
Máy tiện CNC.
Máy phay CNC.
Máy khắc CNC.
Phân loại theo số trục :
Có các loại máy tiện/phay 3 trục, 4 trục , 6 trục, 8 trục,…
1.3.6 Các đặc trưng của máy CNC vẽ mạch in
Tính năng tự động cao: Máy CNC vẽ mạch in có năng suất cao và giảm được
tối đa thời gian, do mức độ tự động được nâng cao vượt bậc. Tuỳ từng mức độ tự
động, máy CNC vẽ mạch in có thể thực hiện cùng một lúc nhiều chuyển động khác
nhau, 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 bút vẽ và board đồng, …
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 mạch in 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 vẽ mạch in có thể tạo 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 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 vẽ mạch in 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 vẽ là điểm ưu việt tuyệt đối của máy CNC vẽ mạch in.
Máy CNC vẽ mạch in với hệ thống điều khiển khép kín có khả năng vẽ được những
mạch in một cách chính xác. Những đặc điểm này thuận tiện cho việc tạo ra những
mạch in vừa chính xác lại đảm bảo tính thẩm mĩ,bên cạnh đó giảm khả năng tổn thất ở
mức thấp nhất.
1.3.7 Ứng dụng
- Được sử dụng trong các lĩnh vực của nghành cơ điện tử, điện tử, tự động hóa,...
- Tạo ra những mạch in đẹp, nhanh chóng, tiện lợi.
1.3.8 Hướng giải quyết
- Tham khảo các tài liệu trên mạng và các mô hình máy khắc CNC để vẽ mô hình máy
- CNC vẽ mạch in.
- Sử dụng phần mềm Proteus,Aspire , GRBL, Universal Gcode Sender
- Nghiên cứu kết cấu của các loại máy CNC trên thị trường có tính năng tương tự, cải
tiến những khuyết điểm..
- Phương pháp thực nghiệm: Lắp ráp và thí nghiệm các mạch điều khiển động cơ
bước, động cơ Servo, bộ điều khiển chính, cổng truyền thông giao tiếp, gia công toàn
bộ các chi tiết và lắp ráp hoàn chỉnh mô hình máy CNC vẽ mạch in.
- Sử dụng bộ điều khiển để điều khiển máy dịch chuyển theo phương X Y và Z.
- Lập trình chạy thử.
1.3.9 Những yêu cầu chung của mô hình máy CNC
- Kích thước và trọng lượng của máy không được quá lớn.
- Chọn bộ truyền động giúp cho máy có thể hoạt động linh hoạt
CHƯƠNG 2

PHÂN TÍCH XÁC ĐỊNH MÁY THIẾT KẾ MÁY


2.1. Yêu cầu thiết kế hệ thống
Khi tiến hành thiết kế mô hình máy phay CNC , nhóm chúng em đã đặt ra những yêu
cầu sau :
-Mô hình phải hoạt động ổn định.
-Mô hình phải dược điều khiển bởi các phần mềm thông dụng.
-Chạy tự động khi kết nối với máy tính
-Có thể đổ chương trình gia công từ máy tính.
-Sử dụng các vật tư , thiết bị điện thông dụng để dễ dàng thay thế và sửa chữa .
-Các bộ phận truyền động kết nối phải đảm bảo đủ cứng vững đồng thời tuổi thọ mô
hình phải cao .
-Thông số kỹ thuật của mô hình:
+Kích thước máy: (dài x cao x rộng)
400mm × 300mm × 290mm (không bao gồm động cơ bước)
+Đường kính bàn xoay: D = 190 mm
+Vùng làm việt của máy: 120mm × 70mm × 20mm
+Vật liệu làm khung máy là nhôm định hình 20mm x20mm, tấm nhựa PVC công
nghiệp và các chi tiết nhôm khác.
-Máy được sữ dụng để vẽ các mạch in trên bo đồng
2.1 Tổng quan về kỹ thuật điều khiển số
2.1.1 Các định nghĩa cơ bản về điều khiển số
2.1.1.1 Điều khiển số
Điều khiển số (Numerical Control) là một quá trình tự động điều khiển các hoạt
động của máy dựa trên cơ sở các dữ liệu được mã hóa đặ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.
Hệ thống ĐK số bao gồm 2 loại khâu cơ bản:
+Khâu có bản chất gián đoạn: Các tín hiệu vào/ra/ trạng thái đều gián
đoạn về thời gian và về mức. Khâu mô tả các thiết bị ĐK digital.
+ Khâu có bản chất liên tục: Mô tả đối tượng điều khiển. Khi gián đoạn
hóa sẽ đưa đến mô hình như hình bên. Việc gián đoạn hóa xuất phát từ mô hình
trạng thái liên tục của đối tượng.
2.1.1.2 Hệ thống điều khiển số
Là hệ thống mà trong đó các hoạt động được điều khiển là dữ liệu số đưa vào
trực tiếp ở một điểm nào đó. Hệ thống đó phải tự động dịch chuyển tối thiểu một phần
nào đó của dữ liệu này.
Dữ liệu là thông tin cung cấp bởi mã nhị phân. Nó được biểu diễn dưới dạng mã
số hoặc ký tự. Đây là thông tin cần thiết để tạo ra một chương trình gọi là chương trình
gia công.
Cấu trúc từng phần của hệ thống điều khiển số:

Hình 2.3 Cấu trúc từng phần của hệ thống điều khiển số
Gồm 6 thành phần chính:
1. Chương trình gia công (Part Programe): bao gồm các chỉ thị đã được mã hóa.
2. Hệ điều khiển máy (Machine Control Unit - MCU) được chia làm 2 thành phần:
- Đơn vị xử lý dữ liệu (Data Processing Unit – DPU): thực hiện chức năng đọc mã
lệnh từ thiết bị nhập dữ liệu, xử lý mã lệnh (giải mã), truyền dữ liệu cho CLU.
- Mạch điều khiển (Control Loop Unit – CLU): thực hiện các chức năng nội suy
chuyển động trên cơ sở các tín hiệu nhận được từ DPU, xuất các tín hiệu điều khiển,
nhận các tín hiệu phản hồi, điều khiển các thiết bị phụ trợ.
3. Thiết bị đọc chương trình (Programe Unit).
4. Hệ thống truyền động (Drive System): dùng động cơ một chiều, xoay chiều hoặc
động cơ bước và các bộ truyền cơ khí.
5. Máy công cụ.
6. Hệ thống phản hồi (Feedback System): gồm 2 thành phần:
- Bộ so sánh: so sánh giá trị thực của biến ra để chấp hành giá trị với biến vào của hệ
điều khiển, sai lệch này có thể biến thành tín hiệu điều khiển.
- Cảm biến: dùng để đo giá trị thực của biến ra sau đó cung cấp cho bộ so sánh dưới
dạng tín hiệu, thường là tín hiệu điện.
2.1.2 Phương pháp truyền thông tin đầu vào
- Những thông tin cần thiết để gia công một chi tiết nào đó được tập hợp một cách hệ
thống thành chương trình gia công chi tiết và có thể:
- Thông qua các vật mang tin như băng đục lỗ.
- Được soạn thảo và lưu trữ trong vật mang tin (băng từ, đĩa từ hoặc đĩa CD) và được
đưa vào hệ điều khiển thông qua cửa nạp tương thích.
- Được đưa vào hệ điều khiển số thông qua các nút bấm bằng tay trên bảng điều khiển.
- Được chuyển tiếp từ bộ nhớ của máy tính điều hành chủ sang hệ điều khiển số của
từng trạm gia công.
2.1.3 Ưu nhược điểm của máy điều khiển số
- Có thể bỏ qua các chi tiết mẫu để chép hình.
- Chương trình gia công có thể thay đổi dễ dàng và nhanh chóng nhằm giảm thời gian
chuẩn bị sản xuất, tạo điều kiện cho việc sản xuất hàng loạt nhỏ.
- Có thể sản xuất chi tiết đã có chương trình. Vì vậy không cần phải dự trữ chi tiết mà
chỉ cần lưu chương trình của chi tiết.
- Giảm hư hỏng do sai sót của con người, cải thiện tốc độ gia công và khả năng tận
dụng máy.
- Dễ dàng điều khiển tập trung toàn bộ quá trình sản xuất của phân xưởng.
- Nhược điểm của máy NC là hệ thống điều khiển phức tạp, giá thành đắt. Để khắc
phục nhược điểm này hiện nay người ta chế tạo những máy NC có mức độ tự động
thấp hơn, độ chính xác vừa phải nhưng hoàn toàn đáp ứng phần lớn các nhu cầu của
ngành chế tạo máy.
2.2.4 Phân loại theo cấu trúc điều khiển
Theo cấu trúc điều khiển ta có thể chia thành hai hệ: NC và CNC
- Hệ NC thực hiện các hàm chức năng cơ bản bằng các mạch điện tử, muốn thay đổi
cấu trúc điều khiển thì phải thiết kế lại mạch khác, do đó hệ điều khiển NC được gọi là
hệ điều khiển kín. Tín hiệu điều khiển trong hệ NC là xung điện áp.
- Hệ CNC sử dụng một máy tính để điều khiển máy, các hàm chức năng của máy có
thể được lập trình lại bằng những phần mềm chuyên dụng, khi cần thay đổi cấu trúc
điều khiển chỉ cần thay đổi chương trình, do đó hệ thống CNC mang tính linh hoạt rất
cao và nó là một tế bào không thể thiếu trong hệ thống sản xuất linh hoạt
2.2.5 Phân loại kiểu điều khiển
2.2.5.1 Hệ điều khiển hở
Hệ điều khiển hở là hệ không có mạch phản hồi và kết quả hoạt động của hệ
không được kiểm soát. Ví dụ hệ thống điều khiển hở sử dụng động cơ bước:
Hình 2.7- Sơ đồ khối hệ điều khiển hở dùng động cơ bước.
2.2.5.2 Hệ thống điều khiển kín
Hệ thống điều khiển kín là hệ thống có mạch phản hồi. Hệ thống phản hồi dùng
để đo vị trí và tốc độ thực tế của trục và so sánh chúng với tốc độ và vị trí yêu cầu. Sự
khác nhau giữa giá trị thực và giá trị yêu cầu là sai số, sai số này tác động lên hệ thống
điều khiển làm cho hệ thống điều khiển tự điều chỉnh lại tín hiệu ở ngõ ra theo hướng
sao cho sai số đó giảm xuống.

Hình 2.8-Sơ đồ khối hệ điều khiển kín


2.2 Nhiệm vụ của máy thiết kế
Đề tài "“Thiết kế máy CNC vẽ mạch in” được nghiên cứu với các mục đích sau:
- Sự ra đời của đề tài do sự ham thích tìm hiểu về máy CNC, xây đựng được mô hình
máy CNC có thể chạy được thông qua sự điều khiển của bộ điều khiển đã thiết kế.
Máy được chế tạo có kích thước nhỏ gọn, kết cấu đơn giản, dễ vận hành thao tác, có
thể di chuyển từ nơi này đến nơi khác trong không gian làm việc, máy có khả năng vẽ
định dạng các đường mạch in đơn giản
- Xây dựng giao diện điều khiển hệ thống đẹp mắt, hoạt động đơn giản và thuận tiện.
Đề tài được cho ra đời nhằm mục đích giúp sinh viên có điều kiện tiếp cận nhiều hơn
với máy CNC. Ngoài ra nhóm tác giả mong muốn đề tài còn tạo cơ sở cho việc chế tạo
một máy CNC hoàn chỉnh, phục cho công tác giảng dạy của nhà trường và của khoa.
- Máy thiết kế có thể gia công các vật liệu mềm như gỗ, mica, nhựa, phíp đồng
Vì máy thiết kế có kích thước nhỏ gọn nên chỉ có thể gia công được những chi tiết có
kích thước nhỏ. Kích thước tối đa của phôi không vượt quá giới hạn dịch chuyền của
dao trên bàn máy.
2.3 Nguyên lý hoạt động của máy

Hình 2.1: Sơ đồ nguyên lý


- Nguyên lý hoạt động của máy như sau: Máy CNC mini 3 trục hoạt động dựa theo
chuyển động phức hợp theo 3 phương X,Y,Z. được điều khiển bằng arduino UNO R3
thông qua chương trình điều khiển là Grbl ( hoặc Mach 3).Phôi sẽ được định vị trên
bàn máy, File Gcode sẽ dc nạp vào phần mềm Grbl, bộ xử lý sẽ phân tích code và đưa
ra tin hiệu điều khiển cơ cấu chấp hành tiến hành gia công trên phôi đã được định vị để
tạo ra sản phẩm. các thông số trong quá trình gia công sẽ được người điều khiển thiết
lập trên phần mềm Grbl và sẽ được hiển thị trên màn hình điều khiển (màn hình máy
tính) trong quá trình gia công chi tiết.
2.4 Các thành phần chính của máy
2.4.1 Phần điều khiển
Phần điều khiển của máy CNC mini gồm chương trình điều khiển và thiết bị
điều khiển:
+ Chương trình điều khiển: là phần mềm trên máy tính có nhiệm vụ đọc chương
trình, thực hiện các biến đổi cần thiết để đưa tín hiệu điều khiển xuống mạch điều
khiển, nó bao gồm cơ cấu giải mã, cơ cấu chuyển đổi, bộ xử lý tín hiệu, cơ cấu nội
suy, cơ cấu so sánh.
+ Cơ cấu điều khiển: mạch điều khiển và mạch công suất có nhiệm vụ nhận tín
hiệu từ máy tính, thực hiện các biến đổi cần thiết để điều khiển được cơ cấu chấp hành
và kiểm tra sự hoạt động của cơ cấu chấp hành thông qua các cảm biến liên hệ ngược
(công tắc hành trình). Cơ cấu điều khiển gồm: cơ cấu giải mã, cơ cấu chuyển đổi, bộ
xử lý tín hiệu, cơ cấu so sánh, cơ cấu khuếch đại, cơ cấu hành trình, cơ cấu đo vận tốc
các thiết bị xuất nhập tín hiệu.
2.4.2 Phần chấp hành
Phần chấp hành bao gồm toàn bộ khung máy, bàn máy, các động cơ và các cơ
cấu chạy dao truyền động trên máy vẽ CNC mini, nó nhận tín hiệu từ bộ driver điều
khiển tạo ra các chuyển động chạy dao đúng như bản vẽ.
+ Khung máy: Hình thành kết cấu máy, bộ phân cơ sở để ghép nối các cơ cấu
quan trọng khác
+ Bàn máy: Nơi gá đặt, định vi phôi chuẩn bị cho quá trình gia công
+ Động cơ chấp hành: Trong hệ thống máy CNC, ĐCCH đóng một vai trò cực
kì quan trọng, đây là nguồn năng lượng thiết yếu cho sự hoạt động của máy.
- Dao cắt là bộ phận trực tiếp tham gia cắt gọt chi tiết.
- Bộ truyền động thường sử dụng bộ truyền vít me - đai ốc bi…
Hệ trục tọa độ trên máy CNC
Theo tiêu chuẩn ISO, các chuyển động cắt gọt khi gia công trên máy CNC
phải nằm trong hệ tọa độ Descarte theo nguyên tắc bàn tay phải:
+ Đặt ngửa bàn tay phải lên bàn máy với phương chiều các ngón tay như hình
vẽ, chiều ngón giữa là chiều trục Z, ngón trỏ là chiều trục Y, ngón cái là chiều trục X.
+ Trong hệ tọa độ này có 6 chuyển động: 3 chuyển động tịnh tiến theo 3 trục và
3 chuyển động quay theo 3 trục.
+ Trục Z: tương ứng với trục chính của máy CNC, có chiều dương là chiều mà
theo đó khoảng cách giữa bút và chi tiết tăng dần.
+ Trục X: là chuyển động tịnh tiến lớn nhất của máy CNC.
Ví dụ: Trên máy vẽ là chuyển động dọc trục, trên máy tiện là chuyển động theo
phương ngang. Cũng tương tự như trục Z, chiều cũng là chiều làm tăng khoảng cách
giữa dao và chi tiết gia công.
+ Trục Y: là trục mà tự nó cùng với hai trục trên làm thành một hệ trục toạ độ.
Ví dụ: trên máy vẽ là chuyển động chạy dao ngang. Trên máy tiện không có
trục này (cho dạng chi tiết là tròn xoay).
CHƯƠNG 3
TÍNH TOÁN THIẾT KẾ MÔ HÌNH CỦA MÁY
3.1 Phân tích, chọn phương án, kích thước và quy mô của mô
3.1.1 Phân tích chọn phương án
Mô hình chế tạo cần đáp ứng các yêu cầu sau:
+ Đề tài nghiên cứu chỉ ở mức là mô hình phục vụ cho giảng dạy, học tập.
+ Đảm bảo độ cứng vững cũng như kích thước đơn giản của máy.
+ Dễ chế tạo trên các mô hình cũ sẵn có.
Trong phương án này, bàn máy đứng yên, đầu máy thực hiện chuyển động chạy
dao theo 3 phương X, Y, Z nhờ các động cơ riêng lẻ.

Hình 3.1 Hình ảnh thực tế


- Ưu điểm:
+ Gọn nhẹ, dễ sử dụng
+ Chi phí thấp, hiệu quả cao
- Nhược điểm:
+ Độ cứng vững của máy không cao.
+ Khó mở rộng phạm vi hoạt động của bàn máy
3.1.2.Kích thước và quy mô của mô hình
Theo phương án chế tạo đã đặt ra, chúng em dự kiến thiết kế máy có kích thước
như sau:
- Chiều cao máy: 300mm
- Chiều dài máy: 400mm
- Chiều rộng máy: 290mm
3.2 Tính toán thiết kế các thành phần của máy
Tác dụng, yêu cầu của khung máy
+ Khung máy là một bộ phận cấu thành nên máy hoàn chỉnh. Chính vì thế
khung máy có kết cấu rất phức tạp với nhiều gân, gờ, lỗ được bố trí trong không gian.
+ Mặt khác khung máy còn là một chi tiết quan trọng của máy, độ chính xác,
cứng vững của nó còn ảnh hưởng rất lớn đến quá trình làm việc và độ chính xác gia
công. Do đó khung máy phải thỏa những yêu cầu sau: Đảm bảo đầy đủ độ cứng vững
khi máy chạy và độ giảm chấn.
Do kiến thức về gia công cơ khí còn hạn chế và để đảm bảo chi phí chế tạo máy
phù hợp với điều kiện kinh tế của bản thân nên chúng em quyết định chọn vật liệu làm
khung máy bằng nhôm định hình với các lý do sau:
+ Vật liệu rẻ tiền, dễ kiếm.
+ Dễ gia công, chế tạo.
+ Dễ gá lắp, chỉnh sửa
3.2.1 Cơ cấu dẫn hướng
- Bi trượt

- Trục trơn
- Trong mô hình máy CNC, sau khi cân nhắc tác giả quyết định chọn giải pháp dùng
vòng bi kết hợp với ống trụ tròn để làm bộ phận dẫn hướng cho chuyển động chạy dao
theo 3 trục của máy vì:
+ Thông dụng, dễ kiếm.
+ Dễ tháo lắp, kết cấu đơn giản.
+ Ma sát nhỏ.
+ Đảm bảo được yêu cầu thiết kế
- Tuy cơ cấu có độ chính xác cao, ma sát thấp nhưng giá thành lại khá cao.
3.2.2 Cơ cấu truyền động
- Do kinh phí chế tạo máy nhỏ nên nhóm không thể dùng vít me bi để đảm bảo độ
chính xác cao mà lựa chọn giải pháp dùng vitme đai ốc thường.
-Vít me được gắn đồng trục với động cơ, khi động cơ quay , vít me quay, động cơ và
vít me gắn cố định, làm cho đai ốc sẽ di chuyển dọc theo trục vít me. Đai ốc thì được
gắn chặt vào bộ phận cần chuyển động ( trục X, Y ,Z). Từ đó làm cho bộ phận đó
chuyển động so với hệ thống thanh trượt , động cơ và cơ cấu truyền động.
-Tốc độ di chuyển được phụ thuộc vào tốc độ động cơ và bước ren của trục vít,
thường thì bước ren rất nhỏ cỡ 1 đến 2 mm, một vòng quay của trục động cơ sẽ làm
đai ốc di chuyển một đoạn bằng bước ren của trục vít , vì vậy tốc độ di chuyển của bộ
phận trượt ở phương pháp này là chậm nhưng lại có độ chính xác khi chuyển động khá
cao.Dùng động cơ bước có bước góc càng nhỏ và trục ren có bước ren nhỏ thì độ
chính xác di chuyển càng cao
-Ưu điểm của loại vitme này là giá thành rẻ, sai số ở mức cho phép, đảm bảo được độ
bền và ổn định.
- Thông số bộ truyền vitme – đai ốc được chọn như sau:
+ Đường kính trục vitme: d = 8mm
+ Bước vit: p = 8mm
+ Chiều dài vitme cho 3 trục: X: = 360mm
Y: = 270mm
Z: L3 = 120mm
3.2.3 Các loại động cơ sử dụng
- Trong hệ thống máy CNC, động cơ chấp hành đóng một vai trò cực kì quan trọng,
đây là nguồn năng lượng thiết yếu cho sự hoạt động của máy.
- Trong máy CNC, động cơ chấp hành thường làm việc ở dạng khởi động, dừng máy
hoặc đảo chiều quay, đây là điều kiện làm việc “khắc nghiệt” của động cơ. Vì vậy
động cơ cần có những yêu cầu sau:
+ Không có hiện tượng tự quay, tự hãm khi ngắt tín hiệu điều khiển.
+ Làm việc ổn định trong dãy tốc độ làm việc.
+ Tác động nhanh.
+ Công suất điều khiển nhỏ.
+ Dễ điều khiển vô cấp.
+ Dãy điều khiển tốc độ rộng.
+ Điện áp khởi động nhỏ.
+ Độ tin cậy cao.
+ Kích thước, trọng lượng nhỏ.
3.2.3.1 Động cơ bước:
b) Khái niệm
- Động cơ bước là một loại động cơ điện có nguyên lý và ứng dụng khác biệt với đa số
các động cơ điện thông thường. Chúng thực chất là một động cơ đồng bộ dùng để biến
đổi các tín hiệu điều khiển dưới dạng các xung điện rời rạc kế tiếp nhau thành các
chuyển động góc quay hoặc các chuyển động của rôto có khả năng cố định rôto vào
các vị trí cần thiết.
- Về cấu tạo, động cơ bước có thể được coi là tổng hợp của hai loại động cơ: Động cơ
một chiều không tiếp xúc và động cơ đồng bộ giảm tốc công suất nhỏ.
- Động cơ bước không quay theo cơ chế thông thường, chúng quay theo từng bước nên
có độ chính xác rất cao về mặt điều khiển học. Chúng làm việc nhờ các bộ chuyển
mạch điện tử đưa các tín hiệu điều khiển vào stato theo thứ tự và một tần số nhất định.
Tổng số góc quay của rôto tương ứng với số lần chuyển mạch, cũng như chiều quay và
tốc độ quay của rôto phụ thuộc vào thứ tự chuyển đổi và tần số chuyển đổi.
- Lựa chọn động cơ bước, cần xem xét các tham số sau:
+ Tốc độ hoạt động (bước/giây).
+ Mômen xoắn.
+ Mômen quán tính.
+ Góc bước yêu cầu.
+ Thời gian để tăng tốc (ms).
+ Thời gian để giảm tốc (ms).
+ Kiểu truyền động được sử dụng.
+ Kích thước và trọng lượng.
b) Nguyên lý hoạt động của động cơ bước
Hình sau mô tả hoạt động của động cơ bước đơn giản.
Trong hình 3a dòng điện đưa vào cực /C và chạy ra ở C, do đó tạo ra lực từ giữ động
cơ ở vị trí như hình 3a). Sau đó, chúng ta tắt dòng điện này đi và chuyển sang cặp /A
và A, như vậy động cơ sẽ bị xoay về vị trí mới do lực từ thay đổi hướng.Sau đó đến
cặp B và /B. Như vậy, bằng cách tạo các dòng điện chạy qua các cuộn dây, ta đã làm
xoay roto theo chiều mong muốn mỗi lần quay một bước khoảng cách giữa hai cuộn
dây sát nhau. Như vậy nếu ta đặt các cuộn dây càng sát nhau thì ta có độ phân giải
càng cao, các động cơ trong thực tế có thể đạt tới độ phân giải góc 1.8 độ.

c) Tính toán lựa chọn động cơ bước:


- Thông số tính toán động cơ bước trên trục Y
+ Khối lượng tải = 2 kg
+ Hệ số má sát của giá dẫn hướng μ=0,12
+ Đường kính trục vitme =8mm=0,008m
+ Khối lượng trục vitme =0,5kg
+ Bước vit =8mm=0,008m
+ Độ chính xác của bàn máy Δl=0,03 mm/bước
+ Khoảng cách dịch chuyển l=300mm
+ Hệ số an toàn Sf=3
+ Độ phân giải cần thiết của động cơ bước
.∆ .,
= = =1,35°
+ Số vòng quay của động cơ bước
.. .. ,
= = =2250 vòng/phút
+ Momen xoắn do khối lượng tải tác dụng lên trục động cơ
+ Momen quán tính do khối lượng của tải tác dụng lên trục động cơ:
,
= . ( ) = 2.( ) = 3,2.10 (kg. )
+ Momen xoắn do khối lượng của tải tác dụng lên trục động cơ
.. ..,
=J . =J
.
. = 3,2.10 . ., = 3,8.10 Nm

+ Momen xoắn do ma sát của thanh dẫn hướng tác động lên trục động cơ:
,
= . μ.m.g = . 0,12.2. 9,81= 3.10 Nm
+ Momen tổng cộng tác dụng lên trục động cơ:
T =( + ). Sf= (3,8.10 +3.10 ).3=0,02 Nm
+ Công suất làm việc của động cơ
=T . . =0,01. 2250. = 4,72 W
- Thông số tính toán động cơ bước trên trục X:
+ Khối lượng tải: = 1 kg
+ Hệ số má sát của giá dẫn hướng: μ = 0,12
+ Đường kính trục vitme: = 8mm = 0,008m
+ Khối lượng trục vitme: = 0,4 kg
+ Bước vit: = 8mm = 0,008m
+ Độ chính xác của bàn máy: Δl = 0.03 mm/bước
+ Khoảng cách dịch chuyển: l = 200mm
+ Hệ số an toàn: Sf = 3
+ Độ phân giải cần thiết của động cơ bước
.∆ .,
= = = 1,35°
+ Số vòng quay của động cơ bước
.. .. ,
= = = 2250 vòng/phút
+ Momen xoắn do khối lượng tải tác dụng lên trục động cơ

+ Momen quán tính do khối lượng của tải tác dụng lên trục động cơ:
,
= . ( ) = 1.( ) = 1,6.10 kg.
+ Momen xoắn do khối lượng của tải tác dụng lên trục động cơ
.. ..,
=J . =J
.
. = 1,6.10 . ., = 1,9.10 Nm
+ Momen xoắn do ma sát của thanh dẫn hướng tác động lên trục động cơ:
,
= . μ.m.g = . 0,12.1. 9,8= 1,5.10 Nm
+ Momen tổng cộng tác dụng lên trục động cơ:
T =( + ). Sf= (1,9.10 +1,5.10 ).3=0,01 Nm
+ Công suất làm việc của động cơ:
=T . . =0,01. 2250. = 2,36 W
- Thông số tính toám động cơ bước trên trục Z
+ Khối lượng tải: =1,6kg
+ Hệ số má sát của giá dẫn hướng: μ=0,12
+ Đường kính trục vitme: =8mm=0,008m
+ Khối lượng trục vitme: =0,2kg
+ Bước vit: =8mm=0,008m
+ Độ chính xác của bàn máy: Δl=0,03 mm/bước
+ Khoảng cách dịch chuyển: l=100mm
+ Hệ số an toàn: Sf=3
+ Độ phân giải cần thiết của động cơ bước
.∆ .,
= = =1,35°
+ Số vòng quay của động cơ bước
.. .. ,
= = =2250 vòng/phút
+ Momen xoắn do khối lượng tải tác dụng lên trục động cơ
+ Momen quán tính do khối lượng của tải tác dụng lên trục động cơ:
,
= . ( ) = 1,6.( ) = 2,59.10 kg.
+ Momen xoắn do khối lượng của tải tác dụng lên trục động cơ
.. ..,
=J . =J
. = 2,56.10 ., = 3,06.10 Nm
.
.
+ Momen xoắn do ma sát của thanh dẫn hướng tác động lên trục động cơ:
,
= . μ.m.g = . 0,12.1,6. 9,8= 2,4.10 Nm
+ Momen tổng cộng tác dụng lên trục động cơ:
T =( + ). Sf= (3,06.10 +2,4.10 ).3=0,016 Nm
+ Công suất làm việc của động cơ:
=T . . =0,016. 2250. = 3,86 W
- Qua khảo sát thị trường dựa trên cơ sở các thông số tính toán được nhóm quyết định
chọn động cơ có thông số như sau:
+ Loại động cơ: NEMA 17
+ Điện áp: 12V
+ Dòng điện định mức: 1,68A
+ Góc bước: 1,8°
+ Mô men: 0,46Nm
+ Công suất: 100W
3.2.3.1 Động cơ servo
-Servo là một dạng động cơ điện đặc biệt. Không giống như động cơ thông thường cứ
cắm điện vào là quay liên tục, servo chỉ quay khi được điều khiển với góc quay nằm
trong khoảng bất kì từ 0o - 180o. Mỗi loại servo có kích thước, khối lượng và cấu tạo
khác nhau. Có loại thì nặng chỉ 9g (chủ yếu dùng trên máy bay mô mình), có loại thì
sở hữu một momen lực bá đạo (vài chục Newton/m), hoặc có loại thì khỏe và nhông
sắc chắc chắn,...
Động cơ servo được thiết kế những hệ thống hồi tiếp vòng kín. Tín hiệu ra của động
cơ được nối với một mạch điều khiển. Khi động cơ quay, vận tốc và vị trí sẽ được hồi
tiếp về mạch điều khiển này. Nếu có bầt kỳ lý do nào ngăn cản chuyển động quay của
động cơ, cơ cấu hồi tiếp sẽ nhận thấy tín hiệu ra chưa đạt được vị trí mong muốn.
Mạch điều khiển tiếp tục chỉnh sai lệch cho động cơ đạt được điểm chính xác. Các
động cơ servo điều khiển bằng liên lạc vô tuyến được gọi là động cơ servo RC (radio-
controlled). Trong thực tế, bản thân động cơ servo không phải được điều khiển bằng
vô tuyến, nó chỉ nối với máy thu vô tuyến trên máy bay hay xe hơi. Động cơ servo
nhận tín hiệu từ máy thu này.

Ưu điểm:
- Nếu tải đặt vào động cơ tăng, bộ điều khiển sẽ tăng dòng tới cuộn dây động cơ giúp
tiếp tục quay. Tránh hiện tượng trượt bước như trong động cơ bước.
- Có thể hoạt động ở tốc độ cao.
Nhược điểm:
- Đông cơ servo hoạt động không trùng khớp với lệnh điều khiển bằng động cơ bước.
- Giá thành cao.
- Khi dừng lại, động cơ servo thường dao động tại vị trí dừng gây rung lắc.
3.2.3. Tính toán động cơ cho cơ cấu xoay phôi.

Hình 3.11: Cấu tạo bàn xoay


Ta chọn các thông số ban đầu:
Bàn xoay được dẫn động trực tiếp từ động cơ bước .
Khối lượng bàn xoay và khối lượng phôi : 1.5 kilogam.
Tốc độ quay của động cơ: 30 v/p.
- Ta xác định được lực do cơ cấu bàn xoay và phôi tạo ra:
F = m.g.K = 1,5.10.0,3 = 4,5 (N)
Với :
m : là khối lượng của bàn xoay và phôi.
g : gia tốc trọng trường.
K : Hệ số ma sát trược.
- Momem xoắn trên trục động cơ :
T = F.r = 4,5.90.5 = 407.25 (N/mm)
Với :
F : là lực do cơ cấu bàn xoay và phôi tạo ra.
r : Khoảng cách từ tâm trục động cơ đến tâm của phôi.
- Công suất tính toán của động cơ :

P T .n
407, 25.30
9,55.106  9,55.106  1.28W
Với :
T: là momem xoắn trên trục động cơ.
n : tốc độ quay của động cơ.
Vì công suất và mô mem xoắn nhỏ nên ta có thể chon động cơ bước 2 pha , 1.5A-
5VDC.
3.2.4 Một số linh kiện khác cần sử dụng trong chế tạo máy cnc vẽ mạch in
- Khớp nối động cơ bước với vitme:

- Bi đỡ vitme:

-Nhôm định hình

-Và một số linh kiện khác...


3.3 Bản vẽ tổng thể và mô hình thực tế

Hình 3.7: Bản vẽ tổng thể

Hình 3.8: Hình ảnh mô hình đã hoàn thành


CHƯƠNG 4
THIẾT KẾ PHẦN ĐIỀU KHIỂN
4.1 Yêu cầu hoạt động tự động của máy
- Máy CNC được biết đến như một công cụ có khả năng tự động hóa cao, điều khiển
theo một chương trình định sẵn.Do vậy,yêu cầu về khả năng hoạt động tự động là cực
kỳ cần thiết.Mạch điều khiển và chương trình điều khiển là những thành phần thiết yếu
trong việc đảm bảo quá trình vận hành của máy.
- Chương trình điều khiển: Là tập hợp các tín hiệu (gọi là lệnh ) để điều khiển máy,
được mã hóa dưới dạng chữ cái, số và môt số ký hiệu khác như dấu cộng, trừ, dấu
chấm, gạch nghiêng …
- Các cơ cấu điều khiển: Nhận tín hiệu từ cơ cấu đọc chương trình, thực hiện các phép
biến đổi cần thiết để có được tín hiệu phù hợp với điều kiện hoạt động của cơ cấu chấp
hành, đồng thời kiểm tra sự hoạt động của chúng thông qua các tín hiệu được gửi về từ
các cảm. Bao gồm các cơ cấu đọc, cơ cấu giải mã, cơ cấu chuyển đổi, bộ xử lý tín
hiệu, cơ cấu nội suy, cơ cấu so sánh, cơ cấu khuyếch đại, cơ cấu đo hành trình, cơ cấu
đo vận tốc, bộ nhớ và các thiết bị xuất nhập tín hiệu.
- Về cơ bản, hệ thống điều khiển máy CNC vẽ mạch in do nhóm thiết kế bao gồm
những thành phần chính sau:
+ Máy tính-phần mềm: là trung tâm điều khiển, thiết kế của máy. sau khi thiết
kế các sản phẩm, thông qua chương trình điều khiển máy tính gửi tín hiệu điều khiển
đến mạch trung tâm.
+ Mạch điều khiển trung tâm: nhận tín hiệu điều khiển từ máy tính, gửi các tín
hiệu điều khiển tương ứng đến từng mạch driver.
+ Động cơ bước và hệ truyền động: nhận tín hiệu từ mạch driver thực hiện
chuyển động mang động cơ trục chính dịch chuyển tạo hình như mong muốn.
+ Động cơ DC vẽ: nhận tín hiệu điều khiển thực hiện quá trình vẽ vật liệu.
- Quá trình hoạy động của hệ thông dưới tác động của bộ phận điều khiển như sau:
Chương trình gia công chi tiết được xuất dưới dạng file G.code sẽ được nạp vào
chương trình điều khiển (chương trình điều khiển được sử dụng là Grbl controller
3.6.1). Thông qua chương trình điều khiển, máy tính gửi tính hiệu điều khiển đến
mạch trung tâm.Mạch trung tâm sẽ gửi các tính hiệu điều khiển tương ứng đến các
mạch driver để thực hiện quá trình điều khiển các động cơ bước của các trục. Mạch
arduino kết hợp với Module CNC Shield V3 và module điều khiển động cơ bước
A4988 giúp ta có thể điều khiển động cơ bước dễ dàng qua Arduino.
4.2 Các thành phần của hệ thống
- Để thiết lập một hệ thống điều khiển khiển đảm bảo yêu cầu. Trước tiên cần xác định
rõ các thành phần của hệ thống. Trong đề tái “Thiết kế máy CNC vẽ mạch in” của
nhóm, các thành phần chính bao gồm:
+ Đối tượng điều khiển: Động cơ bước các trục X,Y và động cơ servo
+ Cơ cấu tác động: Module điều khiển động cơ bước
+ Cơ cấu chấp hành: Động cơ trục chính
+ Bộ phận điều khiển: Mạch điều khiển (Arduino UNO) và chương trình điều
khiển (GRBL Controller)
4.3 Phân tích chọn lựa phương án điều khiển
- Để thiết kế phần điều khiển cho đề tài “Thiết kế máy CNC vẽ mạch in” mà nhóm
được giao. Qua tham khảo một số tài liệu có liên quan và dựa trên năng lực của bản
thân. Chúng em đã quyết định lựa chọn phương án là sử dụng Arduino. Bởi những lý
do sau:
+ Arduino thực ra là một bo mạch vi xử lí được dùng để tương tác với các thiết bị phần
cứng như cảm biến, động cơ, đèn hay các thiết bị khác một cách dễ dàng.
+ Đặc điểm nổi bật của Arduino là môi trường phát triển ứng dựng cực kì dễ sử dụng.
Với ngôn ngữ lập trình có thể học nhanh chóng ngay cả khi người học ít hiểu biết về
điện tử và lập trình.
+ Và điều làm nên Arduino chính là mức giá thấp và tính chất nguồn mở từ cứng tới
mềm. Chỉ với hơn 100 ngàn đồng, người dùng đã có thể sở hữu một board Arduino có
20 ngõ I/O có thể tương tác và điều khiển chừng đấy thiết bị.
- Thế mạnh của Arduino so với các nền tảng vi điều khiển khác :
+ Giá thành rẻ, dể tìm kiếm và sử dụng
+ Chạy trên đa nền tảng : Việc lập trình có thể thực hiện trên các hệ điều hành khác
nhau như Window, Mac Os, Linux trên destop, android trên di động.
+ Ngôn ngữ lập trình đơn giản, dễ hiểu.
+ Mở rộng phần cứng: Arduino được thiết kế và sử dụng theo dạng module nên việc
mở rộng phần cứng khá dễ dàng .
+ Đơn giản và nhanh: Dễ dàng lắp ráp, lập trình và sử dụng thiết bị .
+ Dễ dàng chia sẻ : Mọi người dễ dàng chia sẻ mã nguồn với nhau mà không lo lắng
về ngôn ngữ hay hệ điều hành mình đang sử dụng.
- Những ứng dụng nổi bật của Arduino là: máy in 3D, robot, game tương tác, điều
khiển ánh sáng, kích hoạt chụp ảnh tốc độ cao...
- Một hệ thống Arduino có thể cung cấp cho bạn rất nhiều sự tương tác với môi
trường xung quanh với:
+ Hệ thống cảm biến đa dạng về chủng loại (đo đạc nhiệt độ, độ ẩm, gia tốc, cường độ
ánh sáng, màu sắc vật thể, lưu lượng nước, phát hiện chuyển động, phát hiện kim loại,
khí độc,…)
+ Các thiết bị hiển thị (màn hình LCD, đèn LED,…).
+ Các module chức năng (shield) hỗ trợ kêt nối có dây với các thiết bị khác hoặc các
kết nối không dây thông dụng (3G, GPRS, Wifi, Bluetooth, 315/433Mhz, 2.4Ghz,…).
+ Định vị GPS, nhắn tin SMS, và nhiều thứ thú vị khác
4.4 Thiết kế điều khiển và kết nối máy tính
Chọn phương án điều khiển: Sử dụng cổng USB:
USB có những đặc trưng sau đây:
Cho phép mở rộng 127 thiết bị kết nối cùng vào một máy tính thông qua một cổng
USB duy nhất (bao gồm các hub USB);
Những sợi cáp USB riêng lẻ có thể dài tới 5 mét; với những hub, có thể kéo dài tới 30
mét (6 sợi cáp nối tiếp nhau thông qua các hub) tính từ đầu cắm trên máy tính.
Với USB 2.0 chuẩn tốc độ cao, đường truyền đạt tốc độ tối đa đến 480 Mbps.
Cáp USB gồm hai sợi nguồn (+5V và dây chung GND) cùng một cặp gồm hai sợi dây
xoắn để mang dữ liệu.
Trên sợi nguồn, máy tính có thể cấp nguồn lên tới 500mA ở điện áp 5V một chiều
(DC).
Những thiết bị tiêu thụ công suất thấp (ví dụ: chuột, bàn phím, loa máy tính công suất
thấp...) được cung cấp điện năng cho hoạt động trực tiếp từ các cổng USB mà không
cần có sự cung cấp nguồn riêng (thậm chí các thiết bị giải trí số như SmartPhone,
PocketPC ngày nay sử dụng các cổng USB để sạc pin). Với các thiết bị cần sử dụng
nguồn công suất lớn (như máy in, máy quét...) không sử dụng nguồn điện từ đường
truyền USB như nguồn chính của chúng, lúc này đường truyền nguồn chỉ có tác dụng
như một sự so sánh mức điện thế của tín hiệu. Hub có thể có nguồn cấp điện riêng để
cấp điện thêm cho các thiết bị sử dụng giao tiếp USB cắm vào nó bởi mỗi cổng USB
chỉ cung cấp một công suất nhất định.
Những thiết bị USB có đặc tính cắm nóng, điều này có nghĩa các thiết bị có thể được
kết nối (cắm vào) hoặc ngắt kết nối (rút ra) trong mọi thời điểm mà người sử dụng cần
mà không cần phải khởi động lại hệ thống.
Nhiều thiết bị USB có thể được chuyển về trạng thái tạm ngừng hoạt động khi máy
tính chuyển sang chế độ tiết kiệm điện.

4.5 Giới thiệu về phần điều khiển


4.5.1 Giới thiệu về Arduino
- Nhắc tới lập trình hay nghiên cứu chế tạo bằng Arduino, dòng đầu tiên mà mọi người
thường tìm hiểu là Arduino UNO và hiện tại đã phát triển đến thế hệ thứ 3 (R3). Nếu
mà người mới tìm hiểu bạn nên nghiên cứu Arduino UNO R3 hơn là tiếp cận những
dòng Arduino khác vì dòng Arduino UNO R3 rất dễ sử dụng đối với những người mới
tiếp cận về lập trình.
Hình 4.3 - Arduino UNO R3
-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


30 mA
I/O

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

SRAM 2 KB (ATmega328)

EEPROM 1 KB (ATmega328)
- Arduino UNO R3 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ộ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 → 28-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
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.
+ Đặ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.
-Vi điều khiển :
+Arduino UNO có thể sử dụng 3 vi điều khiển họ 8 bit 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,…..
+Thiết kế tiêu chuẩn của Arduino UNO sử dụng vi điều khiển ATmega328 với
giá khoảng 90.000đ. Tuy nhiên nếu yêu cầu phần cứng của bạn không cao hoặc túi tiền
không cho phép, bạn có thể sử dụng các loại vi điều khiển khác có chức năng tương
đương nhưng rẻ hơn như ATmega8 (bộ nhớ flash 8KB) với giá khoảng 45.000đ hoặc
ATmega168 (bộ nhớ flash 16KB) với giá khoảng 65.000đ.
+Ngoài việc dùng cho board Arduino UNO, bạn có thể sử dụng những IC điều
khiển này cho các mạch tự chế. Vì sao ? Vì bạn chỉ cần board Arduino UNO để lập
trình cho vi điều khiển. Trên thực tế, bạn không cần phải dụng Arduino UNO trên các
sản phẩm của mình, thay vào đó là các mạch tự chế để giảm chi phí .
-Năng lượng :
+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.
+Các chân năng lượng :
 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Ω.
-Lưu ý:
+Arduino UNO không có bảo vệ cắm ngược nguồn vào. Do đó bạn phải hết sức
cẩn thận, kiểm tra các cực âm – dương của nguồn trước khi cấp cho Arduino UNO.
Việc làm chập mạch nguồn vào của Arduino UNO sẽ biến nó thành một miếng nhựa
chặn giấy. mình khuyên bạn nên dùng nguồn từ cổng USB nếu có thể.
+Các chân 3.3V và 5V trên Arduino là các chân dùng để cấp nguồn ra cho các
thiết bị khác, không phải là các chân cấp nguồn vào. Việc cấp nguồn sai vị trí có thể
làm hỏng board. Điều này không được nhà sản xuất khuyến khích.
+Cấp nguồn ngoài không qua cổng USB cho Arduino UNO với điện áp dưới
6V có thể làm hỏng board.
+Cấp điện áp trên 13V vào chân RESET trên board có thể làm hỏng vi điều
khiển ATmega328.
+Cường độ dòng điện vào/ra ở tất cả các chân Digital và Analog của Arduino
UNO nếu vượt quá 200mA sẽ làm hỏng vi điều khiển.
+Cấp điệp áp trên 5.5V vào các chân Digital hoặc Analog của Arduino UNO sẽ
làm hỏng vi điều khiển.
+Cường độ dòng điện qua một chân Digital hoặc Analog bất kì của Arduino
UNO vượt quá 40mA sẽ làm hỏng vi điều khiển. Do đó nếu không dùng để truyền
nhận dữ liệu, bạn phải mắc một điện trở hạn dòng.
+Khi mình nói rằng bạn “có thể làm hỏng”, điều đó có nghĩa là chưa chắc sẽ
hỏng ngay bởi các thông số kĩ thuật của linh kiện điện tử luôn có một sự tương đối
nhất định. Do đó hãy cứ tuân thủ theo những thông số kĩ thuật của nhà sản xuất nếu
bạn không muốn phải mua một board Arduino UNO thứ 2.
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 Programable 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 .
-Các cổng vào/ra :
+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) .
+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 → 28-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à 10 bit.
-Đặ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 .
-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. Nếu học tốt chương trình Tin học 11 thì việc lập trình
Arduino sẽ rất dễ thở đối với bạn.
+Để lập trình cũng như gửi lệnh và nhận tín hiệu từ mạch Arduino, nhóm phát
triển dự án này đã cũng cấp đến cho người dùng một môi trường lập trình Arduino
được gọi là Arduino IDE (Intergrated Development Environment) .
4.4.4 Module điều khiển CNC Shield V3

-Board 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 khay dùng để cắm các mô đun điều khiển động
cơ bước A4988, khi đó board có thể điều khiển3 trục X, Y, Z và thêm một trục thứ 4
tùy chọn trên các máy CNC mini.
-Các tính năng nổi bật :
+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 cho mỗi trục
+Tính năng điều khiển spindle, công suất laser
+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
+Điện áp nguồn cấp đa dạng từ 12V tới 36V
4.4.5. Driver điều khiển động cơ bước A4988
- Module điều khiển động cơ bước A4988 là một trình điều khiển động cơ vi bước
hoàn chỉnh với việc tích hợp bộ dịch cho hoạt động dễ dàng. Sản phẩm này hỗ trợ
nhiều chế độ hoạt động của động cơ bước lưỡng cực như: Full, Half, ¼, 1/8 và
1/16.
- Thông số kỹ thuật:
- Công suất lái ngõ ra lên tới 35V và ± 1A.
- Bao gồm một bộ điều chỉnh dòng cố định chạy giữa hai chu kỳ, thời gian mà máy
chạy không, dòng này rất nhỏ và hoặc bị phân rã
- Phù hợp với bộ vi xử lý phức tạp: giao tiếp với A4988 phù hợp với các dòng vi xử
lý phức tạp
- Tự động lựa chọn: trong hoạt động vi bước, bộ chopping bên trong A4988 sẽ tự động
chọn chế độ sâu hiện tại (thấp hoặc là mix giữa các mode)
- Mạch bảo vệ điện tử bao gồm: bảo vệ ngắn mạch tải, bảo vệ dòng điện chéo.
- Mạch điều khiển điều chỉnh bên trong được cung cấp nhằm cải thiện hoạt động của
bộ PWM để giảm việc tiêu thụ điện.

- Ưu điểm:
+ Làm việc ổn định trong môi trường khắc nghiệt, kích thước gọn nhẹ.
+ Đáp ứng nhanh, điều khiển trực tiếp qua máy tính dễ dàng.
- Nhược điểm:
+ Giá thành cao.
+ Phải có phần mềm để điều khiển các driver thông qua giao tiếp cổng USB
hay LPT của máy tính.
4.5 Xác định, sơ đồ nối dây
-Kết nối phần cứng (Arduino UNO R3 + CNC Shield + A4988) để điều khiển động cơ
bước dẫn động các trục X,Y và Z.
4.6 Các phần mềm cần dùng
4.6.1 Phần mềm tạo file mạch in
-Hiện có rất nhiều phần mềm tạo file mạch in PCB như: Altium, Eagle, Proteus,
Orcad,… Sau đó vẽ mạch và xuất ra mạch in dạng file PDF
4.6.2 Phần mềm tạo G-code
-Trước khi tạo G-code thì cần phải chuyển file pdf của mạch in sang dạng file bitmap.
-Ta có thể dùng các phần mềm như Photoshop hay PDF converter ,…
-Vectric Aspire 8.5 là một phần mềm mạnh mẽ được thiết kế cho thiết kế sản xuất và
định tuyến, cho phép bạn vẽ, cắt và tạo các mô hình 2D, 3D chi tiết. Vectric Aspire
được các kiến trúc sư sử dụng rộng rãi để tạo các mô hình như tấm trang trí và cửa ra
vào, bản in kiến trúc, và nhiều hơn nữa. Aspire có một giao diện tương tác và dễ sử
dụng, do đó bạn sẽ nhanh chóng thay đổi hình dạng và đặc điểm của từng bộ phận, và
xây dựng một thiết kế phức tạp bằng cách sử dụng một bộ đơn giản các hình dạng 2D,
3D.
-Vectric Aspire 8.5 bao gồm các bổ sung và cải tiến lớn trong tất cả các lĩnh vực của
phần mềm bao gồm: Tùy chọn mới để thêm đường dốc vào 3D Roughing, thao tác các
thành phần mới trong chế độ xem 3D, bóng đổ bóng mới, mới được tối ưu hóa cho hệ
thống 64-bit , trình duyệt clipart mới bố trí, cứu trợ mới bù đắp và nhiều hơn nữa.
-Phần mềm tạo G-code để chạy máy CNC thì chúng em dùng Aprie 8.5

4.6.3 Chương trình điều khiển máy CNC ( Universal Gcode Sender 1.0.8)
- Universal Gcode Sender có giao diện người dùng đơn giản với cửa sổ chính hiển thị
thông tin cơ bản về kết nối và tổng trạng thái của máy tính theo mô hình gia công ba
chiều và các vị trí chung của vật thể. Các khu vực còn lại trên giao diện gồm một bảng
điều khiển và bảng lệnh, cùng một phần chuyên điều chỉnh thông số chính xác.
Để điều khiển máy tính từ xa, TeamViewer là lựa chọn được nhiều người lựa chọn
nhất bởi khả kết nối nhanh và chế độ bảo mật tốt, bên cạnh đó TeamViewer còn hỗ trợ
hoạt động trên nhiều nền tảng khác nhau.
- Universal Gcode Sender - Phần mềm Điều khiển máy CNC bằng lệnh G-code
- Universal Gcode Sender cung cấp các tính năng hỗ trợ người dùng loại bỏ các thành
phần, cắt vật thể với độ chính xác lên tới hàng thập phân, chuyển đổi các hồ quang (G2
và G3) sang các phân đoạn và xóa các khoảng trắng trong project. Ngoài ra, Universal
Gcode Sender tích hợp công cụ G-code Visualizer có khả năng kết nối phần mềm qua
điện thoại smartphone và máy tính bảng, gửi thông tin điều khiển và phản hồi tới máy
CNC.
-Các tính năng chính của Universal Gcode Sender:
+ Gửi lệnh G-code tới máy CNC.
+ Hỗ trợ hệ điều hành OS X, Linux, Raspberry Pi.
+ Giao diện người dùng đơn giản.
+ Cắt vật thể với độ chính xác cao.
+ Tích hợp công cụ G-code Visualizer.

4.7 Chương trình điều khiển:


4.7.1. Đoạn chương trình điều khiển giao tiếp giữa máy vi tính và máy CNC
Chương trình điều khiển Arduino sử dụng để điều khiển “máy phay CNC 3
trục” đòi hỏi độ chính xác rất cao. Do khả năng lập trình còn hạn chế, thời gian thực
hiện đề tài gấp rút. Để đảm bảo hoàn thành đúng tiến độ được giao, hệ thống hoạt
động đảm bảo những yêu cầu thiết kế đặt ra. Nhóm xin phép được sử dụng code
chương trình đã được nguyên cứu và thử nghiệm thành công.
#include <Servo.h>
#include
<Stepper.h>
#define LINE_BUFFER_LENGTH 512
const int penZUp = 180;
const int penZDown = 155;
const int penServoPin = 6;
const int stepsPerRevolution = 20;
Servo penServo;
Stepper myStepperY(stepsPerRevolution, 2,3,4,5);
Stepper myStepperX(stepsPerRevolution, 8,9,10,11);
struct point {
float x;
float y;
float z;
};
struct point actuatorPos;
float StepInc = 1;
int StepDelay = 0;
int LineDelay = 50;
int penDelay = 50;
float StepsPerMillimeterX = 6.0;
float StepsPerMillimeterY = 6.0;
float Xmin = 0;
float Xmax = 40;
float Ymin = 0;
float Ymax = 40;
float Zmin = 0;
float Zmax = 1;
float Xpos = Xmin;
float Ypos = Ymin;
float Zpos = Zmax;
boolean verbose = false;
void setup()
{ Serial.begin( 9600 );
penServo.attach(penServoPin);
penServo.write(penZUp);
delay(200);
myStepperX.setSpeed(250);
myStepperY.setSpeed(250);
myStepperX.step(-250);
myStepperY.step(-250);
Serial.println("Mini CNC Plotter alive and kicking!");
Serial.print("X range is from ");
Serial.print(Xmin);
Serial.print(" to ");
Serial.print(Xmax);
Serial.println(" mm.");
Serial.print("Y range is from ");
Serial.print(Ymin);
Serial.print(" to ");
Serial.print(Ymax);
Serial.println(" mm.");
}
/**********************
* void loop() - Main loop
***********************/
void loop()
{
delay(200);
char line[ LINE_BUFFER_LENGTH ];
char c;
int lineIndex;
bool lineIsComment, lineSemiColon;
lineIndex = 0;
lineSemiColon = false;
lineIsComment =
false; while (1) {
while ( Serial.available()>0 ) {
c = Serial.read();
if (( c == '\n') || (c == '\r') ) { // End of line reached
if ( lineIndex > 0 ) { // Line is complete. Then execute!
line[ lineIndex ] = '\0'; // Terminate string
if (verbose) {
Serial.print( "Received : ");
Serial.println( line );
}
processIncomingLine( line, lineIndex );
lineIndex = 0;
}
else {
}
lineIsComment = false;
lineSemiColon = false;
Serial.println("ok");
}
else {
if ( (lineIsComment) || (lineSemiColon) )
{ if ( c == ')' ) lineIsComment = false; .
}
else {
if ( c <= ' ' ) {
}
else if ( c == '/' ) {
}
else if ( c == '(' )
{ lineIsComment = true;
}
else if ( c == ';' )
{ lineSemiColon = true;
}
else if ( lineIndex >= LINE_BUFFER_LENGTH-1 ) {
Serial.println( "ERROR - lineBuffer overflow" );
lineIsComment = false;
lineSemiColon = false;
}
else if ( c >= 'a' && c <= 'z' )
{ line[ lineIndex++ ] =
c-'a'+'A';
}
else {
line[ lineIndex++ ] = c;
}}}}}
void processIncomingLine( char* line, int charNB ) {
int currentIndex = 0;
char buffer[ 64 ];
struct point newPos;
newPos.x = 0.0;
newPos.y = 0.0;
while( currentIndex < charNB )
{ switch ( line[ currentIndex++ ] )
{ case 'U':
penUp();
break;
case 'D':
penDown();
break;
case 'G':
buffer[0] = line[ currentIndex++ ];
buffer[1] = '\0';
switch ( atoi( buffer ) ){
case 0:
case 1:
char* indexX = strchr( line+currentIndex, 'X' );
char* indexY = strchr( line+currentIndex, 'Y' );
if ( indexY <= 0 ) {
newPos.x = atof( indexX + 1);
newPos.y = actuatorPos.y;
}
else if ( indexX <= 0 )
{ newPos.y = atof( indexY +
1); newPos.x = actuatorPos.x;
}
else {
newPos.y = atof( indexY + 1);
indexY = '\0';
newPos.x = atof( indexX + 1);
}
drawLine(newPos.x, newPos.y );
actuatorPos.x = newPos.x;
actuatorPos.y = newPos.y;
break;
}
break;
case
'M':
buffer[0] = line[ currentIndex+
+ ]; buffer[1] =
line[ currentIndex++ ]; buffer[2]
= line[ currentIndex++ ];
buffer[3] = '\0';
switch ( atoi( buffer ) ){
case 300:
{
char* indexS = strchr( line+currentIndex, 'S' );
float Spos = atof( indexS + 1);
if (Spos == 30) {
penDown();
}
if (Spos == 50) {
penUp();
}
break;
}
case 114
Serial.print( "Absolute position : X = " );
Serial.print( actuatorPos.x );
Serial.print( " - Y = " );
Serial.println( actuatorPos.y );
break;
default:
Serial.print( "Command not recognized : M");
Serial.println( buffer );
}
}
}
}
void drawLine(float x1, float y1) {
if (verbose)
{
Serial.print("fx1, fy1: ");
Serial.print(x1);
Serial.print(",");
Serial.print(y1);
Serial.println("");
}
if (x1 >= Xmax) {
x1 = Xmax;
}
if (x1 <= Xmin) {
x1 = Xmin;
}
if (y1 >= Ymax) {
y1 = Ymax;
}
if (y1 <= Ymin)
{ y1 = Ymin;
}
if (verbose)
{
Serial.print("Xpos, Ypos: ");
Serial.print(Xpos);
Serial.print(",");
Serial.print(Ypos);
Serial.println("");
}
if (verbose)
{
Serial.print("x1, y1: ");
Serial.print(x1);
Serial.print(",");
Serial.print(y1);
Serial.println("");
}
x1 = (int)
(x1*StepsPerMillimeterX); y1 =
(int)(y1*StepsPerMillimeterY);
float x0 = Xpos;
float y0 = Ypos;
long dx = abs(x1-x0);
long dy = abs(y1-y0);
int sx = x0<x1 ? StepInc : -StepInc;
int sy = y0<y1 ? StepInc : -StepInc;
long i;
long over = 0;
if (dx > dy) {
for (i=0; i<dx; ++i)
{ myStepperX.step(s
x); over+=dy;
if (over>=dx)
{ over-=dx;
myStepperY.step(sy);
}
delay(StepDelay);
}
}
else {
for (i=0; i<dy; ++i) {
myStepperY.step(sy);
over+=dx;
if (over>=dy)
{ over-=dy;
myStepperX.step(sx);
}
delay(StepDelay);
}
}
if (verbose)
{
Serial.print("dx, dy:");
Serial.print(dx);
Serial.print(",");
Serial.print(dy);
Serial.println("");
}
if (verbose)
{
Serial.print("Going to (");
Serial.print(x0);
Serial.print(",");
Serial.print(y0);
Serial.println(")");
}
delay(LineDelay);
Xpos = x1;
Ypos = y1;
}
void penUp()
{ penServo.write(penZU
p); delay(LineDelay);
Zpos=Zmax;
if (verbose)
{ Serial.println("Pen
up!");
}
}
void penDown()
{ penServo.write(penZDow
n); delay(LineDelay);
Zpos=Zmin;
if (verbose)
{ Serial.println("Pen
down.");
}}
4.7.2. Chương trình điều khiển chuyển động bàn xoay phôi.
#include <Servo.h>
#define EN 3
#define DIR 6
#define STEP 5
#define nut 8
Servo ser;
void setup() {
ser.attach(7);//chân servo chân 7
pinMode(nut, INPUT_PULLUP);
pinMode(EN, OUTPUT); pinMode(STEP, OUTPUT); // Step pin
pinMode(DIR, OUTPUT); // Dir - pin
digitalWrite(EN, LOW); // Set Enable low
ser.write(0);
}
void loop() {
if (digitalRead(nut))
{ delay(100);
while (digitalRead(nut));//chờ tới khi nút thả ra
while (ser.read() != 45)
ser.write(45);
delay(1000);
quay_DCB();
delay(1000);
while (ser.read() != 0)
ser.write(0);
}}
void quay_DCB(){
for (int i = 0; i < 52; i++)
{ digitalWrite(STEP, HIGH); // Output
high delay(10);
digitalWrite(STEP, LOW); // Output low
delay(10);
}}
TÀI LIỆU THAM KHẢO

1) PMI ballscrews catalog, Precision motion industries, INC.


2) Linear guideway technical information, Hiwin motion control and system
technology.
3) Sổ tay Công nghệ chế tạo máy - tập 1,2,3 - GS N Nguyễn Đắc Lộc - XB Khoa
học và Kỹ thuật.
4) Các trang mạng thông tin:
http://advancecad.edu.vn/giao-trinh-solidworks/
https://github.com/grbl/grbl/wiki
http://www.shapeoko.com/wiki/index.php/Grbl_Configuration
https://Arduino.vn
http://www.kenhsangtao.com/
https://github.com/grbl/grbl/wiki/Connecting-Grbl

You might also like