Hệ thống nhúng đề tài cảm biến nhiệt độ độ ẩm sử dụng pic

17 0 0
Hệ thống nhúng đề tài cảm biến nhiệt độ độ ẩm sử dụng pic

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Trong y tế nó được sử dụng rộng rãi trong các phòng cách ly, phòng điều trị cho bệnh nhân cũng như áp dụng hầu hết trong các dây chuyền cũng như các công nghệ sản xuất tuỳ theo nhu cầu m

Trang 1

TRƯỜNG ĐẠI HỌC MỞ HÀ NỘIKHOA: ĐIỆN – ĐIỆN TỬ

HỆ THỐNG NHÚNG

Đề tài: Cảm biến nhiệt độ độ ẩm sử dụng picNhóm 1

Lớp K23D

Giảng viên hướng dẫn: Thầy Hoàng Anh Dũng

Trang 2

LỜI NÓI ĐẦU

- Trong cuộc sống hiện nay có rất nhiều yếu tố ảnh hưởng đến quá trình sản xuất và con người.Trong đó nhiệt độ và độ ẩm cũng là yếu tố được đề cập tới rất nhiều, vì thế mạch đo nhiệt độ và độ ẩm ra đời là sự tất yếu Với sự phát triển của công nghệ hiện nay việc sản xuất mạch đo nhiệt độ và độ ẩm đơn giản mà độ chính xác cao là điều khá đơn giản Việc áp dụng trong thực tế càng phổ biến hơn khi nhiệt độ độ ẩm đóng vai trò lớn ảnh hưởng đến con người, hàng hoá, máy móc, độ bền … Vì vậy nhiệt độ được sử dụng hầu hết các nhà máy sản xuất, kho chứa hàng hoá, bảo quản máy móc cũng như điều kiện vận hành Trong y tế nó được sử dụng rộng rãi trong các phòng cách ly, phòng điều trị cho bệnh nhân cũng như áp dụng hầu hết trong các dây chuyền cũng như các công nghệ sản xuất tuỳ theo nhu cầu mà chúng ta có thể tuỳ biến thêm ngoài chức năng của đề tài này để phù hợp với đúng nhu cầu trong quá trình hoạt động ngoài chức năng chính là hiển thị nhiệt độ độ ẩm của các khu vực cần khảo sát nhiệt độ và độ ẩm Với đề tài này 1 bộ mạch “Đo nhiệt độ và độ ẩm” ta có thể đo cùng lúc nhiệt độ và độ ẩm có thể phát triển hiệu quả hơn.

Trang 3

CHƯƠNG 1: Tổng quan về hệ thống

I Vai trò và tầm quan trọng của hệ thống đo nhiệt độ độ ẩm

- Nhiệt độ và độ ẩm là tín hiệu vật lý mà ta thường xuyên gặp trong đời sống sinh hoạt hằng ngày cũng như trong kĩ thuật và công nghiêp Việc đo đạc nhằm xác định chính xác giá trị của nhiệt độ và độ ẩm theo các thang đo từ lâu đã trở thành một vấn đề mà cả những nhà khoa học hàng đầu thế giới cũng như những người dân thuộc nhiều lĩnh vực đều quan tâm Chính vì lẽ đó những phương xác đo đạc ngày một nhiều hơn và chính xác hơn Hiện nay, việc sử dụng cảm biến nhiệt độ, độ ẩm trong khối ngành công nghiệp và cả dân dụng ngày càng phổ biến và mang lại hiệu quả cao

- Ngày nay việc sử dụng các thiết bị điện tử phục vụ đời sống hằng ngày rất phổ biến Trong đó ta có thế kể đến các thiết bị cảm ứng và hiển thị các thông số môi trường phục vụ nhiều mục đích khác nhau nhằm tạo sự tiện lợi trong sinh hoạt hằng ngày Bắt nguồn từ mục đích đó, nhóm em đã thiết kế một mạch cảm ứng nhiệt độ và độ ẩm hiển thị ra LED 7 thanh sử dụng vi điều khiển pic 16F877A và cảm biến DHT11.

