1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Hệ thống chữa cháy bằng cảm biến nhiệt độ lm35 với pic 16f887

44 47 1

Đ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

Thông tin cơ bản

Tiêu đề Hệ Thống Chữa Cháy Bằng Cảm Biến Nhiệt Độ LM35 Với PIC 16F887
Trường học Trường Đại Học Nhiên Liệu
Chuyên ngành Hệ Thống Chữa Cháy
Thể loại Đồ án
Năm xuất bản 2019-2023
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 44
Dung lượng 2,37 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

HỆ THỐNG CHỮA CHÁY BẰNG CẢM BIẾN NHIỆT ĐỘ LM35 VỚI PIC 16F887 Ta cài đặt cho ngưỡng nhiệt độ để bơm sả nước là 37oC. Cảm biến LM35 nhận tín hiệu nhiệt độ môi trường thông qua cơ chế chuyển đổi tín hiệu ADC từ nhiệt độ qua điện áp và chuyển về vi điều khiển Pic16F887. Hệ thống có 2 mức làm việc như sau: Nếu nhiệt độ nhỏ hơn nhiệt độ cho phép tức là dưới mức 37 độ C thì máy bơm và đèn báo không hoạt động. Khi nhiệt độ trên mức cho phép 37 độ C thì đèn báo và máy bơm sã nước cho đến khi nào nhiệt độ nhỏ hơn mức 37 độ C.

Trang 1

ĐỒ ÁN 1

HỆ THỐNG CHỮA CHÁY BẰNG CẢM BIẾN NHIỆT ĐỘ LM35 VỚI PIC 16F887

HỆ ĐẠI HỌC NIÊN KHÓA: 2019-2023

- -Thành phố Hồ Chí

Trang 3

Lời Mở Đầu

Ngày nay, với sự tiến bộ của khoa học máy tính mà các loại vi điều khiển ngàycàng giúp ích cho con người trong rất nhiều các lĩnh vực của cuộc sống Hiện nay

ở Việt Nam cũng như trên Thế Giới sử dụng vi điều khiển khá rộng rãi Người ta

có thể tìm mua các loại vi điều khển ở Việt Nam một các dễ dàng mà giá thành lạikhông quá đắt Nó có thể hỗ trợ của nhà sản xuất từ biên dịch, các công cụ độc lập,nạp chương trình từ cơ bản đến phức tạp Các tính năng của vi điều khiển PIC ngàycàng không ngừng được phát triển

Nhưng để tạo ra được sản phẩm thiết thực thì cần phải có sự thực hiển của conngười Tùy vào các nhu cầu thiết thực mà người ta xây dựng chương trình cho nóđúng với yêu cầu của họ Cụ thể như những công việc hằng ngày như báo trộm,báo mưa, đếm sản phẩm vv

Từ những gì đã học được của môn vi điều khiển, để áp dụng nó vào thực tiễn cuộcsống chúng em quyết định chọn đề tài cho đồ án 1 là: “HỆ THỐNG CHỬA CHÁYDÙNG CẢM BIẾN NHIỆT ĐỘ LM35 VỚI PIC16F887”

Việc thực thi đề tài có lẽ cũng còn nhiều thiếu sót, nhóm em mong nhận được sựđóng góp từ thầy và các bạn

Trang 4

DANH MỤC CHỮ VIẾT TẮT ADC: Analog to Digital Converter, bộ chuyển đổi tương tự sang số.

ALU: Arithmetic Logic Unit, đơn vị xử lí số học.

CCP2: điều khiển bộ biến đổi áp DC->DC.

EEPROM: Erasable Programmable ROM, ROM khả trình có thể xóa.

GPIO: General Purpose Input Output, cổng vào/ra vạn năng.

GPR: General Purpose Register, thanh ghi mục đích chung

I2C: Inter-Integrated Circuit, bus nội tích hợp.

OSC: Oscillator, bộ dao động

PIC: Peripheral Interface Controller, bộ điều khiển giao tiếp ngoại vi.

