You are on page 1of 80

Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.

S Nguyễn Văn Tiềm

MỤC LỤC

MỤC LỤC.................................................................................................................1

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

CHƯƠNG 1: TÌM HIỂU VỀ MÁY GIA CÔNG TỰ ĐỘNG..............................3


Phân loại.............................................................................................................19
1.5. Lập trình ...............................................................................................................................................................20
1.5.1. Lập trình bằng máy..................................................................................20
1.5.2. Ngôn ngữ lập trình....................................................................................20
1.5.3. Ngôn ngữ lập trình tự động.....................................................................20
Kết luận chương 1........................................................................................................................................................21

CHƯƠNG 2 : THIẾT KẾ CẢI TIẾN MÁY GIA CÔNG ĐA NĂNG MICRO


LATHER.................................................................................................................21
2.1. Cơ bản về thiết bị cần cải tiến..............................................................................................................................22

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

CHƯƠNG 3: THIẾT KẾ MÔ HÌNH MÁY CNC LOẠI NHỎ.........................35


3.1. Tổng quan, phạm vi và chức năng của máy.......................................................................................................35
Sơ đồ khối............................................................................................................35
3.2. Phân tích và đưa ra giải pháp gia công phần cơ khí cho mô hình....................................................................38
3.2.1. Kết cấu cơ khí trục Z.................................................................................38
3.2.2. Kết cấu cơ khí trục X.................................................................................40
3.2.3. Kết cấu cơ khí trục Y.................................................................................42
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 1
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm

3.2.4. Công tắc hành trình..................................................................................43


3.2.5. Gá mạch và tản nhiệt cho IC công suất...................................................44
3.2.6. Lắp ghép mô hình......................................................................................44
3.3. Phân tích và thiết kế mạch điện điều khiển........................................................................................................45
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...............46
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........................................................................................................53
3.3.3. Sơ đồ mạch điện cho bộ nhớ ngoài.........................................................54
3.3.4. Sơ đồ mạch điện phần công suất điều khiển động cơ.............................56
3.3.4. Sơ đồ mạch nguồn.....................................................................................60
3.4. Thiết kế phần mềm...............................................................................................................................................61
3.4.1. Thiết kế phần mềm cho vi điều khiển.......................................................61
3.4.2. Thiết kế giao diện trên máy tính...............................................................71
3.5. Chạy thử mô hình và đánh giá kết quả...............................................................................................................78

3.6. Kết luận chương 3.................................................................................................................................................78

KẾT LUẬN.............................................................................................................79

TÀI LIỆU THAM KHẢO.....................................................................................80

LỜI NÓI ĐẦU


Ngày nay máy tính càng ngày càng đi sâu vào các lĩnh vực của đời sống xã
hội, đặc biệt là các nghành khoa học và kĩ thuật thì máy tính hầu như không thể
thiếu được. Nếu không có sự ra đời của bộ máy tính thì nghành khoa học kĩ thuật
cũng như các nghành khác sẽ phát triển như thế nào. Thử lấy một ví dụ, người công
nhân muốn thiết kế ra một chi tiết máy sử dụng các công cụ có sẵn của mình. Khi
đó, anh ta phải căn cứ vào bản vẽ và tất nhiên phải có khả năng đọc bản vẽ, căn cứ
vào bản vẽ để thực hiện gia công chi tiết đó trên máy gia công của mình. Anh ta
cần phải biết được gia công phần nào trước, phần nào sau. Độ chính xác của chi tiết
thì lại không thể tính toán được bằng các công thức mà nó chỉ phụ thuộc vào chiếc
máy anh ta gia công và trình độ bậc thợ của anh ta. Như vậy ta cũng có thể thấy
được chi tiết gia đời mất rất nhiều thời gian và công sức, mà kết quả đem lại lại
không được cao. Nếu đem gia công 1000 chi tiết thì sẽ thấy được năng suất công
việc rất thấp. Do đó sự can thiệp của máy tính vào lĩnh vực này là điều tất yếu,
chiếc máy CNC đã được ra đời để giải quyết vấn đề cho người công nhân.

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.

CHƯƠNG 1: TÌM HIỂU VỀ MÁY GIA CÔNG TỰ ĐỘNG

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...

Hình 1.1: Mô hình điều khiển DNC

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ể.

Hình 1.2: Mô hình điều khiển sản xuất tổ hợp CIM

1.2. Cấu tạo của các máy NC, CNC


1.2.1. Phân biệt máy CNC và máy NC
Máy NC, CNC đều là các máy gia công tự động, sự khác biệt cơ bản giữa hai
loại này đó là:
- Máy NC có qui mô lớn hơn, nó thường được chia ra làm các dây chuyền,
công đoạn sản xuất chi tiết. Toàn bộ quá trình sản xuất chi tiết được chia ra làm
các công đoạn khác nhau như gia công thô, gia công tinh, chuyển phôi …Ngoài ra
chương trình làm việc và quá trình gia công được quyết định chủ yếu bởi các linh
kiện điện tử phần cứng, sự thay đổi chương trình chỉ ở một phần nhỏ các thông số
hoạt động của hệ thống, và dĩ nhiên nó không có sự can thiệp của máy tính trong
mục đích lập trình cũng như thay đổi chương trình làm việc.
- Đối với máy CNC, nó là một sản phẩm của lý thuyết điều khiển số, có nghĩa
là toàn bộ quá trình vận hành từ khi đưa phôi vào máy cho đến khi ra sản phầm đều
có sự dám sát và điều khiển của hệ thông các cảm biến và các bộ sử lý. Sự khác
biệt với máy NC là máy CNC có thể thay đổi chương trình làm việc của mình trên
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 5
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm

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

Hình 1.3: Cấu tạo máy CNC

Phần thân và đế máy


Thường được chế tạo bằng các chi tiết gang vì gang có độ bền nén cao gấp
10 lần so với thép và đều được kiểm tra sau khi đúc để đảm bảo không có khuyết
tật đúc Bên trong thân máy chứa hệ thống điều khiển, động cơ của trục chính và rất
nhiều hệ thống khác
Yêu cầu:
- Phải có độ cứng vững cao.
- Phải có các thiết bị chống rung động
- Phải có độ ổn định về nhiệt
Mục đích:
- Đảm bảo độ chính xác cao khi gia công
- Đế máy để đỡ toàn bộ máy tạo sự ổn định và cân bằng cho máy
a. Bàn máy và bàn xoay

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.

Hình 1.4: 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

Hình 1.5: Bàn xoay có trục chính nằm ngang

• Loại bàn xoay có động cơ lắp phía sau


- Loại bàn xoay này có khả năng hạn chế sự rung động khi máy đang làm
việc.
- Loại động cơ này có thể che chắn nước và phoi vụn, không cho chúng rơi
vào động cơ.
Hình 1.6 là hình ảnh thực tế của một loại bàn xoay có động cơ lắp phía sau:

Hình 1.6: Bàn xoay có động cơ lắp phía sau

• Loại bàn xoay có lỗ trục chính lớn


Loại bàn xoay này có trục chính có lỗ lớn, dùng để gia công các phôi dài
hoặc các ống. Kích thước lỗ trục chính của chúng có khả năng được mở rộng để mở
rộng phạm vi làm việc cho máy. Loại này thích hợp cho việc sản xuất hàng khối.
Tương tự như loại bàn xoay tiêu chuẩn, loại bàn xoay này cũng được chia làm hai
loại trục chính nằm ngang và loại trục chính thẳng đứng. Nhìn vào hình 1.7 ta cũng
có thể thấy bàn xoay này có lỗ rất lớn ở tâ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

Hình 1.7: Loại bàn xoay có lỗ trục chính lớn

• Loại bàn xoay có nhiều trục chính


Loại bàn xoay nhiều trục chính cho phép gá đặt cùng lúc nhiều chi tiết. Loại
bàn xoay nhiều trục chính có năng suất gấp nhiều lần so với loại bàn xoay tiêu
chuẩn, thích hợp cho sản xuất hàng loạt và hàng khối. Hình 1.8 minh họa cho loại
bàn xoay có nhiều trục chính.

Hình 1.8: Loại bàn xoay nhiều trục chính

• Loại bàn xoay nghiêng


Loại bàn xoay này có hai trục. Bàn xoay có thể nghiêng đi nhờ xoay quanh
được một trục nào đó. Do đó loại này có khả năng công nghệ cao, có thể sử dụng
làm đồ gá để gia công các mặt phẳng, các rãnh các gờ lồi và đặt biệt là gia công các
bề mặt nghiêng ở nhiều góc độ khác nhau. Loại bàn xoay này được phân ra hai loại
như sau:
- Loại điều khiển nghiêng tự động: cả hai trục của bàn xoay được điều khiển
hoàn toàn tự động từ hệ thống CNC.
- Loại điều khiển nghiêng bằng tay: chuyển động làm nghiêng trục được thực
hiện bằng tay.
Dưới đây là hình ảnh minh họa cho loại bàn xoay có trục chính nằm nghiêng.

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

Hình 1.9: Loại bàn xoay nghiêng

• 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

Điều khiển Đai


