Bài giảng Đo lường và điều khiển bằng máy tính - Huỳnh Minh Ngọc

CHƯƠNG 1: KHÁI NIỆM CHUNG

1.1. Máy tính trong điều khiển quá trình

1.1.1. Máy tính trong điều khiển quá trình : khái niệm cơ bản

Ngày nay việc sử dụng máy tính nói riêng và vi xử lí nói chung trong các day

chuyền sản xuất hiện đại đã là yêu cầu bắt buộc để tăng năng suất và chất lượng sản

phẩm. Trong các sản phẩm dân dụng việc sử dụng vi xử lí góp phần tăng tính thông

minh của sản phẩm và tạo tiện lợi cho người sử dụng.

Để mô tả cụ thể của máy tính trong điều khiển quá trình, chúng ta cần định

nghĩa quá trình là gì. Quá trình vật lý (a physical process) là tổ hợp các tác vụ được

thực thi để tác động lên, thay đổi, một điều gì đó trong thế giới thực. Sự chuyển động,

phản ứng hóa học và truyền nhiệt là các quá trình . Sản phẩm (materials) và năng lượng

(energy) là thành phần cơ bản hiển nhiên của quá trình vật lí

pdf 455 trang phuongnguyen 4820
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Đo lường và điều khiển bằng máy tính - Huỳnh Minh Ngọc", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Đo lường và điều khiển bằng máy tính - Huỳnh Minh Ngọc

Bài giảng Đo lường và điều khiển bằng máy tính - Huỳnh Minh Ngọc
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP. HỒ CHÍ MINH 
KHOA CÔNG NGHỆ ĐIỆN TỬ 
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG 
Bài giảng : 
ĐO LƯỜNG VÀ ĐIỀU KHIỂN BẰNG MÁY TÍNH 
BIÊN SOẠN : ThS. HUỲNH MINH NGỌC 
LƯU HÀNH NỘI BỘ 
TP. HỒ CHÍ MINH, THÁNG 9-2009 
PDF created with pdfFactory Pro trial version www.pdffactory.com
Đo lường và điều khiển bằng máy tính –© Huỳnh Minh Ngọc 
2 
LỜI NÓI ĐẦU 
Môn học Đo lường và điều khiển bằng máy tính là một môn học chuyên ngành 
dùng giảng dạy cho sinh viên năm cuối ngành Điện tử tự động. Môn học đề cập đến 
vấn đề ứng dụng máy tính (Máy tính cá nhân PC, máy tính công nghiệp , và PLC) vào 
hệ thống điều khiển và đo lường. Xu hướng phát triển là dùng Điều khiển dựa vào máy 
tính (PC-based Control) với hệ điều hành mạnh, giao diện thân thiện, phần mềm dễ phát 
triển và giá thành hợp lí. 
 Để học tốt môn học này sinh viên cần phải học qua môn Lý thuyết điều khiển 
tự động và Vi xử lí. Giáo trình gồm 10 chương : Khái niệm chung, cảm biến và chuyển 
đổi, giao tiếp qua rãnh cắm máy tính, lập trình cho máy tính điều khiển, card thu thập 
dữ liệu và điều khiển, giao tiếp qua cổng song song, giao tiếp qua cổng nối tiếp và giao 
tiếp qua cổng USB, lập trình giao tiếp nối tiếp, các bộ chuyển đổi dữ liệu A/D và D/A , 
điều khiển tuần tự, hệ thống điều khiển số và mạng truyền thông công nghiệp. 
Bài giảng này tác giả đã đọc và giảng dạy cho lớp ĐHĐT2ALT, ĐHĐT3ALT, 
và ĐHĐT1TC, ĐHĐT2TC và ĐHĐT2A. Bài giảng chắc chắn không tránh khỏi thiếu 
sót, và tôi chân thành cảm ơn các nhận xét góp ý của các thầy cô giáo trong bộ môn 
điều khiển tự động, các bạn đồng nghiệp và bạn đọc để bài giảng ngày càng hoàn thiện 
hơn. Thư góp ý xin gửi về bộ môn điều khiển tự động, Khoa Công nghệ Điện tử, trường 
Đại học Công nghiệp Tp. HCM. Địa chỉ :số 12 Nguyễn Văn Bảo, P.4 Q. Gò vấp, TP. 
HCM, ĐT: 38940390; email: huynhminhngoc@hui.edu.vn. 
Ngày 15 tháng 7 năm 2010 
Tác giả 
 Huỳnh Minh Ngọc 
PDF created with pdfFactory Pro trial version www.pdffactory.com
Đo lường và điều khiển bằng máy tính –© Huỳnh Minh Ngọc 
3 
MỤC LỤC 
Lời nói đầu 2 
Mục lục 3 
Chương 1: Khái niệm chung 6 
1.1.Máy tính trong điều khiển quá trình 
1.1 Điều khiển phân cấp và tích hợp hệ thống 
 1.3. Điều khiển vòng hở và điều khiển vòng kín. Hệ thống điều khiển số 
 1.4. Nội dung giáo trình và ứng dụng. 
Câu hỏi 
Chương 2: Cảm biến và chuyển đổi 19 
2.0. Cơ bản đo lường. 
2.1.Cảm biến nhiệt độ 
2.2.Cảm biến lực và trọng lượng 
 2.3. Cảm biến dịch chuyển và khỏang cách 
 Câu hỏi 
Chương 3: Giao tiếp qua rãnh cắm máy tính 67 
 3.1.Giao tiếp qua Rãnh cắm ISA, EISA, Rãnh cắm Vesa local bus 
 3.2. Giao tiếp qua Rãnh cắm PCI, VMEbus (IEEE 1014), S-100, STD 
 3.3. Giới thiệu một số IC thường dùng 
