MỤC LỤC
DANH MỤC HÌNH VẼ
Ngày nay kỹ thuật vi điều khiển đã trở nên quen thuộc trong các ngành kỹ thuật
và trong dân dụng. Từ các dây chuyền sản xuất lớn đến các thiết bị gia dụng, chúng ta
đều thấy sự hiện diện của vi điều khiển. Kỹ thuật vi điều khiển với tốc độ phát triển
nhanh chóng đã mang đến những thay đổi trong khoa hoc, công nghệ cũng như trong
đời sống hàng ngày. Các bộ vi điều khiển có khả năng xử lý nhiều hoạt động phức tạp,
chính xác hơn mà chỉ cần một vi mạch nhỏ, nó đã thay thế các tủ điều khiển lớn và
phức tạp bằng những mạch điện gọn nhẹ, dễ dàng thao tác sử dụng. Vi điều khiển được
ứng dụng trong nhiều lĩnh vực như các dây chuyền tự động, các máy điều khiển số,
Robot, mạch chống trộm, mạch báo cháy … Việc ứng dụng vi điều khiển để điều khiển
vị trí theo ý muốn một cách chính xác trong các máy điều khiển số đang rất được quan
tâm hiện nay. Khoa học ngày càng phát triển thì con người không chỉ dừng lại ở việc
điều khiển trực tiếp hệ thống, mà muốn điều khiển và giám sát hệ thống từ xa thông
1
qua máy tính. Hiện nay phần mềm Visual Basic đang được ứng dụng rất nhiều để tạo
giao diện giám sát và điều khiển các hệ thống máy móc qua máy tính một cách dễ dàng
và chính xác. Kỹ thuật vi điều khiển kết hợp với điều khiển bằng máy tính là kỹ thuật
phát triển mạnh trong tương lai, là chìa khóa để tiến tới công nghệ hiện đại. Đối với
sinh viên ngành cơ- điện tử đây là một lĩnh vực mới hứa hẹn nhiều triển vọng.
Chính vì những lý do trên chúng em đã chọn đề tài: “Giám sát,điều khiển hệ
thống điều khiển vị trí qua máy tính sử dụng phần mềm Visual Basic”. Thông qua
đề
tài này chúng em s
ẽ có những điều kiện tốt nhất để học hỏi, tích lũy kinh nghiệm
quý báu, bổ xung thêm vào hành trang của mình trên con đường đã chọn.
Trong thời gian nghiên cứu và làm đồ án dựa vào kiến thức đã được học ở trường,
qua một số sách, tài liệu có liên quan cùng với sự giúp đỡ tận tình của thầy Nguyễn
Văn Diên và các thầy cô giáo trong khoa, bộ môn cùng các bạn, đồ án môn học của
chúng em đã hoàn thành. Trong quá trình thực hiện đề tài mặc dù đã cố gắng nghiên
cứu và trình bày nhưng do kiến thức còn hạn chế nên không thể tránh khỏi những
khiển vị trí qua máy tính sử dụng phần mềm Visual Basic”.
1.2 Mục đích nghiên cứu của đề tài
Qua đồ án này giúp chúng em tìm hiểu, học hỏi, tích lũy kinh nghiệm quý báu,
bổ xung thêm vào hành trang của mình trên con đường đã chọn.
- Tìm hiểu thêm nhiều kiến thức về vi điều khiển 89C51 và các linh kiện khác.
- Tìm hiểu kỹ thuật ghép nối giữa máy tính và vi điều khiển, giao tiếp giữa máy
tính và vi điều khiển.
- Xây dựng mô hình điều khiển vị trí hoạt động chính xác có giám sát bằng máy
tính.
- Giúp chúng em nâng cao kinh nghiệm, kỹ năng như kĩ năng lập trình điều khiển,
kĩ năng thiết kế và làm mạch…
- Nâng cao khả năng làm việc theo nhóm.
- Giúp chúng em nắm được kiến thức tổng quan về hệ thống điều khiển và giám
sát. Từ đó sẽ hình thành các kỹ năng liên kết các phần tử trong hệ thống sao cho
ổn định và mang tính kinh tế cao nhất.
- Tạo sự va chạm cho sinh viên ngay trên ghế nhà trường về các hệ thống điều
khiển và giám sát trong các nhà máy để sau khi ra trường sinh viên không bị bỡ
ngỡ trước những hệ thống lớn.
1.3 Ý nghĩa lý luận và thực tiễn của đề tài
• Ý nghĩa lý luận
Đề tài giúp sinh viên năm cuối củng cố lại kiến thức đã học để chuẩn bị cho sinh
viên khi ra trường đáp ứng được phần nào nhu cầu của công việc, của nhà tuyển dụng.
• Ý nghĩa thực tiễn
Khi đề tài “Giám sát hệ thống điều khiển vị trí qua máy tính sử dụng phần
mềm Visual Basic” được hoàn thành sẽ mang ý nghĩa thực tiễn như sau:
3
- Ứng dụng vào thực tế điều khiển vị trí chính xác giúp đảm bảo sản phẩm có độ
chính xác cao hơn khi gia công.
- Nâng cao năng suất và chất lượng sản phẩm khi gia công.
- Giảm bớt sức lao động của con người.
pháp bằng tay, ta dùng tay gạt hoặc tay quay điều khiển để điều khiển. Tiến hành cho
tới khi dùng thước đo, kiểm tra chi tiết đạt yêu cầu thì dừng lại. Việc chỉnh máy, gá
phôi, kẹp chặt dụng cụ… được thực hiện bằng tay: cài đặt các thông số v, s, t điều thực
hiện thông qua các tay quay. . Năng suất và chất lượng khi gia công tiện phụ thuộc vào
nhiều yếu tố như: vật liệu của dụng cụ, vật liệu của chi tiết gia công, trạng thái bề mặt
gia công, tay nghề của người công nhân… Chính vì việc thực hiện, điều khiển vị trí
trong các máy tiện vạn năng bằng tay nên độ chính xác, năng suất chưa cao. Do không
tự động kiểm tra chất lượng trong quá trình gia công, không giám sát được quá trình
gia công nên tổn hao chi phí cho kiểm tra chất lượng cao.
2.1.2 Mô hình điều khiển vị trí trong máy tiện CNC
Trong các nhà máy, xí nghiệp công nghiệp ở nước ta hiện nay máy công cụ điều
khiển số CNC nói chung và máy tiện CNC nói riêng ngày càng được sử dụng rộng rãi
nhờ những đặc điểm ưu việt của nó.
Hình 2. 2 Máy tiện CNC
5
Khi chi tiết có độ phức tạp cao, lựa chọn phương pháp gia công phù hợp nhất là
gia công trên các máy CNC. Bởi vì gia công trên máy CNC rút ngắn thời gian gia
công, đạt độ chính xác yêu cầu và giá thành rẻ hơn so với các máy công cụ vạn năng và
máy tự động vạn năng. Khi thay đổi hình dạng sản phẩm nhanh vì chỉ cần thay đổi
chương trình điều khiển mà không cần thay đổi cấu trúc của máy hoặc thêm các đồ gá
chuyên dùng. Máy có khả năng đánh giá độ mòn dụng cụ ngay trong quá trình gia công
và tự điều chỉnh máy để bù lượng mòn dụng cụ. Máy CNC có tính năng tự động kiểm
tra chất lượng ngay trong quá trình gia công.
Hệ điều khiển máy CNC: Về mặt tổng quát, các máy CNC trong công nghiệp
đều được điều khiển theo một nguyên tắc nhất định. Dữ liệu điều khiển được đọc vào
các vật mang tin (băng từ, đĩa từ, băng đục lỗ…) hoặc từ chương trình có sẵn trên máy
tính hoặc do người sử dụng nhập vào từ bàn phím giao tiếp. Các dữ liệu này được giải
mã và hệ thống điều khiển xuất ra các tập lệnh để điều khiển các cơ cấu chấp hành thực
hiện các lệnh theo yêu cầu của người sử dụng. Trong khi các cơ cấu chấp hành thực
hiện các lệnh đó, kết quả về việc thực hiện được mã hóa ngược lại và phản hồi về hệ
KHỐI CÁCH LY
KHỐI ĐIỀU
KHIỂN
KHỐI PHÍM
ĐIỀU KHIỂN
KHỐI PHẢN
HỒI
Hình 2. 3 Sơ đồ khối
2.2.2 Chức năng các khối
a) Máy tính
Chức năng: Điều khiển hệ thống thông qua phần mềm Visual Basic. Ta nhập
khoảng cách theo mong muốn từ bàn phím của máy tính. Hệ thống sẽ gửi lại vị trí thực
và hiển thị lên màn hình.
b) Khối RS232
Chức năng: Là khối kết nối máy tính với vi điều khiển qua chuẩn truyền thông
RS232 qua cổng COM 9 chân. Bằng việc sử dụng ngôn ngữ lập trình Visual Basic là
có thể giao tiếp giữa vi điều khiển và máy tính.
c) Khối phím điều khiển
Chức năng: thông qua các nút ấn để điều khiển hệ thống hoạt động theo các chế độ
đặt trước.
d) Khối nguồn
Chức năng: cấp nguồn cho hệ hống hoạt động. Chuyển đổi điện áp AC sang
5VDC để cấp cho khối điều khiển, khối cách ly, khối phím điều khiển và 12VDC cấp
cho khối chấp hành.
e) Khối điều khiển
Chức năng: Đây là khối xử lý trung tâm của hệ thống. Tiếp nhận thông tin từ khối
phản hồi, từ đó xuất tín hiệu điều khiển gửi đến khối chấp hành theo các chương trình đã
lập sẵn. Đưa dữ liệu về vị trí thực hiển thị lên màn hình máy tính. Khối này có vai trò đặc
biệt quan trọng, nó là trung tâm, là bộ não của toàn hệ thống, làm nhiệm vụ điều hành
hoạt động của cả hệ thống.
CHƯƠNG 3: CƠ SỞ LÝ THUYẾT
3.1 Vi điều khiển 89C51
3.1.1 Cấu trúc phần cứng
a) Sơ đồ chân
Chíp 89C51 có 40 chân với hai hàng chân.
Hình 3. 1 Sơ đồ chân AT89C51
Loại chip 8051 phổ biến trên thị trường hiện nay là AT89C51/52/55
b) Tóm tắt phần cứng
- Chân VCC: Chân số 40 là VCC cấp điện áp +5V cho vi điều khiển.
10
- Chân GND: Chân số 20 nối mass.
- Port 0: Gồm 8 chân P0.0 đến P0.7 (chân 32-39): là các chân của cổng 0.
- Port 1: Gồm 8 chân P1.0 đến P1.7 (chân 1-8): là các chân của cổng 1.
- Port 2: Gồm 8 chân P2.0 đến P2.7 (chân 21-28): là các chân của cổng 2.
- Port 3: Gồm 8 chân P3.0 đến P3.7 (chân 10-17): là các chân của cổng 3.
- Reset (Chân 9): Chân reset có tác dụng reset cho chíp, mức tích cực của chân này là
mức 1, để reset ta phải đưa mức 1 (5v) đến chân này với thời gian tối thiểu 2 chu kỳ
máy (tương đương 2µs – tương đương với thạch anh 12Mhz ).
- TxD: truyền tín hiệu kiểu nối tiếp.
- /INT0: ngắt ngoài 0.
- /INT1: ngắt ngoài 1.
- T0: chân vào 0 của bộ timer/counter 0.
- T1: chân vào 1 của bộ timer/counter 1.
- /WR: ghi giữ liệu vào bộ nhớ ngoài.
-/Rd: đọc giữ liệu từ bộ nhớ ngoài.
-XTAL1 (chân 19): chân vào mạch khuếch đại dao động.
-XTAL2 (chân 18): chân ra từ mạch khuếch đại dao động.
-/PSEN (chân 29): chân cho phép đọc chương trình ngoài (Rom ngoài).
Sau đây là mạch reset:
a) Reset bằng tay b) Reset khi cấp nguồn
Hình 3. 5 Cảm biến quang có sử dụng quang tích hợp tính chất phát xạ
Nguyên lý làm việc:
Ánh sáng được phát ra từ diode phát quang đến ập vào bề mặt của vật chắn và
phản xạ trở lại chiếu vào photodide và biến đổi tín hiệu quang thành tín hiệu điện trước
khi đưa đến trigger smith tín hiệu được đưa tới khối chuyển mạch ra.
13
Hình 3.6 Bộ phát và bộ thu đặt cùng phương cùng chiều
Hình 3.7 Bộ phát và bộ thu đặt vuông góc với nhau
*Xét cảm biến quang với bộ thu và phát tách rời
Hình 3.8 Cảm biến quang với bộ thu và phát tách rời
Nguyên lý:
Ánh sáng từ bộ phát với tần số và cường độ phù hợp với bộ thu quang và được
bộ thu quang chuyển thành tín hiệu điện rồi đưa qua mạch lọc, qua trigger smith và đưa
ra đầu ra.
Hình 3.9 Nguyên lý cảm biến quang với bộ thu và phát tách rời
14
3.2.2 Các loại cảm biến quang phát xạ
a) Cảm biến quang hồng ngoại
Cảm biến hồng ngoại là loại cảm biến sử dụng ánh sáng hồng ngoại (ánh sáng
không nhìn thấy, nguồn sáng phát ra từ các Led phát ra ánh sáng hồng ngoại và nó
được gọi là bộ phát. Bộ thu có thể là photodiode hoặc phototranzitor.
Các dạng hoạt động của cảm biến phát xạ:
- Loại tối hoạt động: là loại mà tải được cấp điện khi ánh sáng từ bộ phát
không đến được bộ thu của cảm biến.
- Loại sáng hoạt động: là loại mà tải được cấp điện khi ánh sáng từ bộ phát
được truyền tới bộ thu của cảm biến.
. b) Cảm biến quang và ứng dụng cáp quang
Sợi quang có vai trò truyền dẫn ánh sáng. Những cảm biến sợi quang sử dụng
bộ phát và bộ thu và cáp uốn cong với rất nhiều sợi quang truyền ánh sáng. Cảm biến
Hình 3.13 Absolute encoder 8 vòng lỗ
- Incremental encoder:
Hình 3.14 Incremental encoder
Các bạn thấy rằng, cứ mỗi lần quay qua một lỗ, thì encoder sẽ tăng một đơn vị trong
biến đếm.
Tuy nhiên, một vấn đề lớn nữa là, làm sao chúng ta biết encoder đang xoay theo
chiều nào? Bởi vì cho dù xoay theo chiều nào, thì tín hiệu encoder cũng chỉ là các xung
đơn lẻ và xoay theo hai chiều đều giống nhau. Chính vì vậy, người ta đặt thêm một
vòng lỗ ở giữa vòng lỗ thứ 1 và lỗ định vị như hình sau:
Lỗ định vị trong Incremental encoder
Hình 3.15 Lỗ định vị trong Incremental encoder
17
Hình 3.16 Encoder phổ biến nhất hiện nay
3.3.3 Cách giải mã
- Sử dụng phương pháp đếm số vòng quay của bánh xe trên một đơn vị thời gian.
- Đếm số vòng quay ta mã hóa chúng dưới dạng các xung 0 và 1, ta có nhiều cách
đếm:
+ Dùng Encoder có sẵn trong động cơ
+ Lắp các vạch đen trắng gắn lên bánh xe làm căn cứ tạo xung. Phương pháp
này rất thuận lợi cho giải mã theo phương pháp riêng, số lượng vạch thay đổi dễ dàng
tùy theo tốc độ động cơ.
3.4 Động cơ bước
3.4.1 Tổng quan về động cơ bước
Hình 3.17 Động cơ bước
Động cơ bước có thể được mô tả như là một động cơ điện không dùng bộ chuyển
mạch. Cụ thể, các mấu trong động cơ là stator, và rotor là nam châm vĩnh cửu hoặc
trong trường hợp của động cơ biến từ trở, nó là những khối răng làm bằng vật liệu nhẹ
có từ tính. Tất cả các mạch đảo phải được điều khiển bên ngoài bởi bộ điều khiển, và
đặc biệt, các động cơ và bộ điều khiển được thiết kế để động cơ có thể giữ nguyên bất
kỳ vị trí cố định nào cũng như là quay đến bất kỳ vị trí nào. Hầu hết các động cơ bước
Động cơ bước phong phú về góc quay. Các động cơ kém nhất quay 90 độ mỗi
bước, trong khi đó các động cơ nam châm vĩnh cửu xử lý cao thường quay 1.8 độ đến
0.72 độ mỗi bước. Với một bộ điều khiển, hầu hết các loại động cơ nam châm vĩnh cửu
và hỗn hợp đều có thể chạy ở chế độ nửa bước, và một vài bộ điều khiển có thể điều
khiển các phân bước nhỏ hơn hay còn gọi là vi bước. Đối với cả động cơ nam châm
vĩnh cửu hoặc động cơ biến từ trở, nếu chỉ một mấu của động cơ được kích, rotor (ở
19
không tải) sẽ nhảy đến một góc cố định và sau đó giữ nguyên ở góc đó cho đến khi
moment xoắn vượt qua giá trị moment xoắn giữ (hold torque) của động cơ.
Hình 3.18 Động cơ biến từ trở
Nếu motor của bạn có 3 cuộn dây, được nối như trong sơ đồ hình 3.18, với một đầu
nối chung cho tất cả các cuộn, thì nó chắc hẳn là một động cơ biến từ trở. Khi sử dụng,
dây nối chung (C) thường được nối vào cực dương của nguồn và các cuộn được kích
theo thứ tự liên tục.
Dấu thập trong hình 3.18 là rotor của động cơ biến từ trở quay 30 độ mỗi bước.
Rotor trong động cơ này có 4 răng và stator có 6 cực, mỗi cuộn quấn quanh hai cực đối
diện. Khi cuộn 1 được kích điện, răng X của rotor bị hút vào cực 1. Nếu dòng qua cuộn
1 bị ngắt và đóng dòng qua cuộn 2, rotor sẽ quay 30 độ theo chiều kim đồng hồ và răng
Y sẽ hút vào cực 2.
Để quay động cơ này một cách liên tục, chúng ta chỉ cần cấp điện liên tục luân
phiên cho 3 cuộn. Theo logic đặt ra, trong bảng dưới đây 1 có nghĩa là có dòng điện đi
qua các cuộn, và chuỗi điều khiển sau sẽ quay động cơ theo chiều kim đồng hồ 24
bước hoặc 2 vòng:
Cuộn 1 1001001001001001001001001
Cuộn 2 0100100100100100100100100
Cuộn 3 0010010010010010010010010
thời gian ‐‐>
Hình dạng động cơ được mô tả trong hình 3.18, quay 30 độ mỗi bước, dùng số
răng rotor và số cực stator tối thiểu. Sử dụng nhiều cực và nhiều răng hơn cho phép
động cơ quay với góc nhỏ hơn. Tạo mặt răng trên bề mặt các cực và các răng trên rotor
Vị trí bước được tạo ra bởi hai chuỗi trên không giống nhau; kết quả, kết hợp 2
chuỗi trên cho phép điều khiển nửa bước, với việc dừng động cơ một cách lần lượt tại
những vị trí đã nêu ở một trong hai dãy trên. Chuỗi kết hợp như sau:
Mấu 1a 11000001110000011100000111
Mấu 1b 00011100000111000001110000
Mấu 2a 01110000011100000111000001
Mấu 2b 00000111000001110000011100
Thời gian ‐‐>
Hình 3.20 Động cơ nam châm vĩnh cửu 2 cực
Động cơ nam châm vĩnh cửu hoặc hỗn hợp hai cực có cấu trúc cơ khí giống y như
động cơ đơn cực, nhưng hai mấu của động cơ được nối đơn giản hơn, không có đầu
trung tâm. Vì vậy, bản thân động cơ thì đơn giản hơn, nhưng mạch điều khiển để đảo
cực mỗi cặp cực trong động cơ thì phức tạp hơn. Minh hoạ ở hình 3.20 chỉ ra cách nối
động cơ, trong khi đó phần rotor ở đây giống y như ở hình 3.19.
3.5 Trục vitme
Đây là thiết bị cơ khí có độ chính xác cao, được điều khiển thông qua các động cơ
được gắn đồng trục với nhau. Động cơ điều khiển vít me có thể là động cơ bước, động
cơ secvor, động cơ ba pha tùy vào yêu cầu công nghệ cũng như phương pháp điều
khiển mà ta lựa chọn sao cho phù hợp. Ở đây ta dùng động cơ bước để điều khiển.
Một bộ vít me hoàn chỉnh bao gồm bàn gá, các gối đỡ, thanh dẫn hướng
22
Hình 3.21 Trục vitme
3.5.1 Các loại truyền động Vít – đai ốc
Truyền động trục vít – đai ốc được dùng để biến chuyển động quay thành chuyển
động tịnh tiến.
Hình 3. 22 Cấu tạo trục vít me
Tùy theo dạng chuyển động của vít và đai ốc ta có các loại:
- Trục vít quay và tịnh tiến, đai ốc cố định với giá.
- Đai ốc tịnh tiến, vít quay.
- Đai ốc vừa tịnh tiến vừa quay còn vít đứng yên.
3.6.1 Tổng quan về visual basic
Visual Basic là gì? Phần "Visual" đề cập đến phương pháp được sử dụng để tạo
giao diện đồ họa người dùng (Graphical User Interface - GUI). Visual Basic 6 có sẵn
những bộ phận hình ảnh, gọi là controls, bạn có thể sắp đặt vị trí và quyết định các đặc
tính của chúng trên một khung màn hình, gọi là form. Nếu bạn đã từng sử dụng chương
trình vẽ chẳng hạn như Paint, bạn đã có sẵn các kỹ năng cần thiết để tạo một GUI cho
Visual Basic 6.
Phần "Basic" đề cập đến ngôn ngữ BASIC (Beginners All-Purpose Symbolic
Instruction Code), một ngôn ngữ lập trình đơn giản, dễ học, được chế ra cho các khoa
học gia (những người không có thì giờ để học lập trình điện toán) dùng. Visual Basic
chứa đến hàng trăm câu lệnh (commands), hàm (functions) và từ khóa (keywords). Rất
nhiều commands, functions liên hệ trực tiếp đến MS Windows GUI. Những người mới
24
bắt đầu có thể viết chương trình bằng cách học chỉ một vài commands, functions và
keywords. Khả năng của ngôn ngữ này cho phép những người chuyên nghiệp hoàn
thành bất kỳ điều gì nhờ sử dụng ngôn ngữ lập trình MS Windows nào khác. Người
mang lại phần "Visual" cho Visual Basic là Alan Cooper. Ông đã gói môi trường hoạt
động của Basic trong một phạm vi dễ hiểu, dễ dùng, không cần phải chú ý đến sự tinh
xảo của MS Windows, nhưng vẫn dùng các chức năng của MS Windows một cách
hiệu quả. Do đó, nhiều người xem Alan Cooper là cha của Visual Basic.
Visual Basic 6.0 là một phiên bản của bộ công cụ lập trình Visual Basic, cho phép
người dùng tiếp cận nhanh cách thức lập trình trên môi trường Windows. Những ai đã
từng quen thuộc với Visual Basic thì tìm thấy ở Visual Basic 6 những tính năng trợ
giúp mới và các công cụ lập trình hiệu quả. Người dùng mới làm quen với Visual Basic
cũng có thể làm chủ Visual Basic 6 một cách dễ dàng.
Với Visual Basic 6, chúng ta có thể:
- Khai thác thế mạnh của các điều khiển mở rộng.
- Làm việc với các điều khiển mới (ngày tháng với điều khiển MonthView và
DataTimePicker, các thanh công cụ có thể di chuyển được CoolBar, sử dụng
đồ họa với ImageCombo, thanh cuộn FlatScrollBar…).