- Truyền động từ
động cơ tới trục Điều khiển trực
chính thông qua tiếp
dây đai. - Ưu điểm chính là
nó có thể cải thiện Điều khiển Bánh răng
- Sự kết hợp tốt
được tốc độ trục - Nó có khả năng duy
giữa
chính lên đến trì tốc độ 10000v/p chế
momen và tốc độ 12000v/p độ tải nặng
tạo ra nhiều sự lựa - Tạo ra quá trình
chọn làm
cho chế độ làm việc việc êm
của máy.

Hình 1.10: các kiểu truyền động trục chính

c. Hệ thống thanh trượt


Hệ thống thanh trượt dẫn hướng có nhiệm vụ dẫn hướng cho các chuyển
động của bàn theo X,Y và chuyển động lên xuống theo trục Z của trục chính. Yêu
cầu của hệ thống thanh trượt trượt phải thẳng, có khả năng tải cao độ cứng vững
tốt, không có hiện tượng dính, trơn khi trượt

Hình 1.11: Hệ thống thanh trượt

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à:

Hình 1.12: Các kiểu ổ tích dao

Ưu điểm so với thao tác bằng tay


• Rút ngắn được thời gian đổi dụng cụ
• Tránh được lỗi
• Tránh được rủi ro tai nạn
• Có khả năng tự động hóa ở cấp độ cao
Nhược điểm
• Nhu cầu đầu tư bổ sung
• Tăng chi phí cho lắp đặt
Cơ cấu thay dao tự động
Cùng với ổ tích dao cơ cấu thay dao tự động giúp cho việc thay dao được
chính xác và nhanh gọn, nâng cao tính tự động hóa .Trong quá trình gia công khi
cần chuyển sang nguyên công cắt gọt khác cần phải thay dao thì ta không phải
dừng máy để thay dao bằng tay mà hệ thống sẽ tự động thay dao theo chương trình
ta đã lập trình sẵn.

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

Hình 1.13: Cơ cấu thay dao

e. các xích động học của máy CNC


Các đặc điểm của hệ thống máy công cụ điều khiển số:
Tất cả các đường chuyền động đến từng cơ cấu chấp hành của máy công cụ điều
khiển số đều dùng những nguồn động lực riêng biệt, bởi vậy các xích động học chỉ
còn 2 loại cơ bản sau:
- Xích động học tốc độ cắt gọt ( hình b )
- Xích động học của chuyền động chạy dao ( hình a )
Thông thường các xích cắt gọt bắt đầu từ một động cơ có tốc độ thay đổi vô
cấp, dẫn đông trục chính thông qua một hộp tốc độ có từ 2 đến 3 cấp độ, nhằm
khuyếch đại các mômen cắt đạt trị số cần thiết trên cơ sở tốc độ ban đầu của động
cơ. Xích động học chạy dao bao gồm các phần tử, các cụm kết cấu đảm bảo các
chuyển động của bàn xe dao trên máy công cụ điều khiển số. Xích chạy dao phải
thỏa mãn một số chức năng sau:
- Truyền động cho các bộ phận dịch chuyển với tốc độ đều, chạy êm và ổn
định.
- Thực hiện được các thay đổi vận tốc theo chương trình, xác định được cả
về trị số và chiều, không có sự tháo lỏng chi tiết hoặc thay đổi vị trí tương
đối giữa dao và chi tiết gia công.
- Cung cấp các lực cần thiết để thắng các thành phần lực cắt theo chiều
chuyển động.
- Trong trường hợp cần thiết, các bộ phận nào đó cần phải đảm bảo nhiều
chức năng đo lường các dịch chuyển của bàn xe dao.

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

Hình 1.14: Hai loại xích động học

Để 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ố.

1.3. Các động cơ sử dụng trên máy CNC


1.3.1. Động cơ 1 chiều
Ưu điểm:
• Momen khởi động lớn,dễ điều khiển tốc độ và chiều, giá thành rẻ
Nhược điểm:
• Dải tốc độ điều khiển hẹp.
• Phải có mạch nguồn riêng.
1.3.2. Động cơ xoay chiều
Ưu điểm:

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

• Cấp nguồn trực tiếp từ điện lưới xoay chiều.


• Đa dạng vâ rất phong phú về chủng loại, giá thành rẻ
Nhược điểm:
• Phải có mạch cách ly giữa phần điều khiển và phần chấp hành để đảm bảo
an toàn, momen khởi động nhỏ.
• Mạch điều khiển tốc độ phức tạp,(biến tần).
1.3.4. Động cơ bước
Ưu điểm:Điều khiển vị trí, tốc độ chính xác, khônng cần mạch phản hồi
Thường được sử dụng trong các hệ thống máy CNC.
Nhược điểm: Giá thành cao, momen xoắn nhỏ, momen máy nhỏ

Hình 1.15: Hình ảnh thực tế của động cơ bước

Động cơ bước được chia ra làm nhiều loại, bao gồm:

Động cơ nam châm vĩnh cửu :


Hay còn gọi là động cơ bước kiểu tác dụng và thường được chế tạo có cực
móng. Động cơ này có góc bước thay đổi từ 60÷ 450 trong chế độ điều khiển bước
đủ, mômen hãm từ 0,5 ÷ 25 Ncm, tần số khởi động lớn nhất là 0,5 và tần số làm
việc lớn nhất ở chế độ không tải là 5 Khz.

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ẻ.

Động cơ bước có từ trở thay đổi :


Hay còn gọi là động cơ phản kháng. Kiểu động cơ này có góc nằm trong giới
hạn từ 1,80 ÷ 300 trong chế độ điều khiển bước đủ, mômen hãm từ 1÷ 50 Ncm, tần
số khởi động lớn nhất là 1 Khz, và tần số làm việc lớn nhất trong điều kiện không
tải là 20 Khz. Stato được chế tạo thành dạng răng với bước cực β s. Cuộn dây pha
(2) được quấn trên 2 hoặc 4 răng đối xứng nhau, roto của động cơ cũng được chế
tạo thành dạng răng có bước cực β r
ửu

Hình 1.17: Cấu tạo động cơ bước có từ trở thay đổi

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.

Động cơ bước hổn hợp :

Hình 1.18 : Cấu tạo động cơ bước hỗn hợp

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

1.4. Cảm biến sử dụng trong máy CNC


1.4.1. Khái niệm chung
Encoder là đo lường dịch chuyển thẳng hoặc góc đồng thời chuyển đổi vị trí
góc hoặc vị trí thẳng thành tín hiệu nhị phân và nhờ tín hiệu này có thể xác định
được vị trí trục hoặc bàn máy. Tín hiệu ra của Encoder cho dưới dạng tín hiệu số.
Encoder được sử dụng làm phần tử chuyển đổi tín hiệu phản hồi trong các máy
CNC và robot. Trong máy công cụ điều khiển số, chuyển động của bàn máy được
dẫn động từ một động cơ qua vit me đai ốc bi tới bàn máy. Vị trí của bàn máy có
thể xác định được nhờ encoder lắp trong cụm truyền dẫn. Ngoài ra, nếu ta tính kèm
theo thời gian ta cũng có thể biết được vận tốc chuyển động của chi tiết hoặc dao ở
trong những trường hợp cần thiết.

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

Hình 1.19: Đĩa quay encoder dạng tròn

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

1.5. Lập trình


Tương tự như lập trình bằng tay, nhưng các tính toán trong quá trình lập
trình
được giảm xuống một cách đáng kể và thực hiện nhanh hơn nhờ trong các máy tính
đã được trang bị các bộ xử lý, bộ nội suy và chứa các dữ liệu cần thiết mà người ta
có thể sử dụng bất kỳ khi nào muốn.

1.5.1. Lập trình bằng máy


Từ cơ sở CAD: Vẽ và thiết kế trên máy tính, người ta đã đưa vào một hệ
thống biên dịch trợ giúp cho quá trình lập trình, sau khi đã thiết kế xong chi tiết,
người ta có thể lựa chọn quy trình công nghệ gia công và cách thức gia công (Như
cắt thô, cắt bán tinh hay cắt tinh và rất tinh, các kiểu tiến hành ăn dao...) và từ kiểu
được lựa chọn đó máy tính sẽ thông qua bộ vi xử lý (Processor) sẽ xác định một
chương trình gia công thích hợp dưới dạng mô tả các quá trình dịch chuyển dụng
cụ và các chế độ công nghệ tương ứng. Công việc tiếp theo là mã hóa chương trình
gia công trên do bộ hậu xử lý (Postprocessor) theo code của hệ thống điều khiển số
tương thích được lắp trên máy để cho ra chương trình gia công thích hợp với ngôn
ngữ máy. Kỹ thuật đó gọi là CAM. Hiện nay, các phần mềm CAD/CAM càng ngày
càng mạnh hơn và có nhiều chức năng hơn cũng như giá thành ngày càng rẽ hơn và
đã cho phép người sử dụng rất thuận lợi trong quá trình lập chương trình gia công.
Đặc biệt là với các máy 3D, 4D, 5D.

1.5.2. Ngôn ngữ lập trình