Câu hỏi và bài tập 
Chương 3A: Vi điều khiển 
 Vi điều khiển PIC16F877A 
 Tập lệnh của PIC16F877A 
Chương 4: Lập trình cho máy tính điều khiển 100 
 4.0. Các ngôn ngữ lập trình 
Hợp ngữ 8086, Qbasic, Pascal, C, Visual Basic , Delphi, C++, Visual C++/BorlandC++ 
Builder. 
 4.1.Lập trình xuất nhập ngọai vi 
4.1.1.Lập trình xuất nhập 
4.1.2.Viết file liên kết động 
 4.2.Sử dụng ngắt trong điều khiển , DMA, PCI/ PCI Exp. (PC104 Slot VME). 
 4.3. Vi điều khiển 8051 và lập trình C 
 4.4. Nền tảng phần cứng và phần mềm 
Câu hỏi và Bài tập 
Chương 5A: Card thu thập dữ liệu và điều khiển 123 
 5.1. Đặc tính của card PCI-1711 
 5.2. Những đặc điểm kỹ thuật của PCI-1711 
 5.3. Sơ đồ kết nối I/O của PCI-1711 
 5.4. Sơ đồ khối của card PCI-1711. 
 5.5. Cách thanh ghi của card PCI 1711: 
 5.6. Chuyển đổi A/D, D/A và DO, DI: 
PDF created with pdfFactory Pro trial version www.pdffactory.com
Đo lường và điều khiển bằng máy tính –© Huỳnh Minh Ngọc 
4 
 5.7. Lập trình cho card PCI 1711 
Câu hỏi và Bài tập 
Chương 5: Giao tiếp qua cổng song song 145 
5.1.Tổng quan về cổng song song 
5.2.Cấu trúc của cổng song song 
5.2.1.Cổng SPP 
5.2.2.Cổng EPP 
5.2.3.Cổng ECP 
5.3.Ghép nối hai máy tính bằng cổng song song 
5.4. Mạch ứng dụng 
 -Mạch đèn nháy. 
 -Tạo xung vuông góc ở chân D0 của thanh ghi dữ liệu. 
 -Điều khiển đèn giao thông. 
Câu hỏi và Bài tập 
Chương 6: Giao tiếp qua cổng nối tiếp và USB 163 
6.1.Tổng quan về cổng nối tiếp 
6.2.Cấu trúc của cổng nối tiếp 
6.3.IC thu phát vạn năng bất đồng bộ UART 
6.4.Các chuẩn và phương thức truyền qua cổng nối tiếp 
 -RS232 
-RS485 
6.5.Mạch giao tiếp cổng nối tiếp và các chương trình mẫu. 
 6.6. Modem 
 6.7.Mạch lập trình vi điều khiển ATmel 89C51 
Câu hỏi và bài tập 
 6.8. Giao tiếp qua cổng USB 185 
6.8.1.Tổng quan về USB 
6.8.2.Đặc tính cổng USB 
-Đặc tính cổng USB. 
 - Mạch chuyển đổi USB-RS232. 
6.8.3.Trao đổi tin 
6.8.4.Lập trình giao tiếp thiết bị ngọai vi qua cổng USB 
Câu hỏi 
 Chương 7: Lập trình giao tiếp nối tiếp 195 
7.1. Lập trình trong DOS 
Ngôn ngữ QBasic, Pascal, C, lệnh trong MSDOS. 
7.2.Lập trình dùng ngôn ngữ Visual Basic 6.0. 
7.3.Lập trình dùng ngôn ngữ lập trình Delphi 5.0 và Visual C++ 6.0. 
7.4. Lập trình dùng Matlab 
Câu hỏi và bài tập 
Chương 8: Các bộ chuyển đổi dữ liệu A/D và D/A. Hệ thu thập dữ liệu 201 
8.0. Hệ thống thu thập dữ liệu. 
8.1.Biến đổi tương tự – số (ADC) 
PDF created with pdfFactory Pro trial version www.pdffactory.com
Đo lường và điều khiển bằng máy tính –© Huỳnh Minh Ngọc 
5 
-Biến đổi A/D 
-Các kỹ thuật biến đổi A/D 
-Giao tiếp ADC với vi xử lí 
 -Giới thiệu ADC 0809 
8.2. Biến đổi số- tương tự ( DAC) 
-Biến đổi D/A 
-Giao tiếp DAC với vi xử lí 
-Giới thiệu DAC 0808 
Câu hỏi 
Chương 8B: Bộ điều khiển logic lập trình được PLC (Điều khiển tuần tự ) 234 
-Lý thuyết chuyển mạch cơ bản 
-Khái niệm chung về PLC 
Câu hỏi 
Chương 9 : Hệ thống điều khiển số 249 
 9.0. Điều khiển hồi tiếp 
 9.1. Đặc tính hệ thống điều khiển số 
 9.2.Thuật toán điều khiển 
 9.3. Biến đổi C(s) ra C(z) 
 9.4 . Thuật toán PID số 
 9.5. Ảnh hưởng của khâu bão hòa 
 9.6. Bộ phận chấp hành và truyền động điện. Động cơ servo và điều khiển vị trí 
 9.7. Điều khiển số bằng máy tính CNC 
 9.8. Thí dụ về đo lường và điều khiển bằng máy tính 291 
 9.8.1.Hệ thống điều khiển nhiệt độ dùng máy tính PC/vi xử lí. 
 9.8.2.Hệ thống điều khiển tốc độ động cơ một chiều (DC) dùng vi xử lí 
 9.8.3.Bộ định thời các thiết bị được điều khiển bằng vi xử lí. 
 9.8.3.2. Hệ thống điều khiển đèn giao thông dùng AT89C51. 
 9.8.4. Bộ điều khiển cường độ sáng dùng vi xử lí 
 9.8.5. Hệ thống thu thập dữ liệu nhiều kênh 
 9.9. Thiết kế đặt cực: tiếp cận không gian trạng thái. 
 9.10. Thiết kế điều khiển tối ưu: tiếp cận không gian trạng thái. 
 9.11.Hệ thống với sự không chắc chắn (Hệ mờ) 
