Chương 1. Cảm biến nhiệt độ 1 1.2 Cảm biến nhiệt điện trá 1 a. Cảm biến nhiệt điện trá kim loại 1 b. Cảm biến nhiệt điện trá bán dẫn 2 Chương 2.
Vi điều khiển PIC 16F877A 4 2.1 Giới thiệu Vi điều khiển PIC a. Sơ đồ khối vi điều khiển pic16f877a 6 2.2 Đặc điểm biến đổi ADC 7 2.3 Phần mềm thực hiện chương trình nạp cho PIC.1 Chương trình dịch CCS a) Giới thiệu về CCS. 10 b) Tạo một PROJECT sử dāng PIC Wizard c) Tab General 11 d) Tab SPI and LCD 13 e) Tab Timer 14 f) Tab Analog 15 g) Tab Interrupts và Tab Driver 18 Chương 3. Thiết kế hệ thống đo nhiệt độ dùng cảm biến 20 LM335 3.1 Thiết kế phần cāng khối xử lý tín hiệu 21 3.
Thiết kế phần cāng giao tiếp LM335 và Vi điều khiển 22 PIC16F877A 3. Khối hiển thị 23 3.5 Sơ đồ nguyên lý và mạch in hệ thống đo 26 2.6 Lưu đồ thuật toán 27 Kết luận 28 Lßi cảm ơn 29 Phā lāc 1 30 Phā lāc 2 36 Phā lāc 3 39 Tài liệu tham khảo 41 8 Ch°¡ng 1.1 Khái niám Nhiệt độ là đại lưÿng vật lý đưÿc quan tâm nhiều nhất vì nó đóng vai trò quyết định đến nhiều tính chất cÿa vật chất. Để đo nhiệt độ trong hệ thống tự động có nhiều biện pháp khác nhau. Trên cơ sá đó ngưßi ta sử dāng các bộ cảm biến nhiệt độ với nguyên lý làm việc khác nhau.
VD: nhiệt điện trá, nhiệt ngẫu, quang… Thang nhiệt độ: Đưÿc xác định từ các định luật nhiệt động. Thang nhiệt độ nhiệt động tuyệt đối: Thang Kenvin (0K) là nhiệt độ cân bằng cÿa điểm cân bằng 3 trạng thái nước, nước đá và hơi.2 CÁm biÁn nhiát đián trç Cảm biến nhiệt điện trá là cảm biến có điện trá biến đổi theo nhiệt độ Kim loại điện trá biến đổi theo nhiệt độ, thể hiện qua α (hệ số nhiệt điện trá) Phân loại: 3 loại + Cảm biến nhiệt điện trá kim loại + Cảm biến nhiệt điện trá bán dẫn + Nhiệt điện trá a. CÁm biÁn nhiát đián trç kim lo¿i: 9 - Dây kim loại : gồm một sÿi dây kim loại đưÿc dán trên bìa cách điện. Vật liệu thưßng dùng là Pt, Ni, W, Cu.
Khoảng nhiệt độ đo đưÿc: Pt (2000C ÷ 12000C) Ni (-1900C ÷ 2500C) Cu (-500C ÷ 1800C) Khi nhiệt độ θ tăng thì dẫn đến R tăng theo. Qua R đo đưÿc ta xác định đưÿc nhiệt độ qua công thāc: Rñ = R0 (1 + ñ ) (1-3) Để cảm biến có độ nhạy cao ta phải chọn kim loại có điện trá suất (ρ) lớn l R = ò. khi R tăng thì l tăng, q giảm q Điện trá R càng lớn thì độ nhạy càng cao và dải đo càng hẹp.1 Tính chất cÿa một số kim loại - Màng mỏng: dùng để đo nhiệt độ trên bề mặt vật rắn. Khi đo ngưßi ta dán màng mỏng lên bề mặt vật cần đo (mỏng cỡ μm) b.
CÁm biÁn nhiát đián trç bán d¿n Cảm biến nhiệt điện trá silic (bán dẫn) Các vật liệu bán dẫn rất nhạy cảm với nhiệt độ. Do đó ngưßi ta dùng vật liệu bán dẫn để chế tạo cảm biến đo nhiệt độ. 10 Silic tinh khiết có hệ số nhiệt điện trá α < 0, nhưng khi đưÿc tác động á một dải nhiệt độ nào đó thì α > 0 θ < 2000C thì α > 0 θ > 2000C thì α < 0 RT = R0 1 + A(T − T0 ) + B(T − T0 ) 2 (1-4) Trong đó : R0, T0 là điện trá, nhiệt độ á điểm chuẩn (00K) A = 0,007874 (K-1) B = 1,874.10-5 (K-2) Đo nhiát đá bằng cÁm biÁn LM35 Các vật liệu bán dẫn rất nhạy cảm với nhiệt độ. Do đó ngưßi ta dùng vật liệu bán dẫn để chế tạo cảm biến đo nhiệt độ.
Trong báo cáo này tác giả sử dāng cảm biến LM35 để thiết kế và mô phỏng. Những thông số quan trọng cÿa LM35 như sau: - Điện áp hoạt động: 4~20VDC - Công suất tiêu thā: khoảng 60uA - Khoảng đo: -55°C đến 150°C - Đián áp tuyÁn tính theo nhiát đá: 10mV/°C - Sai số: 0.25°C - Kiểu chân: TO92 - Kích thước: 4.3mm Tín hiệu ra cÿa LM35 là điện áp thay đổi liên tāc theo nhiệt độ. Vì vậy, khi thiết kế đo nhiệt độ cần sử dāng bộ biến đổi tương tự - số (ADC) cÿa vi điều khiển để biến đổi tín hiệu liên tāc nhận đưÿc thành tín hiệu số (Vi điều khiển chỉ xử lý với tín hiệu số). Do đó, trong thiết kế cần sử dāng các chân cÿa cổng A hoặc cổng E làm lối vào cÿa bộ biến đổi ADC.
Vi điÃu khiÅn PIC 16F877A 2.1 Giãi thiáu Vi điÃu khiÅn PIC a. Tổng quan Khối xử lý tín hiệu làm nhiệm vā nhận dòng dữ liệu gửi từ cảm biến nhiệt độ qua bộ biến đổi số tương tự và điều khiển hiển thị nhệt độ đưÿc lên màn hình LCD. Do đó cần lựa chọn loại Vi điều khiển có hỗ trÿ biến đổi từu tín hiệu tương tự sang tín hiệu số. Có nhiều vi điều khiển có hỗ trÿ giao tiếp này, tuy nhiên em chọn vi điều khiển PIC16F877A, vi điều khiển này có giá thành rẻ, sẵn có trên thị trưßng.
Vi điều khiển PIC16F877A và sơ đồ chân a) Một vài thông số về vi điều khiển PIC16F877A. Đây là vi điều khiển thuộc họ PIC16Fxxx với tập lệnh gồm 35 lệnh có độ dài 14 bít.Mỗi lệnh đều đưÿc thực thi trong một chu kì xung clock. Tốc độ hoạt động tối đa cho phép là 20 MHz với một chu kì lệnh là 200ns. Bộ nhớ chương trình 8Kx14 bit, bộ nhớ dữ liệu 368x8 byte RAM và bộ nhớ dữ liệu EEPROM với dung lưÿng 256x8 byte.
Số PORT I/O là 5 với 33pin I/O. 12 ➢ Các đặc tính ngoại vi bao gồm các khối chāc năng sau: + Timer0: bộ đếm 8 bit với bộ chia tần số 8 bit. + Timer1: bộ đếm 16 bit với bộ chia tần số, có thể thực hiện chāc năng đếm dựa vào xung clock ngoại vi ngay khi vi điều khiển hoạt động á chế độ sleep. + Timer2: bộ đếm 8 bit với bộ chia tần số, bộ postcaler.
➢ Hai bộ Capture/so sánh/điều chế độ rông xung. ➢ Các chuẩn giao tiếp nối tiếp SSP (Synchronous Serial Port), SPI và I2C. ➢ Chuẩn giao tiếp nối tiếp USART với 9 bit địa chỉ. ➢ Cổng giao tiếp song song PSP (Parallel Slave Port) với các chân điều khiển RD, WR,CS á bên ngoài.
➢ Các đặc tính Analog: + 8 kênh chuyển đổi ADC 10 bit. + Hai bộ so sánh. ➢ Bên cạnh đó là một vài đặc tính khác cÿa vi điều khiển như: + Bộ nhớ flash với khả năng ghi xóa đưÿc 100. + Bộ nhớ EEPROM với khả năng ghi xóa đưÿc 1.
+ Dữ liệu bộ nhớ EEPROM có thể lưu trữ 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ềm. + Nạp đưÿc chương trình ngay trên mạch điện ICSP (In Circuit Serial Programming) 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. + Có thể hoạt động với nhiều dạng Oscillator khác nhau. 13 b) S¡ đá khßi vi điÃu khiÅn PIC16F877A.2 Đặc điÅm biÁn đổi ADC. Vi điều khiển PIC 16F877A có bộ chuyển đổi tín hiệu tương tự sang tín hiệu số ADC 10 bit đa hÿp 8 kênh và PIC 16F887 có 14 kênh.
Mạch ADC dùng cho các āng dāng giao tiếp với tín hiệu tương tự có thể nhận từ các cảm biến như cảm biến nhiệt độ LM35, cảm biến áp suất, cảm biến độ ẩm, cảm biến khoảng cách, … Phần này sẽ khảo sát chi tiết khối ADC cÿa PIC, các thanh ghi cÿa khối ADC, trình tự thực hiện chuyển đổi, tập lệnh lập trình C cho ADC và āng dāng ADC để đo nhiệt độ. Sơ đồ khối ADC cÿa PIC 16F877A. Chāc năng các thành phần: AN0 đến AN7 (analog) là 4 ngõ vào cÿa 8 kênh tương tự đưÿc đưa đến mạch đa hÿp. CHS<3:0> là các ngõ vào chọn kênh cÿa bộ đa hÿp tương tự.
15 Tín hiệu kênh tương tự đã chọn sẽ đưÿc đưa đến bộ chuyển đổi ADC. Điện áp tham chiếu dương Vref+ có thể lập trình nối với nguồn cung cấp dương AVDD hoặc điện áp tham chiếu bên ngoài nối với ngõ vào Vref+ cÿa chân AN3, bit lựa chọn là VCFG0. Điện áp tham chiếu âm Vref- có thể lập trình nối với nguồn cung cấp AV SS hoặc điện áp tham chiếu bên ngoài nối với ngõ vào Vre- cÿa chân AN2, bit lựa chọn là VCFG1. Hai ngõ vào Vref+ và Vref- có chāc năng thiết lập độ phân giải cho ADC.
Bit ADON có chāc năng cho phép ADC hoạt động hoặc tắt bộ A DC khi không hoạt động để giảm công suất tiêu tán, ADON bằng 1 thì cho phép, bằng 0 tắt. Kết quả chuyển đổi là số nhị phân 10 bit sẽ lưu vào cặp thanh ghi 16 bit có tên là ADRESH và ADRESL, 10 bit kết quả lưu vào thanh ghi 16 bit nên có dạng lưu là canh lề trái và canh lề phải tùy thuộc vào bit lựa chọn có tên ADFM. ADC có 8 kênh nhưng mỗi thßi điểm chỉ chuyển đổi 1 kênh và chuyển đổi kênh nào thì phā thuộc vào 4 bit chọn kênh CHS4:CHS0. Hai ngõ vào điện áp tham chiếu dương và âm có thể lập trình nối với nguồn VDD và VSS hoặc nhận điện áp tham chiếu từ bên ngoài qua 2 chân RA3 và RA2.
Khối ADC độc lập với CPU nên có thể hoạt động khi CPU đang á chế độ ngÿ do xung cung cấp cho ADC lấy từ dao động RC bên trong cÿa khối ADC. Khối ADC có 4 thanh ghi: Thanh ghi lưu kết quả byte cao: ADRESH (A/D Result High Register) Thanh ghi lưu kết quả byte thấp: ADRESL (A/D Result Low Register) Thanh ghi điều khiển ADC thā 0: ADCON0 (A/D Control Register 0) Thanh ghi điều khiển ADC thā 1: ADCON1 (A/D Control Register 1) Để thực hiện chuyển đổi ADC thì phải thực hiện các bước sau: 16 Bước 1: Cấu hình cho port:Cấu hình cho các port á chế độ ngõ vào tương tự.Không đưÿc định cấu hình cho các port á chế độ xuất dữ liệu. Bước 2: Cấu hình cho module ADC: Chọn xung clock cho chuyển đổi ADC.Định cấu hình cho điện áp chuẩn.Chọn kênh ngõ vào tương tự cần chuyển đổi.Chọn định dạng cho 2 thanh ghi lưu kết quả.Má nguồn cho ADC. Bước 3: Thiết lập cấu hình ngắt ADC nếu sử dāng: Xóa cß báo ngắt ADIF cÿa ADC.Cho bit ADIE bằng 1 để cho phép ADC ngắt.Cho bit PEIE bằng 1 để cho phép ngắt ngoại vi.Cho bit GIE bằng 1 để cho phép ngắt toàn cāc.
Bước 4: Chß hết thßi gian ổn định theo yêu cầu. Bước 5: Bắt đầu chuyển đổi bằng cách cho bit GO/DONE lên 1.