POR: Power-On Reset, reset khởi nguồn.

PSP: Parallel Slave Port, cổng xuất dữ liệu.

PWM: Puse Width Modulation, điều chế độ rộng xung.

PWRT: Power-Up Timer, bộ định thời khởi nguồn.

SFR: Special Function Register, thanh ghi có chức năng đặc biệt

SPI: Serial Peripheral Interface, giao tiếp thiết bị ngoại vi nối tiếp.

SSP: Streaming Parallel Port, Port truyền dữ liệu song song.

USART: Universal Synchronous Asynchronous Receiver Transmitter, bộ truyền

dữ liệu nối tiếp đồng bộ/ bất đồng bộ đa năng

WDT: Watch-Dog Timer, bộ địng thời canh gác.

Trang 5

CHƯƠNG 1: VI ĐIỀU KHIỂN PIC16F887A 1.1 Sơ lược về vi điều khiển PIC 16F887

- Dụng công nghệ tích hợp cao RISC CPU

- Người dùng có thể lập trình với 35 câu lệnh đơn giản

- Tất cả các câu lệnh thự hiện trong một chu kỳ, lệnh ngoại trừ một số câulệnh riêng rẽ nhánh thực hiện trong hai chu kỳ lệnh

- Tốc độ hoạt động : - Xung đồng hồ là DC -20MHz

- Chu kì lệnh thực hiện trong 200ns

 Bộ nhớ chương trình Flash 8Kx14 words

 Bộ nhớ SRam 368x8 bytes

 Bộ nhớ EFPROM 256x8 bytes

 Số port I/O 35 port

- *Khả năng của PIC

 Khả năng ngắt

 Ngăn nhớ Stack được phân chia làm 8 mức

 Truy cập bộ nhớ bằng địa chỉ trực tiếp hoặc gián tiếp

 Nguồn khởi động lại (POR)

 Bộ tạo thời gian PWRT, bộ tạo dao động OST

 Bộ đếm xung thời gian WDT với nguồn dao động trên chip( nguồn dao độngRC) đáng tin cậy + Có mã chương trình bảo vệ

 Phương thức cất giữ Sleep

Trang 6

 TIMER1: 16 bit của bộ định thời, bộ đếm với tỉ số tỉ lệ trước, có khả năngtăng trong khi ở chế độ Sleep qua xung đồng hồ cung cấp bên ngoài

 TIMER2: 8 bit của bộ định thời, bộ đếm với 8 bit của hệ số tỉ lệ trước, hệ số

tỉ lệ sau

 Bộ chuyển đổi tín hiệu số sang tín hiệu tương tự với 10 bit

 Cổng truyền thông tin nối tiếp SSP với SPI phương thức chủ

1.2 Khảo sát vi điều khiển PIC16F887 của hãng Microchip

1.2.1 Sơ đồ chân của PIC16F887

a Sơ đồ chân

Hình 1 : Sơ đồ chân PIC16F887

Trang 7

Hình 2 : Sơ đồ chân package DIP 40 chân PIC16F887

b Chức năng chân của vi điều khiển PIC16F887

Port A: PortA( RA0 RA5) có số chân từ chân số 2 đến chân số 7.

PortA (RPA) bao gồm 6 I/O pin Đây là các chân “hai chiều” (bidirectionalpin), nghĩa là có thể xuất và nhập được Chức năng I/O này được điều khiểnbởi thanh ghi TRISA (địa chỉ 85h)

Port B: PortB( RB0 RB7) có số chân từ chân số 33 đến chân số 40.

PortB (RPB) gồm 8 pin I/O Thanh ghi điều khiển xuất nhập tương ứng làTRISB Bên cạnh đó một số chân của PORTB còn được sử dụng trong quátrình 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à bộ Timer0 PORTB còn đượctí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

Port C: PortC( RC0 RC7) có số chân từ chân số 15 đến chân số 18 và chân số 23

đến chân số 26

Trang 8

PortC (RPC) gồm 8 pin 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,