Về ngôn ngữ lập trình cho các máy NC, người ta phân chia thành 2 loại:
ngôn ngữ lập trình bằng tay và ngôn ngữ lập trình tự động. Đối với ngôn ngữ lập
trình bằng tay, về cơ bản thì hiện nay đã được tiêu chuẩn hóa bởi ISO. Tuy nhiên
cũng còn một số quốc gia, một số hãng chế tạo máy vẫn có một số mã code riêng
khác với tiêu chuẩn mà nó chỉ có thể dùng thích hợp trên các thiết bị đó. Đây cũng
là một trong những vấn đề gây khó khăn và trở ngại cho các cán bộ lập trình vì thói
quen khi sử dụng ngôn ngữ đã có trước đó, đặc biệt là khi mà nhà máy hoặc xí
nghiệp của họ có rất nhiều loại máy được sản xuất từ nhiều hãng khác nhau (có thể
từ nhiều nguồn cung cấp và tài trợ...) Vì thế, đây cũng là vấn đề mà các nhá đầu tư
cần phải tính đến khi mua sắm máy CNC.

1.5.3. Ngôn ngữ lập trình tự động


Với ngôn ngữ lập trình bằng máy tính hay còn gọi là lập trình tự động , thì về
cơ bản đều dựa theo tiêu chuẩn thống nhất - Đó gọi là ngôn ngữ lập trình tự động
APT (Automatically Programmed Tools : công cụ lập trình tự động). Ngôn ngữ này
được phát triển từ Viện nghiên cứu công nghệ Illinoi của Mỹ (Illinois Institute of
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 20
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).

Kết luận chương 1


Chương 1 đã nghiên cứu được về tổng quan cũng như các cấu trúc bên trong
của máy CNC. Bên cạnh đó hiểu được nguyên lý làm việc và cách lập trình với
máy CNC.

CHƯƠNG 2 : THIẾT KẾ CẢI TIẾN MÁY GIA CÔNG ĐA NĂNG MICRO


LATHER
MICRO LATHE là một chiếc máy gia công cơ khí có xuất sứ ở từ Trung
Quốc. Nó là một trong những máy gia công đa năng có nghĩa là toàn bộ quá trình
hoạt động của nó phải được gắn với một người thợ có khả năng làm việc với nó.
Giả sử để gia công một chi tiết nào đó, người thợ phải nhìn vào bản vẽ, chọn ra loại
phôi mà mình cần sử dụng. Sau đó gắn vào trục chính để tiến hành gia công, cụ thể
là sẽ tiến dao theo phương ngang như thế nào, tiến dao theo phương thẳng như thế
nào để có được chi tiết cần gia công. Vì nó là một chiếc máy gia công cơ khí đơn
thuần không có sự can thiệp của điều khiển số cho nên hiệu quả sản xuất và chất
lượng chi tiết sản phẩm phụ thuộc hoàn toàn vào người thợ gia công. Qua phân tích
về cấu tạo và họa t động tôi quyết định đưa ra phương án cải tiến chiếc máy
MICRO LATHE trên thành một chiếc máy bán tự động, có khả năng hoạt động
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 21
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm

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.

2.1. Cơ bản về thiết bị cần cải tiến.


Trên máy tiện có thể thực hiện được nhiều công nghệ tiện khác nhau: tiện trụ ngoài,
tiện trụ trong, tiên mặt đầu, tiện côn, tiện định hình. Trên máy tiện cũng có thể thực
hiện doa, khoan và tiện ren bằng các dao cắt, dao doa, tarô ren…Kích thước gia
công trên máy tiện có thể từ cỡ vài mili đến hàng chục mét, hình vẽ dưới đây là
hình ảnh thực tế của chiếc máy tiện MICRO LATHE, ta có thể thấy được các chi
tiết của nó.

Hình 2.2: hình dạng bên ngoài máy MICRO LATHE

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

Hình 2.2: Sơ đồ khối hệ thống cải điều khiển

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.

Hình 2.2: hình dạng bên ngoài máy MICRO LATHE


Nếu tháo bên trong núm xoay ta sẽ nhìn thấy các tiếp điểm bằng điện, khi xoay
núm xoay nghĩa là ta dùng cơ khí để thay đổi các tiếp điểm này. Cụ thể có thể nhìn
thấy ở hình vẽ dưới đây:

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

Hình 2.2: Sơ đồ mạch điều khiển động cơ bước


Sơ đồ mạch phần cứng thiết kế cho một động cơ bước, để thiết kế cho hai
động cơ bước thì quá trình hoàn toàn tương tự. Khi đó ta sử dụng đến IC thứ hai và
mạch điều khiển hoàn toàn giống, thuật toán điều khiển thì hoàn toàn tương tự
Khi có mạch và phần cứng rồi thì làm sao để có thể điều khiển ăn dao vào
chi tiết theo một khoảng cách nào đó. Giả sử cần cho dao ăn sâu vào trong chi tiết
1.5mm chẳng hạn, lúc đó vi xử lý phải làm gì. Câu trả lời là đếm bước của động cơ,
sẽ cho ta khoảng cách dịch chuyển của dao. Bây giờ ta giả sử một phép tính đơn
giản. Khi chưa thiết kế, nếu ta dùng tay quay tay quay của máy sẽ làm cho dao dịch
chuyển một khoảng cách là delta=1mm. Ta sử dụng động cơ có góc bước là 1.8 độ,
nghĩa là để bước hết một vòng thì đông cơ phải bước tất cả là 360/1.8 =200 bước.
Như vậy nếu bước 200 bước thì dao tiến được một khoảng là 1mm, vậy thì để dao
tiến 1.5mm thì rõ ràng ta phải bước 300 bước. Đây chính là cơ sở để tính toán khi
gia công.

2.2.3. Phần thiết kế mạch cho vi xử lý


Vi xử lý làm nhiệm vụ giải mã lệnh NC được gửi xuống từ máy tính để đưa
ra các tín hiệu điều khiển cho máy sao cho đạt được các yêu cầu của người gia
công.
Trong phần điều khiển này em chọn vi điều khiển AVR cụ thể là chip
Atmega8 sẽ làm nhiệm vụ điều khiển. Đây là một dòng chip 8 bit hoạt động với tốc
độ cao (một chu kì lệnh khoảng bằng 100 ns) và với độ ổn định cao nên nó ngày
càng được sử dụng nhiều trong các ứng dụng thực thế. Chip bao gồm 3 cổng vào ra
được thiết kế sẵn cho việc lập trình, để đáp ứng được yêu cầu đề ra nó phải đáp ứng
được các yêu cầu có sẵn của hệ thống. Dưới đây là sơ đồ khối của hệ thống được
đưa lại như ở trên để nắm rõ hơn về những yêu cầu của nó:

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

Hình 2.2: Sơ đồ khối hệ thống điều khiển

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

Hình 2.2:Lưu đồ thuật toán cho hệ thống điều khiển

2.2.4. Modul giao tiếp máy tính để lập trình


Do sự không đồng bộ giữa mức tín hiệu giữa cổng giao tiếp máy tính với
mức tín hiệu của vi điều khiển cho nên cần phải sử dụng một modul chuyển đổi
mức tín hiệu sao cho hai bên có thể hiểu được thông điệp của nhau. Cùng là chuẩn
giao tiếp nối tiếp RS232 nhưng đối với máy tính, mức tín hiệu của nó là +12v và
-12v, trong khi đó ở vi điều khiển thì mức tín hiệu lại là mức quen thuộc 0 và 5v. Ở
đây, IC max232 được sử dụng làm bộ phận chuyển đổi mức tín hiệu trên.

Hình 2.2:phần chuyển đổi mức tín hiệu

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.

Hình 2.2: Khối hiển thị

Bảng x.x : Bảng chức năng các chân của LCD 16x2.

Pin Symbol Function


1 Vss Power supply (GND)
2 Vdd Power supply (+)
3 Vss Contrast Adjust
4 RS Register select signal
5 RW Data read/write
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 32
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm

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.

2.2.6. Phần mềm lập trình trên máy tính


Để 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:
Ở trên tôi đã trình bày hết toàn bộ các thiết kế phần cứng và mạch điều khiển
cũng như lưu đồ thuật toán cho vi điều khiển, tuy nhiên mới thế thì hệ thống vẫn
chưa thể hoạt động được. Mà cần phải có một phần mềm lập trình để người thợ có
thể đưa các ý tưởng của mình vào đó mà máy có thể hiểu được. Ta tạm hiểu đó là
một trình dịch và dịch một ngôn ngữ qui định nào đó. Để làm được nhiệm vụ đó ta
phải đưa ra những qui định cụ thể để làm việc với chiếc máy, giả sử như muốn tiến
dao ăn sâu vào chi tiết thì cần sử dụng lệnh nào, muốn tăng tốc hay giảm tốc trục
trình thì phải dùng lệnh nào...Khi đó phần mềm của tôi viết ra phải có nhiệm vụ có
môi trường cho người thợ soạn thảo, phải phát hiện ra những lỗi trong quá trình lập
trình và thông báo cho người sử dụng sửa chữa. Phải có khả năng kết nối với mạch
thiết kế cho máy để gửi toàn bộ chương trình xuống cho máy hoạt động.

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

2.3. Kết luận chương 2