Câu hỏi và Bài tập 
Chương 10: Mạng truyền thông công nghiệp 348 
10.1. Khái niệm 
10.2.Mạng Ethernet và bus trường 
 -Mạng Ethernet 
 -Bus trường. 
 -Điều khiển dùng PC. 
10.3. Mạng I2C. 
Câu hỏi 
PDF created with pdfFactory Pro trial version www.pdffactory.com
Đo lường và điều khiển bằng máy tính –© Huỳnh Minh Ngọc 
6 
Tài liệu tham khảo 371 
Phụ lục A: Máy tính công nghiệp 373 
Phụ lục B: Visual Basic 6.0 
PDF created with pdfFactory Pro trial version www.pdffactory.com
Đo lường và điều khiển bằng máy tính –© Huỳnh Minh Ngọc 
7 
CHƯƠNG 1: KHÁI NIỆM CHUNG 
1.1. Máy tính trong điều khiển quá trình 
1.1.1. Máy tính trong điều khiển quá trình : khái niệm cơ bản 
Ngày nay việc sử dụng máy tính nói riêng và vi xử lí nói chung trong các day 
chuyền sản xuất hiện đại đã là yêu cầu bắt buộc để tăng năng suất và chất lượng sản 
phẩm. Trong các sản phẩm dân dụng việc sử dụng vi xử lí góp phần tăng tính thông 
minh của sản phẩm và tạo tiện lợi cho người sử dụng. 
Để mô tả cụ thể của máy tính trong điều khiển quá trình, chúng ta cần định 
nghĩa quá trình là gì. Quá trình vật lý (a physical process) là tổ hợp các tác vụ được 
thực thi để tác động lên, thay đổi, một điều gì đó trong thế giới thực. Sự chuyển động, 
phản ứng hóa học và truyền nhiệt là các quá trình . Sản phẩm (materials) và năng lượng 
(energy) là thành phần cơ bản hiển nhiên của quá trình vật lí. 
 Nhiễu 
 Sản phẩm vào sản phẩm ra 
 Năng lượng vào Năng lượng ra 
 Thông tin Thông tin 
 Vào ra 
H1.1 : Mô hình quá trình vật lý tổng quát 
Máy tính số là thiết bị quan trọng xử lí thông tin (H1.2)và có thể tác động lên 
thông tin liên quan đến quá trình (H1.3). 
 Thông tin vào Thông tin ra 
Hình 1.2: Hoạt động của máy tính số 
Quá trình vật lý 
Môi trường 
Máy tính 
số 
PDF created with pdfFactory Pro trial version www.pdffactory.com
Đo lường và điều khiển bằng máy tính –© Huỳnh Minh Ngọc 
8 
Vi xử lí được sử dụng trong điều khiển và đo lường dưới ba dạng: 
-Máy tính điều khiển (Máy vi tính-MVT). 
-Vi xử lí điều khiển nhúng (còn gọi là vi điều khiển-VĐK), nghĩa là vi điều 
khiển là một bộ phận không tách rời của thiết bị được điều khiển. 
-Bộ điều khiển logic lập trình được. 
MVT : Personal computer 
VĐK: embedded microcontroller/embedded microprocessor 
PLC : Programmable logic controller. 
 Cả ba dạng trên được thiết kế dựa trên cơ sở hoạt động của vi xử lí với chức 
năng xử lí thông tin theo sơ đồ H1.3. 
 Nhiễu 
 Sản phẩm vào Sản phẩm ra 
 Năng lượng vào Năng lượng ra 
 Tín hiệu đo lường 
 Và điều khiển 