bộ Timer1, bộ PWM và các chuẩn giao tiếp nối tiếp I2C, SPI, SSP, USARTPort D: PortD( RD0 RD7) có số chân từ chân số 33 đến chân số 40

Port D: (RPD) gồm 8 chân I/O, thanh ghi điều khiển xuất nhập tương ứng là

Trang 9

1.3 Sơ đồ khối

Hình 3 : Sơ đồ khối PIC16F887

Trang 10

Để mã hóa được địa chỉ của 8K bộ nhớ chương trình, bộ đếm chương trình có dunglượng 13bit

Khi vi điều khiển được Reset, bộ đếm chương trình chỉ đến địa chỉ 0004h(Interruptvector)

Bộ nhớ chương trình không bao gồm bộ nhớ stach và không được địa chỉ hóa bởi

bộ đếm chương trình

Bảng bộ nhớ chương trình và các ngăn xếp

Trang 11

Hình 4 : Bộ nhớ chương trình ngăn xếp.

b Bộ nhớ dữ liệu (Data memory)

Bộ nhớ dữ liệu của PIC là bộ nhớ EEPROM được chia thành nhiều bank Đối vớiPIC16F887 chia thành 4 bank Mỗi bank có dung lượng chứa 128 byte, bao gồmcác thanh ghi có chức năng đặc biệt SFG (Spencial Function Register) nằm ở cácvùng địa chỉ thấp và các thanh ghi mục đích chung GPR(General Purpose Register)nằm ở các vùng địa chỉ còn lại trong back Các thanh ghi SFG thường xuyên được

sử dụng sẽ được đặt ở tất cả các bank của bộ nhớ dữ liệu giúp truy suất và làmgiảm bớt lệnh của chương trình Bộ nhớ dữ liệu của PIC 16F887

Trang 12

1.3.3 Các thanh ghi đặc biệt

Các thanh ghi được sử dụng bởi CPU hoặc dùng đẻ thiết lập điều khiển các khốichức năng tích hợp trong vi điều khiển Phân chia thanh SFR làm hai loại: thanhghi SFR liên quan đến các chức năng bên trong CPU và thanh ghi SFR dùng đểthiết lập và điều khiển các khối chức năng bên ngoài

a Các thanh ghi liên quan đến bên trong:

Trang 13

-Thanh ghi SATUS (03h, 83h, 103h, 183h): thanh ghi chứa kết quả thực hiện phéptoán của khối ALU, trạng thái RESET và cấc bit chọn bank cùng truy suất trong bộnhớ dữ liệu.

-Thanh ghi OPTION_REG (81h, 181h): thanh ghi này cho phép đọc và ghi, chophép điều khiển các chức năng puled ma trận-up của các chân PORTB, xác lập cáctham số xung tác động, cạnh tác động của ngắt ngoại vi và bộ đếm Time0

-Thanh ghi INTCON (0Bh, 8Bh, 10Bh, 18Bh): thanh ghi cho phép đọc và ghi,chứa các bit điều khiển và các bít cờ hiệu khi Time0 tràn, ngắt ngoại vi RB0/INT

và ngắt interrupt-on-change tại các chân của PORTB

-Thanh ghi PIE1 (8Ch): chứa các bit điều khiển chi tiết các ngắt của khối chứcnăng ngoại vi

-Thanh ghi PIR1 (0Ch) chứa cờ ngắt của các khối chức năng ngọai vi,các ngắt nàyđược cho phép bởi các bit điều khiển chứa trong thanh ghi PEI1

Trang 14

-Thanh ghi PIE2 (8Dh): chứa các bit điều khiển các ngắt của các khối chức năngCCP2, SSP bus, ngắt của bộ so sánh và ngắt ghi vào bộ nhớ EEPROM

-Thanh ghi PIR2 (0Dh): chứa các cờ ngắn của của các khối chức năng ngoại vi cácngắt này được cho phép bởi các bit điều khiển chứa trong thanh ghi PIE2

-Thanh ghi PCON (8Eh): chứa các cờ hiệu cho biết trạng thái các chế độ Reset của