Chương 2 đã giải quyết được các vấn đề sau:
- Nghiên cứu tổng quan và chi tiết cấu tạo của máy Micro Lathe
- Thiết kế chi tiết phương án cải tiến máy trên thành máy gia công bán tự
động cả phần mềm lẫn phần cứng.

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

CHƯƠNG 3: THIẾT KẾ MÔ HÌNH MÁY CNC LOẠI NHỎ.

3.1. Tổng quan, phạm vi và chức năng của máy

Sơ đồ khối

3.1.1 Sơ đồ phần kết cấu cơ khí


Sơ đồ phần kết cấu cơ khí của mô hình được thiết kế như hình 3.1 bên
dưới.

Hình 3.1: Sơ đồ kết cấu cơ khí của mô hình máy CNC loại nhỏ

3.1.2. Sơ đồ khối phần mạch điện tử


Có thể tạm hiểu về hoạt động của phần mạch điện tử như sau: Mạch có
nhiệm vụ nhận dữ liệu được gửi xuống từ máy tính qua cổng COM. Dữ liệu này
được đẩy vào EEPROM, khi vi điều khiển hoạt đông, nó sẽ lấy toàn bộ dữ liệu này
để đưa ra các điều khiển cho các động cơ. Do đó mạch cần phải có các khối chức
năng để thực hiện được yêu cầu này.

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.

Hình 3.2: sơ đồ khối mô hình máy CNC loại nhỏ


Về cơ bản sơ đồ khối của mô hình máy CNC loại nhỏ ở chương này cũng
gần giống với mô hình thiết kế cho máy Micro Lathe. Nhìn trên mô hình ta có thể
thấy được cơ bản về chức năng của các khối có trong mô hình.
- Do mô hình sử dụng 4 động cơ vận hành cho nên cũng cần 4 mạch công
suất điều khiển cho mô hình. Tuy nhiên trong 4 động cơ thì có 3 động cơ
một chiều và 1 động cơ bước, do đó các mạch điều khiển cho các loại động
cơ khác nhau cũng phải khác nhau.
- Các động cơ sử dụng là các động cơ loại nhỏ, dòng chảy qua nhỏ khi hoạt
động bình thường do đó có thể sử dụng các mạch công suất nhỏ để có thể
điều khiển được các động cơ này
- Khối truyền thông có nhiệm vụ chuyển đổi mức tín hiệu từ máy tính xuống
vi điều khiển để cho hai khối này có thể gửi dữ liệu cho nhau một cách
bình thường.
- Khối vi điều khiển có nhiệm vụ giải mã toàn bộ chương trình và đưa ra các
hành động điều khiển động cơ tịnh tiến các trục cũng như động cơ khoan
theo yêu cầu.
- Mạch hiển thị cho biết trạng thái của hệ thống.

3.1.3. Làm việc với mô hình máy


Do tầm quan trọng và những ứng dụng thực tế của chiếc máy CNC đã được
trình bày ở trên. Ở phần này, tôi xin được trình bày về một mô hình thực tế đã được
thiết kế và chạy thử nghiệm cho kết quả tốt. Mô hình ở đây được chế tạo hoàn toàn
trên những nguyên liệu rời rạc chứ không cải tiến từ một chiếc máy nào đó. Nó
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 36
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm

đượ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.

3.2.1. Kết cấu cơ khí trục Z.


Như phân tích phần cơ khí ở trên, mô hình sẽ bao gồm 3 trục đó là trục X, Y
và trục Z. Khi hoạt động các trục được tịnh tiến qua lại bằng các động cơ điều
khiển nhờ các cơ cấu trục vít bánh vít. Cũng có thể nhìn thấy luôn, khi hoạt động
mũi khoan tiến theo trục Z và chỉ được phép di chuyển lên xuống (nâng, hạ). Do
khi khoan, tốc độ tiến mũi khoan chậm và yêu cầu cần di chuyển các khoảng nhỏ
cho nên ở đây tôi đưa ra phương án chọn động cơ bước. Động cơ bước tôi sử dụng
là loại động cơ 2 cuộn dây và có góc bước là 1.8 độ. Có nghĩa là nếu bước đủ vòng
thì cần phải đi 200 bước. Bên cạnh đó, cơ cấu trục vít bánh vít có tác dụng hạn chế
chuyển động tối đa vòng quay của động cơ và đồng thời tạo lực ép mũi khoan lớn.
Cơ cấu trục vít bánh vít sử dụng loại bulong đai ốc có bước ren là 1mm. Với kết
cấu như vậy thì động cơ bước khi bước 200 bước sẽ chỉ làm cho mũi khoan tiến
dọc trục được một khoảng là 1mm. Như vậy khoảng dịch chuyển nhỏ nhất của mũi
khoan là 1mm/200=0.005mm. Với khoảng cách này đảm bảo cho tốc độ tiến mũi
khoan.
Để có thể thực hiện ghép trục bulong vào với trục động cơ, tôi khoan một lỗ
nhỏ ở đầu trục có đường kính vừa khít với đường kính của trục động cơ và thực
hiện đóng cốt để ghép chặt hai chi tiết này với nhau. Bằng cách này trục động cơ và
bulong được ghép chết với nhau. Hình vẽ 3.3 bên dưới là hình chụp của động cơ và
trục sau khi đã tiến hành đóng cốt với nhau.

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

- 2: Đầu bulong sau khi đã ghép với động cơ


- 1: Động cơ bước gắn với bulong.
Yêu cầu đặt ra ở đây là làm sao khi động cơ bước quay thì mũi khoan của ta
cần phải di chuyển lên xuống dọc trục tùy theo chiều quay của động cơ. Để thực
hiện được điều này một cách êm ái và trơn tru thì tôi sử dụng một loại đệm trượt
dùng bi để gắn giữa hai thanh nhôm. Thanh nhôm làm khung và thanh nhôm chứa
động cơ khoan. Khi gắn xong, hai thanh có thể trượt nhẹ nhàng trên nhau. Phần đai
ốc của bulong sẽ phải được gắn cố định lên một thanh nhôm có chứa động cơ
khoan để sao cho khi động cơ quay làm cho bulong quay, đai ốc sẽ tiến dọc trục
động cơ khoan kéo theo sự chuyển động lên xuống của động cơ khoan. Tiến hành
gia công và lắp ghép ý tưởng tôi được một kết cấu di chuyển như hình vẽ 3.4 dưới
đây.

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.

Hình 3.3: Ghép động cơ khoan vào với thanh trượt.


Đối với hai trục còn lại, trục X và trục Y có nhiệm vụ dịch chuyển bàn khoan
theo hai phương vuông góc với nhau. Cũng giống như trục Z, yêu cầu đặt ra là các
di chuyển bàn khoan theo các phương phải nhỏ và khi di chuyển lực di chuyển phải
lớn. Do đó tôi vẫn chọn phương án trục vít bánh vít. Ở đây tôi vẫn sử dụng bulong
đai ốc có sẵn với bước ren 1mm. Bàn khoan được thiết kế sử dụng nhựa cứng phíp
chuyển dùng để gia công với nhôm và nhôm thanh. Bàn khoan sau khi thiết kế cần
phải trượt nhẹ nhàng dọc theo trục X hoặc trục Y. Sau đây tôi đưa ra phương án
thiết kế kết cấu cho hai trục

3.2.2. Kết cấu cơ khí trục X.


Nói ra thì khó tưởng tượng, sau quá trình phân tích tôi quyết định đưa ra kết
cấu như hình vẽ 3.4 dưới đây có thể giúp cho bàn khoan có thể trượt một cách tự do
nhẹ nhàng theo yêu cầu. Tấm nhựa bàn khoan 1 được gá lên thanh nhôm hình chữ
L như hình vẽ. Trên thanh nhôm hình chữ L có khoan các lỗ để có thể đưa qua đó
hai thanh trượt cũng được làm bằng nhôm và được gá cố định ở hai đầu. Như vậy
khi đó thì bàn khoan bây giờ đã có thể trượt tự do trên hai thanh nhôm tròn.
Cũng giống như trục Z, thanh dài bulong được khoan một lỗ nhỏ ở đầu có
đường kính đúng bằng đường kính đúng bằng đường kính của của trục động cơ, sau
đó tiến hành đóng cốt để ghép chặt trục bulong và động cơ. Bây giờ khi động cơ
quay sẽ làm cho thanh bulong quay theo. Để cho quá trình hoạt động được trơn chu
hơn, trục bulong của động cơ trục X được đỡ bằng hai gối đỡ có vòng bi 3. Khi
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 40
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm

độ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

Hình 3.3: Cơ cấu dịch chuyển bàn khoan theo trục X

3.2.3. Kết cấu cơ khí trục Y.


Cũng hoàn toàn giống với kết cấu cơ khí ở trục X, ở đây tôi sẽ đưa hình ảnh
lên trước sau đó sẽ giải thích các bộ phận cũng như hoạt động của nó sau. Hình ảnh
3.4 ở dưới đây là hình ảnh thực tế tôi chụp từ mô hình của mình.

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

Hình 3.4: Cơ cấu dịch chuyển bàn khoan theo trục X

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 đó.

3.2.4. Công tắc hành trình