H1.3. Máy tính trong điều khiển quá trình 
1.1.2.Lịch sử phát triển: 
Một thí dụ thực tiễn đầu tiên của ứng dụng máy tính điều khiển quá trình là vào 
năm 1959; nó liên quan đến một số chức năng ở nhà máy hóa dầu tại Port Arthur, 
Texas(UAS). Công trình đầu tiên kết hợp giữa công ty Thomson ramo Woolridge và 
Texaco. RW300, máy tính dùng đèn điện tử, kiểm soát dòng chảy, nhiệt độ, áp suất và 
phân tử trong nhà máy lọc (hóa dầu). Máy tính tính toán tín hiệu điều khiển mong muốn 
Môi trường 
Quá trình vật lí 
Máy tính Thiết bị nhập 
(bàn phím) 
Thiết bị xuất 
(màn hình) 
PDF created with pdfFactory Pro trial version www.pdffactory.com
Đo lường và điều khiển bằng máy tính –© Huỳnh Minh Ngọc 
9 
dựa trên dữ liệu vào và thay đổi điểm đặt của bộ hiệu chỉnh analog và chỉ thị người 
vận hành các điều khiển được thực hiện bằng tay. 
Vấn đề kinh tế không chỉ là vấn đề. Độ tin cậy phần cứng thấp vì dùng đèn điện 
tử. Phần mềm được viết bằng lập trình hợp ngữ. 
Phương pháp toán học cổ điển dựa trên phân tích thời gian liên tục không thể 
dùng trực tiếp cho thiết kế vòng lặp điều khiển để hiện thực trên máy tính. Điều khiển 
máy tính ban đầu minh họa sự cần thiết cho lý thuyết điều khiển lấy mẫu, cung cấp nền 
tảng cho sự phát triển. Chương trình không gian của Mỹ trong thập niên 1960 và đặc 
biệt dự án Apollo đã hiện thực cho công trình lý thuyết và thực tiễn. 
Vào năm 1962, ICI (Imperial Chemical Industries) giới thiệu khái niệm điều 
khiển số trực tiếp DDC(Direct digital control) ; ý tưởng là thay vòng điều khiển analog 
thông thường bằng máy tính trung tâm. Ý tưởng của DDC vẫn còn được áp dụng trong 
nhiều hệ thống điều khiển máy tính ngày nay. 
Tên gọi điều khiển số trực tiếp nhằm nhấn mạnh rằng máy tính điều khiển quá 
trình một cách trực tiếp. Tính linh hoạt là thuận lợi của hệ thống DDC. 
Sự phát triển bán dẫn trong thập niên 1960 dẫn đến sự phát triển mạnh mẽ của 
máy tính. Ba yếu tố: phần cứng máy tính tốt hơn, quá trình ít phức tạp hơn, và lý thuyết 
điều khiển phát triển , được kết hợp lại gia tăng sự thành công của điều khiển máy tính. 
Đây là thời kì máy tính mini. Các đòi hỏi về máy tính điều khiển quá trình gắn chặt với 
sự phát triển của công nghệ mạch tích hợp. Có thể thiết kế hiệu quả hệ thống điều khiển 
quá trình bằng máy tính mini. Máy tính quá trình tiêu biểu thời kì này có độ dài từ 16 
bit. Bộ nhớ chính là 8-124 K words. Ổ đĩa được sử dụng thông thường là bộ nhớ phụ. 
CDC 1700 là máy tính tiêu biểu thời kì này. 
Các ứng dụng máy tính thông dụng trong điều khiển công nghiệp là bus mở. Giao 
tiếp (bus) giữa các mođun vận hành được nhấn mạnh. 
 Phần cứng máy tính phát triển mạnh mẽ, năng lực tính toán mạnh, lý thuyết điều 
khiển phát triển: điều khiển hiện đại, điều khiển thông minh(hệ mờ và mạng nơrôn). 
Các ứng dụng điều khiển máy tính gia tăng. Phi thuyền thám hiểm mặt trăng Apollo 11 
vào năm 1969 có máy tính với 64 KByte bộ nhớ chính. 
PDF created with pdfFactory Pro trial version www.pdffactory.com
Đo lường và điều khiển bằng máy tính –© Huỳnh Minh Ngọc 
10 
Thời kỳ máy vi tính và sử dụng đa năng của điều khiển máy tính. 
 Việc sử dụng dễ dàng của điều khiển máy tính bị giới hạn trong hệ thống công nghiệp 
lớn vì máy tính số chỉ dùng trong các máy đắt tiền, lớn, chậm và không tin cậy. Sự phát 
triển của công nghệ vi điện tử tiếp tục cùng tiến bộ trong công nghệ VLSI; năm 1990s 
bộ vi xử lý trở nên thông dụng với giá vài USD. Thị thường lớn như là điện tử ô tô đã 
dẫn đến sự phát triển của máy tính chuyên dụng được gọi là vi điều khiển, trong đó 
chip máy tính chuẩn có sẵn A/D và D/A, thanh ghi và các đặc điểm khác làm cho nó 
giao tiếp dễ dàng với thiết bị vật lý. Điều khiển quá trình hiện thực dùng kỹ thuật khí 
nén hay điện tử nhưng luôn là điều khiển dựa vào máy tính. Điều khiển số với thuật 
toán PID. Máy điều khiển số NC và điều khiển số bằng máy tính CNC cũng được phát 
triển. 
 Hệ thống điều khiển số phát triển , cả phần cứng và phần mềm. Cấu trúc của 
toàn thể giải pháp gồm đơn vị phần cứng, môđun phần mềm và truyền thông là thách 
thức chính. 
Logic, tuần tự và điều khiển. 
Hệ thống tự động hóa công nghiệp truyền thống có hai thành phần là bộ điều khiển và 
logic role. Bộ điều khiển logic lập trình được PL ... t = "C" 
 End If 
End If 
If Check2.Value = 0 Then 
If T22 > dat3 Then 
 Shape2.FillColor = vbBlack 
 Shape5.FillColor = vbYellow 
 Label6.ForeColor = vbRed 
 Label12.ForeColor = vbRed 'DONG LO MO QUAT 2 
PDF created with pdfFactory Pro trial version www.pdffactory.com
Đo lường và điều khiển bằng máy tính –© Huỳnh Minh Ngọc 443 
 Label6.Caption = "OFF" 
 Label12.Caption = "ON" 
 MSComm1.Output = "D" 
End If 
End If 
End Function 
Function KIEMTRA1() 
dat5 = Val(Text3.Text) + 1 'sai so delta cua lo 3 la 1 do 
dat6 = Val(Text3.Text) - 1 
If T33 < dat6 Then 'MUC DUOI 
 Shape3.FillColor = vbYellow 
 Shape6.FillColor = vbBlack 
 Label8.ForeColor = vbRed 
 Label14.ForeColor = vbRed 
 Label8.Caption = "ON" 
 Label14.Caption = "OFF" 
 ' MO LO TAT QUAT 3 
 MSComm1.Output = "E" 
End If 
If T33 > dat5 Then 'MUC TREN 
 Shape3.FillColor = vbBlack 
 Shape6.FillColor = vbYellow 
 Label8.ForeColor = vbRed 
 Label14.ForeColor = vbRed 
 Label8.Caption = "OFF" 
 Label14.Caption = "ON" 
 ' MO QUAT TAT LO 3 
 MSComm1.Output = "F" 
