Professional Documents
Culture Documents
MỤC LỤC
MỤC LỤC.................................................................................................................1
2.2. Phân tích và cải tiến chiếc máy MICRO LATHE thành máy gia công bán tự động......................................23
2.2.1. Thiết kế mạch điện phần cứng thay đổi cấp tốc độ cho trục chính bằng
vi xử lý..................................................................................................................24
2.2.2. Thiết kế mạch điều khiển vị trí ăn dao vào chi tiết.................................27
2.2.3. Phần thiết kế mạch cho vi xử lý................................................................29
2.2.4. Modul giao tiếp máy tính để lập trình......................................................31
2.2.5. phần hiển thị cho biết trạng thái đang làm việc của hệ thống................32
2.2.6. Phần mềm lập trình trên máy tính...........................................................33
2.3. Kết luận chương 2.................................................................................................................................................34
KẾT LUẬN.............................................................................................................79
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 2
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
Đề tài này tôi chọn nghiên cứu về chiếc máy gia công tự động. Bên cạnh đó
tôi cũng sẽ tiến hành cải tiến một chiếc máy gia công đa năng thành một chiếc máy
gia công bán tự đông. Cuối cùng tự tay tôi sẽ thiết kế ra một mô hình máy 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. Trong quá trình thực hiện đề tài này tôi đã nhận
được sự giúp đỡ của rất nhiều thầy cô giáo cũng như bạn bè của tôi. Đặc biệt tôi xin
trân trọng gửi lời cảm ơn chân thành tới thầy giáo Th.S Nguyễn Văn Tiềm đã giúp
tôi rất nhiều trong việc hoàn thành đề tài này.
Trong đề tài này, nội dung được chia ra làm 3 chương, bao gồm:
Chương 1. Tìm hiểu về máy gia công tự động.
Chương 2. Thiết kế cải tiến máy gia công đa năng Micro Lathe
Chương 3. Thiết kế mô hình máy CNC loại nhỏ.
Phần nội dung đề tài tôi sẽ trình bày chi tết các nội dung đã giới thiệu ở trên.
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ông 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 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 là ở dạng mã số nhị nguyên bao
gồm các chữ số, số thập phân, các 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 các 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 các thành
quả tiến bộ của Khoa học - Công nghệ, nhất là trong 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 đưa vào máy công cụ các hệ
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 3
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
thống điều khiển cho phép thực hiện các 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 những điều kiện hiện nay, nhờ những tiến bộ 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 hoặc 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ố và dẫn đến một 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 với các 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à hang
không vũ trụ khi mà yêu cầu các chỉ tiêu về chất lượng của các 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ả khi sử dụng cao...). 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ý từ 4 bit, 8bit...
cho đến nay đã đạt đến 32 bit 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 tính trung tâm DNC (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...
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 4
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiề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 Integrated 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ể.
máy tính thông qua một chuẩn giao tiếp nào đó. Vì lý do đó làm cho nó có khả
năng linh hoạt trong sản xuất các chi tiết khác nhau, không bị bó cứng khả năng của
hệ thống.
1.2.2. Các kết cấu cơ bản về cơ khí.
Về cơ bản chúng đều có kết cấu khung giống nhau như hình 1.3 đó là:
- Thân máy.
- Đế máy.
- Bàn trượt.
- Đầu trục chính.
Ngoài ra máy NC còn có thể khác hệ thống khác như băng tải, các robot
chuyên dụng thực hiện một nhiệm vụ hay chức năng của một khâu nào đó…
Hình ảnh bên dưới thể hiện một máy CNC, nhìn vào hình vẽ ta có thể hình
dung cơ bản được cấu tạo của nó. Ngoài các bộ phận thân máy, đế máy, bàn trượt,
đầu trục chính nó còn có thêm các bộ phận khác với các chức năng riêng biệt để
phục vụ cho quá trình gia công trở nên dễ dàng và thuận tiện. Như ở hình vẽ bên
dưới các bộ phận thực hiện các chức năng.
- Ổ chứa dao: Chứa các dao sẽ sử dụng trong quá trình gia công, tùy
thuộc vào đặc thù của chi tiết cũng như đặc thù của phôi để dao nào
được chọn mang đi gia công, dao ở đây có thể là mũi khoan, dao phay,
mũi dao tiện…các dao được đánh số theo mã số, khi có nhu cầu cần
thay mũi dao hiện tại bằng một mũi dao nào đó thì người lập trình phải
cung cấp mã của dao vào trong một câu lệnh được qui định sẵn. Cụ thể
ngôn ngữ lập trình cho máy sẽ được giới thiệu chi tiết ở phần sau, khi
đó, chúng ta có thể biết được cần phải làm gì để cho máy hoạt động.
- Cơ cấu thay dao tự động: Cơ cấu này có nhiệm vụ nhận lệnh thay dao từ
chương trình và thực hiện chuyển dao đang gia công vào ổ chứa dao và
chuyển dao cần thay vào cán dao. Khi thay dao, hệ thống phải dừng lại.
- Các động cơ giúp tạo chuyển động cho quá trình gia công, có thể là động
cơ trục chính, động cơ tiến dao, động cơ thay dao hay động cơ trượt
bàn….
- Bảng điều khiển và màn hình: Cho phép ta nhìn thấy trạng thái làm việc
của thiết bị cũng như can thiệp vào quá trình làm việc của máy
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 6
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 7
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
Bàn máy là nơi để gá đặt chi tiết gia công hay đồ gá. Nhờ có sự chuyển động
linh hoạt và chính xác của bàn máy mà khả năng gia công của máy CNC được tăng
lên rất cao, có khả năng gia công được những chi tiết có biên dạng phức tạp. Đa số
trên các máy CNC hay trung tâm gia công hiện đại thì bàn máy đều là dạng bàn
máy xoay được, nó có ý nghĩa như trục thứ 4, thứ 5 của máy. Nó làm tăng tính vạn
năng cho máy CNC.
Yêu cầu của bàn máy: Phải có độ ổn định, cứng vững , được điều khiển
chuyển động một cách chính xác. Hình vẽ bên dưới là hình ảnh thực tế của bàn
xoay.
Phân loại: Bàn xoay trên máy phay CNC và các trung tâm gia công có thể
được phân ra làm các loại như sau:
• Loại tiêu chuẩn:
Là loại bàn xoay này dùng để gá đặt chi tiết sao cho tâm của chi tiết trùng
với tâm trục chính. Có thể gia công được nhiều dạng bề mặt khác nhau như gia
công mặt phẳng, gia công rãnh thẳng hoặc rãnh xoắn và gia công các mặt định hình
với dao định hình, đôi khi dùng để cắt bánh răng với dao phay môđun.
Loại bàn xoay tiêu chuẩn có thể phân ra làm hai loại :Loại có trục chính nằm
ngang.và loại có trục chính thẳng đứng. Hình 1.5 bên dưới là hình ảnh về loại bàn
xoay có trục chính nằm ngang.
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 8
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 9
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 10
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
• Loại cỡ lớn
Ngoài các loại nêu trên, các nhà sản xuất bàn xoay còn chế tạo loại bàn xoay
có kích thước bàn từ 1m đến 3m hoặc lớn hơn. Loại bàn xoay này có trục chính
thẳng đứng hoặc nằm ngang với độ chính xác cao. Chúng được dùng để gia công
các chi tiết lớn, nặng (có thể lên đến 10.000kg) và cho các ứng dụng về đo lường.
b. Cụm trục chính
Là nơi lắp dụng cụ, chuyển động quay của trục chính sẽ sinh ra lực cắt để cắt
gọt phôi trong quá trình gia công.
• Nguồn động lực điều khiển trục chính
Trục chính được điều khiển bởi các động cơ. Thường sử dụng động cơ Servo
theo chế độ vòng lặp kín, bằng công nghệ số để tạo ra tốc độ điều khiển chính xác
và hiệu quả cao dưới chế độ tải nặng. Hệ thống điều khiển chính xác góc giữa phần
quay và phần tĩnh của động cơ trục chính để tăng momen xoắn và gia tốc nhanh.
Hệ thống điều khiển này cho phép người sử dụng có thể tăng tốc độ của trục chính
lên rất nhanh.
• Các dạng điều khiển trục chính
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 11
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 12
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
d. Ổ tích dụng cụ
Dùng để tích chứa nhiều dao phục vụ cho quá trình gia công. Nhờ có ổ tích
dao mà máy CNC có thể thực hiện được nhiều nguyên công cắt gọt khác nhau liên
tiếp với nhiều loại dao cắt khác nhau. Do đó quá trình gia công nhanh hơn và mang
tính tự động hóa cao. Có 3 dạng chính là:
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 13
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 14
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
Để thỏa mãn 2 yêu cầu đầu tiên, xích chạy dao cần có tần số dao động riêng
lớn nhất theo điều kiện có thể tính ngay từ đầu nguồn động lực của xích. Giả định
rằng khối lượng của bàn máy và chi tiết gia công là một dữ kiện, ta cố gắng dùng
những cơ cấu có quán tính nhỏ nhất có thể, đồng thời có độ cứng vững cao nhất.
Như vậy, ta nhận thấy lí thuyết tính toán thiết kế động học các xích truyền động
trong máy công cụ vạn năng thông thường không còn ý nghĩa nhiều đối với máy
công cụ điều khiển số. Những nguyên tắc như truyền dẫn vô cấp, truyền dẫn độc
lập và nguyên tắc môđun hóa các kết cấu là những nguyên tắc cơ bản cho tính toán
thiết kế máy công cụ điều khiển số.
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 15
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
Hình 1.16: Cấu tạo động cơ bước nam châm vĩnh cửu
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 16
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
Ở hình 1.16 thì số 1 và 2) Hai nửa Stator có dạng cực móng được từ hóa với
cực N và S xen kẻ nhau; 3) Hai cuộn stato (một cuộn điều khiển đơn cực và một
cuộn điều khiển lưỡng cực) được đặt ở bên trong hai nửa stator; 4)Rotor nam châm
vĩnh cửu có các cực từ xen kẻ.
1) Stato ñöôïc cheá taïo thaønh daïng raêng; 2) Cuoän daây pha; 3) Roto coù töø
tröõ thay ñoåi ñöôïc cheá taïo thaønh daïng raêng.
Hay còn gọi là động cơ bước cảm ứng, có góc bước thay đổi trong khoảng
0,36 - 150 trong chế độ bước đủ, mômen hãm từ 3 - 1000 Ncm, tần số khởi động
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 17
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
lớn nhất là 40 khz. Trong các loại động cơ bước kể trên thì động cơ bước hổn hợp
được sử dụng nhiều hơn cả. Vì loại động cơ này kết hợp các ưu điểm của hai loại
động cơ trên đó là: Động cơ nam châm vĩnh Cửu với dạng cực móng, và động cơ
có từ trở thay đổi.
Cấu tạo của động cơ bước thay đổi hổn hợp là sự kết hợp giữa động cơ bước
nam châm vĩnh cữu và động cơ bước có từ trở thay đổi. Phần Stato được cấu tạo
hoàn toàn giống Stator của động cơ bước có từ trở thay đổi. Trên các cực của Stato
được đặt các cuộn dây pha, mỗi cuộn dây pha được quấn thành 4 cuộn dây (h.2-3)
hoặc được quấn thành 2 cuộn dây (h.2-4) đặt xen kẻ nhau để hình thành lên các cực
N và S đồng thời đối diện với mỗi cực của bối dây là răng của Roto và cũng được
đặt xen kẽ giữa hai vành răng số 3 của Roto.
1.3.5. Động cơ servo
Động cơ servo được thiết kế cho 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. Động cơ servo có nhiều kiểu dáng và kích thước, được sử
dụng trong nhiều máy khác nhau từ máy tiện điều khiển bằng máy tính đến các mô
hình máy bay, xe hơi. Ứng dụng mới nhất là sử dụng trong robot. Những ứng dụng
này là tiền đề cho việc đưa vào quá trình sản xuất những thành tựu như điều khiển
máy CNC, trung tâm gia công.. Đối với chuyển động chất lượng cao ta buộc phải
sử dụng động cơ servo xoay chiều ba pha, loại là động cơ không đồng bộ Roto lồng
sóc hay đồng bộ kích thích vĩnh cửu. Loại động cơ này có một số đặc điểm chung
như sau:
- Có momen quán tính nhỏ
- Đặc điểm động học tốt
- Thường được tích hợp sẵn cảm biến đo tốc độ hay góc quay
- Có dải tần số công tác rộng 0 ÷400 Hz
Không giống động cơ DC ta chỉ cần lắp pin vào là chạy, động cơ servo đòi
hỏi một mạch điện tử chính xác để quay trục ra của nó. Có thể một mạch điện tử sẽ
làm việc sử dụng servo phức tạp hơn ở một mức độ nào đó nhưng thực ra mạch
điện tử này rất đơn giản. Nếu ta muốn điều khiển servo bằng máy tính hay bằng bộ
vi xử lý thì chỉ cần một vài dòng lệnh là đủ. Một động cơ DC điển hình cần các
transistor công suất, MOSFET hay relay nếu muốn kết nối với máy tính. Còn servo
có thể gắn trực tiếp với máy tính hay bộ vi xử lý mà không cần một linh kiện điện
tử nào cả. Tất cả yếu tố cần thiết để điều khiển công suất đều được quản lý bởi
mạch điều khiển để tránh rắc rối. Đây là lợi ích chủ yếu khi sử dụng servo cho các
robot điều khiển bằng máy tính.
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 18
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
Phân loại
Tùy thuộc vào chuyển động của Encoder mà người ta chia nó thành hai kiểu
có nguyên lý hoạt động hoàn toàn giống nhau:
- Encoder thẳng: chiều dài của encoder thẳng phải bằng tổng chuyển động thẳng
tương ứng có nghĩa là chiều dài cần đo phải bằng chiều dài thước.
- Encoder quay: là một đĩa nhỏ và kích thước encoder không phụ thuộc vào
khoảng cách đo. Nó có thể đo được cả thong số dịch chuyển và tốc độ.
Rõ ràng nếu ta sử dụng encoder dạng đĩa quay thì không cần quan tâm nhiều nhưng
nếu ta sử dụng encoder thẳng thì buộc lòng chiều dài của encoder phải dài ít nhất
bằng chiều dài của dịch chuyển cần đo. Trong máy CNC điều khiển số, chuyển
động của bàn máy được dẫn động từ động cơ qua trục vít me_đai ốc_bi tới bàn
máy. Vị trí bàn máy có thể được xác định được nhờ encoder lắp trong cụm truyền
dẫn. Hình
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 19
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
Technology Research Institution -IITRI). Hiện nay nó được sử dụng và phổ biến
nhất. Với APT, cho phép lập chương trình với các máy 5D với gồm trên 3.000 từ.
APT bao gồm các nhóm cơ bản sau:
• Mô tả kích thước và hình dáng hình học của chi tiết gia công.
• Mô tả trình tự và quỹ đạo chuyển động của dụng cụ cắt.
• Điều khiển các cơ cấu của máy cũng như thay đổi các thông số cắt gọt.
• Bổ sung các chức năng chuyên dụng như chu trình ăn dao, bù dao và các
chức năng chuyển tiếp khác.
Về thực chất, ngôn ngữ APT là biểu diễn một chương trình gia công bằng
cách mô tả các hoạt động của dao cùng với các chức năng cắt gọt của nó bằng các
câu lệnh trên cơ sở viết tắt của các từ trong tiếng Anh.
Ví dụ:
• Kích thước và hình dáng hình học:
Điểm P = POINT. ( P1/20.0, 10.0, 0.0; P2/15.23, 20.5, 2.7)
Đường thẳng L = LINE.( L1/P1,P2; L2/P1, ATANG26).
Đường tròn C = CTRCLE/X,Y,R = CIRCLE/CENTER,P1, RADIUS,R.
Điểm đặc biệt P = POINT/INTOF, L1, L2(điểm cắt nhau của 2 đường L1,L2).
Đường đặc biệt L = LINE/P2, PARLEL, L3( đường qua P2 và song song L3).
Mặt phẳng PL=PLANE.(PL1/P!, P2, P3: mặt phẳng qua 3 điểm P1,P2,P3).
(PL2/P4, PARLEL,PL1: mặt phẳng qua P4 và song song PL1).
hiệu quả hơn và cho ra chi tiết tốt hơn lúc đầu. Sở dĩ được gọi là bán tự động là bởi
vì hệ thống chỉ hoạt động một cách tự động khi gia công, nhưng các thao tác như
thay dao gia công, tháo lắp phôi vào máy,.. đều phải được thực hiện bằng tay.
Cũng như chiếc máy gia công vạn năng khác, nó cũng bao gồm các chi tiết:
1. Vỏ máy và thân máy.(1)
Được thiết kế bằng gang có tác dụng bảo vệ máy và lắp gá các chi tiết lên đó. Sở
dĩ gang được chọn làm thân và vỏ máy bởi vì nó là hợp kim bền, ít bị oxi hóa.
Ngoài ra nó còn có khối lượng lớn giúp cho khi gia công không bị rung, đảm bảo
chắc chắn cho máy.
2. Núm xoay điều khiển cấp tốc độ chục chính (2)
Khi gia công các chi tiết khác nhau, có những chi tiết chi gia công với tốc độ quay
trục chính với vận tốc nhỏ, nhưng có những chi tiết cần gia công với vận tốc quay
trục chính lớn. Vì vậy cần phải có bộ phận điều chỉnh vận tốc quay trục chính cho
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 22
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
phù hợp với chi tiết cần gia công. Núm xoay ở trên hình vẽ thực hiện yêu cầu đó.
Nó có các mức để chọn cấp tốc độ cho trục chính. Ở đây cụ thể là 3 mức cấp tốc
độ. Đây là bộ phận không thể thiếu cho tất cả các máy gia công cơ khí.
3. Núm xoay điều chỉnh các thông số khác cho máy(3)
Các núm dùng điều chỉnh các thông số khác cho máy
4. Đế trượt.(4)
Khi gia công thì ngoài hành động tiến dao vào ăn sâu vào chi tiết thì dao cần phải
tịnh tiến qua lại để tạo nên chi tiết. Do đó đế trượt (4) là nơi để dao có thể thực hiện
tịnh tiến qua lại.
5. Trục chính gắn với động cơ
Phôi cần gia công được gắn trực tiếp ở đây, và nó được liên động trực tiếp đến
trục động cơ điều khiển trục chính. Có nhiều cách để động cơ dẫn động đến đây, có
thể dẫn động dùng bánh đai hoặc bánh xích, có thể dùng dẫn động bánh răng, hoặc
có thể trục chính chính là trục của động cơ. Khi động cơ quay, làm cho phôi gắn
trên nó quay theo và bắt đầu quá trình gia công. Để gắn được chi tiết vào với trục
chính thì cần có sự phối hợp của chốt đầu trục chính như ở trên hình vẽ.
6. Nơi lắp gá các dao gia công, các dao được gắn vào đây và ép chặt nhờ các
con ốc, nhìn ở trên hình vẽ ta cũng có thể thấy ta chỉ có thể lắp tối đa được 4
mũi dao lên trên.
7. Khi gia công, nếu ta xoay tay quay này, dao sẽ ăn sâu vào chi tiết.
8. Chi tiết này cùng với trục chính để ép chặt phôi trong quá trình gia công
9. Khi gia công, nếu ta xoay tay quay này, mũi dao sẽ chạy dọc theo chi tiết.
phối hợp với chi tiết số 7 để tao nên đường gia công đa dạng cho chi tiết cần
gia công.
2.2. Phân tích và cải tiến chiếc máy MICRO LATHE thành máy gia công bán
tự động.
Từ các phân tích trên tôi xin đưa ra phương án cải tiến các bộ phận
bao gồm cải tiến bộ phận tiến dao theo chiều ngang, bộ phận tiến dao theo chiều
dọc, bộ phận thay đổi cấp tốc độ cho trục chính. Ngoài ra xin đưa thêm vào một số
chức năng khác giúp cho quá trình gia công chi tiết của người thợ trở nên đơn giản
và hiệu quả hơn. Bao gồm màn hình hiển thị cho biết trạng thái làm việc của máy.
Bộ phận kết nối với máy tính cá nhân cho phép lập trình trực tiếp trên máy tính tạo
thành chu trình làm việc của máy. Bên dưới là sơ đồ khối hệ thống
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 23
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
2.2.1. Thiết kế mạch điện phần cứng thay đổi cấp tốc độ cho trục chính bằng vi
xử lý
Thực tế bộ phận để điều chỉnh cấp tốc độ cho trục chính được thực hiện bằng một
núm xoay bằng tay. Điều chỉnh này sẽ được người công nhân đứng máy thực hiện
tuỳ thuộc vào đặc thù của chi tiết cần gia công.
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 24
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
Tại một vị trí của núm xoay, tiếp điểm xoay 1 chỉ có thể tiếp xúc được với một
trong các tiếp điểm còn lại, ứng với mỗi tiếp điểm thì động cơ điều khiển trục chính
sẽ quay ở một tốc độ nhất định. Để thay việc xoay núm chuyển mạch em sử dụng
các rơle để có thể điều khiển được bằng vi điều khiển. Sơ đồ mạch ở hình dưới đây:
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 25
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
U 3
1 1 5
V X L I N 1
2 A Y 1 0 4 C h u n g
V X L I N 2
3 B Y 1 1 3
V X LC Y I N 3
1 2 2
Y I N 4
6 1 3 1
V C C
4 G Y1 1 4 0
1 6
5 G Y2 9A5
G Y2 2 7
7B6
Y 7 3 8
4 9
5 1 0
7 4 H C 1 3 8
S W R O T A R Y 1 P
C h u n g
C h u n g
L S 2 C h u n g C h u n g
L S 2
5 L S 2 L S 2
3 5
4 3 5 5
1
1 4 3 3
1 2 v 2
2 1 4 4
1 2 v 3 4
2 1 1
1 2 v 1 2 v
2 2
R E L A Y
Q 1 R E L A Y
I N 1 2 N 1 0 6 Q 9 1 R E L A YR E L A Y
I N 2 2 N 1 0 6 Q9 1 Q 1
I N 32 N 1I N 0 46 2 9 N 1 0 6 9
Hình 2.2: Sơ đồ mạch chấp hành điều khiển tốc độ trục chính
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 26
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
Mỗi tiếp điểm của núm điều chỉnh cấp tốc độ sẽ được thay bằng một con role
1 tiếp điểm, như hình vẽ trên em đưa ra sơ đồ điều khiển cấp tốc độ cho loại máy
tiện có 4 cấp tốc độ, khi mà số cấp tốc độ nhiều hơn thì mình chỉ việc sử dụng thêm
các rơle mà thôi. Các role làm nhiệm vụ đóng ngắt các tiếp điểm khi cần thay đổi.
Ở trên hình, các transistor là các van đóng ngắt dòng điện qua cuộn dây role. Các
transistor này là các transistor ngược, có thể sử dụng các loại ngoài thì trường như
là: C828 hay C2383 đều được do yêu cầu dòng qua cuộn dây nhỏ nên có thể sử
dụng được các loại transistor này. Ở modul này, khi có một điện áp kick ở các chân
Inx sẽ làm cho các transistor mở thông cho phép dòng điện chạy qua các cuộn dây
làm cho role bị hút tiếp điểm, lúc này thì tiếp điểm của máy tiện sẽ được đóng.
Do đặc thù của núm xoay đó là tại một thời điểm làm việc chỉ có 1 tiếp điểm
được đóng do đó nên khi mạch điều khiển làm việc thì tại một thời điểm cũng chỉ
có một rơle được phép đóng, nếu không sẽ sảy ra hiện tượng xung đột và có thể
làm cháy hỏng mạch điều khiển động cơ trục chính của máy. Do vậy nên em lựa
chọn IC 74HC138 sử dụng để điều khiển các tiếp điểm, do đặc điểm của IC này là
khi hoạt động thì tại một thời điểm chỉ có một đầu ra được cho phép đúng như yêu
cầu của núm xoay ở trên. Đầu ra nào được cho phép được cho phép là tuỳ thuộc
vào tổ hợp bit đầu vào ở các chân đầu vào A, B và C. Đối với IC này cho phép
chúng ta điều khiển cho loại máy tiện có cấp tốc độ tối đa là 8 cấp (Do IC chỉ có 8
đầu ra), khi mà ứng dụng cần nhiều hơn thì khi đó ta phải ghép thêm nhiều IC
giống nhau hoặc có thể sử dụng một loại khác có tính năng tương tự nhưng với số
đầu ra lớn hơn. Các đầu vào của 74HC138 được nối với vi điều khiển để có thể
thực hiện điều khiển cấp tốc độ thông qua các chân cổng.
Về nguyên lý thì cứ mỗi một tổ hợp bít được đưa ra từ vi điều khiển qua các
chân cổng, IC 74HC138 thực hiện việc giải mã và sẽ đặt trạng thái đầu ra của một
chân nào đó lên mức cao(Các chân còn lại vẫn ở mức thấp). Khi đầu ra nào đó của
IC ở mức cao sẽ kéo theo transistor tương ứng nối với chân đó mở thông, dòng điện
sẽ đi qua cuộn hút của role và làm cho tiếp điểm tương ứng đóng lại (Trong khi các
tiếp điểm khác vẫn được mở). Như vậy việc điều khiển cấp tốc độ bây giờ là việc
gửi tổ hợp bit qua chân cổng đã định sẵn
2.2.2. Thiết kế mạch điều khiển vị trí ăn dao vào chi tiết
Khi vận hành máy, người công nhân phải trực tiếp dùng tay quay 2 tay quay
sao cho mũi dao tiến đến vị trí cần xác định với tốc độ nhất định nào đó mà do
người công nhân quyết định. Để có thể thay được khối này em quyết định chọn
phương án thay 2 tay quay bằng hai động cơ bước để điều khiển.
Ở tại hai vị trí ở hình vẽ dưới đây, hai tay quay của máy sẽ được thay thế
bằng hai động cơ bước, loài động cơ 2 cuộn dây vào có góc bước 1,8 độ.
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 27
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
Hình 2.2: Hai vị trí thay thế tay quay bằng động cơ bước
Cấu tạo và các phương pháp điều khiển động cơ bước ở trên đã trình bày, ở
đây tôi xin phép không được nhắc lại.
Từ những đặc tính cơ bản của động cơ bước đã phân tích ở trên, để xây dựng
được một bộ điều khiển động cơ bước đạt các yêu cầu đưa ra thì bộ điều khiển cần
phải đáp ứng đước các yêu cầu về công suất, góc bước, tốc độ di chuyển, các yêu
cầu về tính ổn định và khả năng thực thi....
Động cơ bước lựa chọn ở đây là loại động cơ bước hai cuộn dây. Do đó khi
điều khiển ta cần đến 2 cầu H, trong đó mỗi cầu H điều khiển một cuộn dây. Tôi
lựa chọn IC cầu H là L298, ở bên trong đã có tích hợp sẵn hai bộ điều khiển động
cơ cầu H. Chi tiết về L298, các bạn có thể xem ở phía sau, nơi mà tôi trình bày về
mô hình máy CNC của tôi, ở đó tôi sẽ nói rõ ràng về hoạt động của nó hơn. Ở đây
tôi chỉ xin phép trình bày sơ qua để các bạn hiểu dễ dàng. Như hình vẽ bên dưới,
các chân đầu ra của L298 (dc1,dc2,2c3,dc4) được nối vào 4 chân của động cơ
bước, còn lại các chân điều khiển (33,34,35,36) được nối trực tiếp với chân cổng
của vi điều khiển. Như vậy việc làm cho động cơ quay chỉ là xuất lệnh vi xử lý ra
chân cổng.
Giả sử động cơ bước có cuộn 1-2, 3-4. Theo một thứ tự đấu dây nào đó, nếu
ta cấp nguồn cho động cơ theo thứ tự 1-2, 3-4, 2-1, 4-3 động cơ quay theo chiều
kim đồng hồ thì khi ta cấp theo theo thứ tự 4-3, 2-1, 3-4, 1-2 sẽ làm cho động cơ
quay ngược lại chiều kim đồng hồ.
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 28
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 29
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
Như trên sơ đồ khối ta có thể thấy được vi điều khiển phải đảm bảo đủ số
cổng vào ra để điều khiển được 2 động cơ bước và điều khiển bộ phận thay đổi tốc
độ cho trục chính. Ngoài ra nó yêu cầu phải có thêm một bộ phận giúp cho việc
truyền nhận thông tin với máy tinh thông qua cổng giao tiếp COM
Mạch vi điều khiển bao gồm bộ phận cấp nguồn, bộ phận tạo xung giao động
và các thành phần khác liên quan để đảm bảo cho vi điều khiển hoạt động được
Dưới đây là lưu đồ thuật toán của chương trình vi xử lý.
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 30
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 31
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
Có thể thấy ở sơ đồ mạch hình phía trên, ngoài nguồn điện được cấp cho
chip thì cần thêm các tụ mắc xung quanh để đảm bảo cho sự truyền nhận được diễn
ra theo đúng yêu cầu.
2.2.5. phần hiển thị cho biết trạng thái đang làm việc của hệ thống.
Toàn bộ các quá trình gia công chi tiết sẽ được thể hiện ở khối hiển thị LCD,
đây là một khối có sẵn trên thị trường và rất dễ sử dụng trong việc hiển thị dữ liệu
từ vi xử lý. Nó được giao tiếp với máy tính qua một cổng có tối thiểu 7 bít dữ liệu.
Và để làm việc với nó chỉ mất vài dòng lệnh.
Bảng x.x : Bảng chức năng các chân của LCD 16x2.
6 E Enable signal
7 DB0 Data bus line
8 DB1 Data bus line
9 DB2 Data bus line
10 DB3 Data bus line
11 DB4 Data bus line
12 DB5 Data bus line
13 DB6 Data bus line
14 DB7 Data bus line
15 A Power supply for LED B/L (+)
16 K Power supply for LED B/L (-)
Giải thích sơ đồ
Các chân PC.0 …PC.7 sẽ được nối vào các chân tương ứng ở cổng
PORTC trên chip.Chân PC.3 sẽ được nối vào chân 34 để điều khiển
đèn nền của LCD
Biến trở R48 10K dùng để điều chỉnh độ tương phản của màn hình.
Các điện trở R49, R50 cùng với transistor Q7 sẽ nhận tín hiệu điều
khiển từ MCU để bật tắt đèn nền của LCD.
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 33
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
Để có thể làm việc được tốt, hệ thống cần có một giao diện để người
sử dụng viết mã lệnh giao tiếp với hệ thống. Phần mềm này có thể được xây dựng
trên ngôn ngữ lập trình visual basic 6.0 của Microsoft. Có thể hình dung qua giao
diện của phần mềm như sau:
Hình 2.2: Giao diện lập trình điều khiển máy MICRO LATHE
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 34
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
Sơ đồ khối
Hình 3.1: Sơ đồ kết cấu cơ khí của mô hình máy CNC loại nhỏ
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 35
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
Sơ đồ khối của mô hình máy CNC loại nhỏ được thiết kế như hình 3.2 bên
dưới.
được bắt đầu từ những thanh nhôm, những tấm phíp nhựa và từ những chiếc đinh
ốc…Nó được thiết kế hoàn toàn dựa trên tất cả những kiến thức đã thu nhận được
trong quá trình học tập và nghiên cứu tại trường đại học giao thông vận tải. Mô
hình hoàn toàn có thể trở thành tài liệu học tập vì nó cũng bao gồm đầy đủ các chức
năng cơ bản của một mô hình. Tôi xin được phép trình bày nó ngắn gọn để các bạn
có thể hiểu sơ qua về hoạt động và phạm vi ứng dụng của nó.
Có thể nói một cách dễ hiểu hơn mô hình chính là một chiếc máy khoan tự
động, chạy theo một chương trình được lập trình sẵn trên máy tính… Để bắt đầu
gia công, việc đầu tiên là viết chương trình cần gia công trên máy tính, việc viết
chương trình này tuân theo một vài qui tắc do tôi tự lập ra thể hiện các hành động
của mô hình. Ví dụ như nếu viết X20;Z-30; chẳng hạn, thì khi đó máy sẽ thực hiện
dịch chuyển bàn khoan một khoảng theo trục X là 20mm, tiếp sau đó là nâng mũi
khoan lên cao một khoảng là 30mm. Và cứ như thế, toàn bộ quá trình làm việc của
mô hình sẽ được mô tả qua ngôn ngữ. Chương trình soạn thảo có thể được viết trên
một phần mềm soạn thảo bất kì nào, hoặc có thể sử dụng ngay trình soạn thảo
notepad của window XP được tích hợp sẵn. Khi chương trình soạn thảo viết xong
cần lưu nó dưới dạng file_name.txt.
Bước tiếp theo ta sẽ tiến hành dịch file vừa viết xong. Tất cả các lỗi về cú
pháp cũng như các lỗi về dịch chuyển không hợp lý sẽ bị phát hiện và báo lỗi buộc
người sử dụng phải sửa lỗi ngay trước khi cho phép nạp xuống mô hình. Quá trình
dịch và phát hiện lỗi sẽ được thực hiện do một phần mềm viết trên nền visual basic
có nhiệm vụ liên kết đến file chương trình, kiểm tra các lỗi phát sinh và đưa ra
thông báo. Khi không có một lỗi nào được tìm thấy trong quá trình dịch, chương
trình sẽ thông báo dịch thành công và cho phép người dùng gửi toàn bộ chương
chình xuống mô hình thông qua giao tiếp cổng COM. Và tất nhiên cổng COM chỉ
được sử dụng trong quá trình thay đổi hoặc nạp chương trình mới cho mô hình.
Còn lại trong quá trình nó hoạt động hoàn toàn ta có thể rút bỏ mà không có một sự
ảnh hưởng nào đến quá trình làm việc của nó.
Ở tại vi điều khiển, tất cả các dữ liệu nhận được sẽ được đẩy vào nội dung
của bộ nhớ EEPROM, đề phòng trường hợp khi mất điện hoặc hệ thống bị treo thì
dữ liệu vẫn còn và mô hình vẫn có thể làm việc được một cách bình thường.
EEPROM có độ rộng 64kb và được ghép nối ngoài với vi điều khiển. và vị bộ nhớ
giới hạn như vậy cho nên giới hạn file lập trình không được quá 64kb. Khi toàn bộ
dữ liệu đã được đưa vào nội dụng EEPROM thì quá trình giải mã bắt đầu được tiến
hành, dữ liệu sẽ được giải mã và biến thành các hành động của các trục để thực
hiện quá trình gia công. Các hành động của mô hình bao gồm dịch chuyển trục X
theo hai hướng, dịch chuyển trục Y theo hai hướng, dịch chuyển trục Z theo hai
hướng (nâng hạ mũi khoan), điều khiển cấp tốc độ cho động cơ khoan và đảo chiều
quay cho động cơ khoan. Khi gia công hết chương trình, vi điều khiển kiểm tra mã
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 37
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
lệnh xem có cần lặp lại quá trình gia công hay không, nếu có thì lặp lại còn nếu
không thì kết thúc và chuyển qua chế độ chờ.
3.2. Phân tích và đưa ra giải pháp gia công phần cơ khí cho mô hình.
Hình 3.3: Động cơ và trục bulong sau khi đã ghép với nhau.
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 38
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
Hình 3.3: hệ thống trượt được nối với trục động cơ.
Như chỉ số ở trên hình, bulong số 3 được ghép chặt với thanh trượt số 4 là
thanh trượt có mang động cơ khoan trên đầu. Bulong được sẻ rãnh và ép chặt bằng
hai bulong nhỏ ở hai đầu, nhìn trên mô hình chúng ta có thể thấy được điều này.
Đệm trượt dùng bi số 2 đệm giữa thanh trượt 4 và khung 5 làm cho quá trình dịch
chuyển lên xuống được nhẹ nhàng.
Ở đầu thanh trượt 4, ta cần lắp ghép động cơ khoan với thanh trượt đảm bảo
chắc chắn, khi khoan không bị rung hay bị tuột ra khỏi thanh trượt. Tôi sử dụng đai
để cố định hai chi tiết này với nhau. Hình vẽ 3.4 thể hiện điều này. Động cơ khoan
yêu cầu phải là loại động cơ có mômen đủ để thực hiện gia công trên một vài phôi
nào đó. Ngoài ra nó phải thay đổi được tốc độ khoan, đảo chiều khi cần thiết. Tôi
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 39
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
chọn loại động cơ 1 chiều công suất nhỏ có gắn mũi khoan ở đầu. Ở hình vẽ bên
dưới, động cơ khoan 1 được ghép vào với thanh trượt 2 thông qua đai số 3.
động cơ và trục bulong quay sẽ làm cho vòng bi quay và trượt nhẹ nhàng theo cơ
cấu của vòng bi.
Cuối cùng là việc gá đai ốc vào với bàn trượt. Đai ốc được sẻ một rãnh nhỏ
để bàn khoan có thể gá lên trên đó mà không bị trượt ra ngoài. Việc ghép bàn
khoan và đai ốc là một mối ghép động nhưng vẫn đảm bảo hoạt động tốt khi khoan.
Do sử dụng mỗi ghép động cho nên khi hoạt động kết cấu hệ thống sẽ không bị bó
cứng.
Động cơ được lựa chọn là loại động cơ 1 chiều công suất nhỏ nhưng vẫn
đảm bảo đủ moment trong quá trình hoạt động. Sở dĩ tôi chọn loại động cơ một
chiều để đảm bảo tính linh hoạt cho sự di chuyển của bàn khoan. Nếu sử dụng động
cơ bước cho mô hình sẽ kéo theo sự phức tạp của mạch điều khiển. Kế theo đó sẽ
làm sự di chuyển của bàn khoan sẽ trở nên chậm chạp đi rất nhiều. Còn một vấn đề
nữa, nếu lựa chọn động cơ bước, khi đó ta sẽ thực hiện điều khiển động cơ bước và
đếm bước của động cơ để xác định ra khoảng cách di chuyển. Nhưng nếu một
trường hợp không mong muốn nào đó, bước đưa ra không được thực hiện bởi phần
cơ khí (trường hợp mất bước) thì lúc đó vi điều khiển không thể nào phát hiện ra
được và dẫn đến gia công sẽ bị sai. Còn về phần tốc độ, thử làm một phép tính đơn
giản sẽ thấy được ngay. Giả sử tôi tính cho trục X chẳng hạn, Chiều dài của trục X
là 10cm. Cơ cấu trục vít bánh vít sử dụng loại bulong có bước ren là 1mm, do đó
khi hoạt động, muốn di chuyển một đoạn là 1mm thì động cơ phải quay một vòng.
Còn di chuyển hết trục X (100mm) thì động cơ quay 100 vòng. Nếu sử dụng động
cơ bước để xoay trục, tốc độ tối đa của động cơ bước sẽ khoảng 200 vòng / phút.
Khi đó để di chuyển được hết trục X ở trên thì phải mất khoảng thời gian là 30s.
Còn nếu đối với động cơ 1 chiều với tốc độ khi quay khoảng 2500 vòng / phút. Khi
đó khoảng thời gian để chạy hết trục X là 100/2500 phút và tính vào khoảng 2.4
giây, rõ ràng là nhanh hơn đáng kể. Động cơ sau khi ghép với trục bulong được
ghép vào phần đế bằng một tấm nhựa nhỏ và hai chiếc bulong dài. Điều này có thể
nhìn thấy rất rõ ở hình 3.3 bên dưới. Ở đầu động cơ có gắn encoder, đây là bộ phận
quan trọng và không thể thiếu vì nó cho phép ta xác định được vị trí của bàn khoan.
Encoder này cũng là một thiết bị được gia công thủ công và chỉ có 4 xung cho một
vòng quay của động cơ.
Đế và khung 7 được thiết kế chủ yếu bằng nhựa phíp và nhôm. Các mối ghép
chủ yếu sử dụng là các đinh rút và các bulong cỡ nhỏ, có các mối ghép sử dụng mối
ghép vĩnh cửu như mối ghép giữa thanh gối vòng bi và đế chẳng hạn, một số chi
tiết được lắp ghép bằng mối ghép tháo được như mối ghép ở động cơ.
Hình vẽ bên dưới thể hiện toàn bộ kết cấu cơ khí của phần dịch chuyển trục
X.
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 41
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 42
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
Nhiệm vụ của kết cấu trục Y lúc này không phải chỉ đẩy một bàn khoan duy
nhất như trục X nữa. Lúc này toàn bộ cơ cấu bao gồm bàn khoan, động cơ trục X,
thanh trượt, đế và các chi tiết liên quan sẽ đượt đưa lên thanh trượt của trục Y. Ở
trên hình, số 1 là đế của cơ cấu trục X , trên đó chứa toàn bộ cơ cấu trục X được
trình bày ở trên. Còn lại toàn bộ cơ cấu tịnh tiến và lắp ghép cũng giống hoàn toàn
với cơ cấu của trục X. Động cơ số 5, ở đầu có lắp encoder, đầu còn lại được đóng
cốt với một bulong cùng loại. Thanh trượt được cố định ở hai đầu, đai ốc được xẻ
rãnh để ghép động với đế số 1.
Về cơ bản, ở phần trên tôi đã trình bày các kết cấu cơ khí chính của mô hình
máy CNC loại nhỏ, ngoài ra để mô hình có thể hoạt động được thì cần phải có các
yêu tố khác. Nó đóng góp phần không thể thiếu trong quá trình hoạt động của mô
hình. Ở phần tiếp theo đây tôi xin trình bày về các chi tiết đó.
Hình 3.5: Công tắc hành trình sau khi đã lắp trên mô hình
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 43
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 44
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 45
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
3.3.1.Phân tích lựa chọn vi điều khiển sử dụng điều khiển mô hình
Hình 3.8: Các thanh ghi dữ liệu của các cổng của Atmega16.
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 46
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
Các thanh ghi dữ liệu cổng A, cổng B, cổng C và cổng D đều gồm có 8 bit từ PA0
÷ PA7, PB0 ÷ PB7, PC0 ÷ PC7và PD0 ÷ PD7.
Thanh ghi hướng dữ liệu (Data direction).
Gồm có các thanh ghi: DDRA, DDRB, DDRC, DDRD.
Có chức năng xác định hướng dữ liệu truyền cho các thanh ghi cổng A, cổng B,
cổng C và cổng D. Ví dụ như thanh ghi DDRB được sử dụng để xác định hướng
truyền dữ liệu cho từng chân của cổng B. Khi ghi một giá trị “0” (cũng là giá trị
khôi phục) vào bit bất kỳ của thanh ghi sẽ làm cho bit đó trở thành đầu vào (ghi dữ
liệu vào) và khi ghi giá trị “1” sẽ làm cho nó trở thành đầu ra (đọc dữ liệu ra).
Hình 3.9: Các thanh ghi hướng dữ liệu của các cổng của Atmega16.
Thanh ghi UDR (USART I/O data register).
Thanh ghi đệm truyền nhận dữ liệu có phần giống địa chỉ I/O được xem như thanh
ghi dữ liệu USART hay UDR.
Khi thực hiện quá trình đọc ( nhận) dữ liệu vào thì thanh ghi truyền dữ liệu đệm
(TXB) sẽ đến ghi dữ liệu vào thanh ghi UDR. Còn khi truyền, thanh ghi UDR sẽ
quay trở lại chứa giá trị của thanh ghi nhận dữ liệu đệm (RXB).
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 47
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
Sự truyền bộ đệm chỉ được ghi khi cờ UDRE trong thanh ghi UCSRA được set. Dữ
liệu ghi đến UDR khi cờ UDRE không được kích sẽ đồng ý truyền bởi USART.
Khi dữ liệu được ghi vào đệm phát và thông tin được kích hoạt, thông tin sẽ tải dữ
liệu vào thanh ghi truyền vị trí khi thanh ghi vị trí rỗng. Sau đó dữ liệu sẽ truyền ra
từng chu kỳ trên chân TXD.
Thanh ghi UCSRA (USART Control and Status Register A).
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 48
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 49
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 50
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 51
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
5 V J 1 T 0 1 4 0 4 0
6 T 1 2 P B . 0 / X AC D K C/ T 0 0 / 3 P 9 A . 0 3 9
5 S D A 3 P B . 1 / T A1 D C 1 / 3 P 8 A . 1 3 8
R 1 4 S C L 4 P B . 2 / I N A TD 2 C / A 2 I/ 3NP 7 A0 . 2 3 7
1 0 K 3 5 P B . 3 / O A C D 0 C / A 3 I / N3 P 6 1A . 3 3 6
2 L E D 2 6 P B . 4 / S AS D C 4 / 3P 5 A . 4 3 5
1 7 P B . 5 / M A O D S C I 5 / 3P 4 A . 5 3 4
L E D 1 8 P B . 6 / M A I SD OC 6 / 3 P 3 A . 6 3 3
r e s e t 9 P B . 7 / S AC D K C 7 / 3P 2 A . 7
r e s eC t O N 6 5 V 1 0 R E A S T E TM e gA a R 8 E5 3 F3 1 5 o r 8 5 3 5 L
1 1 V C C G N D3 0
Y 1 1 2 G N D A V C 2C 9
1 3 X T A L 2 T O S C 2 2/ P 8 C . 7
R X D 1 4 X T A L 1 T O S C 1 2/ P 7 C . 6
T X D 1 5 P D . 0 / R X D P C . 25 6
L E D 3 1 6 P D . 1 / T X D P C . 24 5
X M / S M 1 7 P D . 2 / I N T 0P C . 2 3 4
1 8 P D . 3 / I N T 1P C . 2 2 3
C 1 C 2 1 9 P D . 4 / O SC D 1 AB / P 2 C2 . 1
C A P N P C A PR ON LP E 2 0 P D . 5 / O SC C 1 AL / P 2 C 1 . 0 P W M
P D . 6 / I CO PC 1 2 / P D . 7
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 52
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
Các chân tín hiệu còn lại được nối ra bên ngoài với các nhiệm vụ riêng biệt
của từng khối. Ở dưới đây là bảng thể hiện chức năng các chân cổng sử dụng cho
việc điều khiển các modul bên ngoài.
Bảng 3.1: Bảng chức năng của các chân sử dụng trong vi điều khiển.
3.3.2. Thiết kế khối giao tiếp với máy tính thông qua cổng truyền thông đa năng
USART.
Do sự khác biệt về mức tín hiệu 0 và 1 ở hai điểm: máy tính và vi điều khiển
cho nên muốn ghép nối giữa hai điểm này ta cần phải sử dụng một mạch chuyển
đổi tín hiệu để cho hai bên có thể “hiểu” được nhau. Có thể nói một cách rõ ràng
hơn, trên cổng COM của máy tính sử dụng hai mức điện áp 0 ứng với +12v, mức
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 53
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
điện áp 1 ứng với -12v trong khi đó tại cổng nối tiếp của vi điều khiển thì lại khác
biệt hoàn toàn. Ứng với mức điện áp 0v sẽ qui định đó là mức 0, còn ở mức điện áp
5v sẽ coi là mức 1. Hình vẽ 3.18 bên dưới là
5 V
16
J 2 U 2
3 1 3 1 2 R X D
R 1 I N R 1 O U T
VC C
2 8
1 1 4 R 2 I N
7 T 1 O U T 9
T 2 O U T R 2 O U T
C O N 3 1
C 1 1 3 C + 1 0
C A P 4 C 1 - T 2 I N
5 C 2 +
2 C 2 - 1 1 T X D
V + T 1 I N
G N D
C 1 2 6
C A P C 2 0 V -
M a x _ _ 2 3 2
C A P
15
C 1 4
C A P
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 54
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
tránh khỏi. Khi sảy ra sự cố đó vi điều khiển thực hiện reset lại toàn bộ hệ thống và
điều này không làm mất nội dung chương trình bên trong EEPROM.
EEPROM được chọn là EEPROM 24c64, như cái tên của nó đã thể hiện, độ
rộng vùng nhớ ở bên trong là 64Kbyte. Với con số này thì giới hạn người lập trình
chỉ được viết các chương trình sao cho có độ lớn nhỏ hơn 64kbyte. Tuy nhiên, con
số trên có thể chứa đươc 65.535 ký tự mã lệnh. Nó cũng không phải là một con số
nhỏ.
EEPROM chỉ có 8 chân trong đó có 2 chân nguồn nuôi, 2 chân giao tiếp dữ
liệu qua lại, một chân cấm ghi vào trong nội dung khi cần. 3 chân còn lại có nhiệm
vụ tạo thành địa chỉ của nó trên mạng giao tiếp. EEPROM giao tiếp với thế giới
bên ngoài thông qua chuẩn giao tiếp I2C. Hình vẽ 3.19 bên dưới của EEPROM tôi
đang nói đến.
Ở trên hình 3.13, hình b là hình ảnh thật về EEPROM. Nó chỉ có 8 chân như
đã nói và được đóng vỏ 2 hàng chân hai bên. Ở hình c là sơ đồ chân chức năng cho
EEPROM. Cũng như bất kì thiết bị giao tiếp I2C nào khác, nó cũng có địa chỉ của
mình ở trên hệ thống bus chung. Hình a cho ta biết địa chỉ của EEPROM sẽ như thế
nào ở trên mạng I2C. Byte địa chỉ lựa chọn (device select code) bao gồm 3 phần,
phần đầu được nhà sản xuất đánh cố định là 1010 bao gồm các bit ở phần cao của
byte. Các bit E0, E1, E2 được qui định từ các chân 1, 2, 3 của EEPROM. Như vậy
là do cách kết nôi 3 chân này lên mức cao hay mức thấp mà EEPROM sẽ có một
địa chỉ khác nhau trên mạng I2C. Do chỉ có 3 bit nên có thể khẳng định luôn là địa
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 55
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
chỉ của loại EEPROM này chỉ có thể tạo được 23 =8 địa chỉ khác nhau. Và tất nhiên
trên một mạng I2C không thể tồn tại quá 8 EEPROM 24c64 được. Bít cuối cùng
qui định hướng giao tiếp dữ liệu với EEPROM. Nếu bít này là 1 thì hành động đọc
nội dung sẽ được thực hiện. Còn nếu bít này bằng 0 thì hành động ghi vào nội dung
sẽ được thực hiện.
Việc kết nối với vi điều khiển rất đơn giản chỉ cần cấp nguồn cho EEPROM
và kết nối với vi điều khiển thông qua hai dây dữ liệu và xung nhịp như ở hình 3.20
dưới đây. Để đảm bảo cho chuẩn I2C hoạt động bình thường thì cần phải có hai
điện trở kéo lên mức cao có giá trị 10k.
U 25 4 C 6 4 R 2 R 3
1 8 R R
2 a 0 V c c7
3 a 1 W C 6 S C L
4 a 2 S C L5 S D A
g n Sd D A
3.3.4. Sơ đồ mạch điện phần công suất điều khiển động cơ.
Về nguyên lý thì vi điều khiển chỉ có thể đưa ra chân cổng của mình mức
điện áp 5v với dòng rất nhỏ cỡ vài trăm mili ampe. Do đó không thể dùng mức
dòng điện và điện áp này để điều khiển động cơ các trục được. Do đó mạch công
suất có nhiệm chuyển tín hiệu điều khiển thành dòng và áp đủ để điều khiển được
động cơ.
Đối với động cơ 1 chiều có rất nhiều cách, rất nhiều phương pháp để điều
khiển, trước hết tôi sẽ nói tới động cơ 1 chiều ở hai trục X và trục Y. Đây là hai
động cơ không cần điều khiển tốc độ, có nghĩa là chỉ cấp nguồn cho quay thuận,
quay ngược hoặc là dừng lại. Để thực hiện điều này thì mạch công suất cần phải có
dạng cầu H. Đây là sơ đồ mạch có hình giống chữ H giúp cho việc đảo chiều và
dừng động cơ. Có lẽ là chúng ta không ai không biết về mạch cầu H nữa cho nên
tôi sẽ không giới thiệu về nó ở đây nữa. Về mạch cầu H ở đây lại có thể sử dụng
nhiều cách, có thể tự lắp ghép lấy từ các linh kiện rời rạc, hoặc cũng có thể sử dụng
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 56
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
các loại chip có tích hợp sẵn các cầu H rất đa dạng. Ở đây tôi chọn cách thứ hai sử
dụng chip chuyên dụng có tích hợp sẵn cầu H. Chip tôi chọn có tên là L298 là loại
chip rất thông dụng và dễ kiếm ở ngoài chợ, hoạt động cũng tương đối ổn định với
dòng cho phép khoảng 2A chạy qua, phù hợp để điều khiển các loại động cơ 1
chiều cỡ nhỏ như các động cơ được tôi sử dụng cho mô hình của mình. Do có chứa
2 cầu H cho nên đối với động cơ các trục X và Y chỉ cần 1 chip L298 là đủ.
Đối với động cơ trục Z là động cơ bước, thực chất động cơ bước cũng chứa
các cuộn dây ở bên trong và cũng yêu cầu phải đảo chiều các cuộn dây này, do đó
chip L298 vẫn được dùng cho động cơ trục Z. Tuy nhiên động cơ bước tôi sử dụng
có chứa bên trong hai cuộn dây nên để điều khiển được động cơ này cần sử dụng
hết toàn bộ hai cầu H ở bên trong Chip L298.
Hình vẽ 3.21 bên dưới đây tôi sẽ giới thiệu sơ qua về L298 để chúng ta có
thể hiểu rõ hơn và sử dụng linh hoạt nó trong việc điều khiển động cơ.
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 57
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 58
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
U 6 J 4
U 8
3 6 5 2 D C 1 1
3 5 7 1 A 1 1 Y 13 D C 2 2 P W M 5 2 D C 5
1 A 2 1 Y 2 D C 3 3 R O L E 7 1 A 1 1 Y 13 D C 6
3 4 1 0 1 3 D C 4 4 1 A 2 1 Y 2
3 3 1 2 2 A 1 2 Y 11 4 D C 5 5 1 0 1 3
2 A 2 2 Y 2 D C 6 6 1 2 2 A 1 2 Y 11 4
1 2 A 2 2 Y 2
1 5 1 E 1
2 E C O N 6 1 5 1 E
5 V 6 2 E
1 1 1 E N 5 V 6
2 E N 1 1 1 E N
5 V 9 2 E N
V C C 1
G N D
1 2 V 4 5 V 9
V C C 2 V C C 1
G N D
1 2 V 4
V C C 2
L 2 9 8
8
L 2 9 8
8
U 7 J 3
4 0 5 2 S T E P 1 1
3 9 7 1 A 1 1 Y 13 S T E P 2 2
1 A 2 1 Y 2 3
3 8 1 0 1 3 S T E P 3 4
3 7 1 2 2 A 1 2 Y 11 4 S T E P 4
2 A 2 2 Y 2 M O T O R B U O C
1
1 5 1 E
2 E
5 V 6
1 1 1 E N
2 E N
5 V 9
V C C 1
G N D
1 2 V 4
V C C 2
L 2 9 8
8
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 59
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
1 2 V
D 3 8 D 9 D 3 9 D 4 0 D 3 3 D 3 1 D 1 2 D 2 9 D 3 6 D 4 1
D I O D E D I O D E D I O D ED I O D E D I O D E D I O D E D I O D E D I O D E D I O D E D I O D E
D C 5 D C 6 S T E P 1 S T E P 2 S T E P 3 S T E P 4
D C 1 D C 2 D C 3 D C 4
D 3 7 D 8 D 1 0 D 1 1 D 5 D 3 2 D 1 3 D 3 0 D 3 5 D 3 4
D I O D E D I O D E D I O D ED I O D E D I O D E D I O D E D I O D E D I O D E D I O D E D I O D E
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 60
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
7 8 0 5
U 4
1 2 V
1 3 5 V
I N O U T
G N D
D 4 3
1
c a u 5 a
2
+
J 7
2 2 3 C 1 0
1 C A P 7 8 0 5
U 3
-
C O N 2 1 3
I N O U T
G N D
4
2
5 V 1 2 V
C 1 3 C 2 1 C 1 5 C 2 2 C 9 C 1 9
C A P C A P C A P C A P C A P C A P
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 61
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
Đối với dòng vi điều khiển AVR, có rất nhiều công cụ hỗ trợ được cài vào
máy tính và hỗ trợ trong quá trình lập trình rất tốt. Một trong những công cụ đó tôi
chọn phần mềm codevision AVR. Đây là một công cụ hỗ trợ rất mạnh cho phép
người sử dụng lập trình vi điều khiển trên nền ngôn ngữ lập trình C. Ngoài ra hệ
thống thư viện phần mềm cũng cấp cho người dùng rất phong phú và rất dễ sử
dụng. Ở đây tôi sẽ giới thiệu một cách rất tổng quan về cách sử dụng phần mềm, để
biết thêm chi tiết có thể tìm ở những tài liệu có rất nhiều ở trên mạng.
Sau khi cài đặt và đăng kí bản quyền phần mềm, lần đầu tiên khởi động lên
cửa sổ màn hình được nhìn thấy như hình 3.26 bên dưới.
Lần đầu tiên ta phải tiến hành vào settings >programmer để tiến hành chỉnh
thông số của phần mềm cho phù hợp với mạch nạp sử dụng. Đối với mạch nạp tôi
sử dụng thông qua cổng LPT sử dụng giao thức nạp STK200+/300 (giao thức nạp
nối tiếp). Sau khi tiến hành chỉnh thông số ta bắt đầu làm việc với phần mềm.
Để bắt đầu một dự án mới ta sử dụng một công cụ hỗ trợ mã lập trình của
codevision AVR. Để khởi động nó lên ta vào tools chọn codewizard AVR của sổ
mới hiện ra như hình 3.27 bên dưới. Ở đây sau khi đã chọn chip và thạch anh phù
hợp với phần cứng, ta sẽ bắt đầu tiến hành chọn các khối cần thiết cho phần mềm
của mình . Ở trên codewizard sẽ hiển thị toàn bộ các khối phần cứng được tích hợp
bên trong vi điều khiển. Cuối cùng ta vào thực đơn file và chọn save lại lựa chọn
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 62
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
của mình, sau đó trên cửa sổ lập trình sẽ hiển thị code sau khi đã chọn các modul
phần cứng.
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 63
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
Toàn bộ nội dung mã lệnh sau khi đã triển khai được xây dựng trên hai file
bao gồm file V2.C và file lib.h. Khi lập trình ta tiến hành dịch hai file này thành file
hex và nạp vào bộ nhớ flash của chip. Dưới đây là nội dung của hai file này.ư
File V2.C
#include <mega16.h>
#include<string.h>
#include<lib.h>
char str[]="Y+230X+200M+1Z+7000Z-1100Z+1100M+1M-1Z-1100Y+20X+20M+1Z+7000Z-
1100Z+1100M+1M-1Z-1100S";
interrupt [USART_RXC] void usart_rx_isr(void)
{
unsigned char content;
content=UDR;
if (content=='O') {
ew(0xfffe,count_eep); //cat giu dia chi
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 64
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
void main(void)
{
unsigned long i;
ACSR=0x80;
SFIOR=0x00;
init_spi();
i2c_init();
init_uart();
IO_init();
wde();
TCNT0=0;
TCNT1=0;
TCCR0=0x06;
TCCR1B=0x06;
dcz(-1,30000);
dcx(-1);
dcy(-1);
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 65
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
#asm(“wdr”)
}
}
File lib.h
#include<spi.h>
#include<stdlib.h>
#include<delay.h>
#include<stdio.h>
#include<math.h>
// I2C Bus functions
#asm
.equ __i2c_port=0x18 ;PORTB
.equ __sda_bit=2
.equ __scl_bit=3
#endasm
#include <i2c.h>
void test ()
{
unsigned int *ptr;
ptr=&n;
(*ptr)=123456;
}
unsigned int mu(unsigned int n, unsigned char i)
{ unsigned char j,a;
a=n;
n=1;
for (j=0;j<i;j++) n=n*a;
return n;
}
unsigned char led[11]={0x7d,0x05,0x5b,0x1f,0x27,0x3e,0x7e,0x15,0x7f,0x3f,0};
hienthi(unsigned long n)
{
char str[8]={58,58,58,58,58,58,58,58};
if (n>999999) { spi(0x02);spi(0x02);spi(0x02);spi(0x02);spi(0x02);spi(0x02);}
else {
ltoa(n,str);
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 66
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
spi(led[str[0]-48]);
spi(led[str[1]-48]);
spi(led[str[2]-48]);
spi(led[str[3]-48]);
spi(led[str[4]-48]);
spi(led[str[5]-48]);
}
PORTD.2=0;
PORTD.2=1;
}
void delay(unsigned long i)
{
i=i*250;
while (i!=0)
{
#asm("wdr");
i--;
}
}
void ew(unsigned int dchi, unsigned char dlieu)
{
i2c_start();
i2c_write(i2c_addr);
i2c_write(dchi/256); //byte cao
i2c_write(dchi%256); //byte thap
i2c_write(dlieu);
i2c_stop();
delay_ms(5); //10ms de viet xong
}
i2c_start();
i2c_write(i2c_addr);
i2c_write(dchi_cao);
i2c_write(dchi_thap);
i2c_start(); //start repeat
i2c_write(i2c_addr | 1);
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 67
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
UCSRA=0x00;
UCSRB=0x98;
UCSRC=0x86;
UBRRH=0x01;
UBRRL=0xA0;
}
void IO_init()
{
DDRC=0xff;//khoi tao cong C
PORTC=0x00;//CAM CAC DONG CO
DDRD=0;//HUONG DU LIEU DAU VAO
PORTD=0XFF;//TREO LEN DUONG NGUON
DDRD.6=0;//CHAN DAO CHIEU CONG DCK PHAI DAT DAU RA
PORTD.6=0;//XOA VE 0
PORTD.7=0;
}
void dcx(int n)
{
if (n==0) {PORTA.7=0;PORTA.6=0;}
if (n==1) {PORTA.7=1;PORTA.6=0;}
if (n==-1) {PORTA.7=0;PORTA.6=1;}
}
void dcy(int n)
{
if (n==0) {PORTA.4=0;PORTA.5=0;}
if (n==1) {PORTA.4=1;PORTA.5=0;}
if (n==-1) {PORTA.4=0;PORTA.5=1;}
}
void dck(int n, unsigned char i)
{
if (n==0) {PORTD.6=0;PORTD.7=0;}
if (n==1) {PORTD.6=1;PORTD.7=0;}
if (n==-1) {PORTD.6=0;PORTD.7=1;}
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 68
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
i=0;
}
void L1(int n)
{
if (n==0) {PORTA.0=0;PORTA.1=0;}
if (n==1) {PORTA.0=1;PORTA.1=0;}
if (n==-1) {PORTA.0=0;PORTA.1=1;}
}
void L2(int n)
{
if (n==0) {PORTA.2=0;PORTA.3=0;}
if (n==1) {PORTA.2=1;PORTA.3=0;}
if (n==-1) {PORTA.2=0;PORTA.3=1;}
}
void L(unsigned i)
{
if (i==1) {L1(1);delay_us(1500); }
if (i==2) {L2(1);delay_us(1500);}
if (i==3) {L1(-1);delay_us(1500);}
if (i==4) {L2(-1);delay_us(1500);}
}
if (i==1)while (t!=n)
{
#asm("wdr");
L(k);
k--;
if (k==0) k=4;
t++;
hienthi(k);
}
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 69
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
if (i==0) {L1(0);L2(0);}
L1(0);
L2(0);
}
void active()
{
unsigned int d=0;
unsigned char i=0,delta=0;
unsigned int far=0;
///
if (er(d)==88/*x*/) { for (i=0;i<delta;i++) far=far+(er(d+2+i)-48)*mu(10,delta-1-i);
if (er(d+1)==43/*+*/) dcx(1);
if (er(d+1)==45/*-*/) dcx(-1);
TCNT1=0;
TCCR1B=0x07;
while (TCNT1 <= far) {#asm("wdr");hienthi(TCNT1);}
dcx(0);
TCCR1B=0x00;
d=d+delta+2;
continue;
}
if (er(d)==89/*y*/) { for (i=0;i<delta;i++) far=far+(er(d+2+i)-48)*mu(10,delta-1-i);
if (er(d+1)==43/*+*/) dcy(1);
if (er(d+1)==45/*-*/) dcy(-1);
TCNT0=0;
TCCR0=0x07;
while (TCNT0 <= far) {#asm("wdr");hienthi(TCNT0);}
dcy(0);
d=d+delta+2;
TCCR0=0x00;
continue;
}
if (er(d)==90/*z*/)
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 70
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
{
for (i=0;i<delta;i++) far=far+(er(d+2+i)-48)*mu(10,delta-1-i);
if (er(d+1)==43/*+*/) dcz(1,far);
if (er(d+1)==45/*-*/) dcz(-1,far);
dcz(0,0);
d=d+delta+2;
continue;
}
if (er(d)==77/*m*/)
{
if (er(d+1)==43/*+*/) dck(1,0);
if (er(d+1)==45/*-*/) dck(-1,0);
d=d+delta+2;
delay(2000);
continue; dck(0,0);
}
if (er(d)==83/*s*/) break;
}
//////////////////////////////
}
void init_spi()
{
DDRB=0xb0;
DDRB.0=0;
DDRB.1=0;
DDRD.2=1;
SPCR=0x50;
SPSR=0x00;
}
void wde()
{
#pragma optsize-
WDTCR=0x1E;
WDTCR=0x0E;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif
}
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 71
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
của phần mềm trên máy tính không nhiều cho nên về cơ bản phần mềm khá đơn
giản nhưng vẫn đảm bảo đủ các tính năng cần thiết. Dưới đây là giao diện của phần
mềm.
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 72
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
str = ""
f = FreeFile
Open "E:\Bui Duc Tho1\do an tot nghiep\VB\txt\1.txt" For Input As #f
j=0
Do While Not EOF(f)
j=j+1
Line Input #f, s 'doc file
s = Trim(s) 'cat khoang trong dau va cuoi
If (Asc(a) < 48 Or Asc(a) > 58) And a <> "X" And a <> "Y" And a <>
"Z" And a <> "M" And a <> "F" And a <> ";" And a <> "-" And a <> "+" Then
MsgBox "KÝ tù '" + Mid$(s, i, 1) + "' kh«ng ph¶i tõ kho¸ cña lÖnh t¹i
dßng sè " & j
Exit Sub
End If
Next
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 73
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
't¸ch kho¶ng
t = vCount(s, ";")
buf = Split(s, ";")
For i = 0 To t - 1
buf1 = buf(i)
a = UCase(Mid$(buf1, 1, 1))
k = Val(Mid$(buf1, 2, Len(buf1) - 1))
If a = "M" And k <> 1 And k <> 2 Then
MsgBox "PhÝa sau M ph¶i lµ 1 hoÆc 2, ch¬ng tr×nh lµ: " & k & ", Lçi t¹i
dßng sè " & j
Exit Sub
End If
a = UCase(Mid$(buf1, 2, 1))
If (Asc(a) > 58 Or Asc(a) < 48) And a <> "-" And a <> "+" Then
MsgBox "Sau ch÷ c¸i ph¶i lµ sè hoÆc dÊu, lçi t¹i dßng sè: " & j
Exit Sub
End If
a = Mid$(buf1, 2, Len(buf1) - 1)
If Not IsNumeric(a) Then
MsgBox "Lçi t¹i dßng sè " & j
Exit Sub
End If
a = UCase(Mid$(buf1, 1, 1))
If a = "X" Then dx = dx + Val(Mid$(buf1, 2, Len(buf1) - 1))
If a = "Y" Then dy = dy + Val(Mid$(buf1, 2, Len(buf1) - 1))
If a = "Z" Then dz = dz + Val(Mid$(buf1, 2, Len(buf1) - 1))
If Val(Mid$(buf1, 2, Len(buf1) - 1)) > 0 Then
str = str + a + "+" + Mid$(buf1, 2, Len(buf1) - 1)
Else:
str = str + buf(i)
End If
Next
Loop
If dz > 100 Or dx > 100 Or dy > 100 Then
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 74
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
MsgBox "DÞch chuyÓn vît qu¸ giíi h¹n cho phÐp", , "Th«ng b¸o lçi"
Exit Sub
End If
Close #f
MsgBox "DÞch thµnh c«ng", , "Th«ng b¸o"
Text2.Text = UCase(str)
End Sub
.PortOpen = True
End If
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 76
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
End With
COMbo1.Text = ""
End Sub
Bảng 3.2: Bảng chức năng của các ký tự chức năng trong lập trình mô hình
Kí tự Chức năng Ví dụ minh họa
X Dịch chuyển dọc trục X • X-20: dịch chuyển theo chiều âm
20mm
• X30: dịch chuyển theo chiều dương
30mm
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 77
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
30mm
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 78
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
KẾT LUẬN
Đề tài đã thực hiện được 3 nhiệm vụ:
- Nghiên cứu thành công về cấu trúc và hoạt động của mộ hệ
thống CNC và NC
- Đưa ra thiết kế chi tiết để cải tiến máy Micro Lathe thành một
chiếc máy gia công bán tự động
- Chế tạo thành công mô hình máy CNC loại nhỏ và đã chạy thử
nghiệm thành công.
Ngoài ra khi thực hiện đề tài này, tôi học thêm được nhiều kiến thức về mặt
lập trình CNC, lập trình C cũng như lập trình Visual basic.
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 79
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 80