Công tắc hành trình có tác dụng khi bắt đầu khởi động mô hình lên. Toàn bộ
các trục sẽ hoạt động theo chiều âm của các trục để đưa mũi khoan về tọa độ điểm
0 của chi tiết. Công tắc hành trình giúp cho vi điều khiển phát hiện ra khi nào mũi
khoan đã thực sự về đến điểm 0 của chi tiết. Do đó khi tiến hành lắp công tắc hành
trình chúng ta phải chú ý sao cho khi công tắc hành trình bắt đầu kích hoạt thì lúc
đó vị trí mũi khoan đang ở điểm gốc. Do mô hình máy có 3 trục X, Y và Z nên ta
cần sử dụng 3 công tắc hành trình cho 3 trục này. Hình vẽ dưới đây là hình ảnh về
công tắc hành trình sau khi đã tiến hành đo và lắp đặt trên mô hình máy.

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

3.2.5. Gá mạch và tản nhiệt cho IC công suất


Đặt mạch lên mô hình sao cho trong quá trình hoạt động các kết cấu cơ khí
không ảnh hưởng đến linh kiện cũng như các dây nối từ các cảm biến trả về. Tôi
đặt mạch ở vị trí cuối của mô hình, nơi này không bị ảnh hưởng bởi các dịch
chuyển khi mô hình hoạt đông. Các dây điện dẫn tín hiệu cảm biến cũng như các
dây cấp nguồn cho các động cơ được gá cố định và gọn gàng trên khung. Mạch
phải được đặt sao cho không sảy ra hiện tượng chập chân do khung mô hình được
chế tạo bằng nhôm.
Trong quá trình hoạt động, các IC công suất tản ra một nhiệt lượng nào đó
tùy theo chế độ hoạt động cũng như thời gian hoạt động của mô hình. Lượng nhiệt
này nếu không được tản ra xung quanh thì sẽ có thể gây cháy nổ IC và làm hỏng
mạch điều khiển. Lợi dụng khung của mô hình được làm bằng nhôm tôi quyết định
tản nhiệt ra khung nhôm. Toàn bộ các IC công suất bao gồm các IC điều khiển
động cơ, IC chỉnh lưu, IC ổn áp được ép toàn bộ phần tản nhiệt vào khung nhôm.
Hình chụp bên dưới chụp từ mô hình thể hiện những gì tôi trình bày ở trên.

Hình 3.6:Tản nhiệt cho IC công suất

3.2.6. Lắp ghép mô hình.


Sau khi thiết kế xong các phần cơ khí tiến hành lắp ráp các bộ phận và cho ra
sản phẩm cuối cùng như hình chụp bên dưới.

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

Hình 3.7: Mô hình cơ khí sau khi hoàn thành.


Khi đã có kết cấu cơ khí cho mô hình máy, chúng ta tiến hành đi thiết kế
mạch điện điều khiển mô hình sao cho phù hợp với các động cơ và cảm biến đã lắp
đặt. Ở phần tiếp theo đây tôi trình bày quá trình thiết kế mạch điều khiển và lập
trình cho mô hình máy.

3.3. Phân tích và thiết kế mạch điện điều khiển.


Yêu cầu mạch điều khiển phải đảm bảo thực hiên được các yêu cầu sơ đồ
khối của mạch điện đã được đưa ra và trình bày cơ bản chức năng ở phần trên. Ở
phần này tôi chỉ trình bày cách thiết kế các khối có trong mạch điều khiển chính.

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

a. phân tích và lựa chọn.


Sau khi đã phân tích thiết kế phần cơ khí và các động cơ điều khiển mô hình chúng
ta cần tiến hành chọn loại vi điều khiển nào cho phù hợp. Yêu cầu phải đảm bảo đủ
các cấu trúc phần cứng cũng như đảm bảo về tốc độ, bộ nhớ. Có thể thấy mạch
dùng điều khiển 4 động cơ bao gồm 3 động cơ 1 chiều và 1 động cơ bước. Do đó số
chân cổng tối thiếu để điều khiển động cơ phải là 10. Tiếp theo công tắc hành trình
trả về tín hiệu ở tại 3 chân cổng hướng dữ liệu vào. Các tín hiệu xung encoder trả
về từ 2 trục gồm hai chân của bộ đếm counter. 2 chân của I2C dùng giao tiếp với
EEPROM ngoài. Các chân cổng nạp, các chân giao tiếp với led hiển thị. Như vậy
tính sơ qua vi điều khiển cần tới gần 20 chân cổng vào ra. Cần 2 bộ đếm xung
ngoài, cần 1 phần cứng giao tiếp RS232, cần một phần cứng giao tiếp I2C. Để thỏa
mãn các yêu cầu trên ở đây tôi đưa ra phương án chọn vi điều khiển thuộc dòng vi
điều khiển AVR của Atmel là Atmega16. Phần tiếp theo đây tôi trình bày về các
đặc tính của vi điều khiển tôi chọn làm bộ xử lý. Ở phần này tôi chỉ trình bày cơ
bản và sơ qua về dòng vi điều khiển tôi sử dụng.
Thanh ghi dữ liệu (Data register).
Các thanh ghi dữ liệu gồm có cổng A, cổng B, cổng C, cổng D có chức năng đọc
ghi dữ liệu.
Giá trị khởi tạo sau khi Reset là 0x00.
Ban đầu nếu được khởi tạo là cổng ra thì khi ghi dữ liệu vào sẽ làm thay đổi giá trị
logic của các chân hay làm thay đổi chức năng của cổng.

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

Hình 3.11: Thanh ghi UDR ( bộ đệm truyền thong)

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).

Hình 3.12: Thanh ghi UCSRA.


Bit 7-RXC USART nhận thành công.
Bit cờ sẽ được thiết lập khi có dữ liệu chưa đọc trong vùng nhận đệm và bị xoá khi
vùng nhận đệm rỗng. Nếu vùng nhận không được kích hoạt vùng đệm nhận sẽ bị
kích hoạt vì vậy bit RXC sẽ có giá trị 0.
Bit 6-TXD: USART truyền thành công.
Bit cờ sẽ được thiết lập khi toàn bộ khung trong thanh ghi vị trí truyền toàn bộ ra
ngoài và không có dữ liệu mới trong khi bộ đệm truyền (UDR). Cờ TXC có thể
phát truyền ngắt thành công.
Bit 5-UDRE: USART thanh ghi dữ liệu rỗng. UDR đã sẵn sàng để nhận một byte
mới.
Bit 4- FE: Frame Error: Bit sẽ thiết lập nếu một ký tự tiếp theo trong vùng đệm
nhận có một khung lỗi khi nhận. Luôn để bit này ở mức 0 khi ghi vào thanh ghi
UCSRA
Bit 3- DOR: Data Over Rung
Bit này sẽ được thiết lập khi phát hiện dữ liệu tràn. Dữ liệu tràn được tìm thấy khi
vùng nhận đệm đầy. Luôn để bit này ở mức 0 khi ghi vào thanh ghi UCSRA.
Bit 2-PE: Party Error
Bit này sẽ được thiết lập nếu ký tự tiếp theo trong vùng đệm có lỗi chẵn lẻ
Luôn để mức 0 khi ghi vào thanh ghi UCSRA
Bit 1-U2X: Tốc độ truyền USART gấp đôi
Để mức 0 khi có sự hoạt động của xung đồng bộ.
Bit 0-MPCM: Kiểu xử lý truyền thông.
Thanh ghi UCSRB (USART Control and Status Register B).

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

Hình 3.13: Thanh ghi UCSRB.


Bit 7-RXCIE: RX cho phép ngắt thành công.
Bit 6-TXCIE: TX cho phép ngắt thành công.
Bit 5-UDRIE: Cho phép thanh ghi dữ liệu USART ngắt rỗng.
Bit 4-RXEN: Cho phép nhận.
Bit 3-TXEN: Cho phép gửi.
Bit 2-UCSZ2: Cỡ ký tự.
Bit 1-RXB8: Nhận bít 8 dữ liệu.
Bit 0-TXB8: Truyền bit 8 dữ liệu.
Thanh ghi UCSRC (USART Control and Status Register C).

Hình 3.14: Thanh ghi UCSRB.


Bit7-URSEL: Lựa chọn thanh ghi.
Bit7-URSEL: Lựa chọn kiểu USART.
Bit 5:4-UMP1:0: Kiểu chẵn lẻ.
Bit 3 – USBS: Lựa chọn dừng bit.
Bit 2:1 UCSZ1:0: Cỡ ký tự.
Bit 0 : UCPOL: Thời gian phân cực.
Thanh ghi UBRRH, UBRRL (USART Baud Rate Register).

Hình 3.15: Thanh ghi UBRR


Bit 15-URSEL: Lựa chọn thanh ghi.
Bit 14-12: Nhận bits.

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

Bit 11-0 – UBRR11:0: USART tốc độ truyền thanh ghi.