1 Nhiệt độ

a Định nghĩa nhiệt độ

- Nhiệt độ là tính chất vật lý của vật chất hiểu nôm na là thang đo độ "nóng" và "lạnh" Vật chất có nhiệt độ cao hơn thì nóng hơn.

- Định nghĩa chính xác của nhiệt độ trong nhiệt động lực học dựa vào các định luật nhiệt động lực học, miêu tả bên dưới đây.

Nhiệt độ được đo bằng nhiệt kế Nhiệt độ được đo bằng các đơn vị khác nhau và có thể biến đổi bằng các công thức Trong hệ đo lường quốc tế, nhiệt độ được đo bằng đơn vị Kelvin, ký hiệu là Trong đời sống ở K Việt Nam và nhiều nước, nó được đo bằng độ C (1 độ C trùng 274,15 )(Chú thích: 1 độ C bằng 1 K,, haiK

thang đo này cùng mức chia, chỉ có vạch xuất phát cách nhau 273.15 Trong đời sống ở nước Anh, Mỹ và một số nước, nó được đo bằng độ F (1 độ F trùng 255,927778 K)(xin chú thích: F = (1,8 x C) + 32, hay 1 độ C bằng 1.8 độ F, ⁰ ⁰ nhưng mức xuất phát thang đo khác nhau, tính ra nhiệt độ cơ thể người khoảng hơn 98 ⁰F).

b Các thang đo nhiệt độ

- Để đo nhiệt độ của một vật thể trong vật lý phải xây dựng một thang đo chuẩn chung gọi là các thang nhiệt giai Các thang nhiệt giai hay dùng :

+ thang nhiệt giai celsius + thang nhiệt giai fahrelheit + thang nhiệt giai kelvin 2 Độ ẩm

Độ ẩm là đại lượng vật lí xác định khối lượng hơi nước tính ra gam có trong một đơn vị thể tích xác định.

Trang 4

3 Phương pháp đo nhiệt độ độ ẩm trong hệ thống

- Có rất nhiều cách đo nhiệt độ và độ ẩm, trong phạm vi ta tìm hiểu thì em xin giới thiệu phương pháp đo nhiệt độ và độ ẩm thông qua cảm biến DHT11

Hình 1.

- Bộ mạch được điều khiển bởi vi điều khiển PIC16F628A đóng vai trò điều khiển và nhập xuất dữ liệu từ các thiết bị giao tiếp với nó, điển hình như cảm biến nhiệt độ và độ ẩm DHT11 được giao tiếp với vi điều khiển pic16f628a và xuất nhập dữ liệu đọc nhiệt độ và độ ẩm từ cảm biến sau đó giao tiếp với thiết

bị LCD mã hoá dữ liệu để hiện thị kết quả ra màn hình với dữ liệu của cảm biến có dãi nhiệt độ từ 0- 50oC và độ ẩm từ 20%- 95%.

Phần cứng sau khi thi công hoàn thành thì vi điều khiển được nạp chương trình qua các lệnh được thiết kế bằng ngôn ngữ C như những tập lệnh điều khiển vi điều khiển để mạch hoạt động một cách trơn tru.

Trang 5

CHƯƠNG 2: Cấu trúc của hệ thống

1 S đồồ cấấu trúc h thồấng đo nhi t đ đ mơ ệ ệ ộ ộ ẩ

Hình 2 Sơ đồ cấu trúc hệ thống đo nhiệt độ, độ ẩm sử dụng Pic 16F877A - Muốn cảm biến gửi tín hiệu đầu tiên Vi điều khiển PIC sẽ gửi tín hiệu muốn đo đến cảm biến DHT11 sau khi xác nhận được

Khối cảm biến sẽ nhận nhiệt độ và độ ẩm từ môi trường bên ngoài để gửi tín hiệu dạng sóng 5byte dữ liệu và nhiệt độ đo được đến vi điều khiển PIC Sau đó Vi điều khiển PIC sẽ đọc dữ liệu và gửi trực tiếp đến bộ màn hình LCD, qua bộ giải mã được tích hợp trong LCD thì nhiệt độ và độ ẩm được hiển

2.1 Gi i thi u PIC 16F877Aớ ệ 2.1.1 Gi i thi u vềồ PIC 16F877Aớ ệ

PIC là viết tắt của “Programable Intelligent Computer” có thể tạm dịch là máy tính thông minh khả trình” do hãng Genenral Instrument đặt tên cho vi điều khiển đầu tiên của họ là PIC1650 được thiết kế để dùng làm các thiết bị ngoại vi cho vi điều khiển CP1600 Vi điều khiển này sau đó được nghiên cứu phát triển thêm và từ đó hình thành nên dòng vi điều khiển PIC ngày nay.

Trang 6

Pic 16F877A là dòng Pic phổ biến nhất hiện nay (đủ mạnh về tính năng, có 40 chân, bộ nhớ đủ cho hấu hết các ứng dụng thông thường) cấu trúc tổng quát của Pic16F877A:

- 8K plash Rom - 368 byte Ram - 256 byte EEPROM

- 5 port (A, B, C, D, E) vào ra với tín hiệu độc lập - 2 bộ định thời 8 bit (timer0 và timer 2)

- 1 bộ định thời 16 bit (timer 1) có thể hoạt động trong chế độ tiết kiệm năng lượng (Sleep Mode) với xung clock bên ngoài

- 2 bộ CCP (Capture/Compare/PWM) - 1 bộ biến đổi AD 10 bit với 8 ngõ vào - 2 bộ so sánh tương tự (Compartor) - 1 bộ định thời giám sát (Watchdog Timer) - 1 cổng song song 8 bit với các tín hiệu điều khiển

- Tầng số hoạt động tối đa 20MHz

- Để Pic hoạt động ta cần cấp nguồn cho Pic, ngoài ra có thể thêm vào bộ dao động thạch anh, và nút reset.

Trang 7

2.1.2 B s đồồ chấn pic 16f877aộ ơ

Hình 2.1

Hình 2.2

Trang 8

2.1.3 T ch c b nh vi điềồu khi nổ ứ ộ ớ ể

Đây là vi điều khiển họ PIC16Fxxx với tập lệnh gồm 35 lệnh với độ dài 14bit Mỗi lệnh đều được thực hiện trong 1 chù kỳ xung clock, tốc độ hoạt động tối đa cho phép là 20MHz vời 1 chu kỳ lệnh là 200ns Bộ nhớ chương trình 8Kx 14 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 33 pin I/O.

2.1.4 Các đ c tính ngo i vi c a khồấi ch c năngặ ạ ủ ứ - Timer0: Bộ đếm 8 bit với bộ chia tầng 8 bit.

- Timer1: Bộ đếm 16 bit với bộ chia tầng,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.

- Timer 2:Bộ đếm 8 bit với bộ chia tầng 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.

2.1.5 Các đặc tính Analog

- 8 kênh chuyển đổi ADC 10 bit - 2 bộ so sánh.

2.1.6 Các cổng nhập/xuất của pic 16f877a

Cổng xuất nhập chính là phương tiện mà vi điều khiển dùng để tương tá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 sự tương tác đó, chức năng của vi điều khiển được thể hiện rõ ràng.

Vi điều khiển PIC 16F877A có 5 cổng xuất nhập PORTA, PORTB, PORTC, PORTD và PORTE.

+ PORT A (RPA) bao gồm 6 I/O đây là các chân 2 chiều có thể xuất và

nhập, chức năng xuất nhập được điều khiển bởi thanh ghi TRISA (địa chỉ 85h) Muốn xác lập 1 chân trong thanh ghi TRISA là input ta “set” bit tương ứng trong thanh ghi TRISA và mún có 1 chân output ta “clear”bit tương ứng trong thanh ghi Thao tác này hoàn toàn tương tự với PORT và các thanh ghi điều khiển tương ứng.Bên cạnh đó PORTA còn là ngõ ra của bộ ADC, bộ so sánh, ngõ vào Analog, ngõ vào xung clock Timer0 và ngõ vào của bộ giao tiếp MSSP.Các thanh ghi TRISA bao gồm:

+ PORTA (địa chỉ 05h): chứa giá trị các chân I/O trong PORTA

Trang 9

+ TRISA (địa chỉ 85h): điều khiển xuất nhập.

+ CMCON (địa chỉ 9Ch): thanh ghi điều khiển bộ so sánh + CVRCON (địa chỉ 9Dh): thanh ghi điều khiển bộ so sánh điện áp + ADCON1 (địa chỉ 9Fh): thanh ghi điều khiển ADC.

+ PORTB (RPB) bao gồm 8 chân I/O, thanh ghi điều khiển xuất nhập

tương ứng là TRISB Bên cạnh đó có 1 số chân của PORTB dùng để nạp chương trình cho vi điều khiển với các chế độ nạp khác nhau PORTB còn liên quan đến ngắt ngoại vi và Timer0 PORTB còn được tích hợp chức năng điện trở kéo lên được điều khiển bởi chương trình.Các thanh ghi PORTB bao gồồm:

+ PORTB (địa chỉ 06h,106h): chứa giá trị các chân trong PORTB + TRISB (địa chỉ 86h,186h): điểu khiển xuất nhập.

+ OPTION_REG (địa chỉ 81h,181h): điểu khiển ngắt ngoại vi toàn bộ Timer0.

+ PORTC (RPC) gồm 8 chân I/O,thanh ghi điều khiển xuất nhập tương

ứng là TRISC, bên cạnh đó PORTC còn chứa các chân chức năng của bộ so sánh, Timer1, bộ PWM, và các chuẩn giao tiếp nối tiếp I2C, SPI, SSP,

USART Các thanh ghi điều khiển:

+ PORTC (địa chỉ 07h):chứa giá trị các chân trong PORTC + TRISC (địa chỉ 87h):điều khiển xuất nhập.

+ PORTD (RPD) gồm 8 chân I/O,thanh ghi điều khiển xuất nhập tương

ứng là TRISD, PORTD còn là cổng xuất dữ liệu của chuận giao tiếp PSP Các thanh ghi:

+ Thanh ghi PORTD (địa chỉ 08h): chứa giá trị các chân trong PORTD + TRISD (địa chỉ 88h) điều khiển xuất nhập

+ PORTE (RPE) gồm 3 chân I/0,thanh ghi điều khiển xuất nhập tương ứng

là TRISE Các chân PORTE có ngõ vào analog, bên cạnh đó PORTE còn là các chân điều khiển của chuẩn giao tiếp PSP

Các thanh ghi:

+ PORT (địa chi 09h) chứa giá trị các chân trong PORTE.

+ TRISE (địa chỉ 89h) điều khiển xuất nhập và xác lập các thông số cho chuẩn PSP.

+ ADCON1 thanh ghi điều khiển khối ADC.

+ Timer1 là bộ định thời 16 bit, giá trị của 2 timer 1 sẽ lưu vào 2 thanh ghi

(TMR1h và TML1R), cờ ngắt timer 1 là bit TMR 1IF, bit điều khiển của Timer1 là TMR1IE Tương tự như Timer0,Timer1 cũng có 2 chế độ hoạt

động: chế độ định thời (timer) với xung kích là xung clock của

oscillator( tầng số bằng ¼ tầng số của oscillator) và chế độ đếm (counter)

với xung kích là xung phản ánh các sự kiện cần đếm lấy từ bên ngoài

Các thanh ghi liên quan đến timer1 bao gồm:

+ INTCON(0BH, 8BH, 10BH, 18Bh) cho phép ngắt hoạt động( GIE và PEIE)

+ IR1( địa chỉ 0CH) chứa cờ ngắt timer1(TMR1IF)

Trang 10

+ PIE1( địa chỉ 8CH) cho phép ngắt timer1(TMR1IE)

+ TMR1L( địa chỉ 0Eh) chứa giá trị 8 bit thấp của bộ đếm timer1 + TMR1H( địa chỉ 0Eh) chứa giá trị 8 bit cao của bộ đếm timer1 + T1CON( địa chỉ 10H) xác lập các thông số cho Timer1

2.1.7 Bộ chuyển đổi ADC (Analog to Digital Converter) là bộ chuyển đổi tín hiệu giữa 2 dạng tương tự và số PIC16F877A có 8 ngõ vào analog gồm RA4, RA3, RA2, RA1, RA0, RE2, RE1, RE0.

Hiệu điện thế chuẩn V có thể được lựa chọn là V , V hay hiệu điện thế REFDDSS

chuẩn được xác lập trên 2 chân RA2 và RA3 Kết quả chuyển đổi từ tín hiệu tương tự sang tín hiệu số 10 bit số tương ứng và lưu trên 2 thanh ghi ADRESH:ADRESL Khi không sử dụng bộ chuyển đổi ADC, các thanh ghi này có thể sử dụng như các thanh ghi thông thường khác Cần chú ý là có 2 cách lưu kết quả chuyển đổi AD, việc lựa chọn cách lưu được điều khiển bởi ADFM và được minh họa cụ thể trong hình sau:

Hình 2.3

2.2 Khối cảm biến

Hiện nay trên thị trường có rất nhiều cảm biến đo nhiệt độ và độ ẩm như: - LM35, LM355, PT100… c m biềấn đo nhi t đ ả ệ ộ

Trang 11

Độ chính xác thực tế: 1/4°C ở nhiệt độ phòng và 3/4°C ngoài khoảng -55°C tới 150°C LM35 có hiệu năng cao, công suất tiêu thụ là 60uA, giá

Trang 12

Hình 2.6 Cảm biến SHT11

- Nhưng ở trong phạm vi môn học Hệ thống nhúng, để phù hợp và tiện dụng hơn thì ta sử dụng cảm biến tích hợp nhiệt độ và độ ẩm là DHT11, cũng như giá thành rẻ hơn nhưng thiết bị khác nhưng có khuyết điểm là tính chính xác tương đối, mà ở môn học chỉ là minh hoạ qua thiết bị và tìm hiểu chức năng cũng như ý nghĩa của đề tài, không sử dụng vào mục đích thực tiễn nên không cần độ chính xác cao Vì vậy chọn DHT11 là một lựa chọn có thể đảm bảo hai chức năng mà giá thành tương đối.

+ Giới thiệu về cảm biến DHT11.

- Cảm biến độ ẩm và nhiệt độ DHT11 là cảm biến rất thông dụng hiện nay vì chi phí rẻ và rất dễ lấy dữ liệu thông qua giao tiếp 1 wire (giao tiếp digital 1 dây truyền dữ liệu duy nhất) Bộ tiền xử lý tín hiệu tích hợp trong cảm biến giúp ta có được dữ liệu chính xác mà không phải qua bất kỳ tính toán nào.

- Nguồn: 3 -> 5 VDC.

- Dòng sử dụng: 2.5mA max (khi truyền dữ liệu).

- Đo tốt ở độ ẩm 20-80%RH với sai số 5% - Đo tốt ở nhiệt độ 0 to 50°C sai số ±2°C - Tần số lấy mẫu tối đa 1Hz (1 giây 1 lần) Kích thước 15mm x 12mm x 5.5mm.

4 chân, khoảng cách chân 0.1''.

Trang 13

Nguyên lý hoạt động Để có thể giao tiếp với DHT11 theo chuẩn 1 chân vi xử lý thực hiện theo 2 bước: Gửi tin hiệu muốn đo (Start) tới DHT11, sau đó DHT11 xác nhận lại Khi đã giao tiếp được với DHT11, Cảm biến sẽ gửi lại 5 byte dữ liệu và nhiệt độ đo được.

- Bước 1: gửi tín hiệu Start

Hình 2.2.1 Dạng tín hiệu giao tiếp với cảm biến

Trang 14

MCU thiết lập chân DATA là Output, kéo chân DATA xuống 0 trong khoảng thời gian >18ms Trong Code mình để 25ms Khi đó DHT11 sẽ hiểu MCU muốn đo giá trị nhiệt độ và độ ẩm MCU đưa chân DATA lên 1, sau đó thiết lập lại là chân đầu vào Sau khoảng 20-40us, DHT11 sẽ kéo chân DATA xuống thấp Nếu >40us mà chân DATA ko được kéo xuống thấp nghĩa là ko giao tiếp được với DHT11 Chân DATA sẽ ở mức thấp 80us sau đó nó được DHT11 kéo nên cao trong 80us Bằng việc giám sát chân DATA, MCU có thể biết được có giao tiếp

được với DHT11 không Nếu tín hiệu đo được DHT11 lên cao, khi đó hoàn thiện quá trình giao tiếp của MCU với DHT

- Bước 2: đọc giá trị trên DHT11 DHT11 sẽ trả giá trị nhiệt độ và độ ẩm về dưới dạng 5 byte Trong đó:

Byte 1: giá trị phần nguyên của độ ẩm (RH%) Byte 2: giá trị phần thập phân của độ ẩm (RH%) Byte 3: giá trị phần nguyên của nhiệt độ (TC) Byte 4 : giá trị phần thập phân của nhiệt độ (TC) Byte 5 : kiểm tra tổng

Nếu Byte 5 = (8 bit) (Byte1 +Byte2 +Byte3 + Byte4) thì giá trị độ ẩm và nhiệt độ là chính xác, nếu sai thì kết quả đo không có nghĩa Đọc dữ liệu: Sau khi gia tiếp được với DHT11, DHT11 sẽ gửi liên tiếp 40 bit 0 hoặc 1 về MCU, tương ứng chia thành 5 byte kết quả của Nhiệt độ và độ ẩm.

Hình 2.2.2 Dạng tín hiệu khi ở bit 0

Sau khi tín hiệu được đưa về 0, ta đợi chân DATA của MCU được DHT11 kéo lên 1 Nếu chân DATA là 1 trong khoảng 26-28 us thì là 0, còn nếu tồn tại 70us là 1 Do đó trong lập trình ta bắt sườn lên của chân DATA, sau đó delay 50us Nếu giá trị đo được là 0 thì ta đọc được bit 0, nếu giá trị đo được là 1 thì giá trị đo được là 1 Cứ như thế ta đọc các bit tiếp theo.

Trang 15

2.3 Khồấi hi n thể ị

Màn hình text LCD2004 xanh lá sử dụng driver HD44780, có khả năng hiển thị 4 dòng với mỗi dòng 20 ký tự, màn hình có độ bền cao, rất phổ biến, nhiều code mẫu và dễ sử dụng thích hợp cho những người mới học và làm dự án.

Hình 2.3.1 Màn hình LCD th c tềấự

- LCD làm việc chế độ 8 bit ghép nối Port D của vi điều khiển trung tâm

Hình 2.3.2 S đồồ chấn LCDơ

Ngày đăng: 08/04/2024, 12:53

Tài liệu cùng người dùng

Tài liệu liên quan