PHẦN MỞ ĐẦU Ngày nay với sự phát triển của khoa học kỹ thuật, kỹ thuật đo lường đang được sử dụng rộng rãi trong các nhiệm vụ kiểm tra tự động, tự động hoá các quá trình sản xuất và công nghệ cũng như trong công tác nghiên cứu khoa học của tất cả các lĩnh vực khoa học kỹ thuật. Để thực hiện đo các đại lượng không điện bằng phương pháp điện,trước tiên chúng được biến đổi thành các đại lượng điện thông qua các chuyển đổi sơ cấp và sau đó chúng được đo bằng các thiết bị đo điện. Các phương pháp đo điện ngày càng chiếm ưu thế vì nó còn có những ưu điểm tuyệt đối so với những phép đo không phải bằng điện như: Độ tác động nhanh, độ chính xác cao hơn, có thể đo ở những khoảng cách xa, thiết bị gọn nhẹ hơn và có thể đưa vào máy tính để xử lý và lưu kết quả. Được giao đề tài: “Thiết kế chế tạo phương tiện đo đại lượng nhiệt độ ứng dụng phương pháp nội suy spline” . Với sự quan tâm hướng dẫn của thầy Phạm Ngọc Thắng, đến nay về cơ bản đã giải quyết được nhiệm vụ đặt ra. Tuy nhiên do hạn chế về thời gian và kinh nghiệm nên không thể tránh khỏi những thiếu sót. Rất mong nhận được sự góp ý, chỉ bảo của các thầy cô và các bạn để đề tài hoàn thiện hơn. Chúng em xin chân thành cảm ơn sự quan tâm hướng dẫn tận tình của thầy Phạm Ngọc Thắng,và các thầy cô trong bộ môn Kỹ thuật điện tử, Khoa Điện - điện tử, Trường Đại Học Sư Phạm Kỹ Thuật Hưng Yên đã giúp đỡ chúng em hoàn thành đề tài này. Hưng Yên, tháng 08 năm 2010 Nhóm sinh viên thực hiện: Nhận xét, đánh giá của giáo viên hướng dẫn ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… Chữ ký của giáo viên Nhận xét, đánh giá của giáo viên phản biện ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ………………………………………………………………………………………….…………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… Chữ ký của giáo viên MỤC LỤC CHƯƠNG 1 8 TỔNG QUAN VỀ ĐO LƯỜNG KHÔNG ĐIỆN 8 1.1 Khái niệm và phương pháp đo các đại lượng không điện 8 1.1.1 Khái niệm đo lường các đại lượng không điện 8 1.1.3. Các đặc trưng của kỹ thuật đo lường 9 1.1.5 Phân loại dụng cụ đo 11 1.1.6. Các đặc tính cơ bản của dụng cụ đo 12 1.2.Sai số đo…………………………………………................................................13 1.3. Nhiệt kế điện trở hay RTD 14 1.3.1. Giới thiệu chung 14 1.3.2. Cơ sở nguyên lý và cấu trúc 15 1.3.3. Các dạng mắc mạch cơ bản 15 1.3.4. Cảm biến nhiệt độ sử dụng trong đề tài 15 CHƯƠNG 2 16 PHƯƠNG PHÁP XỬ LÝ THÔNG TIN ĐO ĐỂ HẠN CHẾ SAI SỐ 16 2.1. Đặt vấn đề 16 2.2.Lựa chọn đa thức nội suy spline với hệ số biến đổi động theo khoảng giá trị đại lượng vào 19 2.3. Kết luận chương 2 30 CHƯƠNG3…………………………………………………………………….31 CÁC BỘ BIẾN ĐỔI VÀ XỬ LÝ DỮ LIỆU…………………………………...........31 3.1.2. Vi điều khiển PIC16F877A 33 3.1.2.2. Tổ chức bộ nhớ 35 3.1.2.3. Các Bộ Timer của chip 41 3.1.3. Trình biên dịch CCS cho PIC16F8877A 46 3.2. Giới thiệu chung về truyền thông RS 232 với máy tính 48 3.2.1. Cấu trúc cổng nối tiếp 48 3.2.2. Truyền thông giữa hai nút 51 3.2.3. Phần mềm truy nhập RS232 52 3.3. Các bộ biến đổi dữ liệu 56 3.3.1. Bộ chuyển đổi tương tự - số sử dụng MCP3204 56 3.3.2. Bộ chuyển đổi số - tương tự sử dụng DAC0808 57 CHƯƠNG 4 59 KẾT QUẢ THỰC TIỄN THẾT KẾ HỆ THỐNG ĐO NHIỆT ĐỘ 59 4.1. Sơ đồ khối thiết kế hệ thống 59 4.2. Thuật toán chương trình 63 4.3. Tính toán và thiết kế 70 4.3.1. Sơ đồ nguyên lý tổng thể 70 4.3.2. Sơ đồ nguyên lý và nguyên tắc làm việc các khối 71 4.4. Thi công 79 DANH MỤC CÁC HÌNH VẼ Hình 1.1: Sơ đồ khối quá trình đo biến đổi thẳng. 8 Hình 1.2 : Sơ đồ khối quá trình đo kiểu so sánh. 9 Hình 1.3: Hình dạng cơ bản của nhiệt kế điện trở 15 Hình 1.4: Các dạng kết nối cơ bản 16 Hình 2.1: Lưu đồ thuật toán đo các đai lượng không điện 24 Hình 2.3: Lưu đồ thuật toán hiệu chuẩn phi tuyến trong phép đo đại lượng vô hướng ............. 28 Hình 3.1: Vi điều khiển PIC16F877A/PIC16F874A và các dạng sơ đồ chân. 33 Hình 3.2: Sơ đồ khối vi điều khiển PIC16F877A 34 Hình 3.3: Bộ nhớ chương trình PIC16F877A 35 Hình 3.4: Sơ đồ bộ nhớ dữ liệu PIC16F877A 36 Hình 3.5: Sơ đồ khối của Timer0 và WD 42 Hình 3.6: Sơ đồ khối Timer1 43 Hình 3.7: Sơ đồ khồi Timer 2 44 Hình 3.8: Trình biên dịch CCS 45 Hình 3.9: Code ASM trong CCS 46 Hình 3.10: Tín hiệu truyền của ký tự ‘A’ 48 Hình 3.11: Sơ đồ chân cổng nối tiếp 49 Hình 3.12: Sơ đồ kết nối đơn giản trong truyền thông nối tiếp 50 Hình 3.13: Kết nối trong truyền thông nối tiếp dùng tín hiệu bắt tay 51 Hình 3.14: Sơ đồ chân MCP3204 56 Hình 3.13: Sơ đồ khối MCP3204 56 Hình 3.14: Sơ đồ chân DAC0808 57 Hình 3.15: Sơ đồ khối DAC0808 58 Hình 4.1: Sơ đồ khối hệ thống đo nhiệt độ, áp suất 59 Hình 4.2: Sơ đồ khối nguồn nuôi 59 Hình 4.3: Sơ đồ khối mạch đo nhiệt độ 60 Hình 4.4: Sơ đồ khối mạch đo áp suất 60 Hình 4.5: Sơ đồ khối DAC 61 Hình 4.6: Sơ đồ khối ADC 61 Hình 4.7: Sơ đồ khối xử lý 62 Hình 4.8: Sơ đồ khối cảnh báo 62 Hình 4.9: Sơ đồ khối hiển thị 63 Hình 4.10: Lưu đồ thuật toán chương trình chính 65 Hình 4.12: Lưu đồ thuật toán giải phương trình bậc nhất và bậc hai thứ cấp 66 Hình 4.13: Lưu đồ thuật toán tìm nút nội suy sơ cấp 67 Hình 4.14: Lưu đồ thuật toán chương trình hiển thị LCD 68 Hình 4.15: Lưu đồ thuật toán chương trình hiển thị nhiệt độ, áp suất 68 Hình 4.16: Lưu đồ thuật toán chương trình cảnh báo nhiệt độ 69 Hình 4.17: Lưu đồ thuật toán chương trình giao tiếp máy tính 69 Hình 4.18: Sơ đồ nguyên lý tổng thể 70 Hình 4.19: Sơ đồ nguyên lý khối nguồn nuôi 71 Hình 4.20: Sơ đồ nguyên lý khối mạch đo 72 Hình 4.21: Sơ đồ nguyên lý khối ADC 74 Hình 4.22: Sơ đồ nguyên lý khối DAC 75 Hình 4.23: Sơ đồ nguyên lý khối giao tiếp máy tính 76 Hình 4.24: Sơ đồ tham khảo khối giao tiếp máy tính 77 Hình 4.25: Giao diện máy tính 77 Hình 4.26: Sơ đồ nguyên lý khối xử lý và hiển thị 78 Hình 4.27: Sơ đồ board mạch chính 79 Hình 4.28: Sơ đồ sắp xếp linh kiện 80 Hình 4.29: Sơ đồ chân trên board mạch 80 Hình 4.30: Sơ đồ board phím bấm 81 Hình 4.31: Sơ đồ board giao tiếp máy tính 81 DANH MỤC BẢNG BIỂU Bảng 1.1: Một số giá trị nhiệt độ và điện trở cơ bản của PT100 17 Bảng 3.1: Các đặc tính kỹ thuật của chuẩn RS232 49 Bảng 3.2: Ý nghĩa các chân của cổng COM 51 CHƯƠNG 1 TỔNG QUAN VỀ ĐO LƯỜNG KHÔNG ĐIỆN 1.1. Khái niệm và phương pháp đo các đại lượng không điện 1.1.1. Khái niệm đo lường các đại lượng không điện Đo lường các đại lượng không điện là một quá trình đánh giá định lượng đại lượng không điện cần đo để có kết quả bằng số so với đơn vị đo: Ax = X = Ax X0 Trong đó: Ax - Giá trị định lượng X - Đại lượng cần đo X0 - Giá trị mẫu Ta có thể sử dụng nhiều cách đo khác nhau và có thể được phân biệt thành các phép đo như sau: 1.1.2. Phương pháp đo các đại lượng không điện a) Phương pháp đo và đánh giá trực tiếp (hay còn gọi là phương pháp đo biến đổi thẳng). Là cách đo mà kết quả nhận được trực tiếp từ một phép đo duy nhất. Tập các đại lượng đo được so sánh với tập các đại lượng và giá trị đo được là X. Hình 1.1: Sơ đồ khối quá trình đo biến đổi thẳng. b) Phương pháp đo kiểu so sánh (kiểu bù). Là phương pháp so sánh tín hiệu đo X với tín hiệu chuẩn Xk. Sơ đồ có cấu trúc theo kiểu mạch vòng nghĩa là có khâu phản hồi.
Trang 1PHẦN MỞ ĐẦU
Ngày nay với sự phát triển của khoa học kỹ thuật, kỹ thuật đo lường đang được
sử dụng rộng rãi trong các nhiệm vụ kiểm tra tự động, tự động hoá các quá trình sảnxuất và công nghệ cũng như trong công tác nghiên cứu khoa học của tất cả các lĩnhvực khoa học kỹ thuật
Để thực hiện đo các đại lượng không điện bằng phương pháp điện,trước tiênchúng được biến đổi thành các đại lượng điện thông qua các chuyển đổi sơ cấp và sau
đó chúng được đo bằng các thiết bị đo điện Các phương pháp đo điện ngày càngchiếm ưu thế vì nó còn có những ưu điểm tuyệt đối so với những phép đo không phảibằng điện như: Độ tác động nhanh, độ chính xác cao hơn, có thể đo ở những khoảngcách xa, thiết bị gọn nhẹ hơn và có thể đưa vào máy tính để xử lý và lưu kết quả
Được giao đề tài: “Thiết kế chế tạo phương tiện đo đại lượng nhiệt độ ứng
dụng phương pháp nội suy spline” Với sự quan tâm hướng dẫn của thầy Phạm Ngọc
Thắng, đến nay về cơ bản đã giải quyết được nhiệm vụ đặt ra Tuy nhiên do hạn chế
về thời gian và kinh nghiệm nên không thể tránh khỏi những thiếu sót Rất mong nhậnđược sự góp ý, chỉ bảo của các thầy cô và các bạn để đề tài hoàn thiện hơn
Chúng em xin chân thành cảm ơn sự quan tâm hướng dẫn tận tình của thầy Phạm Ngọc Thắng,và các thầy cô trong bộ môn Kỹ thuật điện tử, Khoa Điện - điện tử,
Trường Đại Học Sư Phạm Kỹ Thuật Hưng Yên đã giúp đỡ chúng em hoàn thành đề tàinày
Hưng Yên, tháng 08 năm 2010
Nhóm sinh viên thực hiện:
Trang 2Nhận xét, đánh giá của giáo viên hướng dẫn
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Chữ ký của giáo viên
Trang 3Nhận xét, đánh giá của giáo viên phản biện
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Chữ ký của giáo viên
Trang 4MỤC LỤC
CHƯƠNG 1 8
TỔNG QUAN VỀ ĐO LƯỜNG KHÔNG ĐIỆN 8
1.1 Khái niệm và phương pháp đo các đại lượng không điện 8
1.1.1 Khái niệm đo lường các đại lượng không điện 8
1.1.3 Các đặc trưng của kỹ thuật đo lường 9
1.1.5 Phân loại dụng cụ đo 11
1.1.6 Các đặc tính cơ bản của dụng cụ đo 12
1.2.Sai số đo……… 13
1.3 Nhiệt kế điện trở hay RTD 14
1.3.1 Giới thiệu chung 14
1.3.2 Cơ sở nguyên lý và cấu trúc 15
CÁC BỘ BIẾN ĐỔI VÀ XỬ LÝ DỮ LIỆU……… 31
3.1.2 Vi điều khiển PIC16F877A 33
3.1.2.2 Tổ chức bộ nhớ 35
3.1.2.3 Các Bộ Timer của chip 41
3.1.3 Trình biên dịch CCS cho PIC16F8877A 46
3.2 Giới thiệu chung về truyền thông RS 232 với máy tính 48
3.2.1 Cấu trúc cổng nối tiếp 48
3.2.2 Truyền thông giữa hai nút51
3.2.3 Phần mềm truy nhập RS232 52
Trang 53.3 Các bộ biến đổi dữ liệu 56
3.3.1 Bộ chuyển đổi tương tự - số sử dụng MCP3204 56
3.3.2 Bộ chuyển đổi số - tương tự sử dụng DAC0808 57
CHƯƠNG 4 59
KẾT QUẢ THỰC TIỄN THẾT KẾ HỆ THỐNG ĐO NHIỆT ĐỘ 59
4.1 Sơ đồ khối thiết kế hệ thống 59
4.2 Thuật toán chương trình 63
Hình 1.2 : Sơ đồ khối quá trình đo kiểu so sánh. 9
Hình 1.3: Hình dạng cơ bản của nhiệt kế điện trở 15
Hình 1.4: Các dạng kết nối cơ bản 16
Hình 2.1: Lưu đồ thuật toán đo các đai lượng không điện 24
Hình 2.3: Lưu đồ thuật toán hiệu chuẩn phi tuyến trong phép đo đại lượng vô hướng 28
Hình 3.1: Vi điều khiển PIC16F877A/PIC16F874A và các dạng sơ đồ chân. 33
Hình 3.2: Sơ đồ khối vi điều khiển PIC16F877A 34
Hình 3.3: Bộ nhớ chương trình PIC16F877A 35
Hình 3.4: Sơ đồ bộ nhớ dữ liệu PIC16F877A 36
Hình 3.5: Sơ đồ khối của Timer0 và WD 42
Hình 3.6: Sơ đồ khối Timer1 43
Hình 3.7: Sơ đồ khồi Timer 2 44
Hình 3.8: Trình biên dịch CCS 45
Hình 3.9: Code ASM trong CCS46
Hình 3.10: Tín hiệu truyền của ký tự ‘A’ 48
Hình 3.11: Sơ đồ chân cổng nối tiếp 49
Hình 3.12: Sơ đồ kết nối đơn giản trong truyền thông nối tiếp 50
Trang 6Hình 3.13: Kết nối trong truyền thông nối tiếp dùng tín hiệu bắt tay 51
Hình 3.14: Sơ đồ chân MCP3204 56
Hình 3.13: Sơ đồ khối MCP320456
Hình 3.14: Sơ đồ chân DAC0808 57
Hình 3.15: Sơ đồ khối DAC0808 58
Hình 4.1: Sơ đồ khối hệ thống đo nhiệt độ, áp suất 59
Hình 4.2: Sơ đồ khối nguồn nuôi 59
Hình 4.3: Sơ đồ khối mạch đo nhiệt độ 60
Hình 4.4: Sơ đồ khối mạch đo áp suất 60
Hình 4.5: Sơ đồ khối DAC 61
Hình 4.6: Sơ đồ khối ADC 61
Hình 4.7: Sơ đồ khối xử lý 62
Hình 4.8: Sơ đồ khối cảnh báo 62
Hình 4.9: Sơ đồ khối hiển thị 63
Hình 4.10: Lưu đồ thuật toán chương trình chính 65
Hình 4.12: Lưu đồ thuật toán giải phương trình bậc nhất và bậc hai thứ cấp 66 Hình 4.13: Lưu đồ thuật toán tìm nút nội suy sơ cấp 67
Hình 4.14: Lưu đồ thuật toán chương trình hiển thị LCD 68
Hình 4.15: Lưu đồ thuật toán chương trình hiển thị nhiệt độ, áp suất 68
Hình 4.16: Lưu đồ thuật toán chương trình cảnh báo nhiệt độ 69
Hình 4.17: Lưu đồ thuật toán chương trình giao tiếp máy tính 69
Hình 4.18: Sơ đồ nguyên lý tổng thể 70
Hình 4.19: Sơ đồ nguyên lý khối nguồn nuôi 71
Hình 4.20: Sơ đồ nguyên lý khối mạch đo 72
Hình 4.21: Sơ đồ nguyên lý khối ADC 74
Hình 4.22: Sơ đồ nguyên lý khối DAC 75
Hình 4.23: Sơ đồ nguyên lý khối giao tiếp máy tính 76
Hình 4.24: Sơ đồ tham khảo khối giao tiếp máy tính77
Hình 4.25: Giao diện máy tính 77
Hình 4.26: Sơ đồ nguyên lý khối xử lý và hiển thị 78
Hình 4.27: Sơ đồ board mạch chính 79
Hình 4.28: Sơ đồ sắp xếp linh kiện 80
Trang 7Hình 4.29: Sơ đồ chân trên board mạch 80
Hình 4.30: Sơ đồ board phím bấm 81
Hình 4.31: Sơ đồ board giao tiếp máy tính 81
DANH MỤC BẢNG BIỂU
Bảng 1.1: Một số giá trị nhiệt độ và điện trở cơ bản của PT100 17
Bảng 3.1: Các đặc tính kỹ thuật của chuẩn RS232 49
Bảng 3.2: Ý nghĩa các chân của cổng COM 51
Trang 8CHƯƠNG 1 TỔNG QUAN VỀ ĐO LƯỜNG KHÔNG ĐIỆN 1.1 Khái niệm và phương pháp đo các đại lượng không điện
1.1.1 Khái niệm đo lường các đại lượng không điện
Đo lường các đại lượng không điện là một quá trình đánh giá định lượng đạilượng không điện cần đo để có kết quả bằng số so với đơn vị đo:
1.1.2 Phương pháp đo các đại lượng không điện
a) Phương pháp đo và đánh giá trực tiếp (hay còn gọi là phương pháp đo biến đổi thẳng)
Là cách đo mà kết quả nhận được trực tiếp từ một phép đo duy nhất Tập cácđại lượng đo được so sánh với tập các đại lượng và giá trị đo được là X
Hình 1.1: Sơ đồ khối quá trình đo biến đổi
thẳng.
b) Phương pháp đo kiểu so sánh (kiểu bù)
Là phương pháp so sánh tín hiệu đo X với tín hiệu chuẩn Xk Sơ đồ có cấu trúctheo kiểu mạch vòng nghĩa là có khâu phản hồi
Trang 9-Trước tiên đại lượng cần đo X và đại lượng mẫu X0 được biến đổi thành mộtđại lượng vật lý nào đó Quá trình so sánh được diễn ra trong suốt quá trình đo khi haiđại lượng bằng nhau sẽ suy ra giá trị đại lượng cần đo.
So sánh cân bằng: Là phép so sánh mà đại lượng cần đo X và đại lượng mẫu X0 saukhi được biến đổi thành Xk sẽ được so sánh với nhau sao cho luôn có:
Hình 1.2: Sơ đồ khối quá trình đo kiểu so sánh.
X = 0 tức là: X - Xk = 0, X = Xk = Nk X0
- So sánh không cân bằng: Nếu Xk là một đại lượng không đổi X - Xk =
X Kết quả của phép đo được đánh giá theo đại lượng hiệu X Tức là biết trước '
K X
từ phép đo X ta có thể suy ra được X = X’ Xk
-So sánh đồng thời: Là phép so sánh cùng lúc nhiều thời điểm của đại lượng đo
X của mẫu Xk Căn cứ vào các thời điểm trùng nhau mà tìm ra các đại lượng cần đo
-So sánh không đồng thời: Đầu tiên dưới tác động của đại lượng đo X gây ramột trạng thái nào đó trong thiết bị đo Sau đó thay X bằng đại lượng mẫu XK bằngcách thay đổi đại lượng mẫu Xk sao cho trong thiết bị đo cũng gây ra đúng trạng thái
đó như khi X tác động X = XK
1.1.3 Các đặc trưng của kỹ thuật đo lường
a) Đại lượng đo (hay còn gọi là tín hiệu đo)
Theo tính chất thay đổi của đại lượng đo ta có thể chia chúng thành hai loại:
- Đại lượng tiền đo tiền định: Là đại lượng đo đã biết trước quy luật thay đổitheo thời gian của chúng nhưng một hay nhiều thông số của chúng chưa biết phải cần
đo Ví dụ như tín hiệu hình sin
Trang 10- Đại lượng đo ngẫu nhiên: Là đại lượng đo mà sự thay đổi theo thời gian khôngtheo một quy luật nào cả nếu ta lấy bất kỳ giá trị nào của tín hiệu thì ta đều nhận đượcmột đại lượng ngẫu nhiên.
Theo cách biến đổi tín hiệu đo ta có thể chia thành hai loại sau:
- Tín hiệu đo liên tục hay tín hiệu đo tương tự
- Tín hiệu đo rời rạc hay tín hiệu đo số (Digital)
Theo bản chất của đại lượng đo ta có thể chia thành bốn loại sau:
- Đại lượng đo năng lượng
- Đại lượng đo thông số
- Đại lượng đo phụ thuộc thời gian
- Các đại lượng đo không điện
b) Điều kiện đo
Các thông tin đo lường bao giờ cũng gắn chặt với môi trường sinh ra đại lượng
đo Khi tiến hành đo ta phải tính đến những ảnh hưởng của môi trường đến kết quả đo
c) Đơn vị đo không điện
Để nhiều quốc gia có thể sử dụng một hệ thống đơn vị duy nhất, người ta đãthành lập hệ thống đơn vị quốc tế SI-1960 Trong hệ đó các đơn vị đo nhiệt độ, áp suất
và lưu lượng cụ thể quy định như sau:
- Đơn vị nhiệt độ là: Kelvin (K), Celsius (C), Fahrenheit (F)
- Đơn vị áp suất là: Pascal (Pa), Bar (B), Kg / cm2, Atmosphe (Atm), mmH2O,mmHg, mBar và Psig
- Đơn vị lưu lượng: L/min, L/sec, m3 / min
d) Một số thuật ngữ trong kĩ thuật đo lường
Mẫu
Là thiết bị đo để khôi phục một đại lượng vật lý nhất định Những dụng cụ mẫuphải có độ chính xác rất cao từ 0.001% 0.1% tuỳ theo từng cấp, từng loại
Dụng cụ đo lường điện
Là dụng cụ đo lường bằng điện để gia công các thông tin đo lường, tức là tínhiệu điện có quan hệ hàm với các đại lượng vật lý cần đo Tuỳ theo cách biến đổi tínhiệu và chỉ thị ta có thể phân thành hai loại dụng cụ đo như sau:
Trang 11- Dụng cụ đo tương tự là dụng cụ đo mà giá trị của kết quả đo thu được là mộthàm liên tục của quá trình thay đổi đại lượng đo (dụng cụ đo kim chỉ, dụng cụ đo tựghi).
- Dụng cụ đo chỉ thị số là dụng cụ đo mà kết quả đo được hiện ra bằng số
Chuyển đổi đo lường
Là loại thiết bị để gia công tín hiệu thông tin đo lường để tiện cho việc truyền,biến đổi, gia công tiếp theo, cất giữ nhưng không cho ra kết quả trực tiếp Có hai loạichuyển đổi đó là:
Chuyển đổi các đại lượng điện thành các đại lượng điện khác (các bộ phân áp,phân dòng, biến áp)
Chuyển đổi các đại lượng không điện thành các đại lượng điện (các chuyển đổinhiệt trở, quang điện)
Hệ thống thông tin đo lường
Là tổ hợp các thiết bị đo và những thiết bị phụ để thu thập số liệu từ nhiềunguồn khác nhau, truyền các thông tin đo lường qua khoảng cách theo kênh liên lạc vàchuyển nó về một dạng để tiện cho việc điều khiển Có thể phân hệ thống thông tin đolường thành nhiều nhóm:
- Hệ thống đo lường: Đo và ghi lại đại lượng đo
- Hệ thống kiểm tra tự động: Kiểm tra các đại lượng đo
- Hệ thống chuẩn đoán kỹ thuật: Kiểm tra và chỉ ra chỗ hỏng
- Hệ thống nhận dạng: Kiểm tra, phân loại đối tượng
- Tổ hợp đo lường tính toán: Kiểm tra, tính toán, nhận dạng, chuẩn đoán và điềukhiển đối tượng
1.1.5 Phân loại dụng cụ đo
Dụng cụ đo lường điện có thể phân loại theo nhiều cách như sau:
Theo cách biến đổi chia thành các loại sau:
- Dụng cụ đo biến đổi thẳng là dụng cụ đo mà đại lượng cần đo X được biến đổithành đại lượng ra Y theo một đường thẳng, nghĩa là không có khâu phản hồi
- Dụng cụ đo biến đổi kiểu bù là loại dụng cụ đo sử dụng khâu phản hồi với cácchuyển đổi ngược, đại lượng đầu ra Y thành đại lượng bù Xk, bù với tín hiệu cần đo X
Theo phương pháp so sánh đại lượng đo chia thành:
Trang 12- Dụng cụ đo kiểu đánh giá trực tiếp là loại dụng cụ đã được khắc độ theo đơn
vị của đại lượng đo từ trước, khi đo đại lượng đã được so sánh với nó để cho ra kếtquả
- Dụng cụ đo kiểu so sánh là loại dụng cụ đo mà việc so sánh được thực hiệnqua mỗi lần đo
Theo loại đại lượng đo có thể chia thành các loại dụng cụ mang tên đại lượng đo đómang tên đại lượng đo đó Ví dụ như vônmét, ômmét, ampe mét
Theo mục đích sử dụng có thể chia thành dụng cụ đo để bàn hay xách tay
Theo mức độ bảo vệ có thể chia thành:
- Dụng cụ kín chống thấm nước
- Dụng cụ kín bụi
- Dụng cụ chống va đập
1.1.6 Các đặc tính cơ bản của dụng cụ đo
a) Sai số của dụng cụ đo
- Sai số hệ thống: Còn gọi là sai số cơ bản và sai số mà giá trị của nó luôn luônkhông đổi hay thay đổi có quy luật
- Sai số ngẫu nhiên: Là sai số mà giá trị của nó thay đổi ngẫu nhiên do các thayđổi của môi trường bên ngoài (áp suất, nhiêt độ) Sai số này còn gọi là sai số phụ
b) Cấp chính xác của dụng cụ đo
Là giá trị sai số cực đại mà dụng cụ đo mắc phải Người ta quy định cấp chínhxác của dụng đo bằng sai số tương đối quy đổi của dụng cụ đo đó:
% 100
n
m n
X
- Xn: Giá trị cực đại của thang đo
- m: Sai số tuyệt đối cực đại
- Y: Đại lượng đầu ra
- X: Đại lượng đầu vào
Trang 13Nếu F(x) không đổi thì quan hệ vào ra của dụng cụ đo là tuyến tính như thếthang đo sẽ được khắc độ đều Độ nhạy của dụng cụ đo là độ biến thiên tương đốigiữa đại lượng ra và đại lượng vào.
d)Trở kháng thiết bị đo
Trở kháng của dụng cụ đo là công suất tiêu thụ của dụng cụ đo có 2 loại:
- Trở kháng vào: Mỗi dụng cụ đo phải có trở kháng vào của nó Trở kháng đó
có thể lớn hay nhỏ là tuỳ thuộc tính chất đối tượng đo Trở kháng vào phải lớn khi màtín hiệu ra của khâu trước đó dưới dạng áp nghĩa là dòng vào phải nhỏ công suất tiêuthụ phải ít nhất
- Trở kháng ra: Trở kháng ra càng nhỏ thì công suất đo càng lớn
e )Độ tác động nhanh
Là thời gian để xác lập kết quả đo trên chỉ thị đo
f) Cấu trúc chung của dụng cụ đo
Một dụng cụ đo cơ bản bao gồm ba phần chính đó là:Chuyển đổi sơ cấp, Mạch
đo, Cơ cấu chỉ thị
- Chuyển đổi sơ cấp làm nhiệm vụ biến đổi các đại lượng đo thành tín hiệuđiện, đây là khâu quan trọng nhất của dụng cụ đo
- Mạch đo là khâu thu thập, gia công thông tin sau các chuyển đổi sơ cấp Mạch
đo là khâu tính toán, thực hiện các phép tính trên sơ đồ mạch
- Cơ cấu chỉ thị là khâu cuối cùng của dụng cụ đo, nó làm nhiệm vụ thể hiện kếtquả đo lường dưới dạng con số so với đơn vị sau khi qua mạch đo
- Chỉ thị bằng kim chỉ thị đã khắc độ sẵn trên thang đo
- Phương pháp đo được chọn
- Theo cách thể hiện bằng có thể chia thành các loại sau:
- Sai số tuyệt đối: Là hiệu giữa giá trị đại lượng đo X và giá trị thực Xth :
X = X - Xth
Trang 14- Sai số tương đối Yx được tính bằng phần trăm của tỉ số sai số tuyệt đối và giátrị thực, đặc trưng cho chất lượng phép đo.
Yx =
th X
1
Theo nguồn gây ra sai số có thể chia thành các loại sau:
- Sai số phương pháp: Là sai số sinh ra do sự không hoàn thiện của phươngpháp đo và sự không chính xác của biểu thức lý thuyết cho ta kết quả của đại lượng đo
- Sai số thiết bị: Là sai số của thiết bị đo sử dụng trong phép đo, nó liên quanđến cấu trúc và mạch đo của dụng cụ đo không được hoàn chỉnh Tình trạng của dụng
cụ đo cũng ảnh hưởng đến sai số của phép đo
- Sai số chủ quan: Là sai số gây ra do người sử dụng
- Sai số bên ngoài (còn gọi là sai số khách quan): Là sai số gây ra do ảnh hưởngcủa điều kiện bên ngoài lên đối tượng đo
Theo quy luật xuất hiện sai số có các trường hợp sau:
- Sai số hệ thống: Là thành phần sai số của phép đo luôn không đổi hay thay đổicủa quy luật khi đo nhiều lần một đại lượng đo
- Sai số ngẫu nhiên: Là thành phần sai số của phép đo thay đổi không theo mộtquy luật nào cả
1.3 Nhiệt kế điện trở hay RTD
1.3.1 Giới thiệu chung
- Nhiệt kế điện trở gồm có dây kim loại làm từ: Đồng, Nikel, Platinum,…đượcquấn tùy theo hình dáng của đầu đo Khi nhiệt độ thay đổi điện trở giữa hai đầu dâykim loại này sẽ thay đổi, và tùy chất liệu kim loại sẽ có độ tuyến tính trong mộtkhoảng nhiệt độ nhất định.Phổ biến nhất của RTD loại cảm biến Pt, được làm từPlatinum Platinum có điện trở suất cao, chống oxy hóa, độ nhạy cao, dải nhiệt đođược dài Thường có các loại: 100, 200, 500, 1000 ohm tại 00C Điện trở càng cao thì
độ nhạy nhiệt càng cao
- RTD thường có loại 2 dây, 3 dây và 4 dây
Trang 15 Lưu ý khi sử dụng:
Loại RTD 4 dây giảm điện trở dây dẫn đi 1/2, giúp hạn chế sai số.Cách sử dụng của RTD khá đơn giản Chúng ta có thể nối thêm dây cho loại cảm biếnnày (hàn kĩ, chất lượng dây tốt, có chống nhiễu) Vì là biến thiên điện trở nên khôngquan tâm đến chiều đấu dây
1.3.2 Cơ sở nguyên lý và cấu trúc
Mối quan hệ giữa điện trở và nhiệt độ được xác định bằng biểu thức:
Rv = R0 (1 + T)Trong đó Rv = Giá trị điện trở tại nhiệt độ v
R0 = Giá trị điện trở tại nhiệt độ v = 0o C
= Hệ số điện trở nhiệt (1/K); phụ thuộc vào vật liệu và kíchthước của điện trở nhiệt
T = Độ lệch nhiệt độ so với 0o
C
a) Điện trở quấn dây đơn b) Điện trở quấn dây kép
Hình 1.3: Hình dạng cơ bản của nhiệt kế điện trở
1.3.3 Các dạng mắc mạch cơ bản
Có 3 dạng mắc mạch cơ bản đối với nhiệt kế điện trở như sau:
Hình 1.4: Các dạng kết nối cơ bản
Trang 16Cả hai dạng 2 dây nối và 3 dây nối có thể tạo thành mạch cầu Wheatstone Vớiloại 2 dây nối, điện trở dây nối RL khi nhiệt độ thay đổi nó sẽ làm ảnh hưởng đến kếtquả của phép đo Nếu như nó thoả mãn điều kiện Rv >> RL thì sai số trong phép đo củamọi ứng dụng có thể được bỏ qua.
Đối với loại 4 dây nối Nó làm việc theo mối quan hệ giữa dòng điện và điện
áp Dòng điện được giữ nguyên không thay đổi chạy qua cảm biến lúc đó giá trị củađiện áp phụ thuộc vào giá trị điện trở của cảm biến theo một hàm bậc nhất
1.3.4 Cảm biến nhiệt độ sử dụng trong đề tài
Cảm biến sử dụng trong đề tài là PT100 với R0 = 100, hệ số điện trở nhiệttrong khoảng từ 0 đến 1000C là = 0.00385 (1/K) Dải nhiệt đô đo được là từ
-2000C đến 6500C (Class A) và có thể lên đến 8500C (Class B) Tuy nhiên ở dải nhiệt
độ càng cao thì độ chính xác càng giảm, sau đây là bảng một số giá trị nhiệt độ và điệntrở cơ bản của PT100:
Bảng 1.1: Một số giá trị nhiệt độ và điện trở cơ bản của PT100
CHƯƠNG 2 PHƯƠNG PHÁP XỬ LÝ THÔNG TIN ĐO ĐỂ HẠN CHẾ SAI SỐ
2.1 Đặt vấn đề
Trong nhiều bài toán kỷ thuật, ta phải tìm các trị y tại các điểm x bên trong đoạn [xi,xi+1], hoặc khi quan hệ giải tích y = f(x) đã có sẳn nhưng phức tạp, hoặc cần tìm đạo hàm, tích phân của hàm số,.…Khi đó ta dùng phép nội suy để dễ dàng tính toán
mà vẫn đảm bảo độ chính xác theo yêu cầu của thực tế.Có rất nhiều phương pháp nội suy đa thức như: nội suy Lagarnge,phướng pháp sai phân Newton,nội suy spline ghép trơn bậc 3.Trong đề tài này chúng em chọn phương pháp nội suy Splien ghép trơn bậc
Trang 173 trên từng đoạn [Xi,Xi+1].Tuy nhiên với sự lựa chọn hàm nội suy Spline thì việc tính toán la hơi phức tạp,vì nghiệm của phương trình bậc 3 phải tính toán bằng phương pháp tìm nghiệm gần đúng.Với hàm nội suy Spline cho ta tính toán dễ dàng và chính xác giá trị trên từng khoảng nội suy và sát với nhiều bài toán thực tế.
Thông thường trong một số lĩnh vực như kinh tế chẳng hạn,các đại lượng khảo sát thường không được cho dưới dạng hàm liên tục,mà là bảng các giá trị rời rạc Các phương pháp giải tích toán học thường tính toán với các hàm cho bởi các công thức,
do đó không thể áp dụng trực tiếp để nghiên cứu các hàm cho dưới dạng rời rạc như thế này Cũng có khi ta biết rằng đại lượng y là một hàm của đại lượng x, tức là y = f(x), nhưng ta không biết biểu thức hàm f(x) mà chỉ biết một số giá trị yi tương ứng với các giá trị của x tại các điểm xi như trong bảng sau:
Thông thường thì x0 < x1 < x2 < < xn và các điểm này có thể phân
bố cách đều hoặc không Mặc dầu ta chỉ biết các giá trị của y tại các điểm mốc xi,nhưng trong nhiều trường hợp ta cần tính toán với các giá trị y tại các vị trí kháccủa x Một câu hỏi đặt ra là: cho một điểm x không thuộc các điểm xi cho ở trên,làm thế nào chúng ta có thể tính được giá trị y tương ứng với nó, sao cho chúng ta cóthể tận dụng tối đa các thông tin đã có?
Bài toán nội suy là bài toán tìm giá trị gần đúng của y tại các điểm nằm giữacác giá trị x không có trong bảng trên Nếu cần tìm các giá trị gần đúng của y tại cácđiểm x nằm ngoài khoảng
[x0,xn] thì bài toán được gọi là bài toán ngoại suy Một bộ n+1 cặp các giá trị đãbiết của x và y: (x0,y0), (x1,y1), ,(xn,yn) được gọi là một mẫu quan sát, còn x0,x1, , xn được gọi là các điểm quan sát và y0, y1, , yn là các kết quả quan sát
X0 X1 X2 X3 … … … … Xn-1 Xn
Y0 Y1 Y2 Y3 … … … … Yn-1 Yn
Trang 18Vì bài toán của chúng ta không chỉ giải quyết với một giá trị x cụ thể, mà là
cả một miềm giá trị nào đó của x Do đó câu hỏi trên cũng tương đương với vấn đềsau: hãy tìm một hàm g(x) sao cho miền giá trị của nó chứa các điểm (x0, x1, ,xn) và hàm này xấp xỉ tốt nhất tập số liệu đã có là các cặp (x0,y0), (x1,y1), ,(xn,yn) theo một nghĩa nào đó Chúng ta thấy ngay là tập số liệu là hữu hạn, còn tậpcác giá trị cần ước lượng là vô hạn, nên sẽ có vô số hàm g(x) nếu chúng ta không đưa
ra một số ràng buộc nào đó về g(x) Điều đầu tiên chúng ta quan tâm là nên chọndạng hàm g(x) như thế nào
Một cách tự nhiên,ta có thể đặt điều kiện về hàm g(x) như sau:
• g(xi) i =0,1,2, ,n gần các điểm yi nhất theo một nghĩa nào đó
• g(x) là duy nhất theo một số điều kiện nào đó
• Hàm g(x) lien tục,không có điểm gấp khúc và ít thay đổi trong từng đoạn[xi,xi+1]
Các định lý về xấp xỉ sau đây của Weierstrass sẽ cho chúng ta gợi ý về dạng hàmcủa g(x)
Cho f (x) là một hàm thực liên tục xác định trên khoảng [-π,π] và f(-π) = f(π) Khi
đó với mọi ε>0 tồn tại một đa thức lượng giác
Trang 19a m
qm(x) = 0 + ∑ [aj cos(jx) + bj sin(jx)]
2 j=1
với các hệ số thực sao cho với mọi giá trị x∈[-π,π] ta có |f(x) - q(x)|<ε
Từ các định lý trên đây ta thấy rằng chọn đa thức là thích hợp cho dạng hàm g(x).
Đa thức là hàm quen thuộc và ta đã biết nhiều tính chất của nó
Người ta thường dùng các phương pháp xấp xỉ sau để xác định đa thức p(x):
Nếu ta biết rằng các cặp giá trị (x0,y0), (x1,y1), , (xn,yn) là thể hiện của mộthàm f(x) nào đó, tức là ta biết rằng y=f(x) và như vậy tại các điểm xi, i=0,1, ,n yi
= f(xi) Trong trường hợp này ta đòi hỏi đa thức p(x) phải đi qua các điểm (xi,yi),i=0,1, ,n
Bài toán nội suy bây giờ có thể phát biểu cụ thể hơn như sau:
Cho một mẫu quan sát gồm n+1 cặp các giá trị đã biết của x và y : (x0,y0),(x1,y1), ,(xn,yn) Hãy xây dựng một đa thức bậc m ≤ n
pm(x) = a0 + a1x1 + am-1xm-1 + amxm
sao cho pm(xi) = yi , i = 0, 1, , n
Người ta gọi bài toán trên đây là bài toán nội suy đa thức, và đa thức pm(x) được gọi là đa thức nội suy.Trong một số ứng dụng vật lý ta gặp các hiện tượng có tính
chất tuần hoàn Khi đó đa thức lượng giác tỏ ra thích hợp hơn trong bài toán nội suy
Và trong bài toán trên đa thức pm(x) được thay bằng đa thức lượng giác
2.2 Phương pháp nội suy Spline
Trong phần trước ta đã xét bài toán nội suy dùng đa thức và như ta đã thấy, các
đa thức nội suy thường có bậc là n, trong đó n+1 là số điểm quan sát Ta có thể nộisuy bằng đa thức bậc m nhỏ hơn n, nhưng như vậy thì ta cũng chỉ dùng đến mẫu
Trang 20quan sát dựa trên m+1 điểm là (x0,y0), (x1,y1), ,(xm,ym) và như thế chỉ nộisuy được giá trị của hàm tại các điểm x ∈ [x0,xm] Điều này tỏ ra không đượcphù hợp với thực tế cho lắm Thật vậy, giả sử trong thực tế hàm f(x) là một đathức bậc 3 nhưng vì ta không biết điều này nên phải dùng đa thức nội suy Theo mộtcách tự nhiên, ta nghĩ rằng nếu có càng nhiều thông tin thì ta càng giải quyết bài toántốt hơn Nghĩa là nếu có càng nhiều điểm quan sát thì kết quả của chúng ta càng gầnvới thực tế hơn Tuy nhiên nếu dùng đa thức nội suy như kiểu chúng ta vừa khảo sátthì không có được như điều chúng ta mong đợi Mặc dầu dạng thật của đa thức làbậc 3, nhưng nếu dùng 5 điểm quan sát thì ta phải tính các hệ số đa thức bậc 4, 10điểm thì ta phải tính toán với đa thức bậc 9, nghĩa là càng dùng nhiều điểm thì tacàng đi xa thực tế hơn Phép nội suy đa thức còn có một nhược điểm nữa là sốlượng phép tính cần thực hiện phụ thuộc rất nhiều vào cỡ của mẫu quan sát Trong
kỹ thuật truyền thông chẳng hạn, việc chuyển đổi một tín hiệu số có hàng ngàn điểmquan sát sang dạng tương tự là vấn đề thường gặp Thế nhưng chỉ cần nội suy đathức cho 101 điểm quan sát ta đã phải dùng đến đa thức bậc 100, và việc dùng đathức bậc 100 để tính toán cho các điểm còn lại là một việc tiêu tốn tài nguyên máymột cách quá lãng phí Vì vậy có thể nói rằng phép nội suy đa thức chỉ có ý nghĩa lýthuyết mà thôi, trong thực tế hầu như người ta không dùng đến
Để tìm kiếm một cách nội suy gần với thực tế hơn, chúng ta hãy bắt đầu bằngmột thao tác đơn giản mà chúng ta hay thực hiện hồi còn học phổ thông Khi vẽ một
đồ thị hàm số nào đó, đầu tiên ta vẽ các điểm rời rạc, và vẽ được càng nhiều điểmcàng tốt Sau đó ta dùng bút nối các điểm đó với nhau, nhưng ta không nối bằngthước kẻ, mà nối bằng bút và sự quan sát bằng mắt sao cho các đoạn nối các điểmthành một đường mịn, không bị gãy khúc
Những người chuyên vẽ sơ đồ thiết kế dùng một thiết bị cơ học gọi làspline để vẽ các đường cong đẹp, có thẩm mỹ: người vẽ xác định tập hợp cácđiểm (nút) rồi bẻ cong một giải plastic hay thanh gỗ linh hoạt (spline) quanhchúng và lấy vết chúng để tạo thành một đường cong Nội suy spline về mặt toánhọc tương đương với tiến trình này và cho ra cùng một kết quả
Khớp đường cong có ứng dụng hiển nhiên trong sự phân tích các dữ liệu thuộc thínghiệm và còn nhiều ứng dụng khác nữa…Ví dụ, nó có thể dùng trong đồ hoạ máy
Trang 21tính để sản sinh ra đường cong “coi được” mà không cần pảhi lưu một số lượng lớncác điểm vẽ Một ứng dụng có liên hệ là dùng chỉnh đường cong để cho ra một thuậtgiải nhanh trong tính toán giá trị của hàm chưa biết ở một điểm bất kỳ: Giữ một bảngnhỏ chứa các giá trị chính xác, sự hiệu chỉnh đường cong sẽ suy ra các điểm khác.Bài viết này sẽ đề cập tới một trong các phương pháp cơ bản để tiếp cận bài toán này
đó là phương pháp nội suy: tìm một hàm liên tục khớp với các giá trị đã cho.
Các đa thức bậc thấp là những đường cong đơn giản được sử dụng rộng rãi trong nốiđường cong Thay vì dùng các đa thức khác nhau để nối các điểm kề nhau, nối cácđoạn sao cho thật mịn Một trường hợp đặc biệt liên hệ sự tính toán tương đối trực
tiếp, phương pháp này còn gọi là nội suy spline.
Spline là một thiết bị cơ học được người vẽ sơ đồ thiết kế dùng để vẽ các đường congđẹp, có thẩm mỹ: chỉ cần xác định tập hợp các điểm (nút) rồi bẻ cong một giải plastichay miếng gỗ linh hoạt (spline) quanh chúng và lấy vết chúng để tạo thành một đườngcong Nội suy spline thì tương đương về mặt toán học với tiến trình này và cho ra cùngmột kết quả Hình dưới minh hoạ một spline qua 10 điểm
Có thể thấy rằng hình dạng của một đường cong tạo bởi spline giữa hai nút kề nhau làmột đa thức bậc ba Trở lại bài toán nối dữ liệu, điều này có nghĩa là ta nên xem đườngcong là N-1 đa thức khác nhau có bậc ba
si(x) = aix3 + bix2+ cix + di i = 1, 2…N-1
Với si(x) là đa thức bậc ba xác định giữa khoảng xi và xi+1 Spline có thể được biểudiễn trong một mảng bốn chiều (hay trong 4x(N-1) mảng hai chiều) Việc tạo mộtspline gồm việc tính các hệ số a, b,c, d từ các điểm x và các giá trị y đã cho Việc bẻcong một spline về mặt vật lý tương ứng với việc giải hệ phương trình với nghiệm làcác hệ số Ví dụ, Hiển nhiên ta phải có: si(xi) = yi và si+1(xi+1) = yi+1 với i = 1, 2, …, N-1
vì spline phải chạm vác nút Không những nó phải chạm mặt toán học được này nghĩa
Trang 22là các đạo hàm bậc nhất của các đa thức spline phải bằng nhau ở mỗi nút (s’i-1(xi)=s’i(xi) với i=2, 3, …N-1) Thật sự thì các đạo hàm bậc hai của các đa thức cũng phảibằng nhau ở mỗi nút Các điều kiện này cho ra 4N-6 phương trình với 4(N-1) hệ số là
ẩn Cần xác định thêm hai điều kiện nữa để mô tả tình trạng ở hai điểm cuối củaspline Có nhiều cách: dùng cái gọi là spline ‘tự nhiên’ được rút từ s”i(xi) = 0 và s”N-
1(xN) = 0 Các điều kiện này cho ra một hệ đầy đủ 4N-4 phương trình với 4N- 4 ẩn số,
hệ phương trình này giải được bằng phép khử Gauss với ẩn là các hệ số
Tuy nhiên, cũng cùng một spline nhưng có thể tính toán khá hiệu quả hơn vì thật sựchỉ N-2 ẩn: hầu hết các điều kiện của spline là thừa Ví dụ, giả sử pi là đạo hàm bậc haicủa spline tại điểm xi, vì s”i-1(xi) = s”i(xi) = pi với i=2, 3, …, N-1 và pi= pN = 0 nếu biếttrước các giá trị pi và pN, thì tất cả các hệ số a, b, c, d có thể được tính trên các đoạnspline, vì ta có bốn phương trình với bốn ẩn số trên các đoạn: với i=1, 2, …,N-1 taphải có:
si(xi) = yi ; si(xi+1) = yi+1 ; s”i(xi) = pi ; s”i(xi+1) = pi+1
Các giá trị x, y đã cho trước, để xác định đầy đủ spline chỉ cần tính các giá trị p2, …,
pN Để tính được, dùng điều kiện đạo hàm bậc nhất phải bằng nhau: có N-2 điều kiệnứng với N-2 phương trình cần để giải N-2 ẩn, theo pi Để diễn tả các hệ số các hệ số a,
b, c, d theo p, các giá trị đạo hàm bậc hai, ta thay các biểu thức vào bốn phương trìnhtrên trên mỗi đoạn spline, điều này dẫn đến một số biểu thức phức tạp không cần thiết.Thay vì diễn tả các phương trình trên từng đoạn spline ở dạng chuẩn liên hệ đến ít ẩn
số hơn Nếu ta thay các biến là t = (x-xi)/(xi+1-xi) thì spline được biểu diễn như sau:
si(t) = tyi+1 + (1-t)yi + (xi+1 -xi)2((t3- t)pi+1 – ((1-t)3 – (1-t)pi)/6
bây giờ mỗi spline được xác định trên đoạn [0,1] Phương trình này đơn giản hơn làhình thức bên ngoài của nó, vì ta chỉ quan tâm đến hai điểm nút 0 và 1 và hoặc t hoặc(1-t) bằng 0 ở những điểm mút này Cách biểu diễn này dễ kiểm spline được nội suy
và liên tục vì si-1(1) = si(0) = yi với i = 2,…, N-1, nó chỉ hơi khó chứng minh bậc hailiên tục vì s”i(1) = s”i+1(0)= pi+1 Có các đa thức bậc ba thoả những điều kiện này tại cácđiểm mút, vì thế chúng tương đương với các đoạn spline mô tả ở trên Nếu ta thaythành t và tìm hệ số của x3,… thì ta sẽ có cùng biểu thức ẩn là a, b, c, d theo x, y và p
Trang 23giống như ta dùng phương pháp được mô tả ở đoạn trước Nhưng không có lý do gìlàm như vậy, vì ta đã kiểm rằng các đoạn spline này thoả các điều kiện cuối, và có thểlượng giá từng spline ở bất kỳ điểm nào trong đoạn của nó bằng cách tính t và dùngcông thức trên (khi đã biết p).
Để tính p, ta gán các đạo hàm cấp một của các đoạn spline bằng các điểm cuối Đạohàm cấp 1 (theo x) của các phương trình trên là:
s’i(t) = zi + (xi+1 - xi)((3t2 - 1)pi+1– (3(1-t)2 – 1)pi)/6
Trong đó zi= (yi+1 - yi)/(xi+1 - xi) Kế đến gán s’i-1(1) = s’i(0) với i = 2…N-1, ta sẽ có hệN-2 phương trình:
(xi-xi-1)pi-1 + 2(xi+1 – xi-1)pi + (xi+1 - xi)pi+1 = 6(zi – zi-1)
Hệ phương trình này thuộc dạng tam giác đơn giản dùng phép khử Gauss để giải Ví
dụ, nếu đặt ui = xi+1– xi, di = 2(xi+1 – xi-1), và wi = 6(zi – zi+1), ta có hệ phương trình vớiN=7:
Thật sự, hệ tam giác đối xứng này có nửa dưới bằng với nửa trên của đường chéochính Nó được xoay trên phần tử có sẵn lớn nhất nếu khong cần tìm lời giải đúng cho
Trang 24- Đối với PTĐ đại lượng không điện có hướng, sử dụng biến đổi lặp và dùngmẫu sơ cấp kết hợp với nội suy cho phép giảm sai số biến đổi Nếu hàm biến đổi củaBĐĐLSC là đa thức bậc nhất và sai số biến đổi là đa thức bậc 2, và ngược lại hàmbiến đổi của BĐĐLSC là đa thức bậc 2 và sai số biến đổi là đa thức bậc nhất thì sai sốbiến đổi được loại trừ và nhận được thang đo tuyến tính Nếu sai số biến đổi sơ cấp vàthứ cấp là đa thức bậc 2, hàm biến đổi của BĐĐLSC dạng phức tạp: đa thức bậc 2, bậc
3, hàm mũ, hàm khắc độ thực tế thì kết quả đo nhận được với sai số được giảm nhỏ
- Đối với PTĐ đại lượng không điện có hướng ta có thể sử dụng BĐĐLSC vớihàm biến đổi không tường minh Quá trình đo lặp lại mẫu và nội suy cho phép xácđịnh mối quan hệ giữa đại lượng cần đo và chỉ thị thứ cấp trong toàn bộ dải đo
Trang 25CHƯƠNG 3 CÁC BỘ BIẾN ĐỔI VÀ XỬ LÝ DỮ LIỆU 3.1 Họ vi điều khiển PIC
3.1.1 Giới thiệu chung về họ vi điều khiển PIC
a) PIC là gì?
PIC là chữ viết tắt của “Programmable Intelligent Computer”, có thể tạm dịch
là “Máy tính khả trình thông minh” là một sản phẩm của hãng General Instrumentsđặt cho dòng sản phẩm đầu tiên của họ là PIC1650 được dùng để giao tiếp với cácthiết bị ngoại vi cho máy chủ 16bit CP1600 Vi điều khiển này sau đó được nghiên cứuphát triển thêm và từ đó hình thành nên dòng vi điều khiển PIC ngày nay
b) Ưu nhược điểm của PIC so với các vi điều khiển khác
Hiện nay trên thị trường có rất nhiều họ vi điều khiển như : 8051, Motorola68H, AVR, ARM,… Ngoài họ 8051 được hướng dẫn một cách căn bản ở môi trườngđại học, chúng em muốn chọn họ vi điều khiển PIC để mở rộng vốn kiến thức và pháttriển các ứng dụng trên công cụ này vì các nguyên nhân sau:
- Họ vi điều khiển này có thể tìm mua dễ dàng ở Việt Nam
- Giá thành không quá đắt
- Có đầy đủ các tính năng của một vi điều khiển khi hoạt động độc lập
- Là một sự bổ sung rất tốt về kiến thức cũng như về ứng dụng cho họ vi điềukhiển mang tính truyền thống: họ vi điều khiển 8051
- Hiện nay ở Việt Nam cũng như trên thế giới, họ vi điều khiển PIC được sửdụng khá rộng rãi Điều này tạo nhiều thuận lợi trong quá trình tìm hiểu và phát triểncác ứng dụng như: số lượng tài liệu, số lượng các ứng dụng mở đã được phát triểnthành công, dễ dàng trao đổi, học tập, và tìm được sự chỉ dẫn khi gặp khó khăn,…
- Sự hỗ trợ của nhà sản xuất về trình biên dịch, các công cụ lập trình, nạpchương trình từ đơn giản đến phức tạp,…
- Các tính năng đa dạng của PIC không ngừng được phát triển
c) Các dòng PIC và cách lựa chọn vi điều khiển PIC
Các kí hiệu của vi điều khiển PIC:
- PIC12xxxx: độ dài lệnh 12 bit
- PIC16xxxx: độ dài lệnh 16 bit
- PIC18xxxx: độ dài lệnh 18 bit
Trang 26- C: PIC có bộ nhở EPROM (chỉ có 16C84 là EEPROM)
- F: PIC có bộ nhớ flash
LF: PIC có bộ nhớ flash hoạt động ở điện áp thấp
LV: tương tự như LF, đây là kiểu cũ
Bên cạnh đó một số vi điều khiển có kí hiệu xxFxxx là EEPROM, nếu có thêmchữ A ở cuối thì là flash (ví dụ PIC16F877 là EEPROM, còn PIC16F877A là flash).Ngoài ra còn có thêm một dòng vi điều khiển PIC mới là dsPIC
Ở Việt Nam phổ biến nhất là các họ vi điều khiển PIC do hãng Microchip sản xuất
d) Cách lựa chọn một vi điều khiển PIC phù hợp
Trước hết cần chú ý đến số chân của vi điều khiển cần thiết cho ứng dụng Cónhiều vi điều khiển PIC với số lượng chân khác nhau, thậm chí có vi điều khiển chỉ có
8 chân, ngoài ra còn có các vi điều khiển 28, 40, 44,…chân
Cần chọn vi điều khiển PIC có bộ nhớ flash để có thể nạp xóa chương trình được nhiềulần hơn
Tiếp theo cần chú ý đến các khối chức năng được tích hợp sẵn trong vi điềukhiển, các chuẩn giao tiếp bên trong
Sau cùng chú ý đến bộ nhớ chương trình mà vi điều khiển có thể cho phép
3.1.2 Vi điều khiển PIC16F877A
Sơ đồ chân vi điều khiển PIC16F877A được trình bày ở hình 3.1
3.1.2.1 Một vài thông số về vi điều khiển PIC16F877A
Các đặc tính ngoại vi bao gồm các khối chức năng sau:
- Timer0: 8 bít của bộ định thời, bộ đếm với hệ số tỷ lệ trước
- Timer1: 16 bít của bộ định thời, bộ đếm với hệ số tỷ lệ trước, có khả năngtăng trong khi ở chế độ Sleep qua xung đồng hồ được cung cấp bên ngoài
- Timer 2: 8 bít của bộ định thời, bộ đếm với 8 bít của hệ số tỷ lệ trước, hệ số tỷ
lệ sau
- Có 2 chế độ bắt giữ, so sánh, điều chế độ rộng xung(PWM)
- Chế độ bắt giữ với 16 bít, với tốc độ 12.5 ns, chế độ so sánh với 16 bít, tốc độgiải quyết cực đại là 200 ns, chế độ điều chế độ rộng xung với 10 bít
- Bộ chuyển đổi tín hiệu số sang tương tự với 10 bít
- Cổng truyền thông nối tiếp SSP với SPI phương thức chủ và I2C(chủ/phụ)
Trang 27- Bộ truyền nhận thông tin đồng bộ, dị bộ(USART/SCL) có khả năng phát hiện
- Bộ nhớ flash có khả năng ghi xóa được 100.000 lần
- Bộ nhớ EEPROM với khả năng ghi xóa được 1000.000 lần
- Dữ liệ bộ nhớ EEPROM có thể lưu dữ trên 40 năm
- Khả năng tự nạp chương trình với sự điều khiển của phần mền
Trang 28- Nạp được chương trình ngay trên mạch điện ICSP (In Circuit SerialProgramming) thông qua 2 chân.
- Watchdog Timer với bộ dao động trong
- Chức năng bảo mật mã chương trình
- Chế độ Sleep
- Có thể hoạt động ở nhiều dạng Oscillator khác nhau
Sơ đồ khối vi điều khiển PIC16F877A
Hình 3.2: Sơ đồ khối vi điều khiển PIC16F877A
Trang 29Như vậy bộ nhớ chương trình có khả năng chứa được 8*1024 = 8192 lệnh (vìmột lệnh sau khi mã hóa sẽ có dung lượng 1 word hay 14 bit).
Để mã hóa được địa chỉ 8K word bộ nhớ chương trình, bộ đếm chương trình códung lượng 13bit (PC<12:0>)
Khi vi điều khiển được reset, bộ đếm chương trình sẽ chỉ đến địa chỉ 0000h(Reset Vector) Khi có ngắt xảy ra, bộ đếm chương trình sẽ chỉ đến địa chỉ 0004h(Interrupt vector)
Bộ nhớ chương trình không bao gồm bộ nhớ stack và không được địa chỉ hóabởi bộ đếm chương trình Bộ nhớ stack sẽ được đề cập trong phần sau
Trang 30b) Bộ nhớ dữ liệu
Bộ nhớ dữ liệu của PIC là bộ nhớ EEPROM được chia thành nhiều Bank Đốivới PIC16F877A bộ nhớ dữ liệu được chia làm 4 Bank Mỗi bank có dung lượng 128byte, bao gồm các thanh ghi có chức năng đặc biệt SFG (Special Function Register)nằm ở các vùng đụa chỉ thấp và các thanh ghi mục đích chung GPR (General PurposeRegister) nằm ở vùng địa chỉ còn lại trong bank Các thanh nghi SFR thường xuyênđược sử dụng (ví dụ như thanh ghi STATUS) sẽ được đặt ở tất cả các bank của bộ nhớ
dữ liệu giúp thuận tiện trong quá trình truy suất và làm giảm bớt lệnh của chươngtrình Sơ đồ cụ thể của bộ nhớ dữ liệu PIC16F877A như sau:
Hình 3.4: Sơ đồ bộ nhớ dữ liệu PIC16F877A
Trang 31Đây là các thanh ghi được sử dụng bởi CPU hoặc được dùng để thiết lập vàđiều khiển các khối chức năng được tính hợp bên trong vi điều khiển Có thể phânthanh ghi SFR thành hai loại: thanh ghi SFR liên quan đến các chức năng bên trong(CPU) và thanhghi SFR dung để thiết lập và điều khiển các khối chức năng bên ngoài(ví dụ như ADC, PWM,…) Phần này sẽ đề cập đến các thanh ghi liên quan đến chứcnăng bên trong Các thanh ghi dung để thiết lập và điều khiển các khối chức năng sẽđược nhắc đến khi ta đề cập đến các khối chức năng đó.
- Thanh ghi STATUS: Có bốn thanh ghi trạng thái STATUS ở các địa chỉ 03h,83h, 103h và 183h Các thanh ghi này chứa kết qủa thực hiện phép toán của khốiALU, trạng thái reset và các bit chọn bank cần truy suất trong bộ nhớ dữ liệu
- Các thanh ghi lựa chọn OPTION_REG: Có hai thanh ghi lựa chọn tại các địachỉ 81h và 181h, các thanh ghi này có thể đọc hoặc ghi, nó chứa đựng nhiều bit điềukhiển khác nhau để xác định hệ số định trước TMR0/hệ số định sau WDT, ngắt ngoàiINT, TMR0, các điện áp treo trên cổng B
-Các thanh ghi INTCON: Có 4 thanh ghi INTCON tại các địa chỉ 0Bh,8Bh,10Bh, 18Bh Các thanh ghi này có thể đọc và ghi, nó chứa đựng nhiều sự cho phép vàcác bit cờ cho việc tràn thanh ghi TMR0, các ngắt thay đổi cổng RB và chân các ngắtngoàI RB0/INT
-Thanh ghi PIE1: Tại địa chỉ 8Ch, chứa đựng các bit cho phép riêng lẻ cho cácngắt ngoại vi
- Thanh ghi PIR1: Tại địa chỉ 0Ch, chứa đựng các bit cờ riêng lẻ cho các ngắtngoại vi
Trang 32- Thanh ghi PIE2: Tại địa chỉ 8Dh, chứa đựng các bit cho phép riêng lẻ cho cácngắt ngoại vi CCP2, ngắt xung đột tuyến SSP và EEPROM ghi các hoạt động ngắt
-Thanh ghi PIR2: Tại địa chỉ 0Dh chứa các cờ ngắt của các khối chức năngngoại vi, các ngắt này được cho phép bởi các bit điều khiển chứ trong thanh ghi PIE2
-Thanh ghi PCON (Power Control): Chứa bit cờ cho phép phân biệt giữa việcReset hệ thống (POR) để Reset MCLR ngoại với Reset WDT
-Thanh ghi mục đích chung GPR
Các thanh ghi này có thể được truy suất trực tiếp hoặc gián tiếp thông qua thanhghi FSG (File Select Register) Đây là thanh ghi dữ liệu thông thường, người sử dụng
có thể tùy theo mục đích chương trình mà có thể dung các thanh ghi này để chứa cácbiến số, hằng số, kết quả hoặc các tham số phục vụ cho chương trình
- Stack
Stack không nắm trong bộ nhớ chương trình hay bộ nhớ dữ liệu mà là một vùngnhớ đặc biệt không cho phép đọc hay ghi Khi lênh CALL được thực hiện hay khi mộtngắt xảy ra làm chương trình bị rẽ nhánh, gí trị của bộ đếm chương trình PC tự độngđược vi điều khiển cất vào trong stack Khi một trong các lệnh RETURN, RETLV hayRETFIE được thực thi, giá tri PC sẽ tự động được lấy ra từ trong stack, vi điều khiển
sẽ thực hiện tiếp chương trình theo đúng quy trình định trước
Bộ nhớ stack trong vi điều khiển PIC họ 16F87xA có khả năng chứa được 8 địachỉ và hoạt đọng theo cơ chế xoay vòng Nghĩa là giá trị cất vào bộ nhớ stack lần thứ 9
sẽ ghi đè lên giá trị cất vào stack lần đầu tiên và giá trị cất vào bộ nhớ stack lần thứ 10
sẽ ghi đè lên giá trị cất vào stack lần thứ 2
Cần chú ý là không có cờ hiệu nào cho biết trạng thái stack, do đó ta không biếtđược khi nào stack tràn Bên cạnh đó tập lệnh của vi điều khiển dòng PIC cũng không
có lệnh POP hay PUSH, các thao tác với bộ nhớ stack sẽ hoàn toàn được điều khiển
Trang 33e) Các cổng xuất nhập của PIC16F877A
Cổng xuất nhập (I/O port) chính là phương tiện mà vi điều khiển dùng để tươngtác với thế giới bên ngoài Sự tương tác này rất đa dạng và thông qua quá trình tươngtác đó, chức năng của vi điều khiển được thể hiện một cách rõ ràng
Một cổng xuất nhập của vi điều khiển bao gồm nhiều chân (I/O pin), tùy theocách bố trí và chức năng của vi điều khiển mà số lượng cổng xuất nhập và số lượngchân trong mỗi cổng có thể khác nhau Bên cạnh đó, do vi điều khiển được tích hợpsẵn bên trong các đặc tính giao tiếp ngoại vi nên bên cạnh chức năng là cổng xuất nhậpthông thường, một số chân xuất nhập còn có thêm các chức năng khác để thể hiện sựtác động của đặc tính ngoại vi nêu trên với thế giới bên ngoài Chức năng của từngchân xuất nhập trong mỗi cổng hoàn toàn có thể được xác lập và điều khiển đượcthông qua thanh ghi SFR liên quan đến chân xuất nhập đó
Vi điều khiển PIC16F877A có 5 cổng xuất nhập, bao gồm PORTA, PORTB,PORTC, PORTD, PORTE Cấu trúc và chức năng của từng cổng xuất nhập sẽ được đềcập cụ thể ở phần sau
PORT A
Cổng hai chiều với độ rộng đường truyền là 6 bit Để điều khiển việc truy xuất
dữ liệu người ta dùng thanh ghi TRISA Nếu TRISA = 1 thì lúc này cổng A sẽ tươngứng có các chân là chân vào Nếu TRISA = 0 thì lúc này cổng A sẽ tương ứng có cácchân là chân ra Việc đọc cổng A chính là đọc trạng thái của các chân, trong khi đóviệc viết phải qua việc viết các chốt của cổng Các chân của cổng A chủ yếu được sửdụng với mục đích chính là nhận tín hiệu tương tự hoặc làm các chân vào ra Riêngchân RA4 có thể đa hợp với chân vào bộ Timer 0 và khi đó nó trở thành chânRA4/T0CKI Chân này như một đầu vào của Schmitt Trigger và nó mở đầu ra Cácchân khác của cổng A là chân vào với bộ TTL Việc điều khiển các chân này thôngqua việc đặt hay xoá các bít của thanh ghi ADCON1 Thanh ghi TRISA điều khiểntrực tiếp các chân của cổng A, khi sử dụng các chân này để nhận tín hiệu tương tự vào
ta phải chắc chắn rằng các bit của thanh ghi TRISA đã được đặt rồi
PORT B
Cổng B là cổng hai chiều với độ rộng đường truyền là 8 bit.Tương ứng với nó
để điều khiển trực tiếp dữ liệu ta sử dụng thanh ghi TRISB Nếu TRISB = 1 thì lúc nàycác chân của cổng B được định nghĩa là chân vào Nếu TRISB = 0 thì lúc này các chân
Trang 34của cổng B được định nghĩa là chân ra Nội dung của chốt ra có thể chọn trên mỗichân.
Có 3 chân của cổng B có thể đa hợp với các chương trình vận hành bằng điện
áp thấp Đó là các chân sau: RB3/PGM, RB6/PGC, RB7/PGD Sự thay đổi hoạt độngcủa những chân này được miêu tả ở trong phần đặc tính nổi bật Mỗi chân của cổng B
có một khả năng dừng bên trong nhưng yếu Điều này được trình bày bởi việc xoá bítRBPU (bit 7 của thanh ghi OPTION_REG) Khả năng dừng này sẽ tự động tắt đi khicác chân của cổng được định nghĩa là chân ra và sẽ tự động mất đi khi ta RESET.Bốn chân của cổng B, từ RB7 đến RB4 có đặc tính là ngắt khi thay đổi trạng thái Chỉnhững chân được định dạng là những chân vào thì ngắt này mới tồn tại
PORT C
PORT C có độ rộng là 8 bit, là port hai chiều Thanh ghi dữ liệu trực tiếp tươngứng là TRISC Cho tất cả các bit của TRISC là 1 thì các chân tương ứng ở PORTC làngõ vào Cho tất cả các bit của TRISC là 0 thì các chân tương ứng ở PORTC là ngõ ra.PORTC được đa hợp với vài chức năng ngoại vi, những chân của PORTC có đệmTrigger Schmitt ở ngõ vào
Bên cạnh đó PORTC còn chứa các chân chức năng của bộ so sánh, bộ Timer1,
bộ PMW và các chuẩn giao tiếp nối tiếp I2C, SPI, USART
PORT D
PORTD là port 8 bit với đệm Trigger Schmitt ở ngõ vào Mỗi chân có thể đượccấu hình riêng lẻ như một ngõ vào hoặc ngõ ra PORTD có thể được cấu hình như portcủa bộ vi xử lý rộng 8 bit (parallel slave port) bằng cách đặt bit điều khiển PSPMIDE(TRISE <4>) Trong chế độ này, đệm ở ngõ vào là TTL
PORT E
Cổng E có 3 chân là RE0/RD/AN5, RE1/WR/AN6, RE2/CS/AN7 Các chânnày có thể sắp xếp riêng lẻ là các đầu vào hoặc các đầu ra, và các chân có vùng đệmđầu vào là các mạch Schmitt Trigger
Cổng vào/ra E trở thành đầu vào điều khiển cho cổng vi xử lý khi bit
3.1.2.3 Các Bộ Timer của chip
Bộ vi điều khiển PIC16F87X có 3 bộ Timer đó là:Timer0, Timer1, Timer2
a) Bộ Timer 0
Là bộ định thời hoặc bộ đếm có những ưu điểm nổi bật sau:
Trang 35- 8 bit cho timer hoặc bộ đếm
- Có khả năng đọc và viết
- Có thể dùng đồng hồ bên trong hoặc bên ngoài
- Có thể chọn cạnh xung của xung đồng hồ
- Có hệ số chia cho xung đầu vào có thể lập trình lại bằng phần mềm
- Ngắt tràn
Hoạt động của Timer 0
Timer 0 có thể hoạt động như một bộ định thời hoặc một bộ đếm Việc chọn bộđịnh thời hoặc bộ đếm có thể được xác lập bằng việc xoá hoặc đặt bít TOCS của thanhghi OPTION_REG<5> Nếu dùng hệ số chia xung đầu vào thì xoá bit PSA củathanh ghi OPTION_REG<3>
Trong chế độ bộ định thời được lựa chọn bởi việc xoá bit T0CS (OPTIONREG<5>), nó sẽ được tăng giá trị sau một chu kỳ lệnh nếu không chọn hệ số chia xungđầu vào Và giá trị của nó được viết tới thanh ghi TMR0 Chế độ đếm được lựachọn bởi việc set bit T0CS (OPTION REG<5>)
Trong chế độ bộ đếm, nó sẽ được tăng ở xung đi xuống nếu xoá bit T0SE(OPTION_REG<4>) hoặc ở xung đi lên nếu set bit T0SE Và giá trị của nó được viếttới thanh ghi TMR0
Khi dùng xung clock bên ngoài cho bộ định thời Timer0 và không dùng hệ sốchia clock đầu vào Timer0 thì phải đáp ứng các điều kiện cần thiết để có thể hoạt động
đó là phải bảo đảm xung clock bên ngoài có thể đồng bộ với pha xung clock bên trong(TOSC)
Các hệ số chia
Hệ số chia dùng cho Timer 0 hoặc bộ WDT Các hệ số này không có khả năngđọc và khả năng viết Để chọn hệ số chia xung vào Timer0 hoặc cho bộ WDT ta tiếnhành xoá hoặc đặt bít PSA của thanh ghi OPTION_REG<3>
Những bít PS2, PS1, PS0 của thanh ghi OPTION_REG<2:0> dùng để xác lập các hệ
số chia
Trang 36Hình 3.5: Sơ đồ khối của Timer0 và WD
Ngắt của bộ Timer 0
Ngắt của bộ Timer 0 được phát sinh ra khi thanh ghi TMR0 bị tràn tức từ FFhquay về 00h Khi đó bít T0IF của thanh ghi INTCON<2> sẽ được đặt Bít này phảiđược xóa bằng phần mềm nếu cho phép ngắt bit T0IE của thanh ghi INTCON<5>được set Timer0 bị dừng hoạt ở chế độ SLEEP ngắt Timer 0 không đánh thức
bộ xử lý ở chế độ SLEEP
b) Bộ Timer 1
Bộ Timer1 có thể là bộ đếm hoặc bộ định thời với ưu điểm sau:
- 16 bít cho bộ đếm hoặc bộ định thời(gồm hai thanh ghi TMR1H:TMR1L)
Hoạt động của bộ Timer 1
- Nó có thể hoạt động ở một trong các chế độ sau:
Trang 37(T1CON<1>) ở chế độ bộ định thời, đầu vào là clock trong Fosc/4, bit đồng bộT1SYNC(T1CON<2>) không có tác dụng vì clock trong luôn đồng bộ Chế độ bộđếm hoạt động hai chế độ: Có đồng bộ xung vào xoá bit T1SYNC(T1CON<2>),không đồng bộ xung vào set bit T1SYNC(T1CON<2>).
Timer 1 tăng ở sườn lên xung đầu vào Khi bộ dao động Timer1 cho phép hoạtđộng thì các chân RC1/T1OSI/CCP2, RC0/T1OSO/T1CKI trở thành chân vào ở chế
độ đếm có đồng bộ bộ đếm tăng mỗi khi sườn lên ở chân RC0 hoặc ở chân RC1 nếubit T1OSCEN xoá và xung vào phải đồng bộ với clock trong, ở chế độ này bộ đếmkhông tăng trong trang tháI SLEEP ở chế độ đếm không đồng bộ Timer 1 tăng mỗikhi sườn lên ở chân RC0 hoặc ở chân RC1 nếu bit T1OSCEN xoá, ở chế độ này bộđếm tiếp tục tăng trong trạng thái SLEEP và có khả năng tràn gây ra ngắt khi đó bộ sử
lý được đánh thức
Dao động của Timer 1
Mạch dao động thạch anh được xây dựng giữa 2 chân T1OSI và T1OS0 Khidao động được cung cấp ở chế độ công suất thấp thì tần số cực đạt của nó sẽ là200kHz và trong nó ở chế độ SLEEP nó cung cấp ở tần số 32kHz
Ngắt của bộ Timer1
Cặp thanh ghi TMR1H và TMR1L tăng từ giá trị 0000h đến giá trị FFFFh đếngiá trị này tiếp tục tăng thì tràn và quay lại giá trị 0000h Và ngắt xuất hiện khi trànquá giá trị FFFFh khi này cờ ngắt TMR1IF sẽ được đặt Ngắt có thể hoạt
động hoặc không hoạt động nhờ việc đặt hoặc xoá bít TMR1IE
Hình 3.6: Sơ đồ khối Timer1
c) Bộ Timer 2
Bộ Timer2 có những đặc tính sau đây ;
Trang 38- 8 bít cho bộ định thời ( thanh ghi TMR2 ).
TMR2CON của thanh ghi T2CON
Hoạt động của bộ Timer 2
Timer 2 được dùng chủ yếu ở phần điều chế xung của bộ CCP, thanh ghi TMR2
có khả năng đọc và viết, nó có thể xóa bằng việc reset lại thiết bị Đầu vào của xung cóthể chọn các tỷ sau ; 1:1, 1:2 hoặc 1:16 việc chọn các tỷ này có thể điều khiển các bítsau T2CKPS1và bít T2CKPS0
Ngắt của bộ Timer 2
Bộ Timer2 có 1 thanh ghi 8 bít PR2 Timer 2 tăng từ giá trị 00h cho đến khớpvới PR2 và tiếp theo nó sẽ reset lại giá trị 00h và lệnh kế tiếp thực hiện Thanh ghiPR2 là một thanh ghi có khả năng đọc và khả năng viết Thanh ghi PR2 bắt đầu từ giátrị FFh đầu ra của TMR2 là đường dẫn của cổng truyền thông đồng bộ, nó được dùng
để phát các xung đồng hồ
Hình 3.7: Sơ đồ khồi Timer 2
3.1.3 Trình biên dịch CCS cho PIC16F8877A
Trang 39Để lập trình cho PIC, có thể dùng những ngôn ngữ lập trình khác nhau nhưASM, CCS C, HT-PIC, PASCAL,…
Khi viết bằng CCS C thông thường thì dịch ra file.hex có dài hơn so với khiviết bằng ASM Song hai ngôn ngữ CCS C nà HT-PIC được ưa chuộng hơn cả, CCS
C dễ học, gần gũi với ASM
Để lập trình và biên dịch CCS C, dùng chương trình PIC C Complier, sau khisoạn thảo nhấn F9 để dịch, nếu thành công sẽ có thông báo như sau:
và 1 Sau này khi kiến trúc của Vi điều khiển ngày càng phức tạp, số luợng thanh ghilệnh nhiều lên, việc lập trình với dãy các số 0 và 1 không còn phù hợp nữa, đòi hỏi rađời một ngôn ngữ mới thay thế Sau này khi ngôn ngữ C ra đời, nhu cầu dùng ngôn
Trang 40ngữ C đề thay cho ASM trong việc mô tả các lệnh lập trình cho Vi điều khiển mộtcách ngắn gọn và dễ hiểu hơn đã dẫn đến sự ra đời của nhiều chương trình soạn thảo
và biên dịch C cho vi điều khiển: Keil C, HT-PIC, MikroC, CCS…
Trong đề tài này chúng em đã chọn CCS để thực hiện vì CCS là một công cụlập trình C mạnh cho Vi điều khiển PIC Những ưu và nhược điểm của CCS sẽ được
đề cập đến trong các phần dưới đây
Hình 3.9: Code ASM trong CCS
b) Giới thiệu về CCS
CCS là trình biên dịch lập trình ngôn ngữ C cho Vi điều khiển PIC của hãngMicrochip Chương trình là sự tích hợp của 3 trình biên dich riêng biệt cho 3 dòng PICkhác nhau đó là:
- PCB cho dòng PIC 12bit opcodes
- PCM cho dòng PIC 14 bit opcodes
- PCH cho dòng PIC 16 bit và 18 bit
Tất cả 3 trình biên dich này đuợc tích hợp lại vào trong một chương trình baogồm cả trình soạn thảo và trình biên dịch là CCS
Giống như nhiều trình biên dịch C khác cho PIC, CCS giúp cho người sử dụngnắm bắt nhanh được vi điều khiển PIC và sử dụng PIC trong các dự án Các chươngtrình diều khiển sẽ được thực hiện nhanh chóng và đạt hiệu quả cao thông qua việc sửdụng ngôn ngữ lập trình cấp cao – Ngôn ngữ C