TRƯỜNG ĐẠI HỌC NHA TRANG
KHOA KỸ THUẬT GIAO THÔNG
TRẦN VĂN TIẾP
LỚP 51DLTT
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
NGÀNH KỸ THUẬT TÀU THỦY
CHUYÊN NGÀNH ĐỘNG LỰC TÀU THỦY
Ñeà taøi :
Viết chương trình máy tính
hỗ trợ điều khiển và thu thập dữ liệu
cho bộ điều tốc điện tử của động cơ Yanmar 3SM
N
N
h
h
a
a
T
T
r
r
a
a
n
n
g
g
,
,
7
7
/
/
2
2
0
0
1
1
3
3
TRƯỜNG ĐẠI HỌC NHA TRANG
KHOA KỸ THUẬT GIAO THÔNG
TRẦN VĂN TIẾP
LỚP 51DLTT
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
NGÀNH KỸ THUẬT TÀU THỦY
CHUYÊN NGÀNH ĐỘNG LỰC TÀU THỦY
GVHD: Ths. Đoàn Phước Thọ
Ñeà taøi :
Viết chương trình máy tính
hỗ trợ điều khiển và thu thập dữ liệu
cho bộ điều tốc điện tử của động cơ Yanmar 3SM
N
N
h
h
a
a
T
T
r
r
a
a
n
n
g
g
,
,
7
7
/
/
2
2
0
0
1
1
3
3
PHIẾU ĐÁNH GIÁ ĐỒ ÁN TỐT NGHIỆP
Họ và tên sinh viên: Trần Văn Tiếp Lớp: 51DLTT
Ngành: Kỹ thuật tàu thủy
Chuyên ngành: Động lực tàu thủy Khoa: Kỹ thuật Giao thông
Tên đề tài: “Viết chương trình máy tính hỗ trợ điều khiển và thu nhập dữ liệu
cho bộ điều tốc điện tử của động cơ Yanmar 3SM”.
Số trang: 75 Số chương: 4 Số tài liệu tham khảo: 8
Hiện vật: 02 quyển Đồ án, 02 đĩa CD.
NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN
Nha Trang, ngày …tháng……năm 2013
CÁN BỘ HƯỚNG DẪN
ThS. Đoàn Phước Thọ
ĐIỂM CHUNG
Bằng số Bằng chữ
PHIẾU ĐÁNH GIÁ ĐỒ ÁN TỐT NGHIỆP
Họ và tên sinh viên: Trần Văn Tiếp Lớp: 51DLTT
Ngành: Kỹ thuật tàu thủy
Chuyên ngành: Động lực tàu thủy Khoa: Kỹ thuật Giao thông
Tên đề tài: “Viết chương trình máy tính hỗ trợ điều khiển và thu nhập dữ liệu
cho bộ điều tốc điện tử của động cơ Yanmar 3SM”.
Số trang: 75 Số chương: 4 Số tài liệu tham khảo: 8
Hiện vật: 02 quyển Đồ án, 02 đĩa CD.
NHẬN XÉT CỦA CÁN BỘ PHẢN BIỆN
Nha Trang, ngày tháng….năm 2013
CÁN BỘ PHẢN BIỆN
Nha Trang, ngày…tháng…năm 2013
CHỦ TỊCH HỘI ĐỒNG
ĐIỂM PHẢN BIỆN
Bằng số Bằng chữ
ĐIỂM CHUNG
Bằng số Bằng chữ
MỤC LỤC
Trang
MỤC LỤC i
DANH MỤC HÌNH iv
DANH MỤC BẢNG vi
DANH MỤC CÁC CHỮ VIẾT TẮT vii
LỜI NÓI ĐẦU 1
Chương 1 - ĐẶT VẦN ĐỀ 3
1.1. Lý do chọn đề tài 3
1.2. Đối tượng, phạm vi, mục tiêu nghiên cứu của đề tài 4
1.2.1. Đối tượng nghiên cứu 4
1.2.2. Phạm vi nghiên cứu 4
1.2.3. Mục tiêu nghiên cứu 9
1.2.4. Phương hướng tiếp cận 9
1.2.5. Phương pháp nghiên cứu 9
Chương 2 - CƠ SỞ LÝ THUYẾT, LỰA CHỌN NGÔN NGỮ LẬP TRÌNH
2.1. Cơ sở lý thuyết về giao tiếp máy tính trong điều khiển 10
2.1.1. Cấu trúc phần cứng và tổ chức bộ nhớ của vi điều khiển 10
2.1.1.1. Giới thiệu về vi xử lý và vi điều khiển 10
2.1.1.2. Đặc điểm của vi điều khiển Atmega 16 11
2.1.2. Các phương pháp giao tiếp máy tính 17
2.1.2.1. Giao tiếp qua cổng nối tiếp 17
2.1.2.1.1. Cấu trúc cổng nối tiếp 17
2.1.2.1.2. Truyền thông giữa hai nút 19
2.1.2.1.3. Truy xuất trực tiếp qua cổng 20
2.1.2.1.4. Truyền thông nối tiếp dùng ActiveX 21
2.1.2.1.5. Giao tiếp với vi điều khiển 22
2.1.2.1.6. Giao tiếp với Modem 23
2.1.2.1.7. Giao tiếp qua cổng nối tiếp USB 25
2.1.2.1.8. Mạng 485 28
2.1.2.2. Giao tiếp qua cổng song song ( Cổng máy in) 31
2.1.2.3. Giao tiếp qua khe cắm máy tính (Slot - Card) 31
2.1.3. Truyền dữ liệu 32
2.1.3.1. Thông tin số liệu 32
2.1.3.2. Phương thức truyền 33
2.1.3.3. Thông tin nối tiếp bất đồng bộ 34
2.1.3.4. Thông tin nối tiếp đồng bộ 36
2.1.4. Thu thập dữ liệu 37
2.2. Lựa chọn phương pháp giao tiếp máy tính cho BĐT điện tử 39
2.3. Lựa chọn ngôn ngữ lập trình 40
2.3.1. Cơ sở lựa chọn ngôn ngữ lập trình 40
2.3.2. Ngôn ngữ lập trình Visual Basic 6.0 41
2.3.2.1. Khái quát về Visual Basic 6.0 41
2.3.2.2. Thiết kế giao diện 41
2.3.2.3. Viết lệnh cho các đối tượng 43
2.3.2.4. Giao tiếp cổng nối tiếp dùng Visual Basic 6.0 sử dụng
MSComm32.ocx 46
Chương 3 – VIẾT CHƯƠNG TRÌNH HỖ TRỢ ĐIỀU KHIỂN VÀ THU
NHẬP DỮ LIỆU CHO BĐT ĐIỆN TỬ TRÊN ĐỘNG CƠ YANMAR 3SM
3.1. Yêu cầu chung 52
3.2. Phần cứng giao tiếp máy tính 52
3.2.1. Sơ đồ khối, chức năng và nguyên lý hoạt động 52
3.2.2. Thiết kế phần cứng giao tiếp máy tính với vi điều khiển 54
3.2.2.1. Chọn chuẩn giao tiếp nối tiếp 54
3.2.2.2. Mạch giao tiếp với vi điều khiển dùng IC Max232 55
3.3. Giao diện điều khiển trên máy tính 57
3.3.1. Giải thuật thiết kế giao diện 57
3.3.2. Thiết kế giao diện giao tiếp trên Visual Basic 6.0 57
3.3.2. Viết chương trình thực thi giao tiếp máy tính 60
3.3.2.1. Chức năng của chương trình 60
3.3.2.2. Giải thuật điều khiển 61
3.3.2.3. Một số đoạn Code trong chương trình 62
Chương 4 - THỰC NGHIỆM VÀ ĐÁNH GIÁ
4.1.Mục đích 67
4.2. Thực nghiệm hoạt động của chương trình trên BĐT điện tử 67
4.2.1. Trang thiết bị phục vụ thực nghiệm 67
4.2.2. Bố trí thực nghiệm 67
4.2.3. Tiến hành thực nghiệm 69
4.2.3.1. Quy trình tiến hành thực nghiệm. 69
4.2.3.2. Kết quả thực nghiệm. 70
KẾT LUẬN VÀ ĐỀ XUẤT Ý KIẾN 74
TÀI LIỆU THAM KHẢO 75
DANH MỤC HÌNH
Hình 1.1 – Động cơ Yanmar 3SM tại Phòng thực hành động cơ 4
Hình 1.2 - Bộ điều tốc điện tử của động cơ Yanmar 3SM 5
Hình 1.3 - Sơ đồ khối hệ thống điều khiển của BĐT điện tử 5
Hình 1.4 - Cảm biến tốc độ 6
Hình 1.5 – Cảm biến nhiệt độ nước làm mát và khí xả 7
Hình 1.6 – Vi điều khiển Atmega 16 7
Hình 1.7 - LCD 8
Hình 1.8 - Cơ cấu chấp hành (servo motor) 8
Hình 2.1 – Cấu trúc chung của vi điều khiển 11
Hình 2.2 – Sơ đồ cấu trúc của AVR Atmega 16 12
Hình 2.3 – Sơ đồ chân của AVR Atmega 16 13
Hình 2.4 – Sơ đồ chân cổng COM 25 chân 18
Hình 2.5 – Sơ đồ chân cổng COM 9 chân 19
Hình 2.6 – Kết nối trong truyền thông nối tiếp 19
Hình 2.7 – Kết nối trong truyền thông nối tiếp dùng tín hiệu bắt tay 20
Hình 2.8 – Mạch chuyển mức logic TTL ↔ RS232 22
Hình 2.9 - Mạch chuyển mức logic TTL ↔ RS232 cách ly 23
Hình 2.10 – Kết nối với vi điều khiển 23
Hình 2.11 – Cổng USB chuyển thành cổng RS232 27
Hình 2.12 - Chuẩn giao tiếp RS422 29
Hình 2.13 - Chuẩn giao tiếp RS485 29
Hình 2.14 – Mạch chuyển đổi từ RS232 sang RS485 và ngược lại 30
Hình 2.15 – Cấu trúc cổng máy in 31
Hình 2.16 – Truyền song song 33
Hình 2.17 – Truyền nối tiếp 33
Hình 2.18 – Truyền đồng bộ - nối tiếp 33
Hình 2.19 – Thu thập thông tin từ các đại lượng vật lý 37
Hình 2.20 – Hệ thống thu thập dữ liệu 38
Hình 2.21 – Sơ đồ hệ thu thập dữ liệu 1 kênh 38
Hình 2.22 – Sơ đồ hệ thu thập dữ liệu nhiều kênh 39
Hình 2.23 – Cách bổ sung ActiveX Microsoft Comm Control vào VB 6.0 47
Hình 2.24 – Biểu tượng và bảng thuộc tính của ActiveX Microsoft Comm Control 47
Hình 3.1 – Sơ đồ khối phần cứng giao tiếp máy tính với BĐT điện tử 52
Hình 3.2 – IC Max232 55
Hình 3.3 – Sơ đồ mạch giao tiếp với chuẩn RS232 qua IC MAX232 tới vi điều khiển 55
Hình 3.4 – Sơ đồ giao tiếp máy tính với VĐK Atmega 16 của BĐT điện tử 56
Hình 3.5 – Mạch giao tiếp sau khi chế tạo và lắp trên BĐT điện tử 56
Hình 3.6 – Giải thuật cho thiết kế giao diện 57
Hình 3.7 – Màn hình làm việc của VB 6.0 57
Hình 3.8 – Giao diện khởi tạo chương trình 58
Hình 3.9 – Giao diện điều khiển chính của chương trình 58
Hình 3.10 – Tab thu thập dữ liệu 60
Hình 4.1 – Sơ đồ bố trí thực nghiệm 67
Hình 4.2 – Máy tính và BĐT điện tử 68
Hình 4.3 – Bình nhiên liệu 68
Hình 4.4 – Cảm biến tốc độ, nhiệt độ khí xả và nước làm mát 68
Hình 4.5 – Cảm biến tốc độ, nhiệt độ khí xả và nước làm mát 68
Hình 4.6 – Đồ thị biểu diễn ở chế độ không tải với điều tốc cơ khí 70
Hình 4.7 – Đồ thị biểu diễn ở chế độ không tải với điều tốc điện tử 71
Hình 4.8 – Đồ thị biểu diễn ở chế độ không tải với điều tốc điện tử 72
DANH MỤC BẢNG
Bảng 2.1 – Các đặc tính kỹ thuật của chuẩn RS232 18
Bảng 2.2 – Các chân của cổng nối tiếp máy tính 19
Bảng 2.3 – Địa chỉ các cổng nối tiếp trong máy tính 20
Bảng 2.4 – Các thanh ghi trong giao tiếp nối tiếp sử dụng vi mạch UART 21
Bảng 2.5 – Các thuộc tính cơ bản của MSComm 22
Bảng 2.6 – Đặc điểm 4 chân cổng USB 26
Bảng 2.7 – Các đặc tính kỹ thuật của chuẩn giao tiếp RS422 và RS485 30
Bảng 2.8 – Các đường tín hiệu điều khiển qua Slot 32
Bảng 2.9 – Giá trị hợp lệ của tốc độ truyền dữ liệu 48
Bảng 2.10 – Giá trị kiểm tra chẵn lẻ 48
Bảng 4.1 – Bảng dữ liệu thu thập ở chế độ không tải với điều tốc cơ khí 70
Bảng 4.2 – Bảng dữ liệu thu thập ở chế độ không tải với điều tốc điện tử 71
Bảng 4.3 – Dữ liệu thu thập ở chế độ có tải với điều tốc điện tử 72
DANH MỤC CÁC CHỮ VIẾT TẮT
BĐT: Bộ điều tốc
BĐK: Bộ điều khiển
VĐK: Vi điều khiển
HP: Horse power
ECU: Electrolic control unit
PPR: Pulses Per Revolution
PWM: Pulse Width Modulation
RISC: Reduced Intruction Set Computer
HLL: Hight Level Language
SC: Stage Controller
ALU: Arithmetic Logic Unit
LCD: Liquid Crystal Display
CPU: Central Processing Unit
EPROM: Erasable Programmable Read Only Memory
PC: Personal Computer
ROM: Read Only Memory
RAM: Random Access Memory
COM : Computer Output on Micro
JTAG: Joint Test Action Group
SPI: Serial Peripheral Interface
ADC: Analog to Digital Converter
BCA: Bơm cao áp
DTE : Data Terminal Equipment
DCE: Data Communication Equipment
EIA: Electronics Industry Associations
1
LỜI NÓI ĐẦU
Ngày nay, máy vi tính đã được cải tiến, nâng cấp và thị trường hóa để đạt tốc
độ xử lý cực nhanh, giá thành rẻ. Trong những thập niên qua, máy vi tính đã được
áp dụng khắp mọi nơi, thay thế cho các hệ thống cũ nhiều nhược điểm. Đặc biệt,
trong các hệ thống điện, điện công nghiệp, máy vi tính đã được ứng dụng ngày càng
nhiều, mang lại nhiều tính năng ưu việt cho hệ thống.
Một ví dụ cụ thể của việc ứng dụng máy vi tính trong công nghiệp là các hệ
thống đo lường và điều khiển sử dụng máy vi tính. Trong các hệ thống này, máy vi
tính nhận các dữ liệu đo đạc trạng thái vật lý của hệ thống như: nhiệt độ, áp suất,
điện áp, và tính toán để đưa ra những quyết định, tín hiệu điều khiển trở lại hệ
thống, nhằm đạt được các yêu cầu điều khiển đề ra của hệ thống.
Muốn thiết kế, vận hành và bảo quản tốt hệ đo – điều khiển công nghiệp,
người kỹ sư cần nắm vững về kỹ thuật máy tính, cách viết chương trình, kỹ thuật
ghép nối thiết bị ngoại vi, việc xử lý số liệu, lý thuyết điều khiển số,
Điều tốc động cơ Diesel là một thiết bị vô cùng quan trọng, nó quyết định
đến khả năng làm việc và phát ra công suất của động cơ. Tình trạng kỹ thuật làm
việc của điều tốc sẽ quyết định đến sự làm việc an toàn và tính kinh tế của động cơ.
Tuy nhiên điều tốc động cơ là một thiết bị tự động nên nó làm việc tuân thủ theo
các nguyên tắc tự động điều khiển và phải phù hợp với động cơ. Trong thực tế, bộ
điều tốc đã làm cho nhiều người vận hành động cơ phải lo ngại. Khi sự cố xảy ra
với điều tốc đồng nghĩa xảy ra với động cơ, điều tốc bị sự cố sẽ kéo theo động cơ
không làm việc được hoặc làm việc mất an toàn.
BĐT điện tử có khả năng kiểm soát được tốc độ động cơ một cách tối ưu, tự
động hóa, tốc độ điều khiển nhanh, nâng cao tính an toàn và hiệu quả trong quá
trình vận hành - khai thác, cung cấp đúng lượng nhiên liệu với tải yêu cầu, tiết kiệm
tối đa nhiên liệu, an toàn với môi trường.
Đề tài “
Viết chương trình máy tính hỗ trợ điều khiển và thu nhập dữ liệu cho
bộ điều tốc điện tử của động cơ Yanmar 3SM
” nhằm làm “mềm hóa” chất lượng
điều khiển cho bộ điều tốc điện tử của động cơ Yanmar 3SM. Ngoài ra, còn có thể
tích hợp các khả năng ứng dụng khác như hiển thị, truy xuất dữ liệu đồng thời tạo ra
giao diện điều khiển thân thiện và dễ dàng sử dụng cho người sử dụng.
2
Đề tài của em gồm có 4 chương:
Chương 1: Đặt vấn đề.
Chương 2: Cơ sở lý thuyết, lựa chọn ngôn ngữ lập trình.
Chương 3: Viết chương trình hỗ trợ điều khiển và thu nhập dữ liệu cho bộ điều tốc
điện tử của động cơ Yanmar 3SM.
Chương 4: Nghiên cứu thực nghiệm
Làm đề tài tốt nghiệp đã giúp em củng cố thêm kiến thức đã được học và học
hỏi được nhiều kiến thức mới. Với sự hướng dẫn tận tình của Th.S Đoàn Phước Thọ
nay em đã hoàn thành đề tài của mình.
Em xin chân thành cảm ơn Th.S Đoàn Phước Thọ, các quý Thầy trong bộ môn
động lực và các bạn đã giúp em hoàn thành đề tài này.
Nha Trang, tháng 07 năm 2013
Sinh viên thực hiện
Trần Văn Tiếp
3
Chương 1
ĐẶT VẤN ĐỀ
1.1. Lý do chọn đề tài
Động cơ đốt trong là một thiết bị biến đổi năng lượng dưới dạng nhiệt năng
hoặc hóa năng thành cơ năng (chuyển động quay) và thiết bị được dùng để điều
chỉnh tốc độ hay công suất phát ra của động cơ được gọi là bộ điều tốc [3]. Nguyên
tắc làm việc của bộ điều tốc (BĐT) là đo (cảm biến) tốc độ quay (hay phụ tải) của
động cơ, tạo ra tác động điều khiển lượng nhiên liệu cấp vào động cơ nhằm duy trì
tốc độ của chúng theo giá trị yêu cầu hay nói cách khác là điều chỉnh công suất phát
ra của động cơ.
Cùng với sự phát triển của động cơ đốt trong nói chung và động cơ Diesel
nói riêng đòi hỏi các BĐT phải làm việc nhanh hơn, độ chính xác cao hơn và phức
tạp hơn. Ngày nay, sự tiên tiến của khoa học công nghệ thông tin đã được nghiên
cứu, ứng dụng để điều khiển tốc độ động cơ và tích hợp các khả năng ứng dụng
khác như đo tải, chia tải, cân bằng tải, bảo vệ, hiển thị và truy xuất dữ liệu.
BĐT điện tử dùng trên động cơ Yanmar 3SM được thiết kế, chế tạo dựa trên
nguyên lý của một BĐT điện tử cơ bản. Tín hiệu từ các cảm biến được chuyển tới
bộ xử lý trung tâm ECU để phân tích theo chương trình có sẵn, kết quả tính được
tạo thành các xung điều khiển chuyên tới bộ phận chấp hành. Tuy nhiên, hạn chế
của nó là khi cần thay đổi chương trình phải tháo vi xử lý ra và nạp chương trình
mới vào. Việc đó làm ảnh hưởng đến tuổi thọ và độ bền của BĐT cũng như chất
lượng điều khiển. Bên cạnh đó, dữ liệu và thông tin làm việc của BĐT điện tử trên
động cơ Yanmar 3SM mới chỉ được truyền tải đến người sử dụng qua màn hình
LCD. Điều này giảm bớt lượng thông tin và khả năng đánh giá tình trạng kỹ thuật
của BĐT và động cơ cũng như sự “mềm hóa” trong điều khiển.
Chính từ những hạn chế kể trên mà BĐT điện tử trên động cơ Yanmar 3SM
cần được bổ sung thêm khả năng tích hợp dữ liệu và truyền thông tin đến người vận
hành khai thác hay sự kết nối bằng các giao diện song song. Nhờ sự kết nối này,
việc hỗ trợ điều khiển và thu thập dữ liệu trở nên đơn giản hơn, hiệu quả hơn, chỉ
4
cần thao tác điều khiển trên máy tính, các thông số làm việc sẽ được hiển thị trực
quan thông báo cho người sử dụng tình trạng làm việc của BĐT và động cơ. Đó
chính là lý do mà em lựa chọn giải quyết trong đề tài.
1.2. Đối tượng, phạm vi, mục tiêu, phương hướng tiếp cận và phương pháp
nghiên cứu.
1.2.1. Đối tượng nghiên cứu:
Bộ điều tốc điện tử của động cơ Yanmar 3SM.
1.2.2. Phạm vi nghiên cứu: Xây dựng phần mềm hỗ
trợ điều khiển và thu nhập dữ
liệu cho bộ điều tốc điện tử của động cơ Yanmar-3SM.
Giới thiệu về động cơ Diesel Yanmar-3SM
Động cơ Yanmar 3SM tại Phòng thực hành - Bộ môn động lực tàu thủy
(Hình 1.1) là động cơ Diesel do hãng Yanmar của Nhật sản xuất. Được sản xuất và
sử dụng chủ yếu ở cuối thập niên 60 đầu thập niên 70. Hiện nay còn rất ít nơi còn sử
dụng động cơ này. Với công suất 45HP chỉ có khu vực miền Trung còn một số ngư
dân sử dụng động cơ này, ở những khu vực mà nghề đánh bắt cá phát triển mạnh
với những đội tàu lớn như Thành Phố Hồ Chí Minh, Vũng Tàu, và khu vực miền
Tây Nam Bộ hầu như không còn sử dụng động cơ này nữa.
Hình 1.1 - Động cơ Yanmar 3SM tại Phòng thực hành động cơ
5
Giới thiệu về bộ điều tốc điện tử trên động cơ Yanmar 3SM
Hình 1.2 - Bộ điều tốc điện tử của động cơ Yanmar 3SM
Hệ thống điều khiển của BĐT gồm 3 khối chính là: khối đầu vào, khối xử lý
trung tâm và khối đầu ra (Hình 1.3). Nhiệm vụ của khối đầu vào bao gồm việc thu
thập các tín hiệu đo lường từ các cảm biến, tín hiệu điều khiển từ thiết bị điều khiển
và gửi tới bộ xử lý trung tâm. Bộ xử lý trung tâm sau khi nhận tín hiệu sẽ tiến hành
chuyển đổi, tính toán, phân tích và xuất các tín hiệu điều khiển cho khối đầu ra.
Khối đầu ra bao gồm thiết bị hiển thị và các mạch điều khiển các cơ cấu chấp hành.
Hình 1.3 – Sơ đồ khối hệ thống điều khiển của BĐT điện tử
ECU
Cảm biến nhiệt độ
khí x
ả
Cảm biến tốc độ
Cơ cấu chấp hành
điều khiển thanh
răng nhiên liệu
đ
ộng c
ơ
Bộ phím điều khiển
Hiển thị LCD
Cảm biến nhiệt độ
nước làm mát
6
Khối đo thông số đầu vào:
- Cảm biến tốc độ (Hình 1.4): có nhiệm vụ báo tín hiệu cho ECU khi động cơ
làm việc, trên cơ sở số vòng quay đo được ECU sẽ tính toán giá trị của tốc độ quay,
tốc độ quay của động cơ được tính toán theo công thức sau:
t
d
d
n
Trong đó: n – tốc độ quay (rad/s)
dφ – góc đo được (rad)
dt – thời gian ứng với góc đo(s).
Tốc độ n là giá trị thực đo được trên động cơ, căn cứ vào giá trị này mà ECU
sẽ quyết định mức công suất cung cấp cho động cơ phối trộn trên cơ sở tham chiếu
giá trị tốc độ mong muốn được cài đặt trước đó.
Hình 1.4 – Cảm biến tốc độ
Để đo tốc độ ta sử dụng một tấm nhôm mỏng gắn trên bánh đà của động cơ,
khi bánh đà quay nó sẽ quay cùng với bánh đà. Khi tấm nhôm quay qua rãnh của hai
mắt phát - thu thì nó sẽ đóng vai trò là vật cản chắn ánh sáng đi qua, nó phá vỡ các
chùm tia giữa mắt phát và mắt thu. Do đó tín hiệu qua mắt phát và mắt thu bị gián
đoạn khi có vật cản đi qua
Khi quay ánh sáng chiếu đến lúc bị ngăn lại, lúc không bị ngăn lại làm cho tín
hiệu ở cực colector là một chuỗi xung, Số xung đếm được và tăng lên nó tính bằng
số lần ánh sáng bị cắt. Khi đó tín hiệu được truyền về bộ vi xử lý và chuyển thành
số vòng quay.
7
- Cảm biến nhiệt độ (Hình 1.5): có nhiệm vụ chuyển đổi tín hiệu của nhiệt độ
môi trường thành tín hiệu điện đưa tới ECU, trên cơ sở đó người điều khiển có thể
xem xét mức độ quá tải nhiệt cho động cơ.
Hình 1.5- Cảm biến nhiệt độ nước làm mát và khí xả
Bộ xử lý trung tâm ECU
Để đảm bảo khả năng điều khiển mềm dẻo của hệ thống, BĐT sử dụng bộ xử
lý trung tâm bằng vi điều khiển (Hình 1.6). Các vi điều khiển thích hợp cho các
thiết kế nhỏ, với các thành phần thêm vào tối thiểu nhằm thực hiện các hoạt động
hướng điều khiển. Một vi điều khiển là một mạch đơn chứa bên trong một CPU và
các mạch khác để tạo nên một hệ máy tính đầy đủ. Ngoài CPU, các bộ vi điều khiển
còn chứa bên trong chúng các RAM, ROM, mạch giao tiếp nối tiếp, mạch giao tiếp
song song, bộ định thời và các mạch điều khiển ngắt. Tất cả đều hiện diện bên trong
một vi mạch. Một đặc trưng quan trọng của bộ vi điều khiển là hệ thống ngắt được
thiết kế bên trong chip. Vì vậy, trong các thiết kế hướng điều khiển các bộ vi điều khiển
đáp ứng với các tác động bên ngoài (các ngắt) theo thời gian thực.
Hình 1.6 - Vi điều khiển Atmega16
8
Khối đầu ra:
- Hiển thị LCD (Hình 1.7): cho phép hiển thị các giá trị tức thời của các
thông số khi động cơ làm việc như chế độ làm việc: auto hay manual, vị trí tay ga,
tốc độ quay n, nhiệt độ khí xả Tx,…
Hình 1.7 - LCD
- Cơ cấu chấp hành (Hình 1.8): Nhận tín hiệu điều khiển từ bộ xử lý trung
tâm ECU, thay đổi vị trí tay ga nhiên liệu của động cơ.
Hình 1.8 – Cơ cấu chấp hành (servo motor)
Nguyên lý hoạt động của BĐT điện tử
Tốc độ vòng quay của động cơ theo yêu cầu của người vận hành khai thác
được cài đặt trước bằng cách xoay núm điều chỉnh. BĐT sẽ tự động điều chỉnh
lượng cấp nhiên liệu vào động cơ để động cơ đạt tốc độ vòng quay tương đồng tốc
độ cài đặt ban đầu.
Khi tốc độ động cơ thay đổi do tác động của tải thì cảm biến tốc độ sẽ báo về
bộ điều khiển. Bộ điều khiển dựa trên hai thông số độ lệch tốc độ và sự biến thiên
tốc độ theo thời gian sẽ xuất tín hiệu đầu ra là số xung PWM đưa tới servo motor,
servo motor lập tức thay đổi vị trí thanh răng nhiên liệu.
9
Hạn chế của BĐT điện tử là tốc độ được cài đặt trước bằng tay thông qua
núm xoay nên tốc độ cài đặt này có thể bị ảnh hưởng bởi các yếu tố ngoại cảnh như
rung động, va chạm, … làm sai lệch tốc độ yêu cầu. Ngoài ra, khi sự cố xảy ra với
BĐT hoặc động cơ khiến chương trình xử lý cũ không đáp ứng được độ chính xác,
nhanh chóng thì việc chỉnh sửa chương trình trong vi xử lý rất khó khăn. Các dữ
liệu truy xuất khi làm việc cũng rất ít ( chỉ hiển thị trên LCD) nên thiếu trực quan
trong nắm bắt thông tin và đánh giá khả năng làm việc, tình trạng kỹ thuật của BĐT
cũng như động cơ. Để khắc phục những hạn chế nêu trên cần làm “mềm hóa” hệ
thống điều khiển, tức là làm tăng tính linh hoạt cho cả ba khối: khối đầu vào, khối
xử lý trung tâm và khối đầu ra.
1.2.3. Mục tiêu nghiên cứu:
Viết chương trình máy tính hỗ trợ điều khiển và thu nhập dữ liệu cho bộ điều
tốc điện tử của động cơ Yanmar 3SM động cơ Yammar-3SM.
1.2.4. Phương hướng tiếp cận:
- Nghiên cứu về bộ điều tốc điện tử của động cơ Yanmar - 3SM.
- Nghiên cứu về giao tiếp máy tính và điều khiển từ sách và nguồn tài liệu
trên internet. Lựa chọn ngôn ngữ lập trình cho viết chương trình hỗ trợ điều khiển
và thu nhập dữ liệu cho BĐT điện tử trên động cơ Yanmar 3SM.
- Viết chương trình giao tiếp máy tính qua Vi điều khiển.
- Viết chương trình hỗ trợ điều khiển và thu nhập dữ liệu cho BĐT điện tử
trên động cơ Yanmar 3SM.
- Thử nghiệm, kết luận và đánh giá kết quả đạt được.
1.2.5. Phương pháp nghiên cứu:
Nghiên cứu đặc điểm kỹ thuật của BĐT điện tử, lý thuyết kết nối máy tính
với bộ điều khiển, để lựa chọn ngôn ngữ lập trình trong viết chương trình nhằm hỗ
trợ và thu nhập dữ liệu cho bộ điều tốc điện tử của động cơ Yanmar-3SM.
10
Chương 2
CƠ SỞ LÝ THUYẾT, LỰA CHỌN NGÔN NGỮ LẬP TRÌNH
2.1. Cơ sở lý thuyết về giao tiếp máy tính trong điều khiển
Giao tiếp máy tính là quá trình kết nối giữa máy tính và các thiết bị ngoại vi
thông qua các phương tiện truyền dẫn như: cáp, sóng điện từ, tia hồng ngoại,… để
chia sẻ dữ liệu cho nhau.
Ở phạm vi đề tài này, máy tính được giao tiếp với vi điều khiển Atmega 16
sử dụng trong BĐT điện tử trên động cơ Yanmar 3SM nhằm trao đổi dữ liệu: vi
điều khiển cung cấp các thông số đo được từ động cơ cho máy tính và từ máy tính
có thể hỗ trợ điều khiển cho BĐT điện tử bằng cách hiển thị và truy xuất dữ liệu thu
thập được, thay đổi giá trị tốc độ cài đặt ban đầu. Tất cả sự trao đổi này sẽ được thể
hiện trực quan trên màn hình máy tính qua giao diện giao tiếp được thiết kế.
Để làm được điều đó, cần thiết phải tìm hiểu về cấu trúc của vi điều khiển
Atmega 16, các kiểu kết nối máy tính với vi điều khiển và ngôn ngữ lập trình thiết
kế giao diện giao tiếp giữa máy tính và vi điều khiển.
2.1.1. Cấu trúc phần cứng và tổ chức bộ nhớ của vi điều khiển
2.1.1.1. Giới thiệu về vi xử lý và vi điều khiển
Vi xử lý (viết tắt là µP hay uP), đôi khi còn được gọi là bộ vi xử lý, là một
linh kiện điện tử được chế tạo từ các tranzito thu nhỏ tích hợp lên trên một vi mạch
tích hợp đơn. Khối xử lý trung tâm (CPU) là một bộ vi xử lý được nhiều người biết
đến nhưng ngoài ra hiều thành phần khác trong máy tính cũng có bộ vi xử lý riêng
của nó.
Trước khi xuất hiện các bộ vi xử lý, các CPU được xây dựng từ các mạch
tích hợp cỡ nhỏ riêng biệt, mỗi mạch tích hợp chỉ chứa khoảng vào chục tranzito.
Do đó, một CPU có thể là một bảng mạch gồm hàng ngàn hay hàng triệu vi mạch
tích hợp. Ngày nay, công nghệ tích hợp đã phát triển, một CPU có thể tích hợp lên
một hoặc vài vi mạch tích hợp cỡ lớn, mỗi vi mạch tích hợp cỡ lớn chứa hàng ngàn
11
hoặc hàng triệu tranzito. Nhờ đó công suất tiêu thụ và giá thành của bộ vi xử lý đã
giảm đáng kể.
Vi điều khiển (VĐK) là một máy tính được tích hợp trên một chíp, nó
thường được sử dụng để điều khiển các thiết bị điện tử. VĐK, thực chất là một hệ
thống bao gồm một vi xử lý có hiệu suất đủ dùng và giá thành thấp (khác với các bộ
vi xử lý đa năng dùng trong máy tính) kết hợp với các khối ngoại vi như bộ nhớ, các
mô đun vào/ra, các mô đun biến đổi số sang tương tự và tương tự sang số,
VĐK là một IC lập trình, vì vậy VĐK cần được lập trình trước khi sử dụng.
Để viết một chương trình cho vi điều khiển, có một vài ngôn ngữ lập trình có thể sử
dụng như Assembly, C hay Basic. Mỗi phần cứng nhất định phải có chương trình
phù hợp kèm theo, do đó trước khi viết chương trình đòi hỏi người viết phải nắm
bắt được cấu tạo phần cứng và các yêu cầu mà mạch điện cần thực hiện.
Hình 2.1 – Cấu trúc chung của Vi điều khiển
2.1.1.2. Đặc điểm của vi điều khiển Atmega 16
AVR Atmega 16 là vi điều khiển CMOS 8 bit tiêu thụ điện năng thấp dựa
trên kiến trúc RISC (Reduced Instruction Set Computer). Với kiểu kiến trúc này cho
phép các lệnh thực thi trong một chu kỳ xung nhịp, vì thế tốc độ xử lý dữ liệu có thể
đạt 16 triệu lệnh trên giây ở tần số 16 MHz. AVR Atmega 16 cho phép người thiết
kế có thể tối ưu hóa mức độ tiêu thụ năng lượng mà vẫn bảo đảm tốc độ xử lý.
AVR Atmega 16 có 32 thanh ghi làm việc đa năng. Toàn bộ 32 thanh ghi này
đều được nối trực tiếp với bộ xử lý số học logic ALU (Arithmetic Logic Unit), cho
12
phép truy nhập vào 2 thanh ghi độc lập trong một chu kỳ xung nhịp. Kiến trúc đạt
được có tốc độ xử lý nhanh gấp 10 lần vi điều khiển dạng CISC thông thường.
Hình 2.2 – Sơ đồ cấu trúc của AVR Atmega 16
13
Các đặc tính của Atmega 16
Hình 2.3 – Sơ đồ chân của AVR Atmega 16
- Được chế tạo theo kiến trúc RISC tiên tiến nên hiệu suất làm việc cao, điện
năng tiêu thụ thấp.
- Bộ lệnh gồm 131 lệnh, hầu hết đều thực thi chỉ trong một chu kỳ xung nhịp.
- 32 x 8 thanh ghi làm việc đa năng.
- Tốc độ xử lý dữ liệu có thể đạt đến 16 triệu lệnh/s ở tần số 16MHz.
- 16 Kb Flash ROM lập trình ngay được trên hệ thống:
+ Giao tiếp nối tiếp cho phép lập trình ngay trên hệ thống.
+ Cho phép 10000 lần ghi / xóa.
- Bộ EFPROM 512 bytes cho phép 100000 lần ghi/ xóa.
- Bộ nhớ SRAM 1Kb.
- Bộ biến đổi ADC 8 kênh, 10 bits.
- 32 ngõ I/O lập trình được.
- Bộ chuyển đổi nối tiếp đồng hồ vạn năng.
- Dải điện áp hoạt động: VCC = 4.5 ÷ 5.5 (V).
- 2 bộ Timer/ Counter 8 bits và 1 bộ Timer/ Counter 16 bits với các chế độ
làm việc: so sánh, chia tần tách biệt và bắt mẫu.
- 4 kênh điều chế độ rộng xung PWM.
14
- Bộ đếm thời gian thực với bộ tạo dao động riêng.
- Hỗ trợ bộ truyền nhận UART lập trình được.
- Hỗ trợ giao diện SPI chủ/ tớ.
- Hỗ trợ bộ định thời Watchdog với bộ tạo dao động riêng, cho phép lập trình
được và tự động reset khi treo máy.
- Hỗ trợ bộ so sánh tương tự.
- 6 chế độ ngủ: chế độ rỗi (Idle), chế độ tiết kiệm điện (Power – Save), chế độ
giảm nhiễu ADC (ADC Noise Reduction), chế độ chờ (Standby), chế độ chờ mở
rộng (Extended Standby) và chế độ giảm bớt điện năng (Power – Down).
+ Chế độ rỗi (Idle):
Trong chế độ rỗi, CPU không thực thi chức năng nhưng vẫn cho phép
USART, giao diện nối tiếp 2 chiều hướng byte, bộ biến đổi ADC, SRAM, Timer/
Counter, các port SPI và ngắt hệ thống hoạt động.
+ Chế độ giảm bớt điện năng (Power – Down):
Trong chế độ giảm bớt điện năng, nội dung thanh ghi vẫn được bảo vệ nhưng
bộ tạo dao động, các chức năng khác của chíp không hoạt động cho đến khi xuất
hiện ngắt ngoài tiếp theo hoặc reset phần cứng.
+ Chế độ tiết kiệm điện (Power – Save):
Trong chế độ tiết kiệm điện, bộ định thời không đồng bộ hoạt động cho phép
người dùng sử dụng làm cơ sở hoạt động cho toàn hệ thống mặc dù thiết bị đang
trong chế độ ngủ.
+ Chế độ giảm nhiễu ADC (ADC Noise Reduction):
Trong chế độ giảm nhiễu ADC, CPU và tất cả các module I/O đều không
hoạt động trừ bộ định thời không đồng bộ và bộ biến đổi ADC, để làm giảm đến
mức tối thiểu nhiễu chuyển mạch trong suốt quá trình biến đổi của ADC.
+ Chế độ chờ (Standby):
Ở chế độ chờ, bộ tạo dao động vẫn hoạt động trong khi đó toàn hệ thống ở
trạng thái ngủ. Nó cho phép hệ thống thực hiện quá trình khởi động nhanh với mức
tiêu thụ điện áp thấp.