vi điều khiển

c Thanh ghi mục đích chung GPR

Các thanh ghi này có thể truy suất trực tiếp hoặc gián tiếp thông qua thanh ghi FSG(File Select Rersister) Đây là các 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ể dùng các thanh ghi này để chứacác biến số, hằng số, kết quả hoặc các tham số phục vụ cho chương trình

1.3.4 Các cổng xuất nhập của PIC( I/O)

PIC16F887 tất cả có 35 chân I/O mục đích thông thường( G P I O : G e n e r a lPurpose Input Ouput) có thể được sủ dụng Tùy theo những thiết bi ngoại vi đượcchọn mà một vài chân không thể sử dụng ở chức năng GPIO Thông thường, khi

Trang 15

một thiết bị ngoai vi được chọn, những chân liên quan của thiết bị ngoại vi khôngđược sủ dụng ở chức năng GPIO.35 chân được chia thành 5 port:

+ PortA chia làm 8 chân

+ PortB chia làm 8 chân

+ PortC chia làm 8 chân

+ PortD chia làm 8 chân

+ PortE chia làm 3 chân

Mỗi port được điều khiển bởi 2 thanh ghi 8-bit, thanh ghi Port và thanh ghi Tris.Thanh ghi Tris được sử dụng để điều khiển port nhập hay xuất Mỗi bit của Tris sẽđiều khiển mỗi chân của port đó, nếu giá trị bit là 1 thì chân liên quan là nhập,ngược lại nếu giá trị bit là 0 thì chân liên quan là xuất Thanh ghi Port được suwe\rdụng để chứa các giá trị của port liên quan Mỗi bit của thanh ghi Port chứa giá trịcủa chân liên quan

Cấu trúc của GPIO:

Trang 16

1.3.5 Các bộ định thời của chip

Bộ vi điều khiển PIC16F887 có 3 bộ định thời Timer đó là Tmer0, Timer1, Timer2

a Bộ Timer0

Đây là một trong 3 bộ đếm hoặc bộ định thời của vi điều khiển PIC16F887.Timer0 là bộ đếm 8 bit được kết nối với bộ chia tần 8bit Cấu trúc của Time0 chophép ta lựa chọn xung clock tác động và cạnh tích cực của xung clock NgắtTimer0 sẽ xuất hiện khi Timer0 bị tràn Bit TMR0IE ( INTCON) là bit điều khiểncủa Timer0 TMR0IE=1 cho phép ngắt Timer0 tác động, TMR0IE=0 không chophép ngắt Timer0 tác động

Trang 17

b Bộ Time1

Bộ Timer1 là bộ định thời 16bit, giá trị của Timer1 sẽ được lưu trong thanh ghi(TMR1H:TMR1L) Cờ ngắt của Timrer1 là bit TMR1IF Bit điều khiển củaTimer1 là TMR1IE

Tương tự như Timer0, Timer1 cũng có 2 chế độ hoạt động: chế độ định thời và chế