Trên đây là các thanh ghi điển hình trong Atmega16, dưới đây là một số khối
hay sử dụng:
Khối số học ALU.
Khối số học (ALU) thực hiện các thao tác như thao tác bit phép tính số học
và logic trên nội dung của các thanh ghi và ghi ngược kết quả vào tệp thanh ghi
trên thanh ghi đã được chỉ định. Các thao tác này được thực hiện trong một chu kỳ
đồng hồ đơn lẻ. Mỗi một thao tác ALU đều làm ảnh hưởng đến các cờ trong thanh
ghi trạng thái tuỳ thuộc vào lệnh.
Bộ nhớ EEPROM.
Tất cả các bộ vi điều khiển AVR đều có một bộ nhớ EEPROM trên chip.
Dung lượng bộ nhớ EEPROM thay đổi từ 64 byte đến 4KB. Bộ nhớ EEPROM
được truy nhập thông qua thanh ghi truy nhập EEPROM. Thanh ghi EEAR là thanh
ghi đọc/ghi, được sử dụng để đặt địa chỉ của bộ nhớ EEPROM mà dữ liệu cần ghi
vào đó hoặc đọc ra từ đó.
Các cổng vào/ra.
Tất cả các cổng lối ra của các bộ vi điều khiển AVR có thể chịu đựng dòng điện
đến 20 mA nên rất thích hợp với việc điều khiển trực tiếp các đèn LED vì không
cần các mạch đệm bổ sung.
Các cổng vào ra đều có ba địa chỉ vào ra đi kèm với nó. Ba địa chỉ vào ra được cần
đến để đặt cấu hình cho các bit riêng biệt thành lối vào hoặc thành lối ra. Các cổng
đó được đánh số là DDRx, cổngx, PINx.
Để đọc dữ liệu ở chân lối vào của một cổng ta sử dụng thanh ghi PINx. Thanh ghi
PINx được nối trực tiếp với chân của cổng, chúng có thể được cấp tín hiệu để duy
trì trạng thái theo cách tạo mức điện áp cao bên trong bằng cách ghi giá trị 1 vào bit
cổng ở các địa chỉ cổngx và ngược lại

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

Hình 3.16: Các thanh ghi PINx.


Bộ nhớ SRAM.
Có trong hầu hết các bộ vi xử lý có giá thành cao trong họ AVR. Dung lượng
thay đổi từ 128 byte đến 4K byte. Được truy nhập bằng nhiều lệnh truy nhập trực
tiếp hoặc gián tiếp, thời gian truy nhập bộ nhớ Ram bằng 2 lần chu kỳ đồng hồ.
Bộ định thời.
Có chức năng giống như một bộ định thời hoặc một bộ đếm. Giống bộ định
thời tín hiệu giữ nhịp bên trong hoặc một dẫn xuất của tín hiệu giữ nhịp đó được sử
dụng để giữ nhịp bộ định thời, trong khi giống như bộ đếm một tín hiệu từ bên
ngoài ở chân của một cổng được sử dụng để giữ nhịp bộ định thời/ bộ đếm.
Bộ truyền nhận UART.
Việc truyền dữ liệu được khởi tạo bằng cách ghi dữ liệu vào thanh ghi
dữ liệu UDR. Dữ liệu truyền từ thanh ghi dữ liệu UDR đến thanh ghi dịch khi:
Một ký tự mới đã được ghi vào UDR sau khi bit stop từ ký tự trước đó đã được
dịch chuyển ra. Thanh ghi dịch chuyển ra được nạp ngay lập tức.
Một ký tự mới đã được ghi vào UDR trước khi bit stop từ ký tự trước đã được dịch
đi. Thanh ghi dịch được nạp khi bit stop của ký tự đang được truyền đã được dịch
chuyển ra.
Cấu trúc ngắt.
Thiết bị ngoại vi sẽ ngắt việc thực thi của chương trình chính và bộ xử lý tạm
thời ngừng làm việc thực thi chương trình bình thường để thẩm tra nguồn ngắt và
để thực hiện những thao tác đáp ứng cần thiết, sau khi xong việc thực thi chương
trình đã bị ngắt lại tiếp tục.
Bộ so sánh ANALOG.
Bộ so sánh Analog so sánh các giá trị điện áp ở lối vào, cụ thể là ở lối vào
AIN0 (AC+) và AIN1(AC-) với nhau. Nếu điện áp ở lối vào AIN0 lớn hơn ở lối ra
AIN1 thì lối ra của bộ so sánh Analog ACO được đặt lên mức
Lối ra này có thể được sử dụng cho bộ Timer/Counter1 để kích hoạt hoặc
xoá ngắt bộ so sánh Analog.
Bộ biến đổi A/D bên trong.
Bộ biến đổi tương tự số có độ phân giải là 10 bit, bộ dồn kênh 8 lối vào. Bộ
biến đổi ADC được điều khiển qua 4 thanh ghi ADMUX, ADCSR, ADCH và
ADCL trong vùng địa chỉ vào ra. Kết quả của quá trình biến đổi A/D được đặt ở
thanh ghi ADCH (bit 8 và 9) và ADCL (bit 0-7).

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

Bộ định thời Watchdog bên trong.


Là một bộ định thời điều khiển được và được sử dụng làm thiết bị đánh thức
trong trường hợp phần mềm bị rơi vào một hoặc một số vòng lặp vô tận hoặc trong
trường hợp việc thực thi chương trình bị mắc lỗi. Có một lối ra có khả năng đặt lại
bộ điều khiển. Khi phần mềm bị treo, bộ định thời có khả năng reset lại toàn bộ hệ
thống và thực hiện chạy lại từ đầu chương trình.

b. Thiết kế môdul mạch vi xử lý với atmega16


Cũng như bất kì dòng vi điều khiển nào khác, để có thể hoạt động bình
thường ta cần cấp cho vi điều khiển nguồn áp 5v và nguồn xung thạch anh. Hình vẽ
3.17 dưới đây là sơ đồ mạch sau khi đã thiết kế trên phần mềm Orcad.
U 1

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

Hình 3.17: Sơ đồ phần vi điều khiển


Như ở hình vẽ bên trên đây, thạch anh Y1 được nối với vi điều khiển để cấp
nguồn dao động cho chip thông qua hai chân X1 và X2 của chip, ngoài ra hai chân
thạch anh còn được nối xuống đất thông qua hai tụ C1 và C2 có nhiệm vụ dập tắt
dao động tần số cao ảnh hưởng đến dao động cho mạch vi điều khiển.
Điện trở R1 có giá trị 10k dùng để treo chân reset của mạch lên mức cao. Cụ
thể là, khi hoạt động bình thường, nếu chân reset của vi điều khiển bị kéo xuống
mức thấp sẽ làm cho vi điều khiển thực hiện quá trình reset. Điện trở ở bên trên có
nhiệm vụ chống reset trong những trường hợp không mong muốn.
Các chân cổng nạp được đưa ra ngoài qua Jum J1, bao gồm các chân dữ liệu
và chân nguồn có tác dụng trong việc nâng cấp hoặc update phần mềm mới cho hệ
thống.

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.

Số chân Tên Chức năng


1 T0 Tín hiệu vào của encoder trục X
2 T1 Tín hiệu vào của encoder trục Y
3 SDA Chân dữ liệu kết nối với EEPROM thông qua
chuẩn I2C
4 SCL Chân clock kết nối với EEPROM thông qua
chuẩn I2C
7 LED2 Nối với led 7 thanh bên ngoài thông qua SPI
8 LED1 Nối với led 7 thanh bên ngoài thông qua SPI
9 Reset Nối qua Jum làm nhiệm vụ kết nối mạch nạp
10 5V Cấp nguồn 5v
11 0v Nối đất cho mạch
14 RXD Nhận dữ liệu qua cổng UART
15 TXD Phát dữ liệu qua cổng UART
20 Role Thông qua l298 điều khiển động cơ khoan
21 Pwm Thông qua l298 điều khiển động cơ khoan
40 40 Thông qua l298 điều khiển động cơ bước
39 39 Thông qua l298 điều khiển động cơ bước
38 38 Thông qua l298 điều khiển động cơ bước
37 37 Thông qua l298 điều khiển động cơ bước
36 36 Thông qua l298 điều khiển động cơ trục X
35 35 Thông qua l298 điều khiển động cơ trục X
34 34 Thông qua l298 điều khiển động cơ trục Y
33 33 Thông qua l298 điều khiển động cơ trục Y

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

Hình 3.18: Sơ đồ mạch chuyển đổi tín hiệu truyền thông.


Để thực hiện yêu cầu này, tôi chọn IC max232 là một IC chuyên dụng cho
việc chuyển đổi mức tín hiệu cho hai điểm này. MAX232 có chức năng là một
bộ điều khiển đường truyền (bộ chuyển đổi điện áp) để chuyển các tín hiệu
RS232 (-12V ÷ +12V) về các mức điện áp TTL (0V ÷ +5V) được các chân
RxD và TxD của ATmega16 chấp nhận và ngược lại chuyển tín từ
Atmega16 về RS232. Để có thể hoạt động bình thường và ít sai số thì
MAX232 cần phải được mắc 5 tụ (C122, C133, C144,C155 và tụ C166 ở
các chân 1,2,4,5,6,15,16) có giá trị từ 1µF đến 22µF.Ở mạch trên dùng tụ
với giá trị 10µF. MAX232 có 2 đôi chân truyền và 2 đôi chân nhận, ở mạch
này
Khi đã có phần chuyển đổi, ta có thể thực hiện truyền dữ liệu qua lại mà
không cần quan tâm tới modul chuyển đổi mức tín hiệu nữa. Phần tiếp theo đây tôi
sẽ giới thiệu modul bộ nhớ ngoài, EEPROM 24c64.