End If 
End Function 
Private Sub Text1_Change() 
ti = 0 
VScroll1.Value = Val(Text1.Text) 
With TChart1.Series(0) 'XOA MAN HINH TCHART KHI THAY DOI GIA TRI 
DAT 
 .Clear 
End With 
 With TChart1.Series(3) 
 .Clear 
 End With 
End Sub 
Private Sub Text2_Change() 
ti = 0 
VScroll2.Value = Val(Text2.Text) 
With TChart1.Series(1) 'XOA MAN HINH TCHART 
 .Clear 
PDF created with pdfFactory Pro trial version www.pdffactory.com
Đo lường và điều khiển bằng máy tính –© Huỳnh Minh Ngọc 444 
End With 
 With TChart1.Series(4) 
 .Clear 
 End With 
End Sub 
Private Sub Text3_Change() 
ti = 0 
VScroll3.Value = Val(Text3.Text) 
With TChart1.Series(2) 'XOA MAN HINH TCHART 
 .Clear 
End With 
 With TChart1.Series(5) 
 .Clear 
 End With 
End Sub 
Private Sub THOAT_Click() 
Dim TH As Integer 
If MSComm1.PortOpen = True Then 
MSComm1.Output = "T" 'Chr$(0) 'TAT TAT CA QUAT VA LO 
Timer5.Enabled = False 
Timer3.Enabled = False 
MSComm1.PortOpen = False 
End If 
TH = MsgBox("BAN CO MUON THOAT KHOI CHUONG TRINH KHONG ?", 
vbInformation + vbOKCancel, "THONG BAO!!!!") 
If TH = vbOK Then 
End 
End If 
End Sub 
Private Sub Timer1_Timer() 
If note = True Then 
 Form1.Caption = Right(DES3, J) 
 note = IIf(J > Len(DES3), False, True) 
 TEN.Caption = Right(Des, J) 
 note = IIf(J > Len(Des), False, True) 
 TEN1.Caption = Right(DES1, J) 
 note = IIf(J > Len(Des), False, True) 
 TIEUDE.Caption = Right(DES2, J) 
 note = IIf(J > Len(DES2), False, True) 
 J = J + 1 
Else 
 Form1.Caption = Left(DES3, J) 
 note = IIf(J > 0, False, True) 
 TEN.Caption = Left(Des, J) 
 note = IIf(J > 0, False, True) 
PDF created with pdfFactory Pro trial version www.pdffactory.com
Đo lường và điều khiển bằng máy tính –© Huỳnh Minh Ngọc 445 
 TEN1.Caption = Left(DES1, J) 
 note = IIf(J > 0, False, True) 
 TIEUDE.Caption = Left(DES2, J) 
 note = IIf(J > 0, False, True) 
 J = IIf(J > 0, J - 1, 0) 
