Báo cáo: Xây dựng hệ thống đo và xử lí tín hiệu cảm biến nhiệt kim loại Nội dung 1: Phân tích nguyên lý, cấu tạo của cảm biến nhiệt kim loại. Nội dung 2: Lựa chọn cảm biến với thông số phù hợp Nội dung 3: Tính toán, xây dựng hệ thống đo và xử lý tín hiệu Nội dung 4: Kết nối và mô phỏng hệ thống Nội dung 5: Hiển thị và lập trình hệ thống Nội dung 6: Viết báo cáo
BÁO CÁO Chủ đề: Xây dựng hệ thống đo xử lí tín hiệu cảm biến nhiệt kim loại Phân tích nguyên lý, cấu tạo cảm biến nhiệt kim loại a Khái quát nguyên lý hoạt động Nhiệt điện trở kim loại gọi RTD (resitance temperature detector) cảm biến nhiệt độ thông dụng cặp nhiệt điện RTD cỏ cấu tạo từ kim loại quấn tùy theo hình dáng đầu đo Khi nhiệt độ thay đồi điện trở hai đầu dây kim loại thay đối, cụ nhiệt độ tăng điện trở tăng Dựa vào nguyên lý thay đồi điện trờ, người ta chứng minh điện trờ RTD thay đổi phụ thuộc vào nhiệt độ theo phương trình sau: RT=R0( 1+aT + pT2) (1.1) Trong đó: + RT: điện trờ nhiệt độ T (°C) + R0 :điện trờ nhiệt độ ( ° C) + a p số xác định theo thực nghiệm Nếu nhiệt độ khoảng ngắn định cơng thức đơn giản thành: RT = R0( 1+aT) (1.2) Tùy vào chất liệu kim loại có độ tuyến tính khoảng nhiệt độ định Tùy thuộc vào phạm vi đo nhiệt độ mà ta chọn vật liệu thích hợp, người ta thường sử dụng điện trở platin, nickel đơi đồng, Wonfram, Bạch kim (platinum): có thề chế tạo tinh khiết (99,99%) điều cho phép tăng độ xác tính chất điện vật liệu, ngồi trơ hóa học ổn định cấu trúc tinh nên platin đảm bào ổn định đặc tính dần điện Các điện trở lảm platin hoạt động dài nhiệt độ rộng -2000C - 10000C nên điện trở kim loại platin đánh giá cao, sử dụng phố biến b Cấu tạo đặc điểm nhiệt điện trở kim loại Đề sử dụng cơng nghiệp thi phải có vỏ bọc chống va đập mạnh rung động, điện trở kim loại bao bọc thủy tinh gốm đặt vỏ bảo vệ thép hình 2.6 Hình 1.1: Nhiệt kế cơng nghiệp dùng điện trở Platin 1) Dây platin 2) Gốm cách điện 3) Ống platin 4)Dây nối 5)Sứ cách điện 6) Trục gá 7) Cách điện 8) Vỏ bọc 9) Xi măng Lựa chọn cảm biến với thông số phù hợp Ta có dải đo từ: T0C = tmin - tmax = – (100+10*n) 0C (2.1) Chọn T0C = tmin - tmax = – 150 0C Từ yêu cầu ta sử dụng nhiệt điện trở kim loại dải đo từ 0- 150 0C ta tính lựa chọn cảm biến Nhiệt điện trở kim loại có nhiều loại có hai loại thường dùng nhiệt điện trở nickel nhiệt điện trở platin Ta sử dụng nhiệt điện trở platin với dải đo rộng độ tuyến tính cao Cụ thể ta sử dụng nhiệt điện trở PT100 nhiệt điện trở có đọ tuyến tính cững tương đối điện trở R0 0C 100 sau chi tiết cảm biến nhiệt PT100 cấu tạo can nhiệt PT100 • • • • Cảm biến nhiệt độ PT100 có cấu tạo nhiệt điện trở RTD (RTD-Resistance Temperature Detector ) Nguyên lý hoạt động nhiệt điện trở dựa thay đổi nhiệt độ dẫn đến thay đổi điện trở Rt = R0 (1 + at) (2.2) Rt: Điện trở nhiệt độ t R0 : Điện trở độ c a : Hệ số nhiệt điện trở Hình 2.1: Can Nhiệt PT100 12345- Đầu cảm biến (Platinum/Nickel) Dây tín hiệu cảm biến nhiệt điện trở Chất cách điện gốm Chất làm đầy Vỏ bảo vệ Hình 2.2: Cấu tạo PT100 Điện trở dây kim loại có bọc đoạn sứ bao quanh tồn dây kim loại Phần bao bọc lại đặt ống bảo vệ(thermowell) thường có dạng hình trịn, đưa đầu dây kim loại để kết nối với thiết bị chuyển đổi Phần ống bảo vệ đặt nơi cần đo nhiệt độ, thông thường can nhiệt đo nhiệt độ tối đa 600 0C Hai đầu dây kim loại để chừa phần ống bảo vệ kết nối tới thiết bị gọi chuyển đổi tín hiệu nhiệt thành tín hiệu điện phục vụ cho việc truyền tới phòng điều khiển giám sát Thiết bị chuyển đổi có cấu tạo chẳng qua cầu điện trở có nhánh PTl00(có điện trở 100 độ C) Bảng 2.1: Bảng thông số điện trở cảm biến nhiệt pt100 Đáp ứng RTD khơng tuyến tính có độ ổn định xác cao, hay dùng ứng dụng yêu cầu độ xác cao Nó thường dùng khoảng nhiệt độ từ -250 đến +850° Can nhiêt PT100 kí hiệu thường sử dụng để nói đến RTD với hệ số alpha=0,00391 R0=100 Như điện trở dải đo tương ứng 0C 100 150 0C 157.33 Tính tốn, xây dựng hệ thống đo xử lý tín hiệu Từ chất nhiệt kế điện trở, kết luận dung sai phụ thuộc vào phạm vi sử dụng Khi sử dụng để đo nhiệt độ gần 0 C (cả dương âm), dung sai tối thiểu Khi chênh lệch với 0 C tăng dung sai tăng Dung sai thấp 50 C so với 100 C Bố trí mạch mơ tả nhiệt độ đo PT100 pic18f4520 Mạch đo nhiệt độ sử dụng PT100 pic 18f4520 thiết kế xung quanh quad op-amp LM324, , hình hiển thị LCD vài thành phần điện tử khác điện trở, tụ điện, v.v Mạng chia điện áp cho PT100: Vì PT100 nhiệt kế điện trở, tức điện trở thay đổi theo nhiệt độ Một chia điện áp đơn giản với nguồn điện áp không đổi (giả sử 5v), điện trở không đổi PT100 kết nối hình 3.1 Điện trở thay đổi theo nhiệt độ kết V out (điện áp PT100) thay đổi Điện áp thay đổi phụ thuộc vào việc thay đổi điện trở Bằng cách sử dụng cơng thức chia điện áp, tính tốn điện áp đầu Cơng thức tốn học cho mạng chia điện áp (3.1) Trong chọn điện trở cố định (R), phải xem xét vài điều: Giá trị điện trở (R) phải đủ lớn để tránh vấn đề tự làm nóng Nếu sử dụng điện trở giá trị thấp, điện áp giảm nhiều PT100 tự sưởi ấm Điều làm tăng lỗi Giá trị R phải đủ thấp để tránh vấn đề tín hiệu thấp tỷ lệ nhiễu Nếu tăng giá trị R, thay đổi cường độ độ giảm tín hiệu thấp tỷ lệ nhiễu Giá trị lớn R làm tăng nhiễu chịu trách nhiệm cho tín hiệu thấp tỷ lệ nhiễu Để chọn R thích hợp, phải đánh đổi vấn đề tự sưởi ấm tín hiệu tốt cho tỷ lệ nhiễu Hãy xem cân nhắc để lựa chọn giá trị R Hình 3.1: Mạng chia điện áp PT100 Bây giờ, giả sử thiết kế nhiệt kế cho phạm vi 0 C đến 150 Nếu xem xét điện trở cố định R = 1k R TD 0 C = 100, điện áp đầu V tính sau: Tương tự, V 150 C: Theo bảng liệu điện trở PT100 150 C, R TD = 157,33 Từ tính tốn ta phải đo điện áp khoảng 0,4545V đến 0,6797V Mạch theo dõi điện áp: Có hai lý sử dụng mạch theo dõi điện áp: Để tránh hiệu ứng tải Điện trở đầu vào cao Đầu PT100 ( ) cấp cho mạch theo dõi điện áp Mạch theo dõi điện áp khuếch đại không đảo ngược đạt Mạch khuếch đại gọi tín hiệu điện áp điện áp đầu pha với đầu vào Đầu PT100 () kết nối với thiết bị đầu cuối khơng đảo thiết bị đầu cuối đảo ngược kết nối trực tiếp với đầu (để đạt thống nhất) Hình 3.2: Mạng phân chia điện áp PT100 với khuếch đại theo dõi điện áp Nhiệt độ tối thiểu đo 0 C Điện áp nhiệt độ (0 C) 0,4545 C Vì vậy, cần trừ điện áp để có 0V 0 C Với mục đích này, cần khuếch đại vi sai Nhưng trước cần nguồn 0,4545 volt không đổi Đối với nguồn 0,4545 V không đổi, thiết kế mạch theo dõi điện áp khác Nguồn điện áp không đổi: (3.2) RV1=4700 53% Hình 3.3: Mạng chia điện áp không đổi Tương tự trên, sử dụng mạch theo dõi điện áp để tránh hiệu ứng tải Đầu từ mạng phân chia điện áp kết nối với thiết bị đầu cuối không đảo thiết bị đầu cuối đảo ngược kết nối trực tiếp với pin đầu Hình 3.4: Mạng phân chia điện áp không đổi với khuếch đại theo dõi điện áp Từ đạo hàm khuếch đại vi sai, đầu điện áp cho bởi, (3.3) Ở đây, R B = Điện trở phản hồi R A = Điện trở đầu vào V = điện áp đầu cuối đảo ngược V = điện áp cực không đảo Kiểm tra đạo hàm tham số khuếch đại vi sai Trường hợp 1: Khi nhiệt độ đặt thành 0 C, đầu PT100 0,4545V đầu chia điện áp cố định 0,4545V Đầu khuếch đại vi sai trở thành số không Trường hợp 2: nhiệt độ tối đa đầu điện áp 150 C từ PT100 = 0,6797V Ở đây, tăng Chọn giá trị tham chiếu phù hợp cho PIC18F4520 Điện áp tham chiếu ADC bên mặc định 5V với ADC 10 bit tức chia điện áp đầu vào chia 10 (1024) Độ phân giải PIC18F4520 5V = 5/1024 = 4,88mV Từ tính tốn trên, thấy phạm vi nhiệt độ 0 C đến 150 C, điện áp thấp nhất= 0,4545V điện áp cao nhất= 0,6797V Chênh lệch điện áp điện áp thấp điện áp cao nhất= 0,6797V-0,4545V = 0,2252V Tổng số phép chia cho 0,2252V = 0,2252V / 4,88mV = 46,14 tức khoảng 47 phép chia cho 0C đến 150 0C ADC hiển thị 150/47 = 3,25 C lần thay đổi điện áp, tức PIC18F4520 đo nhiệt độ thấp 3,25 C khơng thích hợp Vì vậy, cần khuếch đại Chúng tơi sử dụng khuếch đại phạm vi đầy đủ có hai vấn đề: Độ lợi cao hơn: Chúng ta phải khuếch đại điện áp đầu vào vi sai để mở rộng cao (giả sử 5V) sử dụng giá trị cao điện trở phản hồi Cung cấp điện bên cần thiết: Rất khó để khuếch đại lên đến điện áp cung cấp Theo bảng liệu LM324, điện áp đầu khuếch đại tối đa = điện áp cung cấp -1,5V Nếu sử dụng 5V từ ADC làm điện áp cung cấp điện áp khuếch đại tối đa = 5V-1.5V = 3.5V Vì vậy, nguồn cung cấp 5V, 1.5V ADC bị lãng phí Để sử dụng tham chiếu 5V mặc định, chúng tơi cần nguồn điện bên ngồi cho LM324, phải lớn 6,5V Để giải vấn đề trên, định sử dụng ADC nội 1.1V pic 18f4520 Tính tốn khuếch đại cho khuếch đại vi sai Ở đây, sử dụng điện áp tham chiếu bên 1,1V điện áp tối đa mà PIC18F4520 đọc 1,1V Vì vậy, phải khuếch đại điện áp chênh lệch cực đại (giả sử 0,2252V) lên 1,1V Vra = 1,1V V2 – V1 = 0,2252V Bây đặt giá trị vào phương trình (1) Để đạt mức tăng 4,88, giá trị điện trở R B phải 4,88 lần giá trị điện trở R A Chúng ta chọn RB =49k RA = 10k 10 Hình 3.5: Bộ khuếch đại vi sai cho PT100 PIC18F4520 Đầu khuếch đại vi sai cấp cho chân đầu vào tương tự PIC18F4520 PIC18F4520 đọc phân chia điện áp chuyển đổi thành nhiệt độ phương trình hiển thị qua LCD Đầu khuếch đại vi sai cấp cho chân AN0 Danh sách thành phần Nhiệt độ đo PT100 PIC18F4520 Điện trở (tất ¼-watt, ± 5% Carbon) R1 = KΩ R2, R5, R6 = 47 KΩ R3, R4 = 10 KΩ R7 = 220 KΩ R8 = 330 Ω VR1, VR2 = 10 KΩ Tụ điện C1 = 100 µF/16V (Tụ điện phân) 11 C2 = 100 nF (Đĩa gốm) Chất bán dẫn U1 = LM324 (Quad Op-Amp) Các thành phần khác Cảm biến nhiệt độ PT100 PIC18F4520 LCD 16 × chữ số Kết nối mơ hệ thống Hình 4.1: Kết nối mô 12 Hiển thị lập trình hệ thống Chuyển đổi điện áp thành điện trở ADC đọc điện áp từ khuếch đại vi sai dạng phân chia Điện áp đọc adc trước tiên chuyển đổi thành điện trở phương trình đường thẳng tức Y = mX + C Ở phải tính giá trị m (độ dốc) C (không đổi) Đối với độ dốc, phải đo điện áp điện trở hai nhiệt độ khác nhau, giả sử 10 0C 60 0C Theo bảng thông số điện trở cảm biến nhiệt pt100 Bảng 5.1 Ở nhiệt độ T (10 0C) V T1 = 0,08V R T1 = 103,9 (Theo Bảng liệu) Ở nhiệt độ T (60 0C) 13 V T2 = 0,46 R T2 = 123,24 (Theo Bảng liệu) Công thức cho độ dốc (5.1) Đặt, X = 0,08, X = 0,46V, Y = 123,24 Y = 103,9 Đặt giá trị vào phương trình (2), có giá trị độ dốc Vì thế, Ở nhiệt độ T 3(30 0C) V T3 = 0,233V R T3 = 111,2 (Theo Bảng liệu) Bây giờ, đặt giá trị m (độ dốc) vào phương trình Y = mx + c, để tìm giá trị c (khơng đổi) Ở 30 0C, R TH = 111,2 V out = 0,233V Bây giờ, đặt giá trị Y = 111,2, x = 0,233 m =50,8947 C = Y - mx = 111,2 – 50,8947.0.233= 99,3415 Ngoài ra, từ biểu liệu PT100, giá trị Độ dốc (m) = 50,8947 Hằng số (c) = 99,3415 R (điện trở 0C) = 100 Chuyển đổi điện trở thành nhiệt độ Từ công thức: Rt = R0 (1 + aT) (5.2) T= ( ( Rt / R0 ) – ) / a 14 Đây giá trị cần code Mã phần mềm đo nhiệt độ PT100 PIC18F4520 Phần mềm viết ngơn ngữ lập trình C biên dịch MPLAP IDE Trong viết mã phần mềm, bạn phải xem xét vài điều chọn ADC nội 1,1V Để chọn ADC nội 1,1V, bạn phải thêm cú pháp hàm OpenADC: ADC_VREFPLUS_EXT& ADC_VREFMINUS_EXT, Cú pháp chuyển đổi bit thành điện áp AD1 = (float)((AD*1.1)/1023); Cú pháp chuyển đổi điện áp thành điện trở Rx = Volts * độ dốc + C= (float)(AD1* 50.8947) + 99.3415; Cú pháp chuyển đổi điện trở thành nhiệt độ temp1 = (Rx / R0-1.0) / alpha= (float)((Rx / 100)-1.0) / 0.00358; Cú pháp sai số saiso= 0,3 + (0,005 * temp1)= (float)0,3 + (0,005 * temp1); Cú pháp tính nhiệt độ sau sai số: C=(int)(temp1-saiso); Code hoàn chỉnh để đo Nhiệt độ PT100 PIC18F4520 #include #include #include #include #define LCD_DATA PORTD #define LCD_RS PORTEbits.RE0 #define LCD_RW PORTEbits.RE1 15 #define LCD_EN PORTEbits.RE2 char message[32]; unsigned int AD; void Lcd_configure(void);//KHOI TAO LCD void Lcd_Write_Command(char command);//GHI LENH void Lcd_Write_Data(char data);//GHI DATA void Lcd_Write_String (char *str); void ADC0(void); void ADC0(void)//KHOI TAO ADC { // configure A/D convertor OpenADC( ADC_FOSC_32 & ADC_RIGHT_JUST &//don phai ADC_12_TAD, ADC_CH0 & //CHAN AN0 ADC_INT_OFF& //KHONG NGAT ADC_VREFPLUS_EXT& ADC_VREFMINUS_EXT, 14);//ADCON1=OX0E;E=14///CHON CHAN AN0 ConvertADC(); // Start conversion while(BusyADC() ); // Wait for completion AD = ReadADC(); CloseADC(); // Read result // Disable A/D converter 16 } void Lcd_configure (void) { Lcd_Write_Command(0x02); Lcd_Write_Command(0x38); Lcd_Write_Command(0x06); Lcd_Write_Command(0x0c); Lcd_Write_Command(0x01); } void Lcd_Write_Command (char command) { LCD_RS = 0; LCD_RW = 0; LCD_EN = 1; LCD_DATA = command; LCD_EN = 0; Delay1KTCYx(10);//10mS } void Lcd_Write_Data (char data) { if(data=='\n') { Lcd_Write_Command(0xC0);//HANG Delay1KTCYx(10);//10mS return; } 17 LCD_RS = 1; LCD_RW = 0; LCD_EN = 1; LCD_DATA = data; LCD_EN = 0; Delay1KTCYx(10);//10mS } void Lcd_Write_String (char *str) { while(*str) { Lcd_Write_Data(*str); str++; } } void main() { float AD1,Rx,temp1,saiso; unsigned int AD2,C; TRISD=0x00;//OUT PUT TRISE=0X00; TRISA=0X01;//in RA0 ADCON1=0X0E; Lcd_configure(); while(1) 18 { ADC0(); AD1=(float)((AD*1.1)/1023); Rx = (float)(AD1* 50.8947) + 99.3415; temp1 = (float)((Rx / 100)-1.0) / 0.00358; saiso = (float)0,3 + (0,005 * temp1); C=(int)(temp1-saiso); Lcd_Write_Command(0X80);//dau dong sprintf(&message[0],"nhietdola=%d(oC)",C); Lcd_Write_String(&message[0]); } } 19 Chạy thử mơ phỏng: Hình 5.1: Mơ 20 ... RTD với hệ số alpha=0,00391 R0=100 Như điện trở dải đo tương ứng 0C 100 150 0C 157.33 Tính tốn, xây dựng hệ thống đo xử lý tín hiệu Từ chất nhiệt kế điện trở, kết luận dung sai phụ thuộc vào phạm... cảm biến (Platinum/Nickel) Dây tín hiệu cảm biến nhiệt điện trở Chất cách điện gốm Chất làm đầy Vỏ bảo vệ Hình 2.2: Cấu tạo PT100 Điện trở dây kim loại có bọc đo? ??n sứ bao quanh toàn dây kim loại. .. đo từ: T0C = tmin - tmax = – (100+10*n) 0C (2.1) Chọn T0C = tmin - tmax = – 150 0C Từ yêu cầu ta sử dụng nhiệt điện trở kim loại dải đo từ 0- 150 0C ta tính lựa chọn cảm biến Nhiệt điện trở kim