3.3.3. Sơ đồ mạch điện cho bộ nhớ ngoài.


Tôi sử dụng một IC nhớ bên ngoài thuộc loại bộ nhớ EEPROM có đăc tính
không bị mất dữ liệu khi bị mất điện hoặc vi điều khiển bị reset. Sở dĩ phải chọn
như vậy vì hai lý do, thứ nhất bộ nhớ EEPROM tích hợp sẵn trong vi điều khiển
nhỏ không đủ chứa được một chương trình gia công. Lý do thứ hai để tôi quyết
định chọn EEPROM là yêu cầu đảm bảo dữ liệu trong quá trình gia công. Khi đang
gia công, sảy ra sự cố như mất điện hoặc treo hoàn toàn là hiện tượng không thể

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.

Hình 3.19: EEPROM 24c64

Ở 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

Hình 3.20: Sơ đồ kết nối EEPROM với vi điều khiển.


Ở trên tôi kéo hết toàn bộ các chân địa chỉ của xuống đất, khi đó các bít
tương ứng sẽ bằng 0. Bằng cách này địa chỉ của EEPROM lúc ghi sẽ là 0xA0 còn
địa chỉ lúc đọc sẽ là 0xA1. Có một chân số 7 cũng bị kéo xuống mức thấp, chân
này có tác dụng như sau, nếu ở mức cao thì quá trình ghi vào EEPROM bị cấm.
Như vậy để ghi vào nội dung ta cần kéo xuống mức thấp.
Tiếp theo đây tôi sẽ giới thiệu về khối công suất điều khiển động cơ các trục
cũng như động cơ khoan thông qua chip L298.

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ơ.

Hình 3.21: Hình ảnh thực tế của L298


L298 được đóng vỏ như hình vẽ bên trên, trong đó kiểu multiwatt15 dùng
phổ biến hơn với lý do chịu dòng đi qua lớn hơn do có nơi để tản nhiệt trong quá
trình hoạt động.
Hình 3.22 bên dưới đây là sơ đồ cấu trúc của các khối bên trong.

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

Hình 3.22: sơ đồ cấu trúc của L298


L298 có 15 chân và có chứa bên trong 2 bộ cầu H. Nhìn trên sơ đồ bên trên
tôi tạm giải thích về nguyên lý hoạt động của nó như sau. Trước hết nguồn cấp cho
L298 cũng như nguồn cấp cho động cơ cho phép lên đến 45v VDC. Nguồn cấp cho
L298 thông qua các cặp chân 4-1 (cho cầu A) và 4-15 (cho cầu B). Nguồn Vss cấp
cho L298 thông qua chân số 9 có chức năng cấp điện áp cho các modul logic bên
trong hoạt động (bao gồm các cổng AND, cổng OR…). Điện áp ở chân này chỉ
được phép cấp nhỏ hơn 5v do các IC logic hoạt động ở mức điện áp thấp. Các chân
EnA và EnB ở các chân số 6 và chân số 11 có chức năng cấm hay cho phép các cầu
tương ứng. Nếu EnA, và EnB ở mức cao sẽ cho phép cầu A và cầu B hoạt động
bình thường. Nhưng nếu một trong hai ở mức thấp sẽ cấm sự hoạt động của cầu
tương ứng. Các chân điều khiển cầu bao gồm In1, In2, In3, In4 là các chân điều
khiển dòng chạy qua động cơ theo một chiều nào đó. Nhìn vào sơ đồ cấu trúc, nếu
chân số 5 và chân số 7 có cùng mức logic thì động cơ nối với cầu A sẽ không hoạt
động. Nếu chúng khác mức logic thì động cơ cầu A sẽ quay theo một chiều nào đó.
Đối với các chân 10 và 12 của cầu B cũng hoàn toàn tương tự. Các đầu ra 2,3,13,14
sẽ được nối với động cơ một chiều hoặc cuộn dây của động cơ bước.
Sau khi phân tích chi tiết về chip L298 tôi đưa ra sơ đồ mạch ở hình 3.23 là
sơ đồ mạch hoàn chỉnh của tôi.

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

Hình 3.23: sơ đồ cấu trúc của L298


Ở trên mạch các chân điều khiển của các cầu được nối trực tiếp với vi điều
khiển. Các đầu ra được nối với động cơ thông qua các Jum j3và j4 để nối tới các
động cơ điều khiển trục.
Trong quá trình hoạt đông khi động cơ đang từ trạng thái hoạt động mà
dừng lại sẽ gây ra dòng điện cảm ứng ngược. Dòng điện này thường có điện áp rất
cao nếu ta không dập tắt đi sẽ có thể gây hỏng IC hoặc hỏng mạch . Ở đây tôi chọn
diode dùng để dập tắt dòng cảm ứng khi sinh ra. Nó được mắc ngược với nguồn
của động cơ, khi động cơ hoạt động thì nó không có ý nghĩa gì. Nhưng khi dừng,
dòng điện cảm ứng sinh ra sẽ bị dập tắt bởi nhưng con diode này. Sơ đồ mạch bên
dưới là sơ đồ nối của các diode này.

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

Hình 3.24: Sơ đồ mạch diode dập tắt dòng ngược.

3.3.4. Sơ đồ mạch nguồn.


Cũng như bất kì một thiết bị điện tử nào, mô hình máy cũng cần được cấp 1
nguồn nuôi để hoạt động. Do đặc thù của linh kiện ở trên mạch điện tử, cho nên
nguồn cấp cho các linh kiện phần công suất và linh kiện phần điều khiển cũng khác
nhau. Ở phần mạch điều khiển bao gồm vi điều khiển, EEPROM, modul truyền
thông và các đèn báo, led hiển thị sử dụng nguồn áp 1 chiều có độ ổn định cao 5v.
Phần mạch công suất sử dụng điện áp cao hơn do phải nuôi các động cơ hoạt động.
Điện áp này vào khoảng 15v. Do nguyên lý và sự hoạt động của mạch nguồn khá
đơn giản nên tôi sẽ đưa luôn sơ đồ mạch tôi đã thiết kế vào đây và giải thích
nguyên lý hoạt động của nó. Hình 3.25 là sơ đồ mạch nguồn cấp cho mạch điện.

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

Hình 3.25: Sơ đồ mạch cấp nguồn cho mạch


Mạch nguồn hoạt động như sau: Điện áp 220VAC sau khi qua biến áp cho
điện áp xoay chiều ở đầu ra khoảng 12v. Sau khi đi qua cầu Diode điện áp phía sau
sẽ là điện áp 1 chiều nhưng chưa ổn định. Các tụ lọc nguồn C13,C15 và C21 có
nhiệm vụ lọc nguồn và đưa nguồn về gần dạng với nguồn điện 1 chiều. Nguồn tại
đây được mang đi nuôi động cơ và nguồn công suất cho L298. Để vi điều khiển có
thể lấy nguồn tốt hơn với mức điện áp thấp hơn, ở đây tôi sử dụng hai IC ổn áp
7805 mắc song song với mục đích cấp điện áp 5v cho các khối còn lại. Sở dĩ tôi
chọn mắc song song hai IC trên với mục đích tăng khả năng cấp dòng lên cao cho
mạch nguồn.
2. Mạch phần hiển thị
Mạch phần hiển thị được kết nối với cổng SPI, đây là mạch được tận dụng từ
một thiết bị khác, có thể nó chỉ sử dụng trong quá trình lập trình thử nghiêm và sẽ
không được sử dụng cho mô hình máy cho nên tôi sẽ không thuyết minh gì ở đây.

3.4. Thiết kế phần mềm

3.4.1. Thiết kế phần mềm cho vi điều khiển.


Phần mềm viết cho vi điều khiển phải thực hiện được các yêu cầu đặt ra của
bài toán. Có nghĩa là phải có khả năng nhận đầy đủ dữ liệu từ máy tính gửi xuống,
và lưu vào EEPROM. Có khả năng đọc và giải mã toàn bộ mã lệnh nằm trong
EEPROM ra để điều khiển các động cơ các trục.

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.

Hình 3.26: Cửa sổ giao diện lập trinh vi điều khiển.

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.

Hình 3.27: Cửa sổ giao diện codewizard.


Để có thể lập trình hiệu quả và tránh bị nhầm lẫn thì ta nên đưa ra giải thuật
giải quyết bài toán trước. Sau đó tiến hành triển khai giải thuật trên mã lệnh. Ở
dưới đây là lưu đồ thuật toán của giải thuật. (hình vẽ 3.28)

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

Hình 3.28: Lưu đồ thuật toán.

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

ew(count_eep,prepare); //chuyen du lieu lan truoc vao eeprom


count_eep++;
content=0;
prepare=0;
}
if (content=="R") while (1);
prepare=content;
putchar(content);
#asm("wdr");
}

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);

while (PIND.5==1 || PIND.3==1)


{
if (PIND.5==0) dcx(0);
if (PIND.3==0) dcy(0);
if ((PORTA & 0xf0)==0) {dcx(0); dcy(0);break;}
#asm("wdr");
}

