Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 127 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
127
Dung lượng
2,68 MB
Nội dung
Đại Học Quốc Gia Tp Hồ Chí Minh TRƯỜNG ĐẠI HỌC BÁCH KHOA PHẠM HOÀNG CHƯƠNG ĐIỀU KHIỂN PAM DÙNG MẠNG NƠRÔN Chuyên ngành : TỰ ĐỘNG HÓA LUẬN VĂN THẠC SĨ Tp HỒ CHÍ MINH, tháng năm 2008 CÔNG TRÌNH ĐƯC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH Cán hướng dẫn khoa học : ………………………………………………… (Ghi rõ họ tên, học hàm, học vị chữ ký) Cán chấm nhận xét : …………………………………………………… (Ghi rõ họ tên, học hàm, học vị chữ ký) Cán chấm nhận xét : …………………………………………………… (Ghi rõ họ tên, học hàm, học vị chữ ký) Luận văn thạc só bảo vệ HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN THẠC SĨ TRƯỜNG ĐẠI HỌC BÁCH KHOA, ngày …… tháng …… năm …… BIỂU MẪU TRƯỜNG ĐẠI HỌC BÁCH KHOA PHÒNG ĐÀO TẠO SĐH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP – TỰ DO – HẠNH PHÚC Tp HCM, ngày tháng năm 200 NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: Phái: Ngày, tháng, năm sinh: Nơi sinh: Chuyên ngành: MSHV: I- TÊN ĐỀ TÀI: II- NHIỆM VỤ VÀ NỘI DUNG: III- NGÀY GIAO NHIỆM VỤ (Ngày bắt đầu thực LV ghi Quyết định giao đề tài): IV- NGÀY HOÀN THÀNH NHIỆM VỤ: V- CÁN BỘ HƯỚNG DẪN (Ghi rõ học hàm, học vị, họ, tên): CÁN BỘ HƯỚNG DẪN (Học hàm, học vị, họ tên chữ ký) CN BỘ MÔN QL CHUYÊN NGÀNH Nội dung đề cương luận văn thạc sĩ Hội đồng chun ngành thơng qua TRƯỞNG PHỊNG ĐT – SĐH Ngày tháng năm TRƯỞNG KHOA QL NGÀNH i LỜI CẢM ƠN Tác giả chân thành cảm ơn thầy cô môn Điều Khiển Tự Động, người truyền đạt kiến thức kinh nghiệm cho trình học tập thời gian thực luận văn Tác giả đặc biệt gửi lời cảm ơn đến TS NGUYỄN ĐỨC THÀNH truyền đạt kiến thức quý báu hướng dẫn tận tình để hoàn thành luận văn Tác giả PHẠM HOÀNG CHƯƠNG ii MỤC LỤC LỜI CẢM ƠN i MỤC LỤC ii DANH MỤC CÁC HÌNH VẼ iv MỞ ĐẦU Chương : GIỚI THIỆU ĐỀ TÀI 1.1 Giới thiệu hệ thống 1.2 Yêu cầu đề tài 1.3 Tóm tắt nội dung luận văn Chương : CƠ SỞ LÝ THUYẾT 2.1 Bộ điều khiển PID 2.2 Mạng nơrôn nhân tạo 11 2.3 Bắp thịt nhân tạo dùng khí nén 23 2.4 Valve 31 2.5 Encoder 34 2.6 Card PCI -1711 35 Chương : THIẾT KẾ HỆ THỐNG 38 3.1 Sơ đồ khối tổng quát hệ thống 38 3.2 Thiết kế phần cứng 40 3.3 Giải thuật điều khiển 43 3.3.1 Giải thuật thiết kế điều khiển máy tính 43 3.3.2 Hệ thống điều khiển số vòng kín 44 3.3.3 Đặc tính PAM 44 3.3.4 Thiết kế điều khiển PID số 45 iii 3.3.5 Thiết kế điều khiển nơrôn – mạng truyền thẳng 47 3.3.6 Thiết kế điều khiển nơrôn – PID 48 3.3.7 Thiết kế điều khiển RBF 51 3.3.8 Thiết kế điều khiển RBF – PID 52 3.3.9 Tính sai số 52 3.4 Thiết kế giao diện điều khiển Chương : KẾT QUẢ THỰC HIỆN 54 61 4.1 Kết điều khiển PAM – LÒ XO 61 4.1.1 Bộ điều khiển PID 62 4.1.2 Bộ điều khiển nơrôn – mạng truyền thẳng ba lớp 66 4.1.3 Bộ điều khiển nơrôn – PID 71 4.1.4 Bộ điều khiển nơrôn – mạng RBF 77 4.1.5 Bộ điều khiển RBF – PID 82 4.2 Kết điều khiển PAM KÉP 87 4.2.1 Bộ điều khiển PID 87 4.2.2 Bộ điều khiển nơrôn – mạng truyền thẳng ba lớp 92 4.2.3 Bộ điều khiển nơrôn – PID 96 4.2.4 Bộ điều khiển nơrôn – mạng RBF 101 4.2.5 Bộ điều khiển RBF – PID 105 4.3 Nhận xét 109 4.4 Kết luận hướng phát triển đề tài 111 PHỤ LỤC 112 TÀI LIỆU THAM KHẢO 116 iv DANH MỤC CÁC HÌNH VẼ Hình 1.1 Cơ tay người co-duỗi Hình 1.2 Hệ thống điều khiển PAM Hình 2.1 Đáp ứng nấc hệ hở có dạng S Hình 2.2 Đáp ứng nấc hệ kín K = Kmax Hình 2.3 Cấu trúc nơrôn sinh học Hình 2.4 Cấu trúc nơrôn Hình 2.5 Mạng nơrôn truyền thẳng ba lớp Hình 2.6 Mạng hàm sở xuyên tâm Hình 2.7 Giá trị η tốt Hình 2.8 Giá trị η cao Hình 2.9 Các loại PAM khác Hình 2.10 PAM lúc bình thường lúc co lại Hình 2.11 PAM loại MAS − 10 − 400N − AA MO − K − RA Hình 2.12 Cấu tạo PAM loại MAS − 10 − 400N − AA MO − K − RA Hình 2.13 Đồ thị biểu diễn lực – độ co loại MAS − 10 − 400N − AA MO − K − RA Hình 2.14 Kích thước PAM lúc bình thường Hình 2.15 Độ biến thiên thể tích PAM Hình 2.16 Mối liên hệ bán kính r chiều dài sợi s Hình 2.17 Valve tuyến tính mặt cắt Hình 2.18 Sơ đồ đấu dây Hình 2.19 Đồ thị lưu lượng theo điện áp Hình 2.20 Đồ thị lưu lượng theo dòng điện v Hình 2.21 Encoder Rotary Hình 2.22 Card PCI − 1711 Hình 2.23 Sơ đồ chân I/O Hình 3.1 Cấu trúc hệ thống Hình 3.2 Mạch đếm xung encoder Hình 3.3 Mạch nguồn Hình 3.4 Mạch thi công vi xử lý Hình 3.5 Thi công phần cứng Hình 3.6 Hệ thống điều khiển số vòng kín Hình 3.7 Đồ thị đặc tính PAM - Biễu diễn độ co theo điện áp Hình 3.8 Đồ thị hàm h(u) ứng với giá trị K a khác Hình 3.9 Điều khiển PID số Hình 3.10 Điều khiển dùng nơrôn - Mạng truyền thẳng Hình 3.11 Bộ điều khiển nơrôn - Mạng truyền thẳng Hình 3.12 Điều khiển nơrôn - PID Hình 3.13 Cấu trúc mạng nơrôn có ba ngõ Hình 3.14 Bộ điều khiển RBF Hình 3.15 Bộ điều khiển RBF có ba ngõ Hình 3.16 Giao diện điều khiển Hình 3.17 Các menu chức Hình 3.18 Kiểm tra Card PCI Hình 3.19 Form Run Hình 3.20 Form Plot Hình 3.21 Yêu cầu nhập tên password Hình 3.22 Thay đổi password vi Hình 3.23 Thông báo lỗi Hình 3.24 Form giới thiệu Hình 4.1 Cơ cấu PAM-LÒ XO Hình 4.2 Kết điều khiển PID ( PAM + LÒ XO ) − Pulse ( 100 , 12 s ) Hình 4.3 Kết điều khiển PID ( PAM + LÒ XO ) − Sin ( 150 , 16 s ) Hình 4.4 Kết điều khiển PID ( PAM + LÒ XO ) − Tam giaùc ( 20 , 10 s ) Hình 4.5 Kết điều khiển PID ( PAM + LÒ XO ) − Hình thang ( 250 , 20 s ) Hình 4.6 Kết điều khiển nơrôn ( PAM + LOØ XO ) − Pulse ( 220 , 14 s ) Hình 4.7 Kết điều khiển nơrôn ( PAM + LÒ XO ) − Sin ( 10 , 16 s ) Hình 4.8 Kết điều khiển nơrôn ( PAM + LÒ XO ) − Tam giác ( 220 , 12 s ) Hình 4.9 Kết điều khiển nơrôn ( PAM + LÒ XO ) − Hình thang ( 20 , 30 s ) Hình 4.10 Kết điều khiển nơrôn − PID ( PAM + LOØ XO ) − Pulse ( 20 , 16 s ) Hình 4.11 Kết điều khiển nơrôn − PID ( PAM + LÒ XO ) − Sin ( 110 , 20 s ) Hình 4.12 Kết điều khiển nơrôn − PID ( PAM + LÒ XO ) − Tam giác ( 220 , 20 s ) Hình 4.13 Kết điều khiển nơrôn − PID ( PAM + LÒ XO ) − Hình thang ( 20 , 40 s ) Hình 4.14 Vị trí tâm hàm sở mạng RBF Hình 4.15 Hàm sở không gian Hình 4.16 Kết điều khiển RBF ( PAM + LÒ XO ) − Pulse ( 120 , 18 s ) Hình 4.17 Kết điều khiển RBF ( PAM + LÒ XO ) − Sin ( 120 , 16 s ) Hình 4.18 Kết điều khiển RBF ( PAM + LÒ XO ) − Tam giaùc ( 220 , 30 s ) Hình 4.19 Kết điều khiển RBF ( PAM + LÒ XO ) − Hình thang ( 220 , 40 s ) Hình 4.20 Kết điều khiển RBF − PID ( PAM + LOØ XO ) − Sin ( 120 , 20 s ) vii Hình 4.21 Kết điều khiển RBF − PID ( PAM + LÒ XO ) − Tam giaùc ( 220 , 22 s ) Hình 4.22 Kết điều khiển RBF − PID ( PAM + LÒ XO ) − Hình thang ( 250 , 40 s ) Hình 4.23 Cơ cấu PAM KÉP Hình 4.24 Kết điều khiển PID ( PAM KÉP ) − Pulse ( 20 , 12 s ) Hình 4.25 Kết điều khiển PID ( PAM KÉP ) − Sin ( 230 , 20 s ) Hình 4.26 Kết điều khiển PID ( PAM KÉP ) − Tam giaùc ( 50 , 18 s ) Hình 4.27 Kết điều khiển PID ( PAM KÉP ) − Hình thang ( 50 , 32 s ) Hình 4.28 Kết điều khiển nơrôn ( PAM KEÙP ) − Pulse ( 40 , 14 s ) Hình 4.29 Kết điều khiển nơrôn ( PAM KEÙP ) − Sin ( 230 , 16 s ) Hình 4.30 Kết điều khiển nơrôn ( PAM KÉP ) − Tam giaùc ( 400 , 16 s ) Hình 4.31 Kết điều khiển nơrôn ( PAM KÉP ) − Hình thang ( 450 , 32 s ) Hình 4.32 Kết điều khiển nơrôn − PID ( PAM KEÙP ) − Pulse ( 350 , 10 s ) Hình 4.33 Kết điều khiển nơrôn − PID ( PAM KEÙP ) − Sin ( 180 , 20 s ) Hình 4.34 Kết điều khiển nơrôn − PID ( PAM KÉP ) − Tam giác ( 36 , 16 s ) Hình 4.35 Kết điều khiển nơrôn − PID ( PAM KÉP ) − Hình thang ( 36 , 32 s ) Hình 4.36 Kết điều khiển RBF ( PAM KÉP ) − Pulse ( 20 , 14 s ) Hình 4.37 Kết điều khiển RBF ( PAM KÉP ) − Sin ( 230 , 20 s ) Hình 4.38 Kết điều khiển RBF ( PAM KÉP ) − Tam giác ( 450 , 16 s ) Hình 4.39 Kết điều khiển RBF ( PAM KÉP ) − Hình thang ( 50 , 32 s ) Hình 4.40 Kết điều khiển RBF − PID ( PAM KÉP ) − Sin ( 230 , 30 s ) Hình 4.41 Kết điều khiển RBF − PID ( PAM KÉP ) − Tam giác ( 50 , 20 s ) Hình 4.42 Kết điều khiển RBF − PID ( PAM KÉP ) − Hình thang ( 500 , 32 s ) 103 4.2.4.3 Hàm dạng Tam giác ( Biên độ A = 45 , chu kỳ T = 16 s ) Thời gian cần để mạng học Tlearn = 3.5 s Chọn tốc độ học η = 0.23 Sai soá −1.80 ≤ e ≤ +1.80 POT = 1.8 100% = 4% 45 Angle 50 25 ref y 0 10 15 20 25 30 [RBF] - Time [s] 35 40 45 10 15 20 25 30 [RBF] - Time [s] 35 40 45 10 15 20 25 30 [RBF] - Time [s] 35 40 45 Error 2.5 -2.5 -5 Vout [V] 5.5 4.5 Hình 4.38 Kết điều khiển RBF ( PAM KÉP ) − Tam giác ( 450 , 16 s ) 104 4.2.4.4 Hàm dạng Hình thang ( Biên độ A = 50 , chu kỳ T = 32 s ) Thời gian cần để mạng học Tlearn = s Chọn tốc độ học η = 0.21 −1.10 ≤ e ≤ 1.7 POT = 1.7 100% = 3.4% 50 Angle 50 25 ref y 0 10 20 30 40 50 [RBF] - Time [s] 60 70 10 20 30 40 50 [RBF] - Time [s] 60 70 10 20 30 40 50 [RBF] - Time [s] 60 70 Error 2.5 -2.5 -5 Vout [V] 5.5 4.5 Hình 4.39 Kết điều khiển RBF ( PAM KÉP ) − Hình thang ( 50 , 32 s ) 105 4.2.5 BỘ ĐIỀU KHIỂN RBF-PID Độ phân tán hàm sở chọn σq = 2.5 Tâm hàm sở chọn hình 4.14 Sau kết điều khiển 4.2.5.1 Hàm dạng Sine ( Biên độ A = 23 , chu kỳ T = 30 s ) Hàm dạng sine cho kết tốt với sai số nhỏ ( −1.10 ≤ e ≤ +1.10 ) Ngõ bám tốt theo tín hiệu đặt Độ vọt lố lơn POT = 1.1 100% = 2.39% 46 Tốc độ học η = 0.035 Angle 50 25 ref y 0 10 20 30 40 50 60 [RBF-PID] - Time [s] 70 80 10 20 30 40 50 60 [RBF-PID] - Time [s] 70 80 10 20 30 40 50 60 [RBF-PID] - Time [s] 70 80 Error 1.5 -1.5 -3 Vout [V] 5.5 4.5 106 15 Kp,Kd 10 Kp Kd 0 10 20 30 40 50 60 [RBF-PID] - Time [s] 70 80 10 20 30 40 50 60 [RBF-PID] - Time [s] 70 80 50 Ki 30 20 Hình 4.40 Kết điều khiển RBF − PID ( PAM KÉP ) − Sin ( 230 , 30 s ) 4.2.5.2 Haøm dạng Tam giác ( Biên độ A = 50 , chu kỳ T = 20 s ) Tốc độ học η = 0.03 Sai soá −1.20 ≤ e ≤ 1.7 POT = 1.7 100% = 3.4% 50 Angle 50 25 ref y 0 10 20 30 40 [RBF-PID] - Time [s] 50 107 Error 2.5 -2.5 -5 10 20 30 40 [RBF-PID] - Time [s] 50 10 20 30 40 [RBF-PID] - Time [s] 50 Vout [V] 5.5 4.5 Kp,Kd 10 Kp Kd 0 10 20 30 40 [RBF-PID] - Time [s] 50 10 20 30 40 [RBF-PID] - Time [s] 50 Ki 45 30 20 10 Hình 4.41 Kết điều khiển RBF − PID ( PAM KÉP ) − Tam giác ( 50 , 20 s ) 108 4.2.5.3 Hàm dạng Hình thang ( Biên độ A = 50 , chu kỳ T = 32 s ) η = 0.039 −1.9 ≤ e ≤ 2.2 POT = 2.2 100% = 4.4% 50 Angle 50 25 ref y 0 10 20 30 40 50 [RBF-PID] - Time [s] 60 70 10 20 30 40 50 [RBF-PID] - Time [s] 60 70 10 20 30 40 50 [RBF-PID] - Time [s] 60 70 Error 1.5 -1.5 -3 Vout [V] 5.5 4.5 Kp,Kd Kp Kd 0 10 20 30 40 50 [RBF-PID] - Time [s] 60 70 109 40 Ki 30 20 10 0 10 20 30 40 50 [RBF-PID] - Time [s] 60 70 Hình 4.42 Kết điều khiển RBF − PID ( PAM KÉP ) − Hình thang ( 500 , 32 s ) 4.3 NHẬN XÉT Dùng PAM KÉP để điều khiển tốt so với PAM + LÒ XO Biên độ điều khiển rộng hơn, đáp ứng nhanh lò xo phần không điều khiển Hơn nữa, dùng lò xo điều khiển, đáp ứng cạnh xuống bị vọt lố nhiều Áp suất cấp cho PAM bị dao động mạnh tín hiệu đặt thay đổi đột ngột có ổn áp Nguyên nhân lúc tín hiệu đặt biến thiên lớn cần lượng khí lớn cấp cho PAM áp suất bị giảm Sai số trường hợp điều khiển nhỏ, vọt lố bé Điện áp điều khiển valve tuyến tính số trường hợp có dao động mạnh, nhiên mức chấp nhận Các hệ số K P , K I , K D tốc độ học η , tâm độ rộng hàm sở chọn dựa vào kinh nghiệm người thiết kế Sai số điều khiển PID kinh điển nhỏ so với điều khiển nơrôn Bộ điều khiển RBF-PID có tính ổn định cao so với RBF Nó bị dao động thời gian học ban đầu Bộ điều khiển PID có tính ổn định cao Bộ điều khiển nơrôn cần phải có thời gian để học, nhiên có tính thích nghi Kết hợp ưu điểm hai điều khiển ta điều khiển lai nơrôn-PID Bộ điều khiển lai vừa ổn định lại vừa thích nghi Nó cho kết tốt với sai số nhỏ bảng so sánh sau : 110 Bảng 4.1 Bảng so sánh sai số điều khiển Bộ ĐK Loại Pulse (1) exl = 0.10 ( 2) exl = 0.2 (1) exl = 0 ( 2) exl = 0 (1) exl = 0 ( 2) exl = 0 (1) exl = 0 ( 2) exl = 0 PID Nơrôn Nơrôn + PID RBF RBF + PID (1) (1) ( 2) : PAM + LOØ XO ( 2) Sine Tam giác Hình thang emax = 1.30 emax = 10 emax = 10 POT = 4.3% POT = 5% POT = 4% emax = 1.20 −1.5 ≤ e ≤ 1.3 −1.7 ≤ e ≤ 1.3 POT = 2.6% POT = 3% POT = 3.4% −0.560 ≤ e ≤ +1.10 −10 ≤ e ≤ +1.950 −10 ≤ e ≤ +1.50 POT = 5.5% POT = 8.8% POT = 7.5% −10 ≤ e ≤ +1.10 −2.40 ≤ e ≤ +1.60 −1.10 ≤ e ≤ +1.30 POT = 2.39% POT = 6% POT = 2.88% −0.30 ≤ e ≤ +0.30 −0.80 ≤ e ≤ 10 −0.50 ≤ e ≤ +0.60 POT = 1.36% POT = 4.5% POT = 3% −0.4 ≤ e ≤ +0.40 −1.10 ≤ e ≤ 1.10 −0.7 ≤ e ≤ +0.7 POT = 1.11% POT = 3.05% POT = 1.94% −0.350 ≤ e ≤ +0.350 −0.6 ≤ e ≤ +0.80 −0.50 ≤ e ≤ +0.60 POT = 1.46% POT = 3.6% POT = 2.7% −0.50 ≤ e ≤ +0.60 −1.80 ≤ e ≤ +1.80 −1.10 ≤ e ≤ 1.7 POT = 1.3% POT = 4% POT = 3.4% −0.30 ≤ e ≤ +0.30 −0.60 ≤ e ≤ 0.90 −0.50 ≤ e ≤ +0.80 POT = 1.25% POT = 4% POT = 3.2% −1.10 ≤ e ≤ +1.10 −1.20 ≤ e ≤ 1.7 −1.9 ≤ e ≤ 2.2 POT = 2.39% POT = 3.4% POT = 4.4% : PAM KEÙP 111 4.4 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI Để điều khiển vị trí cho PAM ta sử dụng nhiều thuật toán khác Cách chọn phương pháp điều khiển người thiết kế Trong đề tài luận văn này, tác giả sử dụng thuật toán điều khiển PID, mạng nơrôn truyền thẳng ba lớp, mạng RBF, kết hợp mạng nơrôn PID Tuy nhiên ta cần quan tâm đến chất lượng tính ổn định hệ thống Trong trường hợp trên, hệ thống hoạt động ổn định điều khiển lai nơrôn-PID cho kết tốt Với điều khiển lai này, ta không cần phải biết xác phương trình toán đối tượng (mà thực tế có đối tượng tìm phương trình mô tả khó) Dó ta dùng điều khiển nơrôn-PID để điều khiển đối tượng khác Ưu điểm luận văn điều khiển trực tuyến dùng ngôn ngữ lập trình thông dụng (Visual Basic) chạy với máy tính có cấu hình thấp Giới hạn đề tài điều khiển cánh tay robot bậc tự Phát triển thêm thiết kế điều khiển cho cánh tay robot nhiều bậc tự hay cho robot người Để nâng cao khả xử lý cho robot, ta dùng thuật toán thích nghi, thuật toán mờ-PID, giải thuật di truyền… Ngoài cần kết hợp xử lý, nhận dạng ảnh Việc chế tạo robot cần nhiều công sức khó khăn Mong tương lai không xa, Việt Nam sản xuất robot thông minh giống người để làm cho sống tốt đẹp 112 PHỤ LỤC - Chương trình điều khiển xem đóa CD đính kèm - Chương trình mẫu tính ngõ cập nhật trọng số cho mạng nơrôn : ' -LAN TRUYEN THUAN -For q = To ' Lop An nethid(q) = v(q,1)*x(1) + v(q,2)*x(2) - vo(q) z(q) = fhid(nethid(q)) Next q For i = To ' Lop RA netout(i) = -wo(i) For q = To netout(i) = netout(i) + w(i,q)*z(q) Next q y(i) = fout(netout(i)) Next i ' -LAN TRUYEN NGUOC -For i = To 'LOP RA deltaout(i) = e*xy*a*h*(K-h)/K*lamda(i)*fout(1-fout) For q = To w(i,q) = w(i,q) + deltaout(i)*z(q) Next q wo(i) = wo(i) - deltaout(i) Next i For q = To 'Lop AN deltahid(q) = (deltaout(1)*w(1,q) + deltaout(2)*w(2,q) + deltaout(3)*w(3,q))*fhid*(1-fhid) For j = To v(q,j) = v(q,j) + deltahid(q)*x(j) Next j vo(q) = vo(q) - deltahid(q) Next q ' -HAM KICH HOAT LOP AN Public Function fhid(net As Single) As Single If net = 15 Then fhid = If (net > -15) And (net < 15) Then fhid = / (1 + Exp(-net)) End Function ' -HAM KICH HOAT LOP RA Public Function fout(net As Single) As Single fout = / (1 + Exp(-0.1 * net)) End Function 113 - Chương trình đọc xung encoder : #include #include sbit chieu_encoder = P3^3; unsigned int soxung; unsigned int soxung_ngat; int digital[10] = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x98}; void xuat16bit(void){ unsigned int mu4=0; unsigned int mu3=0; unsigned int mu2=0; unsigned int mu1=0; unsigned int mu0=0; unsigned int soxung1; soxung1 = soxung; if(soxung1 >= 4096){ mu4 = 1; soxung1=soxung1-4096; } if(soxung1 >=2048){ mu3 = 1; soxung1 = soxung1 - 2048; } if (soxung1 >= 1024){ mu2 = 1; soxung1 = soxung1 - 1024; } if(soxung1 >=512){ mu1 = 1; soxung1 = soxung1 - 512; } if(soxung1 >= 256){ mu0 = 1; soxung1 = soxung1 - 256; } P0 = soxung1; P2 =(mu4*16 + mu3*8 + mu2*4 + mu1*2 + mu0); } void int_input(void) { soxung=0; CR = 1; CCAPM0 = 0x00; CCAPM1 = 0x42; CCAPM2 = 0x42; 114 CCAPM3 = 0x42; CCAPM4 = 0x42; CKCON = 0x01; CMOD = 0x00;} void int_init(void){ //enable interrupt EA=1; EX0=1; IT0=1; } void isr_ext0(void) interrupt { if(chieu_encoder == 1){ soxung_ngat++; } else { soxung_ngat ; } } void main(){ int_input(); int_init(); soxung_ngat=0; while(1){ soxung=soxung_ngat; xuat16bit();} } - Chương trình xử lý Analog Output vaø Digital Input cho Card PCI Private Sub cmdVout_Click() ‘Analog Output Dim AoVoltage As PT_AOVoltageOut Dim xuat As Single AoVoltage.chan = lpAOConfig.chan xuat = CSng(txtVout.Text) If (xuat >= 10) Then xuat = 10 If (xuat = 0) And (xuat