End If 
End Sub 
Private Sub Timer2_Timer() 
GIO.Caption = Now 
End Sub 
Private Sub Timer3_Timer() 
MSComm1.Output = "M" 'Chr$(7) 'CHO PHEP DOC ADC 
End Sub 
'THU THAP VAO BANG GHI DATA 
Public Sub setFlex() 
'Dim T As Single 
Set db = OpenDatabase(App.Path & "\daq.mdb") 
Set rs = db.OpenRecordset("log", dbOpenDynaset) 
fg.TextMatrix(0, 0) = "Sr No" 
fg.TextMatrix(0, 1) = "Time And Date" 
fg.TextMatrix(0, 2) = "Temp1" 
fg.TextMatrix(0, 3) = "Temp2" 
fg.TextMatrix(0, 4) = "Temp3" 
fg.TextMatrix(0, 5) = "Temp4" 
fg.ColWidth(0) = 600 
fg.ColWidth(1) = 2000 
fg.ColWidth(2) = 1000 
fg.ColWidth(3) = 1000 
fg.ColWidth(4) = 1000 
fg.ColWidth(5) = 1000 
For L = 0 To 5 
fg.Row = 0 
fg.Col = L 
fg.CellFontBold = True 
fg.ColAlignment(L) = 3 
Next L 
End Sub 
Sub fillGrid() 
Do While Not rs.EOF 
T = T + 1 
fg.TextMatrix(T, 0) = rs.Fields("Sr No") 
fg.TextMatrix(T, 1) = rs.Fields("TimeAndDate") 
fg.TextMatrix(T, 2) = rs.Fields("Temp1") 
fg.TextMatrix(T, 3) = rs.Fields("Temp2") 
fg.TextMatrix(T, 4) = rs.Fields("Temp3") 
fg.TextMatrix(T, 5) = rs.Fields("Temp4") 
TAP.Caption = "Total Records: " + CStr(fg.Rows - 1) 
PDF created with pdfFactory Pro trial version www.pdffactory.com
Đo lường và điều khiển bằng máy tính –© Huỳnh Minh Ngọc 446 
If Not rs.EOF Then rs.MoveNext 
If fg.TextMatrix(fg.Rows - 1, 2) "" Then 
fg.Rows = fg.Rows + 1 
End If 
Loop 
End Sub 
'GHI DULIEU VAO ASCESS 
Private Sub Timer4_Timer() 
fg.TextMatrix(fg.Rows - 1, 0) = CStr(fg.Rows - 1) 
fg.TextMatrix(fg.Rows - 1, 1) = CStr(Now) 
fg.TextMatrix(fg.Rows - 1, 2) = Text4.Text 
fg.TextMatrix(fg.Rows - 1, 3) = Text5.Text 
fg.TextMatrix(fg.Rows - 1, 4) = Text6.Text 
fg.TextMatrix(fg.Rows - 1, 5) = MT.Caption 
TAP.Caption = "Total Records: " + CStr(fg.Rows - 1) 
rs.AddNew 
rs.Fields("Sr No").Value = CStr(fg.Rows - 1) 
rs.Fields("TimeAndDate").Value = Now 
rs.Fields("Temp1").Value = Val(fg.TextMatrix(fg.Rows - 1, 2)) 
rs.Fields("Temp2").Value = Val(fg.TextMatrix(fg.Rows - 1, 3)) 
rs.Fields("Temp3").Value = Val(fg.TextMatrix(fg.Rows - 1, 4)) 
rs.Fields("Temp4").Value = Val(fg.TextMatrix(fg.Rows - 1, 5)) 
rs.Update 
fg.Rows = fg.Rows + 1 
End Sub 
'XOA TAP TIN 
Sub delRec() 
db.Execute ("Delete * from log") 
fg.Clear 
fg.Rows = 2 
Call setFlex 
TAP.Caption = "Total Records: 0" 
End Sub 
Private Sub Timer5_Timer() 
ti = ti + 1 
Timer5.Enabled = False 
Timer5.Enabled = True 
End Sub 
Private Sub VScroll1_Change() 
Text1.Text = CStr(VScroll1.Value) 
End Sub 
Private Sub VScroll2_Change() 
Text2.Text = CStr(VScroll2.Value) 
End Sub 
PDF created with pdfFactory Pro trial version www.pdffactory.com
Đo lường và điều khiển bằng máy tính –© Huỳnh Minh Ngọc 447 
Private Sub VScroll3_Change() 
Text3.Text = CStr(VScroll3.Value) 
End Sub 
Private Sub XOA_Click() 
Dim Msg, Style, Title, Response, MyString 
Msg = "CO MUON XOA TAP TIN KHONG ?..??" 
Style = vbYesNo + vbCritical + vbDefaultButton2 
Title = "THONG BAO!!!!!!" 
Response = MsgBox(Msg, Style, Title) 
If Response = vbYes Then 
Call delRec 
End If 
End Sub 
'**************THUAT TOAN PID***************** 
Sub PID(kp1 As Single, ki1 As Single, kd1 As Single) 
Dim TT As Single 
 TT = 1 
 nddat = Val(Text3.Text) 
 e2 = nddat - T33 'Tính sai so e(k) lo 3 
 A0 = kp1 + ki1 * TT + kd1 / TT 
 A1 = -kp1 - ((2 * kd1) / TT) 
 A2 = kd1 / TT 
 DUTY = Round(DUTY1 + A0 * e2 + A1 * e1 + A2 * e0, 0) 
 If DUTY >= 255 Then 
 DUTY = 255 
 ElseIf DUTY <= 0 Then 
 DUTY = 0 
 End If 
 DUTY1 = DUTY 'NaP DUTY(k) cho DUTY(k-1) PID sau 
 e0 = e1 'Nap e(k-1) cho e(k-2) 
 e1 = e2 'Nap e(k) cho e(k-1) 
End Sub 
‘***********’Code hien thi do thi lo 1 tren form 2’*********’’ 
Option Explicit 
Dim I1, S1 As Double 
Dim P0 As Boolean 
Dim tg As Double 
Private Sub THOAT_Click() 
Form2.Hide 
End Sub 
Private Sub Form_Load() 
Form2.Height = 7560 
Form2.Width = 10395 
Timer2.Enabled = False 
PDF created with pdfFactory Pro trial version www.pdffactory.com
Đo lường và điều khiển bằng máy tính –© Huỳnh Minh Ngọc 448 
tg = 0 
End Sub 
Private Sub Timer1_Timer() 
S1 = Form1.Check1.Value 
P0 = Form1.CHAY.Enabled 
If S1 = 0 And P0 = False Then 
 Timer2.Enabled = True 
 N1 = Form1.Text1.Text 
 N2 = Form1.Text4.Text 
 With TChart1.Series(0) 
 .AddXY tg * 10, Val(N1), "", vbRed 'NHIET DO DAT LO1 
 End With 
 With TChart1.Series(1) 
 .AddXY tg * 10, Val(N2), "", vbBlue 'NHIET DO DO LO1 
 End With 
Else 
End If 
End Sub 
Private Sub Timer2_Timer() 
tg = tg + 1 
Timer2.Enabled = False 
Timer2.Enabled = True 
End Sub 
‘’******** Code hien thi do thi lo 2 tren form 3’**********’’ 
Option Explicit 
Dim M1, M2 As String 
Dim I2, S2 As Double 
Dim P1 As Boolean 
Dim tg1 As Double 
Private Sub Form_Load() 
Form3.Height = 7560 
Form3.Width = 10395 
Timer2.Enabled = False 
tg1 = 0 
End Sub 
Private Sub THOAT_Click() 
Form3.Hide 
End Sub 
Private Sub Timer1_Timer() 
S2 = Form1.Check2.Value 
P1 = Form1.CHAY.Enabled 
If S2 = 0 And P1 = False Then 
M1 = Form1.Text2.Text 
PDF created with pdfFactory Pro trial version www.pdffactory.com
Đo lường và điều khiển bằng máy tính –© Huỳnh Minh Ngọc 449 
M2 = Form1.Text5.Text 
Timer2.Enabled = True 
With TChart1.Series(0) 
 .AddXY tg1 * 10, Val(M1), "", vbRed 'NHIET DO DAT LO 2 
 End With 
 With TChart1.Series(1) 
 .AddXY tg1 * 10, Val(M2), "", vbBlue 'NHIET DO DO LO 2 
 End With 