for (i=0;i<=strlen(str);i++) ew(i,str[i]);


n=0;
test();
i=n;
active();
str[0]=0;
while (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>

#define i2c_addr 0xA0


unsigned int n=0,f=0;;

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
}

unsigned char er(unsigned int dchi)


{
unsigned char dlieu;
unsigned char dchi_cao;
unsigned char dchi_thap;
dchi_cao = dchi / 256;
dchi_thap = dchi % 256;

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

dlieu = i2c_read(0); //read end


i2c_stop();
return dlieu;
}
void init_uart()
{

UCSRA=0x00;
UCSRB=0x98;
UCSRC=0x86;
UBRRH=0x01;
UBRRL=0xA0;

// Global enable interrupts


#asm("sei")

}
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);}
}

void dcz(int i,unsigned int n)


{
unsigned int t=0,k=1;
if (i==-1)while ((t!=n) && (PIND.4==1))
{
#asm("wdr");
L(k);
k++;
if (k==5) k=1;
t++;
hienthi(t);
}

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;

//thuc hien di chuyen


while (1)
{
delta=0;
far=0;
//doc string
while ((er(d+2+delta) <=58) && (er(d+2+delta) >=48)){ #asm("wdr"); delta++;}

///
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
}

3.4.2. Thiết kế giao diện trên máy tính.


Giao diện trên máy tính có nhiệm vụ dịch và gửi toàn bộ nội dung chương
trình được viết trong file code và gửi xuống vi điều khiển thông qua cổng COM.
Giao diện được thiết kế trên phần mềm visual basic của Microsoft. Do chức năng

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.

Hình 3.29: Giao diện lập trình


Để làm việc với mô hình máy, lúc đầu người lập trình cần phải soạn thảo một
file mã nguồn trên một phần mềm soạn thảo bất kì nào đó với một qui định có sẵn.
Sau khi soạn thảo xong, dùng phần mềm ở trên link để file vừa rồi và tiến hành
kiểm tra lỗi . Nếu không có lỗi sảy ra ta tiến hành gửi chương trình xuống vi điều
khiển bằng cach click vào nút send.
Dưới đây là mã lệnh của toàn bộ chương trình
Dim b As Integer
Private Sub COMmand1_Click()
Dim s As String ' kÕt qu¶ cña chuçi ®äc ®îc tõ file text
Dim buf As Variant ' m¶ng t¸ch c¸c phÇn tö trong dÊu ;
Dim buf1 As String 'chuçi ®Öm 1
Dim i As Integer ' biÕn lÆp
Dim j As Integer ' ®Õm dßng
Dim t As Integer ' ®Õm sè m¶ng trong buf
Dim a As String 'chuçi ®Öm
Dim k As Integer
Dim dx As Integer
Dim dy As Integer
Dim dz As Integer
Dim key_test As String
Dim key_buf As String

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

'kiem tra ki tu cuoi cung


If Right(s, 1) <> ";" Then
MsgBox "KÝ tù kÕt thóc kh«ng ph¶i lµ kÝ tù '" & Right(s, 1) & "' t¹i
dßng sè : " & j, vbOKOnly, "KiÓm tra lçi"
Exit Sub
End If

'kiem tra ki tu cã thuéc tËplÖnh kh«ng


For i = 1 To Len(s)
a = UCase(Mid$(s, i, 1))

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

' kiem tra cac ki tu ";" trung lap


i=0
i = InStr(s, ";;")
If i <> 0 Then
MsgBox "Trïng lÆp kÝ tù t¹i dßng sè " & j
Exit Sub
End If

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

Private Sub COMmand2_Click()


Unload Me
End Sub

Private Sub COMmand3_Click()


send (UCase("t"))
End Sub

'Private Sub COMmand2_Click()'


'Text1.Text = ""
'f = FreeFile
'Open "E:\Bui Duc Tho1\do an tot nghiep\VB\txt\1.txt" For Output As #f
'Print #f, "Bui Duc Tho"
'Print #f, "Ngo Thi Nghia"
'Close #f
'
'End Sub
Public Sub send(str As String)
Dim i As Integer
For i = 1 To Len(str)
MSCOMm1.Output = Mid(str, i, 1)
Sleep (2)
Next i
End Sub

Private Sub COMmand4_Click()


str = "M+01F+20X+09"
key_test = "O"
For i = 1 To Len(str)
'doi ki tu tra loi ok
Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 75
Thiết kế mô hình máy CNC loại nhỏ GVHD: Th.S Nguyễn Văn Tiềm

Do While key_test <> "O"


j=j
Loop
'gui ky tu moi
For j = 1 To 1000
If (key_buf <> UCase(Mid$(str, i, 1))) Then MSCOMm1.Output =
UCase(Mid$(str, i, 1))
Next
If j < 1000 Then
MSCOMm1.Output = "O"
Else
MsgBox "MÊt kÕt nèi", , "Th«ng b¸o"
Exit Sub
End If
key_test = 0
Sleep (2)
Next
End Sub

Private Sub COMmand6_Click()


MSCOMm1.Output = "R"
End Sub

Private Sub Form_Load()


Text1(0).Text = ""
With MSCOMm1
.Settings = "2400,N,8,1"
.COMmPort = 1
.RThreshold = 1
.SThreshold = 0
.InputMode = COMInputModeText
.InputLen = 0
.Handshaking = COMNone
.InBufferSize = 1024
.OutBufferSize = 1024
If .PortOpen = False Then

.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

Private Sub MSCOMm1_OnCOMm()


Dim v As Variant
v = MSCOMm1.Input
key_buf = v
'If (Mid$(v, 1, 1) = "T") Then MsgBox "KÕt nèi thµnh c«ng", , "Th«ng b¸o"
Text2.Text = Asc(v)
End Sub

Private Sub Timer1_Timer()


MSCOMm1.Output = Chr(b)
b=b+1
If (b = 255) Then b = 0
End Sub

Một số qui chuẩn khi lập trình với mô hình máy


Mỗi một câu lệnh lập trình thể hiện một hành động nào đó trên mô hình máy.
Hành động đó có thể là dịch chuyển trục X theo chiều dương, hoặc cũng có thể là
bật động cơ khoan theo một chiều nào đó và theo một tốc độ nào đó…do đó ngôn
ngữ lập trình có cấu trúc như sau:
{ký tự chức năng} [chiều của dịch chuyển] [lượng dịch chuyển (mm)]
Bảng dưới đây thể hiện chức năng của các kí tự chức năng.

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

Y Dịch chuyển dọc trục Y • Y-20: dịch chuyển theo chiều âm


20mm
• Y30: dịch chuyển theo chiều dương

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

Z Dịch chuyển dọc trục Z • Z-20: dịch chuyển theo chiều âm


20mm
• Z30: dịch chuyển theo chiều dương
30mm

M Thay đổi chiều khoan của • M01: Quay thuận


động cơ khoan • M02: Quay ngược
F Thay đổi cấp tốc độ trục • F0: Dừng động cơ
chính • F1: chạy với tốc độ 1
• F2: chạy với tốc độ 2
• F3: chạy với tốc độ 3

3.5. Chạy thử mô hình và đánh giá kết quả.


Sau khi hoàn tất các phần cơ khí và mạch điện tử, phần mềm trên máy tính
cũng như phần mềm viết cho vi điều khiển thì thấy kết quả tưởng đối tốt. Do có sự
giám sát của watdog timer nên khi sảy ra sự cố mất điện hay treo vi điều khiển
cũng không làm ảnh hưởng đến kết quả gia công của mô hình.
Tuy nhiên do điều kiện không cho phép nên phần cơ khí thiết kế không được
linh hoạt nhẹ nhàng cho nên sảy ra ít nhiều sai số do phần cơ khí tạo nên. Nó cỡ
khoảng dưới 1mm. Lỗi này có thể khắc phục được nếu như có các thiết bị cơ khí
gia công tốt và chính xác hơn.

3.6. Kết luận chương 3


Chương 3 đã tiến hành thiết kế chế tạo thành công một mô hình máy khoan
CNC loại nhỏ có thể gia công một vài phôi mềm. Mô hình có thể được sử dụng
trong quá trình học tập.
Qua mô hình chúng ta có thể hiểu thêm về cách thiết kế mạch điện tử thực
tế. Hiểu thêm về sự hoạt động của một máy CNC như thế nào, cũng như học được
cách lập trình visual basic, lập trình C cũng như lập trình CNC.
Với sự hỗ trợ của thiết bị có độ chính xác cao tôi có thể thiết kế ra một mô
hình hoạt động tốt hơn và chức năng nhiều hơn.

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

TÀI LIỆU THAM KHẢO


[1] Michael sava- joseph pusztai, Computer Numerical control programming, 2000
[2] Ngô Diên Tập, Kĩ thuật điều khiển AVR, NXB KHKT, 2003
[3] Ngô Diên Tập, Kĩ thuật ghép nối máy tính, NXB KHKT, 2001
[4]Nguyễn Anh Tuấn, Cơ sở kĩ thuật CNC, NXB TPHCM, 2003

Sinh viên thực hiện: Bùi Đức Thọ - Tự động hóa K45
Trang: 80

You might also like