độ xung kích là xung clock của osciled ma trận ator ( tần số Timer bằng tần số củaosciled ma trậnator 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 thông qua chân RCO/T1OSO/T1CKI (cạnh tác động

là cạnh bên) Việc lựa chọn chế độ hoạt động của Timer được điều khiển bởi bitTMR1CS

Trang 18

c Bộ Timer2

Bộ Timer2 là bộ định thời 8 bit và được hỗ trợ hai bộ chia tần prescaler vàpostscaler Thanh ghi chứa giá tị đếm của Timer2 là TMR2 Bit cho phép ngắtTimer2 tác động là TMR2ON Cờ ngắt của Timer2 là bit TMR2IF Xung ngõ vàođược đưa qua bộ chia tần số prescaler 4 bit(với các tỉ số chia tần 1:1, 1:4 hoặc 1:6)

và được điều khiển bởi các bit T2CKPS1:T2CKPS0

d Bộ biến đổi ADC

ADC ( Analog to Digital Converter) là bộ chuyển đổi tín hiệu giữa hai dạng tương

tự và số.PIC16F887 có 14 ngõ vào analog (RA5:RA0, RE2:RE0và RB5:RB0).Hiệu điện thế chuẩn có thể được chọn là , hay hiệu điện thế chuẩn được xác lậptrên 2 chân RA2 và RA3 Kết quả chuyển đổi từ tin hiệu tương tự sang tín hiệu số

là 10bit tương ứng và được lưu trong hai thanh ghi ADRESH:ADRESL Khikhông sử dụng bộ chuyển đổi ADC các thanh ghi này có thể sử dụng các thanh ghithông thường khác Khi quá trình chuyển đổi hoàn tất, kết quả sẽ được lưu vào 2thanh ghi ADRESH:ADRESL

Trang 19

1.4 Các ứng dụng của PIC16F887

1.4.1 Giao tiếp với máy tính

PIC kết nối với máy tính thông qua cổng nối tiếp IC Max232 Ghép nối qua cổngRS232 là một trong những kỹ thuật sử đụng rộng rãi nhất để ghép nối với thiết bịngoại vi với máy tính

Ưu điểm:

+ Khả năng chống nhiễu của các cổng nối tiếp cao

+ Thiết bị ngoại vi có thể lắp ráp ngay khi máy tính đang cấp điện

+ Các mạch điện đơn giản có thể nhận được điện áp nguồn nuôi qua cổng nối tiếp

Trang 20

1.4.2 Giao tiếp với led

Trang 21

1.4.3 Giao tiếp với LCD

Trang 22

CHƯƠNG 2: PHƯƠNG PHÁP ĐO NHIỆT ĐỘ BẰNG LM35

2.1 Tìm hiểu về cảm biến LM35.

Hình 5: Cảm biến LM35

LM35 là 1 loại cảm biến rất phô biến và được ứng dựng rất nhiều trong thực tếhiện nay Nó được dùng nhiều trong các mạch điện tử cũng như trong các nghiêncứu

LM35 là một loại cảm biến tương tự , nhiệt độ được xác định bằng đo hiệu điện thếngõ ra của LM35

 Đơn vị nhiệt độ

 Nhiệt độ thay đổi tuyến tính: 10mV/oC

LM35 không cần phải canh chỉnh nhiệt độ khi sử dụng Độ chính xác thực tế:1/4oC ở nhiệt độ phòng và 3/4oC ở nhiệt độ ngoài trời Như vậy, bằng cách đưa vàochân bên trái của cảm biến LM35 hiệu điện thế 5V, chân gtương ứng với vi điều

Trang 23

Cảm biến LM35 là bộ cảm biến mạch tích hợp có độ chính xác cao mà điện áp đầu

ra của nó tỷ lệ tuyến tính với nhiệt độ theo thang độ Celsius Chúng cũng khôngyêu cầu chân chỉnh ngoài vì vốn chúng đã được cân chỉnh

Nguyên lý hoạt động.

IC đo nhiệt độ là một mạch tích hợp nhận tín hiệu nhiệt đo chuyển thành tín hiệuđiện dưới dạng dòng điện hay điện áp Dựa vào đặc tính rất nhạy của các bán dẫnvới nhiệt độ tạo ra điện áp hay dòng điện, tỉ lệ thuận với nhiệt độ tuyệt đối Đo tínhiệu điện ta biết được giá trị của nhiệt độ cần đo Sự tác động của nhiệt độ tạo racác điện tích tự do và các lỗ trống trong chất bán dẫn Bằng sự phá vỡ các phân tử,bức các electron thành các phân tử tự do di chuyển qua vùng cấu trúc mạng tinhthể tạo sự xuất hiện các lỗ trống Làm tỉ lệ điện tử tự do và lỗ trống tăng lên theoquy luật hàm mũ với nhiệt độ

Đặc điểm chính của cảm biến LM35.

 Điện áp đầu vào từ 4V đến 30V

 Độ phân giải điện áp đầu ra là 10mV/oC

 Độ chính xác cao do ở 25 độ C là 0.5 độ C

 Trở kháng ngõ ra thấp 0.1 cho 1mA tải

Dải nhiệt độ đo được của LM35 là từ -55 oC đến 150oC với các mức điện áp rakhác nhau Xét 1 số mức điện áp sau:

 Nhiệt độ -55 oC điện áp đầu ra 550mV

 Nhiệt độ -55 oC điện áp đầu ra 550mV

 Nhiệt độ oC điện áp đầu ra 1550mV

Tùy theo cách mắc của LM35 để ta đo các giải nhiệt phù hợp Đối với hệ thống

Trang 24

Tính toán nhiệt độ đầu ra của LM35.

Việc đo nhiệt độ sử dung LM35 thông thường được sử dụng bằng cách đưa tínhiệu từ LM35 qua bộ giải mã ADC đến vi điều khiển để xử lý tín hiệu

Như vậy ta có: u= t.k

Trong đó : u : điện áp đầu ra

t : nhiệt đô môi trường đo

k : Hệ số theo nhiệt độ của LM35 10mV/1 oC

Gỉa sử điện áp Vcc cấp vào LM35 là 5V, bộ giả mã ADC sử dụng 10 bit, thì bướcthay đổi của LM35 sẽ là 5/(2^10)=5/1024 Gía trị ADC đo được thì điện áp đầuvào của LM35 sẽ là : (t*k)/5/1024)=((10^-2)*1024*t)/5=2048*t Vậy nhiệt độ ta