Else 
End If 
End Sub 
Private Sub Timer2_Timer() 
tg1 = tg1 + 1 
Timer2.Enabled = False 
Timer2.Enabled = True 
End Sub 
‘***********’Code hien thi do thi lo 3 tren form 4’*********’’ 
Option Explicit 
Dim K1, K2 As String 
Dim I3, S3 As Integer 
Dim P2 As Boolean 
Dim tg2 As Double 
Private Sub Form_Load() 
Form4.Height = 7560 
Form4.Width = 10395 
Timer2.Enabled = False 
tg2 = 0 
End Sub 
Private Sub THOAT_Click() 
Form4.Hide 
End Sub 
Private Sub Timer1_Timer() 
S3 = Form1.Check3.Value 
P2 = Form1.CHAY.Enabled 
If S3 = 0 And P2 = False Then 
Timer2.Enabled = True 
K1 = Form1.Text3.Text 
K2 = Form1.Text6.Text 
With TChart1.Series(0) 
 .AddXY tg2 * 10, Val(K1), "", vbRed 'NHIET DO DAT LO3 
 End With 
 With TChart1.Series(1) 
 .AddXY tg2 * 10, Val(K2), "", vbBlue 'NHIET DO DO LO3 
 End With 
Else 
End If 
PDF created with pdfFactory Pro trial version www.pdffactory.com
Đo lường và điều khiển bằng máy tính –© Huỳnh Minh Ngọc 450 
End Sub 
Private Sub Timer2_Timer() 
tg2 = tg2 + 1 
Timer2.Enabled = False 
Timer2.Enabled = True 
End Sub 
2 Code chương trình hợp ngữ 8051 
 $MOD51 
;CHUONG TRINH HOA CHINH 
;****************************CHU THICH**************** 
; LO1 DIEU KHIEN ON/OFF 
; LO2 DIEU KHIEN ON/OFF 
; LO3 DIEU KHIEN ON/OFF VA PID BANG PWM 
KHAI BAOCACBIEN******************************************* 
 QUAT1 BIT P1.0 ; DIEU KHIEN QUAT CHO QUAT 
 QUAT2 BIT P1.1 
 QUAT3 BIT P1.2 
;**************************&&&&&&&&&&&&&&***************
************** 
 SEL1 BIT P3.7 ;DIEU KHIEN CHO LO DONG MO 
 SEL2 BIT P1.3 
 SEL3 BIT P1.4 
;*******************&&&&&&&&&&&&&&&&&&****************
**************** 
 DK1 BIT P1.5 ;CAC BIEN LUON O TRANG THAI 0 (CHE 
DO ON/OFF) 
 DK2 BIT P1.6 
 DK3 BIT P1.7 ;DIEU KHIEN ON/OFF VA PID 
;**************^^^^^^^^^^^^^^^^^^^*********************** 
 EOC BIT P3.4 ;DIEU KHIEN ADC 
 OE BIT P3.5 
 START BIT P3.6 ;ALE CHUNG 
 DA0 BIT P3.2 ;CHAN QUET KENH CHON NGO VAO ADC 
 DA1 BIT P3.3 
;*******************CAC BIEN DU LIEU******************** 
 ADC1 EQU 30H 
 ADC2 EQU 31H 
 ADC3 EQU 32H 
 ADC4 EQU 33H 
 TAM EQU 20H 
;*******************^^^^^^^^^^^^^^^^********************* 
 CHUYEN_ADC BIT 00H ;CHO PHEP CHUYEN DOI ADC 
;****************&&&&&&&&&&&&&&&************************
** 
ORG 0000h 
 LJMP MAIN 
PDF created with pdfFactory Pro trial version www.pdffactory.com
Đo lường và điều khiển bằng máy tính –© Huỳnh Minh Ngọc 451 
 ORG 0023H 
 LJMP NGATNOITIEP 
 ORG 0030H 
MAIN: 
 CLR QUAT1 ;TAT 3 QUAT 
 CLR QUAT2 
 CLR QUAT3 
 SETB SEL1 ;TAT 3 LO 
 SETB SEL2 
 SETB SEL3 
 CLR DK1 
 CLR DK2 
 CLR DK3 
 MOV P0,#00H ; DAC LA 5V-TRANG THAI DONG 3 
LO-DAC 0 
 MOV R7,#0 
 CLR DA0 
 CLR DA1 
 CLR START 
 CLR OE 
 SETB EOC 
 MOV P2,#0FFH ;NHAP DATA ADC VAO 
 MOV TMOD,#20H 
 MOV TH1,#0FDH 
 MOV SCON,#50H 
 SETB TR1 
 SETB EA 
 SETB ES ;BIT DK CONG-CHO PHEP NGAT 
 SETB PS ;UU TIEN NGAT NOI TIEP 
;****** ***CHUONG TRINH CHINH*********************** 
MAIN1: 
 JB CHUYEN_ADC,MAIN1 
 SETB CHUYEN_ADC 
 LCALL LAYMAU ;LAY MAU DU LIEU O 4 
KENH 
 CLR ES 
 MOV SBUF,ADC1 ;PHAT DU LIEU LEN MAY TINH 
 JNB TI,$ 
 CLR TI 
 MOV SBUF,ADC2 
 JNB TI,$ 
 CLR TI 
PDF created with pdfFactory Pro trial version www.pdffactory.com
Đo lường và điều khiển bằng máy tính –© Huỳnh Minh Ngọc 452 
 MOV SBUF,ADC3 
 JNB TI,$ 
 CLR TI 
 MOV SBUF,ADC4 
 JNB TI,$ 
 CLR TI 
 SETB ES ;CHO PHEP NGAT TRO LAI 
 LJMP MAIN1 