đo được t bằng giá trị ADC/2048

Tương tự với ADC 11 bit và Vcc khác ta cũng tính như trên để được công thức lấynhiệt độ

Set_adc channel (0);

value = ( float ) read_adc();

value = value/2.048;

Sai số của LM35

 Tại 0oC thì điện áp của LM35 sẽ là 10mV

 Tại 150oC thì điện áp của LM35 sẽ là 1.5V

 Dải điện áp ADC biến đổi là 1.5 – 0.01=1.49V

 ADC 11 bit nên bước thay đổi của ADC là: n = 2.44mV

Vậy sai số của hệ thống đo là: Y = 0.00244/1.49= 0.146%

Trang 25

Hình 6 : Biểu đồ nhiệt độ và điện áp ở ngõ ra.

Hình 7: biểu đồ sai số ở các nhiệt độ khác nhau

Trang 26

CHƯƠNG 3: THIẾT KẾ HỆ THỐNG

3.1 Sơ đồ khối:

Hình 8: Sơ đồ khối

Chức năng từng khối:

- Khối mạch nguồn: Sử dụng 1 rơle ổn áp cáp nguồn DC 12V cho vi xử lý

- Khối xử lí: Sử dụng vi xử lí PIC16F887, dao động với thạch anh 12MHz, lậptrình với ngôn ngữ C

- Cảm biến: Sử dụng cảm biến LM35 đưa tín hiệu thông qua bô giải mã ADCthành nhiệt độ thành điện áp cấp cho vi xử lý

- Khối nút nhấn: Chỉ sử dụng 1 nút nhấn để reset chương trình

- Khối hiển thị: Sử dụng LCD 16x2 để hiện thị nhiệt độ và chế độ bơm nước

Trang 27

3.2 Linh kiên sử dụng chủ yếu và bảng giá linh kiện.

1 Vss Chân nối đất cho LCD, khi thiết kế mạch ta nối chân này vớiGND của mạch điều khiển

2 VDD Chân cấp nguồn cho LCD, khi thiết kế mạch ta nối chân nàyvới

VCC=5V của mạch điều khiển

3 VEE Điều chỉnh độ tương phản của LCD

4 RS Chân chọn thanh ghi (Register select) Nối chân RS với logic

“0”

(GND) hoặc logic “1” (VCC) để chọn thanh ghi.+ Logic “0”: Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR củaLCD

(ở chế độ “ghi” - write) hoặc nối với bộ đếm địa chỉ của LCD(ở

+ Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR

Ngày đăng: 15/06/2023, 23:21

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w