;****** * **CHON KENH VA THU DATA TU 
ADC*********************** 
LAYMAU: 
 CLR DA0 ;NGO VAO IN0-KENH 1 
 CLR DA1 
 LCALL BIENDOI 
 MOV ADC1,TAM 
 CLR DA1 
 SETB DA0 ;NGO VAO IN1 -KENH 2 
 LCALL BIENDOI 
 MOV ADC2,TAM 
 CLR DA0 ;NGO VAO IN2-KENH 3 
 SETB DA1 
 LCALL BIENDOI 
 MOV ADC3,TAM 
 SETB DA0 ;NGO VAO IN3-KENH 4 
 SETB DA1 
 LCALL BIENDOI 
 MOV ADC4,TAM 
 CLR DA0 
 CLR DA1 
 RET 
 ;************************^^^^^^^BIEN DOADC^^^^^^^^^^^^******** 
 BIENDOI: 
 SETB START 
 NOP 
 CLR START ;BAO BAT DAU BIEN DOI 
 JB EOC,$ ;NEU OEC = 1 THI CHO 
 JNB EOC,$ ;TIEP TUC CHO DEN KHI EOC = 1 
 SETB OE 
 MOV TAM,P2 ;DOC GIA TRI BIEN DOI 
PDF created with pdfFactory Pro trial version www.pdffactory.com
Đo lường và điều khiển bằng máy tính –© Huỳnh Minh Ngọc 453 
 CLR OE ;KHONG CHO PHEP XUAT DU 
LIEU 
 RET 
;****** **CHUONG TRINH NHAN DATA 
PC^^^^^^^^^^^^^^^^^^^********** 
NGATNOITIEP: 
 CLR RI ;XOA CO NGAT CHUAN BI CHO LAN 
THU KE 
 MOV A,SBUF ;DOC DU LIEU TU CONG NOI TIEP 
VAO A 
 MOV R7,A 
 MOV P0,#0FFH ;NGO RA ANALOG LA 5V 
 ;**********DIEU KHIEN LO 1 ON/OFF 
************ 
 CJNE A,#'M',KE ;CHO PHEP CHUYEN DOI ADC 
 CLR CHUYEN_ADC 
 LJMP EXIT 
KE: 
 CJNE A,#'A',KE1 
 CLR DK1 ;DIEU KHIEN LO 1-MUC 0 
 CLR QUAT1 
 CLR SEL1 ;MO LO 1,TAT QUAT 1 -DK ON/OFF 
 LJMP EXIT 
KE1: 
 CJNE A,#'B',KE2 
 CLR DK1 ;MUC 0 
 SETB QUAT1 ;MO QUAT 1 
 SETB SEL1 ;TAT LO 1 -DK ON/OFF LO1 
 SJMP EXIT 
 ;********DIEU KHIEN LO 2 ON/OFF********* 
KE2: 
 CJNE A,#'C',KE3 ;MUC 0 
 CLR DK2 
 CLR QUAT2 ;TAT QUAT 2 
 CLR SEL2 ;MO LO2 -DK ON/OFF 
 LJMP EXIT 
KE3: 
 CJNE A,#'D',KE4 
 CLR DK2 
 SETB QUAT2 ;MO QUAT 2 
 SETB SEL2 ;TAT LO 2 
 LJMP EXIT 
 ;**********DIEU KHIEN LO 3***** PP ON 
/OFF********* 
KE4: 
 CJNE A,#'E',KE5 
PDF created with pdfFactory Pro trial version www.pdffactory.com
Đo lường và điều khiển bằng máy tính –© Huỳnh Minh Ngọc 454 
 CLR DK3 
 CLR QUAT3 ;TAT QUAT 3 
 CLR SEL3 ;MO LO 3 
 SJMP EXIT 
KE5: 
 CJNE A,#'F',KE6 
 CLR DK3 
 SETB QUAT3 ;MO QUAT 3 
 SETB SEL3 ;TAT LO 3 
 SJMP EXIT 
 ;*****GUI MA TAT HOAT DONG CAC THIET BI********* 
KE6: 
 CJNE A,#'T',KE7 
 CLR QUAT1 
 CLR QUAT2 
 CLR QUAT3 
 SETB SEL1 
 SETB SEL2 
 SETB SEL3 
 CLR DK1 
 CLR DK2 
 CLR DK3 
 MOV P0,#00H 
 LJMP EXIT 
KE7: 
 PUSH 00H 
 PUSH ACC 
 CJNE R7,#00H,CCC 
 SETB DK3 
 SJMP KT 
CCC: CJNE R7,#255,DDD 
 CLR DK3 
 SJMP KT 
DDD: MOV A,R7 
 MOV R0,A 
 CLR DK3 
AAA: LCALL DELAY_XUNG 
 DJNZ R0,AAA 
 SETB DK3 
 MOV A,#255 
 CLR C 
 SUBB A,R7 
 MOV R0,A 
BBB: LCALL DELAY_XUNG 
 DJNZ R0,BBB 
KT: 
PDF created with pdfFactory Pro trial version www.pdffactory.com
Đo lường và điều khiển bằng máy tính –© Huỳnh Minh Ngọc 455 
 POP ACC 
 POP 00H 
EXIT: 
 RETI 
 DELAY_XUNG: 
 PUSH 00H 
 MOV R0,#20 
 DJNZ R0,$ 
 POP 00H 
 RET 
END 
Tham khảo: Đồ án tốt nghiệp, Võ Hồng Minh, Hệ thống thu thập dữ liệu nhiều 
kênh, ĐHĐT1B, tháng 7-2009. 
PDF created with pdfFactory Pro trial version www.pdffactory.com

File đính kèm:

  • pdfbai_giang_do_luong_va_dieu_khien_bang_may_tinh_huynh_minh_ng.pdf